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
32Brian King <brking@us.ibm.com>32Brian King <brking@us.ibm.com>
33Christoph Hellwig <hch@lst.de>33Christoph Hellwig <hch@lst.de>
34Corey Minyard <minyard@acm.org>34Corey Minyard <minyard@acm.org>
35Damian Hobson-Garcia <dhobsong@igel.co.jp>
35David Brownell <david-b@pacbell.net>36David Brownell <david-b@pacbell.net>
36David Woodhouse <dwmw2@shinybook.infradead.org>37David Woodhouse <dwmw2@shinybook.infradead.org>
37Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>38Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
CREDITS+12−4
@@ -328,7 +328,7 @@ S: Haifa, Israel · 327 unmodified lines
328N: Johannes Berg328N: Johannes Berg
329E: johannes@sipsolutions.net329E: johannes@sipsolutions.net
330W: http://johannes.sipsolutions.net/330W: http://johannes.sipsolutions.net/
331P: 1024D/9AB78CA5 AD02 0176 4E29 C137 1DF6 08D2 FC44 CF86 9AB7 8CA5331P: 4096R/7BF9099A C0EB C440 F6DA 091C 884D 8532 E0F3 73F3 7BF9 099A
332D: powerpc & 802.11 hacker332D: powerpc & 802.11 hacker
333 333
334N: Stephen R. van den Berg (AKA BuGless)334N: Stephen R. van den Berg (AKA BuGless)
@@ -1677,7 +1677,7 @@ W: http://www.codemonkey.org.uk · 1342 unmodified lines
1677D: Assorted VIA x86 support.1677D: Assorted VIA x86 support.
1678D: 2.5 AGPGART overhaul.1678D: 2.5 AGPGART overhaul.
1679D: CPUFREQ maintenance.1679D: CPUFREQ maintenance.
1680D: Fedora kernel maintainence.1680D: Fedora kernel maintenance.
1681D: Misc/Other.1681D: Misc/Other.
1682S: 314 Littleton Rd, Westford, MA 01886, USA1682S: 314 Littleton Rd, Westford, MA 01886, USA
1683 1683
@@ -2943,6 +2943,10 @@ S: Kasarmikatu 11 A4 · 1259 unmodified lines
2943S: 70110 Kuopio2943S: 70110 Kuopio
2944S: Finland2944S: Finland
2945 2945
2946N: Tobias Ringström
2947E: tori@unhappy.mine.nu
2948D: Davicom DM9102(A)/DM9132/DM9801 fast ethernet driver
2949
2946N: Luca Risolia2950N: Luca Risolia
2947E: luca.risolia@studio.unibo.it2951E: luca.risolia@studio.unibo.it
2948P: 1024D/FCE635A4 88E8 F32F 7244 68BA 3958 5D40 99DA 5D2A FCE6 35A42952P: 1024D/FCE635A4 88E8 F32F 7244 68BA 3958 5D40 99DA 5D2A FCE6 35A4
@@ -3211,7 +3215,7 @@ N: James Simmons · 262 unmodified lines
3211E: jsimmons@infradead.org3215E: jsimmons@infradead.org
3212E: jsimmons@users.sf.net 3216E: jsimmons@users.sf.net
3213D: Frame buffer device maintainer3217D: Frame buffer device maintainer
3214D: input layer developement 3218D: input layer development
3215D: tty/console layer3219D: tty/console layer
3216D: various mipsel devices 3220D: various mipsel devices
3217S: 115 Carmel Avenue 3221S: 115 Carmel Avenue
@@ -3290,7 +3294,7 @@ S: USA · 72 unmodified lines
3290N: Manfred Spraul3294N: Manfred Spraul
3291E: manfred@colorfullife.com3295E: manfred@colorfullife.com
3292W: http://www.colorfullife.com/~manfred3296W: http://www.colorfullife.com/~manfred
3293D: Lots of tiny hacks. Larger improvments to SysV IPC msg,3297D: Lots of tiny hacks. Larger improvements to SysV IPC msg,
3294D: slab, pipe, select.3298D: slab, pipe, select.
3295S: 71701 Schwieberdingen3299S: 71701 Schwieberdingen
3296S: Germany3300S: Germany
@@ -3913,6 +3917,10 @@ S: Flandernstrasse 101 · 616 unmodified lines
3913S: D-73732 Esslingen3917S: D-73732 Esslingen
3914S: Germany3918S: Germany
3915 3919
3920N: Roman Zippel
3921E: zippel@linux-m68k.org
3922D: AFFS and HFS filesystems, m68k maintainer, new kernel configuration in 2.5
3923
3916N: Leonard N. Zubkoff3924N: Leonard N. Zubkoff
3917W: http://www.dandelion.com/Linux/3925W: http://www.dandelion.com/Linux/
3918D: BusLogic SCSI driver3926D: BusLogic SCSI driver
Documentation/00-INDEX+4−8
@@ -192,10 +192,6 @@ kernel-docs.txt · 191 unmodified lines
192 - listing of various WWW + books that document kernel internals.192 - listing of various WWW + books that document kernel internals.
193kernel-parameters.txt193kernel-parameters.txt
194 - summary listing of command line / boot prompt args for the kernel.194 - summary listing of command line / boot prompt args for the kernel.
195keys-request-key.txt
196 - description of the kernel key request service.
197keys.txt
198 - description of the kernel key retention service.
199kobject.txt195kobject.txt
200 - info of the kobject infrastructure of the Linux kernel.196 - info of the kobject infrastructure of the Linux kernel.
201kprobes.txt197kprobes.txt
@@ -206,8 +202,8 @@ laptops/ · 4 unmodified lines
206 - directory with laptop related info and laptop driver documentation.202 - directory with laptop related info and laptop driver documentation.
207ldm.txt203ldm.txt
208 - a brief description of LDM (Windows Dynamic Disks).204 - a brief description of LDM (Windows Dynamic Disks).
209leds-class.txt205leds/
210 - documents LED handling under Linux.206 - directory with info about LED handling under Linux.
211local_ops.txt207local_ops.txt
212 - semantics and behavior of local atomic operations.208 - semantics and behavior of local atomic operations.
213lockdep-design.txt209lockdep-design.txt
@@ -294,6 +290,8 @@ scheduler/ · 80 unmodified lines
294 - directory with info on the scheduler.290 - directory with info on the scheduler.
295scsi/291scsi/
296 - directory with info on Linux scsi support.292 - directory with info on Linux scsi support.
293security/
294 - directory that contains security-related info
297serial/295serial/
298 - directory with info on the low level serial API.296 - directory with info on the low level serial API.
299serial-console.txt297serial-console.txt
@@ -328,8 +326,6 @@ sysrq.txt · 28 unmodified lines
328 - info on the magic SysRq key.326 - info on the magic SysRq key.
329telephony/327telephony/
330 - directory with info on telephony (e.g. voice over IP) support.328 - directory with info on telephony (e.g. voice over IP) support.
331uml/
332 - directory with information about User Mode Linux.
333unicode.txt329unicode.txt
334 - info on the Unicode character/font mapping used in Linux.330 - info on the Unicode character/font mapping used in Linux.
335unshare.txt331unshare.txt
Documentation/ABI/obsolete/sysfs-driver-hid-roccat-koneplus+10−0
@@ -0,0 +1,10 @@
1What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/startup_profile
2Date: October 2010
3Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
4Description: 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 @@
1What: /sys/o2cb symlink1What: /sys/o2cb symlink
2Date: Dec 20052Date: May 2011
3KernelVersion: 2.6.163KernelVersion: 2.6.40
4Contact: ocfs2-devel@oss.oracle.com4Contact: ocfs2-devel@oss.oracle.com
5Description: This is a symlink: /sys/o2cb to /sys/fs/o2cb. The symlink will5Description: This is a symlink: /sys/o2cb to /sys/fs/o2cb. The symlink is
6 be removed when new versions of ocfs2-tools which know to look6 removed when new versions of ocfs2-tools which know to look
7 in /sys/fs/o2cb are sufficiently prevalent. Don't code new7 in /sys/fs/o2cb are sufficiently prevalent. Don't code new
8 software to look here, it should try /sys/fs/o2cb instead.8 software to look here, it should try /sys/fs/o2cb instead.
9 See Documentation/ABI/stable/o2cb for more information on usage.
10Users: ocfs2-tools. It's sufficient to mail proposed changes to9Users: ocfs2-tools. It's sufficient to mail proposed changes to
11 ocfs2-devel@oss.oracle.com.10 ocfs2-devel@oss.oracle.com.
Documentation/ABI/testing/sysfs-block+64−0
@@ -142,3 +142,67 @@ Description: · 141 unmodified lines
142 with the previous I/O request are enabled. When set to 2,142 with the previous I/O request are enabled. When set to 2,
143 all merge tries are disabled. The default value is 0 -143 all merge tries are disabled. The default value is 0 -
144 which enables all types of merge tries.144 which enables all types of merge tries.
145
146What: /sys/block/<disk>/discard_alignment
147Date: May 2011
148Contact: Martin K. Petersen <martin.petersen@oracle.com>
149Description:
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
157What: /sys/block/<disk>/<partition>/discard_alignment
158Date: May 2011
159Contact: Martin K. Petersen <martin.petersen@oracle.com>
160Description:
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
168What: /sys/block/<disk>/queue/discard_granularity
169Date: May 2011
170Contact: Martin K. Petersen <martin.petersen@oracle.com>
171Description:
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
181What: /sys/block/<disk>/queue/discard_max_bytes
182Date: May 2011
183Contact: Martin K. Petersen <martin.petersen@oracle.com>
184Description:
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
197What: /sys/block/<disk>/queue/discard_zeroes_data
198Date: May 2011
199Contact: Martin K. Petersen <martin.petersen@oracle.com>
200Description:
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 @@
1What: /sys/bus/bcma/devices/.../manuf
2Date: May 2011
3KernelVersion: 2.6.40
4Contact: Rafał Miłecki <zajec5@gmail.com>
5Description:
6 Each BCMA core has it's manufacturer id. See
7 include/linux/bcma/bcma.h for possible values.
8
9What: /sys/bus/bcma/devices/.../id
10Date: May 2011
11KernelVersion: 2.6.40
12Contact: Rafał Miłecki <zajec5@gmail.com>
13Description:
14 There are a few types of BCMA cores, they can be identified by
15 id field.
16
17What: /sys/bus/bcma/devices/.../rev
18Date: May 2011
19KernelVersion: 2.6.40
20Contact: Rafał Miłecki <zajec5@gmail.com>
21Description:
22 BCMA cores of the same type can still slightly differ depending
23 on their revision. Use it for detailed programming.
24
25What: /sys/bus/bcma/devices/.../class
26Date: May 2011
27KernelVersion: 2.6.40
28Contact: Rafał Miłecki <zajec5@gmail.com>
29Description:
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
29 linux-s390@vger.kernel.org29 linux-s390@vger.kernel.org
30Description: Contains the PIM/PAM/POM values, as reported by the30Description: Contains the PIM/PAM/POM values, as reported by the
31 channel subsystem when last queried by the common I/O31 channel subsystem when last queried by the common I/O
32 layer (this implies that this attribute is not neccessarily32 layer (this implies that this attribute is not necessarily
33 in sync with the values current in the channel subsystem).33 in sync with the values current in the channel subsystem).
34 Note: This is an I/O-subchannel specific attribute.34 Note: This is an I/O-subchannel specific attribute.
35Users: s390-tools, HAL35Users: s390-tools, HAL
Documentation/ABI/testing/sysfs-bus-pci+9−0
@@ -74,6 +74,15 @@ Description: · 73 unmodified lines
74 hot-remove the PCI device and any of its children.74 hot-remove the PCI device and any of its children.
75 Depends on CONFIG_HOTPLUG.75 Depends on CONFIG_HOTPLUG.
76 76
77What: /sys/bus/pci/devices/.../pci_bus/.../rescan
78Date: May 2011
79Contact: Linux PCI developers <linux-pci@vger.kernel.org>
80Description:
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
77What: /sys/bus/pci/devices/.../rescan86What: /sys/bus/pci/devices/.../rescan
78Date: January 200987Date: January 2009
79Contact: Linux PCI developers <linux-pci@vger.kernel.org>88Contact: 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
33Description:33Description:
34 Invert the LED on/off state. This parameter is specific to34 Invert the LED on/off state. This parameter is specific to
35 gpio and backlight triggers. In case of the backlight trigger,35 gpio and backlight triggers. In case of the backlight trigger,
36 it is usefull when driving a LED which is intended to indicate36 it is useful when driving a LED which is intended to indicate
37 a device in a standby like state.37 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
183 to learn how to control the knobs.183 to learn how to control the knobs.
184 184
185 185
186What: /sys/devices/system/cpu/cpu*/cache/index*/cache_disable_X186What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
187Date: August 2008187Date: August 2008
188KernelVersion: 2.6.27188KernelVersion: 2.6.27
189Contact: mark.langsdorf@amd.com189Contact: discuss@x86-64.org
190Description: These files exist in every cpu's cache index directories.190Description: Disable L3 cache indices
191 There are currently 2 cache_disable_# files in each191
192 directory. Reading from these files on a supported192 These files exist in every CPU's cache/index3 directory. Each
193 processor will return that cache disable index value193 cache_disable_{0,1} file corresponds to one disable slot which
194 for that processor and node. Writing to one of these194 can be used to disable a cache index. Reading from these files
195 files will cause the specificed cache index to be disabled.195 on a processor with this functionality will return the currently
196 196 disabled index for that node. There is one L3 structure per
197 Currently, only AMD Family 10h Processors support cache index197 node, or per internal node on MCM machines. Writing a valid
198 disable, and only for their L3 caches. See the BIOS and198 index to one of these files will cause the specificed cache
199 Kernel Developer's Guide at199 index to be disabled.
200 http://support.amd.com/us/Embedded_TechDocs/31116-Public-GH-BKDG_3-28_5-28-09.pdf 200
201 for formatting information and other details on the201 All AMD processors with L3 caches provide this functionality.
202 cache index disable.202 For details, see BKDGs at
203Users: joachim.deguara@amd.com203 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
40Date: March 201040Date: March 2010
41Contact: Stefan Achatz <erazor_de@users.sourceforge.net>41Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
42Description: The mouse can store 5 profiles which can be switched by the42Description: The mouse can store 5 profiles which can be switched by the
43 press of a button. A profile holds informations like button43 press of a button. A profile holds information like button
44 mappings, sensitivity, the colors of the 5 leds and light44 mappings, sensitivity, the colors of the 5 leds and light
45 effects.45 effects.
46 When read, these files return the respective profile. The46 When read, these files return the respective profile. The
Documentation/ABI/testing/sysfs-driver-hid-roccat-koneplus+10−17
@@ -1,9 +1,12 @@
1What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/actual_profile1What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/actual_profile
2Date: October 20102Date: October 2010
3Contact: Stefan Achatz <erazor_de@users.sourceforge.net>3Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
4Description: When read, this file returns the number of the actual profile in4Description: The integer value of this attribute ranges from 0-4.
5 range 0-4.5 When read, this attribute returns the number of the actual
6 This file is readonly.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.
7Users: http://roccat.sourceforge.net10Users: http://roccat.sourceforge.net
8 11
9What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/firmware_version12What: /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
33Contact: Stefan Achatz <erazor_de@users.sourceforge.net>36Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
34Description: The mouse can store 5 profiles which can be switched by the37Description: The mouse can store 5 profiles which can be switched by the
35 press of a button. A profile is split in settings and buttons.38 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.
37 When written, this file lets one write the respective profile40 When written, this file lets one write the respective profile
38 buttons back to the mouse. The data has to be 77 bytes long.41 buttons back to the mouse. The data has to be 77 bytes long.
39 The mouse will reject invalid data.42 The mouse will reject invalid data.
@@ -47,7 +50,7 @@ Date: August 2010 · 7 unmodified lines
47Contact: Stefan Achatz <erazor_de@users.sourceforge.net>50Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
48Description: The mouse can store 5 profiles which can be switched by the51Description: The mouse can store 5 profiles which can be switched by the
49 press of a button. A profile is split in settings and buttons.52 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.
51 When read, these files return the respective profile buttons.54 When read, these files return the respective profile buttons.
52 The returned data is 77 bytes in size.55 The returned data is 77 bytes in size.
53 This file is readonly.56 This file is readonly.
@@ -58,7 +61,7 @@ Date: October 2010 · 4 unmodified lines
58Contact: Stefan Achatz <erazor_de@users.sourceforge.net>61Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
59Description: The mouse can store 5 profiles which can be switched by the62Description: The mouse can store 5 profiles which can be switched by the
60 press of a button. A profile is split in settings and buttons.63 press of a button. A profile is split in settings and buttons.
61 profile_settings holds informations like resolution, sensitivity64 profile_settings holds information like resolution, sensitivity
62 and light effects.65 and light effects.
63 When written, this file lets one write the respective profile66 When written, this file lets one write the respective profile
64 settings back to the mouse. The data has to be 43 bytes long.67 settings back to the mouse. The data has to be 43 bytes long.
@@ -73,7 +76,7 @@ Date: August 2010 · 8 unmodified lines
73Contact: Stefan Achatz <erazor_de@users.sourceforge.net>76Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
74Description: The mouse can store 5 profiles which can be switched by the77Description: The mouse can store 5 profiles which can be switched by the
75 press of a button. A profile is split in settings and buttons.78 press of a button. A profile is split in settings and buttons.
76 profile_settings holds informations like resolution, sensitivity79 profile_settings holds information like resolution, sensitivity
77 and light effects.80 and light effects.
78 When read, these files return the respective profile settings.81 When read, these files return the respective profile settings.
79 The returned data is 43 bytes in size.82 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
89 This file is writeonly.92 This file is writeonly.
90Users: http://roccat.sourceforge.net93Users: http://roccat.sourceforge.net
91 94
92What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/startup_profile
93Date: October 2010
94Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
95Description: 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.
100Users: http://roccat.sourceforge.net
101
102What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/tcu95What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/tcu
103Date: October 201096Date: October 2010
104Contact: Stefan Achatz <erazor_de@users.sourceforge.net>97Contact: 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
52Contact: Stefan Achatz <erazor_de@users.sourceforge.net>52Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
53Description: The mouse can store 5 profiles which can be switched by the53Description: The mouse can store 5 profiles which can be switched by the
54 press of a button. A profile is split in settings and buttons.54 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.
56 When written, this file lets one write the respective profile56 When written, this file lets one write the respective profile
57 buttons back to the mouse. The data has to be 23 bytes long.57 buttons back to the mouse. The data has to be 23 bytes long.
58 The mouse will reject invalid data.58 The mouse will reject invalid data.
@@ -66,7 +66,7 @@ Date: January 2011 · 7 unmodified lines
66Contact: Stefan Achatz <erazor_de@users.sourceforge.net>66Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
67Description: The mouse can store 5 profiles which can be switched by the67Description: The mouse can store 5 profiles which can be switched by the
68 press of a button. A profile is split in settings and buttons.68 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.
70 When read, these files return the respective profile buttons.70 When read, these files return the respective profile buttons.
71 The returned data is 23 bytes in size.71 The returned data is 23 bytes in size.
72 This file is readonly.72 This file is readonly.
@@ -77,7 +77,7 @@ Date: January 2011 · 4 unmodified lines
77Contact: Stefan Achatz <erazor_de@users.sourceforge.net>77Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
78Description: The mouse can store 5 profiles which can be switched by the78Description: The mouse can store 5 profiles which can be switched by the
79 press of a button. A profile is split in settings and buttons.79 press of a button. A profile is split in settings and buttons.
80 profile_settings holds informations like resolution, sensitivity80 profile_settings holds information like resolution, sensitivity
81 and light effects.81 and light effects.
82 When written, this file lets one write the respective profile82 When written, this file lets one write the respective profile
83 settings back to the mouse. The data has to be 16 bytes long.83 settings back to the mouse. The data has to be 16 bytes long.
@@ -92,7 +92,7 @@ Date: January 2011 · 8 unmodified lines
92Contact: Stefan Achatz <erazor_de@users.sourceforge.net>92Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
93Description: The mouse can store 5 profiles which can be switched by the93Description: The mouse can store 5 profiles which can be switched by the
94 press of a button. A profile is split in settings and buttons.94 press of a button. A profile is split in settings and buttons.
95 profile_settings holds informations like resolution, sensitivity95 profile_settings holds information like resolution, sensitivity
96 and light effects.96 and light effects.
97 When read, these files return the respective profile settings.97 When read, these files return the respective profile settings.
98 The returned data is 16 bytes in size.98 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
39Contact: Stefan Achatz <erazor_de@users.sourceforge.net>39Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
40Description: The mouse can store 5 profiles which can be switched by the40Description: The mouse can store 5 profiles which can be switched by the
41 press of a button. A profile is split in settings and buttons.41 press of a button. A profile is split in settings and buttons.
42 profile_settings holds informations like resolution, sensitivity42 profile_settings holds information like resolution, sensitivity
43 and light effects.43 and light effects.
44 When written, this file lets one write the respective profile44 When written, this file lets one write the respective profile
45 settings back to the mouse. The data has to be 13 bytes long.45 settings back to the mouse. The data has to be 13 bytes long.
@@ -54,7 +54,7 @@ Date: August 2010 · 8 unmodified lines
54Contact: Stefan Achatz <erazor_de@users.sourceforge.net>54Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
55Description: The mouse can store 5 profiles which can be switched by the55Description: The mouse can store 5 profiles which can be switched by the
56 press of a button. A profile is split in settings and buttons.56 press of a button. A profile is split in settings and buttons.
57 profile_settings holds informations like resolution, sensitivity57 profile_settings holds information like resolution, sensitivity
58 and light effects.58 and light effects.
59 When read, these files return the respective profile settings.59 When read, these files return the respective profile settings.
60 The returned data is 13 bytes in size.60 The returned data is 13 bytes in size.
@@ -66,7 +66,7 @@ Date: August 2010 · 5 unmodified lines
66Contact: Stefan Achatz <erazor_de@users.sourceforge.net>66Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
67Description: The mouse can store 5 profiles which can be switched by the67Description: The mouse can store 5 profiles which can be switched by the
68 press of a button. A profile is split in settings and buttons.68 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.
70 When written, this file lets one write the respective profile70 When written, this file lets one write the respective profile
71 buttons back to the mouse. The data has to be 19 bytes long.71 buttons back to the mouse. The data has to be 19 bytes long.
72 The mouse will reject invalid data.72 The mouse will reject invalid data.
@@ -80,7 +80,7 @@ Date: August 2010 · 7 unmodified lines
80Contact: Stefan Achatz <erazor_de@users.sourceforge.net>80Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
81Description: The mouse can store 5 profiles which can be switched by the81Description: The mouse can store 5 profiles which can be switched by the
82 press of a button. A profile is split in settings and buttons.82 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.
84 When read, these files return the respective profile buttons.84 When read, these files return the respective profile buttons.
85 The returned data is 19 bytes in size.85 The returned data is 19 bytes in size.
86 This file is readonly.86 This file is readonly.
Documentation/ABI/testing/sysfs-firmware-dmi+9−9
@@ -14,14 +14,15 @@ Description: · 13 unmodified lines
14 14
15 DMI is structured as a large table of entries, where15 DMI is structured as a large table of entries, where
16 each entry has a common header indicating the type and16 each entry has a common header indicating the type and
17 length of the entry, as well as 'handle' that is17 length of the entry, as well as a firmware-provided
18 supposed to be unique amongst all entries.18 'handle' that is supposed to be unique amongst all
19 entries.
19 20
20 Some entries are required by the specification, but many21 Some entries are required by the specification, but many
21 others are optional. In general though, users should22 others are optional. In general though, users should
22 never expect to find a specific entry type on their23 never expect to find a specific entry type on their
23 system unless they know for certain what their firmware24 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.
25 26
26 Multiple entries of the same type are allowed. In order27 Multiple entries of the same type are allowed. In order
27 to handle these duplicate entry types, each entry is28 to handle these duplicate entry types, each entry is
@@ -67,25 +68,24 @@ Description: · 39 unmodified lines
67 and the two terminating nul characters.68 and the two terminating nul characters.
68 type : The type of the entry. This value is the same69 type : The type of the entry. This value is the same
69 as found in the directory name. It indicates70 as found in the directory name. It indicates
70 how the rest of the entry should be71 how the rest of the entry should be interpreted.
71 interpreted.
72 instance: The instance ordinal of the entry for the72 instance: The instance ordinal of the entry for the
73 given type. This value is the same as found73 given type. This value is the same as found
74 in the parent directory name.74 in the parent directory name.
75 position: The position of the entry within the entirety75 position: The ordinal position (zero-based) of the entry
76 of the entirety.76 within the entirety of the DMI entry table.
77 77
78 === Entry Specialization ===78 === Entry Specialization ===
79 79
80 Some entry types may have other information available in80 Some entry types may have other information available in
81 sysfs.81 sysfs. Not all types are specialized.
82 82
83 --- Type 15 - System Event Log ---83 --- Type 15 - System Event Log ---
84 84
85 This entry allows the firmware to export a log of85 This entry allows the firmware to export a log of
86 events the system has taken. This information is86 events the system has taken. This information is
87 typically backed by nvram, but the implementation87 typically backed by nvram, but the implementation
88 details are abstracted by this table. This entries data88 details are abstracted by this table. This entry's data
89 is exported in the directory:89 is exported in the directory:
90 90
91 /sys/firmware/dmi/entries/15-0/system_event_log91 /sys/firmware/dmi/entries/15-0/system_event_log
Documentation/ABI/testing/sysfs-firmware-gsmi+58−0
@@ -0,0 +1,58 @@
1What: /sys/firmware/gsmi
2Date: March 2011
3Contact: Mike Waychison <mikew@google.com>
4Description:
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 @@
1What: /sys/firmware/log
2Date: February 2011
3Contact: Mike Waychison <mikew@google.com>
4Description:
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 @@
1What: /sys/kernel/fscaps
2Date: February 2011
3KernelVersion: 2.6.38
4Contact: Ludwig Nussel <ludwig.nussel@suse.de>
5Description
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 @@
1What: /sys/kernel/mm/cleancache/
2Date: April 2011
3Contact: Dan Magenheimer <dan.magenheimer@oracle.com>
4Description:
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
27Contact: "Corentin Chary" <corentincj@iksaif.net>27Contact: "Corentin Chary" <corentincj@iksaif.net>
28Description:28Description:
29 Some models like the W1N have a LED display that can be29 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.
31 To control the LED display, use the following :31 To control the LED display, use the following :
32 echo 0x0T000DDD > /sys/devices/platform/asus_laptop/32 echo 0x0T000DDD > /sys/devices/platform/asus_laptop/
33 where T control the 3 letters display, and DDD the 3 digits display.33 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
158 successful, will make the kernel abort a subsequent transition158 successful, will make the kernel abort a subsequent transition
159 to a sleep state if any wakeup events are reported after the159 to a sleep state if any wakeup events are reported after the
160 write has returned.160 write has returned.
161
162What: /sys/power/reserved_size
163Date: May 2011
164Contact: Rafael J. Wysocki <rjw@sisk.pl>
165Description:
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 @@
1What: /sys/class/ptp/
2Date: September 2010
3Contact: Richard Cochran <richardcochran@gmail.com>
4Description:
5 This directory contains files and directories
6 providing a standardized interface to the ancillary
7 features of PTP hardware clocks.
8
9What: /sys/class/ptp/ptpN/
10Date: September 2010
11Contact: Richard Cochran <richardcochran@gmail.com>
12Description:
13 This directory contains the attributes of the Nth PTP
14 hardware clock registered into the PTP class driver
15 subsystem.
16
17What: /sys/class/ptp/ptpN/clock_name
18Date: September 2010
19Contact: Richard Cochran <richardcochran@gmail.com>
20Description:
21 This file contains the name of the PTP hardware clock
22 as a human readable string.
23
24What: /sys/class/ptp/ptpN/max_adjustment
25Date: September 2010
26Contact: Richard Cochran <richardcochran@gmail.com>
27Description:
28 This file contains the PTP hardware clock's maximum
29 frequency adjustment value (a positive integer) in
30 parts per billion.
31
32What: /sys/class/ptp/ptpN/n_alarms
33Date: September 2010
34Contact: Richard Cochran <richardcochran@gmail.com>
35Description:
36 This file contains the number of periodic or one shot
37 alarms offer by the PTP hardware clock.
38
39What: /sys/class/ptp/ptpN/n_external_timestamps
40Date: September 2010
41Contact: Richard Cochran <richardcochran@gmail.com>
42Description:
43 This file contains the number of external timestamp
44 channels offered by the PTP hardware clock.
45
46What: /sys/class/ptp/ptpN/n_periodic_outputs
47Date: September 2010
48Contact: Richard Cochran <richardcochran@gmail.com>
49Description:
50 This file contains the number of programmable periodic
51 output channels offered by the PTP hardware clock.
52
53What: /sys/class/ptp/ptpN/pps_avaiable
54Date: September 2010
55Contact: Richard Cochran <richardcochran@gmail.com>
56Description:
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
62What: /sys/class/ptp/ptpN/extts_enable
63Date: September 2010
64Contact: Richard Cochran <richardcochran@gmail.com>
65Description:
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
72What: /sys/class/ptp/ptpN/fifo
73Date: September 2010
74Contact: Richard Cochran <richardcochran@gmail.com>
75Description:
76 This file provides timestamps on external events, in
77 the form of three integers: channel index, seconds,
78 and nanoseconds.
79
80What: /sys/class/ptp/ptpN/period
81Date: September 2010
82Contact: Richard Cochran <richardcochran@gmail.com>
83Description:
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
91What: /sys/class/ptp/ptpN/pps_enable
92Date: September 2010
93Contact: Richard Cochran <richardcochran@gmail.com>
94Description:
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
8*.dvi8*.dvi
9*.log9*.log
10*.out10*.out
11media/
Documentation/DocBook/device-drivers.tmpl+3−3
@@ -96,10 +96,10 @@ X!Iinclude/linux/kobject.h · 95 unmodified lines
96 96
97 <chapter id="devdrivers">97 <chapter id="devdrivers">
98 <title>Device drivers infrastructure</title>98 <title>Device drivers infrastructure</title>
99 <sect1><title>The Basic Device Driver-Model Structures </title>
100!Iinclude/linux/device.h
101 </sect1>
99 <sect1><title>Device Drivers Base</title>102 <sect1><title>Device Drivers Base</title>
100<!--
101X!Iinclude/linux/device.h
102-->
103!Edrivers/base/driver.c103!Edrivers/base/driver.c
104!Edrivers/base/core.c104!Edrivers/base/core.c
105!Edrivers/base/class.c105!Edrivers/base/class.c
Documentation/DocBook/dvb/dvbapi.xml+8−0
@@ -34,6 +34,14 @@ · 33 unmodified lines
34 34
35<revhistory>35<revhistory>
36<!-- Put document revisions here, newest first. -->36<!-- 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>
37<revision>45<revision>
38 <revnumber>2.0.3</revnumber>46 <revnumber>2.0.3</revnumber>
39 <date>2010-07-03</date>47 <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">
2<title>FE_GET_PROPERTY/FE_SET_PROPERTY</title>2<title>FE_GET_PROPERTY/FE_SET_PROPERTY</title>
3 3
4<programlisting>
5/* Reserved fields should be set to 0 */
6struct 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
23struct 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>
147On <link linkend="FE_GET_PROPERTY">FE_GET_PROPERTY</link>/<link linkend="FE_SET_PROPERTY">FE_SET_PROPERTY</link>,
148the actual action is determined by the dtv_property cmd/data pairs. With one single ioctl, is possible to
149get/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>
251typedef 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>
281typedef 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>
308typedef 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
4<section id="isdbt">328<section id="isdbt">
5 <title>ISDB-T frontend</title>329 <title>ISDB-T frontend</title>
6 <para>This section describes shortly what are the possible parameters in the Linux330 <para>This section describes shortly what are the possible parameters in the Linux
@@ -32,73 +356,6 @@ · 25 unmodified lines
32 356
33 <para>Parameters used by ISDB-T and ISDB-Tsb.</para>357 <para>Parameters used by ISDB-T and ISDB-Tsb.</para>
34 358
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>
102 <section id="isdbt-new-parms">359 <section id="isdbt-new-parms">
103 <title>ISDB-T only parameters</title>360 <title>ISDB-T only parameters</title>
104 361
@@ -314,5 +571,20 @@ · 209 unmodified lines
314 </section>571 </section>
315 </section>572 </section>
316 </section>573 </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>
317</section>589</section>
318</section>590</section>
Documentation/DocBook/dvb/frontend.h.xml+16−4
@@ -176,14 +176,20 @@ typedef enum fe_transmit_mode { · 175 unmodified lines
176 TRANSMISSION_MODE_2K,176 TRANSMISSION_MODE_2K,
177 TRANSMISSION_MODE_8K,177 TRANSMISSION_MODE_8K,
178 TRANSMISSION_MODE_AUTO,178 TRANSMISSION_MODE_AUTO,
179 TRANSMISSION_MODE_4K179 TRANSMISSION_MODE_4K,
180 TRANSMISSION_MODE_1K,
181 TRANSMISSION_MODE_16K,
182 TRANSMISSION_MODE_32K,
180} fe_transmit_mode_t;183} fe_transmit_mode_t;
181 184
182typedef enum fe_bandwidth {185typedef enum fe_bandwidth {
183 BANDWIDTH_8_MHZ,186 BANDWIDTH_8_MHZ,
184 BANDWIDTH_7_MHZ,187 BANDWIDTH_7_MHZ,
185 BANDWIDTH_6_MHZ,188 BANDWIDTH_6_MHZ,
186 BANDWIDTH_AUTO189 BANDWIDTH_AUTO,
190 BANDWIDTH_5_MHZ,
191 BANDWIDTH_10_MHZ,
192 BANDWIDTH_1_712_MHZ,
187} fe_bandwidth_t;193} fe_bandwidth_t;
188 194
189 195
@@ -192,7 +198,10 @@ typedef enum fe_guard_interval { · 2 unmodified lines
192 GUARD_INTERVAL_1_16,198 GUARD_INTERVAL_1_16,
193 GUARD_INTERVAL_1_8,199 GUARD_INTERVAL_1_8,
194 GUARD_INTERVAL_1_4,200 GUARD_INTERVAL_1_4,
195 GUARD_INTERVAL_AUTO201 GUARD_INTERVAL_AUTO,
202 GUARD_INTERVAL_1_128,
203 GUARD_INTERVAL_19_128,
204 GUARD_INTERVAL_19_256,
196} fe_guard_interval_t;205} fe_guard_interval_t;
197 206
198 207
@@ -306,7 +315,9 @@ struct dvb_frontend_event { · 107 unmodified lines
306 315
307#define DTV_ISDBS_TS_ID 42316#define DTV_ISDBS_TS_ID 42
308 317
309#define DTV_MAX_COMMAND DTV_ISDBS_TS_ID318#define DTV_DVBT2_PLP_ID 43
319
320#define DTV_MAX_COMMAND DTV_DVBT2_PLP_ID
310 321
311typedef enum fe_pilot {322typedef enum fe_pilot {
312 PILOT_ON,323 PILOT_ON,
@@ -338,6 +349,7 @@ typedef enum fe_delivery_system { · 25 unmodified lines
338 SYS_DMBTH,349 SYS_DMBTH,
339 SYS_CMMB,350 SYS_CMMB,
340 SYS_DAB,351 SYS_DAB,
352 SYS_DVBT2,
341} fe_delivery_system_t;353} fe_delivery_system_t;
342 354
343struct dtv_cmds_h {355struct 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
139<section id="frontend_sec_tone">139<section id="frontend_sec_tone">
140<title>SEC continuous tone</title>140<title>SEC continuous tone</title>
141 141
142<para>The continous 22KHz tone is usually used with non-DiSEqC capable LNBs to switch the142<para>The continuous 22KHz tone is usually used with non-DiSEqC capable LNBs to switch the
143high/low band of a dual-band LNB. When using DiSEqC epuipment this voltage has to143high/low band of a dual-band LNB. When using DiSEqC epuipment this voltage has to
144be switched consistently to the DiSEqC commands as described in the DiSEqC144be switched consistently to the DiSEqC commands as described in the DiSEqC
145spec.</para>145spec.</para>
Documentation/DocBook/genericirq.tmpl+47−35
@@ -191,8 +191,8 @@ · 190 unmodified lines
191 <para>191 <para>
192 Whenever an interrupt triggers, the lowlevel arch code calls into192 Whenever an interrupt triggers, the lowlevel arch code calls into
193 the generic interrupt code by calling desc->handle_irq().193 the generic interrupt code by calling desc->handle_irq().
194 This highlevel IRQ handling function only uses desc->chip primitives194 This highlevel IRQ handling function only uses desc->irq_data.chip
195 referenced by the assigned chip descriptor structure.195 primitives referenced by the assigned chip descriptor structure.
196 </para>196 </para>
197 </sect1>197 </sect1>
198 <sect1 id="Highlevel_Driver_API">198 <sect1 id="Highlevel_Driver_API">
@@ -206,11 +206,11 @@ · 7 unmodified lines
206 <listitem><para>enable_irq()</para></listitem>206 <listitem><para>enable_irq()</para></listitem>
207 <listitem><para>disable_irq_nosync() (SMP only)</para></listitem>207 <listitem><para>disable_irq_nosync() (SMP only)</para></listitem>
208 <listitem><para>synchronize_irq() (SMP only)</para></listitem>208 <listitem><para>synchronize_irq() (SMP only)</para></listitem>
209 <listitem><para>set_irq_type()</para></listitem>209 <listitem><para>irq_set_irq_type()</para></listitem>
210 <listitem><para>set_irq_wake()</para></listitem>210 <listitem><para>irq_set_irq_wake()</para></listitem>
211 <listitem><para>set_irq_data()</para></listitem>211 <listitem><para>irq_set_handler_data()</para></listitem>
212 <listitem><para>set_irq_chip()</para></listitem>212 <listitem><para>irq_set_chip()</para></listitem>
213 <listitem><para>set_irq_chip_data()</para></listitem>213 <listitem><para>irq_set_chip_data()</para></listitem>
214 </itemizedlist>214 </itemizedlist>
215 See the autogenerated function documentation for details.215 See the autogenerated function documentation for details.
216 </para>216 </para>
@@ -225,6 +225,8 @@ · 8 unmodified lines
225 <listitem><para>handle_fasteoi_irq</para></listitem>225 <listitem><para>handle_fasteoi_irq</para></listitem>
226 <listitem><para>handle_simple_irq</para></listitem>226 <listitem><para>handle_simple_irq</para></listitem>
227 <listitem><para>handle_percpu_irq</para></listitem>227 <listitem><para>handle_percpu_irq</para></listitem>
228 <listitem><para>handle_edge_eoi_irq</para></listitem>
229 <listitem><para>handle_bad_irq</para></listitem>
228 </itemizedlist>230 </itemizedlist>
229 The interrupt flow handlers (either predefined or architecture231 The interrupt flow handlers (either predefined or architecture
230 specific) are assigned to specific interrupts by the architecture232 specific) are assigned to specific interrupts by the architecture
@@ -241,13 +243,13 @@ · 10 unmodified lines
241 <programlisting>243 <programlisting>
242default_enable(struct irq_data *data)244default_enable(struct irq_data *data)
243{245{
244 desc->chip->irq_unmask(data);246 desc->irq_data.chip->irq_unmask(data);
245}247}
246 248
247default_disable(struct irq_data *data)249default_disable(struct irq_data *data)
248{250{
249 if (!delay_disable(data))251 if (!delay_disable(data))
250 desc->chip->irq_mask(data);252 desc->irq_data.chip->irq_mask(data);
251}253}
252 254
253default_ack(struct irq_data *data)255default_ack(struct irq_data *data)
@@ -284,9 +286,9 @@ noop(struct irq_data *data)) · 30 unmodified lines
284 <para>286 <para>
285 The following control flow is implemented (simplified excerpt):287 The following control flow is implemented (simplified excerpt):
286 <programlisting>288 <programlisting>
287desc->chip->irq_mask();289desc->irq_data.chip->irq_mask_ack();
288handle_IRQ_event(desc->action);290handle_irq_event(desc->action);
289desc->chip->irq_unmask();291desc->irq_data.chip->irq_unmask();
290 </programlisting>292 </programlisting>
291 </para>293 </para>
292 </sect3>294 </sect3>
@@ -300,8 +302,8 @@ desc->chip->irq_unmask(); · 7 unmodified lines
300 <para>302 <para>
301 The following control flow is implemented (simplified excerpt):303 The following control flow is implemented (simplified excerpt):
302 <programlisting>304 <programlisting>
303handle_IRQ_event(desc->action);305handle_irq_event(desc->action);
304desc->chip->irq_eoi();306desc->irq_data.chip->irq_eoi();
305 </programlisting>307 </programlisting>
306 </para>308 </para>
307 </sect3>309 </sect3>
@@ -315,17 +317,17 @@ desc->chip->irq_eoi(); · 7 unmodified lines
315 The following control flow is implemented (simplified excerpt):317 The following control flow is implemented (simplified excerpt):
316 <programlisting>318 <programlisting>
317if (desc->status &amp; running) {319if (desc->status &amp; running) {
318 desc->chip->irq_mask();320 desc->irq_data.chip->irq_mask_ack();
319 desc->status |= pending | masked;321 desc->status |= pending | masked;
320 return;322 return;
321}323}
322desc->chip->irq_ack();324desc->irq_data.chip->irq_ack();
323desc->status |= running;325desc->status |= running;
324do {326do {
325 if (desc->status &amp; masked)327 if (desc->status &amp; masked)
326 desc->chip->irq_unmask();328 desc->irq_data.chip->irq_unmask();
327 desc->status &amp;= ~pending;329 desc->status &amp;= ~pending;
328 handle_IRQ_event(desc->action);330 handle_irq_event(desc->action);
329} while (status &amp; pending);331} while (status &amp; pending);
330desc->status &amp;= ~running;332desc->status &amp;= ~running;
331 </programlisting>333 </programlisting>
@@ -344,7 +346,7 @@ desc->status &amp;= ~running; · 12 unmodified lines
344 <para>346 <para>
345 The following control flow is implemented (simplified excerpt):347 The following control flow is implemented (simplified excerpt):
346 <programlisting>348 <programlisting>
347handle_IRQ_event(desc->action);349handle_irq_event(desc->action);
348 </programlisting>350 </programlisting>
349 </para>351 </para>
350 </sect3>352 </sect3>
@@ -362,12 +364,29 @@ handle_IRQ_event(desc->action); · 11 unmodified lines
362 <para>364 <para>
363 The following control flow is implemented (simplified excerpt):365 The following control flow is implemented (simplified excerpt):
364 <programlisting>366 <programlisting>
365handle_IRQ_event(desc->action);367if (desc->irq_data.chip->irq_ack)
366if (desc->chip->irq_eoi)368 desc->irq_data.chip->irq_ack();
367 desc->chip->irq_eoi();369handle_irq_event(desc->action);
370if (desc->irq_data.chip->irq_eoi)
371 desc->irq_data.chip->irq_eoi();
368 </programlisting>372 </programlisting>
369 </para>373 </para>
370 </sect3>374 </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>
371 </sect2>390 </sect2>
372 <sect2 id="Quirks_and_optimizations">391 <sect2 id="Quirks_and_optimizations">
373 <title>Quirks and optimizations</title>392 <title>Quirks and optimizations</title>
@@ -410,6 +429,7 @@ if (desc->chip->irq_eoi) · 36 unmodified lines
410 <listitem><para>irq_mask_ack() - Optional, recommended for performance</para></listitem>429 <listitem><para>irq_mask_ack() - Optional, recommended for performance</para></listitem>
411 <listitem><para>irq_mask()</para></listitem>430 <listitem><para>irq_mask()</para></listitem>
412 <listitem><para>irq_unmask()</para></listitem>431 <listitem><para>irq_unmask()</para></listitem>
432 <listitem><para>irq_eoi() - Optional, required for eoi flow handlers</para></listitem>
413 <listitem><para>irq_retrigger() - Optional</para></listitem>433 <listitem><para>irq_retrigger() - Optional</para></listitem>
414 <listitem><para>irq_set_type() - Optional</para></listitem>434 <listitem><para>irq_set_type() - Optional</para></listitem>
415 <listitem><para>irq_set_wake() - Optional</para></listitem>435 <listitem><para>irq_set_wake() - Optional</para></listitem>
@@ -424,32 +444,24 @@ if (desc->chip->irq_eoi) · 8 unmodified lines
424 <chapter id="doirq">444 <chapter id="doirq">
425 <title>__do_IRQ entry point</title>445 <title>__do_IRQ entry point</title>
426 <para>446 <para>
427 The original implementation __do_IRQ() is an alternative entry447 The original implementation __do_IRQ() was an alternative entry
428 point for all types of interrupts.448 point for all types of interrupts. It not longer exists.
429 </para>449 </para>
430 <para>450 <para>
431 This handler turned out to be not suitable for all451 This handler turned out to be not suitable for all
432 interrupt hardware and was therefore reimplemented with split452 interrupt hardware and was therefore reimplemented with split
433 functionality for egde/level/simple/percpu interrupts. This is not453 functionality for edge/level/simple/percpu interrupts. This is not
434 only a functional optimization. It also shortens code paths for454 only a functional optimization. It also shortens code paths for
435 interrupts.455 interrupts.
436 </para>456 </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>
444 </chapter>457 </chapter>
445 458
446 <chapter id="locking">459 <chapter id="locking">
447 <title>Locking on SMP</title>460 <title>Locking on SMP</title>
448 <para>461 <para>
449 The locking of chip registers is up to the architecture that462 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 used463 defines the chip primitives. The per-irq structure is
451 for serialization, but the generic layer does not touch it. The per-irq464 protected via desc->lock, by the generic layer.
452 structure is protected via desc->lock, by the generic layer.
453 </para>465 </para>
454 </chapter>466 </chapter>
455 <chapter id="structs">467 <chapter id="structs">
Documentation/DocBook/kernel-locking.tmpl+1−1
@@ -1763,7 +1763,7 @@ as it would be on UP. · 1762 unmodified lines
1763There is a furthur optimization possible here: remember our original1763There is a furthur optimization possible here: remember our original
1764cache code, where there were no reference counts and the caller simply1764cache code, where there were no reference counts and the caller simply
1765held the lock whenever using the object? This is still possible: if1765held the lock whenever using the object? This is still possible: if
1766you hold the lock, noone can delete the object, so you don't need to1766you hold the lock, no one can delete the object, so you don't need to
1767get and put the reference count.1767get and put the reference count.
1768</para>1768</para>
1769 1769
Documentation/DocBook/libata.tmpl+5−5
@@ -1032,7 +1032,7 @@ and other resources, etc. · 1031 unmodified lines
1032 <listitem>1032 <listitem>
1033 <para>1033 <para>
1034 This is indicated by ICRC bit in the ERROR register and1034 This is indicated by ICRC bit in the ERROR register and
1035 means that corruption occurred during data transfer. Upto1035 means that corruption occurred during data transfer. Up to
1036 ATA/ATAPI-7, the standard specifies that this bit is only1036 ATA/ATAPI-7, the standard specifies that this bit is only
1037 applicable to UDMA transfers but ATA/ATAPI-8 draft revision1037 applicable to UDMA transfers but ATA/ATAPI-8 draft revision
1038 1f says that the bit may be applicable to multiword DMA and1038 1f says that the bit may be applicable to multiword DMA and
@@ -1045,10 +1045,10 @@ and other resources, etc. · 6 unmodified lines
1045 <term>ABRT error during data transfer or on completion</term>1045 <term>ABRT error during data transfer or on completion</term>
1046 <listitem>1046 <listitem>
1047 <para>1047 <para>
1048 Upto ATA/ATAPI-7, the standard specifies that ABRT could be1048 Up to ATA/ATAPI-7, the standard specifies that ABRT could be
1049 set on ICRC errors and on cases where a device is not able1049 set on ICRC errors and on cases where a device is not able
1050 to complete a command. Combined with the fact that MWDMA1050 to complete a command. Combined with the fact that MWDMA
1051 and PIO transfer errors aren't allowed to use ICRC bit upto1051 and PIO transfer errors aren't allowed to use ICRC bit up to
1052 ATA/ATAPI-7, it seems to imply that ABRT bit alone could1052 ATA/ATAPI-7, it seems to imply that ABRT bit alone could
1053 indicate tranfer errors.1053 indicate tranfer errors.
1054 </para>1054 </para>
@@ -1122,7 +1122,7 @@ and other resources, etc. · 67 unmodified lines
1122 <para>1122 <para>
1123 Depending on commands, not all STATUS/ERROR bits are1123 Depending on commands, not all STATUS/ERROR bits are
1124 applicable. These non-applicable bits are marked with1124 applicable. These non-applicable bits are marked with
1125 &quot;na&quot; in the output descriptions but upto ATA/ATAPI-71125 &quot;na&quot; in the output descriptions but up to ATA/ATAPI-7
1126 no definition of &quot;na&quot; can be found. However,1126 no definition of &quot;na&quot; can be found. However,
1127 ATA/ATAPI-8 draft revision 1f describes &quot;N/A&quot; as1127 ATA/ATAPI-8 draft revision 1f describes &quot;N/A&quot; as
1128 follows.1128 follows.
@@ -1507,7 +1507,7 @@ and other resources, etc. · 378 unmodified lines
1507 1507
1508 <listitem>1508 <listitem>
1509 <para>1509 <para>
1510 CHS set up with INITIALIZE DEVICE PARAMETERS (seldomly used)1510 CHS set up with INITIALIZE DEVICE PARAMETERS (seldom used)
1511 </para>1511 </para>
1512 </listitem>1512 </listitem>
1513 1513
Documentation/DocBook/media-entities.tmpl+7−3
@@ -270,6 +270,7 @@ · 269 unmodified lines
270<!ENTITY sub-write SYSTEM "v4l/func-write.xml">270<!ENTITY sub-write SYSTEM "v4l/func-write.xml">
271<!ENTITY sub-io SYSTEM "v4l/io.xml">271<!ENTITY sub-io SYSTEM "v4l/io.xml">
272<!ENTITY sub-grey SYSTEM "v4l/pixfmt-grey.xml">272<!ENTITY sub-grey SYSTEM "v4l/pixfmt-grey.xml">
273<!ENTITY sub-m420 SYSTEM "v4l/pixfmt-m420.xml">
273<!ENTITY sub-nv12 SYSTEM "v4l/pixfmt-nv12.xml">274<!ENTITY sub-nv12 SYSTEM "v4l/pixfmt-nv12.xml">
274<!ENTITY sub-nv12m SYSTEM "v4l/pixfmt-nv12m.xml">275<!ENTITY sub-nv12m SYSTEM "v4l/pixfmt-nv12m.xml">
275<!ENTITY sub-nv12mt SYSTEM "v4l/pixfmt-nv12mt.xml">276<!ENTITY sub-nv12mt SYSTEM "v4l/pixfmt-nv12mt.xml">
@@ -292,8 +293,11 @@ · 16 unmodified lines
292<!ENTITY sub-yuyv SYSTEM "v4l/pixfmt-yuyv.xml">293<!ENTITY sub-yuyv SYSTEM "v4l/pixfmt-yuyv.xml">
293<!ENTITY sub-yvyu SYSTEM "v4l/pixfmt-yvyu.xml">294<!ENTITY sub-yvyu SYSTEM "v4l/pixfmt-yvyu.xml">
294<!ENTITY sub-srggb10 SYSTEM "v4l/pixfmt-srggb10.xml">295<!ENTITY sub-srggb10 SYSTEM "v4l/pixfmt-srggb10.xml">
296<!ENTITY sub-srggb12 SYSTEM "v4l/pixfmt-srggb12.xml">
295<!ENTITY sub-srggb8 SYSTEM "v4l/pixfmt-srggb8.xml">297<!ENTITY sub-srggb8 SYSTEM "v4l/pixfmt-srggb8.xml">
296<!ENTITY sub-y10 SYSTEM "v4l/pixfmt-y10.xml">298<!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">
297<!ENTITY sub-pixfmt SYSTEM "v4l/pixfmt.xml">301<!ENTITY sub-pixfmt SYSTEM "v4l/pixfmt.xml">
298<!ENTITY sub-cropcap SYSTEM "v4l/vidioc-cropcap.xml">302<!ENTITY sub-cropcap SYSTEM "v4l/vidioc-cropcap.xml">
299<!ENTITY sub-dbg-g-register SYSTEM "v4l/vidioc-dbg-g-register.xml">303<!ENTITY sub-dbg-g-register SYSTEM "v4l/vidioc-dbg-g-register.xml">
@@ -370,9 +374,9 @@ · 70 unmodified lines
370<!ENTITY sub-media-indices SYSTEM "media-indices.tmpl">374<!ENTITY sub-media-indices SYSTEM "media-indices.tmpl">
371 375
372<!ENTITY sub-media-controller SYSTEM "v4l/media-controller.xml">376<!ENTITY sub-media-controller SYSTEM "v4l/media-controller.xml">
373<!ENTITY sub-media-open SYSTEM "v4l/media-func-open.xml">377<!ENTITY sub-media-func-open SYSTEM "v4l/media-func-open.xml">
374<!ENTITY sub-media-close SYSTEM "v4l/media-func-close.xml">378<!ENTITY sub-media-func-close SYSTEM "v4l/media-func-close.xml">
375<!ENTITY sub-media-ioctl SYSTEM "v4l/media-func-ioctl.xml">379<!ENTITY sub-media-func-ioctl SYSTEM "v4l/media-func-ioctl.xml">
376<!ENTITY sub-media-ioc-device-info SYSTEM "v4l/media-ioc-device-info.xml">380<!ENTITY sub-media-ioc-device-info SYSTEM "v4l/media-ioc-device-info.xml">
377<!ENTITY sub-media-ioc-enum-entities SYSTEM "v4l/media-ioc-enum-entities.xml">381<!ENTITY sub-media-ioc-enum-entities SYSTEM "v4l/media-ioc-enum-entities.xml">
378<!ENTITY sub-media-ioc-enum-links SYSTEM "v4l/media-ioc-enum-links.xml">382<!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
189 <title>Partition defines</title>189 <title>Partition defines</title>
190 <para>190 <para>
191 If you want to divide your device into partitions, then191 If you want to divide your device into partitions, then
192 enable the configuration switch CONFIG_MTD_PARTITIONS and define192 define a partitioning scheme suitable to your board.
193 a partitioning scheme suitable to your board.
194 </para>193 </para>
195 <programlisting>194 <programlisting>
196#define NUM_PARTITIONS 2195#define NUM_PARTITIONS 2
@@ -485,7 +484,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip) · 288 unmodified lines
485 Reed-Solomon library.484 Reed-Solomon library.
486 </para>485 </para>
487 <para>486 <para>
488 The ECC bytes must be placed immidiately after the data487 The ECC bytes must be placed immediately after the data
489 bytes in order to make the syndrome generator work. This488 bytes in order to make the syndrome generator work. This
490 is contrary to the usual layout used by software ECC. The489 is contrary to the usual layout used by software ECC. The
491 separation of data and out of band area is not longer490 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
629 holds the bad block table. Store a pointer to the pattern 628 holds the bad block table. Store a pointer to the pattern
630 in the pattern field. Further the length of the pattern has to be 629 in the pattern field. Further the length of the pattern has to be
631 stored in len and the offset in the spare area must be given630 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 mirrored631 in the offs member of the nand_bbt_descr structure. For mirrored
633 bad block tables different patterns are mandatory.</para></listitem>632 bad block tables different patterns are mandatory.</para></listitem>
634 <listitem><para>Table creation</para>633 <listitem><para>Table creation</para>
635 <para>Set the option NAND_BBT_CREATE to enable the table creation634 <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
648 <listitem><para>Table version control</para>647 <listitem><para>Table version control</para>
649 <para>Set the option NAND_BBT_VERSION to enable the table version control.648 <para>Set the option NAND_BBT_VERSION to enable the table version control.
650 It's highly recommended to enable this for mirrored tables with write649 It's highly recommended to enable this for mirrored tables with write
651 support. It makes sure that the risk of loosing the bad block650 support. It makes sure that the risk of losing the bad block
652 table information is reduced to the loss of the information about the651 table information is reduced to the loss of the information about the
653 one worn out block which should be marked bad. The version is stored in652 one worn out block which should be marked bad. The version is stored in
654 4 consecutive bytes in the spare area of the device. The position of653 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
1060<row>1059<row>
1061<entry>0x3D</entry>1060<entry>0x3D</entry>
1062<entry>ECC byte 21</entry>1061<entry>ECC byte 21</entry>
1063<entry>Error correction code byte 0 of the eigth 256 Bytes of data1062<entry>Error correction code byte 0 of the eighth 256 Bytes of data
1064in this page</entry>1063in this page</entry>
1065</row>1064</row>
1066<row>1065<row>
1067<entry>0x3E</entry>1066<entry>0x3E</entry>
1068<entry>ECC byte 22</entry>1067<entry>ECC byte 22</entry>
1069<entry>Error correction code byte 1 of the eigth 256 Bytes of data1068<entry>Error correction code byte 1 of the eighth 256 Bytes of data
1070in this page</entry>1069in this page</entry>
1071</row>1070</row>
1072<row>1071<row>
1073<entry>0x3F</entry>1072<entry>0x3F</entry>
1074<entry>ECC byte 23</entry>1073<entry>ECC byte 23</entry>
1075<entry>Error correction code byte 2 of the eigth 256 Bytes of data1074<entry>Error correction code byte 2 of the eighth 256 Bytes of data
1076in this page</entry>1075in this page</entry>
1077</row>1076</row>
1078</tbody></tgroup></informaltable>1077</tbody></tgroup></informaltable>
Documentation/DocBook/regulator.tmpl+2−2
@@ -267,8 +267,8 @@ · 266 unmodified lines
267 <sect1 id="machine-constraint">267 <sect1 id="machine-constraint">
268 <title>Constraints</title>268 <title>Constraints</title>
269 <para>269 <para>
270 As well as definining the connections the machine interface270 As well as defining the connections the machine interface
271 also provides constraints definining the operations that271 also provides constraints defining the operations that
272 clients are allowed to perform and the parameters that may be272 clients are allowed to perform and the parameters that may be
273 set. This is required since generally regulator devices will273 set. This is required since generally regulator devices will
274 offer more flexibility than it is safe to use on a given274 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
797 perform some initialization. After that, your hardware797 perform some initialization. After that, your hardware
798 starts working and will generate an interrupt as soon798 starts working and will generate an interrupt as soon
799 as it's finished, has some data available, or needs your799 as it's finished, has some data available, or needs your
800 attention because an error occured.800 attention because an error occurred.
801 </para>801 </para>
802 <para>802 <para>
803 <filename>/dev/uioX</filename> is a read-only file. A803 <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
690 </para><para>690 </para><para>
691 This request lets kernel drivers talk to user mode code691 This request lets kernel drivers talk to user mode code
692 through filesystem operations even when they don't create692 through filesystem operations even when they don't create
693 a charactor or block special device.693 a character or block special device.
694 It's also been used to do things like ask devices what694 It's also been used to do things like ask devices what
695 device special file should be used.695 device special file should be used.
696 Two pre-defined ioctls are used696 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
100 100
101 <para>By convention system administrators create various101 <para>By convention system administrators create various
102character device special files with these major and minor numbers in102character device special files with these major and minor numbers in
103the <filename>/dev</filename> directory. The names recomended for the103the <filename>/dev</filename> directory. The names recommended for the
104different V4L2 device types are listed in <xref linkend="devices" />.104different V4L2 device types are listed in <xref linkend="devices" />.
105</para>105</para>
106 106
Documentation/DocBook/v4l/controls.xml+1−1
@@ -1243,7 +1243,7 @@ values are:</entry> · 1242 unmodified lines
1243 </row><row><entry spanname="descr">Mutes the audio when1243 </row><row><entry spanname="descr">Mutes the audio when
1244capturing. This is not done by muting audio hardware, which can still1244capturing. This is not done by muting audio hardware, which can still
1245produce a slight hiss, but in the encoder itself, guaranteeing a fixed1245produce a slight hiss, but in the encoder itself, guaranteeing a fixed
1246and reproducable audio bitstream. 0 = unmuted, 1 = muted.</entry>1246and reproducible audio bitstream. 0 = unmuted, 1 = muted.</entry>
1247 </row>1247 </row>
1248 <row><entry></entry></row>1248 <row><entry></entry></row>
1249 <row id="v4l2-mpeg-video-encoding">1249 <row id="v4l2-mpeg-video-encoding">
Documentation/DocBook/v4l/dev-subdev.xml+1−1
@@ -90,7 +90,7 @@ · 89 unmodified lines
90 processing hardware.</para>90 processing hardware.</para>
91 91
92 <figure id="pipeline-scaling">92 <figure id="pipeline-scaling">
93 <title>Image Format Negotation on Pipelines</title>93 <title>Image Format Negotiation on Pipelines</title>
94 <mediaobject>94 <mediaobject>
95 <imageobject>95 <imageobject>
96 <imagedata fileref="pipeline.pdf" format="PS" />96 <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
140 <para>int v4l2_get_control(int fd, int cid) -140 <para>int v4l2_get_control(int fd, int cid) -
141This function returns a value of 0 - 65535, scaled to from the actual range141This function returns a value of 0 - 65535, scaled to from the actual range
142of the given v4l control id. when the cid does not exist, could not be142of the given v4l control id. when the cid does not exist, could not be
143accessed for some reason, or some error occured 0 is returned.143accessed for some reason, or some error occurred 0 is returned.
144</para></listitem>144</para></listitem>
145</itemizedlist>145</itemizedlist>
146 </section>146 </section>
Documentation/DocBook/v4l/media-controller.xml+3−3
@@ -78,9 +78,9 @@ · 77 unmodified lines
78<appendix id="media-user-func">78<appendix id="media-user-func">
79 <title>Function Reference</title>79 <title>Function Reference</title>
80 <!-- Keep this alphabetically sorted. -->80 <!-- Keep this alphabetically sorted. -->
81 &sub-media-open;81 &sub-media-func-open;
82 &sub-media-close;82 &sub-media-func-close;
83 &sub-media-ioctl;83 &sub-media-func-ioctl;
84 <!-- All ioctls go here. -->84 <!-- All ioctls go here. -->
85 &sub-media-ioc-device-info;85 &sub-media-ioc-device-info;
86 &sub-media-ioc-enum-entities;86 &sub-media-ioc-enum-entities;
Documentation/DocBook/v4l/media-ioc-setup-link.xml+1−1
@@ -34,7 +34,7 @@ · 33 unmodified lines
34 <varlistentry>34 <varlistentry>
35 <term><parameter>request</parameter></term>35 <term><parameter>request</parameter></term>
36 <listitem>36 <listitem>
37 <para>MEDIA_IOC_ENUM_LINKS</para>37 <para>MEDIA_IOC_SETUP_LINK</para>
38 </listitem>38 </listitem>
39 </varlistentry>39 </varlistentry>
40 <varlistentry>40 <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,
22Cb<subscript>0</subscript>/Cr<subscript>0</subscript> belongs to
23Y'<subscript>00</subscript>, Y'<subscript>01</subscript>,
24Y'<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
31pixel 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 <!--
142Local Variables:
143mode: sgml
144sgml-parent-document: "pixfmt.sgml"
145indent-tabs-mode: nil
146End:
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
14are stored in 16-bit words with unused high bits padded with 0. The least
15significant byte is stored at lower memory addresses (little-endian).</para>
16
17 <example>
18 <title><constant>V4L2_PIX_FMT_Y12</constant> 4 &times; 4
19pixel 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
673 &sub-srggb8;673 &sub-srggb8;
674 &sub-sbggr16;674 &sub-sbggr16;
675 &sub-srggb10;675 &sub-srggb10;
676 &sub-srggb12;
676 </section>677 </section>
677 678
678 <section id="yuv-formats">679 <section id="yuv-formats">
@@ -696,6 +697,8 @@ information.</para> · 17 unmodified lines
696 &sub-packed-yuv;697 &sub-packed-yuv;
697 &sub-grey;698 &sub-grey;
698 &sub-y10;699 &sub-y10;
700 &sub-y12;
701 &sub-y10b;
699 &sub-y16;702 &sub-y16;
700 &sub-yuyv;703 &sub-yuyv;
701 &sub-uyvy;704 &sub-uyvy;
@@ -711,6 +714,7 @@ information.</para> · 9 unmodified lines
711 &sub-nv12m;714 &sub-nv12m;
712 &sub-nv12mt;715 &sub-nv12mt;
713 &sub-nv16;716 &sub-nv16;
717 &sub-m420;
714 </section>718 </section>
715 719
716 <section>720 <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
133<row><entry><constant>KEY_LEFT</constant></entry><entry>Left key</entry><entry>LEFT</entry></row>133<row><entry><constant>KEY_LEFT</constant></entry><entry>Left key</entry><entry>LEFT</entry></row>
134<row><entry><constant>KEY_RIGHT</constant></entry><entry>Right key</entry><entry>RIGHT</entry></row>134<row><entry><constant>KEY_RIGHT</constant></entry><entry>Right key</entry><entry>RIGHT</entry></row>
135 135
136<row><entry><emphasis role="bold">Miscelaneous keys</emphasis></entry></row>136<row><entry><emphasis role="bold">Miscellaneous keys</emphasis></entry></row>
137 137
138<row><entry><constant>KEY_DOT</constant></entry><entry>Return a dot</entry><entry>.</entry></row>138<row><entry><constant>KEY_DOT</constant></entry><entry>Return a dot</entry><entry>.</entry></row>
139<row><entry><constant>KEY_FN</constant></entry><entry>Select a function</entry><entry>FUNCTION</entry></row>139<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
456 <entry>b<subscript>1</subscript></entry>456 <entry>b<subscript>1</subscript></entry>
457 <entry>b<subscript>0</subscript></entry>457 <entry>b<subscript>0</subscript></entry>
458 </row>458 </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>
459 <row id="V4L2-MBUS-FMT-SGRBG8-1X8">476 <row id="V4L2-MBUS-FMT-SGRBG8-1X8">
460 <entry>V4L2_MBUS_FMT_SGRBG8_1X8</entry>477 <entry>V4L2_MBUS_FMT_SGRBG8_1X8</entry>
461 <entry>0x3002</entry>478 <entry>0x3002</entry>
@@ -473,6 +490,23 @@ · 11 unmodified lines
473 <entry>g<subscript>1</subscript></entry>490 <entry>g<subscript>1</subscript></entry>
474 <entry>g<subscript>0</subscript></entry>491 <entry>g<subscript>0</subscript></entry>
475 </row>492 </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>
476 <row id="V4L2-MBUS-FMT-SBGGR10-DPCM8-1X8">510 <row id="V4L2-MBUS-FMT-SBGGR10-DPCM8-1X8">
477 <entry>V4L2_MBUS_FMT_SBGGR10_DPCM8_1X8</entry>511 <entry>V4L2_MBUS_FMT_SBGGR10_DPCM8_1X8</entry>
478 <entry>0x300b</entry>512 <entry>0x300b</entry>
@@ -2159,6 +2193,31 @@ · 1680 unmodified lines
2159 <entry>u<subscript>1</subscript></entry>2193 <entry>u<subscript>1</subscript></entry>
2160 <entry>u<subscript>0</subscript></entry>2194 <entry>u<subscript>0</subscript></entry>
2161 </row>2195 </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>
2162 <row id="V4L2-MBUS-FMT-UYVY8-1X16">2221 <row id="V4L2-MBUS-FMT-UYVY8-1X16">
2163 <entry>V4L2_MBUS_FMT_UYVY8_1X16</entry>2222 <entry>V4L2_MBUS_FMT_UYVY8_1X16</entry>
2164 <entry>0x200f</entry>2223 <entry>0x200f</entry>
@@ -2463,5 +2522,51 @@ · 298 unmodified lines
2463 </tgroup>2522 </tgroup>
2464 </table>2523 </table>
2465 </section>2524 </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>
2466 </section>2571 </section>
2467</section>2572</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
311#define <link linkend="V4L2-PIX-FMT-Y10">V4L2_PIX_FMT_Y10</link> v4l2_fourcc('Y', '1', '0', ' ') /* 10 Greyscale */311#define <link linkend="V4L2-PIX-FMT-Y10">V4L2_PIX_FMT_Y10</link> v4l2_fourcc('Y', '1', '0', ' ') /* 10 Greyscale */
312#define <link linkend="V4L2-PIX-FMT-Y16">V4L2_PIX_FMT_Y16</link> v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */312#define <link linkend="V4L2-PIX-FMT-Y16">V4L2_PIX_FMT_Y16</link> v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */
313 313
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
314/* Palette formats */317/* Palette formats */
315#define <link linkend="V4L2-PIX-FMT-PAL8">V4L2_PIX_FMT_PAL8</link> v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */318#define <link linkend="V4L2-PIX-FMT-PAL8">V4L2_PIX_FMT_PAL8</link> v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */
316 319
@@ -333,6 +336,7 @@ struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> { · 16 unmodified lines
333#define <link linkend="V4L2-PIX-FMT-YUV420">V4L2_PIX_FMT_YUV420</link> v4l2_fourcc('Y', 'U', '1', '2') /* 12 YUV 4:2:0 */336#define <link linkend="V4L2-PIX-FMT-YUV420">V4L2_PIX_FMT_YUV420</link> v4l2_fourcc('Y', 'U', '1', '2') /* 12 YUV 4:2:0 */
334#define <link linkend="V4L2-PIX-FMT-HI240">V4L2_PIX_FMT_HI240</link> v4l2_fourcc('H', 'I', '2', '4') /* 8 8-bit color */337#define <link linkend="V4L2-PIX-FMT-HI240">V4L2_PIX_FMT_HI240</link> v4l2_fourcc('H', 'I', '2', '4') /* 8 8-bit color */
335#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 */338#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 */
336 340
337/* two planes -- one Y, one Cr + Cb interleaved */341/* two planes -- one Y, one Cr + Cb interleaved */
338#define <link linkend="V4L2-PIX-FMT-NV12">V4L2_PIX_FMT_NV12</link> v4l2_fourcc('N', 'V', '1', '2') /* 12 Y/CbCr 4:2:0 */342#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
4784 FM registers can be directly accessed through the direct-FM API,4784 FM registers can be directly accessed through the direct-FM API,
4785 defined in <filename>&lt;sound/asound_fm.h&gt;</filename>. In4785 defined in <filename>&lt;sound/asound_fm.h&gt;</filename>. In
4786 ALSA native mode, FM registers are accessed through4786 ALSA native mode, FM registers are accessed through
4787 the Hardware-Dependant Device direct-FM extension API, whereas in4787 the Hardware-Dependent Device direct-FM extension API, whereas in
4788 OSS compatible mode, FM registers can be accessed with the OSS4788 OSS compatible mode, FM registers can be accessed with the OSS
4789 direct-FM compatible API in <filename>/dev/dmfmX</filename> device. 4789 direct-FM compatible API in <filename>/dev/dmfmX</filename> device.
4790 </para>4790 </para>
Documentation/HOWTO+1−1
@@ -209,7 +209,7 @@ tools. One such tool that is particularly recommended is the Linux · 208 unmodified lines
209Cross-Reference project, which is able to present source code in a209Cross-Reference project, which is able to present source code in a
210self-referential, indexed webpage format. An excellent up-to-date210self-referential, indexed webpage format. An excellent up-to-date
211repository of the kernel code may be found at:211repository of the kernel code may be found at:
212 http://users.sosdg.org/~qiyong/lxr/212 http://lxr.linux.no/+trees
213 213
214 214
215The development process215The development process
Documentation/IRQ-affinity.txt+13−4
@@ -4,10 +4,11 @@ ChangeLog: · 3 unmodified lines
4 4
5SMP IRQ affinity5SMP IRQ affinity
6 6
7/proc/irq/IRQ#/smp_affinity specifies which target CPUs are permitted7/proc/irq/IRQ#/smp_affinity and /proc/irq/IRQ#/smp_affinity_list specify
8for a given IRQ source. It's a bitmask of allowed CPUs. It's not allowed8which target CPUs are permitted for a given IRQ source. It's a bitmask
9to turn off all CPUs, and if an IRQ controller does not support IRQ9(smp_affinity) or cpu list (smp_affinity_list) of allowed CPUs. It's not
10affinity then the value will not change from the default 0xffffffff.10allowed to turn off all CPUs, and if an IRQ controller does not support
11IRQ affinity then the value will not change from the default of all cpus.
11 12
12/proc/irq/default_smp_affinity specifies default affinity mask that applies13/proc/irq/default_smp_affinity specifies default affinity mask that applies
13to all non-active IRQs. Once IRQ is allocated/activated its affinity bitmask14to 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
54This time around IRQ44 was delivered only to the last four processors.55This time around IRQ44 was delivered only to the last four processors.
55i.e counters for the CPU0-3 did not change.56i.e counters for the CPU0-3 did not change.
56 57
58Here 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
621024-1031
63
64Note that to do this with a bitmask would require 32 bitmasks of zero
65to 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
253must be a power of two). In addition, the MSI interrupt vectors must253must be a power of two). In addition, the MSI interrupt vectors must
254be allocated consecutively, so the system may not be able to allocate254be allocated consecutively, so the system may not be able to allocate
255as many vectors for MSI as it could for MSI-X. On some platforms, MSI255as many vectors for MSI as it could for MSI-X. On some platforms, MSI
256interrupts must all be targetted at the same set of CPUs whereas MSI-X256interrupts must all be targeted at the same set of CPUs whereas MSI-X
257interrupts can all be targetted at different CPUs.257interrupts can all be targeted at different CPUs.
258 258
2594.5.2 Spinlocks2594.5.2 Spinlocks
260 260
Documentation/RCU/00-INDEX+1−1
@@ -21,7 +21,7 @@ rcu.txt · 20 unmodified lines
21RTFP.txt21RTFP.txt
22 - List of RCU papers (bibliography) going back to 1980.22 - List of RCU papers (bibliography) going back to 1980.
23stallwarn.txt23stallwarn.txt
24 - RCU CPU stall warnings (CONFIG_RCU_CPU_STALL_DETECTOR)24 - RCU CPU stall warnings (module parameter rcu_cpu_stall_suppress)
25torture.txt25torture.txt
26 - RCU Torture Test Operation (CONFIG_RCU_TORTURE_TEST)26 - RCU Torture Test Operation (CONFIG_RCU_TORTURE_TEST)
27trace.txt27trace.txt
Documentation/RCU/stallwarn.txt+13−10
@@ -1,22 +1,25 @@
1Using RCU's CPU Stall Detector1Using RCU's CPU Stall Detector
2 2
3The CONFIG_RCU_CPU_STALL_DETECTOR kernel config parameter enables3The rcu_cpu_stall_suppress module parameter enables RCU's CPU stall
4RCU's CPU stall detector, which detects conditions that unduly delay4detector, which detects conditions that unduly delay RCU grace periods.
5RCU grace periods. The stall detector's idea of what constitutes5This module parameter enables CPU stall detection by default, but
6"unduly delayed" is controlled by a set of C preprocessor macros:6may be overridden via boot-time parameter or at runtime via sysfs.
7The stall detector's idea of what constitutes "unduly delayed" is
8controlled by a set of kernel configuration variables and cpp macros:
7 9
8RCU_SECONDS_TILL_STALL_CHECK10CONFIG_RCU_CPU_STALL_TIMEOUT
9 11
10 This macro defines the period of time that RCU will wait from12 This kernel configuration parameter defines the period of time
11 the beginning of a grace period until it issues an RCU CPU13 that RCU will wait from the beginning of a grace period until it
12 stall warning. This time period is normally ten seconds.14 issues an RCU CPU stall warning. This time period is normally
15 ten seconds.
13 16
14RCU_SECONDS_TILL_STALL_RECHECK17RCU_SECONDS_TILL_STALL_RECHECK
15 18
16 This macro defines the period of time that RCU will wait after19 This macro defines the period of time that RCU will wait after
17 issuing a stall warning until it issues another stall warning20 issuing a stall warning until it issues another stall warning
18 for the same stall. This time period is normally set to thirty21 for the same stall. This time period is normally set to three
19 seconds.22 times the check interval plus thirty seconds.
20 23
21RCU_STALL_RAT_DELAY24RCU_STALL_RAT_DELAY
22 25
Documentation/RCU/trace.txt+236−59
@@ -10,34 +10,46 @@ for rcutree and next for rcutiny. · 9 unmodified lines
10 10
11CONFIG_TREE_RCU and CONFIG_TREE_PREEMPT_RCU debugfs Files and Formats11CONFIG_TREE_RCU and CONFIG_TREE_PREEMPT_RCU debugfs Files and Formats
12 12
13These implementations of RCU provides five debugfs files under the13These implementations of RCU provides several debugfs files under the
14top-level directory RCU: rcu/rcudata (which displays fields in struct14top-level directory "rcu":
15rcu_data), rcu/rcudata.csv (which is a .csv spreadsheet version of15
16rcu/rcudata), rcu/rcugp (which displays grace-period counters),16rcu/rcudata:
17rcu/rcuhier (which displays the struct rcu_node hierarchy), and17 Displays fields in struct rcu_data.
18rcu/rcu_pending (which displays counts of the reasons that the18rcu/rcudata.csv:
19rcu_pending() function decided that there was core RCU work to do).19 Comma-separated values spreadsheet version of rcudata.
20rcu/rcugp:
21 Displays grace-period counters.
22rcu/rcuhier:
23 Displays the struct rcu_node hierarchy.
24rcu/rcu_pending:
25 Displays counts of the reasons rcu_pending() decided that RCU had
26 work to do.
27rcu/rcutorture:
28 Displays rcutorture test progress.
29rcu/rcuboost:
30 Displays RCU boosting statistics. Only present if
31 CONFIG_RCU_BOOST=y.
20 32
21The output of "cat rcu/rcudata" looks as follows:33The output of "cat rcu/rcudata" looks as follows:
22 34
23rcu_sched:35rcu_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=1036 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
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=1037 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
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=1038 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
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=1039 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
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=1040 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
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=1041 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
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=1042 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
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=1043 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
32rcu_bh:44rcu_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=1045 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
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=1046 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
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=1047 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
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=1048 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
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=1049 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
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=1050 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
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=1051 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
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=1052 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
41 53
42The first section lists the rcu_data structures for rcu_sched, the second54The first section lists the rcu_data structures for rcu_sched, the second
43for rcu_bh. Note that CONFIG_TREE_PREEMPT_RCU kernels will have an55for 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
52 substantially larger than the number of actual CPUs.64 substantially larger than the number of actual CPUs.
53 65
54o "c" is the count of grace periods that this CPU believes have66o "c" is the count of grace periods that this CPU believes have
55 completed. CPUs in dynticks idle mode may lag quite a ways67 completed. Offlined CPUs and CPUs in dynticks idle mode may
56 behind, for example, CPU 4 under "rcu_sched" above, which has68 lag quite a ways behind, for example, CPU 6 under "rcu_sched"
57 slept through the past 25 RCU grace periods. It is not unusual69 above, which has been offline through not quite 40,000 RCU grace
58 to see CPUs lagging by thousands of grace periods.70 periods. It is not unusual to see CPUs lagging by thousands of
71 grace periods.
59 72
60o "g" is the count of grace periods that this CPU believes have73o "g" is the count of grace periods that this CPU believes have
61 started. Again, CPUs in dynticks idle mode may lag behind.74 started. Again, offlined CPUs and CPUs in dynticks idle mode
62 If the "c" and "g" values are equal, this CPU has already75 may lag behind. If the "c" and "g" values are equal, this CPU
63 reported a quiescent state for the last RCU grace period that76 has already reported a quiescent state for the last RCU grace
64 it is aware of, otherwise, the CPU believes that it owes RCU a77 period that it is aware of, otherwise, the CPU believes that it
65 quiescent state.78 owes RCU a quiescent state.
66 79
67o "pq" indicates that this CPU has passed through a quiescent state80o "pq" indicates that this CPU has passed through a quiescent state
68 for the current grace period. It is possible for "pq" to be81 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
81 the next grace period!94 the next grace period!
82 95
83o "qp" indicates that RCU still expects a quiescent state from96o "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.
85 99
86o "dt" is the current value of the dyntick counter that is incremented100o "dt" is the current value of the dyntick counter that is incremented
87 when entering or leaving dynticks idle state, either by the101 when entering or leaving dynticks idle state, either by the
88 scheduler or by irq. The number after the "/" is the interrupt102 scheduler or by irq. This number is even if the CPU is in
89 nesting depth when in dyntick-idle state, or one greater than103 dyntick idle mode and odd otherwise. The number after the first
90 the interrupt-nesting depth otherwise.104 "/" is the interrupt nesting depth when in dyntick-idle state,
91 105 or one greater than the interrupt-nesting depth otherwise.
92 This field is displayed only for CONFIG_NO_HZ kernels.106 The number after the second "/" is the NMI nesting depth.
93
94o "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.
100 107
101 This field is displayed only for CONFIG_NO_HZ kernels.108 This field is displayed only for CONFIG_NO_HZ kernels.
102 109
@@ -108,7 +115,7 @@ o "df" is the number of times that some other CPU has forced a · 5 unmodified lines
108 115
109o "of" is the number of times that some other CPU has forced a116o "of" is the number of times that some other CPU has forced a
110 quiescent state on behalf of this CPU due to this CPU being117 quiescent state on behalf of this CPU due to this CPU being
111 offline. In a perfect world, this might neve happen, but it118 offline. In a perfect world, this might never happen, but it
112 turns out that offlining and onlining a CPU can take several grace119 turns out that offlining and onlining a CPU can take several grace
113 periods, and so there is likely to be an extended period of time120 periods, and so there is likely to be an extended period of time
114 when RCU believes that the CPU is online when it really is not.121 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
125 of what state they are in (new, waiting for grace period to132 of what state they are in (new, waiting for grace period to
126 start, waiting for grace period to end, ready to invoke).133 start, waiting for grace period to end, ready to invoke).
127 134
135o "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
161o "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
187o "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
128o "b" is the batch limit for this CPU. If more than this number191o "b" is the batch limit for this CPU. If more than this number
129 of RCU callbacks is ready to invoke, then the remainder will192 of RCU callbacks is ready to invoke, then the remainder will
130 be deferred.193 be deferred.
@@ -174,14 +237,14 @@ o "gpnum" is the number of grace periods that have started. It is · 43 unmodified lines
174The output of "cat rcu/rcuhier" looks as follows, with very long lines:237The output of "cat rcu/rcuhier" looks as follows, with very long lines:
175 238
176c=6902 g=6903 s=2 jfq=3 j=72c7 nfqs=13142/nfqsng=0(13142) fqlh=6239c=6902 g=6903 s=2 jfq=3 j=72c7 nfqs=13142/nfqsng=0(13142) fqlh=6
1771/1 .>. 0:127 ^0 2401/1 ..>. 0:127 ^0
1783/3 .>. 0:35 ^0 0/0 .>. 36:71 ^1 0/0 .>. 72:107 ^2 0/0 .>. 108:127 ^3 2413/3 ..>. 0:35 ^0 0/0 ..>. 36:71 ^1 0/0 ..>. 72:107 ^2 0/0 ..>. 108:127 ^3
1793/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 2423/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
180rcu_bh:243rcu_bh:
181c=-226 g=-226 s=1 jfq=-5701 j=72c7 nfqs=88/nfqsng=0(88) fqlh=0244c=-226 g=-226 s=1 jfq=-5701 j=72c7 nfqs=88/nfqsng=0(88) fqlh=0
1820/1 .>. 0:127 ^0 2450/1 ..>. 0:127 ^0
1830/3 .>. 0:35 ^0 0/0 .>. 36:71 ^1 0/0 .>. 72:107 ^2 0/0 .>. 108:127 ^3 2460/3 ..>. 0:35 ^0 0/0 ..>. 36:71 ^1 0/0 ..>. 72:107 ^2 0/0 ..>. 108:127 ^3
1840/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 ^32470/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
185 248
186This is once again split into "rcu_sched" and "rcu_bh" portions,249This is once again split into "rcu_sched" and "rcu_bh" portions,
187and CONFIG_TREE_PREEMPT_RCU kernels will again have an additional250and 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
240 current grace period.303 current grace period.
241 304
242 o The characters separated by the ">" indicate the state305 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 ">"
244 indicates that at least one task blocked in an RCU307 indicates that at least one task blocked in an RCU
245 read-side critical section blocks the current grace308 read-side critical section blocks the current grace
246 period, while a "." preceding the ">" indicates otherwise.309 period, while a "E" preceding the ">" indicates that
247 The character following the ">" indicates similarly for310 at least one task blocked in an RCU read-side critical
248 the next grace period. A "T" should appear in this311 section blocks the current expedited grace period.
249 field only for rcu-preempt.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.
250 320
251 o The numbers separated by the ":" are the range of CPUs321 o The numbers separated by the ":" are the range of CPUs
252 served by this struct rcu_node. This can be helpful322 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
328 is due to short-circuit evaluation in rcu_pending().398 is due to short-circuit evaluation in rcu_pending().
329 399
330 400
401The output of "cat rcu/rcutorture" looks as follows:
402
403rcutorture test sequence: 0 (test in progress)
404rcutorture update version number: 615
405
406The first line shows the number of rcutorture tests that have completed
407since boot. If a test is currently running, the "(test in progress)"
408string will appear as shown above. The second line shows the number of
409update cycles that the current test has started, or zero if there is
410no test in progress.
411
412
413The output of "cat rcu/rcuboost" looks as follows:
414
4150: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
4176: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
420This information is output only for rcu_preempt. Each two-line entry
421corresponds to a leaf rcu_node strcuture. The fields are as follows:
422
423o "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
428o "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
448o "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
465o "ntb" is the number of tasks boosted.
466
467o "neb" is the number of tasks boosted in order to complete an
468 expedited grace period.
469
470o "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
475o "j" is the low-order 16 bits of the jiffies counter in
476 hexadecimal.
477
478o "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
483o "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
489o "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
493o "bt" counts the number of times we balked because boosting
494 had already been initiated for the current grace period.
495
496o "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
501o "ny" counts the number of times we balked because it was
502 not yet time to start boosting.
503
504o "nos" counts the number of times we balked for other
505 reasons, e.g., the grace period ended first.
506
507
331CONFIG_TINY_RCU and CONFIG_TINY_PREEMPT_RCU debugfs Files and Formats508CONFIG_TINY_RCU and CONFIG_TINY_PREEMPT_RCU debugfs Files and Formats
332 509
333These implementations of RCU provides a single debugfs file under the510These 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
394o "nnb" is the number of normal grace periods that have had571o "nnb" is the number of normal grace periods that have had
395 to resort to RCU priority boosting since boot.572 to resort to RCU priority boosting since boot.
396 573
397o "j" is the low-order 12 bits of the jiffies counter in hexadecimal.574o "j" is the low-order 16 bits of the jiffies counter in hexadecimal.
398 575
399o "bt" is the low-order 12 bits of the value that the jiffies counter576o "bt" is the low-order 16 bits of the value that the jiffies counter
400 will have at the next time that boosting is scheduled to begin.577 will have at the next time that boosting is scheduled to begin.
401 578
402o In the line beginning with "normal balk", the fields are as follows:579o 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
28A disclosure date is negotiated by the security team working with the28A disclosure date is negotiated by the security team working with the
29bug submitter as well as vendors. However, the kernel security team29bug submitter as well as vendors. However, the kernel security team
30holds the final say when setting a disclosure date. The timeframe for30holds the final say when setting a disclosure date. The timeframe for
31disclosure is from immediate (esp. if it's already publically known)31disclosure is from immediate (esp. if it's already publicly known)
32to a few weeks. As a basic default policy, we expect report date to32to a few weeks. As a basic default policy, we expect report date to
33disclosure date to be on the order of 7 days.33disclosure date to be on the order of 7 days.
34 34
Documentation/SubmittingDrivers+1−1
@@ -101,7 +101,7 @@ PM support: Since Linux is used on many portable and desktop systems, your · 100 unmodified lines
101 complete overview of the power management issues related to101 complete overview of the power management issues related to
102 drivers see Documentation/power/devices.txt .102 drivers see Documentation/power/devices.txt .
103 103
104Control: In general if there is active maintainance of a driver by104Control: In general if there is active maintenance of a driver by
105 the author then patches will be redirected to them unless105 the author then patches will be redirected to them unless
106 they are totally obvious and without need of checking.106 they are totally obvious and without need of checking.
107 If you want to be the contact and update point for the107 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
714 <http://linux.yyz.us/patch-format.html>714 <http://linux.yyz.us/patch-format.html>
715 715
716Greg Kroah-Hartman, "How to piss off a kernel subsystem maintainer".716Greg Kroah-Hartman, "How to piss off a kernel subsystem maintainer".
717 <http://www.kroah.com/log/2005/03/31/>717 <http://www.kroah.com/log/linux/maintainer.html>
718 <http://www.kroah.com/log/2005/07/08/>718 <http://www.kroah.com/log/linux/maintainer-02.html>
719 <http://www.kroah.com/log/2005/10/19/>719 <http://www.kroah.com/log/linux/maintainer-03.html>
720 <http://www.kroah.com/log/2006/01/11/>720 <http://www.kroah.com/log/linux/maintainer-04.html>
721 <http://www.kroah.com/log/linux/maintainer-05.html>
721 722
722NO!!!! No more huge patch bombs to linux-kernel@vger.kernel.org people!723NO!!!! No more huge patch bombs to linux-kernel@vger.kernel.org people!
723 <http://marc.theaimsgroup.com/?l=linux-kernel&m=112112749912944&w=2>724 <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
729 <http://lkml.org/lkml/2005/4/7/183>730 <http://lkml.org/lkml/2005/4/7/183>
730 731
731Andi Kleen, "On submitting kernel patches"732Andi 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.
733 http://halobates.de/on-submitting-patches.pdf734 http://halobates.de/on-submitting-patches.pdf
734 735
735--736--
Documentation/accounting/getdelays.c+22−16
@@ -177,6 +177,8 @@ static int get_family_id(int sd) · 176 unmodified lines
177 rc = send_cmd(sd, GENL_ID_CTRL, getpid(), CTRL_CMD_GETFAMILY,177 rc = send_cmd(sd, GENL_ID_CTRL, getpid(), CTRL_CMD_GETFAMILY,
178 CTRL_ATTR_FAMILY_NAME, (void *)name,178 CTRL_ATTR_FAMILY_NAME, (void *)name,
179 strlen(TASKSTATS_GENL_NAME)+1);179 strlen(TASKSTATS_GENL_NAME)+1);
180 if (rc < 0)
181 return 0; /* sendto() failure? */
180 182
181 rep_len = recv(sd, &ans, sizeof(ans), 0);183 rep_len = recv(sd, &ans, sizeof(ans), 0);
182 if (ans.n.nlmsg_type == NLMSG_ERROR ||184 if (ans.n.nlmsg_type == NLMSG_ERROR ||
@@ -191,30 +193,37 @@ static int get_family_id(int sd) · 8 unmodified lines
191 return id;193 return id;
192}194}
193 195
196#define average_ms(t, c) (t / 1000000ULL / (c ? c : 1))
197
194static void print_delayacct(struct taskstats *t)198static void print_delayacct(struct taskstats *t)
195{199{
196 printf("\n\nCPU %15s%15s%15s%15s\n"200 printf("\n\nCPU %15s%15s%15s%15s%15s\n"
197 " %15llu%15llu%15llu%15llu\n"201 " %15llu%15llu%15llu%15llu%15.3fms\n"
198 "IO %15s%15s\n"202 "IO %15s%15s%15s\n"
199 " %15llu%15llu\n"203 " %15llu%15llu%15llums\n"
200 "SWAP %15s%15s\n"204 "SWAP %15s%15s%15s\n"
201 " %15llu%15llu\n"205 " %15llu%15llu%15llums\n"
202 "RECLAIM %12s%15s\n"206 "RECLAIM %12s%15s%15s\n"
203 " %15llu%15llu\n",207 " %15llu%15llu%15llums\n",
204 "count", "real total", "virtual total", "delay total",208 "count", "real total", "virtual total",
209 "delay total", "delay average",
205 (unsigned long long)t->cpu_count,210 (unsigned long long)t->cpu_count,
206 (unsigned long long)t->cpu_run_real_total,211 (unsigned long long)t->cpu_run_real_total,
207 (unsigned long long)t->cpu_run_virtual_total,212 (unsigned long long)t->cpu_run_virtual_total,
208 (unsigned long long)t->cpu_delay_total,213 (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",
210 (unsigned long long)t->blkio_count,216 (unsigned long long)t->blkio_count,
211 (unsigned long long)t->blkio_delay_total,217 (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",
213 (unsigned long long)t->swapin_count,220 (unsigned long long)t->swapin_count,
214 (unsigned long long)t->swapin_delay_total,221 (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",
216 (unsigned long long)t->freepages_count,224 (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));
218}227}
219 228
220static void task_context_switch_counts(struct taskstats *t)229static void task_context_switch_counts(struct taskstats *t)
@@ -433,8 +442,6 @@ int main(int argc, char *argv[]) · 212 unmodified lines
433 }442 }
434 443
435 do {444 do {
436 int i;
437
438 rep_len = recv(nl_sd, &msg, sizeof(msg), 0);445 rep_len = recv(nl_sd, &msg, sizeof(msg), 0);
439 PRINTF("received %d bytes\n", rep_len);446 PRINTF("received %d bytes\n", rep_len);
440 447
@@ -459,7 +466,6 @@ int main(int argc, char *argv[]) · 18 unmodified lines
459 466
460 na = (struct nlattr *) GENLMSG_DATA(&msg);467 na = (struct nlattr *) GENLMSG_DATA(&msg);
461 len = 0;468 len = 0;
462 i = 0;
463 while (len < rep_len) {469 while (len < rep_len) {
464 len += NLA_ALIGN(na->nla_len);470 len += NLA_ALIGN(na->nla_len);
465 switch (na->nla_type) {471 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
66 But each individual write to debugfs can implement a SINGLE66 But each individual write to debugfs can implement a SINGLE
67 method override. i.e. if we want to insert/override multiple67 method override. i.e. if we want to insert/override multiple
68 ACPI methods, we need to redo step c) ~ g) for multiple times.68 ACPI methods, we need to redo step c) ~ g) for multiple times.
69
70Note: 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
65The boot loader must ultimately be able to provide a MACH_TYPE_xxx65The boot loader must ultimately be able to provide a MACH_TYPE_xxx
66value to the kernel. (see linux/arch/arm/tools/mach-types).66value to the kernel. (see linux/arch/arm/tools/mach-types).
67 67
68 684. Setup boot data
694. Setup the kernel tagged list69------------------
70-------------------------------
71 70
72Existing boot loaders: OPTIONAL, HIGHLY RECOMMENDED71Existing boot loaders: OPTIONAL, HIGHLY RECOMMENDED
73New boot loaders: MANDATORY72New boot loaders: MANDATORY
74 73
74The boot loader must provide either a tagged list or a dtb image for
75passing configuration data to the kernel. The physical address of the
76boot data is passed to the kernel in register r2.
77
784a. Setup the kernel tagged list
79--------------------------------
80
75The boot loader must create and initialise the kernel tagged list.81The boot loader must create and initialise the kernel tagged list.
76A valid tagged list starts with ATAG_CORE and ends with ATAG_NONE.82A valid tagged list starts with ATAG_CORE and ends with ATAG_NONE.
77The ATAG_CORE tag may or may not be empty. An empty ATAG_CORE tag83The 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
101the kernel decompressor nor initrd 'bootp' program will overwrite107the kernel decompressor nor initrd 'bootp' program will overwrite
102it. The recommended placement is in the first 16KiB of RAM.108it. The recommended placement is in the first 16KiB of RAM.
103 109
1104b. Setup the device tree
111-------------------------
112
113The boot loader must load a device tree image (dtb) into system ram
114at a 64bit aligned address and initialize it with the boot data. The
115dtb format is documented in Documentation/devicetree/booting-without-of.txt.
116The kernel will look for the dtb magic value of 0xd00dfeed at the dtb
117physical address to determine if a dtb has been passed instead of a
118tagged list.
119
120The boot loader must pass at a minimum the size and location of the
121system memory, and the root filesystem location. The dtb must be
122placed in a region of memory where the kernel decompressor will not
123overwrite it. The recommended placement is in the first 16KiB of RAM
124with the caveat that it may not be located at physical address 0 since
125the kernel interprets a value of 0 in r2 to mean neither a tagged list
126nor a dtb were passed.
127
1045. Calling the kernel image1285. Calling the kernel image
105---------------------------129---------------------------
106 130
@@ -125,7 +149,8 @@ In either case, the following conditions must be met: · 18 unmodified lines
125- CPU register settings149- CPU register settings
126 r0 = 0,150 r0 = 0,
127 r1 = machine type number discovered in (3) above.151 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
129 154
130- CPU mode155- CPU mode
131 All forms of interrupts must be disabled (IRQs and FIQs)156 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
36- Timers (watchdog, OS)36- Timers (watchdog, OS)
37 37
38The following components of the chips are not supported by Linux and38The following components of the chips are not supported by Linux and
39require the use of Intel's propietary CSR softare:39require the use of Intel's proprietary CSR softare:
40 40
41- USB device interface41- USB device interface
42- Network interfaces (HSS, Utopia, NPEs, etc)42- Network interfaces (HSS, Utopia, NPEs, etc)
@@ -47,7 +47,7 @@ software from: · 4 unmodified lines
47 47
48 http://developer.intel.com/design/network/products/npfamily/ixp425.htm 48 http://developer.intel.com/design/network/products/npfamily/ixp425.htm
49 49
50DO NOT POST QUESTIONS TO THE LINUX MAILING LISTS REGARDING THE PROPIETARY50DO NOT POST QUESTIONS TO THE LINUX MAILING LISTS REGARDING THE PROPRIETARY
51SOFTWARE.51SOFTWARE.
52 52
53There are several websites that provide directions/pointers on using53There 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
116 Allows the entire memory to be checksummed before and after the116 Allows the entire memory to be checksummed before and after the
117 suspend to see if there has been any corruption of the contents.117 suspend to see if there has been any corruption of the contents.
118 118
119 Note, the time to calculate the CRC is dependant on the CPU speed119 Note, the time to calculate the CRC is dependent on the CPU speed
120 and the size of memory. For an 64Mbyte RAM area on an 200MHz120 and the size of memory. For an 64Mbyte RAM area on an 200MHz
121 S3C2410, this can take approximately 4 seconds to complete.121 S3C2410, this can take approximately 4 seconds to complete.
122 122
Documentation/arm/Samsung/GPIO.txt+1−1
@@ -5,7 +5,7 @@ Introduction · 4 unmodified lines
5------------5------------
6 6
7This outlines the Samsung GPIO implementation and the architecture7This outlines the Samsung GPIO implementation and the architecture
8specfic calls provided alongisde the drivers/gpio core.8specific calls provided alongisde the drivers/gpio core.
9 9
10 10
11S3C24XX (Legacy)11S3C24XX (Legacy)
Documentation/arm/Samsung/Overview.txt+0−2
@@ -14,7 +14,6 @@ Introduction · 13 unmodified lines
14 - S3C24XX: See Documentation/arm/Samsung-S3C24XX/Overview.txt for full list14 - S3C24XX: See Documentation/arm/Samsung-S3C24XX/Overview.txt for full list
15 - S3C64XX: S3C6400 and S3C641015 - S3C64XX: S3C6400 and S3C6410
16 - S5P644016 - S5P6440
17 - S5P6442
18 - S5PC10017 - S5PC100
19 - S5PC110 / S5PV21018 - S5PC110 / S5PV210
20 19
@@ -36,7 +35,6 @@ Configuration · 15 unmodified lines
36 unifying all the SoCs into one kernel.35 unifying all the SoCs into one kernel.
37 36
38 s5p6440_defconfig - S5P6440 specific default configuration37 s5p6440_defconfig - S5P6440 specific default configuration
39 s5p6442_defconfig - S5P6442 specific default configuration
40 s5pc100_defconfig - S5PC100 specific default configuration38 s5pc100_defconfig - S5PC100 specific default configuration
41 s5pc110_defconfig - S5PC110 specific default configuration39 s5pc110_defconfig - S5PC110 specific default configuration
42 s5pv210_defconfig - S5PV210 specific default configuration40 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
12C integer type will fail. Something like the following should12C integer type will fail. Something like the following should
13suffice:13suffice:
14 14
15 typedef struct { volatile int counter; } atomic_t;15 typedef struct { int counter; } atomic_t;
16 16
17Historically, counter has been declared volatile. This is now discouraged.17Historically, counter has been declared volatile. This is now discouraged.
18See Documentation/volatile-considered-harmful.txt for the complete rationale.18See 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
497entries with their corresponding dma address mappings filled in at the497entries with their corresponding dma address mappings filled in at the
498appropriate time. As an optimization, contiguous physical pages can be498appropriate time. As an optimization, contiguous physical pages can be
499covered by a single entry where <page> refers to the first page and <len>499covered by a single entry where <page> refers to the first page and <len>
500covers the range of pages (upto 16 contiguous pages could be covered this500covers the range of pages (up to 16 contiguous pages could be covered this
501way). There is a helper routine (blk_rq_map_sg) which drivers can use to build501way). There is a helper routine (blk_rq_map_sg) which drivers can use to build
502the sg list.502the sg list.
503 503
@@ -565,7 +565,7 @@ struct request { · 61 unmodified lines
565 .565 .
566 int tag; /* command tag associated with request */566 int tag; /* command tag associated with request */
567 void *special; /* same as before */567 void *special; /* same as before */
568 char *buffer; /* valid only for low memory buffers upto568 char *buffer; /* valid only for low memory buffers up to
569 current_nr_sectors */569 current_nr_sectors */
570 .570 .
571 .571 .
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
169must rewind the tape (by issuing "mt -f /dev/st0 rewind" for example)169must rewind the tape (by issuing "mt -f /dev/st0 rewind" for example)
170before i/o can proceed again to a tape drive which was reset.170before i/o can proceed again to a tape drive which was reset.
171 171
172There is a cciss_tape_cmds module parameter which can be used to make cciss
173allocate 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
175infrequently used and the primary purpose of Smart Array controllers is to
176act as a RAID controller for disk drives, so the vast majority of commands
177are allocated for disk devices. However, if you have more than a few tape
178drives attached to a smart array, the default number of commands may not be
179enought (for example, if you have 8 tape drives, you could only rewind 6
180at one time with the default number of commands.) The cciss_tape_cmds module
181parameter allows more commands (up to 16 more) to be allocated for use by
182tape drives. For example:
183
184 insmod cciss.ko cciss_tape_cmds=16
185
186Or, 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
16thinking SMP cache/tlb flushing must be so inefficient, this is in16thinking SMP cache/tlb flushing must be so inefficient, this is in
17fact an area where many optimizations are possible. For example,17fact an area where many optimizations are possible. For example,
18if it can be proven that a user address space has never executed18if it can be proven that a user address space has never executed
19on a cpu (see vma->cpu_vm_mask), one need not perform a flush19on a cpu (see mm_cpumask()), one need not perform a flush
20for this address space on that cpu.20for this address space on that cpu.
21 21
22First, the TLB flushing interfaces, since they are the simplest. The22First, 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
110tasks etc. The resource planning for this server could be along the110tasks etc. The resource planning for this server could be along the
111following lines:111following lines:
112 112
113 CPU : Top cpuset113 CPU : "Top cpuset"
114 / \114 / \
115 CPUSet1 CPUSet2115 CPUSet1 CPUSet2
116 | |116 | |
117 (Profs) (Students)117 (Professors) (Students)
118 118
119 In addition (system tasks) are attached to topcpuset (so119 In addition (system tasks) are attached to topcpuset (so
120 that they can run anywhere) with a limit of 20%120 that they can run anywhere) with a limit of 20%
121 121
122 Memory : Professors (50%), students (30%), system (20%)122 Memory : Professors (50%), Students (30%), system (20%)
123 123
124 Disk : Prof (50%), students (30%), system (20%)124 Disk : Professors (50%), Students (30%), system (20%)
125 125
126 Network : WWW browsing (20%), Network File System (60%), others (20%)126 Network : WWW browsing (20%), Network File System (60%), others (20%)
127 / \127 / \
128 Prof (15%) students (5%)128 Professors (15%) students (5%)
129 129
130Browsers like Firefox/Lynx go into the WWW network class, while (k)nfsd go130Browsers like Firefox/Lynx go into the WWW network class, while (k)nfsd go
131into NFS network class.131into NFS network class.
@@ -236,7 +236,8 @@ containing the following files describing that cgroup: · 104 unmodified lines
236 - cgroup.procs: list of tgids in the cgroup. This list is not236 - cgroup.procs: list of tgids in the cgroup. This list is not
237 guaranteed to be sorted or free of duplicate tgids, and userspace237 guaranteed to be sorted or free of duplicate tgids, and userspace
238 should sort/uniquify the list if this property is required.238 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.
240 - notify_on_release flag: run the release agent on exit?241 - notify_on_release flag: run the release agent on exit?
241 - release_agent: the path to use for release notifications (this file242 - release_agent: the path to use for release notifications (this file
242 exists in the top cgroup only)243 exists in the top cgroup only)
@@ -430,6 +431,12 @@ You can attach the current shell task by echoing 0: · 187 unmodified lines
430 431
431# echo 0 > tasks432# echo 0 > tasks
432 433
434You can use the cgroup.procs file instead of the tasks file to move all
435threads in a threadgroup at once. Echoing the pid of any task in a
436threadgroup to cgroup.procs causes all tasks in that threadgroup to be
437be attached to the cgroup. Writing 0 to cgroup.procs moves all tasks
438in the writing task's threadgroup.
439
433Note: Since every task is always a member of exactly one cgroup in each440Note: Since every task is always a member of exactly one cgroup in each
434mounted hierarchy, to remove a task from its current cgroup you must441mounted hierarchy, to remove a task from its current cgroup you must
435move it into a new cgroup (possibly the root cgroup) by writing to the442move 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
575called multiple times against a cgroup.582called multiple times against a cgroup.
576 583
577int can_attach(struct cgroup_subsys *ss, struct cgroup *cgrp,584int can_attach(struct cgroup_subsys *ss, struct cgroup *cgrp,
578 struct task_struct *task, bool threadgroup)585 struct task_struct *task)
579(cgroup_mutex held by caller)586(cgroup_mutex held by caller)
580 587
581Called prior to moving a task into a cgroup; if the subsystem588Called 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
584unspecified task can be moved into the cgroup. Note that this isn't591unspecified task can be moved into the cgroup. Note that this isn't
585called on a fork. If this method returns 0 (success) then this should592called on a fork. If this method returns 0 (success) then this should
586remain valid while the caller holds cgroup_mutex and it is ensured that either593remain valid while the caller holds cgroup_mutex and it is ensured that either
587attach() or cancel_attach() will be called in future. If threadgroup is594attach() or cancel_attach() will be called in future.
588true, then a successful result indicates that all threads in the given595
589thread's threadgroup can be moved together.596int can_attach_task(struct cgroup *cgrp, struct task_struct *tsk);
597(cgroup_mutex held by caller)
598
599As can_attach, but for operations that must be run once per task to be
600attached (possibly many when using cgroup_attach_proc). Called after
601can_attach.
590 602
591void cancel_attach(struct cgroup_subsys *ss, struct cgroup *cgrp,603void cancel_attach(struct cgroup_subsys *ss, struct cgroup *cgrp,
592 struct task_struct *task, bool threadgroup)604 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
598This will be called only about subsystems whose can_attach() operation have610This will be called only about subsystems whose can_attach() operation have
599succeeded.611succeeded.
600 612
613void pre_attach(struct cgroup *cgrp);
614(cgroup_mutex held by caller)
615
616For any non-per-thread attachment work that needs to happen before
617attach_task. Needed by cpuset.
618
601void attach(struct cgroup_subsys *ss, struct cgroup *cgrp,619void attach(struct cgroup_subsys *ss, struct cgroup *cgrp,
602 struct cgroup *old_cgrp, struct task_struct *task,620 struct cgroup *old_cgrp, struct task_struct *task)
603 bool threadgroup)
604(cgroup_mutex held by caller)621(cgroup_mutex held by caller)
605 622
606Called after the task has been attached to the cgroup, to allow any623Called after the task has been attached to the cgroup, to allow any
607post-attachment activity that requires memory allocations or blocking.624post-attachment activity that requires memory allocations or blocking.
608If threadgroup is true, the subsystem should take care of all threads625
609in the specified thread's threadgroup. Currently does not support any626void attach_task(struct cgroup *cgrp, struct task_struct *tsk);
627(cgroup_mutex held by caller)
628
629As attach, but for operations that must be run once per task to be attached,
630like can_attach_task. Called before attach. Currently does not support any
610subsystem that might need the old_cgrp for every thread in the group.631subsystem that might need the old_cgrp for every thread in the group.
611 632
612void fork(struct cgroup_subsy *ss, struct task_struct *task)633void fork(struct cgroup_subsy *ss, struct task_struct *task)
@@ -630,7 +651,7 @@ always handled well. · 17 unmodified lines
630void post_clone(struct cgroup_subsys *ss, struct cgroup *cgrp)651void post_clone(struct cgroup_subsys *ss, struct cgroup *cgrp)
631(cgroup_mutex held by caller)652(cgroup_mutex held by caller)
632 653
633Called at the end of cgroup_clone() to do any parameter654Called during cgroup_create() to do any parameter
634initialization which might be required before a task could attach. For655initialization which might be required before a task could attach. For
635example in cpusets, no task may attach before 'cpus' and 'mems' are set656example in cpusets, no task may attach before 'cpus' and 'mems' are set
636up.657up.
Documentation/cgroups/memory.txt+13−2
@@ -52,8 +52,10 @@ Brief summary of control files. · 51 unmodified lines
52 tasks # attach a task(thread) and show list of threads52 tasks # attach a task(thread) and show list of threads
53 cgroup.procs # show list of processes53 cgroup.procs # show list of processes
54 cgroup.event_control # an interface for event_fd()54 cgroup.event_control # an interface for event_fd()
55 memory.usage_in_bytes # show current memory(RSS+Cache) usage.55 memory.usage_in_bytes # show current res_counter usage for memory
56 memory.memsw.usage_in_bytes # show current memory+Swap usage56 (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)
57 memory.limit_in_bytes # set/show limit of memory usage59 memory.limit_in_bytes # set/show limit of memory usage
58 memory.memsw.limit_in_bytes # set/show limit of memory+Swap usage60 memory.memsw.limit_in_bytes # set/show limit of memory+Swap usage
59 memory.failcnt # show the number of memory usage hits limits61 memory.failcnt # show the number of memory usage hits limits
@@ -453,6 +455,15 @@ memory under it will be reclaimed. · 393 unmodified lines
453You can reset failcnt by writing 0 to failcnt file.455You can reset failcnt by writing 0 to failcnt file.
454# echo 0 > .../memory.failcnt456# echo 0 > .../memory.failcnt
455 457
4585.5 usage_in_bytes
459
460For efficiency, as other kernel components, memory cgroup uses some optimization
461to avoid unnecessary cacheline false sharing. usage_in_bytes is affected by the
462method and doesn't show 'exact' value of memory(and swap) usage, it's an fuzz
463value for efficient access. (Of course, when necessary, it's synchronized.)
464If you want to know more exact memory usage, you should use RSS+CACHE(+SWAP)
465value in memory.stat(see 5.2).
466
4566. Hierarchy support4676. Hierarchy support
457 468
458The memory controller supports a deep hierarchy and hierarchical accounting.469The 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
196 #To display the current cpu state.196 #To display the current cpu state.
197 #cat /sys/devices/system/cpu/cpuX/online197 #cat /sys/devices/system/cpu/cpuX/online
198 198
199Q: Why cant i remove CPU0 on some systems?199Q: Why can't i remove CPU0 on some systems?
200A: Some architectures may have some special dependency on a certain CPU.200A: Some architectures may have some special dependency on a certain CPU.
201 201
202For e.g in IA64 platforms we have ability to sent platform interrupts to the202For 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
62file.62file.
63This file is then copied to /sys/class/firmware/dell_rbu/data.63This file is then copied to /sys/class/firmware/dell_rbu/data.
64Once this file gets to the driver, the driver extracts packet_size data from64Once this file gets to the driver, the driver extracts packet_size data from
65the file and spreads it accross the physical memory in contiguous packet_sized65the file and spreads it across the physical memory in contiguous packet_sized
66space.66space.
67This method makes sure that all the packets get to the driver in a single operation.67This method makes sure that all the packets get to the driver in a single operation.
68 68
Documentation/device-mapper/dm-service-time.txt+1−1
@@ -37,7 +37,7 @@ Algorithm · 36 unmodified lines
37=========37=========
38 38
39dm-service-time adds the I/O size to 'in-flight-size' when the I/O is39dm-service-time adds the I/O size to 'in-flight-size' when the I/O is
40dispatched and substracts when completed.40dispatched and subtracts when completed.
41Basically, dm-service-time selects a path having minimum service time41Basically, dm-service-time selects a path having minimum service time
42which is calculated by:42which is calculated by:
43 43
Documentation/devicetree/bindings/crypto/fsl-sec4.txt+397−0
@@ -0,0 +1,397 @@
1=====================================================================
2SEC 4 Device Tree Binding
3Copyright (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
14NOTE: the SEC 4 is also known as Freescale's Cryptographic Accelerator
15Accelerator and Assurance Module (CAAM).
16
17=====================================================================
18Overview
19
20DESCRIPTION
21
22SEC 4 h/w can process requests from 2 types of sources.
231. DPAA Queue Interface (HW interface between Queue Manager & SEC 4).
242. Job Rings (HW interface between cores & SEC 4 registers).
25
26High Speed Data Path Configuration:
27
28HW interface between QM & SEC 4 and also BM & SEC 4, on DPAA-enabled parts
29such as the P4080. The number of simultaneous dequeues the QI can make is
30equal to the number of Descriptor Controller (DECO) engines in a particular
31SEC version. E.g., the SEC 4.0 in the P4080 has 5 DECOs and can thus
32dequeue from 5 subportals simultaneously.
33
34Job Ring Data Path Configuration:
35
36Each JR is located on a separate 4k page, they may (or may not) be made visible
37in the memory partition devoted to a particular core. The P4080 has 4 JRs, so
38up to 4 JRs can be configured; and all 4 JRs process requests in parallel.
39
40=====================================================================
41SEC 4 Node
42
43Description
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
51PROPERTIES
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
106EXAMPLE
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=====================================================================
118Job 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
164EXAMPLE
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=====================================================================
175Run 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
219EXAMPLE
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=====================================================================
229Run 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
269EXAMPLE
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=====================================================================
278Secure 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
313EXAMPLE
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=====================================================================
322FULL 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
18- edid : verbatim EDID data block describing attached display.18- edid : verbatim EDID data block describing attached display.
19 Data from the detailed timing descriptor will be used to19 Data from the detailed timing descriptor will be used to
20 program the display controller.20 program the display controller.
21- little-endian: availiable on big endian systems, to21- little-endian: available on big endian systems, to
22 set different foreign endian.22 set different foreign endian.
23- big-endian: availiable on little endian systems, to23- big-endian: available on little endian systems, to
24 set different foreign endian.24 set different foreign endian.
25 25
26Example for MPC5200:26Example for MPC5200:
Documentation/devicetree/bindings/mtd/fsl-upm-nand.txt+1−1
@@ -15,7 +15,7 @@ Optional properties: · 14 unmodified lines
15- gpios : may specify optional GPIOs connected to the Ready-Not-Busy pins15- gpios : may specify optional GPIOs connected to the Ready-Not-Busy pins
16 (R/B#). For multi-chip devices, "n" GPIO definitions are required16 (R/B#). For multi-chip devices, "n" GPIO definitions are required
17 according to the number of chips.17 according to the number of chips.
18- chip-delay : chip dependent delay for transfering data from array to18- chip-delay : chip dependent delay for transferring data from array to
19 read registers (tR). Required if property "gpios" is not used19 read registers (tR). Required if property "gpios" is not used
20 (R/B# pins not connected).20 (R/B# pins not connected).
21 21
Documentation/devicetree/bindings/net/can/fsl-flexcan.txt+61−0
@@ -0,0 +1,61 @@
1CAN Device Tree Bindings
2------------------------
32011 Freescale Semiconductor, Inc.
4
5fsl,flexcan-v1.0 nodes
6-----------------------
7In addition to the required compatible-, reg- and interrupt-properties, you can
8also specify which clock source shall be used for the controller.
9
10CPI 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
19Can 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
47Note:
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.
51Examples:
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
39 39
40- nxp,no-comparator-bypass : Allows to disable the CAN input comperator.40- nxp,no-comparator-bypass : Allows to disable the CAN input comperator.
41 41
42For futher information, please have a look to the SJA1000 data sheet.42For further information, please have a look to the SJA1000 data sheet.
43 43
44Examples:44Examples:
45 45
Documentation/devicetree/bindings/net/fsl-tsec-phy.txt+54−0
@@ -74,3 +74,57 @@ Example: · 73 unmodified lines
74 interrupt-parent = <&mpic>;74 interrupt-parent = <&mpic>;
75 phy-handle = <&phy0>75 phy-handle = <&phy0>
76 };76 };
77
78* Gianfar PTP clock nodes
79
80General 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
87Clock 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
117Example:
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 @@
1Integrated Flash Controller
2
3Properties:
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
22Child device nodes describe the devices connected to IFC such as NOR (e.g.
23cfi-flash) and NAND (fsl,ifc-nand). There might be board specific devices
24like FPGAs, CPLDs, etc.
25
26Example:
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
3Required 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
18Example:
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
190 */190 */
191 timer0: timer@41100 {191 timer0: timer@41100 {
192 compatible = "fsl,mpic-global-timer";192 compatible = "fsl,mpic-global-timer";
193 reg = <0x41100 0x100>;193 reg = <0x41100 0x100 0x41300 4>;
194 interrupts = <0 0 3 0194 interrupts = <0 0 3 0
195 1 0 3 0195 1 0 3 0
196 2 0 3 0196 2 0 3 0
@@ -199,7 +199,7 @@ EXAMPLE 4 · 2 unmodified lines
199 199
200EXAMPLE 5200EXAMPLE 5
201 /*201 /*
202 * Definition of an error interrupt (interupt type 1).202 * Definition of an error interrupt (interrupt type 1).
203 * SoC interrupt number is 16 and the specific error203 * SoC interrupt number is 16 and the specific error
204 * interrupt bit in the error interrupt summary register204 * interrupt bit in the error interrupt summary register
205 * is 23.205 * is 23.
Documentation/devicetree/bindings/powerpc/nintendo/wii.txt+1−1
@@ -127,7 +127,7 @@ Nintendo Wii device tree · 126 unmodified lines
127 - reg : should contain the SDHCI registers location and length127 - reg : should contain the SDHCI registers location and length
128 - interrupts : should contain the SDHCI interrupt128 - interrupts : should contain the SDHCI interrupt
129 129
1301.j) The Inter-Processsor Communication (IPC) node1301.j) The Inter-Processor Communication (IPC) node
131 131
132 Represent the Inter-Processor Communication interface. This interface132 Represent the Inter-Processor Communication interface. This interface
133 enables communications between the Broadway and the Starlet processors.133 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
12=================12=================
13 13
14 I - Introduction14 I - Introduction
15 1) Entry point for arch/powerpc15 1) Entry point for arch/arm
16 2) Entry point for arch/x8616 2) Entry point for arch/powerpc
17 3) Entry point for arch/x86
17 18
18 II - The DT block format19 II - The DT block format
19 1) Header20 1) Header
@@ -138,7 +139,7 @@ and properties to be present. This will be described in detail in · 118 unmodified lines
138section III, but, for example, the kernel does not require you to139section III, but, for example, the kernel does not require you to
139create a node for every PCI device in the system. It is a requirement140create a node for every PCI device in the system. It is a requirement
140to have a node for PCI host bridges in order to provide interrupt141to have a node for PCI host bridges in order to provide interrupt
141routing informations and memory/IO ranges, among others. It is also142routing information and memory/IO ranges, among others. It is also
142recommended to define nodes for on chip devices and other buses that143recommended to define nodes for on chip devices and other buses that
143don't specifically fit in an existing OF specification. This creates a144don't specifically fit in an existing OF specification. This creates a
144great flexibility in the way the kernel can then probe those and match145great 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
148it with special cases.149it with special cases.
149 150
150 151
1511) Entry point for arch/powerpc1521) 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
1912) Entry point for arch/powerpc
152-------------------------------192-------------------------------
153 193
154 There is one single entry point to the kernel, at the start194 There is one single entry point to the kernel, at the start
@@ -226,7 +266,7 @@ it with special cases. · 71 unmodified lines
226 cannot support both configurations with Book E and configurations266 cannot support both configurations with Book E and configurations
227 with classic Powerpc architectures.267 with classic Powerpc architectures.
228 268
2292) Entry point for arch/x862693) Entry point for arch/x86
230-------------------------------270-------------------------------
231 271
232 There is one single 32bit entry point to the kernel at code32_start,272 There is one single 32bit entry point to the kernel at code32_start,
@@ -385,7 +425,7 @@ struct boot_param_header { · 152 unmodified lines
385 among others, by kexec. If you are on an SMP system, this value425 among others, by kexec. If you are on an SMP system, this value
386 should match the content of the "reg" property of the CPU node in426 should match the content of the "reg" property of the CPU node in
387 the device-tree corresponding to the CPU calling the kernel entry427 the device-tree corresponding to the CPU calling the kernel entry
388 point (see further chapters for more informations on the required428 point (see further chapters for more information on the required
389 device-tree contents)429 device-tree contents)
390 430
391 - size_dt_strings431 - size_dt_strings
@@ -553,7 +593,7 @@ looks like in practice. · 161 unmodified lines
553 593
554This tree is almost a minimal tree. It pretty much contains the594This tree is almost a minimal tree. It pretty much contains the
555minimal set of required nodes and properties to boot a linux kernel;595minimal set of required nodes and properties to boot a linux kernel;
556that is, some basic model informations at the root, the CPUs, and the596that is, some basic model information at the root, the CPUs, and the
557physical memory layout. It also includes misc information passed597physical memory layout. It also includes misc information passed
558through /chosen, like in this example, the platform type (mandatory)598through /chosen, like in this example, the platform type (mandatory)
559and the kernel command line arguments (optional).599and the kernel command line arguments (optional).
Documentation/dmaengine.txt+96−1
@@ -1 +1,96 @@
1See Documentation/crypto/async-tx-api.txt1 DMA Engine API Guide
2 ====================
3
4 Vinod Koul <vinod dot koul at intel.com>
5
6NOTE: For DMA Engine usage in async_tx please see:
7 Documentation/crypto/async-tx-api.txt
8
9
10Below is a guide to device driver writers on how to use the Slave-DMA API of the
11DMA Engine. This is applicable only for slave DMA usage only.
12
13The slave DMA usage consists of following steps
141. Allocate a DMA slave channel
152. Set slave and controller specific parameters
163. Get a descriptor for transaction
174. Submit the transaction and wait for callback notification
18
191. Allocate a DMA slave channel
20Channel allocation is slightly different in the slave DMA context, client
21drivers typically need a channel from a particular DMA controller only and even
22in some cases a specific channel is desired. To request a channel
23dma_request_channel() API is used.
24
25Interface:
26struct dma_chan *dma_request_channel(dma_cap_mask_t mask,
27 dma_filter_fn filter_fn,
28 void *filter_param);
29where dma_filter_fn is defined as:
30typedef bool (*dma_filter_fn)(struct dma_chan *chan, void *filter_param);
31
32When the optional 'filter_fn' parameter is set to NULL dma_request_channel
33simply returns the first channel that satisfies the capability mask. Otherwise,
34when the mask parameter is insufficient for specifying the necessary channel,
35the filter_fn routine can be used to disposition the available channels in the
36system. The filter_fn routine is called once for each free channel in the
37system. Upon seeing a suitable channel filter_fn returns DMA_ACK which flags
38that channel to be the return value from dma_request_channel. A channel
39allocated via this interface is exclusive to the caller, until
40dma_release_channel() is called.
41
422. Set slave and controller specific parameters
43Next step is always to pass some specific information to the DMA driver. Most of
44the generic information which a slave DMA can use is in struct dma_slave_config.
45It allows the clients to specify DMA direction, DMA addresses, bus widths, DMA
46burst lengths etc. If some DMA controllers have more parameters to be sent then
47they should try to embed struct dma_slave_config in their controller specific
48structure. That gives flexibility to client to pass more parameters, if
49required.
50
51Interface:
52int dmaengine_slave_config(struct dma_chan *chan,
53 struct dma_slave_config *config)
54
553. Get a descriptor for transaction
56For slave usage the various modes of slave transfers supported by the
57DMA-engine are:
58slave_sg - DMA a list of scatter gather buffers from/to a peripheral
59dma_cyclic - Perform a cyclic DMA operation from/to a peripheral till the
60 operation is explicitly stopped.
61The non NULL return of this transfer API represents a "descriptor" for the given
62transaction.
63
64Interface:
65struct 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);
70struct 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
744. Submit the transaction and wait for callback notification
75To schedule the transaction to be scheduled by dma device, the "descriptor"
76returned in above (3) needs to be submitted.
77To tell the dma driver that a transaction is ready to be serviced, the
78descriptor->submit() callback needs to be invoked. This chains the descriptor to
79the pending queue.
80The transactions in the pending queue can be activated by calling the
81issue_pending API. If channel is idle then the first transaction in queue is
82started and subsequent ones queued up.
83On completion of the DMA operation the next in queue is submitted and a tasklet
84triggered. The tasklet would then call the client driver completion callback
85routine for notification, if set.
86Interface:
87void dma_async_issue_pending(struct dma_chan *chan);
88
89==============================================================================
90
91Additional usage notes for dma driver writers
921/ Although DMA engine specifies that completion callback routines cannot submit
93any new operations, but typically for slave DMA subsequent transaction may not
94be available for submit prior to callback routine being called. This requirement
95is not a requirement for DMA-slave devices. But they should take care to drop
96the spin-lock they might be holding before calling the callback routine
Documentation/dontdiff+46−12
@@ -1,6 +1,8 @@
1*.a1*.a
2*.aux2*.aux
3*.bin3*.bin
4*.bz2
5*.cis
4*.cpio6*.cpio
5*.csp7*.csp
6*.dsp8*.dsp
@@ -8,6 +10,8 @@ · 1 unmodified line
8*.elf10*.elf
9*.eps11*.eps
10*.fw12*.fw
13*.gcno
14*.gcov
11*.gen.S15*.gen.S
12*.gif16*.gif
13*.grep17*.grep
@@ -19,14 +23,20 @@ · 5 unmodified lines
19*.ko23*.ko
20*.log24*.log
21*.lst25*.lst
26*.lzma
27*.lzo
28*.mo
22*.moc29*.moc
23*.mod.c30*.mod.c
24*.o31*.o
25*.o.*32*.o.*
33*.order
26*.orig34*.orig
27*.out35*.out
36*.patch
28*.pdf37*.pdf
29*.png38*.png
39*.pot
30*.ps40*.ps
31*.rej41*.rej
32*.s42*.s
@@ -39,16 +49,22 @@ · 6 unmodified lines
39*.tex49*.tex
40*.ver50*.ver
41*.xml51*.xml
52*.xz
42*_MODULES53*_MODULES
43*_vga16.c54*_vga16.c
44*~55*~
56\#*#
45*.957*.9
46*.9.gz
47.*58.*
59.*.d
48.mm60.mm
4953c700_d.h6153c700_d.h
50CVS62CVS
51ChangeSet63ChangeSet
64GPATH
65GRTAGS
66GSYMS
67GTAGS
52Image68Image
53Kerntypes69Kerntypes
54Module.markers70Module.markers
@@ -57,15 +73,14 @@ PENDING · 2 unmodified lines
57SCCS73SCCS
58System.map*74System.map*
59TAGS75TAGS
76aconf
77af_names.h
60aic7*reg.h*78aic7*reg.h*
61aic7*reg_print.c*79aic7*reg_print.c*
62aic7*seq.h*80aic7*seq.h*
63aicasm81aicasm
64aicdb.h*82aicdb.h*
65altivec1.c83altivec*.c
66altivec2.c
67altivec4.c
68altivec8.c
69asm-offsets.h84asm-offsets.h
70asm_offsets.h85asm_offsets.h
71autoconf.h*86autoconf.h*
@@ -80,6 +95,7 @@ btfixupprep · 8 unmodified lines
80build95build
81bvmlinux96bvmlinux
82bzImage*97bzImage*
98capability_names.h
83capflags.c99capflags.c
84classlist.h*100classlist.h*
85comp*.log101comp*.log
@@ -88,7 +104,8 @@ conf · 2 unmodified lines
88config104config
89config-*105config-*
90config_data.h*106config_data.h*
91config_data.gz*107config.mak
108config.mak.autogen
92conmakehash109conmakehash
93consolemap_deftbl.c*110consolemap_deftbl.c*
94cpustr.h111cpustr.h
@@ -96,7 +113,9 @@ crc32table.h* · 1 unmodified line
96cscope.*113cscope.*
97defkeymap.c114defkeymap.c
98devlist.h*115devlist.h*
116dnotify_test
99docproc117docproc
118dslm
100elf2ecoff119elf2ecoff
101elfconfig.h*120elfconfig.h*
102evergreen_reg_safe.h121evergreen_reg_safe.h
@@ -105,6 +124,7 @@ flask.h · 2 unmodified lines
105fore200e_mkfirm124fore200e_mkfirm
106fore200e_pca_fw.c*125fore200e_pca_fw.c*
107gconf126gconf
127gconf.glade.h
108gen-devlist128gen-devlist
109gen_crc32table129gen_crc32table
110gen_init_cpio130gen_init_cpio
@@ -112,11 +132,12 @@ generated · 1 unmodified line
112genheaders132genheaders
113genksyms133genksyms
114*_gray256.c134*_gray256.c
135hpet_example
136hugepage-mmap
137hugepage-shm
115ihex2fw138ihex2fw
116ikconfig.h*139ikconfig.h*
117inat-tables.c140inat-tables.c
118initramfs_data.cpio
119initramfs_data.cpio.gz
120initramfs_list141initramfs_list
121int16.c142int16.c
122int1.c143int1.c
@@ -133,15 +154,19 @@ kxgettext · 10 unmodified lines
133lkc_defs.h154lkc_defs.h
134lex.c155lex.c
135lex.*.c156lex.*.c
157linux
136logo_*.c158logo_*.c
137logo_*_clut224.c159logo_*_clut224.c
138logo_*_mono.c160logo_*_mono.c
139lxdialog161lxdialog
162mach
140mach-types163mach-types
141mach-types.h164mach-types.h
142machtypes.h165machtypes.h
143map166map
167map_hugetlb
144maui_boot.h168maui_boot.h
169media
145mconf170mconf
146miboot*171miboot*
147mk_elfconfig172mk_elfconfig
@@ -150,23 +175,29 @@ mkbugboot · 2 unmodified lines
150mkcpustr175mkcpustr
151mkdep176mkdep
152mkprep177mkprep
178mkregtable
153mktables179mktables
154mktree180mktree
155modpost181modpost
156modules.builtin182modules.builtin
157modules.order183modules.order
158modversions.h*184modversions.h*
185nconf
159ncscope.*186ncscope.*
160offset.h187offset.h
161offsets.h188offsets.h
162oui.c*189oui.c*
190page-types
163parse.c191parse.c
164parse.h192parse.h
165patches*193patches*
166pca200e.bin194pca200e.bin
167pca200e_ecd.bin2195pca200e_ecd.bin2
168piggy.gz196perf.data
197perf.data.old
198perf-archive
169piggyback199piggyback
200piggy.gzip
170piggy.S201piggy.S
171pnmtologo202pnmtologo
172ppc_defs.h*203ppc_defs.h*
@@ -177,10 +208,9 @@ r200_reg_safe.h · 4 unmodified lines
177r300_reg_safe.h208r300_reg_safe.h
178r420_reg_safe.h209r420_reg_safe.h
179r600_reg_safe.h210r600_reg_safe.h
180raid6altivec*.c211recordmcount
181raid6int*.c
182raid6tables.c
183relocs212relocs
213rlim_names.h
184rn50_reg_safe.h214rn50_reg_safe.h
185rs600_reg_safe.h215rs600_reg_safe.h
186rv515_reg_safe.h216rv515_reg_safe.h
@@ -194,6 +224,7 @@ split-include · 7 unmodified lines
194syscalltab.h224syscalltab.h
195tables.c225tables.c
196tags226tags
227test_get_len
197tftpboot.img228tftpboot.img
198timeconst.h229timeconst.h
199times.h*230times.h*
@@ -210,10 +241,13 @@ vdso32.so.dbg · 10 unmodified lines
210vdso64.lds241vdso64.lds
211vdso64.so.dbg242vdso64.so.dbg
212version.h*243version.h*
244vmImage
213vmlinux245vmlinux
214vmlinux-*246vmlinux-*
215vmlinux.aout247vmlinux.aout
248vmlinux.bin.all
216vmlinux.lds249vmlinux.lds
250vmlinuz
217voffset.h251voffset.h
218vsyscall.lds252vsyscall.lds
219vsyscall_32.lds253vsyscall_32.lds
Documentation/driver-model/bus.txt+1−18
@@ -3,24 +3,7 @@ Bus Types · 2 unmodified lines
3 3
4Definition4Definition
5~~~~~~~~~~5~~~~~~~~~~
6 6See the kerneldoc for the struct bus_type.
7struct 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};
24 7
25int bus_register(struct bus_type * bus);8int bus_register(struct bus_type * bus);
26 9
Documentation/driver-model/class.txt+1−16
@@ -27,22 +27,7 @@ The device class structure looks like: · 26 unmodified lines
27typedef int (*devclass_add)(struct device *);27typedef int (*devclass_add)(struct device *);
28typedef void (*devclass_remove)(struct device *);28typedef void (*devclass_remove)(struct device *);
29 29
30struct device_class {30See the kerneldoc for the struct 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};
46 31
47A typical device class definition would look like: 32A typical device class definition would look like:
48 33
Documentation/driver-model/device.txt+1−90
@@ -2,96 +2,7 @@ · 1 unmodified line
2The Basic Device Structure2The Basic Device Structure
3~~~~~~~~~~~~~~~~~~~~~~~~~~3~~~~~~~~~~~~~~~~~~~~~~~~~~
4 4
5struct device {5See the kerneldoc for the 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
35Fields
36~~~~~~
37g_list: Node in the global device list.
38
39node: Node in device's parent's children list.
40
41bus_list: Node in device's bus's devices list.
42
43driver_list: Node in device's driver's devices list.
44
45intf_list: List of intf_data. There is one structure allocated for
46 each interface that the device supports.
47
48children: List of child devices.
49
50parent: *** FIXME ***
51
52name: ASCII description of device.
53 Example: " 3Com Corporation 3c905 100BaseTX [Boomerang]"
54
55bus_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
63lock: Spinlock for the device.
64
65refcount: Reference count on the device.
66
67bus: Pointer to struct bus_type that device belongs to.
68
69dir: Device's sysfs directory.
70
71class_num: Class-enumerated value of the device.
72
73driver: Pointer to struct device_driver that controls the device.
74
75driver_data: Driver-specific data.
76
77platform_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
87current_state: Current power state of the device.
88
89saved_state: Pointer to saved state of the device. This is usable by
90 the device driver controlling the device.
91
92release: 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).
95 6
96 7
97Programming Interface8Programming Interface
Documentation/driver-model/driver.txt+1−17
@@ -1,23 +1,7 @@
1 1
2Device Drivers2Device Drivers
3 3
4struct device_driver {4See the kerneldoc for the 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
21 5
22 6
23Allocation7Allocation
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
138in the device).138in the device).
139 139
140If you want to enable debug output, you have to load the driver manually and140If you want to enable debug output, you have to load the driver manually and
141from withing the dvb-kernel cvs repository.141from within the dvb-kernel cvs repository.
142 142
143first have a look, which debug level are available:143first have a look, which debug level are available:
144 144
Documentation/dvb/ci.txt+1−1
@@ -47,7 +47,7 @@ so on. · 46 unmodified lines
47 47
48* CI modules that are supported48* CI modules that are supported
49~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~49~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50The CI module support is largely dependant upon the firmware on the cards50The CI module support is largely dependent upon the firmware on the cards
51Some cards do support almost all of the available CI modules. There is51Some cards do support almost all of the available CI modules. There is
52nothing much that can be done in order to make additional CI modules52nothing much that can be done in order to make additional CI modules
53working with these cards.53working with these cards.
Documentation/dvb/faq.txt+1−1
@@ -106,7 +106,7 @@ Some very frequently asked questions about linuxtv-dvb · 105 unmodified lines
1065. The dvb_net device doesn't give me any packets at all1065. The dvb_net device doesn't give me any packets at all
107 107
108 Run tcpdump on the dvb0_0 interface. This sets the interface108 Run tcpdump on the dvb0_0 interface. This sets the interface
109 into promiscous mode so it accepts any packets from the PID109 into promiscuous mode so it accepts any packets from the PID
110 you have configured with the dvbnet utility. Check if there110 you have configured with the dvbnet utility. Check if there
111 are any packets with the IP addr and MAC addr you have111 are any packets with the IP addr and MAC addr you have
112 configured with ifconfig.112 configured with ifconfig.
Documentation/dvb/udev.txt+1−1
@@ -1,7 +1,7 @@
1The DVB subsystem currently registers to the sysfs subsystem using the1The DVB subsystem currently registers to the sysfs subsystem using the
2"class_simple" interface.2"class_simple" interface.
3 3
4This means that only the basic informations like module loading parameters4This means that only the basic information like module loading parameters
5are presented through sysfs. Other things that might be interesting are5are presented through sysfs. Other things that might be interesting are
6currently *not* available.6currently *not* available.
7 7
Documentation/edac.txt+2−2
@@ -311,7 +311,7 @@ Total Correctable Errors count attribute file: · 310 unmodified lines
311 'ce_noinfo_count'311 'ce_noinfo_count'
312 312
313 This attribute file displays the number of CEs that313 This attribute file displays the number of CEs that
314 have occurred wherewith no informations as to which DIMM slot314 have occurred wherewith no information as to which DIMM slot
315 is having errors. Memory is handicapped, but operational,315 is having errors. Memory is handicapped, but operational,
316 yet no information is available to indicate which slot316 yet no information is available to indicate which slot
317 the failing memory is in. This count field should be also317 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
741 As EDAC API maps the minimum unity is csrows, the driver sequencially741 As EDAC API maps the minimum unity is csrows, the driver sequencially
742 maps channel/dimm into different csrows.742 maps channel/dimm into different csrows.
743 743
744 For example, suposing the following layout:744 For example, supposing the following layout:
745 Ch0 phy rd0, wr0 (0x063f4031): 2 ranks, UDIMMs745 Ch0 phy rd0, wr0 (0x063f4031): 2 ranks, UDIMMs
746 dimm 0 1024 Mb offset: 0, bank: 8, rank: 1, row: 0x4000, col: 0x400746 dimm 0 1024 Mb offset: 0, bank: 8, rank: 1, row: 0x4000, col: 0x400
747 dimm 1 1024 Mb offset: 4, bank: 8, rank: 1, row: 0x4000, col: 0x400747 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
84 84
85id_table : an array of NULL terminated EISA id strings,85id_table : an array of NULL terminated EISA id strings,
86 followed by an empty string. Each string can86 followed by an empty string. Each string can
87 optionally be paired with a driver-dependant value87 optionally be paired with a driver-dependent value
88 (driver_data).88 (driver_data).
89 89
90driver : a generic driver, such as described in90driver : a generic driver, such as described in
Documentation/fb/viafb.txt+2−2
@@ -204,7 +204,7 @@ Notes: · 203 unmodified lines
204 204
205 supported_output_devices205 supported_output_devices
206 206
207 This read-only file contains a full ',' seperated list containing all207 This read-only file contains a full ',' separated list containing all
208 output devices that could be available on your platform. It is likely208 output devices that could be available on your platform. It is likely
209 that not all of those have a connector on your hardware but it should209 that not all of those have a connector on your hardware but it should
210 provide a good starting point to figure out which of those names match210 provide a good starting point to figure out which of those names match
@@ -225,7 +225,7 @@ Notes: · 14 unmodified lines
225 This can happen for example if only one (the other) iga is used.225 This can happen for example if only one (the other) iga is used.
226 Writing to these files allows adjusting the output devices during226 Writing to these files allows adjusting the output devices during
227 runtime. One can add new devices, remove existing ones or switch227 runtime. One can add new devices, remove existing ones or switch
228 between igas. Essentially you can write a ',' seperated list of device228 between igas. Essentially you can write a ',' separated list of device
229 names (or a single one) in the same format as the output to those229 names (or a single one) in the same format as the output to those
230 files. You can add a '+' or '-' as a prefix allowing simple addition230 files. You can add a '+' or '-' as a prefix allowing simple addition
231 and removal of devices. So a prefix '+' adds the devices from your list231 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
6 6
7---------------------------7---------------------------
8 8
9What: x86 floppy disable_hlt
10When: 2012
11Why: ancient workaround of dubious utility clutters the
12 code used by everybody else.
13Who: Len Brown <len.brown@intel.com>
14
15---------------------------
16
17What: CONFIG_APM_CPU_IDLE, and its ability to call APM BIOS in idle
18When: 2012
19Why: 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.
23Who: Len Brown <len.brown@intel.com>
24
25----------------------------
26
27What: x86_32 "no-hlt" cmdline param
28When: 2012
29Why: 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.
34Who: Len Brown <len.brown@intel.com>
35
36----------------------------
37
38What: x86 "idle=mwait" cmdline param
39When: 2012
40Why: simplify x86 idle code
41Who: Len Brown <len.brown@intel.com>
42
43----------------------------
44
9What: PRISM5445What: PRISM54
10When: 2.6.3446When: 2.6.34
11 47
@@ -35,17 +71,6 @@ Who: Luis R. Rodriguez <lrodriguez@atheros.com> · 23 unmodified lines
35 71
36---------------------------72---------------------------
37 73
38What: AR9170USB
39When: 2.6.40
40
41Why: 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
45Who: Christian Lamparter <chunkeey@googlemail.com>
46
47---------------------------
48
49What: IRQF_SAMPLE_RANDOM74What: IRQF_SAMPLE_RANDOM
50Check: IRQF_SAMPLE_RANDOM75Check: IRQF_SAMPLE_RANDOM
51When: July 200976When: July 2009
@@ -226,7 +251,7 @@ Who: Zhang Rui <rui.zhang@intel.com> · 174 unmodified lines
226What: CONFIG_ACPI_PROCFS_POWER251What: CONFIG_ACPI_PROCFS_POWER
227When: 2.6.39252When: 2.6.39
228Why: sysfs I/F for ACPI power devices, including AC and Battery,253Why: 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.
230 In 2.6.37, we make the sysfs I/F always built in and this option255 In 2.6.37, we make the sysfs I/F always built in and this option
231 disabled by default.256 disabled by default.
232 Remove this option and the ACPI power procfs interface in 2.6.39.257 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
273 298
274---------------------------299---------------------------
275 300
276What: /sys/o2cb symlink
277When: January 2010
278Why: /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.
282Who: ocfs2-devel@oss.oracle.com
283
284---------------------------
285
286What: Ability for non root users to shm_get hugetlb pages based on mlock301What: Ability for non root users to shm_get hugetlb pages based on mlock
287 resource limits302 resource limits
288When: 2.6.31303When: 2.6.31
@@ -387,26 +402,6 @@ Who: Tejun Heo <tj@kernel.org> · 98 unmodified lines
387 402
388----------------------------403----------------------------
389 404
390What: Support for lcd_switch and display_get in asus-laptop driver
391When: March 2010
392Why: 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
406Who: Corentin Chary <corentin.chary@gmail.com>
407
408----------------------------
409
410What: sysfs-class-rfkill state file405What: sysfs-class-rfkill state file
411When: Feb 2014406When: Feb 2014
412Files: net/rfkill/core.c407Files: net/rfkill/core.c
@@ -425,16 +420,6 @@ Who: anybody or Florian Mickler <florian@mickler.org> · 12 unmodified lines
425 420
426----------------------------421----------------------------
427 422
428What: capifs
429When: February 2011
430Files: drivers/isdn/capi/capifs.*
431Why: 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.
434Who: Jan Kiszka <jan.kiszka@web.de>
435
436----------------------------
437
438What: KVM paravirt mmu host support423What: KVM paravirt mmu host support
439When: January 2011424When: January 2011
440Why: The paravirt mmu host support is slower than non-paravirt mmu, both425Why: 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
480 465
481----------------------------466----------------------------
482 467
483What: The acpi_sleep=s4_nonvs command line option
484When: 2.6.37
485Files: arch/x86/kernel/acpi/sleep.c
486Why: superseded by acpi_sleep=nonvs
487Who: Rafael J. Wysocki <rjw@sisk.pl>
488
489----------------------------
490
491What: PCI DMA unmap state API468What: PCI DMA unmap state API
492When: August 2012469When: August 2012
493Why: PCI DMA unmap state API (include/linux/pci-dma.h) was replaced470Why: 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
600Who: Jean Delvare <khali@linux-fr.org>577Who: Jean Delvare <khali@linux-fr.org>
601 578
602----------------------------579----------------------------
580
581What: Support for UVCIOC_CTRL_ADD in the uvcvideo driver
582When: 2.6.42
583Why: The information passed to the driver by this ioctl is now queried
584 dynamically from the device.
585Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
586
587----------------------------
588
589What: Support for UVCIOC_CTRL_MAP_OLD in the uvcvideo driver
590When: 2.6.42
591Why: Used only by applications compiled against older driver versions.
592 Superseded by UVCIOC_CTRL_MAP which supports V4L2 menu controls.
593Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
594
595----------------------------
596
597What: Support for UVCIOC_CTRL_GET and UVCIOC_CTRL_SET in the uvcvideo driver
598When: 2.6.42
599Why: Superseded by the UVCIOC_CTRL_QUERY ioctl.
600Who: 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
25 http://xcpu.org/papers/cellfs-talk.pdf25 http://xcpu.org/papers/cellfs-talk.pdf
26 * PROSE I/O: Using 9p to enable Application Partitions26 * PROSE I/O: Using 9p to enable Application Partitions
27 http://plan9.escet.urjc.es/iwp9/cready/PROSE_iwp9_2006.pdf27 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
28 30
29USAGE31USAGE
30=====32=====
@@ -130,31 +132,20 @@ OPTIONS · 99 unmodified lines
130RESOURCES132RESOURCES
131=========133=========
132 134
133Our current recommendation is to use Inferno (http://www.vitanuova.com/nferno/index.html)135Protocol specifications are maintained on github:
134as the 9p server. You can start a 9p server under Inferno by issuing the136http://ericvh.github.com/9p-rfc/
135following command:
136 ; styxlisten -A tcp!*!564 export '#U*'
137 137
138The -A specifies an unauthenticated export. The 564 is the port # (you may1389p client and server implementations are listed on
139have to choose a higher port number if running as a normal user). The '#U*'139http://9p.cat-v.org/implementations
140specifies exporting the root of the Linux name space. You may specify a
141subset of the namespace by extending the path: '#U*'/tmp would just export
142/tmp. For more information, see the Inferno manual pages covering styxlisten
143and export.
144 140
145A Linux version of the 9p server is now maintained under the npfs project141A 9p2000.L server is being developed by LLNL and can be found
146on sourceforge (http://sourceforge.net/projects/npfs). The currently142at http://code.google.com/p/diod/
147maintained version is the single-threaded version of the server (named spfs)
148available from the same SVN repository.
149 143
150There are user and developer mailing lists available through the v9fs project144There are user and developer mailing lists available through the v9fs project
151on sourceforge (http://sourceforge.net/projects/v9fs).145on sourceforge (http://sourceforge.net/projects/v9fs).
152 146
153A stand-alone version of the module (which should build for any 2.6 kernel)147News and other information is maintained on a Wiki.
154is available via (http://github.com/ericvh/9p-sac/tree/master)148(http://sf.net/apps/mediawiki/v9fs/index.php).
155
156News and other information is maintained on SWiK (http://swik.net/v9fs)
157and the Wiki (http://sf.net/apps/mediawiki/v9fs/index.php).
158 149
159Bug reports may be issued through the kernel.org bugzilla 150Bug reports may be issued through the kernel.org bugzilla
160(http://bugzilla.kernel.org)151(http://bugzilla.kernel.org)
Documentation/filesystems/Locking+2−2
@@ -104,7 +104,7 @@ of the locking scheme for directory operations. · 103 unmodified lines
104prototypes:104prototypes:
105 struct inode *(*alloc_inode)(struct super_block *sb);105 struct inode *(*alloc_inode)(struct super_block *sb);
106 void (*destroy_inode)(struct inode *);106 void (*destroy_inode)(struct inode *);
107 void (*dirty_inode) (struct inode *);107 void (*dirty_inode) (struct inode *, int flags);
108 int (*write_inode) (struct inode *, struct writeback_control *wbc);108 int (*write_inode) (struct inode *, struct writeback_control *wbc);
109 int (*drop_inode) (struct inode *);109 int (*drop_inode) (struct inode *);
110 void (*evict_inode) (struct inode *);110 void (*evict_inode) (struct inode *);
@@ -126,7 +126,7 @@ locking rules: · 15 unmodified lines
126 s_umount126 s_umount
127alloc_inode:127alloc_inode:
128destroy_inode:128destroy_inode:
129dirty_inode: (must not sleep)129dirty_inode:
130write_inode:130write_inode:
131drop_inode: !!!inode->i_lock!!!131drop_inode: !!!inode->i_lock!!!
132evict_inode:132evict_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
309AUTOFS_DEV_IOCTL_TIMEOUT_CMD309AUTOFS_DEV_IOCTL_TIMEOUT_CMD
310----------------------------310----------------------------
311 311
312Set the expire timeout for mounts withing an autofs mount point.312Set the expire timeout for mounts within an autofs mount point.
313 313
314The call requires an initialized struct autofs_dev_ioctl with the314The call requires an initialized struct autofs_dev_ioctl with the
315ioctlfd field set to the descriptor obtained from the open call.315ioctlfd 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
95the tree. The netfs can even mix indices and data files at the same level, but95the tree. The netfs can even mix indices and data files at the same level, but
96it's not recommended.96it's not recommended.
97 97
98Each index entry consists of a key of indeterminate length plus some auxilliary98Each index entry consists of a key of indeterminate length plus some auxiliary
99data, also of indeterminate length.99data, also of indeterminate length.
100 100
101There are some limits on indices:101There are some limits on indices:
@@ -203,23 +203,23 @@ This has the following fields: · 101 unmodified lines
203 203
204 If the function is absent, a file size of 0 is assumed.204 If the function is absent, a file size of 0 is assumed.
205 205
206 (6) A function to retrieve auxilliary data from the netfs [optional].206 (6) A function to retrieve auxiliary data from the netfs [optional].
207 207
208 This function will be called with the netfs data that was passed to the208 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 that209 cookie acquisition function and the maximum length of auxiliary data that
210 it may provide. It should write the auxilliary data into the given buffer210 it may provide. It should write the auxiliary data into the given buffer
211 and return the quantity it wrote.211 and return the quantity it wrote.
212 212
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.
214 214
215 The length of the auxilliary data buffer may be dependent on the key215 The length of the auxiliary data buffer may be dependent on the key
216 length. A netfs mustn't rely on being able to provide more than 400 bytes216 length. A netfs mustn't rely on being able to provide more than 400 bytes
217 for both.217 for both.
218 218
219 (7) A function to check the auxilliary data [optional].219 (7) A function to check the auxiliary data [optional].
220 220
221 This function will be called to check that a match found in the cache for221 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 auxilliary222 this object is valid. For instance with AFS it could check the auxiliary
223 data against the data version number returned by the server to determine223 data against the data version number returned by the server to determine
224 whether the index entry in a cache is still valid.224 whether the index entry in a cache is still valid.
225 225
@@ -232,7 +232,7 @@ This has the following fields: · 6 unmodified lines
232 (*) FSCACHE_CHECKAUX_NEEDS_UPDATE - the entry requires update232 (*) FSCACHE_CHECKAUX_NEEDS_UPDATE - the entry requires update
233 (*) FSCACHE_CHECKAUX_OBSOLETE - the entry should be deleted233 (*) FSCACHE_CHECKAUX_OBSOLETE - the entry should be deleted
234 234
235 This function can also be used to extract data from the auxilliary data in235 This function can also be used to extract data from the auxiliary data in
236 the cache and copy it into the netfs's structures.236 the cache and copy it into the netfs's structures.
237 237
238 (8) A pair of functions to manage contexts for the completion callback238 (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
409rmdir(2). They also are not considered when rmdir(2) on the parent409rmdir(2). They also are not considered when rmdir(2) on the parent
410group is checking for children.410group is checking for children.
411 411
412[Dependant Subsystems]412[Dependent Subsystems]
413 413
414Sometimes other drivers depend on particular configfs items. For414Sometimes other drivers depend on particular configfs items. For
415example, ocfs2 mounts depend on a heartbeat region item. If that415example, 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
464 return 0;464 return 0;
465 465
466out_unregister:466out_unregister:
467 for (; i >= 0; i--) {467 for (i--; i >= 0; i--)
468 configfs_unregister_subsystem(example_subsys[i]);468 configfs_unregister_subsystem(example_subsys[i]);
469 }
470 469
471 return ret;470 return ret;
472}471}
@@ -475,9 +474,8 @@ static void __exit configfs_example_exit(void) · 2 unmodified lines
475{474{
476 int i;475 int i;
477 476
478 for (i = 0; example_subsys[i]; i++) {477 for (i = 0; example_subsys[i]; i++)
479 configfs_unregister_subsystem(example_subsys[i]);478 configfs_unregister_subsystem(example_subsys[i]);
480 }
481}479}
482 480
483module_init(configfs_example_init);481module_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
427 return 0;427 return 0;
428 428
429out_unregister:429out_unregister:
430 for (; i >= 0; i--) {430 for (i--; i >= 0; i--)
431 configfs_unregister_subsystem(example_subsys[i]);431 configfs_unregister_subsystem(example_subsys[i]);
432 }
433 432
434 return ret;433 return ret;
435}434}
@@ -438,9 +437,8 @@ static void __exit configfs_example_exit(void) · 2 unmodified lines
438{437{
439 int i;438 int i;
440 439
441 for (i = 0; example_subsys[i]; i++) {440 for (i = 0; example_subsys[i]; i++)
442 configfs_unregister_subsystem(example_subsys[i]);441 configfs_unregister_subsystem(example_subsys[i]);
443 }
444}442}
445 443
446module_init(configfs_example_init);444module_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
97* Inode allocation using large virtual block groups via flex_bg97* Inode allocation using large virtual block groups via flex_bg
98* delayed allocation98* delayed allocation
99* large block (up to pagesize) support99* large block (up to pagesize) support
100* efficent new ordered mode in JBD2 and ext4(avoid using buffer head to force100* efficient new ordered mode in JBD2 and ext4(avoid using buffer head to force
101 the ordering)101 the ordering)
102 102
103[1] Filesystems with a block size of 1k may see a limit imposed by the103[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
1062.2 Candidate features for future inclusion1062.2 Candidate features for future inclusion
107 107
108* Online defrag (patches available but not well tested)108* Online defrag (patches available but not well tested)
109* reduced mke2fs time via lazy itable initialization in conjuction with109* reduced mke2fs time via lazy itable initialization in conjunction with
110 the uninit_bg feature (capability to do this is available in e2fsprogs110 the uninit_bg feature (capability to do this is available in e2fsprogs
111 but a kernel thread to do lazy zeroing of unused inode table blocks111 but a kernel thread to do lazy zeroing of unused inode table blocks
112 after filesystem is first mounted is required for safety)112 after filesystem is first mounted is required for safety)
@@ -226,10 +226,6 @@ acl Enables POSIX Access Control Lists support. · 113 unmodified lines
226noacl This option disables POSIX Access Control List226noacl This option disables POSIX Access Control List
227 support.227 support.
228 228
229reservation
230
231noreservation
232
233bsddf (*) Make 'df' act like BSD.229bsddf (*) Make 'df' act like BSD.
234minixdf Make 'df' act like Minix.230minixdf Make 'df' act like Minix.
235 231
Documentation/filesystems/gfs2-uevents.txt+1−1
@@ -62,7 +62,7 @@ be fixed. · 61 unmodified lines
62 62
63The REMOVE uevent is generated at the end of an unsuccessful mount63The REMOVE uevent is generated at the end of an unsuccessful mount
64or at the end of a umount of the filesystem. All REMOVE uevents will64or at the end of a umount of the filesystem. All REMOVE uevents will
65have been preceeded by at least an ADD uevent for the same fileystem,65have been preceded by at least an ADD uevent for the same fileystem,
66and unlike the other uevents is generated automatically by the kernel's66and unlike the other uevents is generated automatically by the kernel's
67kobject subsystem.67kobject subsystem.
68 68
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
11features of GFS is perfect consistency -- changes made to the file system11features of GFS is perfect consistency -- changes made to the file system
12on one machine show up immediately on all other machines in the cluster.12on one machine show up immediately on all other machines in the cluster.
13 13
14GFS uses interchangable inter-node locking mechanisms, the currently14GFS uses interchangeable inter-node locking mechanisms, the currently
15supported mechanisms are:15supported mechanisms are:
16 16
17 lock_nolock -- allows gfs to be used as a local file system17 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
47this case, /some/other/program will handle all uid lookups and47this case, /some/other/program will handle all uid lookups and
48/usr/sbin/nfs.idmap will handle gid, user, and group lookups.48/usr/sbin/nfs.idmap will handle gid, user, and group lookups.
49 49
50See <file:Documentation/keys-request-keys.txt> for more information about the50See <file:Documentation/security/keys-request-keys.txt> for more information
51request-key function.51about the request-key function.
52 52
53 53
54=========54=========
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
350already in sync which will be the case on a clean shutdown of Windows. If the350already in sync which will be the case on a clean shutdown of Windows. If the
351mirrors are not clean, you can specify the "sync" option instead of "nosync"351mirrors are not clean, you can specify the "sync" option instead of "nosync"
352and the Device-Mapper driver will then copy the entirety of the "Source Device"352and the Device-Mapper driver will then copy the entirety of the "Source Device"
353to the "Target Device" or if you specified multipled target devices to all of353to the "Target Device" or if you specified multiple target devices to all of
354them.354them.
355 355
356Once you have your table, save it in a file somewhere (e.g. /etc/ntfsvolume1),356Once 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
46intr (*) Allow signals to interrupt cluster operations.46intr (*) Allow signals to interrupt cluster operations.
47nointr Do not allow signals to interrupt cluster47nointr Do not allow signals to interrupt cluster
48 operations.48 operations.
49noatime Do not update access time.
50relatime(*) Update atime if the previous atime is older than
51 mtime or ctime
52strictatime Always update atime, but the minimum update interval
53 is specified by atime_quantum.
49atime_quantum=60(*) OCFS2 will not update atime unless this number54atime_quantum=60(*) OCFS2 will not update atime unless this number
50 of seconds has passed since the last update.55 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.
52data=ordered (*) All data are forced directly out to the main file58data=ordered (*) All data are forced directly out to the main file
53 system prior to its metadata being committed to the59 system prior to its metadata being committed to the
54 journal.60 journal.
@@ -80,7 +86,7 @@ user_xattr (*) Enables Extended User Attributes. · 25 unmodified lines
80nouser_xattr Disables Extended User Attributes.86nouser_xattr Disables Extended User Attributes.
81acl Enables POSIX Access Control Lists support.87acl Enables POSIX Access Control Lists support.
82noacl (*) Disables POSIX Access Control Lists support.88noacl (*) Disables POSIX Access Control Lists support.
83resv_level=2 (*) Set how agressive allocation reservations will be.89resv_level=2 (*) Set how aggressive allocation reservations will be.
84 Valid values are between 0 (reservations off) to 890 Valid values are between 0 (reservations off) to 8
85 (maximum space for reservations).91 (maximum space for reservations).
86dir_resv_level= (*) By default, directory reservations will scale with file92dir_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
42A name string specifies a start (root directory, cwd, fd-relative) and a42A name string specifies a start (root directory, cwd, fd-relative) and a
43sequence of elements (directory entry names), which together refer to a path in43sequence of elements (directory entry names), which together refer to a path in
44the namespace. A path is represented as a (dentry, vfsmount) tuple. The name44the namespace. A path is represented as a (dentry, vfsmount) tuple. The name
45elements are sub-strings, seperated by '/'.45elements are sub-strings, separated by '/'.
46 46
47Name lookups will want to find a particular path that a name string refers to47Name lookups will want to find a particular path that a name string refers to
48(usually the final element, or parent of final element). This is done by taking48(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
354 354
355What this shows is that failed rcu-walk lookups, ie. ones that are restarted355What this shows is that failed rcu-walk lookups, ie. ones that are restarted
356entirely with ref-walk, are quite rare. Even the "vfstest" case which356entirely with ref-walk, are quite rare. Even the "vfstest" case which
357specifically has concurrent renames/mkdir/rmdir/ creat/unlink/etc to excercise357specifically has concurrent renames/mkdir/rmdir/ creat/unlink/etc to exercise
358such races is not showing a huge amount of restarts.358such races is not showing a huge amount of restarts.
359 359
360Dropping from rcu-walk to ref-walk mean that we have encountered a dentry where360Dropping 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
20so one can extend protocol as needed without breaking backward compatibility as long20so one can extend protocol as needed without breaking backward compatibility as long
21as old commands are supported. All string lengths include tail 0 byte.21as old commands are supported. All string lengths include tail 0 byte.
22 22
23All commans are transfered over the network in big-endian. CPU endianess is used at the end peers.23All commands are transferred over the network in big-endian. CPU endianess is used at the end peers.
24 24
25@cmd - command number, which specifies command to be processed. Following25@cmd - command number, which specifies command to be processed. Following
26 commands are used currently:26 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
543 their statistics are used by kernel developers and interested users to543 their statistics are used by kernel developers and interested users to
544 determine the occurrence of interrupts of the given type.544 determine the occurrence of interrupts of the given type.
545 545
546The above IRQ vectors are displayed only when relevent. For example,546The above IRQ vectors are displayed only when relevant. For example,
547the threshold vector does not exist on x86_64 platforms. Others are547the threshold vector does not exist on x86_64 platforms. Others are
548suppressed when the system is a uniprocessor. As of this writing, only548suppressed when the system is a uniprocessor. As of this writing, only
549i386 and x86_64 platforms support the new IRQ vector displays.549i386 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
574 > cat /proc/irq/0/smp_affinity574 > cat /proc/irq/0/smp_affinity
575 ffffffff575 ffffffff
576 576
577There is an alternate interface, smp_affinity_list which allows specifying
578a cpu range instead of a bitmask:
579
580 > cat /proc/irq/0/smp_affinity_list
581 1024-1031
582
577The default_smp_affinity mask applies to all non-active IRQs, which are the583The default_smp_affinity mask applies to all non-active IRQs, which are the
578IRQs which have not yet been allocated/activated, and hence which lack a584IRQs which have not yet been allocated/activated, and hence which lack a
579/proc/irq/[0-9]* directory.585/proc/irq/[0-9]* directory.
@@ -583,12 +589,13 @@ reports itself as being attached. This hardware locality information does not · 3 unmodified lines
583include information about any possible driver locality preference.589include information about any possible driver locality preference.
584 590
585prof_cpu_mask specifies which CPUs are to be profiled by the system wide591prof_cpu_mask specifies which CPUs are to be profiled by the system wide
586profiler. Default value is ffffffff (all cpus).592profiler. Default value is ffffffff (all cpus if there are only 32 of them).
587 593
588The way IRQs are routed is handled by the IO-APIC, and it's Round Robin594The way IRQs are routed is handled by the IO-APIC, and it's Round Robin
589between all the CPUs which are allowed to handle it. As usual the kernel has595between all the CPUs which are allowed to handle it. As usual the kernel has
590more info than you and does a better job than you, so the defaults are the596more info than you and does a better job than you, so the defaults are the
591best choice for almost everyone.597best choice for almost everyone. [Note this applies only to those IO-APIC's
598that support "Round Robin" interrupt distribution.]
592 599
593There are three more important subdirectories in /proc: net, scsi, and sys.600There are three more important subdirectories in /proc: net, scsi, and sys.
594The general rule is that the contents, or even the existence of these601The 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
836 TASKLET: 0 0 0 290843 TASKLET: 0 0 0 290
837 SCHED: 27035 26983 26971 26746844 SCHED: 27035 26983 26971 26746
838 HRTIMER: 0 0 0 0845 HRTIMER: 0 0 0 0
839 RCU: 1678 1769 2178 2250
840 846
841 847
8421.3 IDE devices in /proc/ide8481.3 IDE devices in /proc/ide
@@ -1202,7 +1208,7 @@ The columns are: · 359 unmodified lines
1202 W = can do write operations1208 W = can do write operations
1203 U = can do unblank1209 U = can do unblank
1204 flags E = it is enabled1210 flags E = it is enabled
1205 C = it is prefered console1211 C = it is preferred console
1206 B = it is primary boot console1212 B = it is primary boot console
1207 p = it is used for printk buffer1213 p = it is used for printk buffer
1208 b = it is not a TTY but a Braille device1214 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
1331Documentation/feature-removal-schedule.txt.1337Documentation/feature-removal-schedule.txt.
1332 1338
1333Caveat: when a parent task is selected, the oom killer will sacrifice any first1339Caveat: when a parent task is selected, the oom killer will sacrifice any first
1334generation children with seperate address spaces instead, if possible. This1340generation children with separate address spaces instead, if possible. This
1335avoids servers and important system daemons from being killed and loses the1341avoids servers and important system daemons from being killed and loses the
1336minimal amount of work.1342minimal amount of work.
1337 1343
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
219reference to where the actual value is stored). This allows large values219reference to where the actual value is stored). This allows large values
220to be stored out of line improving scanning and lookup performance and it220to be stored out of line improving scanning and lookup performance and it
221also allows values to be de-duplicated, the value being stored once, and221also allows values to be de-duplicated, the value being stored once, and
222all other occurences holding an out of line reference to that value.222all other occurrences holding an out of line reference to that value.
223 223
224The xattr lists are packed into compressed 8K metadata blocks.224The xattr lists are packed into compressed 8K metadata blocks.
225To reduce overhead in inodes, rather than storing the on-disk225To 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
62 62
63Mixing types, expressing multiple lines of data, and doing fancy63Mixing types, expressing multiple lines of data, and doing fancy
64formatting of data is heavily frowned upon. Doing these things may get64formatting of data is heavily frowned upon. Doing these things may get
65you publically humiliated and your code rewritten without notice. 65you publicly humiliated and your code rewritten without notice.
66 66
67 67
68An attribute definition is simply:68An 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
115Module Parameters for Debugging115Module Parameters for Debugging
116===============================116===============================
117 117
118When UBIFS has been compiled with debugging enabled, there are 3 module118When UBIFS has been compiled with debugging enabled, there are 2 module
119parameters that are available to control aspects of testing and debugging.119parameters that are available to control aspects of testing and debugging.
120The parameters are unsigned integers where each bit controls an option.
121The parameters are:
122
123debug_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
140 120
141debug_chks Selects extra checks that UBIFS can do while running:121debug_chks Selects extra checks that UBIFS can do while running:
142 122
@@ -154,11 +134,9 @@ debug_tsts Selects a mode of testing, as follows: · 11 unmodified lines
154 134
155 Test mode Flag value135 Test mode Flag value
156 136
157 Force in-the-gaps method 2
158 Failure mode for recovery testing 4137 Failure mode for recovery testing 4
159 138
160For example, set debug_msgs to 5 to display General messages and Mount139For example, set debug_chks to 3 to enable general and TNC checks.
161messages.
162 140
163 141
164References142References
Documentation/filesystems/vfs.txt+2−2
@@ -97,7 +97,7 @@ functions: · 96 unmodified lines
97The passed struct file_system_type describes your filesystem. When a97The passed struct file_system_type describes your filesystem. When a
98request is made to mount a filesystem onto a directory in your namespace,98request is made to mount a filesystem onto a directory in your namespace,
99the VFS will call the appropriate mount() method for the specific99the VFS will call the appropriate mount() method for the specific
100filesystem. New vfsmount refering to the tree returned by ->mount()100filesystem. New vfsmount referring to the tree returned by ->mount()
101will be attached to the mountpoint, so that when pathname resolution101will be attached to the mountpoint, so that when pathname resolution
102reaches the mountpoint it will jump into the root of that vfsmount.102reaches the mountpoint it will jump into the root of that vfsmount.
103 103
@@ -211,7 +211,7 @@ struct super_operations { · 107 unmodified lines
211 struct inode *(*alloc_inode)(struct super_block *sb);211 struct inode *(*alloc_inode)(struct super_block *sb);
212 void (*destroy_inode)(struct inode *);212 void (*destroy_inode)(struct inode *);
213 213
214 void (*dirty_inode) (struct inode *);214 void (*dirty_inode) (struct inode *, int flags);
215 int (*write_inode) (struct inode *, int);215 int (*write_inode) (struct inode *, int);
216 void (*drop_inode) (struct inode *);216 void (*drop_inode) (struct inode *);
217 void (*delete_inode) (struct inode *);217 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
42This relogging technique also allows objects to be moved forward in the log so42This relogging technique also allows objects to be moved forward in the log so
43that an object being relogged does not prevent the tail of the log from ever43that an object being relogged does not prevent the tail of the log from ever
44moving forward. This can be seen in the table above by the changing44moving forward. This can be seen in the table above by the changing
45(increasing) LSN of each subsquent transaction - the LSN is effectively a45(increasing) LSN of each subsequent transaction - the LSN is effectively a
46direct encoding of the location in the log of the transaction.46direct encoding of the location in the log of the transaction.
47 47
48This relogging is also used to implement long-running, multiple-commit48This 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
338into the new CIL, then checkpoint transaction commit code cannot use log items338into the new CIL, then checkpoint transaction commit code cannot use log items
339to store the list of log vectors that need to be written into the transaction.339to store the list of log vectors that need to be written into the transaction.
340Hence log vectors need to be able to be chained together to allow them to be340Hence log vectors need to be able to be chained together to allow them to be
341detatched from the log items. That is, when the CIL is flushed the memory341detached from the log items. That is, when the CIL is flushed the memory
342buffer and log vector attached to each log item needs to be attached to the342buffer and log vector attached to each log item needs to be attached to the
343checkpoint context so that the log item can be released. In diagrammatic form,343checkpoint context so that the log item can be released. In diagrammatic form,
344the CIL would look like this before the flush:344the 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
577pending transactions. Thus the pinning and unpinning of a log item is symmetric577pending transactions. Thus the pinning and unpinning of a log item is symmetric
578as there is a 1:1 relationship with transaction commit and log item completion.578as there is a 1:1 relationship with transaction commit and log item completion.
579 579
580For delayed logging, however, we have an assymetric transaction commit to580For delayed logging, however, we have an asymmetric transaction commit to
581completion relationship. Every time an object is relogged in the CIL it goes581completion relationship. Every time an object is relogged in the CIL it goes
582through the commit process without a corresponding completion being registered.582through the commit process without a corresponding completion being registered.
583That is, we now have a many-to-one relationship between transaction commit and583That 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
780From this, it can be seen that the only life cycle differences between the two780From this, it can be seen that the only life cycle differences between the two
781logging methods are in the middle of the life cycle - they still have the same781logging methods are in the middle of the life cycle - they still have the same
782beginning and end and execution constraints. The only differences are in the782beginning and end and execution constraints. The only differences are in the
783commiting of the log items to the log itself and the completion processing.783committing of the log items to the log itself and the completion processing.
784Hence delayed logging should not introduce any constraints on log item784Hence delayed logging should not introduce any constraints on log item
785behaviour, allocation or freeing that don't already exist.785behaviour, allocation or freeing that don't already exist.
786 786
Documentation/filesystems/xfs.txt+6−0
@@ -39,6 +39,12 @@ When mounting an XFS filesystem, the following options are accepted. · 38 unmodified lines
39 drive level write caching to be enabled, for devices that39 drive level write caching to be enabled, for devices that
40 support write barriers.40 support write barriers.
41 41
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
42 dmapi48 dmapi
43 Enable the DMAPI (Data Management API) event callouts.49 Enable the DMAPI (Data Management API) event callouts.
44 Use with the "mtpt" option.50 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
66entering atomic context, using:66entering atomic context, using:
67 67
68 int flex_array_prealloc(struct flex_array *array, unsigned int start,68 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);
70 70
71This function will ensure that memory for the elements indexed in the range71This function will ensure that memory for the elements indexed in the range
72defined by start and end has been allocated. Thereafter, a72defined by start and nr_elements has been allocated. Thereafter, a
73flex_array_put() call on an element in that range is guaranteed not to73flex_array_put() call on an element in that range is guaranteed not to
74block.74block.
75 75
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
4The hidraw driver provides a raw interface to USB and Bluetooth Human
5Interface Devices (HIDs). It differs from hiddev in that reports sent and
6received are not parsed by the HID parser, but are sent to and received from
7the device unmodified.
8
9Hidraw should be used if the userspace application knows exactly how to
10communicate with the hardware device, and is able to construct the HID
11reports manually. This is often the case when making userspace drivers for
12custom HID devices.
13
14Hidraw is also useful for communicating with non-conformant HID devices
15which send and receive data in a way that is inconsistent with their report
16descriptors. Because hiddev parses reports which are sent and received
17through it, checking them against the device's report descriptor, such
18communication with these non-conformant devices is impossible using hiddev.
19Hidraw is the only alternative, short of writing a custom kernel driver, for
20these non-conformant devices.
21
22A benefit of hidraw is that its use by userspace applications is independent
23of the underlying hardware type. Currently, Hidraw is implemented for USB
24and Bluetooth. In the future, as new hardware bus types are developed which
25use the HID specification, hidraw will be expanded to add support for these
26new bus types.
27
28Hidraw uses a dynamic major number, meaning that udev should be relied on to
29create hidraw device nodes. Udev will typically create the device nodes
30directly under /dev (eg: /dev/hidraw0). As this location is distribution-
31and udev rule-dependent, applications should use libudev to locate hidraw
32devices attached to the system. There is a tutorial on libudev with a
33working example at:
34 http://www.signal11.us/oss/udev/
35
36The HIDRAW API
37---------------
38
39read()
40-------
41read() will read a queued report received from the HID device. On USB
42devices, the reports read using read() are the reports sent from the device
43on the INTERRUPT IN endpoint. By default, read() will block until there is
44a report available to be read. read() can be made non-blocking, by passing
45the O_NONBLOCK flag to open(), or by setting the O_NONBLOCK flag using
46fcntl().
47
48On a device which uses numbered reports, the first byte of the returned data
49will be the report number; the report data follows, beginning in the second
50byte. For devices which do not use numbered reports, the report data
51will begin at the first byte.
52
53write()
54--------
55The write() function will write a report to the device. For USB devices, if
56the device has an INTERRUPT OUT endpoint, the report will be sent on that
57endpoint. If it does not, the report will be sent over the control endpoint,
58using a SET_REPORT transfer.
59
60The first byte of the buffer passed to write() should be set to the report
61number. If the device does not use numbered reports, the first byte should
62be set to 0. The report data itself should begin at the second byte.
63
64ioctl()
65--------
66Hidraw supports the following ioctls:
67
68HIDIOCGRDESCSIZE: Get Report Descriptor Size
69This ioctl will get the size of the device's report descriptor.
70
71HIDIOCGRDESC: Get Report Descriptor
72This ioctl returns the device's report descriptor using a
73hidraw_report_descriptor struct. Make sure to set the size field of the
74hidraw_report_descriptor struct to the size returned from HIDIOCGRDESCSIZE.
75
76HIDIOCGRAWINFO: Get Raw Info
77This ioctl will return a hidraw_devinfo struct containing the bus type, the
78vendor ID (VID), and product ID (PID) of the device. The bus type can be one
79of:
80 BUS_USB
81 BUS_HIL
82 BUS_BLUETOOTH
83 BUS_VIRTUAL
84which are defined in linux/input.h.
85
86HIDIOCGRAWNAME(len): Get Raw Name
87This ioctl returns a string containing the vendor and product strings of
88the device. The returned string is Unicode, UTF-8 encoded.
89
90HIDIOCGRAWPHYS(len): Get Physical Address
91This ioctl returns a string representing the physical address of the device.
92For USB devices, the string contains the physical path to the device (the
93USB controller, hubs, ports, etc). For Bluetooth devices, the string
94contains the hardware (MAC) address of the device.
95
96HIDIOCSFEATURE(len): Send a Feature Report
97This ioctl will send a feature report to the device. Per the HID
98specification, feature reports are always sent using the control endpoint.
99Set the first byte of the supplied buffer to the report number. For devices
100which do not use numbered reports, set the first byte to 0. The report data
101begins in the second byte. Make sure to set len accordingly, to one more
102than the length of the report (to account for the report number).
103
104HIDIOCGFEATURE(len): Get a Feature Report
105This ioctl will request a feature report from the device using the control
106endpoint. The first byte of the supplied buffer should be set to the report
107number of the requested report. For devices which do not use numbered
108reports, set the first byte to 0. The report will be returned starting at
109the first byte of the buffer (ie: the report number is not returned).
110
111Example
112---------
113In samples/, find hid-example.c, which shows examples of read(), write(),
114and all the ioctls for hidraw. The code may be used by anyone for any
115purpose, and can serve as a starting point for developing applications using
116hidraw.
117
118Document 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
78 78
79The first and second revision of the uGuru chip in reality is a Winbond79The first and second revision of the uGuru chip in reality is a Winbond
80W83L950D in disguise (despite Abit claiming it is "a new microprocessor80W83L950D in disguise (despite Abit claiming it is "a new microprocessor
81designed by the ABIT Engineers"). Unfortunatly this doesn't help since the81designed by the ABIT Engineers"). Unfortunately this doesn't help since the
82W83L950D is a generic microcontroller with a custom Abit application running82W83L950D is a generic microcontroller with a custom Abit application running
83on it.83on it.
84 84
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
5datasheet from Abit. The data I have got on uGuru have I assembled through5datasheet from Abit. The data I have got on uGuru have I assembled through
6my weak knowledge in "backwards engineering".6my weak knowledge in "backwards engineering".
7And just for the record, you may have noticed uGuru isn't a chip developed by7And just for the record, you may have noticed uGuru isn't a chip developed by
8Abit, as they claim it to be. It's realy just an microprocessor (uC) created by8Abit, as they claim it to be. It's really just an microprocessor (uC) created by
9Winbond (W83L950D). And no, reading the manual for this specific uC or9Winbond (W83L950D). And no, reading the manual for this specific uC or
10mailing Windbond for help won't give any usefull data about uGuru, as it is10mailing Windbond for help won't give any useful data about uGuru, as it is
11the program inside the uC that is responding to calls.11the program inside the uC that is responding to calls.
12 12
13Olle Sandberg <ollebull@gmail.com>, 2005-05-2513Olle 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
41 41
42After wider testing of the Linux kernel driver some variants of the uGuru have42After wider testing of the Linux kernel driver some variants of the uGuru have
43turned up which will hold 0x00 instead of 0xAC at the CMD port, thus we also43turned up which will hold 0x00 instead of 0xAC at the CMD port, thus we also
44have to test CMD for two different values. On these uGuru's DATA will initally44have to test CMD for two different values. On these uGuru's DATA will initially
45hold 0x09 and will only hold 0x08 after reading CMD first, so CMD must be read45hold 0x09 and will only hold 0x08 after reading CMD first, so CMD must be read
46first!46first!
47 47
@@ -308,5 +308,5 @@ the voltage / clock programming out, I tried reading and only reading banks · 260 unmodified lines
308resulted in a _permanent_ reprogramming of the voltages, luckily I had the308resulted in a _permanent_ reprogramming of the voltages, luckily I had the
309sensors part configured so that it would shutdown my system on any out of spec309sensors part configured so that it would shutdown my system on any out of spec
310voltages which proprably safed my computer (after a reboot I managed to310voltages which proprably safed my computer (after a reboot I managed to
311immediatly enter the bios and reload the defaults). This probably means that311immediately enter the bios and reload the defaults). This probably means that
312the read/write cycle for the non sensor part is different from the sensor part.312the 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
47the Abit uGuru chip, found on recent Abit uGuru featuring motherboards.47the Abit uGuru chip, found on recent Abit uGuru featuring motherboards.
48 48
49The 3rd revision of the uGuru chip in reality is a Winbond W83L951G.49The 3rd revision of the uGuru chip in reality is a Winbond W83L951G.
50Unfortunatly this doesn't help since the W83L951G is a generic microcontroller50Unfortunately this doesn't help since the W83L951G is a generic microcontroller
51with a custom Abit application running on it.51with a custom Abit application running on it.
52 52
53Despite Abit not releasing any information regarding the uGuru revision 3,53Despite Abit not releasing any information regarding the uGuru revision 3,
Documentation/hwmon/adm1021+19−17
@@ -14,10 +14,6 @@ Supported chips: · 13 unmodified lines
14 Prefix: 'gl523sm'14 Prefix: 'gl523sm'
15 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e15 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
16 Datasheet:16 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
21 * Maxim MAX161717 * Maxim MAX1617
22 Prefix: 'max1617'18 Prefix: 'max1617'
23 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e19 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
91ADM1021-clones do faster measurements, but there is really no good reason87ADM1021-clones do faster measurements, but there is really no good reason
92for that.88for that.
93 89
94Xeon support
95------------
96 90
97Some Xeon processors have real max1617, adm1021, or compatible chips91Netburst-based Xeon support
98within them, with two temperature sensors.92---------------------------
99 93
100Other Xeons have chips with only one sensor.94Some Xeon processors based on the Netburst (early Pentium 4, from 2001 to
952003) microarchitecture had real MAX1617, ADM1021, or compatible chips
96within them, with two temperature sensors. Other Xeon processors of this
97era (with 400 MHz FSB) had chips with only one temperature sensor.
101 98
102If you have a Xeon, and the adm1021 module loads, and both temperatures99If you have such an old Xeon, and you get two valid temperatures when
103appear valid, then things are good.100loading the adm1021 module, then things are good.
104 101
105If the adm1021 module doesn't load, you should try this:102If nothing happens when loading the adm1021 module, and you are certain
106 modprobe adm1021 force_adm1021=BUS,ADDRESS103that your specific Xeon processor model includes compatible sensors, you
107 ADDRESS can only be 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e.104will have to explicitly instantiate the sensor chips from user-space. See
105method 4 in Documentation/i2c/instantiating-devices. Possible slave
106addresses are 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e. It is likely that
107only temp2 will be correct and temp1 will have to be ignored.
108 108
109If you have dual Xeons you may have appear to have two separate109Previous generations of the Xeon processor (based on Pentium II/III)
110adm1021-compatible chips, or two single-temperature sensors, at distinct110didn't have these sensors. Next generations of Xeon processors (533 MHz
111addresses.111FSB and faster) lost them, until the Core-based generation which
112introduced integrated digital thermal sensors. These are supported by
113the coretemp driver.
Documentation/hwmon/adm1275+60−0
@@ -0,0 +1,60 @@
1Kernel driver adm1275
2=====================
3
4Supported chips:
5 * Analog Devices ADM1275
6 Prefix: 'adm1275'
7 Addresses scanned: -
8 Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1275.pdf
9
10Author: Guenter Roeck <guenter.roeck@ericsson.com>
11
12
13Description
14-----------
15
16This driver supports hardware montoring for Analog Devices ADM1275 Hot-Swap
17Controller and Digital Power Monitor.
18
19The ADM1275 is a hot-swap controller that allows a circuit board to be removed
20from or inserted into a live backplane. It also features current and voltage
21readback via an integrated 12-bit analog-to-digital converter (ADC), accessed
22using a PMBus. interface.
23
24The driver is a client driver to the core PMBus driver. Please see
25Documentation/hwmon/pmbus for details on PMBus client drivers.
26
27
28Usage Notes
29-----------
30
31This driver does not auto-detect devices. You will have to instantiate the
32devices explicitly. Please see Documentation/i2c/instantiating-devices for
33details.
34
35
36Platform data support
37---------------------
38
39The driver supports standard PMBus driver platform data. Please see
40Documentation/hwmon/pmbus for details.
41
42
43Sysfs entries
44-------------
45
46The following attributes are supported. Limits are read-write; all other
47attributes are read-only.
48
49in1_label "vin1" or "vout1" depending on chip variant and
50 configuration.
51in1_input Measured voltage. From READ_VOUT register.
52in1_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
53in1_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
54in1_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
55in1_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
56
57curr1_label "iout1"
58curr1_input Measured current. From READ_IOUT register.
59curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register.
60curr1_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
15 15
16Description16Description
17-----------17-----------
18This driver permits reading the DTS (Digital Temperature Sensor) embedded
19inside Intel CPUs. This driver can read both the per-core and per-package
20temperature using the appropriate sensors. The per-package sensor is new;
21as of now, it is present only in the SandyBridge platform. The driver will
22show the temperature of all cores inside a package under a single device
23directory inside hwmon.
18 24
19This driver permits reading temperature sensor embedded inside Intel Core CPU.
20Temperature is measured in degrees Celsius and measurement resolution is25Temperature is measured in degrees Celsius and measurement resolution is
211 degree C. Valid temperatures are from 0 to TjMax degrees C, because261 degree C. Valid temperatures are from 0 to TjMax degrees C, because
22the actual value of temperature register is in fact a delta from TjMax.27the 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
27may be raised, if the temperature grows enough (more than TjMax) to trigger32may be raised, if the temperature grows enough (more than TjMax) to trigger
28the Out-Of-Spec bit. Following table summarizes the exported sysfs files:33the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
29 34
30temp1_input - Core temperature (in millidegrees Celsius).35All Sysfs entries are named with their core_id (represented here by 'X').
31temp1_max - All cooling devices should be turned on (on Core2).36tempX_input - Core temperature (in millidegrees Celsius).
32temp1_crit - Maximum junction temperature (in millidegrees Celsius).37tempX_max - All cooling devices should be turned on (on Core2).
33temp1_crit_alarm - Set when Out-of-spec bit is set, never clears.38tempX_crit - Maximum junction temperature (in millidegrees Celsius).
39tempX_crit_alarm - Set when Out-of-spec bit is set, never clears.
34 Correct CPU operation is no longer guaranteed.40 Correct CPU operation is no longer guaranteed.
35temp1_label - Contains string "Core X", where X is processor41tempX_label - Contains string "Core X", where X is processor
36 number.42 number. For Package temp, this will be "Physical id Y",
43 where Y is the package number.
37 44
38The TjMax temperature is set to 85 degrees C if undocumented model specific45The TjMax temperature is set to 85 degrees C if undocumented model specific
39register (UMSR) 0xee has bit 30 set. If not the TjMax is 100 degrees C as46register (UMSR) 0xee has bit 30 set. If not the TjMax is 100 degrees C as
Documentation/hwmon/emc6w201+42−0
@@ -0,0 +1,42 @@
1Kernel driver emc6w201
2======================
3
4Supported chips:
5 * SMSC EMC6W201
6 Prefix: 'emc6w201'
7 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
8 Datasheet: Not public
9
10Author: Jean Delvare <khali@linux-fr.org>
11
12
13Description
14-----------
15
16From the datasheet:
17
18"The EMC6W201 is an environmental monitoring device with automatic fan
19control capability and enhanced system acoustics for noise suppression.
20This ACPI compliant device provides hardware monitoring for up to six
21voltages (including its own VCC) and five external thermal sensors,
22measures the speed of up to five fans, and controls the speed of
23multiple DC fans using three Pulse Width Modulator (PWM) outputs. Note
24that it is possible to control more than three fans by connecting two
25fans to one PWM output. The EMC6W201 will be available in a 36-pin
26QFN package."
27
28The device is functionally close to the EMC6D100 series, but is
29register-incompatible.
30
31The driver currently only supports the monitoring of the voltages,
32temperatures and fan speeds. Limits can be changed. Alarms are not
33supported, and neither is fan speed control.
34
35
36Known Systems With EMC6W201
37---------------------------
38
39The EMC6W201 is a rare device, only found on a few systems, made in
402005 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
6 Prefix: 'f71808e'6 Prefix: 'f71808e'
7 Addresses scanned: none, address read from Super I/O config space7 Addresses scanned: none, address read from Super I/O config space
8 Datasheet: Not public8 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
9 * Fintek F71858FG13 * Fintek F71858FG
10 Prefix: 'f71858fg'14 Prefix: 'f71858fg'
11 Addresses scanned: none, address read from Super I/O config space15 Addresses scanned: none, address read from Super I/O config space
Documentation/hwmon/fam15h_power+37−0
@@ -0,0 +1,37 @@
1Kernel driver fam15h_power
2==========================
3
4Supported 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
13Author: Andreas Herrmann <andreas.herrmann3@amd.com>
14
15Description
16-----------
17
18This driver permits reading of registers providing power information
19of AMD Family 15h processors.
20
21For AMD Family 15h processors the following power values can be
22calculated 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
31This driver provides ProcessorPwrWatts and CurrPwrWatts:
32* power1_crit (ProcessorPwrWatts)
33* power1_input (CurrPwrWatts)
34
35On multi-node processors the calculated value is for the entire
36package and not for a single node. Thus the driver creates sysfs
37attributes only for internal node0 of a multi-node processor.
Documentation/hwmon/k10temp+2−1
@@ -11,6 +11,7 @@ Supported chips: · 10 unmodified lines
11 Socket S1G2: Athlon (X2), Sempron (X2), Turion X2 (Ultra)11 Socket S1G2: Athlon (X2), Sempron (X2), Turion X2 (Ultra)
12* AMD Family 12h processors: "Llano"12* AMD Family 12h processors: "Llano"
13* AMD Family 14h processors: "Brazos" (C/E/G-Series)13* AMD Family 14h processors: "Brazos" (C/E/G-Series)
14* AMD Family 15h processors: "Bulldozer"
14 15
15 Prefix: 'k10temp'16 Prefix: 'k10temp'
16 Addresses scanned: PCI space17 Addresses scanned: PCI space
@@ -40,7 +41,7 @@ Description · 23 unmodified lines
40-----------41-----------
41 42
42This driver permits reading of the internal temperature sensor of AMD43This driver permits reading of the internal temperature sensor of AMD
43Family 10h/11h/12h/14h processors.44Family 10h/11h/12h/14h/15h processors.
44 45
45All these processors have a sensor, but on those for Socket F or AM2+,46All these processors have a sensor, but on those for Socket F or AM2+,
46the sensor may return inconsistent values (erratum 319). The driver47the sensor may return inconsistent values (erratum 319). The driver
Documentation/hwmon/lm90+20−9
@@ -32,6 +32,16 @@ Supported chips: · 31 unmodified lines
32 Addresses scanned: I2C 0x4c and 0x4d32 Addresses scanned: I2C 0x4c and 0x4d
33 Datasheet: Publicly available at the ON Semiconductor website33 Datasheet: Publicly available at the ON Semiconductor website
34 http://www.onsemi.com/PowerSolutions/product.do?id=ADT746134 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
35 * Maxim MAX664645 * Maxim MAX6646
36 Prefix: 'max6646'46 Prefix: 'max6646'
37 Addresses scanned: I2C 0x4d47 Addresses scanned: I2C 0x4d
@@ -149,7 +159,7 @@ ADM1032: · 111 unmodified lines
149 * ALERT is triggered by open remote sensor.159 * ALERT is triggered by open remote sensor.
150 * SMBus PEC support for Write Byte and Receive Byte transactions.160 * SMBus PEC support for Write Byte and Receive Byte transactions.
151 161
152ADT7461:162ADT7461, ADT7461A, NCT1008:
153 * Extended temperature range (breaks compatibility)163 * Extended temperature range (breaks compatibility)
154 * Lower resolution for remote temperature164 * Lower resolution for remote temperature
155 165
@@ -195,9 +205,9 @@ are exported, one for each channel, but these values are of course linked. · 39 unmodified lines
195Only the local hysteresis can be set from user-space, and the same delta205Only the local hysteresis can be set from user-space, and the same delta
196applies to the remote hysteresis.206applies to the remote hysteresis.
197 207
198The lm90 driver will not update its values more frequently than every208The lm90 driver will not update its values more frequently than configured with
199other second; reading them more often will do no harm, but will return209the update_interval attribute; reading them more often will do no harm, but will
200'old' values.210return 'old' values.
201 211
202SMBus Alert Support212SMBus Alert Support
203-------------------213-------------------
@@ -205,11 +215,12 @@ SMBus Alert Support · 1 unmodified line
205This driver has basic support for SMBus alert. When an alert is received,215This driver has basic support for SMBus alert. When an alert is received,
206the status register is read and the faulty temperature channel is logged.216the status register is read and the faulty temperature channel is logged.
207 217
208The Analog Devices chips (ADM1032 and ADT7461) do not implement the SMBus218The Analog Devices chips (ADM1032, ADT7461 and ADT7461A) and ON
209alert protocol properly so additional care is needed: the ALERT output is219Semiconductor chips (NCT1008) do not implement the SMBus alert protocol
210disabled when an alert is received, and is re-enabled only when the alarm220properly so additional care is needed: the ALERT output is disabled when
211is gone. Otherwise the chip would block alerts from other chips in the bus221an alert is received, and is re-enabled only when the alarm is gone.
212as long as the alarm is active.222Otherwise the chip would block alerts from other chips in the bus as long
223as the alarm is active.
213 224
214PEC Support225PEC Support
215-----------226-----------
Documentation/hwmon/max16064+62−0
@@ -0,0 +1,62 @@
1Kernel driver max16064
2======================
3
4Supported chips:
5 * Maxim MAX16064
6 Prefix: 'max16064'
7 Addresses scanned: -
8 Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX16064.pdf
9
10Author: Guenter Roeck <guenter.roeck@ericsson.com>
11
12
13Description
14-----------
15
16This driver supports hardware montoring for Maxim MAX16064 Quad Power-Supply
17Controller with Active-Voltage Output Control and PMBus Interface.
18
19The driver is a client driver to the core PMBus driver.
20Please see Documentation/hwmon/pmbus for details on PMBus client drivers.
21
22
23Usage Notes
24-----------
25
26This driver does not auto-detect devices. You will have to instantiate the
27devices explicitly. Please see Documentation/i2c/instantiating-devices for
28details.
29
30
31Platform data support
32---------------------
33
34The driver supports standard PMBus driver platform data.
35
36
37Sysfs entries
38-------------
39
40The following attributes are supported. Limits are read-write; all other
41attributes are read-only.
42
43in[1-4]_label "vout[1-4]"
44in[1-4]_input Measured voltage. From READ_VOUT register.
45in[1-4]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
46in[1-4]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
47in[1-4]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
48in[1-4]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
49in[1-4]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
50in[1-4]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
51in[1-4]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
52in[1-4]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
53
54temp1_input Measured temperature. From READ_TEMPERATURE_1 register.
55temp1_max Maximum temperature. From OT_WARN_LIMIT register.
56temp1_crit Critical high temperature. From OT_FAULT_LIMIT register.
57temp1_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.
60temp1_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 @@
1Kernel driver max16065
2======================
3
4Supported 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
27Author: Guenter Roeck <guenter.roeck@ericsson.com>
28
29
30Description
31-----------
32
33[From datasheets] The MAX16065/MAX16066 flash-configurable system managers
34monitor and sequence multiple system voltages. The MAX16065/MAX16066 can also
35accurately monitor (+/-2.5%) one current channel using a dedicated high-side
36current-sense amplifier. The MAX16065 manages up to twelve system voltages
37simultaneously, and the MAX16066 manages up to eight supply voltages.
38
39The MAX16067 flash-configurable system manager monitors and sequences multiple
40system voltages. The MAX16067 manages up to six system voltages simultaneously.
41
42The MAX16068 flash-configurable system manager monitors and manages up to six
43system voltages simultaneously.
44
45The MAX16070/MAX16071 flash-configurable system monitors supervise multiple
46system voltages. The MAX16070/MAX16071 can also accurately monitor (+/-2.5%)
47one current channel using a dedicated high-side current-sense amplifier. The
48MAX16070 monitors up to twelve system voltages simultaneously, and the MAX16071
49monitors up to eight supply voltages.
50
51Each monitored channel has its own low and high critical limits. MAX16065,
52MAX16066, MAX16070, and MAX16071 support an additional limit which is
53configurable as either low or high secondary limit. MAX16065, MAX16066,
54MAX16070, and MAX16071 also support supply current monitoring.
55
56
57Usage Notes
58-----------
59
60This driver does not probe for devices, since there is no register which
61can be safely used to identify the chip. You will have to instantiate
62the devices explicitly. Please see Documentation/i2c/instantiating-devices for
63details.
64
65
66Sysfs entries
67-------------
68
69in[0-11]_input Input voltage measurements.
70
71in12_input Voltage on CSP (Current Sense Positive) pin.
72 Only if the chip supports current sensing and if
73 current sensing is enabled.
74
75in[0-11]_min Low warning limit.
76 Supported on MAX16065, MAX16066, MAX16070, and MAX16071
77 only.
78
79in[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
86in[0-11]_lcrit Low critical limit.
87
88in[0-11]_crit High critical limit.
89
90in[0-11]_alarm Input voltage alarm.
91
92curr1_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
97curr1_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 @@
1Kernel driver max34440
2======================
3
4Supported 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
15Author: Guenter Roeck <guenter.roeck@ericsson.com>
16
17
18Description
19-----------
20
21This driver supports hardware montoring for Maxim MAX34440 PMBus 6-Channel
22Power-Supply Manager and MAX34441 PMBus 5-Channel Power-Supply Manager
23and Intelligent Fan Controller.
24
25The driver is a client driver to the core PMBus driver. Please see
26Documentation/hwmon/pmbus for details on PMBus client drivers.
27
28
29Usage Notes
30-----------
31
32This driver does not auto-detect devices. You will have to instantiate the
33devices explicitly. Please see Documentation/i2c/instantiating-devices for
34details.
35
36
37Platform data support
38---------------------
39
40The driver supports standard PMBus driver platform data.
41
42
43Sysfs entries
44-------------
45
46The following attributes are supported. Limits are read-write; all other
47attributes are read-only.
48
49in[1-6]_label "vout[1-6]".
50in[1-6]_input Measured voltage. From READ_VOUT register.
51in[1-6]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
52in[1-6]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
53in[1-6]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
54in[1-6]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
55in[1-6]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
56in[1-6]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
57in[1-6]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
58in[1-6]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
59
60curr[1-6]_label "iout[1-6]".
61curr[1-6]_input Measured current. From READ_IOUT register.
62curr[1-6]_max Maximum current. From IOUT_OC_WARN_LIMIT register.
63curr[1-6]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
64curr[1-6]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
65curr[1-6]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
66
67 in6 and curr6 attributes only exist for MAX34440.
68
69temp[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.
74temp[1-8]_max Maximum temperature. From OT_WARN_LIMIT register.
75temp[1-8]_crit Critical high temperature. From OT_FAULT_LIMIT register.
76temp[1-8]_max_alarm Temperature high alarm.
77temp[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 @@
1Kernel driver max6642
2=====================
3
4Supported 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
11Authors:
12 Per Dalen <per.dalen@appeartv.com>
13
14Description
15-----------
16
17The MAX6642 is a digital temperature sensor. It senses its own temperature as
18well as the temperature on one external diode.
19
20All temperature values are given in degrees Celsius. Resolution
21is 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
2=====================2=====================
3 3
4Supported chips:4Supported chips:
5 * Maxim 6650 / 66515 * Maxim MAX6650
6 Prefix: 'max6650'6 Prefix: 'max6650'
7 Addresses scanned: I2C 0x1b, 0x1f, 0x48, 0x4b7 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
8 Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6650-MAX6651.pdf12 Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6650-MAX6651.pdf
9 13
10Authors:14Authors:
@@ -15,10 +19,10 @@ Authors: · 4 unmodified lines
15Description19Description
16-----------20-----------
17 21
18This driver implements support for the Maxim 6650/665122This driver implements support for the Maxim MAX6650 and MAX6651.
19 23
20The 2 devices are very similar, but the Maxim 6550 has a reduced feature24The 2 devices are very similar, but the MAX6550 has a reduced feature
21set, e.g. only one fan-input, instead of 4 for the 6651.25set, e.g. only one fan-input, instead of 4 for the MAX6651.
22 26
23The driver is not able to distinguish between the 2 devices.27The driver is not able to distinguish between the 2 devices.
24 28
@@ -36,6 +40,13 @@ fan1_div rw sets the speed range the inputs can handle. Legal · 11 unmodified lines
36 values are 1, 2, 4, and 8. Use lower values for40 values are 1, 2, 4, and 8. Use lower values for
37 faster fans.41 faster fans.
38 42
43Usage notes
44-----------
45
46This driver does not auto-detect devices. You will have to instantiate the
47devices explicitly. Please see Documentation/i2c/instantiating-devices for
48details.
49
39Module parameters50Module parameters
40-----------------51-----------------
41 52
Documentation/hwmon/max8688+69−0
@@ -0,0 +1,69 @@
1Kernel driver max8688
2=====================
3
4Supported chips:
5 * Maxim MAX8688
6 Prefix: 'max8688'
7 Addresses scanned: -
8 Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX8688.pdf
9
10Author: Guenter Roeck <guenter.roeck@ericsson.com>
11
12
13Description
14-----------
15
16This driver supports hardware montoring for Maxim MAX8688 Digital Power-Supply
17Controller/Monitor with PMBus Interface.
18
19The driver is a client driver to the core PMBus driver. Please see
20Documentation/hwmon/pmbus for details on PMBus client drivers.
21
22
23Usage Notes
24-----------
25
26This driver does not auto-detect devices. You will have to instantiate the
27devices explicitly. Please see Documentation/i2c/instantiating-devices for
28details.
29
30
31Platform data support
32---------------------
33
34The driver supports standard PMBus driver platform data.
35
36
37Sysfs entries
38-------------
39
40The following attributes are supported. Limits are read-write; all other
41attributes are read-only.
42
43in1_label "vout1"
44in1_input Measured voltage. From READ_VOUT register.
45in1_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
46in1_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
47in1_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
48in1_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
49in1_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
50in1_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
51in1_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
52in1_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
53
54curr1_label "iout1"
55curr1_input Measured current. From READ_IOUT register.
56curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register.
57curr1_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
58curr1_max_alarm Current high alarm. From IOUT_OC_WARN_LIMIT register.
59curr1_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
60
61temp1_input Measured temperature. From READ_TEMPERATURE_1 register.
62temp1_max Maximum temperature. From OT_WARN_LIMIT register.
63temp1_crit Critical high temperature. From OT_FAULT_LIMIT register.
64temp1_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.
67temp1_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 @@
1Kernel driver pkgtemp
2======================
3
4Supported 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
11Author: Fenghua Yu
12
13Description
14-----------
15
16This driver permits reading package level temperature sensor embedded inside
17Intel CPU package. The sensors can be in core, uncore, memory controller, or
18other components in a package. The feature is first implemented in Intel Sandy
19Bridge platform.
20
21Temperature is measured in degrees Celsius and measurement resolution is
221 degree C. Valid temperatures are from 0 to TjMax degrees C, because the actual
23value of temperature register is in fact a delta from TjMax.
24
25Temperature known as TjMax is the maximum junction temperature of package.
26We get this from MSR_IA32_TEMPERATURE_TARGET. If the MSR is not accessible,
27we define TjMax as 100 degrees Celsius. At this temperature, protection
28mechanism will perform actions to forcibly cool down the package. Alarm
29may be raised, if the temperature grows enough (more than TjMax) to trigger
30the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
31
32temp1_input - Package temperature (in millidegrees Celsius).
33temp1_max - All cooling devices should be turned on.
34temp1_crit - Maximum junction temperature (in millidegrees Celsius).
35temp1_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
13 Prefix: 'ltc2978'13 Prefix: 'ltc2978'
14 Addresses scanned: -14 Addresses scanned: -
15 Datasheet: http://cds.linear.com/docs/Datasheet/2978fa.pdf15 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
36 * Generic PMBus devices16 * Generic PMBus devices
37 Prefix: 'pmbus'17 Prefix: 'pmbus'
38 Addresses scanned: -18 Addresses scanned: -
@@ -150,11 +130,11 @@ The following attributes are supported. Limits are read-write; all other · 111 unmodified lines
150attributes are read-only.130attributes are read-only.
151 131
152inX_input Measured voltage. From READ_VIN or READ_VOUT register.132inX_input Measured voltage. From READ_VIN or READ_VOUT register.
153inX_min Minumum Voltage.133inX_min Minimum Voltage.
154 From VIN_UV_WARN_LIMIT or VOUT_UV_WARN_LIMIT register.134 From VIN_UV_WARN_LIMIT or VOUT_UV_WARN_LIMIT register.
155inX_max Maximum voltage.135inX_max Maximum voltage.
156 From VIN_OV_WARN_LIMIT or VOUT_OV_WARN_LIMIT register.136 From VIN_OV_WARN_LIMIT or VOUT_OV_WARN_LIMIT register.
157inX_lcrit Critical minumum Voltage.137inX_lcrit Critical minimum Voltage.
158 From VIN_UV_FAULT_LIMIT or VOUT_UV_FAULT_LIMIT register.138 From VIN_UV_FAULT_LIMIT or VOUT_UV_FAULT_LIMIT register.
159inX_crit Critical maximum voltage.139inX_crit Critical maximum voltage.
160 From VIN_OV_FAULT_LIMIT or VOUT_OV_FAULT_LIMIT register.140 From VIN_OV_FAULT_LIMIT or VOUT_OV_FAULT_LIMIT register.
@@ -169,17 +149,19 @@ inX_label "vin", "vcap", or "voutY" · 8 unmodified lines
169currX_input Measured current. From READ_IIN or READ_IOUT register.149currX_input Measured current. From READ_IIN or READ_IOUT register.
170currX_max Maximum current.150currX_max Maximum current.
171 From IIN_OC_WARN_LIMIT or IOUT_OC_WARN_LIMIT register.151 From IIN_OC_WARN_LIMIT or IOUT_OC_WARN_LIMIT register.
172currX_lcrit Critical minumum output current.152currX_lcrit Critical minimum output current.
173 From IOUT_UC_FAULT_LIMIT register.153 From IOUT_UC_FAULT_LIMIT register.
174currX_crit Critical maximum current.154currX_crit Critical maximum current.
175 From IIN_OC_FAULT_LIMIT or IOUT_OC_FAULT_LIMIT register.155 From IIN_OC_FAULT_LIMIT or IOUT_OC_FAULT_LIMIT register.
176currX_alarm Current high alarm.156currX_alarm Current high alarm.
177 From IIN_OC_WARNING or IOUT_OC_WARNING status.157 From IIN_OC_WARNING or IOUT_OC_WARNING status.
158currX_max_alarm Current high alarm.
159 From IIN_OC_WARN_LIMIT or IOUT_OC_WARN_LIMIT status.
178currX_lcrit_alarm Output current critical low alarm.160currX_lcrit_alarm Output current critical low alarm.
179 From IOUT_UC_FAULT status.161 From IOUT_UC_FAULT status.
180currX_crit_alarm Current critical high alarm.162currX_crit_alarm Current critical high alarm.
181 From IIN_OC_FAULT or IOUT_OC_FAULT status.163 From IIN_OC_FAULT or IOUT_OC_FAULT status.
182currX_label "iin" or "vinY"164currX_label "iin" or "ioutY"
183 165
184powerX_input Measured power. From READ_PIN or READ_POUT register.166powerX_input Measured power. From READ_PIN or READ_POUT register.
185powerX_cap Output power cap. From POUT_MAX register.167powerX_cap Output power cap. From POUT_MAX register.
@@ -193,13 +175,13 @@ powerX_crit_alarm Output power critical high alarm. · 7 unmodified lines
193 From POUT_OP_FAULT status.175 From POUT_OP_FAULT status.
194powerX_label "pin" or "poutY"176powerX_label "pin" or "poutY"
195 177
196tempX_input Measured tempererature.178tempX_input Measured temperature.
197 From READ_TEMPERATURE_X register.179 From READ_TEMPERATURE_X register.
198tempX_min Mimimum tempererature. From UT_WARN_LIMIT register.180tempX_min Mimimum temperature. From UT_WARN_LIMIT register.
199tempX_max Maximum tempererature. From OT_WARN_LIMIT register.181tempX_max Maximum temperature. From OT_WARN_LIMIT register.
200tempX_lcrit Critical low tempererature.182tempX_lcrit Critical low temperature.
201 From UT_FAULT_LIMIT register.183 From UT_FAULT_LIMIT register.
202tempX_crit Critical high tempererature.184tempX_crit Critical high temperature.
203 From OT_FAULT_LIMIT register.185 From OT_FAULT_LIMIT register.
204tempX_min_alarm Chip temperature low alarm. Set by comparing186tempX_min_alarm Chip temperature low alarm. Set by comparing
205 READ_TEMPERATURE_X with UT_WARN_LIMIT if187 READ_TEMPERATURE_X with UT_WARN_LIMIT if
Documentation/hwmon/sht15+74−0
@@ -0,0 +1,74 @@
1Kernel driver sht15
2===================
3
4Authors:
5 * Wouter Horre
6 * Jonathan Cameron
7 * Vivien Didelot <vivien.didelot@savoirfairelinux.com>
8 * Jerome Oufella <jerome.oufella@savoirfairelinux.com>
9
10Supported 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
26Datasheet: Publicly available at the Sensirion website
27http://www.sensirion.ch/en/pdf/product_information/Datasheet-humidity-sensor-SHT1x.pdf
28
29Description
30-----------
31
32The SHT10, SHT11, SHT15, SHT71, and SHT75 are humidity and temperature
33sensors.
34
35The devices communicate using two GPIO lines.
36
37Supported resolutions for the measurements are 14 bits for temperature and 12
38bits for humidity, or 12 bits for temperature and 8 bits for humidity.
39
40The humidity calibration coefficients are programmed into an OTP memory on the
41chip. These coefficients are used to internally calibrate the signals from the
42sensors. Disabling the reload of those coefficients allows saving 10ms for each
43measurement and decrease power consumption, while loosing on precision.
44
45Some options may be set directly in the sht15_platform_data structure
46or via sysfs attributes.
47
48Notes:
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
54Platform 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
64Sysfs 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
150in9_crit_alarm AIN1 critical alarm150in9_crit_alarm AIN1 critical alarm
151in10_crit_alarm AIN2 critical alarm151in10_crit_alarm AIN2 critical alarm
152 152
153temp1_input Chip tempererature153temp1_input Chip temperature
154temp1_min Mimimum chip tempererature154temp1_min Mimimum chip temperature
155temp1_max Maximum chip tempererature155temp1_max Maximum chip temperature
156temp1_crit Critical chip tempererature156temp1_crit Critical chip temperature
157temp1_crit_alarm Temperature critical alarm157temp1_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
4This text is is a collection of suggestions for people writing patches or
5drivers for the hwmon subsystem. Following these suggestions will greatly
6increase the chances of your change being accepted.
7
8
91. 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
342. 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
493. 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
579fan[1-*]_fault579fan[1-*]_fault
580temp[1-*]_fault580temp[1-*]_fault
581 Input fault condition581 Input fault condition
582 0: no fault occured582 0: no fault occurred
583 1: fault condition583 1: fault condition
584 RO584 RO
585 585
Documentation/hwmon/ucd9000+110−0
@@ -0,0 +1,110 @@
1Kernel driver ucd9000
2=====================
3
4Supported 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
14Author: Guenter Roeck <guenter.roeck@ericsson.com>
15
16
17Description
18-----------
19
20From datasheets:
21
22The UCD90120 Power Supply Sequencer and System Health Monitor monitors and
23sequences up to 12 independent voltage rails. The device integrates a 12-bit
24ADC with a 2.5V internal reference for monitoring up to 13 power supply voltage,
25current, or temperature inputs.
26
27The UCD90124 is a 12-rail PMBus/I2C addressable power-supply sequencer and
28system-health monitor. The device integrates a 12-bit ADC for monitoring up to
2913 power-supply voltage, current, or temperature inputs. Twenty-six GPIO pins
30can be used for power supply enables, power-on reset signals, external
31interrupts, cascading, or other system functions. Twelve of these pins offer PWM
32functionality. Using these pins, the UCD90124 offers support for fan control,
33margining, and general-purpose PWM functions.
34
35The UCD9090 is a 10-rail PMBus/I2C addressable power-supply sequencer and
36monitor. The device integrates a 12-bit ADC for monitoring up to 10 power-supply
37voltage inputs. Twenty-three GPIO pins can be used for power supply enables,
38power-on reset signals, external interrupts, cascading, or other system
39functions. Ten of these pins offer PWM functionality. Using these pins, the
40UCD9090 offers support for margining, and general-purpose PWM functions.
41
42The UCD90910 is a ten-rail I2C / PMBus addressable power-supply sequencer and
43system-health monitor. The device integrates a 12-bit ADC for monitoring up to
4413 power-supply voltage, current, or temperature inputs.
45
46This driver is a client driver to the core PMBus driver. Please see
47Documentation/hwmon/pmbus for details on PMBus client drivers.
48
49
50Usage Notes
51-----------
52
53This driver does not auto-detect devices. You will have to instantiate the
54devices explicitly. Please see Documentation/i2c/instantiating-devices for
55details.
56
57
58Platform data support
59---------------------
60
61The driver supports standard PMBus driver platform data. Please see
62Documentation/hwmon/pmbus for details.
63
64
65Sysfs entries
66-------------
67
68The following attributes are supported. Limits are read-write; all other
69attributes are read-only.
70
71in[1-12]_label "vout[1-12]".
72in[1-12]_input Measured voltage. From READ_VOUT register.
73in[1-12]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
74in[1-12]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
75in[1-12]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
76in[1-12]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
77in[1-12]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
78in[1-12]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
79in[1-12]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
80in[1-12]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
81
82curr[1-12]_label "iout[1-12]".
83curr[1-12]_input Measured current. From READ_IOUT register.
84curr[1-12]_max Maximum current. From IOUT_OC_WARN_LIMIT register.
85curr[1-12]_lcrit Critical minumum output current. From IOUT_UC_FAULT_LIMIT
86 register.
87curr[1-12]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
88curr[1-12]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
89curr[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
95temp[1-2]_input Measured temperatures. From READ_TEMPERATURE_1 and
96 READ_TEMPERATURE_2 registers.
97temp[1-2]_max Maximum temperature. From OT_WARN_LIMIT register.
98temp[1-2]_crit Critical high temperature. From OT_FAULT_LIMIT register.
99temp[1-2]_max_alarm Temperature high alarm.
100temp[1-2]_crit_alarm Temperature critical high alarm.
101
102fan[1-4]_input Fan RPM.
103fan[1-4]_alarm Fan alarm.
104fan[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 @@
1Kernel driver ucd9200
2=====================
3
4Supported 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
18Author: Guenter Roeck <guenter.roeck@ericsson.com>
19
20
21Description
22-----------
23
24[From datasheets] UCD9220, UCD9222, UCD9224, UCD9240, UCD9244, UCD9246, and
25UCD9248 are multi-rail, multi-phase synchronous buck digital PWM controllers
26designed for non-isolated DC/DC power applications. The devices integrate
27dedicated circuitry for DC/DC loop management with flash memory and a serial
28interface to support configuration, monitoring and management.
29
30This driver is a client driver to the core PMBus driver. Please see
31Documentation/hwmon/pmbus for details on PMBus client drivers.
32
33
34Usage Notes
35-----------
36
37This driver does not auto-detect devices. You will have to instantiate the
38devices explicitly. Please see Documentation/i2c/instantiating-devices for
39details.
40
41
42Platform data support
43---------------------
44
45The driver supports standard PMBus driver platform data. Please see
46Documentation/hwmon/pmbus for details.
47
48
49Sysfs entries
50-------------
51
52The following attributes are supported. Limits are read-write; all other
53attributes are read-only.
54
55in1_label "vin".
56in1_input Measured voltage. From READ_VIN register.
57in1_min Minumum Voltage. From VIN_UV_WARN_LIMIT register.
58in1_max Maximum voltage. From VIN_OV_WARN_LIMIT register.
59in1_lcrit Critical minumum Voltage. VIN_UV_FAULT_LIMIT register.
60in1_crit Critical maximum voltage. From VIN_OV_FAULT_LIMIT register.
61in1_min_alarm Voltage low alarm. From VIN_UV_WARNING status.
62in1_max_alarm Voltage high alarm. From VIN_OV_WARNING status.
63in1_lcrit_alarm Voltage critical low alarm. From VIN_UV_FAULT status.
64in1_crit_alarm Voltage critical high alarm. From VIN_OV_FAULT status.
65
66in[2-5]_label "vout[1-4]".
67in[2-5]_input Measured voltage. From READ_VOUT register.
68in[2-5]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
69in[2-5]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
70in[2-5]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
71in[2-5]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
72in[2-5]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
73in[2-5]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
74in[2-5]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
75in[2-5]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
76
77curr1_label "iin".
78curr1_input Measured current. From READ_IIN register.
79
80curr[2-5]_label "iout[1-4]".
81curr[2-5]_input Measured current. From READ_IOUT register.
82curr[2-5]_max Maximum current. From IOUT_OC_WARN_LIMIT register.
83curr[2-5]_lcrit Critical minumum output current. From IOUT_UC_FAULT_LIMIT
84 register.
85curr[2-5]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
86curr[2-5]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
87curr[2-5]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
88
89power1_input Measured input power. From READ_PIN register.
90power1_label "pin"
91
92power[2-5]_input Measured output power. From READ_POUT register.
93power[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
99temp[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.
105temp[1-5]_max Maximum temperature. From OT_WARN_LIMIT register.
106temp[1-5]_crit Critical high temperature. From OT_FAULT_LIMIT register.
107temp[1-5]_max_alarm Temperature high alarm.
108temp[1-5]_crit_alarm Temperature critical high alarm.
109
110fan1_input Fan RPM. ucd9240 only.
111fan1_alarm Fan alarm. ucd9240 only.
112fan1_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
403 403
4040x80 - seems to turn fans off after some time(1-2 minutes)... might be4040x80 - seems to turn fans off after some time(1-2 minutes)... might be
405some form of auto-fan-control based on temp? hmm (Qfan? this mobo is an405some form of auto-fan-control based on temp? hmm (Qfan? this mobo is an
406old ASUS, it isn't marketed as Qfan. Maybe some beta pre-attemp at Qfan406old ASUS, it isn't marketed as Qfan. Maybe some beta pre-attempt at Qfan
407that was dropped at the BIOS)407that was dropped at the BIOS)
4080x81 - off4080x81 - off
4090x82 - slightly "on-ner" than off, but my fans do not get to move. I can4090x82 - 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
93method of a single sysfs beep_mask file to a newer method using multiple93method of a single sysfs beep_mask file to a newer method using multiple
94*_beep files as described in .../Documentation/hwmon/sysfs-interface.94*_beep files as described in .../Documentation/hwmon/sysfs-interface.
95 95
96A similar change has occured for the bitmap corresponding to the alarms. The96A similar change has occurred for the bitmap corresponding to the alarms. The
97original legacy method used a single sysfs alarms file containing a bitmap97original legacy method used a single sysfs alarms file containing a bitmap
98of triggered alarms. The newer method uses multiple sysfs *_alarm files98of triggered alarms. The newer method uses multiple sysfs *_alarm files
99(again following the pattern described in sysfs-interface).99(again following the pattern described in sysfs-interface).
Documentation/i2c/busses/i2c-i801+1−0
@@ -19,6 +19,7 @@ Supported adapters: · 18 unmodified lines
19 * Intel 6 Series (PCH)19 * Intel 6 Series (PCH)
20 * Intel Patsburg (PCH)20 * Intel Patsburg (PCH)
21 * Intel DH89xxCC (PCH)21 * Intel DH89xxCC (PCH)
22 * Intel Panther Point (PCH)
22 Datasheets: Publicly available at the Intel website23 Datasheets: Publicly available at the Intel website
23 24
24On Intel Patsburg and later chipsets, both the normal host SMBus controller25On 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
4 4
5This driver is a light version of i2c-parport. It doesn't depend 5This driver is a light version of i2c-parport. It doesn't depend
6on the parport driver, and uses direct I/O access instead. This might be6on the parport driver, and uses direct I/O access instead. This might be
7prefered on embedded systems where wasting memory for the clean but heavy7preferred on embedded systems where wasting memory for the clean but heavy
8parport handling is not an option. The drawback is a reduced portability8parport handling is not an option. The drawback is a reduced portability
9and the impossibility to daisy-chain other parallel port devices. 9and the impossibility to daisy-chain other parallel port devices.
10 10
Documentation/i2c/busses/i2c-sis96x+1−1
@@ -35,7 +35,7 @@ or perhaps this... · 34 unmodified lines
35 35
36(kernel versions later than 2.4.18 may fill in the "Unknown"s)36(kernel versions later than 2.4.18 may fill in the "Unknown"s)
37 37
38If you cant see it please look on quirk_sis_96x_smbus38If you can't see it please look on quirk_sis_96x_smbus
39(drivers/pci/quirks.c) (also if southbridge detection fails)39(drivers/pci/quirks.c) (also if southbridge detection fails)
40 40
41I suspect that this driver could be made to work for the following SiS41I 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
13 13
14* TAOS TSL2550 EVM14* TAOS TSL2550 EVM
15 15
16For addtional information on TAOS products, please see16For additional information on TAOS products, please see
17 http://www.taosinc.com/17 http://www.taosinc.com/
18 18
19 19
Documentation/i2c/writing-clients+1−1
@@ -38,7 +38,7 @@ static struct i2c_driver foo_driver = { · 37 unmodified lines
38 .name = "foo",38 .name = "foo",
39 },39 },
40 40
41 .id_table = foo_ids,41 .id_table = foo_idtable,
42 .probe = foo_probe,42 .probe = foo_probe,
43 .remove = foo_remove,43 .remove = foo_remove,
44 /* if device autodetection is needed: */44 /* if device autodetection is needed: */
Documentation/i2o/README+1−1
@@ -53,7 +53,7 @@ Symbios Logic (Now LSI) · 52 unmodified lines
53BoxHill Corporation53BoxHill Corporation
54 Loan of initial FibreChannel disk array used for development work.54 Loan of initial FibreChannel disk array used for development work.
55 55
56European Comission56European Commission
57 Funding the work done by the University of Helsinki57 Funding the work done by the University of Helsinki
58 58
59SysKonnect59SysKonnect
Documentation/ia64/aliasing-test.c+1−1
@@ -177,7 +177,7 @@ static int scan_rom(char *path, char *file) · 176 unmodified lines
177 177
178 /*178 /*
179 * It's OK if the ROM is unreadable. Maybe there179 * It's OK if the ROM is unreadable. Maybe there
180 * is no ROM, or some other error ocurred. The180 * is no ROM, or some other error occurred. The
181 * important thing is that no MCA happened.181 * important thing is that no MCA happened.
182 */182 */
183 if (rc > 0)183 if (rc > 0)
Documentation/input/elantech.txt+100−23
@@ -34,7 +34,8 @@ Contents · 33 unmodified lines
34Currently the Linux Elantech touchpad driver is aware of two different34Currently the Linux Elantech touchpad driver is aware of two different
35hardware versions unimaginatively called version 1 and version 2. Version 135hardware versions unimaginatively called version 1 and version 2. Version 1
36is found in "older" laptops and uses 4 bytes per packet. Version 2 seems to36is found in "older" laptops and uses 4 bytes per packet. Version 2 seems to
37be introduced with the EeePC and uses 6 bytes per packet.37be introduced with the EeePC and uses 6 bytes per packet, and provides
38additional features such as position of two fingers, and width of the touch.
38 39
39The driver tries to support both hardware versions and should be compatible40The driver tries to support both hardware versions and should be compatible
40with the Xorg Synaptics touchpad driver and its graphical configuration41with 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
94 can check these bits and reject any packet that appears corrupted. Using95 can check these bits and reject any packet that appears corrupted. Using
95 this knob you can bypass that check.96 this knob you can bypass that check.
96 97
97 It is not known yet whether hardware version 2 provides the same parity98 Hardware version 2 does not provide the same parity bits. Only some basic
98 bits. Hence checking is disabled by default. Currently even turning it on99 data consistency checking can be done. For now checking is disabled by
99 will do nothing.100 default. Currently even turning it on will do nothing.
100
101 101
102/////////////////////////////////////////////////////////////////////////////102/////////////////////////////////////////////////////////////////////////////
103 103
1043. Differentiating hardware versions
105 =================================
106
107To 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
112In the wild, there appear to be more versions, such as 00.01.64, 01.00.21,
11302.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
122In the wild, there appear to be more versions, such as 04.03.01, 04.04.11. There
123appears to be almost no difference, except for EF113, which does not report
124pressure/width and has different data consistency checks.
125
126Probably all the versions with param[0] <= 01 can be considered as
1274 bytes/firmware 1. The versions < 02.08.00, with the exception of 02.00.30, as
1284 bytes/firmware 2. Everything >= 02.08.00 can be considered as 6 bytes.
129
130/////////////////////////////////////////////////////////////////////////////
104 131
1053. Hardware version 11324. Hardware version 1
106 ==================133 ==================
107 134
1083.1 Registers1354.1 Registers
109 ~~~~~~~~~136 ~~~~~~~~~
110 137
111By echoing a hexadecimal value to a register it contents can be altered.138By echoing a hexadecimal value to a register it contents can be altered.
@@ -168,7 +195,7 @@ For example: · 56 unmodified lines
168 smart edge activation area width?195 smart edge activation area width?
169 196
170 197
1713.2 Native relative mode 4 byte packet format1984.2 Native relative mode 4 byte packet format
172 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~199 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
173 200
174byte 0:201byte 0:
@@ -226,9 +253,13 @@ byte 3: · 51 unmodified lines
226 positive = down253 positive = down
227 254
228 255
2293.3 Native absolute mode 4 byte packet format2564.3 Native absolute mode 4 byte packet format
230 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~257 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231 258
259EF013 and EF019 have a special behaviour (due to a bug in the firmware?), and
260when 1 finger is touching, the first 2 position reports must be discarded.
261This counting is reset whenever a different number of fingers is reported.
262
232byte 0:263byte 0:
233 firmware version 1.x:264 firmware version 1.x:
234 265
@@ -279,11 +310,11 @@ byte 3: · 44 unmodified lines
279/////////////////////////////////////////////////////////////////////////////310/////////////////////////////////////////////////////////////////////////////
280 311
281 312
2824. Hardware version 23135. Hardware version 2
283 ==================314 ==================
284 315
285 316
2864.1 Registers3175.1 Registers
287 ~~~~~~~~~318 ~~~~~~~~~
288 319
289By echoing a hexadecimal value to a register it contents can be altered.320By echoing a hexadecimal value to a register it contents can be altered.
@@ -316,16 +347,41 @@ For example: · 26 unmodified lines
316 0x7f = never i.e. tap again to release)347 0x7f = never i.e. tap again to release)
317 348
318 349
3194.2 Native absolute mode 6 byte packet format3505.2 Native absolute mode 6 byte packet format
320 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~351 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
321 3525.2.1 Parity checking and packet re-synchronization
3224.2.1 One finger touch353There is no parity checking, however some consistency checks can be performed.
354
355For 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
370For 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
376In case an error is detected, all the packets are shifted by one (and packet[0] is discarded).
377
3785.2.1 One/Three finger touch
323 ~~~~~~~~~~~~~~~~379 ~~~~~~~~~~~~~~~~
324 380
325byte 0:381byte 0:
326 382
327 bit 7 6 5 4 3 2 1 0383 bit 7 6 5 4 3 2 1 0
328 n1 n0 . . . . R L384 n1 n0 w3 w2 . . R L
329 385
330 L, R = 1 when Left, Right mouse button pressed386 L, R = 1 when Left, Right mouse button pressed
331 n1..n0 = numbers of fingers on touchpad387 n1..n0 = numbers of fingers on touchpad
@@ -333,24 +389,40 @@ byte 0: · 1 unmodified line
333byte 1:389byte 1:
334 390
335 bit 7 6 5 4 3 2 1 0391 bit 7 6 5 4 3 2 1 0
336 . . . . . x10 x9 x8392 p7 p6 p5 p4 . x10 x9 x8
337 393
338byte 2:394byte 2:
339 395
340 bit 7 6 5 4 3 2 1 0396 bit 7 6 5 4 3 2 1 0
341 x7 x6 x5 x4 x4 x2 x1 x0397 x7 x6 x5 x4 x3 x2 x1 x0
342 398
343 x10..x0 = absolute x value (horizontal)399 x10..x0 = absolute x value (horizontal)
344 400
345byte 3:401byte 3:
346 402
347 bit 7 6 5 4 3 2 1 0403 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
349 419
350byte 4:420byte 4:
351 421
352 bit 7 6 5 4 3 2 1 0422 bit 7 6 5 4 3 2 1 0
353 . . . . . . y9 y8423 p3 p1 p2 p0 . . y9 y8
424
425 p7..p0 = pressure (not EF113)
354 426
355byte 5:427byte 5:
356 428
@@ -363,6 +435,11 @@ byte 5: · 6 unmodified lines
3634.2.2 Two finger touch4354.2.2 Two finger touch
364 ~~~~~~~~~~~~~~~~436 ~~~~~~~~~~~~~~~~
365 437
438Note that the two pairs of coordinates are not exactly the coordinates of the
439two fingers, but only the pair of the lower-left and upper-right coordinates.
440So the actual fingers might be situated on the other diagonal of the square
441defined by these two points.
442
366byte 0:443byte 0:
367 444
368 bit 7 6 5 4 3 2 1 0445 bit 7 6 5 4 3 2 1 0
@@ -376,14 +453,14 @@ byte 1: · 7 unmodified lines
376 bit 7 6 5 4 3 2 1 0453 bit 7 6 5 4 3 2 1 0
377 ax7 ax6 ax5 ax4 ax3 ax2 ax1 ax0454 ax7 ax6 ax5 ax4 ax3 ax2 ax1 ax0
378 455
379 ax8..ax0 = first finger absolute x value456 ax8..ax0 = lower-left finger absolute x value
380 457
381byte 2:458byte 2:
382 459
383 bit 7 6 5 4 3 2 1 0460 bit 7 6 5 4 3 2 1 0
384 ay7 ay6 ay5 ay4 ay3 ay2 ay1 ay0461 ay7 ay6 ay5 ay4 ay3 ay2 ay1 ay0
385 462
386 ay8..ay0 = first finger absolute y value463 ay8..ay0 = lower-left finger absolute y value
387 464
388byte 3:465byte 3:
389 466
@@ -395,11 +472,11 @@ byte 4: · 5 unmodified lines
395 bit 7 6 5 4 3 2 1 0472 bit 7 6 5 4 3 2 1 0
396 bx7 bx6 bx5 bx4 bx3 bx2 bx1 bx0473 bx7 bx6 bx5 bx4 bx3 bx2 bx1 bx0
397 474
398 bx8..bx0 = second finger absolute x value475 bx8..bx0 = upper-right finger absolute x value
399 476
400byte 5:477byte 5:
401 478
402 bit 7 6 5 4 3 2 1 0479 bit 7 6 5 4 3 2 1 0
403 by7 by8 by5 by4 by3 by2 by1 by0480 by7 by8 by5 by4 by3 by2 by1 by0
404 481
405 by8..by0 = second finger absolute y value482 by8..by0 = upper-right finger absolute y value
Documentation/input/event-codes.txt+262−0
@@ -0,0 +1,262 @@
1The input protocol uses a map of types and codes to express input device values
2to userspace. This document describes the types and codes and how and when they
3may be used.
4
5A single hardware event generates multiple input events. Each input event
6contains the new value of a single data item. A special event type, EV_SYN, is
7used to separate input events into packets of input data changes occurring at
8the same moment in time. In the following, the term "event" refers to a single
9input event encompassing a type, code, and value.
10
11The input protocol is a stateful protocol. Events are emitted only when values
12of event codes have changed. However, the state is maintained within the Linux
13input subsystem; drivers do not need to maintain the state and may attempt to
14emit unchanged values without harm. Userspace may obtain the current state of
15event code values using the EVIOCG* ioctls defined in linux/input.h. The event
16reports supported by a device are also provided by sysfs in
17class/input/event*/device/capabilities/, and the properties of a device are
18provided in class/input/event*/device/properties.
19
20Types:
21==========
22Types are groupings of codes under a logical input construct. Each type has a
23set of applicable codes to be used in generating events. See the Codes section
24for 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
66Codes:
67==========
68Codes define the precise type of event.
69
70EV_SYN:
71----------
72EV_SYN event values are undefined. Their usage is defined only by when they are
73sent 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
94EV_KEY:
95----------
96EV_KEY events take the form KEY_<name> or BTN_<name>. For example, KEY_A is used
97to represent the 'A' key on a keyboard. When a key is depressed, an event with
98the key's code is emitted with value 1. When the key is released, an event is
99emitted with value 0. Some hardware send events when a key is repeated. These
100events have a value of 2. In general, KEY_<name> is used for keyboard keys, and
101BTN_<name> is used for other types of momentary switch events.
102
103A 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
124Note: For appropriate function of the legacy mousedev emulation driver,
125BTN_TOUCH must be the first evdev code emitted in a synchronization frame.
126
127Note: Historically a touch device with BTN_TOOL_FINGER and BTN_TOUCH was
128interpreted as a touchpad by userspace, while a similar device without
129BTN_TOOL_FINGER was interpreted as a touchscreen. For backwards compatibility
130with current userspace it is recommended to follow this distinction. In the
131future, this distinction will be deprecated and the device properties ioctl
132EVIOCGPROP, 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
144Note: Historically some drivers emitted multiple of the finger count codes with
145a value of 1 in the same synchronization frame. This usage is deprecated.
146
147Note: In multitouch drivers, the input_mt_report_finger_count() function should
148be used to emit these codes. Please see multi-touch-protocol.txt for details.
149
150EV_REL:
151----------
152EV_REL events describe relative changes in a property. For example, a mouse may
153move to the left by a certain number of units, but its absolute position in
154space is unknown. If the absolute position is known, EV_ABS codes should be used
155instead of EV_REL codes.
156
157A 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
163EV_ABS:
164----------
165EV_ABS events describe absolute changes in a property. For example, a touchpad
166may emit coordinates for a touch location.
167
168A 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
181EV_SW:
182----------
183EV_SW events describe stateful binary switches. For example, the SW_LID code is
184used to denote when a laptop lid is closed.
185
186Upon binding to a device or resuming from suspend, a driver must report
187the current switch state. This ensures that the device, kernel, and userspace
188state is in sync.
189
190Upon resume, if the switch state is the same as before suspend, then the input
191subsystem will filter out the duplicate switch state reports. The driver does
192not need to keep the state of the switch at any time.
193
194EV_MSC:
195----------
196EV_MSC events are used for input and output events that do not fall under other
197categories.
198
199EV_LED:
200----------
201EV_LED events are used for input and output to set and query the state of
202various LEDs on devices.
203
204EV_REP:
205----------
206EV_REP events are used for specifying autorepeating events.
207
208EV_SND:
209----------
210EV_SND events are used for sending sound commands to simple sound output
211devices.
212
213EV_FF:
214----------
215EV_FF events are used to initialize a force feedback capable device and to cause
216such device to feedback.
217
218EV_PWR:
219----------
220EV_PWR events are a special type of event used specifically for power
221mangement. Its usage is not well defined. To be addressed later.
222
223Guidelines:
224==========
225The guidelines below ensure proper single-touch and multi-finger functionality.
226For multi-touch functionality, see the multi-touch-protocol.txt document for
227more information.
228
229Mice:
230----------
231REL_{X,Y} must be reported when the mouse moves. BTN_LEFT must be used to report
232the primary button press. BTN_{MIDDLE,RIGHT,4,5,etc.} should be used to report
233further buttons of the device. REL_WHEEL and REL_HWHEEL should be used to report
234scroll wheel events where available.
235
236Touchscreens:
237----------
238ABS_{X,Y} must be reported with the location of the touch. BTN_TOUCH must be
239used to report when a touch is active on the screen.
240BTN_{MOUSE,LEFT,MIDDLE,RIGHT} must not be reported as the result of touch
241contact. BTN_TOOL_<name> events should be reported where possible.
242
243Trackpads:
244----------
245Legacy trackpads that only provide relative position information must report
246events like mice described above.
247
248Trackpads that provide absolute touch position must report ABS_{X,Y} for the
249location of the touch. BTN_TOUCH should be used to report when a touch is active
250on the trackpad. Where multi-finger support is available, BTN_TOOL_<name> should
251be used to report the number of touches active on the trackpad.
252
253Tablets:
254----------
255BTN_TOOL_<name> events must be reported when a stylus or other tool is active on
256the tablet. ABS_{X,Y} must be reported with the location of the tool. BTN_TOUCH
257should be used to report when the tool is in contact with the tablet.
258BTN_{STYLUS,STYLUS2} should be used to report buttons on the tool itself. Any
259button may be used for buttons on the tablet except BTN_{MOUSE,LEFT}.
260BTN_{0,1,2,etc} are good generic codes for unlabeled buttons. Do not use
261meaningful buttons, like BTN_FORWARD, unless the button is labeled for that
262purpose on the device.
Documentation/input/joystick-parport.txt+1−1
@@ -272,7 +272,7 @@ if you want to use gamecon.c. · 271 unmodified lines
272 272
273 Also, the connection is a bit more complex. You'll need a bunch of diodes,273 Also, the connection is a bit more complex. You'll need a bunch of diodes,
274and one pullup resistor. First, you connect the Directions and the button274and one pullup resistor. First, you connect the Directions and the button
275the same as for db9, however with the diodes inbetween.275the same as for db9, however with the diodes between.
276 276
277 Diodes277 Diodes
278(pin 2) -----|<|----> Up278(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
9and by triggering on falling and rising edges, the turn direction can9and by triggering on falling and rising edges, the turn direction can
10be determined.10be determined.
11 11
12Some encoders have both outputs low in stable states, whereas others also have
13a stable state with both outputs high (half-period mode).
14
12The phase diagram of these two outputs look like this:15The phase diagram of these two outputs look like this:
13 16
14 _____ _____ _____17 _____ _____ _____
@@ -26,6 +29,8 @@ The phase diagram of these two outputs look like this: · 11 unmodified lines
26 |<-------->|29 |<-------->|
27 one step30 one step
28 31
32 |<-->|
33 one step (half-period mode)
29 34
30For more information, please see35For more information, please see
31 http://en.wikipedia.org/wiki/Rotary_encoder36 http://en.wikipedia.org/wiki/Rotary_encoder
@@ -34,6 +39,13 @@ For more information, please see · 2 unmodified lines
341. Events / state machine391. Events / state machine
35-------------------------40-------------------------
36 41
42In half-period mode, state a) and c) above are used to determine the
43rotational direction based on the last stable state. Events are reported in
44states 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
47Otherwise, the following apply:
48
37a) Rising edge on channel A, channel B in low state49a) Rising edge on channel A, channel B in low state
38 This state is used to recognize a clockwise turn50 This state is used to recognize a clockwise turn
39 51
@@ -46,7 +58,7 @@ c) Falling edge on channel A, channel B in high state · 6 unmodified lines
46 58
47d) Falling edge on channel B, channel A in low state59d) Falling edge on channel B, channel A in low state
48 Parking position. If the encoder enters this state, a full transition60 Parking position. If the encoder enters this state, a full transition
49 should have happend, unless it flipped back on half the way. The61 should have happened, unless it flipped back on half the way. The
50 'armed' state tells us about that.62 'armed' state tells us about that.
51 63
522. Platform requirements642. Platform requirements
@@ -96,6 +108,7 @@ static struct rotary_encoder_platform_data my_rotary_encoder_info = { · 43 unmodified lines
96 .gpio_b = GPIO_ROTARY_B,108 .gpio_b = GPIO_ROTARY_B,
97 .inverted_a = 0,109 .inverted_a = 0,
98 .inverted_b = 0,110 .inverted_b = 0,
111 .half_period = false,
99};112};
100 113
101static struct platform_device rotary_encoder_device = {114static struct platform_device rotary_encoder_device = {
Documentation/input/walkera0701.txt+1−1
@@ -77,7 +77,7 @@ pulse length: · 76 unmodified lines
77 77
7824 bin+oct values + 1 bin value = 24*4+1 bits = 97 bits7824 bin+oct values + 1 bin value = 24*4+1 bits = 97 bits
79 79
80(Warning, pulses on ACK ar inverted by transistor, irq is rised up on sync80(Warning, pulses on ACK are inverted by transistor, irq is raised up on sync
81to bin change or octal value to bin change).81to bin change or octal value to bin change).
82 82
83Binary data representations:83Binary data representations:
Documentation/ioctl/ioctl-number.txt+2−1
@@ -166,7 +166,6 @@ Code Seq#(hex) Include File Comments · 165 unmodified lines
166'T' all arch/x86/include/asm/ioctls.h conflict!166'T' all arch/x86/include/asm/ioctls.h conflict!
167'T' C0-DF linux/if_tun.h conflict!167'T' C0-DF linux/if_tun.h conflict!
168'U' all sound/asound.h conflict!168'U' all sound/asound.h conflict!
169'U' 00-0F drivers/media/video/uvc/uvcvideo.h conflict!
170'U' 00-CF linux/uinput.h conflict!169'U' 00-CF linux/uinput.h conflict!
171'U' 00-EF linux/usbdevice_fs.h170'U' 00-EF linux/usbdevice_fs.h
172'U' C0-CF drivers/bluetooth/hci_uart.h171'U' C0-CF drivers/bluetooth/hci_uart.h
@@ -259,6 +258,7 @@ Code Seq#(hex) Include File Comments · 86 unmodified lines
259't' 80-8F linux/isdn_ppp.h258't' 80-8F linux/isdn_ppp.h
260't' 90 linux/toshiba.h259't' 90 linux/toshiba.h
261'u' 00-1F linux/smb_fs.h gone260'u' 00-1F linux/smb_fs.h gone
261'u' 20-3F linux/uvcvideo.h USB video class host driver
262'v' 00-1F linux/ext2_fs.h conflict!262'v' 00-1F linux/ext2_fs.h conflict!
263'v' 00-1F linux/fs.h conflict!263'v' 00-1F linux/fs.h conflict!
264'v' 00-0F linux/sonypi.h conflict!264'v' 00-0F linux/sonypi.h conflict!
@@ -304,6 +304,7 @@ Code Seq#(hex) Include File Comments · 39 unmodified lines
3040xB0 all RATIO devices in development:3040xB0 all RATIO devices in development:
305 <mailto:vgo@ratio.de>305 <mailto:vgo@ratio.de>
3060xB1 00-1F PPPoX <mailto:mostrows@styx.uwaterloo.ca>3060xB1 00-1F PPPoX <mailto:mostrows@styx.uwaterloo.ca>
3070xB3 00 linux/mmc/ioctl.h
3070xC0 00-0F linux/usb/iowarrior.h3080xC0 00-0F linux/usb/iowarrior.h
3080xCB 00-1F CBM serial IEC bus in development:3090xCB 00-1F CBM serial IEC bus in development:
309 <mailto:michael.klein@puffin.lb.shuttle.de>310 <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
53turn itself off. I.e. the lock validator will still be reliable. There53turn itself off. I.e. the lock validator will still be reliable. There
54should be no crashes due to irq-tracing bugs. (except if the assembly54should be no crashes due to irq-tracing bugs. (except if the assembly
55changes break other code by modifying conditions or registers that55changes break other code by modifying conditions or registers that
56shouldnt be)56shouldn't be)
57 57
Documentation/isdn/INTERFACE.CAPI+1−1
@@ -240,7 +240,7 @@ Functions capi_cmsg2message() and capi_message2cmsg() are provided to convert · 239 unmodified lines
240messages between their transport encoding described in the CAPI 2.0 standard240messages between their transport encoding described in the CAPI 2.0 standard
241and their _cmsg structure representation. Note that capi_cmsg2message() does241and their _cmsg structure representation. Note that capi_cmsg2message() does
242not know or check the size of its destination buffer. The caller must make242not know or check the size of its destination buffer. The caller must make
243sure it is big enough to accomodate the resulting CAPI message.243sure it is big enough to accommodate the resulting CAPI message.
244 244
245 245
2465. Lower Layer Interface Functions2465. 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
11fork. So if you have any comments or updates for this file, please try11fork. So if you have any comments or updates for this file, please try
12to update the original English file first.12to update the original English file first.
13 13
14Last Updated: 2008/10/2414Last Updated: 2011/03/31
15==================================15==================================
16これは、16これは、
17linux-2.6.28/Documentation/HOWTO17linux-2.6.38/Documentation/HOWTO
18の和訳です。18の和訳です。
19 19
20翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ >20翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ >
21翻訳日: 2008/10/2421翻訳日: 2011/3/28
22翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com>22翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com>
23校正者: 松倉さん <nbh--mats at nifty dot com>23校正者: 松倉さん <nbh--mats at nifty dot com>
24 小林 雅典さん (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp>24 小林 雅典さん (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp>
@@ -256,8 +256,8 @@ Linux カーネルの開発プロセスは現在幾つかの異なるメイン · 231 unmodified lines
256 - メインの 2.6.x カーネルツリー256 - メインの 2.6.x カーネルツリー
257 - 2.6.x.y -stable カーネルツリー257 - 2.6.x.y -stable カーネルツリー
258 - 2.6.x -git カーネルパッチ258 - 2.6.x -git カーネルパッチ
259 - 2.6.x -mm カーネルパッチ
260 - サブシステム毎のカーネルツリーとパッチ259 - サブシステム毎のカーネルツリーとパッチ
260 - 統合テストのための 2.6.x -next カーネルツリー
261 261
2622.6.x カーネルツリー2622.6.x カーネルツリー
263-----------------263-----------------
@@ -268,9 +268,9 @@ Linux カーネルの開発プロセスは現在幾つかの異なるメイン · 4 unmodified lines
268 268
269 - 新しいカーネルがリリースされた直後に、2週間の特別期間が設けられ、269 - 新しいカーネルがリリースされた直後に、2週間の特別期間が設けられ、
270 この期間中に、メンテナ達は Linus に大きな差分を送ることができます。270 この期間中に、メンテナ達は Linus に大きな差分を送ることができます。
271 このような差分は通常 -mm カーネルに数週間含まれてきたパッチです。271 このような差分は通常 -next カーネルに数週間含まれてきたパッチです。
272 大きな変更は git(カーネルのソース管理ツール、詳細は272 大きな変更は git(カーネルのソース管理ツール、詳細は
273 http://git.or.cz/ 参照) を使って送るのが好ましいやり方ですが、パッ273 http://git-scm.com/ 参照) を使って送るのが好ましいやり方ですが、パッ
274 チファイルの形式のまま送るのでも十分です。274 チファイルの形式のまま送るのでも十分です。
275 275
276 - 2週間後、-rc1 カーネルがリリースされ、この後にはカーネル全体の安定276 - 2週間後、-rc1 カーネルがリリースされ、この後にはカーネル全体の安定
@@ -333,86 +333,44 @@ git リポジトリで管理されているLinus のカーネルツリーの毎 · 56 unmodified lines
333れは -rc カーネルと比べて、パッチが大丈夫かどうかも確認しないで自動的333れは -rc カーネルと比べて、パッチが大丈夫かどうかも確認しないで自動的
334に生成されるので、より実験的です。334に生成されるので、より実験的です。
335 335
3362.6.x -mm カーネルパッチ
337------------------------
338
339Andrew Morton によってリリースされる実験的なカーネルパッチ群です。
340Andrew は個別のサブシステムカーネルツリーとパッチを全て集めてきて
341linux-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
367サブシステム毎のカーネルツリーとパッチ336サブシステム毎のカーネルツリーとパッチ
368-------------------------------------------337-------------------------------------------
369 338
370カーネルの様々な領域で何が起きているかを見られるようにするため、多くの339それぞれのカーネルサブシステムのメンテナ達は --- そして多くのカーネル
371カーネルサブシステム開発者は彼らの開発ツリーを公開しています。これらの340サブシステムの開発者達も --- 各自の最新の開発状況をソースリポジトリに
372ツリーは説明したように -mm カーネルリリースに入れ込まれます。341公開しています。そのため、自分とは異なる領域のカーネルで何が起きている
373 342かを他の人が見られるようになっています。開発が早く進んでいる領域では、
374以下はさまざまなカーネルツリーの中のいくつかのリスト-343開発者は自身の投稿がどのサブシステムカーネルツリーを元にしているか質問
375 344されるので、その投稿とすでに進行中の他の作業との衝突が避けられます。
376 git ツリー-345
377 - Kbuild の開発ツリー、Sam Ravnborg <sam@ravnborg.org>346大部分のこれらのリポジトリは git ツリーです。しかしその他の SCM や
378 git.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git347quilt シリーズとして公開されているパッチキューも使われています。これら
379 348のサブシステムリポジトリのアドレスは MAINTAINERS ファイルにリストされ
380 - ACPI の開発ツリー、 Len Brown <len.brown@intel.com>349ています。これらの多くは http://git.kernel.org/ で参照することができま
381 git.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git350す。
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/
413 351
414 その他のカーネルツリーは http://git.kernel.org/ と MAINTAINERS ファ352提案されたパッチがこのようなサブシステムツリーにコミットされる前に、メー
415 イルに一覧表があります。353リングリストで事前にレビューにかけられます(以下の対応するセクションを
354参照)。いくつかのカーネルサブシステムでは、このレビューは patchwork
355というツールによって追跡されます。Patchwork は web インターフェイスに
356よってパッチ投稿の表示、パッチへのコメント付けや改訂などができ、そして
357メンテナはパッチに対して、レビュー中、受付済み、拒否というようなマーク
358をつけることができます。大部分のこれらの patchwork のサイトは
359http://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カーネルの実行テストを行う冒険好きなテスターは大いに歓迎されます
416 374
417バグレポート375バグレポート
418-------------376-------------
@@ -673,10 +631,9 @@ Linux カーネルコミュニティは、一度に大量のコードの塊を · 254 unmodified lines
673じところからスタートしたのですから。631じところからスタートしたのですから。
674 632
675Paolo Ciarrocchi に感謝、彼は彼の書いた "Development Process"633Paolo Ciarrocchi に感謝、彼は彼の書いた "Development Process"
676(http://linux.tar.bz/articles/2.6-development_process)セクショ634(http://lwn.net/Articles/94386/) セクションをこのテキストの原型にする
677ンをこのテキストの原型にすることを許可してくれました。635ことを許可してくれました。Rundy Dunlap と Gerrit Huizenga はメーリング
678Rundy Dunlap と Gerrit Huizenga はメーリングリストでやるべきこととやっ636リストでやるべきこととやってはいけないことのリストを提供してくれました。
679てはいけないことのリストを提供してくれました。
680以下の人々のレビュー、コメント、貢献に感謝。637以下の人々のレビュー、コメント、貢献に感謝。
681Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers,638Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers,
682Vojtech Pavlik, Jan Kara, Josh Boyer, Kees Cook, Andrew Morton, Andi639Vojtech 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
26 26
27AFLAGS_MODULE27AFLAGS_MODULE
28--------------------------------------------------28--------------------------------------------------
29Addtional module specific options to use for $(AS).29Additional module specific options to use for $(AS).
30 30
31AFLAGS_KERNEL31AFLAGS_KERNEL
32--------------------------------------------------32--------------------------------------------------
33Addtional options for $(AS) when used for assembler33Additional options for $(AS) when used for assembler
34code for code that is compiled as built-in.34code for code that is compiled as built-in.
35 35
36KCFLAGS36KCFLAGS
@@ -39,12 +39,12 @@ Additional options to the C compiler (for built-in and modules). · 2 unmodified lines
39 39
40CFLAGS_KERNEL40CFLAGS_KERNEL
41--------------------------------------------------41--------------------------------------------------
42Addtional options for $(CC) when used to compile42Additional options for $(CC) when used to compile
43code that is compiled as built-in.43code that is compiled as built-in.
44 44
45CFLAGS_MODULE45CFLAGS_MODULE
46--------------------------------------------------46--------------------------------------------------
47Addtional module specific options to use for $(CC).47Additional module specific options to use for $(CC).
48 48
49LDFLAGS_MODULE49LDFLAGS_MODULE
50--------------------------------------------------50--------------------------------------------------
Documentation/kbuild/kconfig-language.txt+31−1
@@ -113,6 +113,13 @@ applicable everywhere (see syntax). · 112 unmodified lines
113 That will limit the usefulness but on the other hand avoid113 That will limit the usefulness but on the other hand avoid
114 the illegal configurations all over.114 the illegal configurations all over.
115 115
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
116- numerical ranges: "range" <symbol> <symbol> ["if" <expr>]123- numerical ranges: "range" <symbol> <symbol> ["if" <expr>]
117 This allows to limit the range of possible input values for int124 This allows to limit the range of possible input values for int
118 and hex symbols. The user can only input a value which is larger than125 and hex symbols. The user can only input a value which is larger than
@@ -303,7 +310,8 @@ menu: · 184 unmodified lines
303 "endmenu"310 "endmenu"
304 311
305This defines a menu block, see "Menu structure" above for more312This defines a menu block, see "Menu structure" above for more
306information. The only possible options are dependencies.313information. The only possible options are dependencies and "visible"
314attributes.
307 315
308if:316if:
309 317
@@ -381,3 +389,25 @@ config FOO · 71 unmodified lines
381 389
382limits FOO to module (=m) or disabled (=n).390limits FOO to module (=m) or disabled (=n).
383 391
392Kconfig symbol existence
393~~~~~~~~~~~~~~~~~~~~~~~~
394The following two methods produce the same kconfig symbol dependencies
395but differ greatly in kconfig symbol existence (production) in the
396generated config file.
397
398case 1:
399
400config FOO
401 tristate "about foo"
402 depends on BAR
403
404vs. case 2:
405
406if BAR
407config FOO
408 tristate "about foo"
409endif
410
411In case 1, the symbol FOO will always exist in the config file (given
412no other dependencies). In case 2, the symbol FOO will only exist in
413the config file if BAR is enabled.
Documentation/kbuild/kconfig.txt+0−5
@@ -48,11 +48,6 @@ KCONFIG_OVERWRITECONFIG · 47 unmodified lines
48If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not48If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not
49break symlinks when .config is a symlink to somewhere else.49break symlinks when .config is a symlink to somewhere else.
50 50
51KCONFIG_NOTIMESTAMP
52--------------------------------------------------
53If this environment variable exists and is non-null, the timestamp line
54in generated .config files is omitted.
55
56______________________________________________________________________51______________________________________________________________________
57Environment variables for '{allyes/allmod/allno/rand}config'52Environment variables for '{allyes/allmod/allno/rand}config'
58 53
Documentation/kernel-parameters.txt+19−12
@@ -245,7 +245,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 244 unmodified lines
245 245
246 acpi_sleep= [HW,ACPI] Sleep options246 acpi_sleep= [HW,ACPI] Sleep options
247 Format: { s3_bios, s3_mode, s3_beep, s4_nohwsig,247 Format: { s3_bios, s3_mode, s3_beep, s4_nohwsig,
248 old_ordering, s4_nonvs, sci_force_enable }248 old_ordering, nonvs, sci_force_enable }
249 See Documentation/power/video.txt for information on249 See Documentation/power/video.txt for information on
250 s3_bios and s3_mode.250 s3_bios and s3_mode.
251 s3_beep is for debugging; it makes the PC's speaker beep251 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
699 ekgdboc= [X86,KGDB] Allow early kernel console debugging699 ekgdboc= [X86,KGDB] Allow early kernel console debugging
700 ekgdboc=kbd700 ekgdboc=kbd
701 701
702 This is desgined to be used in conjunction with702 This is designed to be used in conjunction with
703 the boot argument: earlyprintk=vga703 the boot argument: earlyprintk=vga
704 704
705 edd= [EDD]705 edd= [EDD]
@@ -1664,6 +1664,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 958 unmodified lines
1664 noexec=on: enable non-executable mappings (default)1664 noexec=on: enable non-executable mappings (default)
1665 noexec=off: disable non-executable mappings1665 noexec=off: disable non-executable mappings
1666 1666
1667 nosmep [X86]
1668 Disable SMEP (Supervisor Mode Execution Protection)
1669 even if it is supported by processor.
1670
1667 noexec32 [X86-64]1671 noexec32 [X86-64]
1668 This affects only 32-bit executables.1672 This affects only 32-bit executables.
1669 noexec32=on: enable non-executable mappings (default)1673 noexec32=on: enable non-executable mappings (default)
@@ -1773,9 +1777,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 103 unmodified lines
1773 1777
1774 nosoftlockup [KNL] Disable the soft-lockup detector.1778 nosoftlockup [KNL] Disable the soft-lockup detector.
1775 1779
1776 noswapaccount [KNL] Disable accounting of swap in memory resource
1777 controller. (See Documentation/cgroups/memory.txt)
1778
1779 nosync [HW,M68K] Disables sync negotiation for all devices.1780 nosync [HW,M68K] Disables sync negotiation for all devices.
1780 1781
1781 notsc [BUGS=X86-32] Disable Time Stamp Counter1782 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
1832 perfmon on Intel CPUs instead of the1833 perfmon on Intel CPUs instead of the
1833 CPU specific event set.1834 CPU specific event set.
1834 1835
1835 oops=panic Always panic on oopses. Default is to just kill the process,1836 oops=panic Always panic on oopses. Default is to just kill the
1836 but there is a small probability of deadlocking the machine.1837 process, but there is a small probability of
1838 deadlocking the machine.
1837 This will also cause panics on machine check exceptions.1839 This will also cause panics on machine check exceptions.
1838 Useful together with panic=30 to trigger a reboot.1840 Useful together with panic=30 to trigger a reboot.
1839 1841
1840 OSS [HW,OSS]1842 OSS [HW,OSS]
1841 See Documentation/sound/oss/oss-parameters.txt1843 See Documentation/sound/oss/oss-parameters.txt
1842 1844
1843 panic= [KNL] Kernel behaviour on panic1845 panic= [KNL] Kernel behaviour on panic: delay <timeout>
1846 seconds before rebooting
1844 Format: <timeout>1847 Format: <timeout>
1845 1848
1846 parkbd.port= [HW] Parallel port number the keyboard adapter is1849 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
2343 2346
2344 softlockup_panic=2347 softlockup_panic=
2345 [KNL] Should the soft-lockup detector generate panics.2348 [KNL] Should the soft-lockup detector generate panics.
2349 Format: <integer>
2346 2350
2347 sonypi.*= [HW] Sony Programmable I/O Control Device driver2351 sonypi.*= [HW] Sony Programmable I/O Control Device driver
2348 See Documentation/sonypi.txt2352 See Documentation/sonypi.txt
@@ -2475,8 +2479,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 126 unmodified lines
2475 topology= [S390]2479 topology= [S390]
2476 Format: {off | on}2480 Format: {off | on}
2477 Specify if the kernel should make use of the cpu2481 Specify if the kernel should make use of the cpu
2478 topology informations if the hardware supports these.2482 topology information if the hardware supports this.
2479 The scheduler will make use of these informations and2483 The scheduler will make use of this information and
2480 e.g. base its process migration decisions on it.2484 e.g. base its process migration decisions on it.
2481 Default is on.2485 Default is on.
2482 2486
@@ -2529,8 +2533,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 46 unmodified lines
2529 reported either.2533 reported either.
2530 2534
2531 unknown_nmi_panic2535 unknown_nmi_panic
2532 [X86]2536 [X86] Cause panic on unknown NMI.
2533 Set unknown_nmi_panic=1 early on boot.
2534 2537
2535 usbcore.autosuspend=2538 usbcore.autosuspend=
2536 [USB] The autosuspend time delay (in seconds) used2539 [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
2579 bytes of sense data);2582 bytes of sense data);
2580 c = FIX_CAPACITY (decrease the reported2583 c = FIX_CAPACITY (decrease the reported
2581 device capacity by one sector);2584 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);
2582 h = CAPACITY_HEURISTICS (decrease the2589 h = CAPACITY_HEURISTICS (decrease the
2583 reported device capacity by one2590 reported device capacity by one
2584 sector if the number is odd);2591 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
11reported via /sys/kernel/debug/kmemleak. A similar method is used by the11reported via /sys/kernel/debug/kmemleak. A similar method is used by the
12Valgrind tool (memcheck --leak-check) to detect the memory leaks in12Valgrind tool (memcheck --leak-check) to detect the memory leaks in
13user-space applications.13user-space applications.
14Kmemleak is supported on x86, arm, powerpc, sparc, sh, microblaze and tile.
14 15
15Usage16Usage
16-----17-----
@@ -178,5 +179,4 @@ block doesn't need to be freed (some cases in the init_call functions), · 161 unmodified lines
178the pointer is calculated by other methods than the usual container_of179the pointer is calculated by other methods than the usual container_of
179macro or the pointer is stored in a location not scanned by kmemleak.180macro or the pointer is stored in a location not scanned by kmemleak.
180 181
181Page allocations and ioremap are not tracked. Only the ARM and x86182Page allocations and ioremap are not tracked.
182architectures are currently supported.
Documentation/laptops/acer-wmi.txt+0−184
@@ -1,184 +0,0 @@
1Acer Laptop WMI Extras Driver
2http://code.google.com/p/aceracpi
3Version 0.3
44th April 2009
5
6Copyright 2007-2009 Carlos Corbacho <carlos@strangeworlds.co.uk>
7
8acer-wmi is a driver to allow you to control various parts of your Acer laptop
9hardware under Linux which are exposed via ACPI-WMI.
10
11This driver completely replaces the old out-of-tree acer_acpi, which I am
12currently maintaining for bug fixes only on pre-2.6.25 kernels. All development
13work is now focused solely on acer-wmi.
14
15Disclaimer
16**********
17
18Acer and Wistron have provided nothing towards the development acer_acpi or
19acer-wmi. All information we have has been through the efforts of the developers
20and the users to discover as much as possible about the hardware.
21
22As such, I do warn that this could break your hardware - this is extremely
23unlikely of course, but please bear this in mind.
24
25Background
26**********
27
28acer-wmi is derived from acer_acpi, originally developed by Mark
29Smith in 2005, then taken over by Carlos Corbacho in 2007, in order to activate
30the wireless LAN card under a 64-bit version of Linux, as acerhk[1] (the
31previous solution to the problem) relied on making 32 bit BIOS calls which are
32not possible in kernel space from a 64 bit OS.
33
34[1] acerhk: http://www.cakey.de/acerhk/
35
36Supported Hardware
37******************
38
39NOTE: The Acer Aspire One is not supported hardware. It cannot work with
40acer-wmi until Acer fix their ACPI-WMI implementation on them, so has been
41blacklisted until that happens.
42
43Please see the website for the current list of known working hardware:
44
45http://code.google.com/p/aceracpi/wiki/SupportedHardware
46
47If your laptop is not listed, or listed as unknown, and works with acer-wmi,
48please contact me with a copy of the DSDT.
49
50If your Acer laptop doesn't work with acer-wmi, I would also like to see the
51DSDT.
52
53To send me the DSDT, as root/sudo:
54
55cat /sys/firmware/acpi/tables/DSDT > dsdt
56
57And send me the resulting 'dsdt' file.
58
59Usage
60*****
61
62On Acer laptops, acer-wmi should already be autoloaded based on DMI matching.
63For non-Acer laptops, until WMI based autoloading support is added, you will
64need to manually load acer-wmi.
65
66acer-wmi creates /sys/devices/platform/acer-wmi, and fills it with various
67files whose usage is detailed below, which enables you to control some of the
68following (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
76Wireless
77********
78
79With regards to wireless, all acer-wmi does is enable the radio on the card. It
80is not responsible for the wireless LED - once the radio is enabled, this is
81down to the wireless driver for your card. So the behaviour of the wireless LED,
82once you enable the radio, will depend on your hardware and driver combination.
83
84e.g. With the BCM4318 on the Acer Aspire 5020 series:
85
86ndiswrapper: Light blinks on when transmitting
87b43: Solid light, blinks off when transmitting
88
89Wireless radio control is unconditionally enabled - all Acer laptops that support
90acer-wmi come with built-in wireless. However, should you feel so inclined to
91ever wish to remove the card, or swap it out at some point, please get in touch
92with me, as we may well be able to gain some data on wireless card detection.
93
94The wireless radio is exposed through rfkill.
95
96Bluetooth
97*********
98
99For bluetooth, this is an internal USB dongle, so once enabled, you will get
100a USB device connection event, and a new USB device appears. When you disable
101bluetooth, you get the reverse - a USB device disconnect event, followed by the
102device disappearing again.
103
104Bluetooth is autodetected by acer-wmi, so if you do not have a bluetooth module
105installed in your laptop, this file won't exist (please be aware that it is
106quite common for Acer not to fit bluetooth to their laptops - so just because
107you have a bluetooth button on the laptop, doesn't mean that bluetooth is
108installed).
109
110For the adventurously minded - if you want to buy an internal bluetooth
111module off the internet that is compatible with your laptop and fit it, then
112it will work just fine with acer-wmi.
113
114Bluetooth is exposed through rfkill.
115
1163G
117**
118
1193G is currently not autodetected, so the 'threeg' file is always created under
120sysfs. So far, no-one in possession of an Acer laptop with 3G built-in appears to
121have tried Linux, or reported back, so we don't have any information on this.
122
123If you have an Acer laptop that does have a 3G card in, please contact me so we
124can properly detect these, and find out a bit more about them.
125
126To read the status of the 3G card (0=off, 1=on):
127cat /sys/devices/platform/acer-wmi/threeg
128
129To enable the 3G card:
130echo 1 > /sys/devices/platform/acer-wmi/threeg
131
132To disable the 3G card:
133echo 0 > /sys/devices/platform/acer-wmi/threeg
134
135To set the state of the 3G card when loading acer-wmi, pass:
136threeg=X (where X is 0 or 1)
137
138Mail LED
139********
140
141This can be found in most older Acer laptops supported by acer-wmi, and many
142newer ones - it is built into the 'mail' button, and blinks when active.
143
144On newer (WMID) laptops though, we have no way of detecting the mail LED. If
145your laptop identifies itself in dmesg as a WMID model, then please try loading
146acer_acpi with:
147
148force_series=2490
149
150This will use a known alternative method of reading/ writing the mail LED. If
151it works, please report back to me with the DMI data from your laptop so this
152can be added to acer-wmi.
153
154The LED is exposed through the LED subsystem, and can be found in:
155
156/sys/devices/platform/acer-wmi/leds/acer-wmi::mail/
157
158The mail LED is autodetected, so if you don't have one, the LED device won't
159be registered.
160
161Backlight
162*********
163
164The backlight brightness control is available on all acer-wmi supported
165hardware. The maximum brightness level is usually 15, but on some newer laptops
166it's 10 (this is again autodetected).
167
168The backlight is exposed through the backlight subsystem, and can be found in:
169
170/sys/devices/platform/acer-wmi/backlight/acer-wmi/
171
172Credits
173*******
174
175Olaf Tauber, who did the real hard work when he developed acerhk
176http://www.cakey.de/acerhk/
177All the authors of laptop ACPI modules in the kernel, whose work
178was an inspiration in the early days of acer_acpi
179Mathieu Segaud, who solved the problem with having to modprobe the driver
180twice in acer_acpi 0.2.
181Jim Ramsay, who added support for the WMID interface
182Mark Smith, who started the original acer_acpi
183
184And 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
61 Hotkeys are also reported as input keys (like keyboards) you can check61 Hotkeys are also reported as input keys (like keyboards) you can check
62 which key are supported using "xev" under X11.62 which key are supported using "xev" under X11.
63 63
64 You can get informations on the version of your DSDT table by reading the64 You can get information on the version of your DSDT table by reading the
65 /sys/devices/platform/asus-laptop/infos entry. If you have a question or a65 /sys/devices/platform/asus-laptop/infos entry. If you have a question or a
66 bug report to do, please include the output of this entry.66 bug report to do, please include the output of this entry.
67 67
@@ -178,7 +178,7 @@ LED display · 110 unmodified lines
178-----------178-----------
179 179
180 Some models like the W1N have a LED display that can be used to display180 Some models like the W1N have a LED display that can be used to display
181 several informations.181 several items of information.
182 182
183 LED display works for the following models:183 LED display works for the following models:
184 W1000N184 W1000N
Documentation/leds/00-INDEX+8−0
@@ -0,0 +1,8 @@
1leds-class.txt
2 - documents LED handling under Linux.
3leds-lp3944.txt
4 - notes on how to use the leds-lp3944 driver.
5leds-lp5521.txt
6 - notes on how to use the leds-lp5521 driver.
7leds-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
95particular LED (ACPI?). The addition of triggers provided by the LED driver95particular LED (ACPI?). The addition of triggers provided by the LED driver
96should cover this option and be possible to add without breaking the96should cover this option and be possible to add without breaking the
97current interface.97current 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
12- HOW12- HOW
13 13
14Lockdep already has hooks in the lock functions and maps lock instances to14Lockdep already has hooks in the lock functions and maps lock instances to
15lock classes. We build on that. The graph below shows the relation between15lock classes. We build on that (see Documentation/lockdep-design.txt).
16the lock functions and the various hooks therein.16The graph below shows the relation between the lock functions and the various
17hooks therein.
17 18
18 __acquire19 __acquire
19 |20 |
@@ -128,6 +129,37 @@ points are the points we're contending with. · 108 unmodified lines
128 129
129The integer part of the time values is in us.130The integer part of the time values is in us.
130 131
132Dealing with nested locks, subclasses may appear:
133
13432...............................................................................................................................................................................................
13533
13634 &rq->lock: 13128 13128 0.43 190.53 103881.26 97454 3453404 0.00 401.11 13224683.11
13735 ---------
13836 &rq->lock 645 [<ffffffff8103bfc4>] task_rq_lock+0x43/0x75
13937 &rq->lock 297 [<ffffffff8104ba65>] try_to_wake_up+0x127/0x25a
14038 &rq->lock 360 [<ffffffff8103c4c5>] select_task_rq_fair+0x1f0/0x74a
14139 &rq->lock 428 [<ffffffff81045f98>] scheduler_tick+0x46/0x1fb
14240 ---------
14341 &rq->lock 77 [<ffffffff8103bfc4>] task_rq_lock+0x43/0x75
14442 &rq->lock 174 [<ffffffff8104ba65>] try_to_wake_up+0x127/0x25a
14543 &rq->lock 4715 [<ffffffff8103ed4b>] double_rq_lock+0x42/0x54
14644 &rq->lock 893 [<ffffffff81340524>] schedule+0x157/0x7b8
14745
14846...............................................................................................................................................................................................
14947
15048 &rq->lock/1: 11526 11488 0.33 388.73 136294.31 21461 38404 0.00 37.93 109388.53
15149 -----------
15250 &rq->lock/1 11526 [<ffffffff8103ed58>] double_rq_lock+0x4f/0x54
15351 -----------
15452 &rq->lock/1 5645 [<ffffffff8103ed4b>] double_rq_lock+0x42/0x54
15553 &rq->lock/1 1224 [<ffffffff81340524>] schedule+0x157/0x7b8
15654 &rq->lock/1 4336 [<ffffffff8103ed58>] double_rq_lock+0x4f/0x54
15755 &rq->lock/1 181 [<ffffffff8104ba65>] try_to_wake_up+0x127/0x25a
158
159Line 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,
161double_rq_lock actually acquires a nested lock of two spinlocks.
162
131View the top contending locks:163View the top contending locks:
132 164
133# grep : /proc/lock_stat | head165# grep : /proc/lock_stat | head
@@ -136,7 +168,7 @@ View the top contending locks: · 2 unmodified lines
136 dcache_lock: 1037 1161 0.38 45.32 774.51 6611 243371 0.15 306.48 77387.24168 dcache_lock: 1037 1161 0.38 45.32 774.51 6611 243371 0.15 306.48 77387.24
137 &inode->i_mutex: 161 286 18446744073709 62882.54 1244614.55 3653 20598 18446744073709 62318.60 1693822.74169 &inode->i_mutex: 161 286 18446744073709 62882.54 1244614.55 3653 20598 18446744073709 62318.60 1693822.74
138 &zone->lru_lock: 94 94 0.53 7.33 92.10 4366 32690 0.29 59.81 16350.06170 &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.44171 &inode->i_data.i_mmap_mutex: 79 79 0.40 3.77 53.03 11779 87755 0.28 116.93 29898.44
140 &q->__queue_lock: 48 50 0.52 31.62 86.31 774 13131 0.17 113.08 12277.52172 &q->__queue_lock: 48 50 0.52 31.62 86.31 774 13131 0.17 113.08 12277.52
141 &rq->rq_lock_key: 43 47 0.74 68.50 170.63 3706 33929 0.22 107.99 17460.62173 &rq->rq_lock_key: 43 47 0.74 68.50 170.63 3706 33929 0.22 107.99 17460.62
142 &rq->rq_lock_key#2: 39 46 0.75 6.68 49.03 2979 32292 0.17 125.17 17137.63174 &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
552 within the array where IO will be blocked. This is currently552 within the array where IO will be blocked. This is currently
553 only supported for raid4/5/6.553 only supported for raid4/5/6.
554 554
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
555 565
556Each active md device may also have attributes specific to the566Each active md device may also have attributes specific to the
557personality module that manages it.567personality module that manages it.
Documentation/media-framework.txt+2−2
@@ -194,7 +194,7 @@ each pad. · 193 unmodified lines
194 194
195Links are represented by a struct media_link instance, defined in195Links are represented by a struct media_link instance, defined in
196include/media/media-entity.h. Each entity stores all links originating at or196include/media/media-entity.h. Each entity stores all links originating at or
197targetting any of its pads in a links array. A given link is thus stored197targeting any of its pads in a links array. A given link is thus stored
198twice, once in the source entity and once in the target entity. The array is198twice, once in the source entity and once in the target entity. The array is
199pre-allocated and grows dynamically as needed.199pre-allocated and grows dynamically as needed.
200 200
@@ -348,6 +348,6 @@ a streaming entity. Links that can be modified while streaming must be marked · 147 unmodified lines
348with the MEDIA_LNK_FL_DYNAMIC flag.348with the MEDIA_LNK_FL_DYNAMIC flag.
349 349
350If other operations need to be disallowed on streaming entities (such as350If other operations need to be disallowed on streaming entities (such as
351changing entities configuration parameters) drivers can explictly check the351changing entities configuration parameters) drivers can explicitly check the
352media_entity stream_count field to find out if an entity is streaming. This352media_entity stream_count field to find out if an entity is streaming. This
353operation must be done with the media_device graph_mutex held.353operation 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
39 Interface and Linux Device Driver" Application Note.39 Interface and Linux Device Driver" Application Note.
40 40
41 41
42FILES, CONFIGS AND COMPATABILITY42FILES, CONFIGS AND COMPATIBILITY
43--------------------------------43--------------------------------
44 44
45Two files are introduced:45Two files are introduced:
46 46
47 a) 'arch/mips/include/asm/mach-au1x00/au1xxx_ide.h'47 a) 'arch/mips/include/asm/mach-au1x00/au1xxx_ide.h'
48 containes : struct _auide_hwif48 contains : struct _auide_hwif
49 timing parameters for PIO mode 0/1/2/3/449 timing parameters for PIO mode 0/1/2/3/4
50 timing parameters for MWDMA 0/1/250 timing parameters for MWDMA 0/1/2
51 51
Documentation/misc-devices/ics932s401+1−1
@@ -5,7 +5,7 @@ Supported chips: · 4 unmodified lines
5 * IDT ICS932S4015 * IDT ICS932S401
6 Prefix: 'ics932s401'6 Prefix: 'ics932s401'
7 Addresses scanned: I2C 0x697 Addresses scanned: I2C 0x69
8 Datasheet: Publically available at the IDT website8 Datasheet: Publicly available at the IDT website
9 9
10Author: Darrick J. Wong10Author: Darrick J. Wong
11 11
Documentation/mmc/00-INDEX+2−0
@@ -2,3 +2,5 @@ · 1 unmodified line
2 - this file2 - this file
3mmc-dev-attrs.txt3mmc-dev-attrs.txt
4 - info on SD and MMC device attributes4 - info on SD and MMC device attributes
5mmc-dev-parts.txt
6 - info on SD and MMC device partitions
Documentation/mmc/mmc-dev-attrs.txt+10−0
@@ -1,3 +1,13 @@
1SD and MMC Block Device Attributes
2==================================
3
4These attributes are defined for the block devices associated with the
5SD or MMC device.
6
7The following attributes are read/write.
8
9 force_ro Enforce read-only access even if write protect switch is off.
10
1SD and MMC Device Attributes11SD and MMC Device Attributes
2============================12============================
3 13
Documentation/mmc/mmc-dev-parts.txt+27−0
@@ -0,0 +1,27 @@
1SD and MMC Device Partitions
2============================
3
4Device partitions are additional logical block devices present on the
5SD/MMC device.
6
7As of this writing, MMC boot partitions as supported and exposed as
8/dev/mmcblkXboot0 and /dev/mmcblkXboot1, where X is the index of the
9parent /dev/mmcblkX.
10
11MMC Boot Partitions
12===================
13
14Read and write access is provided to the two MMC boot partitions. Due to
15the sensitive nature of the boot partition contents, which often store
16a bootloader or bootloader configuration tables crucial to booting the
17platform, write access is disabled by default to reduce the chance of
18accidental bricking.
19
20To enable write access to /dev/mmcblkXbootY, disable the forced read-only
21access with:
22
23echo 0 > /sys/block/mmcblkXbootY/force_ro
24
25To re-enable read-only access:
26
27echo 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
45 45
46Variable MTU size:46Variable MTU size:
47 47
48The driver can handle a MTU size upto either 4500 or 18000 depending upon 48The driver can handle a MTU size up to either 4500 or 18000 depending upon
49ring speed. The driver also changes the size of the receive buffers as part49ring speed. The driver also changes the size of the receive buffers as part
50of the mtu re-sizing, so if you set mtu = 18000, you will need to be able50of the mtu re-sizing, so if you set mtu = 18000, you will need to be able
51to allocate 16 * (sk_buff with 18000 buffer size) call it 18500 bytes per ring 51to 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
256 256
257Where $VALUE would be a number in the case of this sysfs entry. The 257Where $VALUE would be a number in the case of this sysfs entry. The
258input to sysfs files does not have to be a number. For example, the 258input to sysfs files does not have to be a number. For example, the
259firmware loader used by hotplug utilizes sysfs entries for transfering 259firmware loader used by hotplug utilizes sysfs entries for transferring
260the firmware image from user space into the driver.260the firmware image from user space into the driver.
261 261
262The Intel(R) PRO/Wireless 2915ABG Driver for Linux exposes sysfs entries 262The 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]
2 2
3BATMAN-ADV3BATMAN-ADV
4----------4----------
@@ -19,6 +19,7 @@ duce the overhead to a minimum. It does not depend on any (other) · 14 unmodified lines
19network driver, and can be used on wifi as well as ethernet lan,19network driver, and can be used on wifi as well as ethernet lan,
20vpn, etc ... (anything with ethernet-style layer 2).20vpn, etc ... (anything with ethernet-style layer 2).
21 21
22
22CONFIGURATION23CONFIGURATION
23-------------24-------------
24 25
@@ -72,7 +73,7 @@ folder: · 47 unmodified lines
72# fragmentation gw_sel_class vis_mode73# fragmentation gw_sel_class vis_mode
73 74
74 75
75There is a special folder for debugging informations:76There is a special folder for debugging information:
76 77
77# ls /sys/kernel/debug/batman_adv/bat0/78# ls /sys/kernel/debug/batman_adv/bat0/
78# gateways socket transtable_global vis_data79# gateways socket transtable_global vis_data
@@ -160,13 +161,13 @@ face. Each entry can/has to have the following values: · 81 unmodified lines
160-> "TQ mac value" - src mac's link quality towards mac address161-> "TQ mac value" - src mac's link quality towards mac address
161 of a neighbor originator's interface which162 of a neighbor originator's interface which
162 is being used for routing163 is being used for routing
163-> "HNA mac" - HNA announced by source mac164-> "TT mac" - TT announced by source mac
164-> "PRIMARY" - this is a primary interface165-> "PRIMARY" - this is a primary interface
165-> "SEC mac" - secondary mac address of source166-> "SEC mac" - secondary mac address of source
166 (requires preceding PRIMARY)167 (requires preceding PRIMARY)
167 168
168The TQ value has a range from 4 to 255 with 255 being the best.169The TQ value has a range from 4 to 255 with 255 being the best.
169The HNA entries are showing which hosts are connected to the mesh170The TT entries are showing which hosts are connected to the mesh
170via bat0 or being bridged into the mesh network. The PRIMARY/SEC171via bat0 or being bridged into the mesh network. The PRIMARY/SEC
171values are only applied on primary interfaces172values are only applied on primary interfaces
172 173
@@ -199,7 +200,7 @@ abled during run time. Following log_levels are defined: · 26 unmodified lines
199 200
2000 - All debug output disabled2010 - All debug output disabled
2011 - Enable messages related to routing / flooding / broadcasting2021 - Enable messages related to routing / flooding / broadcasting
2022 - Enable route or hna added / changed / deleted2032 - Enable route or tt entry added / changed / deleted
2033 - Enable all messages2043 - Enable all messages
204 205
205The debug output can be changed at runtime using the file206The 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
207 208
208# echo 2 > /sys/class/net/bat0/mesh/log_level209# echo 2 > /sys/class/net/bat0/mesh/log_level
209 210
210will enable debug messages for when routes or HNAs change.211will enable debug messages for when routes or TTs change.
211 212
212 213
213BATCTL214BATCTL
Documentation/networking/bonding.txt+27−20
@@ -1,7 +1,7 @@
1 1
2 Linux Ethernet Bonding Driver HOWTO2 Linux Ethernet Bonding Driver HOWTO
3 3
4 Latest update: 23 September 20094 Latest update: 27 April 2011
5 5
6Initial release : Thomas Davis <tadavis at lbl.gov>6Initial release : Thomas Davis <tadavis at lbl.gov>
7Corrections, HA extensions : 2000/10/03-15 :7Corrections, HA extensions : 2000/10/03-15 :
@@ -368,7 +368,7 @@ fail_over_mac · 360 unmodified lines
368 gratuitous ARP is lost, communication may be368 gratuitous ARP is lost, communication may be
369 disrupted.369 disrupted.
370 370
371 When this policy is used in conjuction with the mii371 When this policy is used in conjunction with the mii
372 monitor, devices which assert link up prior to being372 monitor, devices which assert link up prior to being
373 able to actually transmit and receive are particularly373 able to actually transmit and receive are particularly
374 susceptible to loss of the gratuitous ARP, and an374 susceptible to loss of the gratuitous ARP, and an
@@ -585,25 +585,23 @@ mode · 210 unmodified lines
585 chosen.585 chosen.
586 586
587num_grat_arp587num_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
598num_unsol_na588num_unsol_na
599 589
600 Specifies the number of unsolicited IPv6 Neighbor Advertisements590 Specify the number of peer notifications (gratuitous ARPs and
601 to be issued after a failover event. One unsolicited NA is issued591 unsolicited IPv6 Neighbor Advertisements) to be issued after a
602 immediately after the failover.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.
603 597
604 The valid range is 0 - 255; the default value is 1. This option598 The valid range is 0 - 255; the default value is 1. These options
605 affects only the active-backup mode. This option was added for599 affect only the active-backup mode. These options were added for
606 bonding version 3.4.0.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.
607 605
608primary606primary
609 607
@@ -772,8 +770,17 @@ resend_igmp · 162 unmodified lines
772 a failover event. One membership report is issued immediately after770 a failover event. One membership report is issued immediately after
773 the failover, subsequent packets are sent in each 200ms interval.771 the failover, subsequent packets are sent in each 200ms interval.
774 772
775 The valid range is 0 - 255; the default value is 1. This option773 The valid range is 0 - 255; the default value is 1. A value of 0
776 was added for bonding version 3.7.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.
777 784
7783. Configuring Bonding Devices7853. Configuring Bonding Devices
779==============================786==============================
Documentation/networking/caif/Linux-CAIF.txt+1−1
@@ -136,7 +136,7 @@ The CAIF Protocol implementation contains: · 135 unmodified lines
136 - CFMUX CAIF Mux layer. Handles multiplexing between multiple136 - CFMUX CAIF Mux layer. Handles multiplexing between multiple
137 physical bearers and multiple channels such as VEI, Datagram, etc.137 physical bearers and multiple channels such as VEI, Datagram, etc.
138 The MUX keeps track of the existing CAIF Channels and138 The MUX keeps track of the existing CAIF Channels and
139 Physical Instances and selects the apropriate instance based139 Physical Instances and selects the appropriate instance based
140 on Channel-Id and Physical-ID.140 on Channel-Id and Physical-ID.
141 141
142 - CFFRML CAIF Framing layer. Handles Framing i.e. Frame length142 - 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
150void sspi_sig_xfer(bool xfer, struct cfspi_dev *dev)150void sspi_sig_xfer(bool xfer, struct cfspi_dev *dev)
151{151{
152 /* If xfer is true then you should assert the SPI_INT to indicate to152 /* 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 master153 * the master that you are ready to receive the data from the master
154 * SPI. If xfer is false then you should de-assert SPI_INT to indicate154 * SPI. If xfer is false then you should de-assert SPI_INT to indicate
155 * that the transfer is done.155 * that the transfer is done.
156 */156 */
Documentation/networking/can.txt+1−1
@@ -240,7 +240,7 @@ solution for a couple of reasons: · 239 unmodified lines
240 the user application using the common CAN filter mechanisms. Inside240 the user application using the common CAN filter mechanisms. Inside
241 this filter definition the (interested) type of errors may be241 this filter definition the (interested) type of errors may be
242 selected. The reception of error frames is disabled by default.242 selected. The reception of error frames is disabled by default.
243 The format of the CAN error frame is briefly decribed in the Linux243 The format of the CAN error frame is briefly described in the Linux
244 header file "include/linux/can/error.h".244 header file "include/linux/can/error.h".
245 245
2464. How to use Socket CAN2464. 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
139dns_query() returns a copy of the value attached to the key, or an error if139dns_query() returns a copy of the value attached to the key, or an error if
140that is indicated instead.140that is indicated instead.
141 141
142See <file:Documentation/keys-request-key.txt> for further information about142See <file:Documentation/security/keys-request-key.txt> for further
143request-key function.143information about request-key function.
144 144
145 145
146=========146=========
Documentation/networking/ieee802154.txt+1−1
@@ -9,7 +9,7 @@ The Linux-ZigBee project goal is to provide complete implementation · 8 unmodified lines
9of IEEE 802.15.4 / ZigBee / 6LoWPAN protocols. IEEE 802.15.4 is a stack9of IEEE 802.15.4 / ZigBee / 6LoWPAN protocols. IEEE 802.15.4 is a stack
10of protocols for organizing Low-Rate Wireless Personal Area Networks.10of protocols for organizing Low-Rate Wireless Personal Area Networks.
11 11
12Currently only IEEE 802.15.4 layer is implemented. We have choosen12Currently only IEEE 802.15.4 layer is implemented. We have chosen
13to use plain Berkeley socket API, the generic Linux networking stack13to use plain Berkeley socket API, the generic Linux networking stack
14to transfer IEEE 802.15.4 messages and a special protocol over genetlink14to transfer IEEE 802.15.4 messages and a special protocol over genetlink
15for configuration/management15for configuration/management
Documentation/networking/igb.txt+13−0
@@ -93,6 +93,19 @@ Additional Configurations · 92 unmodified lines
93 REQUIREMENTS: MSI-X support is required for Multiqueue. If MSI-X is not93 REQUIREMENTS: MSI-X support is required for Multiqueue. If MSI-X is not
94 found, the system will fallback to MSI or to Legacy interrupts.94 found, the system will fallback to MSI or to Legacy interrupts.
95 95
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
96Support109Support
97=======110=======
98 111
Documentation/networking/olympic.txt+1−1
@@ -65,7 +65,7 @@ together. · 64 unmodified lines
65 65
66Variable MTU size:66Variable MTU size:
67 67
68The driver can handle a MTU size upto either 4500 or 18000 depending upon 68The driver can handle a MTU size up to either 4500 or 18000 depending upon
69ring speed. The driver also changes the size of the receive buffers as part69ring speed. The driver also changes the size of the receive buffers as part
70of the mtu re-sizing, so if you set mtu = 18000, you will need to be able70of the mtu re-sizing, so if you set mtu = 18000, you will need to be able
71to allocate 16 * (sk_buff with 18000 buffer size) call it 18500 bytes per ring 71to 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
223 223
224A frame can be of any size with the only condition it can fit in a block. A block224A frame can be of any size with the only condition it can fit in a block. A block
225can only hold an integer number of frames, or in other words, a frame cannot 225can only hold an integer number of frames, or in other words, a frame cannot
226be spawned accross two blocks, so there are some details you have to take into 226be spawned across two blocks, so there are some details you have to take into
227account when choosing the frame_size. See "Mapping and use of the circular 227account when choosing the frame_size. See "Mapping and use of the circular
228buffer (ring)".228buffer (ring)".
229 229
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
37The corresponding adapter's LED will blink multiple times.37The corresponding adapter's LED will blink multiple times.
38 38
393. Features supported:393. Features supported:
40a. Jumbo frames. Xframe I/II supports MTU upto 9600 bytes,40a. Jumbo frames. Xframe I/II supports MTU up to 9600 bytes,
41modifiable using ifconfig command.41modifiable using ifconfig command.
42 42
43b. Offloads. Supports checksum offload(TCP/UDP/IP) on transmit43b. Offloads. Supports checksum offload(TCP/UDP/IP) on transmit
@@ -49,7 +49,7 @@ significant performance improvement on certain platforms(SGI Altix, · 5 unmodified lines
49IBM xSeries).49IBM xSeries).
50 50
51d. MSI/MSI-X. Can be enabled on platforms which support this feature51d. 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%
53on certain platforms).53on certain platforms).
54 54
55e. Statistics. Comprehensive MAC-level and software statistics displayed55e. Statistics. Comprehensive MAC-level and software statistics displayed
Documentation/networking/tc-actions-env-rules.txt+2−2
@@ -1,5 +1,5 @@
1 1
2The "enviromental" rules for authors of any new tc actions are:2The "environmental" rules for authors of any new tc actions are:
3 3
41) If you stealeth or borroweth any packet thou shalt be branching41) If you stealeth or borroweth any packet thou shalt be branching
5from the righteous path and thou shalt cloneth.5from the righteous path and thou shalt cloneth.
@@ -20,7 +20,7 @@ this way any action downstream can stomp on the packet. · 14 unmodified lines
203) Dropping packets you don't own is a no-no. You simply return203) Dropping packets you don't own is a no-no. You simply return
21TC_ACT_SHOT to the caller and they will drop it.21TC_ACT_SHOT to the caller and they will drop it.
22 22
23The "enviromental" rules for callers of actions (qdiscs etc) are:23The "environmental" rules for callers of actions (qdiscs etc) are:
24 24
25*) Thou art responsible for freeing anything returned as being25*) Thou art responsible for freeing anything returned as being
26TC_ACT_SHOT/STOLEN/QUEUED. If none of TC_ACT_SHOT/STOLEN/QUEUED is26TC_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
279 time.) Unlike the other suspend-related phases, during the prepare279 time.) Unlike the other suspend-related phases, during the prepare
280 phase the device tree is traversed top-down.280 phase the device tree is traversed top-down.
281 281
282 The prepare phase uses only a bus callback. After the callback method282 In addition to that, if device drivers need to allocate additional
283 returns, no new children may be registered below the device. The method283 memory to be able to hadle device suspend correctly, that should be
284 may also prepare the device or driver in some way for the upcoming284 done in the prepare phase.
285 system power transition, but it should not put the device into a285
286 low-power state.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.
287 291
288 2. The suspend methods should quiesce the device to stop it from performing292 2. The suspend methods should quiesce the device to stop it from performing
289 I/O. They also may save the device registers and put it into the293 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
367suspend methods were called, for example by complete reinitialization.371suspend methods were called, for example by complete reinitialization.
368This may be the hardest part, and the one most protected by NDA'd documents372This may be the hardest part, and the one most protected by NDA'd documents
369and chip errata. It's simplest if the hardware state hasn't changed since373and chip errata. It's simplest if the hardware state hasn't changed since
370the suspend was carried out, but that can't be guaranteed (in fact, it ususally374the suspend was carried out, but that can't be guaranteed (in fact, it usually
371is not the case).375is not the case).
372 376
373Drivers must also be prepared to notice that the device has been removed377Drivers must also be prepared to notice that the device has been removed
Documentation/power/notifiers.txt+24−29
@@ -1,46 +1,41 @@
1Suspend notifiers1Suspend notifiers
2 (C) 2007 Rafael J. Wysocki <rjw@sisk.pl>, GPL2 (C) 2007-2011 Rafael J. Wysocki <rjw@sisk.pl>, GPL
3 3
4There are some operations that device drivers may want to carry out in their4There are some operations that subsystems or drivers may want to carry out
5.suspend() routines, but shouldn't, because they can cause the hibernation or5before hibernation/suspend or after restore/resume, but they require the system
6suspend to fail. For example, a driver may want to allocate a substantial amount6to be fully functional, so the drivers' and subsystems' .suspend() and .resume()
7of memory (like 50 MB) in .suspend(), but that shouldn't be done after the7or even .prepare() and .complete() callbacks are not suitable for this purpose.
8swsusp's memory shrinker has run.8For example, device drivers may want to upload firmware to their devices after
9 9resume/restore, but they cannot do it by calling request_firmware() from their
10Also, there may be some operations, that subsystems want to carry out before a10.resume() or .complete() routines (user land processes are frozen at these
11hibernation/suspend or after a restore/resume, requiring the system to be fully11points). The solution may be to load the firmware into memory before processes
12functional, so the drivers' .suspend() and .resume() routines are not suitable12are frozen and upload it from there in the .resume() routine.
13for this purpose. For example, device drivers may want to upload firmware to13A suspend/hibernation notifier may be used for this purpose.
14their devices after a restore from a hibernation image, but they cannot do it by14
15calling request_firmware() from their .resume() routines (user land processes15The subsystems or drivers having such needs can register suspend notifiers that
16are frozen at this point). The solution may be to load the firmware into16will be called upon the following events by the PM core:
17memory before processes are frozen and upload it from there in the .resume()
18routine. Of course, a hibernation notifier may be used for this purpose.
19
20The subsystems that have such needs can register suspend notifiers that will be
21called upon the following events by the suspend core:
22 17
23PM_HIBERNATION_PREPARE The system is going to hibernate or suspend, tasks will18PM_HIBERNATION_PREPARE The system is going to hibernate or suspend, tasks will
24 be frozen immediately.19 be frozen immediately.
25 20
26PM_POST_HIBERNATION The system memory state has been restored from a21PM_POST_HIBERNATION The system memory state has been restored from a
27 hibernation image or an error occured during the22 hibernation image or an error occurred during
28 hibernation. Device drivers' .resume() callbacks have23 hibernation. Device drivers' restore callbacks have
29 been executed and tasks have been thawed.24 been executed and tasks have been thawed.
30 25
31PM_RESTORE_PREPARE The system is going to restore a hibernation image.26PM_RESTORE_PREPARE The system is going to restore a hibernation image.
32 If all goes well the restored kernel will issue a27 If all goes well, the restored kernel will issue a
33 PM_POST_HIBERNATION notification.28 PM_POST_HIBERNATION notification.
34 29
35PM_POST_RESTORE An error occurred during the hibernation restore.30PM_POST_RESTORE An error occurred during restore from hibernation.
36 Device drivers' .resume() callbacks have been executed31 Device drivers' restore callbacks have been executed
37 and tasks have been thawed.32 and tasks have been thawed.
38 33
39PM_SUSPEND_PREPARE The system is preparing for a suspend.34PM_SUSPEND_PREPARE The system is preparing for suspend.
40 35
41PM_POST_SUSPEND The system has just resumed or an error occured during36PM_POST_SUSPEND The system has just resumed or an error occurred during
42 the suspend. Device drivers' .resume() callbacks have37 suspend. Device drivers' resume callbacks have been
43 been executed and tasks have been thawed.38 executed and tasks have been thawed.
44 39
45It is generally assumed that whatever the notifiers do for40It is generally assumed that whatever the notifiers do for
46PM_HIBERNATION_PREPARE, should be undone for PM_POST_HIBERNATION. Analogously,41PM_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
178 if (!IS_ERR(opp))178 if (!IS_ERR(opp))
179 soc_switch_to_freq_voltage(freq);179 soc_switch_to_freq_voltage(freq);
180 else180 else
181 /* do something when we cant satisfy the req */181 /* do something when we can't satisfy the req */
182 /* do other stuff */182 /* do other stuff */
183 }183 }
184 184
Documentation/power/regulator/machine.txt+2−2
@@ -53,11 +53,11 @@ static struct regulator_init_data regulator1_data = { · 52 unmodified lines
53 53
54Regulator-1 supplies power to Regulator-2. This relationship must be registered54Regulator-1 supplies power to Regulator-2. This relationship must be registered
55with the core so that Regulator-1 is also enabled when Consumer A enables its55with the core so that Regulator-1 is also enabled when Consumer A enables its
56supply (Regulator-2). The supply regulator is set by the supply_regulator_dev56supply (Regulator-2). The supply regulator is set by the supply_regulator
57field below:-57field below:-
58 58
59static struct regulator_init_data regulator2_data = {59static struct regulator_init_data regulator2_data = {
60 .supply_regulator_dev = &platform_regulator1_device.dev,60 .supply_regulator = "regulator_name",
61 .constraints = {61 .constraints = {
62 .min_uV = 1800000,62 .min_uV = 1800000,
63 .max_uV = 2000000,63 .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
192distinctions between SUSPEND and FREEZE.192distinctions between SUSPEND and FREEZE.
193 193
194A: Doing SUSPEND when you are asked to do FREEZE is always correct,194A: Doing SUSPEND when you are asked to do FREEZE is always correct,
195but it may be unneccessarily slow. If you want your driver to stay simple,195but it may be unnecessarily slow. If you want your driver to stay simple,
196slowness may not matter to you. It can always be fixed later.196slowness may not matter to you. It can always be fixed later.
197 197
198For devices like disk it does matter, you do not want to spindown for198For 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
237 237
238 running system, user asks for suspend-to-disk238 running system, user asks for suspend-to-disk
239 239
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)
241 241
242 read image from disk242 read image from disk
243 243
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
98The device's read() operation can be used to transfer the snapshot image from98The device's read() operation can be used to transfer the snapshot image from
99the kernel. It has the following limitations:99the kernel. It has the following limitations:
100- you cannot read() more than one virtual memory page at a time100- 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 of101- read()s across page boundaries are impossible (ie. if ypu read() 1/2 of
102 a page in the previous call, you will only be able to read()102 a page in the previous call, you will only be able to read()
103 _at_ _most_ 1/2 of the page in the next call)103 _at_ _most_ 1/2 of the page in the next call)
104 104
@@ -137,7 +137,7 @@ mechanism and the userland utilities using the interface SHOULD use additional · 32 unmodified lines
137means, such as checksums, to ensure the integrity of the snapshot image.137means, such as checksums, to ensure the integrity of the snapshot image.
138 138
139The suspending and resuming utilities MUST lock themselves in memory,139The suspending and resuming utilities MUST lock themselves in memory,
140preferrably using mlockall(), before calling SNAPSHOT_FREEZE.140preferably using mlockall(), before calling SNAPSHOT_FREEZE.
141 141
142The suspending utility MUST check the value stored by SNAPSHOT_CREATE_IMAGE142The suspending utility MUST check the value stored by SNAPSHOT_CREATE_IMAGE
143in the memory location pointed to by the last argument of ioctl() and proceed143in the memory location pointed to by the last argument of ioctl() and proceed
@@ -147,7 +147,7 @@ in accordance with it: · 3 unmodified lines
147 (a) The suspending utility MUST NOT close the snapshot device147 (a) The suspending utility MUST NOT close the snapshot device
148 _unless_ the whole suspend procedure is to be cancelled, in148 _unless_ the whole suspend procedure is to be cancelled, in
149 which case, if the snapshot image has already been saved, the149 which case, if the snapshot image has already been saved, the
150 suspending utility SHOULD destroy it, preferrably by zapping150 suspending utility SHOULD destroy it, preferably by zapping
151 its header. If the suspend is not to be cancelled, the151 its header. If the suspend is not to be cancelled, the
152 system MUST be powered off or rebooted after the snapshot152 system MUST be powered off or rebooted after the snapshot
153 image has been saved.153 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
528order than how they would be exposed on module load. Rebooting or528order than how they would be exposed on module load. Rebooting or
529reloading the module after dynamic addition may result in the /dev/hvcs*529reloading the module after dynamic addition may result in the /dev/hvcs*
530and vty-server coupling changing if a vty-server adapter was added in a530and vty-server coupling changing if a vty-server adapter was added in a
531slot inbetween two other vty-server adapters. Refer to the section above531slot between two other vty-server adapters. Refer to the section above
532on how to determine which vty-server goes with which /dev/hvcs* node.532on how to determine which vty-server goes with which /dev/hvcs* node.
533Hint; look at the sysfs "index" attribute for the vty-server.533Hint; look at the sysfs "index" attribute for the vty-server.
534 534
Documentation/pti/pti_intel_mid.txt+99−0
@@ -0,0 +1,99 @@
1The Intel MID PTI project is HW implemented in Intel Atom
2system-on-a-chip designs based on the Parallel Trace
3Interface for MIPI P1149.7 cJTAG standard. The kernel solution
4for 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
12pti.c is the driver that enables various debugging features
13popular on platforms from certain mobile manufacturers.
14n_tracerouter.c and n_tracesink.c allow extra system information to
15be collected and routed to the pti driver, such as trace
16debugging data from a modem. Although n_tracerouter
17and n_tracesink are a part of the complete PTI solution,
18these two line disciplines can work separately from
19pti.c and route any data stream from one /dev/tty node
20to another /dev/tty node via kernel-space. This provides
21a stable, reliable connection that will not break unless
22the user-space application shuts down (plus avoids
23kernel->user->kernel context switch overheads of routing
24data).
25
26An 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
37Below is example pseudo-code on how a 'privileged' application
38can hook up n_tracerouter and n_tracesink to any tty on
39a system. 'Privileged' means the application has enough
40privileges to successfully manipulate the ldisc drivers
41but is not just blindly executing as 'root'. Keep in mind
42the use of ioctl(,TIOCSETD,) is not specific to the n_tracerouter
43and n_tracesink line discpline drivers but is a generic
44operation for a program to use a line discpline driver
45on 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
55static int g_fd_source = -1;
56static 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.
61int source_ldisc_num, sink_ldisc_num = -1;
62int retval;
63
64g_fd_source = open(ONE_TTY, O_RDWR); // must be R/W
65g_fd_sink = open(TWO_TTY, O_RDWR); // must be R/W
66
67if (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
73retval = ioctl(g_fd_sink, TIOCSETD, &sink_ldisc_num);
74if (retval < 0) {
75 printf("Error on ioctl(). errno: %d\n", errno);
76 return errno;
77}
78
79retval = ioctl(g_fd_source, TIOCSETD, &source_ldisc_num);
80if (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.
91sink_ldisc_num = 0;
92source_ldisc_num = 0;
93ioctl(g_fd_uart, TIOCSETD, &sink_ldisc_num);
94ioctl(g_fd_gadget, TIOCSETD, &source_ldisc_num);
95
96// Three, program closes connection, and cleanup:
97close(g_fd_uart);
98close(g_fd_gadget);
99g_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>
50static int clock_adjtime(clockid_t id, struct timex *tx)
51{
52 return syscall(__NR_clock_adjtime, id, tx);
53}
54
55static 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
63static void handle_alarm(int s)
64{
65 printf("received signal %d\n", s);
66}
67
68static 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
87static 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
103static 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
123int 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
19CC = $(CROSS_COMPILE)gcc
20INC = -I$(KBUILD_OUTPUT)/usr/include
21CFLAGS = -Wall $(INC)
22LDLIBS = -lrt
23PROGS = testptp
24
25all: $(PROGS)
26
27testptp: testptp.o
28
29clean:
30 rm -f testptp.o
31
32distclean: clean
33 rm -f $(PROGS)
Documentation/s390/Debugging390.txt+1−1
@@ -2273,7 +2273,7 @@ IP forwarding is on. · 2272 unmodified lines
2273There is a lot of useful info in here best found by going in & having a look around,2273There is a lot of useful info in here best found by going in & having a look around,
2274so I'll take you through some entries I consider important.2274so I'll take you through some entries I consider important.
2275 2275
2276All the processes running on the machine have there own entry defined by2276All the processes running on the machine have their own entry defined by
2277/proc/<pid>2277/proc/<pid>
2278So lets have a look at the init process2278So lets have a look at the init process
2279cd /proc/12279cd /proc/1
Documentation/scheduler/sched-domains.txt+23−9
@@ -1,8 +1,7 @@
1Each CPU has a "base" scheduling domain (struct sched_domain). These are1Each CPU has a "base" scheduling domain (struct sched_domain). The domain
2accessed via cpu_sched_domain(i) and this_sched_domain() macros. The domain
3hierarchy is built from these base domains via the ->parent pointer. ->parent2hierarchy is built from these base domains via the ->parent pointer. ->parent
4MUST be NULL terminated, and domain structures should be per-CPU as they3MUST be NULL terminated, and domain structures should be per-CPU as they are
5are locklessly updated.4locklessly updated.
6 5
7Each scheduling domain spans a number of CPUs (stored in the ->span field).6Each scheduling domain spans a number of CPUs (stored in the ->span field).
8A domain's span MUST be a superset of it child's span (this restriction could7A 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
26load of each of its member CPUs, and only when the load of a group becomes25load of each of its member CPUs, and only when the load of a group becomes
27out of balance are tasks moved between groups.26out of balance are tasks moved between groups.
28 27
29In kernel/sched.c, rebalance_tick is run periodically on each CPU. This28In kernel/sched.c, trigger_load_balance() is run periodically on each CPU
30function takes its CPU's base sched domain and checks to see if has reached29through scheduler_tick(). It raises a softirq after the next regularly scheduled
31its rebalance interval. If so, then it will run load_balance on that domain.30rebalancing event for the current runqueue has arrived. The actual load
32rebalance_tick then checks the parent sched_domain (if it exists), and the31balancing workhorse, run_rebalance_domains()->rebalance_domains(), is then run
33parent of the parent and so forth.32in softirq context (SCHED_SOFTIRQ).
33
34The latter function takes two arguments: the current CPU and whether it was idle
35at the time the scheduler_tick() happened and iterates over all sched domains
36our CPU is on, starting from its base domain and going up the ->parent chain.
37While doing that, it checks to see if the current domain has exhausted its
38rebalance interval. If so, it runs load_balance() on that domain. It then checks
39the parent sched_domain (if it exists), and the parent of the parent and so
40forth.
41
42Initially, load_balance() finds the busiest group in the current sched domain.
43If it succeeds, it looks for the busiest runqueue of all the CPUs' runqueues in
44that group. If it manages to find such a runqueue, it locks both our initial
45CPU's runqueue and the newly found busiest one and starts moving tasks from it
46to our runqueue. The exact number of tasks amounts to an imbalance previously
47computed while iterating over this sched domain's groups.
34 48
35*** Implementing sched domains ***49*** Implementing sched domains ***
36The "base" domain will "span" the first level of the hierarchy. In the case50The "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
352 lpfc_scsiport.c352 lpfc_scsiport.c
353 * In remote port changes: no longer nulling target->pnode when353 * In remote port changes: no longer nulling target->pnode when
354 removing from mapped list. Pnode get nulled when the node is354 removing from mapped list. Pnode get nulled when the node is
355 freed (after nodev tmo). This bug was causing i/o recieved in355 freed (after nodev tmo). This bug was causing i/o received in
356 the small window while the device was blocked to be errored w/356 the small window while the device was blocked to be errored w/
357 did_no_connect. With the fix, it returns host_busy357 did_no_connect. With the fix, it returns host_busy
358 (per the pre-remote port changes).358 (per the pre-remote port changes).
@@ -530,7 +530,7 @@ Changes from 20041018 to 20041123 · 171 unmodified lines
530 coherent mappings. Note: There are more consistent mappings530 coherent mappings. Note: There are more consistent mappings
531 that are using pci_dma_sync calls. Probably these should be531 that are using pci_dma_sync calls. Probably these should be
532 removed as well.532 removed as well.
533 * Modified lpfc_free_scsi_buf to accomodate all three scsi_buf533 * Modified lpfc_free_scsi_buf to accommodate all three scsi_buf
534 free types to alleviate miscellaneous panics with cable pull534 free types to alleviate miscellaneous panics with cable pull
535 testing.535 testing.
536 * Set hotplug to default 0 and lpfc_target_remove to not remove536 * Set hotplug to default 0 and lpfc_target_remove to not remove
@@ -583,7 +583,7 @@ Changes from 20041018 to 20041123 · 46 unmodified lines
583 included more than once.583 included more than once.
584 * Replaced "set_current_state(TASK_UNINTERRUPTIBLE);584 * Replaced "set_current_state(TASK_UNINTERRUPTIBLE);
585 schedule_timeout(timeout)" with "msleep(timeout)".585 schedule_timeout(timeout)" with "msleep(timeout)".
586 * Fixnode was loosing starget when rediscovered. We saw messages586 * Fixnode was losing starget when rediscovered. We saw messages
587 like: lpfc 0000:04:02.0: 0:0263 Cannot block scsi target as a587 like: lpfc 0000:04:02.0: 0:0263 Cannot block scsi target as a
588 result. Moved starget field into struct lpfc_target which is588 result. Moved starget field into struct lpfc_target which is
589 referenced from the node.589 referenced from the node.
@@ -604,7 +604,7 @@ Changes from 20041018 to 20041123 · 14 unmodified lines
604 * Make 3 functions static: lpfc_get_hba_sym_node_name,604 * Make 3 functions static: lpfc_get_hba_sym_node_name,
605 lpfc_intr_prep and lpfc_setup_slim_access. Move lpfc_intr_prep605 lpfc_intr_prep and lpfc_setup_slim_access. Move lpfc_intr_prep
606 and lpfc_setup_slim_access so they're defined before being used.606 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.
608 * Set nlp_state before calling lpfc_nlp_list() since this will608 * Set nlp_state before calling lpfc_nlp_list() since this will
609 potentially call fc_target_unblock which may cause a race in609 potentially call fc_target_unblock which may cause a race in
610 queuecommand by releasing host_lock.610 queuecommand by releasing host_lock.
@@ -753,7 +753,7 @@ Changes from 20040908 to 20040920 · 142 unmodified lines
753 * Changed version number to 8.0.12753 * Changed version number to 8.0.12
754 * Removed used #defines: DEFAULT_PCI_LATENCY_CLOCKS and754 * Removed used #defines: DEFAULT_PCI_LATENCY_CLOCKS and
755 PCI_LATENCY_VALUE from lpfc_hw.h.755 PCI_LATENCY_VALUE from lpfc_hw.h.
756 * Changes to accomodate rnid.756 * Changes to accommodate rnid.
757 * Fix RSCN handling so RSCN NS queries only effect NPorts found in757 * Fix RSCN handling so RSCN NS queries only effect NPorts found in
758 RSCN data.758 RSCN data.
759 * If we rcv a plogi on a NPort queued up for discovery, clear the759 * 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
813 counter instead, brd_no isn't reused anymore. Also some tiny813 counter instead, brd_no isn't reused anymore. Also some tiny
814 whitespace cleanups in surrounding code.814 whitespace cleanups in surrounding code.
815 * Reorder functions in lpfc_els.c to remove need for prototypes.815 * 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 -
817 lpfc_ip_timeout_handler, lpfc_read_pci and lpfc_revoke.817 lpfc_ip_timeout_handler, lpfc_read_pci and lpfc_revoke.
818 * Removed some unused prototypes from lpfc_crtn.h -818 * Removed some unused prototypes from lpfc_crtn.h -
819 lpfc_scsi_hba_reset, lpfc_scsi_issue_inqsn,819 lpfc_scsi_hba_reset, lpfc_scsi_issue_inqsn,
@@ -863,7 +863,7 @@ Changes from 20040823 to 20040908 · 43 unmodified lines
863 * Minimal support for SCSI flat space addressing/volume set863 * Minimal support for SCSI flat space addressing/volume set
864 addressing. Use 16 bits of LUN address so that flat864 addressing. Use 16 bits of LUN address so that flat
865 addressing/VSA will work.865 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)
867 * Drop include of lpfc_cfgparm.h.867 * Drop include of lpfc_cfgparm.h.
868 * Reduce stack usage of lpfc_fdmi_cmd in lpfc_ct.c.868 * Reduce stack usage of lpfc_fdmi_cmd in lpfc_ct.c.
869 * Add minimum range checking property to /sys write/store869 * Add minimum range checking property to /sys write/store
@@ -1449,7 +1449,7 @@ Changes from 20040402 to 20040409 · 579 unmodified lines
1449 * Removed lpfc_els_chk_latt from the lpfc_config_post function.1449 * Removed lpfc_els_chk_latt from the lpfc_config_post function.
1450 lpfc_els_chk_latt will enable the link event interrupts when1450 lpfc_els_chk_latt will enable the link event interrupts when
1451 flogi is pending which causes two discovery state machines1451 flogi is pending which causes two discovery state machines
1452 running parallely.1452 running parallelly.
1453 * Add pci_disable_device to unload path.1453 * Add pci_disable_device to unload path.
1454 * Move lpfc_sleep_event from lpfc_fcp.c to lpfc_util_ioctl.c1454 * Move lpfc_sleep_event from lpfc_fcp.c to lpfc_util_ioctl.c
1455 * Call dma_map_single() & pci_map_single() directly instead of via1455 * Call dma_map_single() & pci_map_single() directly instead of via
@@ -1590,7 +1590,7 @@ Changes from 20040326 to 20040402 · 134 unmodified lines
1590 ELX_WRITE_HS ELX_WRITE_HA ELX_WRITE_CA ELX_READ_HC1590 ELX_WRITE_HS ELX_WRITE_HA ELX_WRITE_CA ELX_READ_HC
1591 ELX_READ_HS ELX_READ_HA ELX_READ_CA ELX_READ_MB ELX_RESET1591 ELX_READ_HS ELX_READ_HA ELX_READ_CA ELX_READ_MB ELX_RESET
1592 ELX_READ_HBA ELX_INSTANCE ELX_LIP. Also introduced1592 ELX_READ_HBA ELX_INSTANCE ELX_LIP. Also introduced
1593 attribute "set" to be used in conjuction with the above1593 attribute "set" to be used in conjunction with the above
1594 attributes.1594 attributes.
1595 * Removed DLINK, enque and deque declarations now that clock1595 * Removed DLINK, enque and deque declarations now that clock
1596 doesn't use them anymore1596 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
168 168
1691. Sorted out PCI IDs to remove megaraid support overlaps.1691. Sorted out PCI IDs to remove megaraid support overlaps.
170 Based on the patch from Daniel, sorted out PCI IDs along with170 Based on the patch from Daniel, sorted out PCI IDs along with
171 charactor node name change from 'megadev' to 'megadev_legacy' to avoid171 character node name change from 'megadev' to 'megadev_legacy' to avoid
172 conflict.172 conflict.
173 ---173 ---
174 Hopefully we'll be getting the build restriction zapped much sooner, 174 Hopefully we'll be getting the build restriction zapped much sooner,
Documentation/scsi/ChangeLog.megaraid_sas+14−0
@@ -1,3 +1,17 @@
1Release Date : Wed. May 11, 2011 17:00:00 PST 2010 -
2 (emaild-id:megaraidlinux@lsi.com)
3 Adam Radford
4Current Version : 00.00.05.38-rc1
5Old 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-------------------------------------------------------------------------------
1Release Date : Thu. Feb 24, 2011 17:00:00 PST 2010 -15Release Date : Thu. Feb 24, 2011 17:00:00 PST 2010 -
2 (emaild-id:megaraidlinux@lsi.com)16 (emaild-id:megaraidlinux@lsi.com)
3 Adam Radford17 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
200 By default the driver uses both IRQF_SHARED and IRQF_DISABLED.200 By default the driver uses both IRQF_SHARED and IRQF_DISABLED.
201 Option 'ncr53c8xx=irqm:0x20' may be used when an IRQ is shared by 201 Option 'ncr53c8xx=irqm:0x20' may be used when an IRQ is shared by
202 a 53C8XX adapter and a network board.202 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
204 harmless.204 harmless.
205 - Negotiate SYNC data transfers with CCS devices.205 - Negotiate SYNC data transfers with CCS devices.
206 206
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
457Sat Dec 19 21:00 1998 Gerard Roudier (groudier@club-internet.fr)457Sat Dec 19 21:00 1998 Gerard Roudier (groudier@club-internet.fr)
458 * version sym53c8xx-1.0458 * version sym53c8xx-1.0
459 - Define some new IO registers for the 896 (istat1, mbox0, mbox1)459 - 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
461 the header file I received from Symbios.461 the header file I received from Symbios.
462 - Check the PCI bus number for the boot order (Using a fast 462 - Check the PCI bus number for the boot order (Using a fast
463 PCI controller behing a PCI-PCI bridge seems sub-optimal).463 PCI controller behing a PCI-PCI bridge seems sub-optimal).
Documentation/scsi/LICENSE.qla2xxx+287−5
@@ -1,11 +1,11 @@
1Copyright (c) 2003-2005 QLogic Corporation1Copyright (c) 2003-2011 QLogic Corporation
2QLogic Linux Fibre Channel HBA Driver2QLogic Linux/ESX Fibre Channel HBA Driver
3 3
4This program includes a device driver for Linux 2.6 that may be4This program includes a device driver for Linux 2.6/ESX that may be
5distributed with QLogic hardware specific firmware binary file.5distributed with QLogic hardware specific firmware binary file.
6You may modify and redistribute the device driver code under the6You may modify and redistribute the device driver code under the
7GNU General Public License as published by the Free Software7GNU General Public License (a copy of which is attached hereto as
8Foundation (version 2 or a later version).8Exhibit A) published by the Free Software Foundation (version 2).
9 9
10You may redistribute the hardware specific firmware binary file10You may redistribute the hardware specific firmware binary file
11under the following terms:11under the following terms:
@@ -43,3 +43,285 @@ OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS (PATENT, COPYRIGHT, · 31 unmodified lines
43TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) EMBODIED IN43TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) EMBODIED IN
44ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN44ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN
45COMBINATION WITH THIS PROGRAM.45COMBINATION WITH THIS PROGRAM.
46
47
48EXHIBIT 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
61freedom to share and change it. By contrast, the GNU General Public
62License is intended to guarantee your freedom to share and change free
63software--to make sure the software is free for all its users. This
64General Public License applies to most of the Free Software
65Foundation's software and to any other program whose authors commit to
66using it. (Some other Free Software Foundation software is covered by
67the GNU Lesser General Public License instead.) You can apply it to
68your programs, too.
69
70 When we speak of free software, we are referring to freedom, not
71price. Our General Public Licenses are designed to make sure that you
72have the freedom to distribute copies of free software (and charge for
73this service if you wish), that you receive source code or can get it
74if you want it, that you can change the software or use pieces of it
75in 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
78anyone to deny you these rights or to ask you to surrender the rights.
79These restrictions translate to certain responsibilities for you if you
80distribute copies of the software, or if you modify it.
81
82 For example, if you distribute copies of such a program, whether
83gratis or for a fee, you must give the recipients all the rights that
84you have. You must make sure that they, too, receive or can get the
85source code. And you must show them these terms so they know their
86rights.
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,
90distribute and/or modify the software.
91
92 Also, for each author's protection and ours, we want to make certain
93that everyone understands that there is no warranty for this free
94software. If the software is modified by someone else and passed on, we
95want its recipients to know that what they have is not the original, so
96that any problems introduced by others will not reflect on the original
97authors' reputations.
98
99 Finally, any free program is threatened constantly by software
100patents. We wish to avoid the danger that redistributors of a free
101program will individually obtain patent licenses, in effect making the
102program proprietary. To prevent this, we have made it clear that any
103patent must be licensed for everyone's free use or not licensed at all.
104
105 The precise terms and conditions for copying, distribution and
106modification 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
112a notice placed by the copyright holder saying it may be distributed
113under the terms of this General Public License. The "Program", below,
114refers to any such program or work, and a "work based on the Program"
115means either the Program or any derivative work under copyright law:
116that is to say, a work containing the Program or a portion of it,
117either verbatim or with modifications and/or translated into another
118language. (Hereinafter, translation is included without limitation in
119the term "modification".) Each licensee is addressed as "you".
120
121Activities other than copying, distribution and modification are not
122covered by this License; they are outside its scope. The act of
123running the Program is not restricted, and the output from the Program
124is covered only if its contents constitute a work based on the
125Program (independent of having been made by running the Program).
126Whether that is true depends on what the Program does.
127
128 1. You may copy and distribute verbatim copies of the Program's
129source code as you receive it, in any medium, provided that you
130conspicuously and appropriately publish on each copy an appropriate
131copyright notice and disclaimer of warranty; keep intact all the
132notices that refer to this License and to the absence of any warranty;
133and give any other recipients of the Program a copy of this License
134along with the Program.
135
136You may charge a fee for the physical act of transferring a copy, and
137you 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
140of it, thus forming a work based on the Program, and copy and
141distribute such modifications or work under the terms of Section 1
142above, 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
163These requirements apply to the modified work as a whole. If
164identifiable sections of that work are not derived from the Program,
165and can be reasonably considered independent and separate works in
166themselves, then this License, and its terms, do not apply to those
167sections when you distribute them as separate works. But when you
168distribute the same sections as part of a whole which is a work based
169on the Program, the distribution of the whole must be on the terms of
170this License, whose permissions for other licensees extend to the
171entire whole, and thus to each and every part regardless of who wrote it.
172
173Thus, it is not the intent of this section to claim rights or contest
174your rights to work written entirely by you; rather, the intent is to
175exercise the right to control the distribution of derivative or
176collective works based on the Program.
177
178In addition, mere aggregation of another work not based on the Program
179with the Program (or with a work based on the Program) on a volume of
180a storage or distribution medium does not bring the other work under
181the scope of this License.
182
183 3. You may copy and distribute the Program (or a work based on it,
184under Section 2) in object code or executable form under the terms of
185Sections 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
204The source code for a work means the preferred form of the work for
205making modifications to it. For an executable work, complete source
206code means all the source code for all modules it contains, plus any
207associated interface definition files, plus the scripts used to
208control compilation and installation of the executable. However, as a
209special exception, the source code distributed need not include
210anything that is normally distributed (in either source or binary
211form) with the major components (compiler, kernel, and so on) of the
212operating system on which the executable runs, unless that component
213itself accompanies the executable.
214
215If distribution of executable or object code is made by offering
216access to copy from a designated place, then offering equivalent
217access to copy the source code from the same place counts as
218distribution of the source code, even though third parties are not
219compelled to copy the source along with the object code.
220
221 4. You may not copy, modify, sublicense, or distribute the Program
222except as expressly provided under this License. Any attempt
223otherwise to copy, modify, sublicense or distribute the Program is
224void, and will automatically terminate your rights under this License.
225However, parties who have received copies, or rights, from you under
226this License will not have their licenses terminated so long as such
227parties remain in full compliance.
228
229 5. You are not required to accept this License, since you have not
230signed it. However, nothing else grants you permission to modify or
231distribute the Program or its derivative works. These actions are
232prohibited by law if you do not accept this License. Therefore, by
233modifying or distributing the Program (or any work based on the
234Program), you indicate your acceptance of this License to do so, and
235all its terms and conditions for copying, distributing or modifying
236the Program or works based on it.
237
238 6. Each time you redistribute the Program (or any work based on the
239Program), the recipient automatically receives a license from the
240original licensor to copy, distribute or modify the Program subject to
241these terms and conditions. You may not impose any further
242restrictions on the recipients' exercise of the rights granted herein.
243You are not responsible for enforcing compliance by third parties to
244this License.
245
246 7. If, as a consequence of a court judgment or allegation of patent
247infringement or for any other reason (not limited to patent issues),
248conditions are imposed on you (whether by court order, agreement or
249otherwise) that contradict the conditions of this License, they do not
250excuse you from the conditions of this License. If you cannot
251distribute so as to satisfy simultaneously your obligations under this
252License and any other pertinent obligations, then as a consequence you
253may not distribute the Program at all. For example, if a patent
254license would not permit royalty-free redistribution of the Program by
255all those who receive copies directly or indirectly through you, then
256the only way you could satisfy both it and this License would be to
257refrain entirely from distribution of the Program.
258
259If any portion of this section is held invalid or unenforceable under
260any particular circumstance, the balance of the section is intended to
261apply and the section as a whole is intended to apply in other
262circumstances.
263
264It is not the purpose of this section to induce you to infringe any
265patents or other property right claims or to contest validity of any
266such claims; this section has the sole purpose of protecting the
267integrity of the free software distribution system, which is
268implemented by public license practices. Many people have made
269generous contributions to the wide range of software distributed
270through that system in reliance on consistent application of that
271system; it is up to the author/donor to decide if he or she is willing
272to distribute software through any other system and a licensee cannot
273impose that choice.
274
275This section is intended to make thoroughly clear what is believed to
276be a consequence of the rest of this License.
277
278 8. If the distribution and/or use of the Program is restricted in
279certain countries either by patents or by copyrighted interfaces, the
280original copyright holder who places the Program under this License
281may add an explicit geographical distribution limitation excluding
282those countries, so that distribution is permitted only in or among
283countries not thus excluded. In such case, this License incorporates
284the limitation as if written in the body of this License.
285
286 9. The Free Software Foundation may publish revised and/or new versions
287of the General Public License from time to time. Such new versions will
288be similar in spirit to the present version, but may differ in detail to
289address new problems or concerns.
290
291Each version is given a distinguishing version number. If the Program
292specifies a version number of this License which applies to it and "any
293later version", you have the option of following the terms and conditions
294either of that version or of any later version published by the Free
295Software Foundation. If the Program does not specify a version number of
296this License, you may choose any version ever published by the Free Software
297Foundation.
298
299 10. If you wish to incorporate parts of the Program into other free
300programs whose distribution conditions are different, write to the author
301to ask for permission. For software which is copyrighted by the Free
302Software Foundation, write to the Free Software Foundation; we sometimes
303make exceptions for this. Our decision will be guided by the two goals
304of preserving the free status of all derivatives of our free software and
305of 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
310FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
311OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
312PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
313OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
314MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
315TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
316PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
317REPAIR OR CORRECTION.
318
319 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
320WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
321REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
322INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
323OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
324TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
325YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
326PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
327POSSIBILITY 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
124the right geometry to be able to interpret it.124the right geometry to be able to interpret it.
125 125
126Moreover there are certain limitations to the C/H/S addressing scheme,126Moreover there are certain limitations to the C/H/S addressing scheme,
127namely the address space is limited to upto 255 heads, upto 63 sectors127namely the address space is limited to up to 255 heads, up to 63 sectors
128and a maximum of 1023 cylinders.128and a maximum of 1023 cylinders.
129 129
130The AHA-1522 BIOS calculates the geometry by fixing the number of heads130The 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
267 Option: tag_info:{{value[,value...]}[,{value[,value...]}...]}267 Option: tag_info:{{value[,value...]}[,{value[,value...]}...]}
268 Definition: Set the per-target tagged queue depth on a268 Definition: Set the per-target tagged queue depth on a
269 per controller basis. Both controllers and targets269 per controller basis. Both controllers and targets
270 may be ommitted indicating that they should retain270 may be omitted indicating that they should retain
271 the default tag depth.271 the default tag depth.
272 Examples: tag_info:{{16,32,32,64,8,8,,32,32,32,32,32,32,32,32,32}272 Examples: tag_info:{{16,32,32,64,8,8,,32,32,32,32,32,32,32,32,32}
273 On Controller 0273 On Controller 0
@@ -291,7 +291,7 @@ The following information is available in this file: · 17 unmodified lines
291 The rd_strm_bitmask is a 16 bit hex value in which291 The rd_strm_bitmask is a 16 bit hex value in which
292 each bit represents a target. Setting the target's292 each bit represents a target. Setting the target's
293 bit to '1' enables read streaming for that293 bit to '1' enables read streaming for that
294 target. Controllers may be ommitted indicating that294 target. Controllers may be omitted indicating that
295 they should retain the default read streaming setting.295 they should retain the default read streaming setting.
296 Example: rd_strm:{0x0041}296 Example: rd_strm:{0x0041}
297 On Controller 0297 On Controller 0
@@ -313,7 +313,7 @@ The following information is available in this file: · 15 unmodified lines
313 -----------------------------------------------------------------313 -----------------------------------------------------------------
314 Option: dv: {value[,value...]}314 Option: dv: {value[,value...]}
315 Definition: Set Domain Validation Policy on a per-controller basis.315 Definition: Set Domain Validation Policy on a per-controller basis.
316 Controllers may be ommitted indicating that316 Controllers may be omitted indicating that
317 they should retain the default read streaming setting.317 they should retain the default read streaming setting.
318 Example: dv:{-1,0,,1,1,0}318 Example: dv:{-1,0,,1,1,0}
319 On Controller 0 leave DV at its default setting.319 On Controller 0 leave DV at its default setting.
@@ -340,7 +340,7 @@ The following information is available in this file: · 20 unmodified lines
340 Option: precomp: {value[,value...]}340 Option: precomp: {value[,value...]}
341 Definition: Set IO Cell precompensation value on a per-controller341 Definition: Set IO Cell precompensation value on a per-controller
342 basis.342 basis.
343 Controllers may be ommitted indicating that343 Controllers may be omitted indicating that
344 they should retain the default precompensation setting.344 they should retain the default precompensation setting.
345 Example: precomp:{0x1}345 Example: precomp:{0x1}
346 On Controller 0 set precompensation to 1.346 On Controller 0 set precompensation to 1.
@@ -353,7 +353,7 @@ The following information is available in this file: · 6 unmodified lines
353 -----------------------------------------------------------------353 -----------------------------------------------------------------
354 Option: slewrate: {value[,value...]}354 Option: slewrate: {value[,value...]}
355 Definition: Set IO Cell slew rate on a per-controller basis.355 Definition: Set IO Cell slew rate on a per-controller basis.
356 Controllers may be ommitted indicating that356 Controllers may be omitted indicating that
357 they should retain the default slew rate setting.357 they should retain the default slew rate setting.
358 Example: slewrate:{0x1}358 Example: slewrate:{0x1}
359 On Controller 0 set slew rate to 1.359 On Controller 0 set slew rate to 1.
@@ -366,7 +366,7 @@ The following information is available in this file: · 6 unmodified lines
366 -----------------------------------------------------------------366 -----------------------------------------------------------------
367 Option: amplitude: {value[,value...]}367 Option: amplitude: {value[,value...]}
368 Definition: Set IO Cell signal amplitude on a per-controller basis.368 Definition: Set IO Cell signal amplitude on a per-controller basis.
369 Controllers may be ommitted indicating that369 Controllers may be omitted indicating that
370 they should retain the default read streaming setting.370 they should retain the default read streaming setting.
371 Example: amplitude:{0x1}371 Example: amplitude:{0x1}
372 On Controller 0 set amplitude to 1.372 On Controller 0 set amplitude to 1.
Documentation/scsi/ibmmca.txt+2−2
@@ -303,7 +303,7 @@ · 302 unmodified lines
303 (scb) and calls a local function issue_cmd(), which writes a scb 303 (scb) and calls a local function issue_cmd(), which writes a scb
304 command into subsystem I/O ports. Once the scb command is carried out, 304 command into subsystem I/O ports. Once the scb command is carried out,
305 the interrupt_handler() is invoked. If a device is determined to be 305 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.
307 For this, the whole stuff is done in ibmmca_queuecommand().307 For this, the whole stuff is done in ibmmca_queuecommand().
308 308
309 2.6 Abort & Reset Commands309 2.6 Abort & Reset Commands
@@ -741,7 +741,7 @@ · 431 unmodified lines
741 some error appeared, else it is undefined. Now, this is fixed. Before741 some error appeared, else it is undefined. Now, this is fixed. Before
742 any SCB command gets queued, the tsb.dev_status is set to 0, so the 742 any SCB command gets queued, the tsb.dev_status is set to 0, so the
743 cmd->result won't screw up Linux higher level drivers.743 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
745 abort. During the abort and the reset function, no interrupts are 745 abort. During the abort and the reset function, no interrupts are
746 allowed. This is however quite hard to cope with, so the INT-status746 allowed. This is however quite hard to cope with, so the INT-status
747 register is read. When the interrupt gets queued, one can find its747 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
102 102
103If you insmod the driver with "insmod debug=1", it will be verbose and103If you insmod the driver with "insmod debug=1", it will be verbose and
104prints a lot of stuff to the syslog. Compiling the kernel with104prints a lot of stuff to the syslog. Compiling the kernel with
105CONFIG_SCSI_CONSTANTS=y improves the quality of the error messages alot105CONFIG_SCSI_CONSTANTS=y improves the quality of the error messages a lot
106because the kernel will translate the error codes into human-readable106because the kernel will translate the error codes into human-readable
107strings then.107strings then.
108 108
Documentation/scsi/scsi_eh.txt+1−1
@@ -290,7 +290,7 @@ scmd->allowed. · 289 unmodified lines
290 SCSI transports/LLDDs automatically acquire sense data on290 SCSI transports/LLDDs automatically acquire sense data on
291 command failures (autosense). Autosense is recommended for291 command failures (autosense). Autosense is recommended for
292 performance reasons and as sense information could get out of292 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.
294 294
295 Note that if autosense is not supported, scmd->sense_buffer295 Note that if autosense is not supported, scmd->sense_buffer
296 contains invalid sense data when error-completing the scmd296 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
291Vport support by LLDD:291Vport support by LLDD:
292 292
293 The LLDD indicates support for vports by supplying a vport_create()293 The LLDD indicates support for vports by supplying a vport_create()
294 function in the transport template. The presense of this function will294 function in the transport template. The presence of this function will
295 cause the creation of the new attributes on the fc_host. As part of295 cause the creation of the new attributes on the fc_host. As part of
296 the physical port completing its initialization relative to the296 the physical port completing its initialization relative to the
297 transport, it should set the max_npiv_vports attribute to indicate the297 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
285 285
2867. Profiling information2867. Profiling information
287 287
288This driver does not provide profiling informations as did its predecessors.288This driver does not provide profiling information as did its predecessors.
289This feature was not this useful and added complexity to the code. 289This feature was not this useful and added complexity to the code.
290As the driver code got more complex, I have decided to remove everything 290As the driver code got more complex, I have decided to remove everything
291that didn't seem actually useful.291that didn't seem actually useful.
Documentation/security/00-INDEX+18−0
@@ -0,0 +1,18 @@
100-INDEX
2 - this file.
3SELinux.txt
4 - how to get started with the SELinux security enhancement.
5Smack.txt
6 - documentation on the Smack Linux Security Module.
7apparmor.txt
8 - documentation on the AppArmor security extension.
9credentials.txt
10 - documentation about credentials in Linux.
11keys-request-key.txt
12 - description of the kernel key request service.
13keys-trusted-encrypted.txt
14 - info on the Trusted and Encrypted keys in the kernel key ring service.
15keys.txt
16 - description of the kernel key retention service.
17tomoyo.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
216 When a process accesses a key, if not already present, it will normally be216 When a process accesses a key, if not already present, it will normally be
217 cached on one of these keyrings for future accesses to find.217 cached on one of these keyrings for future accesses to find.
218 218
219 For more information on using keys, see Documentation/keys.txt.219 For more information on using keys, see Documentation/security/keys.txt.
220 220
221 (5) LSM221 (5) LSM
222 222
Documentation/security/keys-request-key.txtrenamed from Documentation/keys-request-key.txt+2−2
@@ -3,8 +3,8 @@ · 2 unmodified lines
3 ===================3 ===================
4 4
5The key request service is part of the key retention service (refer to5The key request service is part of the key retention service (refer to
6Documentation/keys.txt). This document explains more fully how the requesting6Documentation/security/keys.txt). This document explains more fully how
7algorithm works.7the requesting algorithm works.
8 8
9The process starts by either the kernel requesting a service by calling9The process starts by either the kernel requesting a service by calling
10request_key*():10request_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
434 /sbin/request-key will be invoked in an attempt to obtain a key. The434 /sbin/request-key will be invoked in an attempt to obtain a key. The
435 callout_info string will be passed as an argument to the program.435 callout_info string will be passed as an argument to the program.
436 436
437 See also Documentation/keys-request-key.txt.437 See also Documentation/security/keys-request-key.txt.
438 438
439 439
440The keyctl syscall functions are:440The keyctl syscall functions are:
@@ -864,7 +864,7 @@ payload contents" for more information. · 423 unmodified lines
864 If successful, the key will have been attached to the default keyring for864 If successful, the key will have been attached to the default keyring for
865 implicitly obtained request-key keys, as set by KEYCTL_SET_REQKEY_KEYRING.865 implicitly obtained request-key keys, as set by KEYCTL_SET_REQKEY_KEYRING.
866 866
867 See also Documentation/keys-request-key.txt.867 See also Documentation/security/keys-request-key.txt.
868 868
869 869
870(*) To search for a key, passing auxiliary data to the upcaller, call:870(*) 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
473 spd_normal Use 38.4kb when the application requests 38.4kb.473 spd_normal Use 38.4kb when the application requests 38.4kb.
474 spd_cust Use the custom divisor to set the speed when the474 spd_cust Use the custom divisor to set the speed when the
475 application requests 38.4kb.475 application requests 38.4kb.
476 divisor This option set the custom divison.476 divisor This option set the custom division.
477 baud_base This option set the base baud rate.477 baud_base This option set the base baud rate.
478 478
479-----------------------------------------------------------------------------479-----------------------------------------------------------------------------
Documentation/serial/n_gsm.txt+1−1
@@ -34,7 +34,7 @@ Major parts of the initialization program : · 33 unmodified lines
34 /* configure the serial port : speed, flow control ... */34 /* configure the serial port : speed, flow control ... */
35 35
36 /* send the AT commands to switch the modem to CMUX mode36 /* 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) */
38 write(fd, "AT+CMUX=0\r", 10);38 write(fd, "AT+CMUX=0\r", 10);
39 39
40 /* experience showed that some modems need some time before40 /* 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
322 "port" needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)322 "port" needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
323 or the value stored in the card's EEPROM for cards that have an EEPROM and323 or the value stored in the card's EEPROM for cards that have an EEPROM and
324 their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can324 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.
326 326
327 If dma2 is specified and different from dma1, the card will operate in327 If dma2 is specified and different from dma1, the card will operate in
328 full-duplex mode. When dma1=3, only dma2=0 is valid and the only way to328 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
356 "port" needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)356 "port" needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
357 or the value stored in the card's EEPROM for cards that have an EEPROM and357 or the value stored in the card's EEPROM for cards that have an EEPROM and
358 their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can358 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.
360 360
361 If dma2 is specified and different from dma1, the card will operate in361 If dma2 is specified and different from dma1, the card will operate in
362 full-duplex mode. When dma1=3, only dma2=0 is valid and the only way to362 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
1230 This module supports multiple cards.1230 This module supports multiple cards.
1231 The driver requires the firmware loader support on kernel.1231 The driver requires the firmware loader support on kernel.
1232 1232
1233 Module snd-lola
1234 ---------------
1235
1236 Module for Digigram Lola PCI-e boards
1237
1238 This module supports multiple cards.
1239
1233 Module snd-lx6464es1240 Module snd-lx6464es
1234 -------------------1241 -------------------
1235 1242
@@ -2229,7 +2236,7 @@ Proc interfaces (/proc/asound) · 993 unmodified lines
2229 2236
2230/proc/asound/card#/pcm#[cp]/oss2237/proc/asound/card#/pcm#[cp]/oss
2231-------------------------------2238-------------------------------
2232 String "erase" - erase all additional informations about OSS applications2239 String "erase" - erase all additional information about OSS applications
2233 String "<app_name> <fragments> <fragment_size> [<options>]"2240 String "<app_name> <fragments> <fragment_size> [<options>]"
2234 2241
2235 <app_name> - name of application with (higher priority) or without path2242 <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
94 3stack-dig 3-stack (2-channel) with SPDIF94 3stack-dig 3-stack (2-channel) with SPDIF
95 3stack-6ch 3-stack (6-channel)95 3stack-6ch 3-stack (6-channel)
96 3stack-6ch-dig 3-stack (6-channel) with SPDIF96 3stack-6ch-dig 3-stack (6-channel) with SPDIF
97 6stack-dig 6-stack with SPDIF97 5stack-dig 5-stack with SPDIF
98 lenovo-101e Lenovo laptop98 lenovo-101e Lenovo laptop
99 eeepc-p701 ASUS Eeepc P70199 eeepc-p701 ASUS Eeepc P701
100 eeepc-ep20 ASUS Eeepc EP20100 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
87The result is forwarded to the ADC capture FIFO (thus to the standard capture87The result is forwarded to the ADC capture FIFO (thus to the standard capture
88PCM device).88PCM device).
89 89
90name='Music Playback Volume',index=090name='Synth Playback Volume',index=0
91 91
92This control is used to attenuate samples for left and right MIDI FX-bus92This control is used to attenuate samples for left and right MIDI FX-bus
93accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples.93accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples.
94The result samples are forwarded to the front DAC PCM slots of the AC97 codec.94The result samples are forwarded to the front DAC PCM slots of the AC97 codec.
95 95
96name='Music Capture Volume',index=096name='Synth Capture Volume',index=0
97name='Music Capture Switch',index=097name='Synth Capture Switch',index=0
98 98
99These controls are used to attenuate samples for left and right MIDI FX-bus99These controls are used to attenuate samples for left and right MIDI FX-bus
100accumulator. ALSA uses accumulators 4 and 5 for left and right PCM.100accumulator. ALSA uses accumulators 4 and 5 for left and right PCM.
Documentation/sound/oss/AudioExcelDSP16+3−3
@@ -1,10 +1,10 @@
1Driver1Driver
2------2------
3 3
4Informations about Audio Excel DSP 16 driver can be found in the source4Information about Audio Excel DSP 16 driver can be found in the source
5file aedsp16.c5file aedsp16.c
6Please, read the head of the source before using it. It contain useful6Please, read the head of the source before using it. It contain useful
7informations.7information.
8 8
9Configuration9Configuration
10-------------10-------------
@@ -68,7 +68,7 @@ Sound cards supported · 57 unmodified lines
68This driver supports the SC-6000 and SC-6600 based Gallant's sound card.68This driver supports the SC-6000 and SC-6600 based Gallant's sound card.
69It don't support the Audio Excel DSP 16 III (try the SC-6600 code).69It don't support the Audio Excel DSP 16 III (try the SC-6600 code).
70I'm working on the III version of the card: if someone have useful70I'm working on the III version of the card: if someone have useful
71informations about it, please let me know.71information about it, please let me know.
72For all the non-supported audio cards, you have to boot MS-DOS (or WIN95)72For all the non-supported audio cards, you have to boot MS-DOS (or WIN95)
73activating the audio card with the MS-DOS device driver, then you have to73activating the audio card with the MS-DOS device driver, then you have to
74<ctrl>-<alt>-<del> and boot Linux.74<ctrl>-<alt>-<del> and boot Linux.
Documentation/sound/oss/README.OSS+1−1
@@ -1352,7 +1352,7 @@ OSS-mixer. · 1351 unmodified lines
1352The PCM20 contains a radio tuner, which is also controlled by1352The PCM20 contains a radio tuner, which is also controlled by
1353ACI. This radio tuner is supported by the ACI driver together with the1353ACI. This radio tuner is supported by the ACI driver together with the
1354miropcm20.o module. Also the 7-band equalizer is integrated1354miropcm20.o module. Also the 7-band equalizer is integrated
1355(limited by the OSS-design). Developement has started and maybe1355(limited by the OSS-design). Development has started and maybe
1356finished for the RDS decoder on this card, too. You will be able to1356finished for the RDS decoder on this card, too. You will be able to
1357read RadioText, the Programme Service name, Programme TYpe and1357read RadioText, the Programme Service name, Programme TYpe and
1358others. Even the v4l radio module benefits from it with a refined1358others. 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
5============5============
6 6
7 This code references YAMAHA's sample codes and data sheets.7 This code references YAMAHA's sample codes and data sheets.
8 I respect and thank for all people they made open the informations8 I respect and thank for all people they made open the information
9 about YMF7xx cards.9 about YMF7xx cards.
10 10
11 And this codes heavily based on Jeff Garzik <jgarzik@pobox.com>'s11 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
143NOTE: the SPI driver cannot control the chip select if SSPFRM is used, so the143NOTE: the SPI driver cannot control the chip select if SSPFRM is used, so the
144chipselect is dropped after each spi_transfer. Most devices need chip select144chipselect is dropped after each spi_transfer. Most devices need chip select
145asserted around the complete message. Use SSPFRM as a GPIO (through cs_control)145asserted around the complete message. Use SSPFRM as a GPIO (through cs_control)
146to accomodate these chips.146to accommodate these chips.
147 147
148 148
149NSSP SLAVE SAMPLE149NSSP 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
46 46
47Note that since the LM70 uses a "3-wire" variant of SPI, the SI/SO pin47Note that since the LM70 uses a "3-wire" variant of SPI, the SI/SO pin
48is connected to both pin D7 (as Master Out) and Select (as Master In)48is connected to both pin D7 (as Master Out) and Select (as Master In)
49using an arrangment that lets either the parport or the LM70 pull the49using an arrangement that lets either the parport or the LM70 pull the
50pin low. This can't be shared with true SPI devices, but other 3-wire50pin low. This can't be shared with true SPI devices, but other 3-wire
51devices might share the same SI/SO pin.51devices might share the same SI/SO pin.
52 52
Documentation/stable_api_nonsense.txt+1−1
@@ -122,7 +122,7 @@ operating system to suffer. · 121 unmodified lines
122 122
123In both of these instances, all developers agreed that these were123In both of these instances, all developers agreed that these were
124important changes that needed to be made, and they were made, with124important changes that needed to be made, and they were made, with
125relatively little pain. If Linux had to ensure that it preserve a125relatively little pain. If Linux had to ensure that it will preserve a
126stable source interface, a new interface would have been created, and126stable source interface, a new interface would have been created, and
127the older, broken one would have had to be maintained over time, leading127the older, broken one would have had to be maintained over time, leading
128to extra work for the USB developers. Since all Linux USB developers do128to 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
231 231
232This directory contains configuration options for the epoll(7) interface.232This directory contains configuration options for the epoll(7) interface.
233 233
234max_user_instances
235------------------
236
237This is the maximum number of epoll file descriptors that a single user can
238have open at a given time. The default value is 128, and should be enough
239for normal users.
240
241max_user_watches234max_user_watches
242----------------235----------------
243 236
Documentation/sysctl/kernel.txt+2−1
@@ -161,7 +161,8 @@ core_pattern is used to specify a core dumpfile pattern name. · 160 unmodified lines
161 %s signal number161 %s signal number
162 %t UNIX time of dump162 %t UNIX time of dump
163 %h hostname163 %h hostname
164 %e executable filename164 %e executable filename (may be shortened)
165 %E executable path
165 %<OTHER> both are dropped166 %<OTHER> both are dropped
166. If the first character of the pattern is a '|', the kernel will treat167. If the first character of the pattern is a '|', the kernel will treat
167 the rest of the pattern as a command to run. The core dump will be168 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
321. /proc/sys/net/core - Network core options321. /proc/sys/net/core - Network core options
33-------------------------------------------------------33-------------------------------------------------------
34 34
35bpf_jit_enable
36--------------
37
38This enables Berkeley Packet Filter Just in Time compiler.
39Currently supported on x86_64 architecture, bpf_jit provides a framework
40to speed packet filtering, the one used by tcpdump/libpcap for example.
41Values :
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
35rmem_default46rmem_default
36------------47------------
37 48
Documentation/sysctl/vm.txt+2−2
@@ -481,10 +481,10 @@ the DMA zone. · 480 unmodified lines
481Type(A) is called as "Node" order. Type (B) is "Zone" order.481Type(A) is called as "Node" order. Type (B) is "Zone" order.
482 482
483"Node order" orders the zonelists by node, then by zone within each node.483"Node order" orders the zonelists by node, then by zone within each node.
484Specify "[Nn]ode" for zone order484Specify "[Nn]ode" for node order
485 485
486"Zone Order" orders the zonelists by zone type, then by node within each486"Zone Order" orders the zonelists by zone type, then by node within each
487zone. Specify "[Zz]one"for zode order.487zone. Specify "[Zz]one" for zone order.
488 488
489Specify "[Dd]efault" to request automatic configuration. Autoconfiguration489Specify "[Dd]efault" to request automatic configuration. Autoconfiguration
490will select "node" order in following case.490will 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
51Specifically, very old Internet PhoneJACK cards have non-standard51Specifically, very old Internet PhoneJACK cards have non-standard
52G.723.1 codecs (due to the early nature of the DSPs in those days).52G.723.1 codecs (due to the early nature of the DSPs in those days).
53The auto-conversion code to bring those cards into compliance with53The auto-conversion code to bring those cards into compliance with
54todays standards is available as a binary only module to those people54today's standards is available as a binary only module to those people
55needing it. If you bought your card after 1997 or so, you are OK -55needing it. If you bought your card after 1997 or so, you are OK -
56it's only the very old cards that are affected.56it's only the very old cards that are affected.
57 57
Documentation/timers/timers-howto.txt+1−1
@@ -24,7 +24,7 @@ ATOMIC CONTEXT: · 23 unmodified lines
24 24
25 ndelay(unsigned long nsecs)25 ndelay(unsigned long nsecs)
26 udelay(unsigned long usecs)26 udelay(unsigned long usecs)
27 mdelay(unsgined long msecs)27 mdelay(unsigned long msecs)
28 28
29 udelay is the generally preferred API; ndelay-level29 udelay is the generally preferred API; ndelay-level
30 precision may not actually exist on many non-PC devices.30 precision may not actually exist on many non-PC devices.
Documentation/trace/kprobetrace.txt+0−1
@@ -120,7 +120,6 @@ format: · 119 unmodified lines
120 field:unsigned char common_flags; offset:2; size:1; signed:0;120 field:unsigned char common_flags; offset:2; size:1; signed:0;
121 field:unsigned char common_preempt_count; offset:3; size:1;signed:0;121 field:unsigned char common_preempt_count; offset:3; size:1;signed:0;
122 field:int common_pid; offset:4; size:4; signed:1;122 field:int common_pid; offset:4; size:4; signed:1;
123 field:int common_lock_depth; offset:8; size:4; signed:1;
124 123
125 field:unsigned long __probe_ip; offset:12; size:4; signed:0;124 field:unsigned long __probe_ip; offset:12; size:4; signed:0;
126 field:int __probe_nargs; offset:16; size:4; signed:1;125 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
237 |written |237 |written |
238 +---------+238 +---------+
239 |written |239 |written |
240 +---------+ <--- next positon for write (current commit)240 +---------+ <--- next position for write (current commit)
241 | empty |241 | empty |
242 +---------+242 +---------+
243 243
Documentation/usb/callbacks.txt+5−3
@@ -95,9 +95,11 @@ pre_reset · 94 unmodified lines
95 95
96int (*pre_reset)(struct usb_interface *intf);96int (*pre_reset)(struct usb_interface *intf);
97 97
98Another driver or user space is triggering a reset on the device which98A driver or user space is triggering a reset on the device which
99contains the interface passed as an argument. Cease IO and save any99contains the interface passed as an argument. Cease IO, wait for all
100device state you need to restore.100outstanding URBs to complete, and save any device state you need to
101restore. No more URBs may be submitted until the post_reset method
102is called.
101 103
102If you need to allocate memory here, use GFP_NOIO or GFP_ATOMIC, if you104If you need to allocate memory here, use GFP_NOIO or GFP_ATOMIC, if you
103are in atomic context.105are in atomic context.
Documentation/usb/linux-cdc-acm.inf+2−2
@@ -90,10 +90,10 @@ ServiceBinary=%12%\USBSER.sys · 89 unmodified lines
90[SourceDisksFiles]90[SourceDisksFiles]
91[SourceDisksNames]91[SourceDisksNames]
92[DeviceList]92[DeviceList]
93%DESCRIPTION%=DriverInstall, USB\VID_0525&PID_A4A7, USB\VID_0525&PID_A4AB&MI_0293%DESCRIPTION%=DriverInstall, USB\VID_0525&PID_A4A7, USB\VID_1D6B&PID_0104&MI_02
94 94
95[DeviceList.NTamd64]95[DeviceList.NTamd64]
96%DESCRIPTION%=DriverInstall, USB\VID_0525&PID_A4A7, USB\VID_0525&PID_A4AB&MI_0296%DESCRIPTION%=DriverInstall, USB\VID_0525&PID_A4A7, USB\VID_1D6B&PID_0104&MI_02
97 97
98 98
99;------------------------------------------------------------------------------99;------------------------------------------------------------------------------
Documentation/usb/linux.inf+3−3
@@ -18,15 +18,15 @@ DriverVer = 06/21/2006,6.0.6000.16384 · 17 unmodified lines
18 18
19; Decoration for x86 architecture19; Decoration for x86 architecture
20[LinuxDevices.NTx86]20[LinuxDevices.NTx86]
21%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_0525&PID_a4ab&MI_0021%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_1d6b&PID_0104&MI_00
22 22
23; Decoration for x64 architecture23; Decoration for x64 architecture
24[LinuxDevices.NTamd64]24[LinuxDevices.NTamd64]
25%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_0525&PID_a4ab&MI_0025%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_1d6b&PID_0104&MI_00
26 26
27; Decoration for ia64 architecture27; Decoration for ia64 architecture
28[LinuxDevices.NTia64]28[LinuxDevices.NTia64]
29%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_0525&PID_a4ab&MI_0029%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_1d6b&PID_0104&MI_00
30 30
31;@@@ This is the common setting for setup31;@@@ This is the common setting for setup
32[ControlFlags]32[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
14than one legacy device co-exists on the same machine. But the problem happens14than one legacy device co-exists on the same machine. But the problem happens
15when these devices are trying to be accessed by different userspace clients15when these devices are trying to be accessed by different userspace clients
16(e.g. two server in parallel). Their address assignments conflict. Moreover,16(e.g. two server in parallel). Their address assignments conflict. Moreover,
17ideally, being an userspace application, it is not the role of the the X17ideally, being a userspace application, it is not the role of the X server to
18server to control bus resources. Therefore an arbitration scheme outside of18control bus resources. Therefore an arbitration scheme outside of the X server
19the X server is needed to control the sharing of these resources. This19is needed to control the sharing of these resources. This document introduces
20document introduces the operation of the VGA arbiter implemented for Linux20the operation of the VGA arbiter implemented for the Linux kernel.
21kernel.
22 21
23----------------------------------------------------------------------------22----------------------------------------------------------------------------
24 23
@@ -39,7 +38,7 @@ I.1 vgaarb · 14 unmodified lines
39The vgaarb is a module of the Linux Kernel. When it is initially loaded, it38The vgaarb is a module of the Linux Kernel. When it is initially loaded, it
40scans all PCI devices and adds the VGA ones inside the arbitration. The39scans all PCI devices and adds the VGA ones inside the arbitration. The
41arbiter then enables/disables the decoding on different devices of the VGA40arbiter then enables/disables the decoding on different devices of the VGA
42legacy instructions. Device which do not want/need to use the arbiter may41legacy instructions. Devices which do not want/need to use the arbiter may
43explicitly tell it by calling vga_set_legacy_decoding().42explicitly tell it by calling vga_set_legacy_decoding().
44 43
45The kernel exports a char device interface (/dev/vga_arbiter) to the clients,44The 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
95notify them being added/removed in the system and automatically added/removed94notify them being added/removed in the system and automatically added/removed
96in the arbiter.95in the arbiter.
97 96
98There's also a in-kernel API of the arbiter in the case of DRM, vgacon and97There is also an in-kernel API of the arbiter in case DRM, vgacon, or other
99others which may use the arbiter.98drivers want to use it.
100 99
101 100
102I.2 libpciaccess101I.2 libpciaccess
@@ -117,9 +116,8 @@ Besides it, in pci_system were added: · 14 unmodified lines
117 struct pci_device *vga_default_dev;116 struct pci_device *vga_default_dev;
118 117
119 118
120The vga_count is usually need to keep informed how many cards are being119The vga_count is used to track how many cards are being arbitrated, so for
121arbitrated, so for instance if there's only one then it can totally escape the120instance, if there is only one card, then it can completely escape arbitration.
122scheme.
123 121
124 122
125These functions below acquire VGA resources for the given card and mark those123These 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
54 53 -> Pinnacle Hybrid Pro (em2881)54 53 -> Pinnacle Hybrid Pro (em2881)
55 54 -> Kworld VS-DVB-T 323UR (em2882) [eb1a:e323]55 54 -> Kworld VS-DVB-T 323UR (em2882) [eb1a:e323]
56 55 -> Terratec Cinnergy Hybrid T USB XS (em2882) (em2882) [0ccd:005e,0ccd:0042]56 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]
58 57 -> Kworld PlusTV HD Hybrid 330 (em2883) [eb1a:a316]58 57 -> Kworld PlusTV HD Hybrid 330 (em2883) [eb1a:a316]
59 58 -> Compro VideoMate ForYou/Stereo (em2820/em2840) [185b:2041]59 58 -> Compro VideoMate ForYou/Stereo (em2820/em2840) [185b:2041]
60 60 -> Hauppauge WinTV HVR 850 (em2883) [2040:651f]60 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
172 to provide a streaming API usable by a read() system call style of172 to provide a streaming API usable by a read() system call style of
173 I/O. Right now this is the only layer on top of pvrusb2-io.[ch],173 I/O. Right now this is the only layer on top of pvrusb2-io.[ch],
174 however the underlying architecture here was intended to allow for174 however the underlying architecture here was intended to allow for
175 other styles of I/O to be implemented with additonal modules, like175 other styles of I/O to be implemented with additional modules, like
176 mmap()'ed buffers or something even more exotic.176 mmap()'ed buffers or something even more exotic.
177 177
178 pvrusb2-main.c - This is the top level of the driver. Module level178 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
130 130
131Note: No module for the mse3000 is available yet131Note: No module for the mse3000 is available yet
132Note: No module for the vpx3224 is available yet132Note: No module for the vpx3224 is available yet
133Note: use encoder=X or decoder=X for non-default i2c chips
134 133
135===========================134===========================
136 135
Documentation/video4linux/bttv/Insmod-options+1−1
@@ -1,5 +1,5 @@
1 1
2Note: "modinfo <module>" prints various informations about a kernel2Note: "modinfo <module>" prints various information about a kernel
3module, among them a complete and up-to-date list of insmod options.3module, among them a complete and up-to-date list of insmod options.
4This list tends to be outdated because it is updated manually ...4This list tends to be outdated because it is updated manually ...
5 5
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
70instead of mailing me directly. The chance that someone with the70instead of mailing me directly. The chance that someone with the
71same card listens there is much higher...71same card listens there is much higher...
72 72
73For problems with sound: There are alot of different systems used73For problems with sound: There are a lot of different systems used
74for TV sound all over the world. And there are also different chips74for TV sound all over the world. And there are also different chips
75which decode the audio signal. Reports about sound problems ("stereo75which decode the audio signal. Reports about sound problems ("stereo
76does'nt work") are pretty useless unless you include some details76does'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
33 33
34I've seen reports that bttv 0.7.x crashes whereas 0.8.x works rock solid34I've seen reports that bttv 0.7.x crashes whereas 0.8.x works rock solid
35for some people. Thus probably a small buglet left somewhere in bttv35for some people. Thus probably a small buglet left somewhere in bttv
360.7.x. I have no idea where exactly, it works stable for me and alot of360.7.x. I have no idea where exactly, it works stable for me and a lot of
37other people. But in case you have problems with the 0.7.x versions you37other people. But in case you have problems with the 0.7.x versions you
38can give 0.8.x a try ...38can give 0.8.x a try ...
39 39
Documentation/video4linux/bttv/Sound-FAQ+2−2
@@ -2,13 +2,13 @@ · 1 unmodified line
2bttv and sound mini howto2bttv and sound mini howto
3=========================3=========================
4 4
5There are alot of different bt848/849/878/879 based boards available.5There are a lot of different bt848/849/878/879 based boards available.
6Making video work often is not a big deal, because this is handled6Making video work often is not a big deal, because this is handled
7completely by the bt8xx chip, which is common on all boards. But7completely by the bt8xx chip, which is common on all boards. But
8sound is handled in slightly different ways on each board.8sound is handled in slightly different ways on each board.
9 9
10To handle the grabber boards correctly, there is a array tvcards[] in10To handle the grabber boards correctly, there is a array tvcards[] in
11bttv-cards.c, which holds the informations required for each board.11bttv-cards.c, which holds the information required for each board.
12Sound will work only, if the correct entry is used (for video it often12Sound will work only, if the correct entry is used (for video it often
13makes no difference). The bttv driver prints a line to the kernel13makes no difference). The bttv driver prints a line to the kernel
14log, telling which card type is used. Like this one:14log, telling which card type is used. Like this one:
Documentation/video4linux/et61x251.txt+2−2
@@ -191,10 +191,10 @@ Syntax: <n> · 190 unmodified lines
191Description: Debugging information level, from 0 to 3:191Description: Debugging information level, from 0 to 3:
192 0 = none (use carefully)192 0 = none (use carefully)
193 1 = critical errors193 1 = critical errors
194 2 = significant informations194 2 = significant information
195 3 = more verbose messages195 3 = more verbose messages
196 Level 3 is useful for testing only, when only one device196 Level 3 is useful for testing only, when only one device
197 is used at the same time. It also shows some more informations197 is used at the same time. It also shows some more information
198 about the hardware being detected. This module parameter can be198 about the hardware being detected. This module parameter can be
199 changed at runtime thanks to the /sys filesystem interface.199 changed at runtime thanks to the /sys filesystem interface.
200Default: 2200Default: 2
Documentation/video4linux/gspca.txt+1−0
@@ -275,6 +275,7 @@ pac7302 093a:2629 Genious iSlim 300 · 274 unmodified lines
275pac7302 093a:262a Webcam 300k275pac7302 093a:262a Webcam 300k
276pac7302 093a:262c Philips SPC 230 NC276pac7302 093a:262c Philips SPC 230 NC
277jeilinj 0979:0280 Sakar 57379277jeilinj 0979:0280 Sakar 57379
278jeilinj 0979:0280 Sportscam DV15
278zc3xx 0ac8:0302 Z-star Vimicro zc0302279zc3xx 0ac8:0302 Z-star Vimicro zc0302
279vc032x 0ac8:0321 Vimicro generic vc0321280vc032x 0ac8:0321 Vimicro generic vc0321
280vc032x 0ac8:0323 Vimicro Vc0323281vc032x 0ac8:0323 Vimicro Vc0323
Documentation/video4linux/pxa_camera.txt+4−4
@@ -84,12 +84,12 @@ DMA usage · 83 unmodified lines
84 transfer is not started. On "End Of Frame" interrupt, the irq handler84 transfer is not started. On "End Of Frame" interrupt, the irq handler
85 starts the DMA chain.85 starts the DMA chain.
86 - capture of one videobuffer86 - capture of one videobuffer
87 The DMA chain starts transfering data into videobuffer RAM pages.87 The DMA chain starts transferring data into videobuffer RAM pages.
88 When all pages are transfered, the DMA irq is raised on "ENDINTR" status88 When all pages are transferred, the DMA irq is raised on "ENDINTR" status
89 - finishing one videobuffer89 - finishing one videobuffer
90 The DMA irq handler marks the videobuffer as "done", and removes it from90 The DMA irq handler marks the videobuffer as "done", and removes it from
91 the active running queue91 the active running queue
92 Meanwhile, the next videobuffer (if there is one), is transfered by DMA92 Meanwhile, the next videobuffer (if there is one), is transferred by DMA
93 - finishing the last videobuffer93 - finishing the last videobuffer
94 On the DMA irq of the last videobuffer, the QCI is stopped.94 On the DMA irq of the last videobuffer, the QCI is stopped.
95 95
@@ -101,7 +101,7 @@ DMA usage · 5 unmodified lines
101 101
102 This structure is pointed by dma->sg_cpu.102 This structure is pointed by dma->sg_cpu.
103 The descriptors are used as follows :103 The descriptors are used as follows :
104 - desc-sg[i]: i-th descriptor, transfering the i-th sg104 - desc-sg[i]: i-th descriptor, transferring the i-th sg
105 element to the video buffer scatter gather105 element to the video buffer scatter gather
106 - finisher: has ddadr=DADDR_STOP, dcmd=ENDIRQEN106 - finisher: has ddadr=DADDR_STOP, dcmd=ENDIRQEN
107 - linker: has ddadr= desc-sg[0] of next video buffer, dcmd=0107 - 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
37-1'-37-1'-
38 38
39In the above chart minuses and slashes represent "real" data amounts, points and39In the above chart minuses and slashes represent "real" data amounts, points and
40accents represent "useful" data, basically, CEU scaled amd cropped output,40accents represent "useful" data, basically, CEU scaled and cropped output,
41mapped back onto the client's source plane.41mapped back onto the client's source plane.
42 42
43Such a configuration can be produced by user requests:43Such a configuration can be produced by user requests:
@@ -65,7 +65,7 @@ Do not touch input rectangle - it is already optimal. · 21 unmodified lines
65 65
661. Calculate current sensor scales:661. Calculate current sensor scales:
67 67
68 scale_s = ((3') - (3)) / ((2') - (2))68 scale_s = ((2') - (2)) / ((3') - (3))
69 69
702. Calculate "effective" input crop (sensor subwindow) - CEU crop scaled back at702. Calculate "effective" input crop (sensor subwindow) - CEU crop scaled back at
71current sensor scales onto input window - this is user S_CROP:71current sensor scales onto input window - this is user S_CROP:
@@ -80,7 +80,7 @@ window: · 8 unmodified lines
804. Calculate sensor output window by applying combined scales to real input804. Calculate sensor output window by applying combined scales to real input
81window:81window:
82 82
83 width_s_out = ((2') - (2)) / scale_comb83 width_s_out = ((7') - (7)) = ((2') - (2)) / scale_comb
84 84
855. Apply iterative sensor S_FMT for sensor output window.855. Apply iterative sensor S_FMT for sensor output window.
86 86
Documentation/video4linux/sn9c102.txt+2−2
@@ -214,10 +214,10 @@ Syntax: <n> · 213 unmodified lines
214Description: Debugging information level, from 0 to 3:214Description: Debugging information level, from 0 to 3:
215 0 = none (use carefully)215 0 = none (use carefully)
216 1 = critical errors216 1 = critical errors
217 2 = significant informations217 2 = significant information
218 3 = more verbose messages218 3 = more verbose messages
219 Level 3 is useful for testing only. It also shows some more219 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.
221 This parameter can be changed at runtime thanks to the /sys221 This parameter can be changed at runtime thanks to the /sys
222 filesystem interface.222 filesystem interface.
223Default: 2223Default: 2
Documentation/video4linux/uvcvideo.txt+239−0
@@ -0,0 +1,239 @@
1Linux USB Video Class (UVC) driver
2==================================
3
4This file documents some driver-specific aspects of the UVC driver, such as
5driver-specific ioctls and implementation notes.
6
7Questions and remarks can be sent to the Linux UVC development mailing list at
8linux-uvc-devel@lists.berlios.de.
9
10
11Extension Unit (XU) support
12---------------------------
13
141. Introduction
15
16The UVC specification allows for vendor-specific extensions through extension
17units (XUs). The Linux UVC driver supports extension unit controls (XU controls)
18through two separate mechanisms:
19
20 - through mappings of XU controls to V4L2 controls
21 - through a driver-specific ioctl interface
22
23The first one allows generic V4L2 applications to use XU controls by mapping
24certain XU controls onto V4L2 controls, which then show up during ordinary
25control enumeration.
26
27The second mechanism requires uvcvideo-specific knowledge for the application to
28access XU controls but exposes the entire UVC XU concept to user space for
29maximum flexibility.
30
31Both mechanisms complement each other and are described in more detail below.
32
33
342. Control mappings
35
36The UVC driver provides an API for user space applications to define so-called
37control mappings at runtime. These allow for individual XU controls or byte
38ranges thereof to be mapped to new V4L2 controls. Such controls appear and
39function exactly like normal V4L2 controls (i.e. the stock controls, such as
40brightness, contrast, etc.). However, reading or writing of such a V4L2 controls
41triggers a read or write of the associated XU control.
42
43The ioctl used to create these control mappings is called UVCIOC_CTRL_MAP.
44Previous driver versions (before 0.2.0) required another ioctl to be used
45beforehand (UVCIOC_CTRL_ADD) to pass XU control information to the UVC driver.
46This is no longer necessary as newer uvcvideo versions query the information
47directly from the device.
48
49For details on the UVCIOC_CTRL_MAP ioctl please refer to the section titled
50"IOCTL reference" below.
51
52
533. Driver specific XU control interface
54
55For applications that need to access XU controls directly, e.g. for testing
56purposes, firmware upload, or accessing binary controls, a second mechanism to
57access XU controls is provided in the form of a driver-specific ioctl, namely
58UVCIOC_CTRL_QUERY.
59
60A call to this ioctl allows applications to send queries to the UVC driver that
61directly map to the low-level UVC control requests.
62
63In order to make such a request the UVC unit ID of the control's extension unit
64and the control selector need to be known. This information either needs to be
65hardcoded in the application or queried using other ways such as by parsing the
66UVC descriptor or, if available, using the media controller API to enumerate a
67device's entities.
68
69Unless the control size is already known it is necessary to first make a
70UVC_GET_LEN requests in order to be able to allocate a sufficiently large buffer
71and set the buffer size to the correct value. Similarly, to find out whether
72UVC_GET_CUR or UVC_SET_CUR are valid requests for a given control, a
73UVC_GET_INFO request should be made. The bits 0 (GET supported) and 1 (SET
74supported) of the resulting byte indicate which requests are valid.
75
76With the addition of the UVCIOC_CTRL_QUERY ioctl the UVCIOC_CTRL_GET and
77UVCIOC_CTRL_SET ioctls have become obsolete since their functionality is a
78subset of the former ioctl. For the time being they are still supported but
79application developers are encouraged to use UVCIOC_CTRL_QUERY instead.
80
81For details on the UVCIOC_CTRL_QUERY ioctl please refer to the section titled
82"IOCTL reference" below.
83
84
854. Security
86
87The API doesn't currently provide a fine-grained access control facility. The
88UVCIOC_CTRL_ADD and UVCIOC_CTRL_MAP ioctls require super user permissions.
89
90Suggestions on how to improve this are welcome.
91
92
935. Debugging
94
95In order to debug problems related to XU controls or controls in general it is
96recommended to enable the UVC_TRACE_CONTROL bit in the module parameter 'trace'.
97This causes extra output to be written into the system log.
98
99
1006. IOCTL reference
101
102---- UVCIOC_CTRL_MAP - Map a UVC control to a V4L2 control ----
103
104Argument: struct uvc_xu_control_mapping
105
106Description:
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
125Return 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
140Data 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
175Argument: struct uvc_xu_control_query
176
177Description:
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
216Return 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
232Data 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
343 err = v4l2_device_call_until_err(v4l2_dev, 0, core, g_chip_ident, &chip);343 err = v4l2_device_call_until_err(v4l2_dev, 0, core, g_chip_ident, &chip);
344 344
345Any error except -ENOIOCTLCMD will exit the loop with that error. If no345Any error except -ENOIOCTLCMD will exit the loop with that error. If no
346errors (except -ENOIOCTLCMD) occured, then 0 is returned.346errors (except -ENOIOCTLCMD) occurred, then 0 is returned.
347 347
348The second argument to both calls is a group ID. If 0, then all subdevs are348The second argument to both calls is a group ID. If 0, then all subdevs are
349called. If non-zero, then only those whose group ID match that value will349called. 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
413Description: Debugging information level, from 0 to 6:413Description: Debugging information level, from 0 to 6:
414 0 = none (use carefully)414 0 = none (use carefully)
415 1 = critical errors415 1 = critical errors
416 2 = significant informations416 2 = significant information
417 3 = configuration or general messages417 3 = configuration or general messages
418 4 = warnings418 4 = warnings
419 5 = called functions419 5 = called functions
Documentation/video4linux/zc0301.txt+3−3
@@ -181,10 +181,10 @@ Syntax: <n> · 180 unmodified lines
181Description: Debugging information level, from 0 to 3:181Description: Debugging information level, from 0 to 3:
182 0 = none (use carefully)182 0 = none (use carefully)
183 1 = critical errors183 1 = critical errors
184 2 = significant informations184 2 = significant information
185 3 = more verbose messages185 3 = more verbose messages
186 Level 3 is useful for testing only, when only one device186 Level 3 is useful for testing only, when only one device
187 is used at the same time. It also shows some more informations187 is used at the same time. It also shows some information
188 about the hardware being detected. This module parameter can be188 about the hardware being detected. This module parameter can be
189 changed at runtime thanks to the /sys filesystem interface.189 changed at runtime thanks to the /sys filesystem interface.
190Default: 2190Default: 2
@@ -261,7 +261,7 @@ the fingerprint is: '88E8 F32F 7244 68BA 3958 5D40 99DA 5D2A FCE6 35A4'. · 70 unmodified lines
261 261
26211. Credits26211. Credits
263===========263===========
264- Informations about the chip internals needed to enable the I2C protocol have264- Information about the chip internals needed to enable the I2C protocol have
265 been taken from the documentation of the ZC030x Video4Linux1 driver written265 been taken from the documentation of the ZC030x Video4Linux1 driver written
266 by Andrew Birkett <andy@nobugs.org>;266 by Andrew Birkett <andy@nobugs.org>;
267- The initialization values of the ZC0301 controller connected to the PAS202BCB267- The initialization values of the ZC0301 controller connected to the PAS202BCB
Documentation/virtual/00-INDEX+10−0
@@ -0,0 +1,10 @@
1Virtualization support in the Linux kernel.
2
300-INDEX
4 - this file.
5kvm/
6 - Kernel Virtual Machine. See also http://linux-kvm.org
7lguest/
8 - Extremely simple hypervisor for experimental/educational use.
9uml/
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
175Returns: vcpu fd on success, -1 on error175Returns: vcpu fd on success, -1 on error
176 176
177This API adds a vcpu to a virtual machine. The vcpu id is a small integer177This API adds a vcpu to a virtual machine. The vcpu id is a small integer
178in the range [0, max_vcpus).178in the range [0, max_vcpus). You can use KVM_CAP_NR_VCPUS of the
179KVM_CHECK_EXTENSION ioctl() to determine the value for max_vcpus at run-time.
180If the KVM_CAP_NR_VCPUS does not exist, you should assume that max_vcpus is 4
181cpus max.
179 182
1804.8 KVM_GET_DIRTY_LOG (vm ioctl)1834.8 KVM_GET_DIRTY_LOG (vm ioctl)
181 184
@@ -261,7 +264,7 @@ See KVM_GET_REGS for the data structure. · 79 unmodified lines
2614.13 KVM_GET_SREGS2644.13 KVM_GET_SREGS
262 265
263Capability: basic266Capability: basic
264Architectures: x86267Architectures: x86, ppc
265Type: vcpu ioctl268Type: vcpu ioctl
266Parameters: struct kvm_sregs (out)269Parameters: struct kvm_sregs (out)
267Returns: 0 on success, -1 on error270Returns: 0 on success, -1 on error
@@ -279,6 +282,8 @@ struct kvm_sregs { · 11 unmodified lines
279 __u64 interrupt_bitmap[(KVM_NR_INTERRUPTS + 63) / 64];282 __u64 interrupt_bitmap[(KVM_NR_INTERRUPTS + 63) / 64];
280};283};
281 284
285/* ppc -- see arch/powerpc/include/asm/kvm.h */
286
282interrupt_bitmap is a bitmap of pending external interrupts. At most287interrupt_bitmap is a bitmap of pending external interrupts. At most
283one bit may be set. This interrupt has been acknowledged by the APIC288one bit may be set. This interrupt has been acknowledged by the APIC
284but not yet injected into the cpu core.289but not yet injected into the cpu core.
@@ -286,7 +291,7 @@ but not yet injected into the cpu core. · 1 unmodified line
2864.14 KVM_SET_SREGS2914.14 KVM_SET_SREGS
287 292
288Capability: basic293Capability: basic
289Architectures: x86294Architectures: x86, ppc
290Type: vcpu ioctl295Type: vcpu ioctl
291Parameters: struct kvm_sregs (in)296Parameters: struct kvm_sregs (in)
292Returns: 0 on success, -1 on error297Returns: 0 on success, -1 on error
@@ -1263,6 +1268,29 @@ struct kvm_assigned_msix_entry { · 970 unmodified lines
1263 __u16 padding[3];1268 __u16 padding[3];
1264};1269};
1265 1270
12714.54 KVM_SET_TSC_KHZ
1272
1273Capability: KVM_CAP_TSC_CONTROL
1274Architectures: x86
1275Type: vcpu ioctl
1276Parameters: virtual tsc_khz
1277Returns: 0 on success, -1 on error
1278
1279Specifies the tsc frequency for the virtual machine. The unit of the
1280frequency is KHz.
1281
12824.55 KVM_GET_TSC_KHZ
1283
1284Capability: KVM_CAP_GET_TSC_KHZ
1285Architectures: x86
1286Type: vcpu ioctl
1287Parameters: none
1288Returns: virtual tsc-khz on success, negative value on error
1289
1290Returns the tsc frequency of the guest. The unit of the return value is
1291KHz. If the host has unstable tsc this ioctl returns -EIO instead as an
1292error.
1293
12665. The kvm_run structure12945. The kvm_run structure
1267 1295
1268Application code obtains a pointer to the kvm_run structure by1296Application 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
23 and framebuffer-based displays23 and framebuffer-based displays
24- footprint: keep the amount of pinned kernel memory low (most memory24- footprint: keep the amount of pinned kernel memory low (most memory
25 should be shrinkable)25 should be shrinkable)
26- reliablity: avoid multipage or GFP_ATOMIC allocations26- reliability: avoid multipage or GFP_ATOMIC allocations
27 27
28Acronyms28Acronyms
29========29========
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
136====================136====================
137 137
138The "ld" and "std" instructions are transormed to "lwz" and "stw" instructions138The "ld" and "std" instructions are transormed to "lwz" and "stw" instructions
139respectively on 32 bit systems with an added offset of 4 to accomodate for big139respectively on 32 bit systems with an added offset of 4 to accommodate for big
140endianness.140endianness.
141 141
142The following is a list of mapping the Linux kernel performs when running as142The 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
72. Patches should be against kvm.git master branch.72. Patches should be against kvm.git master branch.
8 8
93. If the patch introduces or modifies a new userspace API:93. If the patch introduces or modifies a new userspace API:
10 - the API must be documented in Documentation/kvm/api.txt10 - the API must be documented in Documentation/virtual/kvm/api.txt
11 - the API must be discoverable using KVM_CHECK_EXTENSION11 - the API must be discoverable using KVM_CHECK_EXTENSION
12 12
134. New state must include support for save/restore.134. 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
81 when the gate is high (always true for timers 0 and 1). When the count81 when the gate is high (always true for timers 0 and 1). When the count
82 reaches zero, the output goes high.82 reaches zero, the output goes high.
83 83
84Mode 1: Triggered One-shot. The output is intially set high. When the gate84Mode 1: Triggered One-shot. The output is initially set high. When the gate
85 line is set high, a countdown is initiated (which does not stop if the gate is85 line is set high, a countdown is initiated (which does not stop if the gate is
86 lowered), during which the output is set low. When the count reaches zero,86 lowered), during which the output is set low. When the count reaches zero,
87 the output goes high.87 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
74 74
75- Run an lguest as root:75- Run an lguest as root:
76 76
77 Documentation/lguest/lguest 64 vmlinux --tunnet=192.168.19.1 --block=rootfile root=/dev/vda77 Documentation/virtual/lguest/lguest 64 vmlinux --tunnet=192.168.19.1 \
78 --block=rootfile root=/dev/vda
78 79
79 Explanation:80 Explanation:
80 64: the amount of memory to use, in MB.81 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
1182 forge.net/> and explains these in detail, as well as1182 forge.net/> and explains these in detail, as well as
1183 some other issues.1183 some other issues.
1184 1184
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
1185 1195
1186 1196
1187 66..66.. TTUUNN//TTAAPP wwiitthh tthhee uummll__nneett hheellppeerr1197 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
74and things like that).74and things like that).
75 75
76Anyway, I put a pre-patch-2.3.13-1 on ftp.kernel.org just a moment ago,76Anyway, I put a pre-patch-2.3.13-1 on ftp.kernel.org just a moment ago,
77because it slightly changes the interfaces to accomodate the alpha (who77because it slightly changes the interfaces to accommodate the alpha (who
78would have thought it, but the alpha actually ends up having one of the78would have thought it, but the alpha actually ends up having one of the
79ugliest context switch codes - unlike the other architectures where the MM79ugliest context switch codes - unlike the other architectures where the MM
80and register state is separate, the alpha PALcode joins the two, and you80and register state is separate, the alpha PALcode joins the two, and you
Documentation/vm/cleancache.txt+278−0
@@ -0,0 +1,278 @@
1MOTIVATION
2
3Cleancache is a new optional feature provided by the VFS layer that
4potentially dramatically increases page cache effectiveness for
5many workloads in many environments at a negligible cost.
6
7Cleancache can be thought of as a page-granularity victim cache for clean
8pages that the kernel's pageframe replacement algorithm (PFRA) would like
9to keep around, but can't since there isn't enough memory. So when the
10PFRA "evicts" a page, it first attempts to use cleancache code to
11put the data contained in that page into "transcendent memory", memory
12that is not directly accessible or addressable by the kernel and is
13of unknown and possibly time-varying size.
14
15Later, when a cleancache-enabled filesystem wishes to access a page
16in a file on disk, it first checks cleancache to see if it already
17contains it; if it does, the page of data is copied into the kernel
18and a disk access is avoided.
19
20Transcendent memory "drivers" for cleancache are currently implemented
21in Xen (using hypervisor memory) and zcache (using in-kernel compressed
22memory) and other implementations are in development.
23
24FAQs are included below.
25
26IMPLEMENTATION OVERVIEW
27
28A cleancache "backend" that provides transcendent memory registers itself
29to the kernel's cleancache "frontend" by calling cleancache_register_ops,
30passing a pointer to a cleancache_ops structure with funcs set appropriately.
31Note that cleancache_register_ops returns the previous settings so that
32chaining can be performed if desired. The functions provided must conform to
33certain semantics as follows:
34
35Most important, cleancache is "ephemeral". Pages which are copied into
36cleancache have an indefinite lifetime which is completely unknowable
37by the kernel and so may or may not still be in cleancache at any later time.
38Thus, as its name implies, cleancache is not suitable for dirty pages.
39Cleancache has complete discretion over what pages to preserve and what
40pages to discard and when.
41
42Mounting a cleancache-enabled filesystem should call "init_fs" to obtain a
43pool id which, if positive, must be saved in the filesystem's superblock;
44a negative return value indicates failure. A "put_page" will copy a
45(presumably about-to-be-evicted) page into cleancache and associate it with
46the pool id, a file key, and a page index into the file. (The combination
47of a pool id, a file key, and an index is sometimes called a "handle".)
48A "get_page" will copy the page, if found, from cleancache into kernel memory.
49A "flush_page" will ensure the page no longer is present in cleancache;
50a "flush_inode" will flush all pages associated with the specified file;
51and, when a filesystem is unmounted, a "flush_fs" will flush all pages in
52all files specified by the given pool id and also surrender the pool id.
53
54An "init_shared_fs", like init_fs, obtains a pool id but tells cleancache
55to treat the pool as shared using a 128-bit UUID as a key. On systems
56that may run multiple kernels (such as hard partitioned or virtualized
57systems) that may share a clustered filesystem, and where cleancache
58may be shared among those kernels, calls to init_shared_fs that specify the
59same UUID will receive the same pool id, thus allowing the pages to
60be shared. Note that any security requirements must be imposed outside
61of the kernel (e.g. by "tools" that control cleancache). Or a
62cleancache implementation can simply disable shared_init by always
63returning a negative value.
64
65If a get_page is successful on a non-shared pool, the page is flushed (thus
66making cleancache an "exclusive" cache). On a shared pool, the page
67is NOT flushed on a successful get_page so that it remains accessible to
68other sharers. The kernel is responsible for ensuring coherency between
69cleancache (shared or not), the page cache, and the filesystem, using
70cleancache flush operations as required.
71
72Note that cleancache must enforce put-put-get coherency and get-get
73coherency. For the former, if two puts are made to the same handle but
74with different data, say AAA by the first put and BBB by the second, a
75subsequent get can never return the stale data (AAA). For get-get coherency,
76if a get for a given handle fails, subsequent gets for that handle will
77never succeed unless preceded by a successful put with that handle.
78
79Last, cleancache provides no SMP serialization guarantees; if two
80different Linux threads are simultaneously putting and flushing a page
81with the same handle, the results are indeterminate. Callers must
82lock the page to ensure serial behavior.
83
84CLEANCACHE PERFORMANCE METRICS
85
86Cleancache monitoring is done by sysfs files in the
87/sys/kernel/mm/cleancache directory. The effectiveness of cleancache
88can be measured (across all filesystems) with:
89
90succ_gets - number of gets that were successful
91failed_gets - number of gets that failed
92puts - number of puts attempted (all "succeed")
93flushes - number of flushes attempted
94
95A backend implementatation may provide additional metrics.
96
97FAQ
98
991) Where's the value? (Andrew Morton)
100
101Cleancache provides a significant performance benefit to many workloads
102in many environments with negligible overhead by improving the
103effectiveness of the pagecache. Clean pagecache pages are
104saved in transcendent memory (RAM that is otherwise not directly
105addressable to the kernel); fetching those pages later avoids "refaults"
106and thus disk reads.
107
108Cleancache (and its sister code "frontswap") provide interfaces for
109this transcendent memory (aka "tmem"), which conceptually lies between
110fast kernel-directly-addressable RAM and slower DMA/asynchronous devices.
111Disallowing direct kernel or userland reads/writes to tmem
112is ideal when data is transformed to a different form and size (such
113as with compression) or secretly moved (as might be useful for write-
114balancing for some RAM-like devices). Evicted page-cache pages (and
115swap pages) are a great use for this kind of slower-than-RAM-but-much-
116faster-than-disk transcendent memory, and the cleancache (and frontswap)
117"page-object-oriented" specification provides a nice way to read and
118write -- and indirectly "name" -- the pages.
119
120In the virtual case, the whole point of virtualization is to statistically
121multiplex physical resources across the varying demands of multiple
122virtual machines. This is really hard to do with RAM and efforts to
123do it well with no kernel change have essentially failed (except in some
124well-publicized special-case workloads). Cleancache -- and frontswap --
125with a fairly small impact on the kernel, provide a huge amount
126of flexibility for more dynamic, flexible RAM multiplexing.
127Specifically, the Xen Transcendent Memory backend allows otherwise
128"fallow" hypervisor-owned RAM to not only be "time-shared" between multiple
129virtual machines, but the pages can be compressed and deduplicated to
130optimize RAM utilization. And when guest OS's are induced to surrender
131underutilized RAM (e.g. with "self-ballooning"), page cache pages
132are the first to go, and cleancache allows those pages to be
133saved and reclaimed if overall host system memory conditions allow.
134
135And the identical interface used for cleancache can be used in
136physical systems as well. The zcache driver acts as a memory-hungry
137device that stores pages of data in a compressed state. And
138the proposed "RAMster" driver shares RAM across multiple physical
139systems.
140
1412) Why does cleancache have its sticky fingers so deep inside the
142 filesystems and VFS? (Andrew Morton and Christoph Hellwig)
143
144The core hooks for cleancache in VFS are in most cases a single line
145and the minimum set are placed precisely where needed to maintain
146coherency (via cleancache_flush operations) between cleancache,
147the page cache, and disk. All hooks compile into nothingness if
148cleancache is config'ed off and turn into a function-pointer-
149compare-to-NULL if config'ed on but no backend claims the ops
150functions, or to a compare-struct-element-to-negative if a
151backend claims the ops functions but a filesystem doesn't enable
152cleancache.
153
154Some filesystems are built entirely on top of VFS and the hooks
155in VFS are sufficient, so don't require an "init_fs" hook; the
156initial implementation of cleancache didn't provide this hook.
157But for some filesystems (such as btrfs), the VFS hooks are
158incomplete and one or more hooks in fs-specific code are required.
159And for some other filesystems, such as tmpfs, cleancache may
160be counterproductive. So it seemed prudent to require a filesystem
161to "opt in" to use cleancache, which requires adding a hook in
162each filesystem. Not all filesystems are supported by cleancache
163only because they haven't been tested. The existing set should
164be sufficient to validate the concept, the opt-in approach means
165that untested filesystems are not affected, and the hooks in the
166existing filesystems should make it very easy to add more
167filesystems in the future.
168
169The total impact of the hooks to existing fs and mm files is only
170about 40 lines added (not counting comments and blank lines).
171
1723) 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
176The one-page-at-a-time copy semantics simplifies the implementation
177on both the frontend and backend and also allows the backend to
178do fancy things on-the-fly like page compression and
179page deduplication. And since the data is "gone" (copied into/out
180of the pageframe) before the cleancache get/put call returns,
181a great deal of race conditions and potential coherency issues
182are avoided. While the interface seems odd for a "real device"
183or for real kernel-addressable RAM, it makes perfect sense for
184transcendent memory.
185
1864) Why is non-shared cleancache "exclusive"? And where is the
187 page "flushed" after a "get"? (Minchan Kim)
188
189The main reason is to free up space in transcendent memory and
190to avoid unnecessary cleancache_flush calls. If you want inclusive,
191the page can be "put" immediately following the "get". If
192put-after-get for inclusive becomes common, the interface could
193be easily extended to add a "get_no_flush" call.
194
195The flush is done by the cleancache backend implementation.
196
1975) What's the performance impact?
198
199Performance analysis has been presented at OLS'09 and LCA'10.
200Briefly, performance gains can be significant on most workloads,
201especially when memory pressure is high (e.g. when RAM is
202overcommitted in a virtual workload); and because the hooks are
203invoked primarily in place of or in addition to a disk read/write,
204overhead is negligible even in worst case workloads. Basically
205cleancache replaces I/O with memory-copy-CPU-overhead; on older
206single-core systems with slow memory-copy speeds, cleancache
207has little value, but in newer multicore machines, especially
208consolidated/virtualized machines, it has great value.
209
2106) How do I add cleancache support for filesystem X? (Boaz Harrash)
211
212Filesystems that are well-behaved and conform to certain
213restrictions can utilize cleancache simply by making a call to
214cleancache_init_fs at mount time. Unusual, misbehaving, or
215poorly layered filesystems must either add additional hooks
216and/or undergo extensive additional testing... or should just
217not enable the optional cleancache.
218
219Some 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
2407) Why not use the KVA of the inode as the key? (Christoph Hellwig)
241
242If cleancache would use the inode virtual address instead of
243inode/filehandle, the pool id could be eliminated. But, this
244won't work because cleancache retains pagecache data pages
245persistently even when the inode has been pruned from the
246inode unused list, and only flushes the data page if the file
247gets removed/truncated. So if cleancache used the inode kva,
248there would be potential coherency issues if/when the inode
249kva is reused for a different file. Alternately, if cleancache
250flushed the pages when the inode kva was freed, much of the value
251of cleancache would be lost because the cache of pages in cleanache
252is potentially much larger than the kernel pagecache and is most
253useful if the pages survive inode cache removal.
254
2558) Why is a global variable required?
256
257The cleancache_enabled flag is checked in all of the frequently-used
258cleancache hooks. The alternative is a function call to check a static
259variable. Since cleancache is enabled dynamically at runtime, systems
260that don't enable cleancache would suffer thousands (possibly
261tens-of-thousands) of unnecessary function calls per second. So the
262global variable allows cleancache to be enabled by default at compile
263time, but have insignificant performance impact when cleancache remains
264disabled at runtime.
265
2669) Does cleanache work with KVM?
267
268The memory model of KVM is sufficiently different that a cleancache
269backend may have less value for KVM. This remains to be tested,
270especially in an overcommitted system.
271
27210) Does cleancache work in userspace? It sounds useful for
273 memory hungry caches like web browsers. (Jamie Lokier)
274
275No plans yet, though we agree it sounds useful, at least for
276apps that bypass the page cache (e.g. O_DIRECT).
277
278Last 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
72allocating huge pages as memory has not yet become fragmented.72allocating huge pages as memory has not yet become fragmented.
73 73
74Some platforms support multiple huge page sizes. To allocate huge pages74Some platforms support multiple huge page sizes. To allocate huge pages
75of a specific size, one must preceed the huge pages boot command parameters75of a specific size, one must precede the huge pages boot command parameters
76with a huge page size selection parameter "hugepagesz=<size>". <size> must76with a huge page size selection parameter "hugepagesz=<size>". <size> must
77be specified in bytes with optional scale suffix [kKmMgG]. The default huge77be specified in bytes with optional scale suffix [kKmMgG]. The default huge
78page size may be selected with the "default_hugepagesz=<size>" boot parameter.78page 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
66expand_stack(), it is hard to come up with a destructive scenario without 66expand_stack(), it is hard to come up with a destructive scenario without
67having the vmlist protection in this case.67having the vmlist protection in this case.
68 68
69The page_table_lock nests with the inode i_mmap_lock and the kmem cache69The page_table_lock nests with the inode i_mmap_mutex and the kmem cache
70c_spinlock spinlocks. This is okay, since the kmem code asks for pages after70c_spinlock spinlocks. This is okay, since the kmem code asks for pages after
71dropping c_spinlock. The page_table_lock also nests with pagecache_lock and71dropping c_spinlock. The page_table_lock also nests with pagecache_lock and
72pagemap_lru_lock spinlocks, and no code asks for memory with these locks72pagemap_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
4 address space are refused. Used for a typical system. It4 address space are refused. Used for a typical system. It
5 ensures a seriously wild allocation fails while allowing5 ensures a seriously wild allocation fails while allowing
6 overcommit to reduce swap usage. root is allowed to 6 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
8 default.8 default.
9 9
101 - Always overcommit. Appropriate for some scientific101 - 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
21 21
22Each lines will contain the values of 42 bytes read from the counter and22Each lines will contain the values of 42 bytes read from the counter and
23memory page along the crc=YES or NO for indicating whether the read operation23memory page along the crc=YES or NO for indicating whether the read operation
24was successfull and CRC matched.24was successful and CRC matched.
25If the operation was successfull, there is also in the end of each line25If the operation was successful, there is also in the end of each line
26a counter value expressed as an integer after c=26a counter value expressed as an integer after c=
27 27
28Meaning of 42 bytes represented is following:28Meaning of 42 bytes represented is following:
@@ -34,7 +34,7 @@ Meaning of 42 bytes represented is following: · 5 unmodified lines
34 - crc=YES/NO indicating whether read was ok and crc matched34 - crc=YES/NO indicating whether read was ok and crc matched
35 - c=<int> current counter value35 - c=<int> current counter value
36 36
37example from the successfull read:37example from the successful read:
3800 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=23800 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
3900 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=23900 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
4000 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=4087987614000 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
81format:81format:
82 82
83 cn_msg (CN_W1_IDX.CN_W1_VAL as id, len is equal to sizeof(struct83 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)
85 w1_netlink_msg (type: W1_LIST_MASTERS, len is equal to85 w1_netlink_msg (type: W1_LIST_MASTERS, len is equal to
86 number of masters multiplied by 4 (u32 size))86 number of masters multiplied by 4 (u32 size))
87 id0 ... idN87 id0 ... idN
Documentation/watchdog/hpwdt.txt+1−1
@@ -8,7 +8,7 @@ Last reviewed: 06/02/2009 · 7 unmodified lines
8 The HP iLO2 NMI Watchdog driver is a kernel module that provides basic8 The HP iLO2 NMI Watchdog driver is a kernel module that provides basic
9 watchdog functionality and the added benefit of NMI sourcing. Both the9 watchdog functionality and the added benefit of NMI sourcing. Both the
10 watchdog functionality and the NMI sourcing capability need to be enabled10 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.
12 A user can have the NMI sourcing without the watchdog timer and vice-versa.12 A user can have the NMI sourcing without the watchdog timer and vice-versa.
13 13
14 Watchdog functionality is enabled like any other common watchdog driver. That14 Watchdog functionality is enabled like any other common watchdog driver. That
Documentation/workqueue.txt+40−0
@@ -12,6 +12,7 @@ CONTENTS · 11 unmodified lines
124. Application Programming Interface (API)124. Application Programming Interface (API)
135. Example Execution Scenarios135. Example Execution Scenarios
146. Guidelines146. Guidelines
157. Debugging
15 16
16 17
171. Introduction181. Introduction
@@ -379,3 +380,42 @@ If q1 has WQ_CPU_INTENSIVE set, · 361 unmodified lines
379* Unless work items are expected to consume a huge amount of CPU380* Unless work items are expected to consume a huge amount of CPU
380 cycles, using a bound wq is usually beneficial due to the increased381 cycles, using a bound wq is usually beneficial due to the increased
381 level of locality in wq operations and work item execution.382 level of locality in wq operations and work item execution.
383
384
3857. Debugging
386
387Because the work functions are executed by generic worker threads
388there are a few tricks needed to shed some light on misbehaving
389workqueue users.
390
391Worker threads show up in the process list as:
392
393root 5671 0.0 0.0 0 0 ? S 12:07 0:00 [kworker/0:1]
394root 5672 0.0 0.0 0 0 ? S 12:07 0:00 [kworker/1:2]
395root 5673 0.0 0.0 0 0 ? S 12:12 0:00 [kworker/0:0]
396root 5674 0.0 0.0 0 0 ? S 12:13 0:00 [kworker/1:0]
397
398If kworkers are going crazy (using too much cpu), there are two types
399of possible problems:
400
401 1. Something beeing scheduled in rapid succession
402 2. A single work item that consumes lots of cpu cycles
403
404The 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
411If something is busy looping on work queueing, it would be dominating
412the output and the offender can be determined with the work item
413function.
414
415For the second type of problems it should be possible to just check
416the stack trace of the offending worker thread.
417
418 $ cat /proc/THE_OFFENDING_KWORKER/stack
419
420The work item's function should be trivially visible in the stack
421trace.
Documentation/x86/x86_64/boot-options.txt+1−1
@@ -206,7 +206,7 @@ IOMMU (input/output memory management unit) · 205 unmodified lines
206 (e.g. because you have < 3 GB memory).206 (e.g. because you have < 3 GB memory).
207 Kernel boot message: "PCI-DMA: Disabling IOMMU"207 Kernel boot message: "PCI-DMA: Disabling IOMMU"
208 208
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.
210 Kernel boot message: "PCI-DMA: using GART IOMMU"210 Kernel boot message: "PCI-DMA: using GART IOMMU"
211 211
212 3. <arch/x86_64/kernel/pci-swiotlb.c> : Software IOMMU implementation. Used212 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
3If you have any comment or update to the content, please contact the
4original document maintainer directly. However, if you have a problem
5communicating in English you can also ask the Chinese maintainer for
6help. Contact the Chinese maintainer if this translation is outdated
7or if there is a problem with the translation.
8
9Chinese maintainer: Harry Wei <harryxiyou@gmail.com>
10---------------------------------------------------------------------
11Documentation/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
26Linux???浠跺?㈡?风?????缃?淇℃??
27======================================================================
28
29?????????缃?
30----------------------------------------------------------------------
31Linux?????歌ˉ涓???????杩????浠惰?????浜ょ??锛????濂芥??琛ヤ??浣?涓洪??浠朵????????宓?????????????浜?缁存?よ??
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璇存??锛?
64TUI = 浠ユ?????涓哄?虹???????ㄦ?锋?ュ??
65GUI = ??惧舰?????㈢?ㄦ?锋?ュ??
66
67~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68Alpine (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~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80Evolution (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~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93Kmail (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
113display"锛?杩???峰??宓????浠舵?村?规??璁╄?昏???????般??
114
115褰?浣?瑕?淇?瀛?灏?瑕?????????????宓???????琛ヤ??锛?浣????浠ヤ??娑???????琛ㄧ????奸????╁?????琛ヤ????????浠讹????跺????冲?婚?????
116"save as"???浣????浠ヤ娇??ㄤ??涓?娌℃????存?圭????????琛ヤ????????浠讹??濡????瀹????浠ユ?g‘???褰㈠??缁???????褰?浣?姝g????ㄥ??
117???宸辩??绐???d??涓?瀵????锛???f?舵病??????椤瑰??浠ヤ??瀛????浠?--宸茬?????涓?涓?杩???风??bug琚?姹???ュ?颁??kmail???bugzilla
118骞朵??甯????杩?灏?浼?琚?澶??????????浠舵??浠ュ?????瀵规??涓???ㄦ?峰??璇诲???????????琚?淇?瀛????锛????浠ュ?????浣???虫?????浠跺????跺?板?朵????版?癸??
119浣?涓?寰?涓????浠?浠????????????逛负缁?????????翠?????璇汇??
120
121~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
122Lotus Notes (GUI)
123
124涓?瑕?浣跨?ㄥ?????
125
126~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
127Mutt (TUI)
128
129寰?澶?Linux寮????浜哄??浣跨??mutt瀹㈡?风??锛????浠ヨ?????瀹????瀹?宸ヤ????????甯告??浜????
130
131Mutt涓????甯?缂?杈????锛????浠ヤ??绠′??浣跨?ㄤ??涔?缂?杈???ㄩ?戒??搴?璇ュ甫????????ㄦ??琛????澶у????扮??杈???ㄩ?藉甫???
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~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
150Pine (TUI)
151
152Pine杩???绘??涓?浜?绌烘?煎????????棰?锛?浣????杩?浜???板?ㄥ??璇ラ?借??淇?澶?浜????
153
154濡???????浠ワ??璇蜂娇???alpine(pine???缁ф?胯??)
155
156???缃????椤癸??
157- ???杩?????????????瑕?娑???ゆ??绋???????
158- "no-strip-whitespace-before-send"???椤逛????????瑕???????
159
160
161~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
162Sylpheed (GUI)
163
164- ???宓??????????浠ュ??濂界??宸ヤ??锛???????浣跨?ㄩ??浠讹?????
165- ???璁镐娇??ㄥ????ㄧ??缂?杈???ㄣ??
166- 瀵逛?????褰?杈?澶???堕??甯告?????
167- 濡???????杩?non-SSL杩???ワ?????娉?浣跨??TLS SMTP?????????
168- ??ㄧ?????绐???d腑???涓?涓?寰??????ㄧ??ruler bar???
169- 缁???板?????涓?娣诲????板??灏变??浼?姝g‘???浜?瑙f?剧ず??????
170
171~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
172Thunderbird (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~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
195TkRat (GUI)
196
197???浠ヤ娇??ㄥ?????浣跨??"Insert file..."??????澶???ㄧ??缂?杈???ㄣ??
198
199~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
200Gmail (Web GUI)
201
202涓?瑕?浣跨?ㄥ????????琛ヤ?????
203
204Gmail缃?椤靛?㈡?风???????ㄥ?版????惰〃绗?杞????涓虹┖??笺??
205
206??界?跺?惰〃绗?杞????涓虹┖??奸??棰????浠ヨ??澶???ㄧ??杈???ㄨВ??筹???????跺??杩?浼?浣跨?ㄥ??杞???㈣?????姣?琛???????涓?78涓?瀛?绗????
207
208???涓?涓????棰????Gmail杩?浼????浠讳??涓????ASCII???瀛?绗????淇℃????逛负base64缂???????瀹????涓?瑗垮????????娆ф床浜虹?????瀛????
209
210 ###
MAINTAINERS+210−136
@@ -151,6 +151,7 @@ S: Maintained · 150 unmodified lines
151F: drivers/net/hamradio/6pack.c151F: drivers/net/hamradio/6pack.c
152 152
1538169 10/100/1000 GIGABIT ETHERNET DRIVER1538169 10/100/1000 GIGABIT ETHERNET DRIVER
154M: Realtek linux nic maintainers <nic_swsd@realtek.com>
154M: Francois Romieu <romieu@fr.zoreil.com>155M: Francois Romieu <romieu@fr.zoreil.com>
155L: netdev@vger.kernel.org156L: netdev@vger.kernel.org
156S: Maintained157S: Maintained
@@ -184,10 +185,9 @@ F: Documentation/filesystems/9p.txt · 27 unmodified lines
184F: fs/9p/185F: fs/9p/
185 186
186A2232 SERIAL BOARD DRIVER187A2232 SERIAL BOARD DRIVER
187M: Enver Haase <A2232@gmx.net>
188L: linux-m68k@lists.linux-m68k.org188L: linux-m68k@lists.linux-m68k.org
189S: Maintained189S: Orphan
190F: drivers/char/ser_a2232*190F: drivers/staging/generic_serial/ser_a2232*
191 191
192AACRAID SCSI RAID DRIVER192AACRAID SCSI RAID DRIVER
193M: Adaptec OEM Raid Solutions <aacraid@adaptec.com>193M: Adaptec OEM Raid Solutions <aacraid@adaptec.com>
@@ -223,10 +223,8 @@ S: Maintained · 29 unmodified lines
223F: drivers/platform/x86/acerhdf.c223F: drivers/platform/x86/acerhdf.c
224 224
225ACER WMI LAPTOP EXTRAS225ACER WMI LAPTOP EXTRAS
226M: Carlos Corbacho <carlos@strangeworlds.co.uk>226M: Joey Lee <jlee@novell.com>
227L: aceracpi@googlegroups.com (subscribers-only)
228L: platform-driver-x86@vger.kernel.org227L: platform-driver-x86@vger.kernel.org
229W: http://code.google.com/p/aceracpi
230S: Maintained228S: Maintained
231F: drivers/platform/x86/acer-wmi.c229F: drivers/platform/x86/acer-wmi.c
232 230
@@ -271,10 +269,8 @@ S: Supported · 38 unmodified lines
271F: drivers/acpi/video.c269F: drivers/acpi/video.c
272 270
273ACPI WMI DRIVER271ACPI WMI DRIVER
274M: Carlos Corbacho <carlos@strangeworlds.co.uk>
275L: platform-driver-x86@vger.kernel.org272L: platform-driver-x86@vger.kernel.org
276W: http://www.lesswatts.org/projects/acpi/273S: Orphan
277S: Maintained
278F: drivers/platform/x86/wmi.c274F: drivers/platform/x86/wmi.c
279 275
280AD1889 ALSA SOUND DRIVER276AD1889 ALSA SOUND DRIVER
@@ -287,35 +283,35 @@ F: sound/pci/ad1889.* · 6 unmodified lines
287 283
288AD525X ANALOG DEVICES DIGITAL POTENTIOMETERS DRIVER284AD525X ANALOG DEVICES DIGITAL POTENTIOMETERS DRIVER
289M: Michael Hennerich <michael.hennerich@analog.com>285M: Michael Hennerich <michael.hennerich@analog.com>
290L: device-driver-devel@blackfin.uclinux.org286L: device-drivers-devel@blackfin.uclinux.org
291W: http://wiki.analog.com/AD5254287W: http://wiki.analog.com/AD5254
292S: Supported288S: Supported
293F: drivers/misc/ad525x_dpot.c289F: drivers/misc/ad525x_dpot.c
294 290
295AD5398 CURRENT REGULATOR DRIVER (AD5398/AD5821)291AD5398 CURRENT REGULATOR DRIVER (AD5398/AD5821)
296M: Michael Hennerich <michael.hennerich@analog.com>292M: Michael Hennerich <michael.hennerich@analog.com>
297L: device-driver-devel@blackfin.uclinux.org293L: device-drivers-devel@blackfin.uclinux.org
298W: http://wiki.analog.com/AD5398294W: http://wiki.analog.com/AD5398
299S: Supported295S: Supported
300F: drivers/regulator/ad5398.c296F: drivers/regulator/ad5398.c
301 297
302AD714X CAPACITANCE TOUCH SENSOR DRIVER (AD7142/3/7/8/7A)298AD714X CAPACITANCE TOUCH SENSOR DRIVER (AD7142/3/7/8/7A)
303M: Michael Hennerich <michael.hennerich@analog.com>299M: Michael Hennerich <michael.hennerich@analog.com>
304L: device-driver-devel@blackfin.uclinux.org300L: device-drivers-devel@blackfin.uclinux.org
305W: http://wiki.analog.com/AD7142301W: http://wiki.analog.com/AD7142
306S: Supported302S: Supported
307F: drivers/input/misc/ad714x.c303F: drivers/input/misc/ad714x.c
308 304
309AD7877 TOUCHSCREEN DRIVER305AD7877 TOUCHSCREEN DRIVER
310M: Michael Hennerich <michael.hennerich@analog.com>306M: Michael Hennerich <michael.hennerich@analog.com>
311L: device-driver-devel@blackfin.uclinux.org307L: device-drivers-devel@blackfin.uclinux.org
312W: http://wiki.analog.com/AD7877308W: http://wiki.analog.com/AD7877
313S: Supported309S: Supported
314F: drivers/input/touchscreen/ad7877.c310F: drivers/input/touchscreen/ad7877.c
315 311
316AD7879 TOUCHSCREEN DRIVER (AD7879/AD7889)312AD7879 TOUCHSCREEN DRIVER (AD7879/AD7889)
317M: Michael Hennerich <michael.hennerich@analog.com>313M: Michael Hennerich <michael.hennerich@analog.com>
318L: device-driver-devel@blackfin.uclinux.org314L: device-drivers-devel@blackfin.uclinux.org
319W: http://wiki.analog.com/AD7879315W: http://wiki.analog.com/AD7879
320S: Supported316S: Supported
321F: drivers/input/touchscreen/ad7879.c317F: drivers/input/touchscreen/ad7879.c
@@ -341,7 +337,7 @@ F: drivers/net/wireless/adm8211.* · 19 unmodified lines
341 337
342ADP5520 BACKLIGHT DRIVER WITH IO EXPANDER (ADP5520/ADP5501)338ADP5520 BACKLIGHT DRIVER WITH IO EXPANDER (ADP5520/ADP5501)
343M: Michael Hennerich <michael.hennerich@analog.com>339M: Michael Hennerich <michael.hennerich@analog.com>
344L: device-driver-devel@blackfin.uclinux.org340L: device-drivers-devel@blackfin.uclinux.org
345W: http://wiki.analog.com/ADP5520341W: http://wiki.analog.com/ADP5520
346S: Supported342S: Supported
347F: drivers/mfd/adp5520.c343F: drivers/mfd/adp5520.c
@@ -352,7 +348,7 @@ F: drivers/input/keyboard/adp5520-keys.c · 4 unmodified lines
352 348
353ADP5588 QWERTY KEYPAD AND IO EXPANDER DRIVER (ADP5588/ADP5587)349ADP5588 QWERTY KEYPAD AND IO EXPANDER DRIVER (ADP5588/ADP5587)
354M: Michael Hennerich <michael.hennerich@analog.com>350M: Michael Hennerich <michael.hennerich@analog.com>
355L: device-driver-devel@blackfin.uclinux.org351L: device-drivers-devel@blackfin.uclinux.org
356W: http://wiki.analog.com/ADP5588352W: http://wiki.analog.com/ADP5588
357S: Supported353S: Supported
358F: drivers/input/keyboard/adp5588-keys.c354F: drivers/input/keyboard/adp5588-keys.c
@@ -360,7 +356,7 @@ F: drivers/gpio/adp5588-gpio.c · 1 unmodified line
360 356
361ADP8860 BACKLIGHT DRIVER (ADP8860/ADP8861/ADP8863)357ADP8860 BACKLIGHT DRIVER (ADP8860/ADP8861/ADP8863)
362M: Michael Hennerich <michael.hennerich@analog.com>358M: Michael Hennerich <michael.hennerich@analog.com>
363L: device-driver-devel@blackfin.uclinux.org359L: device-drivers-devel@blackfin.uclinux.org
364W: http://wiki.analog.com/ADP8860360W: http://wiki.analog.com/ADP8860
365S: Supported361S: Supported
366F: drivers/video/backlight/adp8860_bl.c362F: drivers/video/backlight/adp8860_bl.c
@@ -387,7 +383,7 @@ F: drivers/hwmon/adt7475.c · 20 unmodified lines
387 383
388ADXL34X THREE-AXIS DIGITAL ACCELEROMETER DRIVER (ADXL345/ADXL346)384ADXL34X THREE-AXIS DIGITAL ACCELEROMETER DRIVER (ADXL345/ADXL346)
389M: Michael Hennerich <michael.hennerich@analog.com>385M: Michael Hennerich <michael.hennerich@analog.com>
390L: device-driver-devel@blackfin.uclinux.org386L: device-drivers-devel@blackfin.uclinux.org
391W: http://wiki.analog.com/ADXL345387W: http://wiki.analog.com/ADXL345
392S: Supported388S: Supported
393F: drivers/input/misc/adxl34x.c389F: drivers/input/misc/adxl34x.c
@@ -405,8 +401,8 @@ S: Maintained · 11 unmodified lines
405F: sound/oss/aedsp16.c401F: sound/oss/aedsp16.c
406 402
407AFFS FILE SYSTEM403AFFS FILE SYSTEM
408M: Roman Zippel <zippel@linux-m68k.org>404L: linux-fsdevel@vger.kernel.org
409S: Maintained405S: Orphan
410F: Documentation/filesystems/affs.txt406F: Documentation/filesystems/affs.txt
411F: fs/affs/407F: fs/affs/
412 408
@@ -483,6 +479,13 @@ F: drivers/tty/serial/altera_jtaguart.c · 70 unmodified lines
483F: include/linux/altera_uart.h479F: include/linux/altera_uart.h
484F: include/linux/altera_jtaguart.h480F: include/linux/altera_jtaguart.h
485 481
482AMD FAM15H PROCESSOR POWER MONITORING DRIVER
483M: Andreas Herrmann <andreas.herrmann3@amd.com>
484L: lm-sensors@lm-sensors.org
485S: Maintained
486F: Documentation/hwmon/fam15h_power
487F: drivers/hwmon/fam15h_power.c
488
486AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER489AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER
487M: Thomas Dahlmann <dahlmann.thomas@arcor.de>490M: Thomas Dahlmann <dahlmann.thomas@arcor.de>
488L: linux-geode@lists.infradead.org (moderated for non-subscribers)491L: linux-geode@lists.infradead.org (moderated for non-subscribers)
@@ -526,7 +529,7 @@ S: Maintained · 37 unmodified lines
526F: drivers/infiniband/hw/amso1100/529F: drivers/infiniband/hw/amso1100/
527 530
528ANALOG DEVICES INC ASOC CODEC DRIVERS531ANALOG DEVICES INC ASOC CODEC DRIVERS
529L: device-driver-devel@blackfin.uclinux.org532L: device-drivers-devel@blackfin.uclinux.org
530L: alsa-devel@alsa-project.org (moderated for non-subscribers)533L: alsa-devel@alsa-project.org (moderated for non-subscribers)
531W: http://wiki.analog.com/534W: http://wiki.analog.com/
532S: Supported535S: Supported
@@ -548,10 +551,11 @@ S: Maintained · 15 unmodified lines
548F: sound/aoa/551F: sound/aoa/
549 552
550APM DRIVER553APM DRIVER
551L: linux-laptop@vger.kernel.org554M: Jiri Kosina <jkosina@suse.cz>
552S: Orphan555S: Odd fixes
553F: arch/x86/kernel/apm_32.c556F: arch/x86/kernel/apm_32.c
554F: include/linux/apm_bios.h557F: include/linux/apm_bios.h
558F: drivers/char/apm-emulation.c
555 559
556APPLE BCM5974 MULTITOUCH DRIVER560APPLE BCM5974 MULTITOUCH DRIVER
557M: Henrik Rydberg <rydberg@euromail.se>561M: Henrik Rydberg <rydberg@euromail.se>
@@ -729,7 +733,7 @@ ARM/EZX SMARTPHONES (A780, A910, A1200, E680, ROKR E2 and ROKR E6) · 171 unmodified lines
729M: Daniel Ribeiro <drwyrm@gmail.com>733M: Daniel Ribeiro <drwyrm@gmail.com>
730M: Stefan Schmidt <stefan@openezx.org>734M: Stefan Schmidt <stefan@openezx.org>
731M: Harald Welte <laforge@openezx.org>735M: Harald Welte <laforge@openezx.org>
732L: openezx-devel@lists.openezx.org (subscribers-only)736L: openezx-devel@lists.openezx.org (moderated for non-subscribers)
733W: http://www.openezx.org/737W: http://www.openezx.org/
734S: Maintained738S: Maintained
735T: topgit git://git.openezx.org/openezx.git739T: topgit git://git.openezx.org/openezx.git
@@ -877,6 +881,13 @@ F: arch/arm/mach-mv78xx0/ · 141 unmodified lines
877F: arch/arm/mach-orion5x/881F: arch/arm/mach-orion5x/
878F: arch/arm/plat-orion/882F: arch/arm/plat-orion/
879 883
884ARM/Orion SoC/Technologic Systems TS-78xx platform support
885M: Alexander Clouter <alex@digriz.org.uk>
886L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
887W: http://www.digriz.org.uk/ts78xx/kernel
888S: Maintained
889F: arch/arm/mach-orion5x/ts78xx-*
890
880ARM/MIOA701 MACHINE SUPPORT891ARM/MIOA701 MACHINE SUPPORT
881M: Robert Jarzmik <robert.jarzmik@free.fr>892M: Robert Jarzmik <robert.jarzmik@free.fr>
882L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)893L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@ -916,6 +927,8 @@ F: drivers/mmc/host/msm_sdcc.h · 33 unmodified lines
916F: drivers/tty/serial/msm_serial.h927F: drivers/tty/serial/msm_serial.h
917F: drivers/tty/serial/msm_serial.c928F: drivers/tty/serial/msm_serial.c
918F: drivers/platform/msm/929F: drivers/platform/msm/
930F: drivers/*/pm8???-*
931F: include/linux/mfd/pm8xxx/
919T: git git://codeaurora.org/quic/kernel/davidb/linux-msm.git932T: git git://codeaurora.org/quic/kernel/davidb/linux-msm.git
920S: Maintained933S: Maintained
921 934
@@ -1025,12 +1038,13 @@ W: http://www.fluff.org/ben/linux/ · 103 unmodified lines
1025S: Maintained1038S: Maintained
1026F: arch/arm/mach-s3c64xx/1039F: arch/arm/mach-s3c64xx/
1027 1040
1028ARM/S5P ARM ARCHITECTURES1041ARM/S5P EXYNOS ARM ARCHITECTURES
1029M: Kukjin Kim <kgene.kim@samsung.com>1042M: Kukjin Kim <kgene.kim@samsung.com>
1030L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)1043L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1031L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)1044L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
1032S: Maintained1045S: Maintained
1033F: arch/arm/mach-s5p*/1046F: arch/arm/mach-s5p*/
1047F: arch/arm/mach-exynos*/
1034 1048
1035ARM/SAMSUNG MOBILE MACHINE SUPPORT1049ARM/SAMSUNG MOBILE MACHINE SUPPORT
1036M: Kyungmin Park <kyungmin.park@samsung.com>1050M: Kyungmin Park <kyungmin.park@samsung.com>
@@ -1063,7 +1077,7 @@ F: arch/arm/mach-shmobile/ · 26 unmodified lines
1063F: drivers/sh/1077F: drivers/sh/
1064 1078
1065ARM/TELECHIPS ARM ARCHITECTURE1079ARM/TELECHIPS ARM ARCHITECTURE
1066M: "Hans J. Koch" <hjk@linutronix.de>1080M: "Hans J. Koch" <hjk@hansjkoch.de>
1067L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)1081L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1068S: Maintained1082S: Maintained
1069F: arch/arm/plat-tcc/1083F: arch/arm/plat-tcc/
@@ -1224,13 +1238,6 @@ W: http://wireless.kernel.org/en/users/Drivers/ath9k · 154 unmodified lines
1224S: Supported1238S: Supported
1225F: drivers/net/wireless/ath/ath9k/1239F: drivers/net/wireless/ath/ath9k/
1226 1240
1227ATHEROS AR9170 WIRELESS DRIVER
1228M: Christian Lamparter <chunkeey@web.de>
1229L: linux-wireless@vger.kernel.org
1230W: http://wireless.kernel.org/en/users/Drivers/ar9170
1231S: Obsolete
1232F: drivers/net/wireless/ath/ar9170/
1233
1234CARL9170 LINUX COMMUNITY WIRELESS DRIVER1241CARL9170 LINUX COMMUNITY WIRELESS DRIVER
1235M: Christian Lamparter <chunkeey@googlemail.com>1242M: Christian Lamparter <chunkeey@googlemail.com>
1236L: linux-wireless@vger.kernel.org1243L: linux-wireless@vger.kernel.org
@@ -1823,11 +1830,10 @@ S: Maintained · 586 unmodified lines
1823F: drivers/platform/x86/compal-laptop.c1830F: drivers/platform/x86/compal-laptop.c
1824 1831
1825COMPUTONE INTELLIPORT MULTIPORT CARD1832COMPUTONE INTELLIPORT MULTIPORT CARD
1826M: "Michael H. Warfield" <mhw@wittsend.com>
1827W: http://www.wittsend.com/computone.html1833W: http://www.wittsend.com/computone.html
1828S: Maintained1834S: Orphan
1829F: Documentation/serial/computone.txt1835F: Documentation/serial/computone.txt
1830F: drivers/char/ip2/1836F: drivers/staging/tty/ip2/
1831 1837
1832CONEXANT ACCESSRUNNER USB DRIVER1838CONEXANT ACCESSRUNNER USB DRIVER
1833M: Simon Arlott <cxacru@fire.lp0.eu>1839M: Simon Arlott <cxacru@fire.lp0.eu>
@@ -2010,7 +2016,7 @@ F: drivers/net/wan/cycx* · 176 unmodified lines
2010CYCLADES ASYNC MUX DRIVER2016CYCLADES ASYNC MUX DRIVER
2011W: http://www.cyclades.com/2017W: http://www.cyclades.com/
2012S: Orphan2018S: Orphan
2013F: drivers/char/cyclades.c2019F: drivers/tty/cyclades.c
2014F: include/linux/cyclades.h2020F: include/linux/cyclades.h
2015 2021
2016CYCLADES PC300 DRIVER2022CYCLADES PC300 DRIVER
@@ -2033,9 +2039,8 @@ F: net/ax25/ax25_timer.c · 16 unmodified lines
2033F: net/ax25/sysctl_net_ax25.c2039F: net/ax25/sysctl_net_ax25.c
2034 2040
2035DAVICOM FAST ETHERNET (DMFE) NETWORK DRIVER2041DAVICOM FAST ETHERNET (DMFE) NETWORK DRIVER
2036M: Tobias Ringstrom <tori@unhappy.mine.nu>
2037L: netdev@vger.kernel.org2042L: netdev@vger.kernel.org
2038S: Maintained2043S: Orphan
2039F: Documentation/networking/dmfe.txt2044F: Documentation/networking/dmfe.txt
2040F: drivers/net/tulip/dmfe.c2045F: drivers/net/tulip/dmfe.c
2041 2046
@@ -2124,8 +2129,8 @@ L: Eng.Linux@digi.com · 82 unmodified lines
2124W: http://www.digi.com2129W: http://www.digi.com
2125S: Orphan2130S: Orphan
2126F: Documentation/serial/digiepca.txt2131F: Documentation/serial/digiepca.txt
2127F: drivers/char/epca*2132F: drivers/staging/tty/epca*
2128F: drivers/char/digi*2133F: drivers/staging/tty/digi*
2129 2134
2130DIOLAN U2C-12 I2C DRIVER2135DIOLAN U2C-12 I2C DRIVER
2131M: Guenter Roeck <guenter.roeck@ericsson.com>2136M: Guenter Roeck <guenter.roeck@ericsson.com>
@@ -2169,6 +2174,8 @@ M: Dan Williams <dan.j.williams@intel.com> · 37 unmodified lines
2169S: Supported2174S: Supported
2170F: drivers/dma/2175F: drivers/dma/
2171F: include/linux/dma*2176F: include/linux/dma*
2177T: git git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx.git
2178T: git git://git.infradead.org/users/vkoul/slave-dma.git (slave-dma)
2172 2179
2173DME1737 HARDWARE MONITOR DRIVER2180DME1737 HARDWARE MONITOR DRIVER
2174M: Juerg Haefliger <juergh@gmail.com>2181M: Juerg Haefliger <juergh@gmail.com>
@@ -2244,10 +2251,10 @@ F: drivers/gpu/drm/ · 69 unmodified lines
2244F: include/drm/2251F: include/drm/
2245 2252
2246INTEL DRM DRIVERS (excluding Poulsbo, Moorestown and derivative chipsets)2253INTEL DRM DRIVERS (excluding Poulsbo, Moorestown and derivative chipsets)
2247M: Chris Wilson <chris@chris-wilson.co.uk>2254M: Keith Packard <keithp@keithp.com>
2248L: intel-gfx@lists.freedesktop.org (subscribers-only)2255L: intel-gfx@lists.freedesktop.org (subscribers-only)
2249L: dri-devel@lists.freedesktop.org2256L: dri-devel@lists.freedesktop.org
2250T: git git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel.git2257T: git git://git.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6.git
2251S: Supported2258S: Supported
2252F: drivers/gpu/drm/i9152259F: drivers/gpu/drm/i915
2253F: include/drm/i915*2260F: include/drm/i915*
@@ -2295,7 +2302,7 @@ F: net/bridge/netfilter/ebt*.c · 41 unmodified lines
2295ECRYPT FILE SYSTEM2302ECRYPT FILE SYSTEM
2296M: Tyler Hicks <tyhicks@linux.vnet.ibm.com>2303M: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
2297M: Dustin Kirkland <kirkland@canonical.com>2304M: Dustin Kirkland <kirkland@canonical.com>
2298L: ecryptfs-devel@lists.launchpad.net2305L: ecryptfs@vger.kernel.org
2299W: https://launchpad.net/ecryptfs2306W: https://launchpad.net/ecryptfs
2300S: Supported2307S: Supported
2301F: Documentation/filesystems/ecryptfs.txt2308F: Documentation/filesystems/ecryptfs.txt
@@ -2575,6 +2582,13 @@ S: Maintained · 273 unmodified lines
2575F: drivers/hwmon/f75375s.c2582F: drivers/hwmon/f75375s.c
2576F: include/linux/f75375s.h2583F: include/linux/f75375s.h
2577 2584
2585FIREWIRE AUDIO DRIVERS
2586M: Clemens Ladisch <clemens@ladisch.de>
2587L: alsa-devel@alsa-project.org (moderated for non-subscribers)
2588T: git git://git.alsa-project.org/alsa-kernel.git
2589S: Maintained
2590F: sound/firewire/
2591
2578FIREWIRE SUBSYSTEM2592FIREWIRE SUBSYSTEM
2579M: Stefan Richter <stefanr@s5r6.in-berlin.de>2593M: Stefan Richter <stefanr@s5r6.in-berlin.de>
2580L: linux1394-devel@lists.sourceforge.net2594L: linux1394-devel@lists.sourceforge.net
@@ -2802,42 +2816,23 @@ GPIO SUBSYSTEM · 221 unmodified lines
2802M: Grant Likely <grant.likely@secretlab.ca>2816M: Grant Likely <grant.likely@secretlab.ca>
2803S: Maintained2817S: Maintained
2804T: git git://git.secretlab.ca/git/linux-2.6.git2818T: git git://git.secretlab.ca/git/linux-2.6.git
2805F: Documentation/gpio/gpio.txt2819F: Documentation/gpio.txt
2806F: drivers/gpio/2820F: drivers/gpio/
2807F: include/linux/gpio*2821F: include/linux/gpio*
2808 2822
2823GRE DEMULTIPLEXER DRIVER
2824M: Dmitry Kozlov <xeb@mail.ru>
2825L: netdev@vger.kernel.org
2826S: Maintained
2827F: net/ipv4/gre.c
2828F: include/net/gre.h
2829
2809GRETH 10/100/1G Ethernet MAC device driver2830GRETH 10/100/1G Ethernet MAC device driver
2810M: Kristoffer Glembo <kristoffer@gaisler.com>2831M: Kristoffer Glembo <kristoffer@gaisler.com>
2811L: netdev@vger.kernel.org2832L: netdev@vger.kernel.org
2812S: Maintained2833S: Maintained
2813F: drivers/net/greth*2834F: drivers/net/greth*
2814 2835
2815HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
2816M: Frank Seidel <frank@f-seidel.de>
2817L: platform-driver-x86@vger.kernel.org
2818W: http://www.kernel.org/pub/linux/kernel/people/fseidel/hdaps/
2819S: Maintained
2820F: drivers/platform/x86/hdaps.c
2821
2822HWPOISON MEMORY FAILURE HANDLING
2823M: Andi Kleen <andi@firstfloor.org>
2824L: linux-mm@kvack.org
2825T: git git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6.git hwpoison
2826S: Maintained
2827F: mm/memory-failure.c
2828F: mm/hwpoison-inject.c
2829
2830HYPERVISOR VIRTUAL CONSOLE DRIVER
2831L: linuxppc-dev@lists.ozlabs.org
2832S: Odd Fixes
2833F: drivers/tty/hvc/
2834
2835iSCSI BOOT FIRMWARE TABLE (iBFT) DRIVER
2836M: Peter Jones <pjones@redhat.com>
2837M: Konrad Rzeszutek Wilk <konrad@kernel.org>
2838S: Maintained
2839F: drivers/firmware/iscsi_ibft*
2840
2841GSPCA FINEPIX SUBDRIVER2836GSPCA FINEPIX SUBDRIVER
2842M: Frank Zago <frank@zago.net>2837M: Frank Zago <frank@zago.net>
2843L: linux-media@vger.kernel.org2838L: 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
2888S: Maintained2883S: Maintained
2889F: drivers/media/video/gspca/2884F: drivers/media/video/gspca/
2890 2885
2886HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
2887M: Frank Seidel <frank@f-seidel.de>
2888L: platform-driver-x86@vger.kernel.org
2889W: http://www.kernel.org/pub/linux/kernel/people/fseidel/hdaps/
2890S: Maintained
2891F: drivers/platform/x86/hdaps.c
2892
2893HWPOISON MEMORY FAILURE HANDLING
2894M: Andi Kleen <andi@firstfloor.org>
2895L: linux-mm@kvack.org
2896T: git git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6.git hwpoison
2897S: Maintained
2898F: mm/memory-failure.c
2899F: mm/hwpoison-inject.c
2900
2901HYPERVISOR VIRTUAL CONSOLE DRIVER
2902L: linuxppc-dev@lists.ozlabs.org
2903S: Odd Fixes
2904F: drivers/tty/hvc/
2905
2891HARDWARE MONITORING2906HARDWARE MONITORING
2892M: Jean Delvare <khali@linux-fr.org>2907M: Jean Delvare <khali@linux-fr.org>
2893M: Guenter Roeck <guenter.roeck@ericsson.com>2908M: Guenter Roeck <guenter.roeck@ericsson.com>
@@ -2938,8 +2953,8 @@ F: drivers/block/cciss* · 44 unmodified lines
2938F: include/linux/cciss_ioctl.h2953F: include/linux/cciss_ioctl.h
2939 2954
2940HFS FILESYSTEM2955HFS FILESYSTEM
2941M: Roman Zippel <zippel@linux-m68k.org>2956L: linux-fsdevel@vger.kernel.org
2942S: Maintained2957S: Orphan
2943F: Documentation/filesystems/hfs.txt2958F: Documentation/filesystems/hfs.txt
2944F: fs/hfs/2959F: fs/hfs/
2945 2960
@@ -3014,9 +3029,8 @@ S: Maintained · 68 unmodified lines
3014F: drivers/net/wireless/hostap/3029F: drivers/net/wireless/hostap/
3015 3030
3016HP COMPAQ TC1100 TABLET WMI EXTRAS DRIVER3031HP COMPAQ TC1100 TABLET WMI EXTRAS DRIVER
3017M: Carlos Corbacho <carlos@strangeworlds.co.uk>
3018L: platform-driver-x86@vger.kernel.org3032L: platform-driver-x86@vger.kernel.org
3019S: Odd Fixes3033S: Orphan
3020F: drivers/platform/x86/tc1100-wmi.c3034F: drivers/platform/x86/tc1100-wmi.c
3021 3035
3022HP100: Driver for HP 10/100 Mbit/s Voice Grade Network Adapter Series3036HP100: Driver for HP 10/100 Mbit/s Voice Grade Network Adapter Series
@@ -3355,6 +3369,12 @@ F: Documentation/wimax/README.i2400m · 332 unmodified lines
3355F: drivers/net/wimax/i2400m/3369F: drivers/net/wimax/i2400m/
3356F: include/linux/wimax/i2400m.h3370F: include/linux/wimax/i2400m.h
3357 3371
3372INTEL WIRELESS 3945ABG/BG, 4965AGN (iwlegacy)
3373M: Stanislaw Gruszka <sgruszka@redhat.com>
3374L: linux-wireless@vger.kernel.org
3375S: Supported
3376F: drivers/net/wireless/iwlegacy/
3377
3358INTEL WIRELESS WIFI LINK (iwlwifi)3378INTEL WIRELESS WIFI LINK (iwlwifi)
3359M: Wey-Yi Guy <wey-yi.w.guy@intel.com>3379M: Wey-Yi Guy <wey-yi.w.guy@intel.com>
3360M: Intel Linux Wireless <ilw@linux.intel.com>3380M: Intel Linux Wireless <ilw@linux.intel.com>
@@ -3471,6 +3491,12 @@ F: Documentation/isapnp.txt · 110 unmodified lines
3471F: drivers/pnp/isapnp/3491F: drivers/pnp/isapnp/
3472F: include/linux/isapnp.h3492F: include/linux/isapnp.h
3473 3493
3494iSCSI BOOT FIRMWARE TABLE (iBFT) DRIVER
3495M: Peter Jones <pjones@redhat.com>
3496M: Konrad Rzeszutek Wilk <konrad@kernel.org>
3497S: Maintained
3498F: drivers/firmware/iscsi_ibft*
3499
3474ISCSI3500ISCSI
3475M: Mike Christie <michaelc@cs.wisc.edu>3501M: Mike Christie <michaelc@cs.wisc.edu>
3476L: open-iscsi@googlegroups.com3502L: open-iscsi@googlegroups.com
@@ -3552,9 +3578,16 @@ M: Andrew Morton <akpm@linux-foundation.org> · 75 unmodified lines
3552M: Jan Kara <jack@suse.cz>3578M: Jan Kara <jack@suse.cz>
3553L: linux-ext4@vger.kernel.org3579L: linux-ext4@vger.kernel.org
3554S: Maintained3580S: Maintained
3555F: fs/jbd*/3581F: fs/jbd/
3556F: include/linux/ext*jbd*.h3582F: include/linux/ext3_jbd.h
3557F: include/linux/jbd*.h3583F: include/linux/jbd.h
3584
3585JOURNALLING LAYER FOR BLOCK DEVICES (JBD2)
3586M: "Theodore Ts'o" <tytso@mit.edu>
3587L: linux-ext4@vger.kernel.org
3588S: Maintained
3589F: fs/jbd2/
3590F: include/linux/jbd2.h
3558 3591
3559JSM Neo PCI based serial card3592JSM Neo PCI based serial card
3560M: Breno Leitao <leitao@linux.vnet.ibm.com>3593M: Breno Leitao <leitao@linux.vnet.ibm.com>
@@ -3577,10 +3610,9 @@ F: Documentation/hwmon/k8temp · 16 unmodified lines
3577F: drivers/hwmon/k8temp.c3610F: drivers/hwmon/k8temp.c
3578 3611
3579KCONFIG3612KCONFIG
3580M: Roman Zippel <zippel@linux-m68k.org>3613M: Michal Marek <mmarek@suse.cz>
3581L: linux-kbuild@vger.kernel.org3614L: linux-kbuild@vger.kernel.org
3582Q: http://patchwork.kernel.org/project/linux-kbuild/list/3615S: Odd Fixes
3583S: Maintained
3584F: Documentation/kbuild/kconfig-language.txt3616F: Documentation/kbuild/kconfig-language.txt
3585F: scripts/kconfig/3617F: scripts/kconfig/
3586 3618
@@ -3691,7 +3723,7 @@ KEYS/KEYRINGS: · 104 unmodified lines
3691M: David Howells <dhowells@redhat.com>3723M: David Howells <dhowells@redhat.com>
3692L: keyrings@linux-nfs.org3724L: keyrings@linux-nfs.org
3693S: Maintained3725S: Maintained
3694F: Documentation/keys.txt3726F: Documentation/security/keys.txt
3695F: include/linux/key.h3727F: include/linux/key.h
3696F: include/linux/key-type.h3728F: include/linux/key-type.h
3697F: include/keys/3729F: include/keys/
@@ -3703,7 +3735,7 @@ M: Mimi Zohar <zohar@us.ibm.com> · 5 unmodified lines
3703L: linux-security-module@vger.kernel.org3735L: linux-security-module@vger.kernel.org
3704L: keyrings@linux-nfs.org3736L: keyrings@linux-nfs.org
3705S: Supported3737S: Supported
3706F: Documentation/keys-trusted-encrypted.txt3738F: Documentation/security/keys-trusted-encrypted.txt
3707F: include/keys/trusted-type.h3739F: include/keys/trusted-type.h
3708F: security/keys/trusted.c3740F: security/keys/trusted.c
3709F: security/keys/trusted.h3741F: security/keys/trusted.h
@@ -3714,7 +3746,7 @@ M: David Safford <safford@watson.ibm.com> · 4 unmodified lines
3714L: linux-security-module@vger.kernel.org3746L: linux-security-module@vger.kernel.org
3715L: keyrings@linux-nfs.org3747L: keyrings@linux-nfs.org
3716S: Supported3748S: Supported
3717F: Documentation/keys-trusted-encrypted.txt3749F: Documentation/security/keys-trusted-encrypted.txt
3718F: include/keys/encrypted-type.h3750F: include/keys/encrypted-type.h
3719F: security/keys/encrypted.c3751F: security/keys/encrypted.c
3720F: security/keys/encrypted.h3752F: security/keys/encrypted.h
@@ -3800,7 +3832,7 @@ M: Rusty Russell <rusty@rustcorp.com.au> · 79 unmodified lines
3800L: lguest@lists.ozlabs.org3832L: lguest@lists.ozlabs.org
3801W: http://lguest.ozlabs.org/3833W: http://lguest.ozlabs.org/
3802S: Odd Fixes3834S: Odd Fixes
3803F: Documentation/lguest/3835F: Documentation/virtual/lguest/
3804F: arch/x86/lguest/3836F: arch/x86/lguest/
3805F: drivers/lguest/3837F: drivers/lguest/
3806F: include/linux/lguest*.h3838F: include/linux/lguest*.h
@@ -3884,7 +3916,6 @@ F: drivers/*/*/*pasemi* · 77 unmodified lines
3884LINUX SECURITY MODULE (LSM) FRAMEWORK3916LINUX SECURITY MODULE (LSM) FRAMEWORK
3885M: Chris Wright <chrisw@sous-sol.org>3917M: Chris Wright <chrisw@sous-sol.org>
3886L: linux-security-module@vger.kernel.org3918L: linux-security-module@vger.kernel.org
3887T: git git://git.kernel.org/pub/scm/linux/kernel/git/chrisw/lsm-2.6.git
3888S: Supported3919S: Supported
3889 3920
3890LIS3LV02D ACCELEROMETER DRIVER3921LIS3LV02D ACCELEROMETER DRIVER
@@ -3987,7 +4018,6 @@ F: arch/m32r/ · 96 unmodified lines
3987 4018
3988M68K ARCHITECTURE4019M68K ARCHITECTURE
3989M: Geert Uytterhoeven <geert@linux-m68k.org>4020M: Geert Uytterhoeven <geert@linux-m68k.org>
3990M: Roman Zippel <zippel@linux-m68k.org>
3991L: linux-m68k@lists.linux-m68k.org4021L: linux-m68k@lists.linux-m68k.org
3992W: http://www.linux-m68k.org/4022W: http://www.linux-m68k.org/
3993T: git git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git4023T: 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
4077F: include/linux/matroxfb.h4107F: include/linux/matroxfb.h
4078 4108
4079MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER4109MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER
4080M: "Hans J. Koch" <hjk@linutronix.de>4110M: "Hans J. Koch" <hjk@hansjkoch.de>
4081L: lm-sensors@lm-sensors.org4111L: lm-sensors@lm-sensors.org
4082S: Maintained4112S: Maintained
4083F: Documentation/hwmon/max66504113F: Documentation/hwmon/max6650
@@ -4121,6 +4151,7 @@ M: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> · 37 unmodified lines
4121L: linux-mm@kvack.org4151L: linux-mm@kvack.org
4122S: Maintained4152S: Maintained
4123F: mm/memcontrol.c4153F: mm/memcontrol.c
4154F: mm/page_cgroup.c
4124 4155
4125MEMORY TECHNOLOGY DEVICES (MTD)4156MEMORY TECHNOLOGY DEVICES (MTD)
4126M: David Woodhouse <dwmw2@infradead.org>4157M: David Woodhouse <dwmw2@infradead.org>
@@ -4192,7 +4223,7 @@ MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD · 65 unmodified lines
4192M: Jiri Slaby <jirislaby@gmail.com>4223M: Jiri Slaby <jirislaby@gmail.com>
4193S: Maintained4224S: Maintained
4194F: Documentation/serial/moxa-smartio4225F: Documentation/serial/moxa-smartio
4195F: drivers/char/mxser.*4226F: drivers/tty/mxser.*
4196 4227
4197MSI LAPTOP SUPPORT4228MSI LAPTOP SUPPORT
4198M: "Lee, Chun-Yi" <jlee@novell.com>4229M: "Lee, Chun-Yi" <jlee@novell.com>
@@ -4234,13 +4265,13 @@ F: sound/oss/msnd* · 35 unmodified lines
4234 4265
4235MULTITECH MULTIPORT CARD (ISICOM)4266MULTITECH MULTIPORT CARD (ISICOM)
4236S: Orphan4267S: Orphan
4237F: drivers/char/isicom.c4268F: drivers/tty/isicom.c
4238F: include/linux/isicom.h4269F: include/linux/isicom.h
4239 4270
4240MUSB MULTIPOINT HIGH SPEED DUAL-ROLE CONTROLLER4271MUSB MULTIPOINT HIGH SPEED DUAL-ROLE CONTROLLER
4241M: Felipe Balbi <balbi@ti.com>4272M: Felipe Balbi <balbi@ti.com>
4242L: linux-usb@vger.kernel.org4273L: linux-usb@vger.kernel.org
4243T: git git://gitorious.org/usb/usb.git4274T: git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
4244S: Maintained4275S: Maintained
4245F: drivers/usb/musb/4276F: drivers/usb/musb/
4246 4277
@@ -4257,6 +4288,13 @@ M: Tim Hockin <thockin@hockin.org> · 10 unmodified lines
4257S: Maintained4288S: Maintained
4258F: drivers/net/natsemi.c4289F: drivers/net/natsemi.c
4259 4290
4291NATIVE INSTRUMENTS USB SOUND INTERFACE DRIVER
4292M: Daniel Mack <zonque@gmail.com>
4293S: Maintained
4294L: alsa-devel@alsa-project.org
4295W: http://www.native-instruments.com
4296F: sound/usb/caiaq/
4297
4260NCP FILESYSTEM4298NCP FILESYSTEM
4261M: Petr Vandrovec <petr@vandrovec.name>4299M: Petr Vandrovec <petr@vandrovec.name>
4262S: Odd Fixes4300S: Odd Fixes
@@ -4372,6 +4410,7 @@ S: Maintained · 109 unmodified lines
4372F: net/ipv4/4410F: net/ipv4/
4373F: net/ipv6/4411F: net/ipv6/
4374F: include/net/ip*4412F: include/net/ip*
4413F: arch/x86/net/*
4375 4414
4376NETWORKING [LABELED] (NetLabel, CIPSO, Labeled IPsec, SECMARK)4415NETWORKING [LABELED] (NetLabel, CIPSO, Labeled IPsec, SECMARK)
4377M: Paul Moore <paul.moore@hp.com>4416M: Paul Moore <paul.moore@hp.com>
@@ -4567,6 +4606,7 @@ M: Felipe Balbi <balbi@ti.com> · 189 unmodified lines
4567M: David Brownell <dbrownell@users.sourceforge.net>4606M: David Brownell <dbrownell@users.sourceforge.net>
4568L: linux-usb@vger.kernel.org4607L: linux-usb@vger.kernel.org
4569L: linux-omap@vger.kernel.org4608L: linux-omap@vger.kernel.org
4609T: git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
4570S: Maintained4610S: Maintained
4571F: drivers/usb/*/*omap*4611F: drivers/usb/*/*omap*
4572F: arch/arm/*omap*/usb*4612F: arch/arm/*omap*/usb*
@@ -4982,6 +5022,13 @@ F: Documentation/pps/ · 409 unmodified lines
4982F: drivers/pps/5022F: drivers/pps/
4983F: include/linux/pps*.h5023F: include/linux/pps*.h
4984 5024
5025PPTP DRIVER
5026M: Dmitry Kozlov <xeb@mail.ru>
5027L: netdev@vger.kernel.org
5028S: Maintained
5029F: drivers/net/pptp.c
5030W: http://sourceforge.net/projects/accel-pptp
5031
4985PREEMPTIBLE KERNEL5032PREEMPTIBLE KERNEL
4986M: Robert Love <rml@tech9.net>5033M: Robert Love <rml@tech9.net>
4987L: kpreempt-tech@lists.sourceforge.net5034L: kpreempt-tech@lists.sourceforge.net
@@ -5273,14 +5320,14 @@ F: drivers/memstick/host/r592.* · 285 unmodified lines
5273RISCOM8 DRIVER5320RISCOM8 DRIVER
5274S: Orphan5321S: Orphan
5275F: Documentation/serial/riscom8.txt5322F: Documentation/serial/riscom8.txt
5276F: drivers/char/riscom8*5323F: drivers/staging/tty/riscom8*
5277 5324
5278ROCKETPORT DRIVER5325ROCKETPORT DRIVER
5279P: Comtrol Corp.5326P: Comtrol Corp.
5280W: http://www.comtrol.com5327W: http://www.comtrol.com
5281S: Maintained5328S: Maintained
5282F: Documentation/serial/rocket.txt5329F: Documentation/serial/rocket.txt
5283F: drivers/char/rocket*5330F: drivers/tty/rocket*
5284 5331
5285ROSE NETWORK LAYER5332ROSE NETWORK LAYER
5286M: Ralf Baechle <ralf@linux-mips.org>5333M: Ralf Baechle <ralf@linux-mips.org>
@@ -5390,7 +5437,7 @@ F: drivers/media/video/*7146* · 103 unmodified lines
5390F: include/media/*7146*5437F: include/media/*7146*
5391 5438
5392SAMSUNG AUDIO (ASoC) DRIVERS5439SAMSUNG AUDIO (ASoC) DRIVERS
5393M: Jassi Brar <jassi.brar@samsung.com>5440M: Jassi Brar <jassisinghbrar@gmail.com>
5394L: alsa-devel@alsa-project.org (moderated for non-subscribers)5441L: alsa-devel@alsa-project.org (moderated for non-subscribers)
5395S: Supported5442S: Supported
5396F: sound/soc/samsung5443F: sound/soc/samsung
@@ -5401,6 +5448,13 @@ L: linux-serial@vger.kernel.org · 4 unmodified lines
5401S: Maintained5448S: Maintained
5402F: drivers/tty/serial5449F: drivers/tty/serial
5403 5450
5451SYNOPSYS DESIGNWARE DMAC DRIVER
5452M: Viresh Kumar <viresh.kumar@st.com>
5453S: Maintained
5454F: include/linux/dw_dmac.h
5455F: drivers/dma/dw_dmac_regs.h
5456F: drivers/dma/dw_dmac.c
5457
5404TIMEKEEPING, NTP5458TIMEKEEPING, NTP
5405M: John Stultz <johnstul@us.ibm.com>5459M: John Stultz <johnstul@us.ibm.com>
5406M: Thomas Gleixner <tglx@linutronix.de>5460M: Thomas Gleixner <tglx@linutronix.de>
@@ -5411,6 +5465,7 @@ F: include/linux/timex.h · 4 unmodified lines
5411F: kernel/time/clocksource.c5465F: kernel/time/clocksource.c
5412F: kernel/time/time*.c5466F: kernel/time/time*.c
5413F: kernel/time/ntp.c5467F: kernel/time/ntp.c
5468F: drivers/clocksource
5414 5469
5415TLG2300 VIDEO4LINUX-2 DRIVER5470TLG2300 VIDEO4LINUX-2 DRIVER
5416M: Huang Shijie <shijie8@gmail.com>5471M: Huang Shijie <shijie8@gmail.com>
@@ -5464,7 +5519,7 @@ F: drivers/scsi/sg.c · 47 unmodified lines
5464F: include/scsi/sg.h5519F: include/scsi/sg.h
5465 5520
5466SCSI SUBSYSTEM5521SCSI SUBSYSTEM
5467M: "James E.J. Bottomley" <James.Bottomley@suse.de>5522M: "James E.J. Bottomley" <JBottomley@parallels.com>
5468L: linux-scsi@vger.kernel.org5523L: linux-scsi@vger.kernel.org
5469T: git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git5524T: git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
5470T: git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6.git5525T: 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
5562M: Eric Paris <eparis@parisplace.org>5617M: Eric Paris <eparis@parisplace.org>
5563L: selinux@tycho.nsa.gov (subscribers-only, general discussion)5618L: selinux@tycho.nsa.gov (subscribers-only, general discussion)
5564W: http://selinuxproject.org5619W: http://selinuxproject.org
5565T: git git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6.git5620T: git git://git.infradead.org/users/eparis/selinux.git
5566S: Supported5621S: Supported
5567F: include/linux/selinux*5622F: include/linux/selinux*
5568F: security/selinux/5623F: security/selinux/
5624F: scripts/selinux/
5569 5625
5570APPARMOR SECURITY MODULE5626APPARMOR SECURITY MODULE
5571M: John Johansen <john.johansen@canonical.com>5627M: John Johansen <john.johansen@canonical.com>
@@ -5591,9 +5647,9 @@ F: include/linux/ata.h · 19 unmodified lines
5591F: include/linux/libata.h5647F: include/linux/libata.h
5592 5648
5593SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER5649SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER
5594M: Jayamohan Kallickal <jayamohank@serverengines.com>5650M: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
5595L: linux-scsi@vger.kernel.org5651L: linux-scsi@vger.kernel.org
5596W: http://www.serverengines.com5652W: http://www.emulex.com
5597S: Supported5653S: Supported
5598F: drivers/scsi/be2iscsi/5654F: drivers/scsi/be2iscsi/
5599 5655
@@ -5811,6 +5867,13 @@ S: Maintained · 211 unmodified lines
5811F: drivers/ssb/5867F: drivers/ssb/
5812F: include/linux/ssb/5868F: include/linux/ssb/
5813 5869
5870BROADCOM SPECIFIC AMBA DRIVER (BCMA)
5871M: Rafał Miłecki <zajec5@gmail.com>
5872L: linux-wireless@vger.kernel.org
5873S: Maintained
5874F: drivers/bcma/
5875F: include/linux/bcma/
5876
5814SONY VAIO CONTROL DEVICE DRIVER5877SONY VAIO CONTROL DEVICE DRIVER
5815M: Mattia Dongili <malattia@linux.it>5878M: Mattia Dongili <malattia@linux.it>
5816L: platform-driver-x86@vger.kernel.org5879L: platform-driver-x86@vger.kernel.org
@@ -5840,7 +5903,7 @@ F: include/sound/ · 23 unmodified lines
5840F: sound/5903F: sound/
5841 5904
5842SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC)5905SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC)
5843M: Liam Girdwood <lrg@slimlogic.co.uk>5906M: Liam Girdwood <lrg@ti.com>
5844M: Mark Brown <broonie@opensource.wolfsonmicro.com>5907M: Mark Brown <broonie@opensource.wolfsonmicro.com>
5845T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git5908T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git
5846L: alsa-devel@alsa-project.org (moderated for non-subscribers)5909L: alsa-devel@alsa-project.org (moderated for non-subscribers)
@@ -5916,10 +5979,9 @@ F: arch/arm/mach-spear6xx/spear600.c · 69 unmodified lines
5916F: arch/arm/mach-spear6xx/spear600_evb.c5979F: arch/arm/mach-spear6xx/spear600_evb.c
5917 5980
5918SPECIALIX IO8+ MULTIPORT SERIAL CARD DRIVER5981SPECIALIX IO8+ MULTIPORT SERIAL CARD DRIVER
5919M: Roger Wolff <R.E.Wolff@BitWizard.nl>5982S: Orphan
5920S: Supported
5921F: Documentation/serial/specialix.txt5983F: Documentation/serial/specialix.txt
5922F: drivers/char/specialix*5984F: drivers/staging/tty/specialix*
5923 5985
5924SPI SUBSYSTEM5986SPI SUBSYSTEM
5925M: David Brownell <dbrownell@users.sourceforge.net>5987M: David Brownell <dbrownell@users.sourceforge.net>
@@ -5950,7 +6012,7 @@ F: Documentation/filesystems/spufs.txt · 24 unmodified lines
5950F: arch/powerpc/platforms/cell/spufs/6012F: arch/powerpc/platforms/cell/spufs/
5951 6013
5952SQUASHFS FILE SYSTEM6014SQUASHFS FILE SYSTEM
5953M: Phillip Lougher <phillip@lougher.demon.co.uk>6015M: Phillip Lougher <phillip@squashfs.org.uk>
5954L: squashfs-devel@lists.sourceforge.net (subscribers-only)6016L: squashfs-devel@lists.sourceforge.net (subscribers-only)
5955W: http://squashfs.org.uk6017W: http://squashfs.org.uk
5956S: Maintained6018S: Maintained
@@ -5964,7 +6026,6 @@ F: arch/alpha/kernel/srm_env.c · 7 unmodified lines
5964 6026
5965STABLE BRANCH6027STABLE BRANCH
5966M: Greg Kroah-Hartman <greg@kroah.com>6028M: Greg Kroah-Hartman <greg@kroah.com>
5967M: Chris Wright <chrisw@sous-sol.org>
5968L: stable@kernel.org6029L: stable@kernel.org
5969S: Maintained6030S: Maintained
5970 6031
@@ -6027,6 +6088,17 @@ F: Documentation/filesystems/sysv-fs.txt · 56 unmodified lines
6027F: fs/sysv/6088F: fs/sysv/
6028F: include/linux/sysv_fs.h6089F: include/linux/sysv_fs.h
6029 6090
6091TARGET SUBSYSTEM
6092M: Nicholas A. Bellinger <nab@linux-iscsi.org>
6093L: linux-scsi@vger.kernel.org
6094L: http://groups.google.com/group/linux-iscsi-target-dev
6095W: http://www.linux-iscsi.org
6096T: git git://git.kernel.org/pub/scm/linux/kernel/git/nab/lio-core-2.6.git master
6097S: Supported
6098F: drivers/target/
6099F: include/target/
6100F: Documentation/target/
6101
6030TASKSTATS STATISTICS INTERFACE6102TASKSTATS STATISTICS INTERFACE
6031M: Balbir Singh <balbir@linux.vnet.ibm.com>6103M: Balbir Singh <balbir@linux.vnet.ibm.com>
6032S: Maintained6104S: Maintained
@@ -6093,7 +6165,7 @@ F: drivers/mmc/host/tifm_sd.c · 60 unmodified lines
6093F: include/linux/tifm.h6165F: include/linux/tifm.h
6094 6166
6095TI TWL4030 SERIES SOC CODEC DRIVER6167TI TWL4030 SERIES SOC CODEC DRIVER
6096M: Peter Ujfalusi <peter.ujfalusi@nokia.com>6168M: Peter Ujfalusi <peter.ujfalusi@ti.com>
6097L: alsa-devel@alsa-project.org (moderated for non-subscribers)6169L: alsa-devel@alsa-project.org (moderated for non-subscribers)
6098S: Maintained6170S: Maintained
6099F: sound/soc/codecs/twl4030*6171F: sound/soc/codecs/twl4030*
@@ -6196,6 +6268,7 @@ TRIVIAL PATCHES · 96 unmodified lines
6196M: Jiri Kosina <trivial@kernel.org>6268M: Jiri Kosina <trivial@kernel.org>
6197T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git6269T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git
6198S: Maintained6270S: Maintained
6271K: ^Subject:.*(?i)trivial
6199 6272
6200TTY LAYER6273TTY LAYER
6201M: Greg Kroah-Hartman <gregkh@suse.de>6274M: Greg Kroah-Hartman <gregkh@suse.de>
@@ -6248,7 +6321,8 @@ M: Greg Ungerer <gerg@uclinux.org> · 46 unmodified lines
6248W: http://www.uclinux.org/6321W: http://www.uclinux.org/
6249L: uclinux-dev@uclinux.org (subscribers-only)6322L: uclinux-dev@uclinux.org (subscribers-only)
6250S: Maintained6323S: Maintained
6251F: arch/m68knommu/6324F: arch/m68k/*/*_no.*
6325F: arch/m68k/include/asm/*_no.*
6252 6326
6253UCLINUX FOR RENESAS H8/300 (H8300)6327UCLINUX FOR RENESAS H8/300 (H8300)
6254M: Yoshinori Sato <ysato@users.sourceforge.jp>6328M: Yoshinori Sato <ysato@users.sourceforge.jp>
@@ -6550,7 +6624,7 @@ S: Maintained · 295 unmodified lines
6550F: drivers/usb/host/uhci*6624F: drivers/usb/host/uhci*
6551 6625
6552USB "USBNET" DRIVER FRAMEWORK6626USB "USBNET" DRIVER FRAMEWORK
6553M: David Brownell <dbrownell@users.sourceforge.net>6627M: Oliver Neukum <oneukum@suse.de>
6554L: netdev@vger.kernel.org6628L: netdev@vger.kernel.org
6555W: http://www.linux-usb.org/usbnet6629W: http://www.linux-usb.org/usbnet
6556S: Maintained6630S: Maintained
@@ -6612,13 +6686,13 @@ L: user-mode-linux-devel@lists.sourceforge.net · 55 unmodified lines
6612L: user-mode-linux-user@lists.sourceforge.net6686L: user-mode-linux-user@lists.sourceforge.net
6613W: http://user-mode-linux.sourceforge.net6687W: http://user-mode-linux.sourceforge.net
6614S: Maintained6688S: Maintained
6615F: Documentation/uml/6689F: Documentation/virtual/uml/
6616F: arch/um/6690F: arch/um/
6617F: fs/hostfs/6691F: fs/hostfs/
6618F: fs/hppfs/6692F: fs/hppfs/
6619 6693
6620USERSPACE I/O (UIO)6694USERSPACE I/O (UIO)
6621M: "Hans J. Koch" <hjk@linutronix.de>6695M: "Hans J. Koch" <hjk@hansjkoch.de>
6622M: Greg Kroah-Hartman <gregkh@suse.de>6696M: Greg Kroah-Hartman <gregkh@suse.de>
6623S: Maintained6697S: Maintained
6624F: Documentation/DocBook/uio-howto.tmpl6698F: Documentation/DocBook/uio-howto.tmpl
@@ -6736,7 +6810,7 @@ F: drivers/scsi/vmw_pvscsi.c · 111 unmodified lines
6736F: drivers/scsi/vmw_pvscsi.h6810F: drivers/scsi/vmw_pvscsi.h
6737 6811
6738VOLTAGE AND CURRENT REGULATOR FRAMEWORK6812VOLTAGE AND CURRENT REGULATOR FRAMEWORK
6739M: Liam Girdwood <lrg@slimlogic.co.uk>6813M: Liam Girdwood <lrg@ti.com>
6740M: Mark Brown <broonie@opensource.wolfsonmicro.com>6814M: Mark Brown <broonie@opensource.wolfsonmicro.com>
6741W: http://opensource.wolfsonmicro.com/node/156815W: http://opensource.wolfsonmicro.com/node/15
6742W: http://www.slimlogic.co.uk/?p=486816W: http://www.slimlogic.co.uk/?p=48
@@ -6758,6 +6832,13 @@ L: lm-sensors@lm-sensors.org · 15 unmodified lines
6758S: Maintained6832S: Maintained
6759F: drivers/hwmon/vt8231.c6833F: drivers/hwmon/vt8231.c
6760 6834
6835VUB300 USB to SDIO/SD/MMC bridge chip
6836M: Tony Olech <tony.olech@elandigitalsystems.com>
6837L: linux-mmc@vger.kernel.org
6838L: linux-usb@vger.kernel.org
6839S: Supported
6840F: drivers/mmc/host/vub300.c
6841
6761W1 DALLAS'S 1-WIRE BUS6842W1 DALLAS'S 1-WIRE BUS
6762M: Evgeniy Polyakov <johnpol@2ka.mipt.ru>6843M: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
6763S: Maintained6844S: Maintained
@@ -6916,6 +6997,25 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86. · 152 unmodified lines
6916S: Maintained6997S: Maintained
6917F: drivers/platform/x866998F: drivers/platform/x86
6918 6999
7000XEN HYPERVISOR INTERFACE
7001M: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
7002M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
7003L: xen-devel@lists.xensource.com (moderated for non-subscribers)
7004L: virtualization@lists.linux-foundation.org
7005S: Supported
7006F: arch/x86/xen/
7007F: drivers/*/xen-*front.c
7008F: drivers/xen/
7009F: arch/x86/include/asm/xen/
7010F: include/xen/
7011
7012XEN NETWORK BACKEND DRIVER
7013M: Ian Campbell <ian.campbell@citrix.com>
7014L: xen-devel@lists.xensource.com (moderated for non-subscribers)
7015L: netdev@vger.kernel.org
7016S: Supported
7017F: drivers/net/xen-netback/*
7018
6919XEN PCI SUBSYSTEM7019XEN PCI SUBSYSTEM
6920M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>7020M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
6921L: xen-devel@lists.xensource.com (moderated for non-subscribers)7021L: xen-devel@lists.xensource.com (moderated for non-subscribers)
@@ -6930,18 +7030,6 @@ S: Supported · 8 unmodified lines
6930F: arch/x86/xen/*swiotlb*7030F: arch/x86/xen/*swiotlb*
6931F: drivers/xen/*swiotlb*7031F: drivers/xen/*swiotlb*
6932 7032
6933XEN HYPERVISOR INTERFACE
6934M: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
6935M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
6936L: xen-devel@lists.xensource.com (moderated for non-subscribers)
6937L: virtualization@lists.linux-foundation.org
6938S: Supported
6939F: arch/x86/xen/
6940F: drivers/*/xen-*front.c
6941F: drivers/xen/
6942F: arch/x86/include/asm/xen/
6943F: include/xen/
6944
6945XFS FILESYSTEM7033XFS FILESYSTEM
6946P: Silicon Graphics Inc7034P: Silicon Graphics Inc
6947M: Alex Elder <aelder@sgi.com>7035M: Alex Elder <aelder@sgi.com>
@@ -7011,20 +7099,6 @@ M: "Maciej W. Rozycki" <macro@linux-mips.org> · 63 unmodified lines
7011S: Maintained7099S: Maintained
7012F: drivers/tty/serial/zs.*7100F: drivers/tty/serial/zs.*
7013 7101
7014GRE DEMULTIPLEXER DRIVER
7015M: Dmitry Kozlov <xeb@mail.ru>
7016L: netdev@vger.kernel.org
7017S: Maintained
7018F: net/ipv4/gre.c
7019F: include/net/gre.h
7020
7021PPTP DRIVER
7022M: Dmitry Kozlov <xeb@mail.ru>
7023L: netdev@vger.kernel.org
7024S: Maintained
7025F: drivers/net/pptp.c
7026W: http://sourceforge.net/projects/accel-pptp
7027
7028THE REST7102THE REST
7029M: Linus Torvalds <torvalds@linux-foundation.org>7103M: Linus Torvalds <torvalds@linux-foundation.org>
7030L: linux-kernel@vger.kernel.org7104L: linux-kernel@vger.kernel.org
Makefile+19−7
@@ -1,8 +1,8 @@
1VERSION = 21VERSION = 3
2PATCHLEVEL = 62PATCHLEVEL = 0
3SUBLEVEL = 393SUBLEVEL = 0
4EXTRAVERSION = -rc14EXTRAVERSION = -rc1
5NAME = Flesh-Eating Bats with Fangs5NAME = Sneaky Weasel
6 6
7# *DOCUMENTATION*7# *DOCUMENTATION*
8# To see a list of typical targets execute "make help"8# To see a list of typical targets execute "make help"
@@ -220,6 +220,14 @@ ifeq ($(ARCH),sh64) · 211 unmodified lines
220 SRCARCH := sh220 SRCARCH := sh
221endif221endif
222 222
223# Additional ARCH settings for tile
224ifeq ($(ARCH),tilepro)
225 SRCARCH := tile
226endif
227ifeq ($(ARCH),tilegx)
228 SRCARCH := tile
229endif
230
223# Where to locate arch specific headers231# Where to locate arch specific headers
224hdr-arch := $(SRCARCH)232hdr-arch := $(SRCARCH)
225 233
@@ -1009,7 +1017,8 @@ include/generated/utsrelease.h: include/config/kernel.release FORCE · 783 unmodified lines
1009 1017
1010PHONY += headerdep1018PHONY += headerdep
1011headerdep:1019headerdep:
1012 $(Q)find include/ -name '*.h' | xargs --max-args 1 scripts/headerdep.pl1020 $(Q)find $(srctree)/include/ -name '*.h' | xargs --max-args 1 \
1021 $(srctree)/scripts/headerdep.pl -I$(srctree)/include
1013 1022
1014# ---------------------------------------------------------------------------1023# ---------------------------------------------------------------------------
1015 1024
@@ -1291,6 +1300,7 @@ help: · 275 unmodified lines
1291 @echo ' 2: warnings which occur quite often but may still be relevant'1300 @echo ' 2: warnings which occur quite often but may still be relevant'
1292 @echo ' 3: more obscure warnings, can most likely be ignored'1301 @echo ' 3: more obscure warnings, can most likely be ignored'
1293 @echo ' Multiple levels can be combined with W=12 or W=123'1302 @echo ' Multiple levels can be combined with W=12 or W=123'
1303 @echo ' make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections'
1294 @echo ''1304 @echo ''
1295 @echo 'Execute "make" or "make all" to build all targets marked with [*] '1305 @echo 'Execute "make" or "make all" to build all targets marked with [*] '
1296 @echo 'For further info see the ./README file'1306 @echo 'For further info see the ./README file'
@@ -1416,13 +1426,15 @@ tags TAGS cscope gtags: FORCE · 119 unmodified lines
1416# Scripts to check various things for consistency1426# Scripts to check various things for consistency
1417# ---------------------------------------------------------------------------1427# ---------------------------------------------------------------------------
1418 1428
1429PHONY += includecheck versioncheck coccicheck namespacecheck export_report
1430
1419includecheck:1431includecheck:
1420 find * $(RCS_FIND_IGNORE) \1432 find $(srctree)/* $(RCS_FIND_IGNORE) \
1421 -name '*.[hcS]' -type f -print | sort \1433 -name '*.[hcS]' -type f -print | sort \
1422 | xargs $(PERL) -w $(srctree)/scripts/checkincludes.pl1434 | xargs $(PERL) -w $(srctree)/scripts/checkincludes.pl
1423 1435
1424versioncheck:1436versioncheck:
1425 find * $(RCS_FIND_IGNORE) \1437 find $(srctree)/* $(RCS_FIND_IGNORE) \
1426 -name '*.[hcS]' -type f -print | sort \1438 -name '*.[hcS]' -type f -print | sort \
1427 | xargs $(PERL) -w $(srctree)/scripts/checkversion.pl1439 | xargs $(PERL) -w $(srctree)/scripts/checkversion.pl
1428 1440
arch/Kconfig+3−3
@@ -144,9 +144,6 @@ config HAVE_CLK · 143 unmodified lines
144config HAVE_DMA_API_DEBUG144config HAVE_DMA_API_DEBUG
145 bool145 bool
146 146
147config HAVE_DEFAULT_NO_SPIN_MUTEXES
148 bool
149
150config HAVE_HW_BREAKPOINT147config HAVE_HW_BREAKPOINT
151 bool148 bool
152 depends on PERF_EVENTS149 depends on PERF_EVENTS
@@ -178,4 +175,7 @@ config HAVE_ARCH_JUMP_LABEL · 25 unmodified lines
178config HAVE_ARCH_MUTEX_CPU_RELAX175config HAVE_ARCH_MUTEX_CPU_RELAX
179 bool176 bool
180 177
178config HAVE_RCU_TABLE_FREE
179 bool
180
181source "kernel/gcov/Kconfig"181source "kernel/gcov/Kconfig"
arch/alpha/Kconfig+4−5
@@ -12,7 +12,7 @@ config ALPHA · 11 unmodified lines
12 select GENERIC_IRQ_PROBE12 select GENERIC_IRQ_PROBE
13 select AUTO_IRQ_AFFINITY if SMP13 select AUTO_IRQ_AFFINITY if SMP
14 select GENERIC_IRQ_SHOW14 select GENERIC_IRQ_SHOW
15 select GENERIC_HARDIRQS_NO_DEPRECATED15 select ARCH_WANT_OPTIONAL_GPIOLIB
16 help16 help
17 The Alpha is a 64-bit general-purpose processor designed and17 The Alpha is a 64-bit general-purpose processor designed and
18 marketed by the Digital Equipment Corporation of blessed memory,18 marketed by the Digital Equipment Corporation of blessed memory,
@@ -41,10 +41,6 @@ config ARCH_HAS_ILOG2_U64 · 22 unmodified lines
41 bool41 bool
42 default n42 default n
43 43
44config GENERIC_FIND_NEXT_BIT
45 bool
46 default y
47
48config GENERIC_CALIBRATE_DELAY44config GENERIC_CALIBRATE_DELAY
49 bool45 bool
50 default y46 default y
@@ -52,6 +48,9 @@ config GENERIC_CALIBRATE_DELAY · 1 unmodified line
52config GENERIC_CMOS_UPDATE48config GENERIC_CMOS_UPDATE
53 def_bool y49 def_bool y
54 50
51config GENERIC_GPIO
52 def_bool y
53
55config ZONE_DMA54config ZONE_DMA
56 bool55 bool
57 default y56 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
101 101
102#define ELF_PLAT_INIT(_r, load_addr) _r->r0 = 0102#define ELF_PLAT_INIT(_r, load_addr) _r->r0 = 0
103 103
104/* The registers are layed out in pt_regs for PAL and syscall104/* The registers are laid out in pt_regs for PAL and syscall
105 convenience. Re-order them for the linear elf_gregset_t. */105 convenience. Re-order them for the linear elf_gregset_t. */
106 106
107struct pt_regs;107struct 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 */
28static inline int gpio_get_value(unsigned int gpio)
29{
30 return __gpio_get_value(gpio);
31}
32
33static inline void gpio_set_value(unsigned int gpio, int value)
34{
35 __gpio_set_value(gpio, value);
36}
37
38static inline int gpio_cansleep(unsigned int gpio)
39{
40 return __gpio_cansleep(gpio);
41}
42
43static inline int gpio_to_irq(unsigned int gpio)
44{
45 return __gpio_to_irq(gpio);
46}
47
48static 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
39 39
40extern struct cpuinfo_alpha cpu_data[NR_CPUS];40extern struct cpuinfo_alpha cpu_data[NR_CPUS];
41 41
42#define PROC_CHANGE_PENALTY 20
43
44#define hard_smp_processor_id() __hard_smp_processor_id()42#define hard_smp_processor_id() __hard_smp_processor_id()
45#define raw_smp_processor_id() (current_thread_info()->cpu)43#define raw_smp_processor_id() (current_thread_info()->cpu)
46 44
arch/alpha/include/asm/unistd.h+6−1
@@ -452,10 +452,15 @@ · 451 unmodified lines
452#define __NR_fanotify_init 494452#define __NR_fanotify_init 494
453#define __NR_fanotify_mark 495453#define __NR_fanotify_mark 495
454#define __NR_prlimit64 496454#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
455 460
456#ifdef __KERNEL__461#ifdef __KERNEL__
457 462
458#define NR_SYSCALLS 497463#define NR_SYSCALLS 502
459 464
460#define __ARCH_WANT_IPC_PARSE_VERSION465#define __ARCH_WANT_IPC_PARSE_VERSION
461#define __ARCH_WANT_OLD_READDIR466#define __ARCH_WANT_OLD_READDIR
arch/alpha/kernel/Makefile+1−1
@@ -4,7 +4,7 @@ · 3 unmodified lines
4 4
5extra-y := head.o vmlinux.lds5extra-y := head.o vmlinux.lds
6asflags-y := $(KBUILD_CFLAGS)6asflags-y := $(KBUILD_CFLAGS)
7ccflags-y := -Werror -Wno-sign-compare7ccflags-y := -Wno-sign-compare
8 8
9obj-y := entry.o traps.o process.o init_task.o osf_sys.o irq.o \9obj-y := entry.o traps.o process.o init_task.o osf_sys.o irq.o \
10 irq_alpha.o signal.o setup.o ptrace.o time.o \10 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
133 133
134 local_irq_save(flags);134 local_irq_save(flags);
135 135
136 /* Reset status register to avoid loosing errors. */136 /* Reset status register to avoid losing errors. */
137 stat0 = *(vulp)LCA_IOC_STAT0;137 stat0 = *(vulp)LCA_IOC_STAT0;
138 *(vulp)LCA_IOC_STAT0 = stat0;138 *(vulp)LCA_IOC_STAT0 = stat0;
139 mb();139 mb();
@@ -170,7 +170,7 @@ conf_write(unsigned long addr, unsigned int value) · 30 unmodified lines
170 170
171 local_irq_save(flags); /* avoid getting hit by machine check */171 local_irq_save(flags); /* avoid getting hit by machine check */
172 172
173 /* Reset status register to avoid loosing errors. */173 /* Reset status register to avoid losing errors. */
174 stat0 = *(vulp)LCA_IOC_STAT0;174 stat0 = *(vulp)LCA_IOC_STAT0;
175 *(vulp)LCA_IOC_STAT0 = stat0;175 *(vulp)LCA_IOC_STAT0 = stat0;
176 mb();176 mb();
arch/alpha/kernel/core_mcpcia.c+5−7
@@ -88,7 +88,7 @@ conf_read(unsigned long addr, unsigned char type1, · 87 unmodified lines
88{88{
89 unsigned long flags;89 unsigned long flags;
90 unsigned long mid = MCPCIA_HOSE2MID(hose->index);90 unsigned long mid = MCPCIA_HOSE2MID(hose->index);
91 unsigned int stat0, value, temp, cpu;91 unsigned int stat0, value, cpu;
92 92
93 cpu = smp_processor_id();93 cpu = smp_processor_id();
94 94
@@ -101,7 +101,7 @@ conf_read(unsigned long addr, unsigned char type1, · 6 unmodified lines
101 stat0 = *(vuip)MCPCIA_CAP_ERR(mid);101 stat0 = *(vuip)MCPCIA_CAP_ERR(mid);
102 *(vuip)MCPCIA_CAP_ERR(mid) = stat0;102 *(vuip)MCPCIA_CAP_ERR(mid) = stat0;
103 mb();103 mb();
104 temp = *(vuip)MCPCIA_CAP_ERR(mid);104 *(vuip)MCPCIA_CAP_ERR(mid);
105 DBG_CFG(("conf_read: MCPCIA_CAP_ERR(%d) was 0x%x\n", mid, stat0));105 DBG_CFG(("conf_read: MCPCIA_CAP_ERR(%d) was 0x%x\n", mid, stat0));
106 106
107 mb();107 mb();
@@ -136,7 +136,7 @@ conf_write(unsigned long addr, unsigned int value, unsigned char type1, · 28 unmodified lines
136{136{
137 unsigned long flags;137 unsigned long flags;
138 unsigned long mid = MCPCIA_HOSE2MID(hose->index);138 unsigned long mid = MCPCIA_HOSE2MID(hose->index);
139 unsigned int stat0, temp, cpu;139 unsigned int stat0, cpu;
140 140
141 cpu = smp_processor_id();141 cpu = smp_processor_id();
142 142
@@ -145,7 +145,7 @@ conf_write(unsigned long addr, unsigned int value, unsigned char type1, · 2 unmodified lines
145 /* Reset status register to avoid losing errors. */145 /* Reset status register to avoid losing errors. */
146 stat0 = *(vuip)MCPCIA_CAP_ERR(mid);146 stat0 = *(vuip)MCPCIA_CAP_ERR(mid);
147 *(vuip)MCPCIA_CAP_ERR(mid) = stat0; mb();147 *(vuip)MCPCIA_CAP_ERR(mid) = stat0; mb();
148 temp = *(vuip)MCPCIA_CAP_ERR(mid);148 *(vuip)MCPCIA_CAP_ERR(mid);
149 DBG_CFG(("conf_write: MCPCIA CAP_ERR(%d) was 0x%x\n", mid, stat0));149 DBG_CFG(("conf_write: MCPCIA CAP_ERR(%d) was 0x%x\n", mid, stat0));
150 150
151 draina();151 draina();
@@ -157,7 +157,7 @@ conf_write(unsigned long addr, unsigned int value, unsigned char type1, · 5 unmodified lines
157 *((vuip)addr) = value;157 *((vuip)addr) = value;
158 mb();158 mb();
159 mb(); /* magic */159 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 */
161 mcheck_expected(cpu) = 0;161 mcheck_expected(cpu) = 0;
162 mb();162 mb();
163 163
@@ -572,12 +572,10 @@ mcpcia_print_system_area(unsigned long la_ptr) · 408 unmodified lines
572void572void
573mcpcia_machine_check(unsigned long vector, unsigned long la_ptr)573mcpcia_machine_check(unsigned long vector, unsigned long la_ptr)
574{574{
575 struct el_common *mchk_header;
576 struct el_MCPCIA_uncorrected_frame_mcheck *mchk_logout;575 struct el_MCPCIA_uncorrected_frame_mcheck *mchk_logout;
577 unsigned int cpu = smp_processor_id();576 unsigned int cpu = smp_processor_id();
578 int expected;577 int expected;
579 578
580 mchk_header = (struct el_common *)la_ptr;
581 mchk_logout = (struct el_MCPCIA_uncorrected_frame_mcheck *)la_ptr;579 mchk_logout = (struct el_MCPCIA_uncorrected_frame_mcheck *)la_ptr;
582 expected = mcheck_expected(cpu);580 expected = mcheck_expected(cpu);
583 581
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
1027 * normal operation, dismiss them.1027 * normal operation, dismiss them.
1028 *1028 *
1029 * Dismiss if:1029 * Dismiss if:
1030 * C_STAT = 0x14 (Error Reponse)1030 * C_STAT = 0x14 (Error Response)
1031 * C_STS<3> = 0 (C_ADDR valid)1031 * C_STS<3> = 0 (C_ADDR valid)
1032 * C_ADDR<42> = 1 (I/O)1032 * C_ADDR<42> = 1 (I/O)
1033 * C_ADDR<31:22> = 111110xxb (PCI Config space)1033 * 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
533static struct el_subpacket *533static struct el_subpacket *
534el_process_regatta_subpacket(struct el_subpacket *header)534el_process_regatta_subpacket(struct el_subpacket *header)
535{535{
536 int status;
537
538 if (header->class != EL_CLASS__REGATTA_FAMILY) {536 if (header->class != EL_CLASS__REGATTA_FAMILY) {
539 printk("%s ** Unexpected header CLASS %d TYPE %d, aborting\n",537 printk("%s ** Unexpected header CLASS %d TYPE %d, aborting\n",
540 err_print_prefix,538 err_print_prefix,
@@ -551,7 +549,7 @@ el_process_regatta_subpacket(struct el_subpacket *header) · 10 unmodified lines
551 printk("%s ** Occurred on CPU %d:\n", 549 printk("%s ** Occurred on CPU %d:\n",
552 err_print_prefix,550 err_print_prefix,
553 (int)header->by_type.regatta_frame.cpuid);551 (int)header->by_type.regatta_frame.cpuid);
554 status = privateer_process_logout_frame((struct el_common *)552 privateer_process_logout_frame((struct el_common *)
555 header->by_type.regatta_frame.data_start, 1);553 header->by_type.regatta_frame.data_start, 1);
556 break;554 break;
557 default:555 default:
arch/alpha/kernel/irq_alpha.c+1−1
@@ -228,7 +228,7 @@ struct irqaction timer_irqaction = { · 227 unmodified lines
228void __init228void __init
229init_rtc_irq(void)229init_rtc_irq(void)
230{230{
231 irq_set_chip_and_handler_name(RTC_IRQ, &no_irq_chip,231 irq_set_chip_and_handler_name(RTC_IRQ, &dummy_irq_chip,
232 handle_simple_irq, "RTC");232 handle_simple_irq, "RTC");
233 setup_irq(RTC_IRQ, &timer_irqaction);233 setup_irq(RTC_IRQ, &timer_irqaction);
234}234}
arch/alpha/kernel/process.c+1−1
@@ -121,7 +121,7 @@ common_shutdown_1(void *generic_ptr) · 120 unmodified lines
121 /* Wait for the secondaries to halt. */121 /* Wait for the secondaries to halt. */
122 set_cpu_present(boot_cpuid, false);122 set_cpu_present(boot_cpuid, false);
123 set_cpu_possible(boot_cpuid, false);123 set_cpu_possible(boot_cpuid, false);
124 while (cpus_weight(cpu_present_map))124 while (cpumask_weight(cpu_present_mask))
125 barrier();125 barrier();
126#endif126#endif
127 127
arch/alpha/kernel/setup.c+4−4
@@ -1257,7 +1257,7 @@ show_cpuinfo(struct seq_file *f, void *slot) · 1256 unmodified lines
1257#ifdef CONFIG_SMP1257#ifdef CONFIG_SMP
1258 seq_printf(f, "cpus active\t\t: %u\n"1258 seq_printf(f, "cpus active\t\t: %u\n"
1259 "cpu active mask\t\t: %016lx\n",1259 "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]);
1261#endif1261#endif
1262 1262
1263 show_cache_size (f, "L1 Icache", alpha_l1i_cacheshape);1263 show_cache_size (f, "L1 Icache", alpha_l1i_cacheshape);
@@ -1404,8 +1404,6 @@ determine_cpu_caches (unsigned int cpu_type) · 140 unmodified lines
1404 case PCA56_CPU:1404 case PCA56_CPU:
1405 case PCA57_CPU:1405 case PCA57_CPU:
1406 {1406 {
1407 unsigned long cbox_config, size;
1408
1409 if (cpu_type == PCA56_CPU) {1407 if (cpu_type == PCA56_CPU) {
1410 L1I = CSHAPE(16*1024, 6, 1);1408 L1I = CSHAPE(16*1024, 6, 1);
1411 L1D = CSHAPE(8*1024, 5, 1);1409 L1D = CSHAPE(8*1024, 5, 1);
@@ -1415,10 +1413,12 @@ determine_cpu_caches (unsigned int cpu_type) · 3 unmodified lines
1415 }1413 }
1416 L3 = -1;1414 L3 = -1;
1417 1415
1416#if 0
1417 unsigned long cbox_config, size;
1418
1418 cbox_config = *(vulp) phys_to_virt (0xfffff00008UL);1419 cbox_config = *(vulp) phys_to_virt (0xfffff00008UL);
1419 size = 512*1024 * (1 << ((cbox_config >> 12) & 3));1420 size = 512*1024 * (1 << ((cbox_config >> 12) & 3));
1420 1421
1421#if 0
1422 L2 = ((cbox_config >> 31) & 1 ? CSHAPE (size, 6, 1) : -1);1422 L2 = ((cbox_config >> 31) & 1 ? CSHAPE (size, 6, 1) : -1);
1423#else1423#else
1424 L2 = external_cache_probe(512*1024, 6);1424 L2 = external_cache_probe(512*1024, 6);
arch/alpha/kernel/smc37c93x.c+1−2
@@ -79,7 +79,6 @@ · 78 unmodified lines
79static unsigned long __init SMCConfigState(unsigned long baseAddr)79static unsigned long __init SMCConfigState(unsigned long baseAddr)
80{80{
81 unsigned char devId;81 unsigned char devId;
82 unsigned char devRev;
83 82
84 unsigned long configPort;83 unsigned long configPort;
85 unsigned long indexPort;84 unsigned long indexPort;
@@ -100,7 +99,7 @@ static unsigned long __init SMCConfigState(unsigned long baseAddr) · 14 unmodified lines
100 devId = inb(dataPort);99 devId = inb(dataPort);
101 if (devId == VALID_DEVICE_ID) {100 if (devId == VALID_DEVICE_ID) {
102 outb(DEVICE_REV, indexPort);101 outb(DEVICE_REV, indexPort);
103 devRev = inb(dataPort);102 /* unsigned char devRev = */ inb(dataPort);
104 break;103 break;
105 }104 }
106 else105 else
arch/alpha/kernel/smp.c+5−5
@@ -451,7 +451,7 @@ setup_smp(void) · 450 unmodified lines
451 }451 }
452 452
453 printk(KERN_INFO "SMP: %d CPUs probed -- cpu_present_map = %lx\n",453 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]);
455}455}
456 456
457/*457/*
@@ -585,8 +585,7 @@ handle_ipi(struct pt_regs *regs) · 127 unmodified lines
585 585
586 switch (which) {586 switch (which) {
587 case IPI_RESCHEDULE:587 case IPI_RESCHEDULE:
588 /* Reschedule callback. Everything to be done588 scheduler_ipi();
589 is done by the interrupt return path. */
590 break;589 break;
591 590
592 case IPI_CALL_FUNC:591 case IPI_CALL_FUNC:
@@ -630,8 +629,9 @@ smp_send_reschedule(int cpu) · 37 unmodified lines
630void629void
631smp_send_stop(void)630smp_send_stop(void)
632{631{
633 cpumask_t to_whom = cpu_possible_map;632 cpumask_t to_whom;
634 cpu_clear(smp_processor_id(), to_whom);633 cpumask_copy(&to_whom, cpu_possible_mask);
634 cpumask_clear_cpu(smp_processor_id(), &to_whom);
635#ifdef DEBUG_IPI_MSG635#ifdef DEBUG_IPI_MSG
636 if (hard_smp_processor_id() != boot_cpu_id)636 if (hard_smp_processor_id() != boot_cpu_id)
637 printk(KERN_WARNING "smp_send_stop: Not on boot cpu.\n");637 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
140 140
141 for (cpu = 0; cpu < 4; cpu++) {141 for (cpu = 0; cpu < 4; cpu++) {
142 unsigned long aff = cpu_irq_affinity[cpu];142 unsigned long aff = cpu_irq_affinity[cpu];
143 if (cpu_isset(cpu, affinity))143 if (cpumask_test_cpu(cpu, &affinity))
144 aff |= 1UL << irq;144 aff |= 1UL << irq;
145 else145 else
146 aff &= ~(1UL << irq);146 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
65 register int bcpu = boot_cpuid;65 register int bcpu = boot_cpuid;
66 66
67#ifdef CONFIG_SMP67#ifdef CONFIG_SMP
68 cpumask_t cpm = cpu_present_map;68 cpumask_t cpm;
69 volatile unsigned long *dim0, *dim1, *dim2, *dim3;69 volatile unsigned long *dim0, *dim1, *dim2, *dim3;
70 unsigned long mask0, mask1, mask2, mask3, dummy;70 unsigned long mask0, mask1, mask2, mask3, dummy;
71 71
72 cpumask_copy(&cpm, cpu_present_mask);
72 mask &= ~isa_enable;73 mask &= ~isa_enable;
73 mask0 = mask & titan_cpu_irq_affinity[0];74 mask0 = mask & titan_cpu_irq_affinity[0];
74 mask1 = mask & titan_cpu_irq_affinity[1];75 mask1 = mask & titan_cpu_irq_affinity[1];
@@ -84,10 +85,10 @@ titan_update_irq_hw(unsigned long mask) · 9 unmodified lines
84 dim1 = &cchip->dim1.csr;85 dim1 = &cchip->dim1.csr;
85 dim2 = &cchip->dim2.csr;86 dim2 = &cchip->dim2.csr;
86 dim3 = &cchip->dim3.csr;87 dim3 = &cchip->dim3.csr;
87 if (!cpu_isset(0, cpm)) dim0 = &dummy;88 if (!cpumask_test_cpu(0, &cpm)) dim0 = &dummy;
88 if (!cpu_isset(1, cpm)) dim1 = &dummy;89 if (!cpumask_test_cpu(1, &cpm)) dim1 = &dummy;
89 if (!cpu_isset(2, cpm)) dim2 = &dummy;90 if (!cpumask_test_cpu(2, &cpm)) dim2 = &dummy;
90 if (!cpu_isset(3, cpm)) dim3 = &dummy;91 if (!cpumask_test_cpu(3, &cpm)) dim3 = &dummy;
91 92
92 *dim0 = mask0;93 *dim0 = mask0;
93 *dim1 = mask1;94 *dim1 = mask1;
@@ -137,7 +138,7 @@ titan_cpu_set_irq_affinity(unsigned int irq, cpumask_t affinity) · 43 unmodified lines
137 int cpu;138 int cpu;
138 139
139 for (cpu = 0; cpu < 4; cpu++) {140 for (cpu = 0; cpu < 4; cpu++) {
140 if (cpu_isset(cpu, affinity))141 if (cpumask_test_cpu(cpu, &affinity))
141 titan_cpu_irq_affinity[cpu] |= 1UL << irq;142 titan_cpu_irq_affinity[cpu] |= 1UL << irq;
142 else143 else
143 titan_cpu_irq_affinity[cpu] &= ~(1UL << irq);144 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
156wildfire_init_irq_per_pca(int qbbno, int pcano)156wildfire_init_irq_per_pca(int qbbno, int pcano)
157{157{
158 int i, irq_bias;158 int i, irq_bias;
159 unsigned long io_bias;
160 static struct irqaction isa_enable = {159 static struct irqaction isa_enable = {
161 .handler = no_action,160 .handler = no_action,
162 .name = "isa_enable",161 .name = "isa_enable",
@@ -165,10 +164,12 @@ wildfire_init_irq_per_pca(int qbbno, int pcano) · 2 unmodified lines
165 irq_bias = qbbno * (WILDFIRE_PCA_PER_QBB * WILDFIRE_IRQ_PER_PCA)164 irq_bias = qbbno * (WILDFIRE_PCA_PER_QBB * WILDFIRE_IRQ_PER_PCA)
166 + pcano * WILDFIRE_IRQ_PER_PCA;165 + pcano * WILDFIRE_IRQ_PER_PCA;
167 166
167#if 0
168 unsigned long io_bias;
169
168 /* Only need the following for first PCI bus per PCA. */170 /* Only need the following for first PCI bus per PCA. */
169 io_bias = WILDFIRE_IO(qbbno, pcano<<1) - WILDFIRE_IO_BIAS;171 io_bias = WILDFIRE_IO(qbbno, pcano<<1) - WILDFIRE_IO_BIAS;
170 172
171#if 0
172 outb(0, DMA1_RESET_REG + io_bias);173 outb(0, DMA1_RESET_REG + io_bias);
173 outb(0, DMA2_RESET_REG + io_bias);174 outb(0, DMA2_RESET_REG + io_bias);
174 outb(DMA_MODE_CASCADE, DMA2_MODE_REG + io_bias);175 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
498 .quad sys_ni_syscall /* sys_timerfd */498 .quad sys_ni_syscall /* sys_timerfd */
499 .quad sys_eventfd499 .quad sys_eventfd
500 .quad sys_recvmmsg500 .quad sys_recvmmsg
501 .quad sys_fallocate /* 480 */501 .quad sys_fallocate /* 480 */
502 .quad sys_timerfd_create502 .quad sys_timerfd_create
503 .quad sys_timerfd_settime503 .quad sys_timerfd_settime
504 .quad sys_timerfd_gettime504 .quad sys_timerfd_gettime
505 .quad sys_signalfd4505 .quad sys_signalfd4
506 .quad sys_eventfd2 /* 485 */506 .quad sys_eventfd2 /* 485 */
507 .quad sys_epoll_create1507 .quad sys_epoll_create1
508 .quad sys_dup3508 .quad sys_dup3
509 .quad sys_pipe2509 .quad sys_pipe2
510 .quad sys_inotify_init1510 .quad sys_inotify_init1
511 .quad sys_preadv /* 490 */511 .quad sys_preadv /* 490 */
512 .quad sys_pwritev512 .quad sys_pwritev
513 .quad sys_rt_tgsigqueueinfo513 .quad sys_rt_tgsigqueueinfo
514 .quad sys_perf_event_open514 .quad sys_perf_event_open
515 .quad sys_fanotify_init515 .quad sys_fanotify_init
516 .quad sys_fanotify_mark /* 495 */516 .quad sys_fanotify_mark /* 495 */
517 .quad sys_prlimit64517 .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
518 523
519 .size sys_call_table, . - sys_call_table524 .size sys_call_table, . - sys_call_table
520 .type sys_call_table, @object525 .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
153 year += 100;153 year += 100;
154 154
155 ts->tv_sec = mktime(year, mon, day, hour, min, sec);155 ts->tv_sec = mktime(year, mon, day, hour, min, sec);
156 ts->tv_nsec = 0;
156}157}
157 158
158 159
@@ -374,8 +375,7 @@ static struct clocksource clocksource_rpcc = { · 215 unmodified lines
374 375
375static inline void register_rpcc_clocksource(long cycle_freq)376static inline void register_rpcc_clocksource(long cycle_freq)
376{377{
377 clocksource_calc_mult_shift(&clocksource_rpcc, cycle_freq, 4);378 clocksource_register_hz(&clocksource_rpcc, cycle_freq);
378 clocksource_register(&clocksource_rpcc);
379}379}
380#else /* !CONFIG_SMP */380#else /* !CONFIG_SMP */
381static inline void register_rpcc_clocksource(long cycle_freq)381static inline void register_rpcc_clocksource(long cycle_freq)
arch/alpha/kernel/vmlinux.lds.S+2−1
@@ -39,13 +39,14 @@ SECTIONS · 38 unmodified lines
39 __init_begin = ALIGN(PAGE_SIZE);39 __init_begin = ALIGN(PAGE_SIZE);
40 INIT_TEXT_SECTION(PAGE_SIZE)40 INIT_TEXT_SECTION(PAGE_SIZE)
41 INIT_DATA_SECTION(16)41 INIT_DATA_SECTION(16)
42 PERCPU(L1_CACHE_BYTES, PAGE_SIZE)42 PERCPU_SECTION(L1_CACHE_BYTES)
43 /* Align to THREAD_SIZE rather than PAGE_SIZE here so any padding page43 /* Align to THREAD_SIZE rather than PAGE_SIZE here so any padding page
44 needed for the THREAD_SIZE aligned init_task gets freed after init */44 needed for the THREAD_SIZE aligned init_task gets freed after init */
45 . = ALIGN(THREAD_SIZE);45 . = ALIGN(THREAD_SIZE);
46 __init_end = .;46 __init_end = .;
47 /* Freed after init ends here */47 /* Freed after init ends here */
48 48
49 _sdata = .; /* Start of rw data section */
49 _data = .;50 _data = .;
50 RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)51 RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)
51 52
arch/alpha/lib/ev67-strrchr.S+1−1
@@ -82,7 +82,7 @@ $loop: · 81 unmodified lines
82$eos:82$eos:
83 negq t1, t4 # E : isolate first null byte match83 negq t1, t4 # E : isolate first null byte match
84 and t1, t4, t4 # E :84 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...
86 or t4, t5, t4 # E : ... and including the null86 or t4, t5, t4 # E : ... and including the null
87 87
88 and t3, t4, t3 # E : mask out char matches after null88 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
6#include <linux/bitops.h>6#include <linux/bitops.h>
7 7
8/* This is fls(x)-1, except zero is held to zero. This allows most8/* 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. */
10 10
11const unsigned char __flsm1_tab[256] = 11const unsigned char __flsm1_tab[256] =
12{12{
arch/alpha/lib/strrchr.S+1−1
@@ -54,7 +54,7 @@ $loop: · 53 unmodified lines
54$eos:54$eos:
55 negq t1, t4 # e0 : isolate first null byte match55 negq t1, t4 # e0 : isolate first null byte match
56 and t1, t4, t4 # e1 :56 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...
58 or t4, t5, t4 # e1 : ... and including the null58 or t4, t5, t4 # e1 : ... and including the null
59 59
60 and t3, t4, t3 # e0 : mask out char matches after null60 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
32#include <asm/console.h>32#include <asm/console.h>
33#include <asm/tlb.h>33#include <asm/tlb.h>
34 34
35DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
36
37extern void die_if_kernel(char *,struct pt_regs *,long);35extern void die_if_kernel(char *,struct pt_regs *,long);
38 36
39static struct pcb_struct original_pcb;37static struct pcb_struct original_pcb;
arch/alpha/mm/numa.c+1−0
@@ -313,6 +313,7 @@ void __init paging_init(void) · 312 unmodified lines
313 zones_size[ZONE_DMA] = dma_local_pfn;313 zones_size[ZONE_DMA] = dma_local_pfn;
314 zones_size[ZONE_NORMAL] = (end_pfn - start_pfn) - dma_local_pfn;314 zones_size[ZONE_NORMAL] = (end_pfn - start_pfn) - dma_local_pfn;
315 }315 }
316 node_set_state(nid, N_NORMAL_MEMORY);
316 free_area_init_node(nid, zones_size, start_pfn, NULL);317 free_area_init_node(nid, zones_size, start_pfn, NULL);
317 }318 }
318 319
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
192 case TRAP_INVALID1:192 case TRAP_INVALID1:
193 case TRAP_INVALID2:193 case TRAP_INVALID2:
194 case TRAP_INVALID3:194 case TRAP_INVALID3:
195 /* Pipeline redirection ocurred. PMPC points195 /* Pipeline redirection occurred. PMPC points
196 to PALcode. Recognize ITB miss by PALcode196 to PALcode. Recognize ITB miss by PALcode
197 offset address, and get actual PC from197 offset address, and get actual PC from
198 EXC_ADDR. */198 EXC_ADDR. */
arch/arm/Kconfig+67−55
@@ -197,15 +197,21 @@ config ARM_PATCH_PHYS_VIRT · 196 unmodified lines
197 depends on !XIP_KERNEL && MMU197 depends on !XIP_KERNEL && MMU
198 depends on !ARCH_REALVIEW || !SPARSEMEM198 depends on !ARCH_REALVIEW || !SPARSEMEM
199 help199 help
200 Patch phys-to-virt translation functions at runtime according to200 Patch phys-to-virt and virt-to-phys translation functions at
201 the position of the kernel in system memory.201 boot and module load time according to the position of the
202 kernel in system memory.
202 203
203 This can only be used with non-XIP with MMU kernels where204 This can only be used with non-XIP MMU kernels where the base
204 the base of physical memory is at a 16MB boundary.205 of physical memory is at a 16MB boundary, or theoretically 64K
206 for the MSM machine class.
205 207
206config ARM_PATCH_PHYS_VIRT_16BIT208config ARM_PATCH_PHYS_VIRT_16BIT
207 def_bool y209 def_bool y
208 depends on ARM_PATCH_PHYS_VIRT && ARCH_MSM210 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.
209 215
210source "init/Kconfig"216source "init/Kconfig"
211 217
@@ -288,6 +294,8 @@ config ARCH_AT91 · 76 unmodified lines
288 bool "Atmel AT91"294 bool "Atmel AT91"
289 select ARCH_REQUIRE_GPIOLIB295 select ARCH_REQUIRE_GPIOLIB
290 select HAVE_CLK296 select HAVE_CLK
297 select CLKDEV_LOOKUP
298 select ARM_PATCH_PHYS_VIRT if MMU
291 help299 help
292 This enables support for systems based on the Atmel AT91RM9200,300 This enables support for systems based on the Atmel AT91RM9200,
293 AT91SAM9 and AT91CAP9 processors.301 AT91SAM9 and AT91CAP9 processors.
@@ -297,6 +305,7 @@ config ARCH_BCMRING · 3 unmodified lines
297 depends on MMU305 depends on MMU
298 select CPU_V6306 select CPU_V6
299 select ARM_AMBA307 select ARM_AMBA
308 select ARM_TIMER_SP804
300 select CLKDEV_LOOKUP309 select CLKDEV_LOOKUP
301 select GENERIC_CLOCKEVENTS310 select GENERIC_CLOCKEVENTS
302 select ARCH_WANT_OPTIONAL_GPIOLIB311 select ARCH_WANT_OPTIONAL_GPIOLIB
@@ -366,6 +375,8 @@ config ARCH_MXC · 63 unmodified lines
366 select GENERIC_CLOCKEVENTS375 select GENERIC_CLOCKEVENTS
367 select ARCH_REQUIRE_GPIOLIB376 select ARCH_REQUIRE_GPIOLIB
368 select CLKDEV_LOOKUP377 select CLKDEV_LOOKUP
378 select CLKSRC_MMIO
379 select HAVE_SCHED_CLOCK
369 help380 help
370 Support for Freescale MXC/iMX-based family of processors381 Support for Freescale MXC/iMX-based family of processors
371 382
@@ -374,21 +385,13 @@ config ARCH_MXS · 2 unmodified lines
374 select GENERIC_CLOCKEVENTS385 select GENERIC_CLOCKEVENTS
375 select ARCH_REQUIRE_GPIOLIB386 select ARCH_REQUIRE_GPIOLIB
376 select CLKDEV_LOOKUP387 select CLKDEV_LOOKUP
388 select CLKSRC_MMIO
377 help389 help
378 Support for Freescale MXS-based family of processors390 Support for Freescale MXS-based family of processors
379 391
380config 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
390config ARCH_NETX392config ARCH_NETX
391 bool "Hilscher NetX based"393 bool "Hilscher NetX based"
394 select CLKSRC_MMIO
392 select CPU_ARM926T395 select CPU_ARM926T
393 select ARM_VIC396 select ARM_VIC
394 select GENERIC_CLOCKEVENTS397 select GENERIC_CLOCKEVENTS
@@ -456,6 +459,7 @@ config ARCH_IXP2000 · 61 unmodified lines
456config ARCH_IXP4XX459config ARCH_IXP4XX
457 bool "IXP4xx-based"460 bool "IXP4xx-based"
458 depends on MMU461 depends on MMU
462 select CLKSRC_MMIO
459 select CPU_XSCALE463 select CPU_XSCALE
460 select GENERIC_GPIO464 select GENERIC_GPIO
461 select GENERIC_CLOCKEVENTS465 select GENERIC_CLOCKEVENTS
@@ -467,7 +471,7 @@ config ARCH_IXP4XX · 5 unmodified lines
467 471
468config ARCH_DOVE472config ARCH_DOVE
469 bool "Marvell Dove"473 bool "Marvell Dove"
470 select CPU_V6K474 select CPU_V7
471 select PCI475 select PCI
472 select ARCH_REQUIRE_GPIOLIB476 select ARCH_REQUIRE_GPIOLIB
473 select GENERIC_CLOCKEVENTS477 select GENERIC_CLOCKEVENTS
@@ -496,6 +500,7 @@ config ARCH_LOKI · 22 unmodified lines
496 500
497config ARCH_LPC32XX501config ARCH_LPC32XX
498 bool "NXP LPC32XX"502 bool "NXP LPC32XX"
503 select CLKSRC_MMIO
499 select CPU_ARM926T504 select CPU_ARM926T
500 select ARCH_REQUIRE_GPIOLIB505 select ARCH_REQUIRE_GPIOLIB
501 select HAVE_IDE506 select HAVE_IDE
@@ -553,23 +558,12 @@ config ARCH_KS8695 · 51 unmodified lines
553 Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based558 Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
554 System-on-Chip devices.559 System-on-Chip devices.
555 560
556config 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
568config ARCH_W90X900561config ARCH_W90X900
569 bool "Nuvoton W90X900 CPU"562 bool "Nuvoton W90X900 CPU"
570 select CPU_ARM926T563 select CPU_ARM926T
571 select ARCH_REQUIRE_GPIOLIB564 select ARCH_REQUIRE_GPIOLIB
572 select CLKDEV_LOOKUP565 select CLKDEV_LOOKUP
566 select CLKSRC_MMIO
573 select GENERIC_CLOCKEVENTS567 select GENERIC_CLOCKEVENTS
574 help568 help
575 Support for Nuvoton (Winbond logic dept.) ARM9 processor,569 Support for Nuvoton (Winbond logic dept.) ARM9 processor,
@@ -591,6 +585,7 @@ config ARCH_NUC93X · 15 unmodified lines
591config ARCH_TEGRA585config ARCH_TEGRA
592 bool "NVIDIA Tegra"586 bool "NVIDIA Tegra"
593 select CLKDEV_LOOKUP587 select CLKDEV_LOOKUP
588 select CLKSRC_MMIO
594 select GENERIC_TIME589 select GENERIC_TIME
595 select GENERIC_CLOCKEVENTS590 select GENERIC_CLOCKEVENTS
596 select GENERIC_GPIO591 select GENERIC_GPIO
@@ -616,6 +611,7 @@ config ARCH_PXA · 19 unmodified lines
616 select ARCH_MTD_XIP611 select ARCH_MTD_XIP
617 select ARCH_HAS_CPUFREQ612 select ARCH_HAS_CPUFREQ
618 select CLKDEV_LOOKUP613 select CLKDEV_LOOKUP
614 select CLKSRC_MMIO
619 select ARCH_REQUIRE_GPIOLIB615 select ARCH_REQUIRE_GPIOLIB
620 select GENERIC_CLOCKEVENTS616 select GENERIC_CLOCKEVENTS
621 select HAVE_SCHED_CLOCK617 select HAVE_SCHED_CLOCK
@@ -666,6 +662,7 @@ config ARCH_RPC · 44 unmodified lines
666 662
667config ARCH_SA1100663config ARCH_SA1100
668 bool "SA1100-based"664 bool "SA1100-based"
665 select CLKSRC_MMIO
669 select CPU_SA1100666 select CPU_SA1100
670 select ISA667 select ISA
671 select ARCH_SPARSEMEM_ENABLE668 select ARCH_SPARSEMEM_ENABLE
@@ -693,7 +690,7 @@ config ARCH_S3C2410 · 21 unmodified lines
693 the Samsung SMDK2410 development board (and derivatives).690 the Samsung SMDK2410 development board (and derivatives).
694 691
695 Note, the S3C2416 and the S3C2450 are so close that they even share692 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 machine693 the same SoC ID code. This means that there is no separate machine
697 directory (no arch/arm/mach-s3c2450) as the S3C2416 was first.694 directory (no arch/arm/mach-s3c2450) as the S3C2416 was first.
698 695
699config ARCH_S3C64XX696config ARCH_S3C64XX
@@ -735,16 +732,6 @@ config ARCH_S5P64X0 · 35 unmodified lines
735 Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,732 Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
736 SMDK6450.733 SMDK6450.
737 734
738config 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
748config ARCH_S5PC100735config ARCH_S5PC100
749 bool "Samsung S5PC100"736 bool "Samsung S5PC100"
750 select GENERIC_GPIO737 select GENERIC_GPIO
@@ -802,6 +789,7 @@ config ARCH_SHARK · 51 unmodified lines
802 789
803config ARCH_TCC_926790config ARCH_TCC_926
804 bool "Telechips TCC ARM926-based systems"791 bool "Telechips TCC ARM926-based systems"
792 select CLKSRC_MMIO
805 select CPU_ARM926T793 select CPU_ARM926T
806 select HAVE_CLK794 select HAVE_CLK
807 select CLKDEV_LOOKUP795 select CLKDEV_LOOKUP
@@ -812,6 +800,7 @@ config ARCH_TCC_926 · 4 unmodified lines
812config ARCH_U300800config ARCH_U300
813 bool "ST-Ericsson U300 Series"801 bool "ST-Ericsson U300 Series"
814 depends on MMU802 depends on MMU
803 select CLKSRC_MMIO
815 select CPU_ARM926T804 select CPU_ARM926T
816 select HAVE_SCHED_CLOCK805 select HAVE_SCHED_CLOCK
817 select HAVE_TCM806 select HAVE_TCM
@@ -853,6 +842,7 @@ config ARCH_DAVINCI · 35 unmodified lines
853 select HAVE_IDE842 select HAVE_IDE
854 select CLKDEV_LOOKUP843 select CLKDEV_LOOKUP
855 select GENERIC_ALLOCATOR844 select GENERIC_ALLOCATOR
845 select GENERIC_IRQ_CHIP
856 select ARCH_HAS_HOLES_MEMORYMODEL846 select ARCH_HAS_HOLES_MEMORYMODEL
857 help847 help
858 Support for TI's DaVinci platform.848 Support for TI's DaVinci platform.
@@ -873,6 +863,7 @@ config PLAT_SPEAR · 14 unmodified lines
873 select ARM_AMBA863 select ARM_AMBA
874 select ARCH_REQUIRE_GPIOLIB864 select ARCH_REQUIRE_GPIOLIB
875 select CLKDEV_LOOKUP865 select CLKDEV_LOOKUP
866 select CLKSRC_MMIO
876 select GENERIC_CLOCKEVENTS867 select GENERIC_CLOCKEVENTS
877 select HAVE_CLK868 select HAVE_CLK
878 help869 help
@@ -950,8 +941,6 @@ source "arch/arm/mach-netx/Kconfig" · 71 unmodified lines
950source "arch/arm/mach-nomadik/Kconfig"941source "arch/arm/mach-nomadik/Kconfig"
951source "arch/arm/plat-nomadik/Kconfig"942source "arch/arm/plat-nomadik/Kconfig"
952 943
953source "arch/arm/mach-ns9xxx/Kconfig"
954
955source "arch/arm/mach-nuc93x/Kconfig"944source "arch/arm/mach-nuc93x/Kconfig"
956 945
957source "arch/arm/plat-omap/Kconfig"946source "arch/arm/plat-omap/Kconfig"
@@ -994,8 +983,6 @@ endif · 36 unmodified lines
994 983
995source "arch/arm/mach-s5p64x0/Kconfig"984source "arch/arm/mach-s5p64x0/Kconfig"
996 985
997source "arch/arm/mach-s5p6442/Kconfig"
998
999source "arch/arm/mach-s5pc100/Kconfig"986source "arch/arm/mach-s5pc100/Kconfig"
1000 987
1001source "arch/arm/mach-s5pv210/Kconfig"988source "arch/arm/mach-s5pv210/Kconfig"
@@ -1004,8 +991,6 @@ source "arch/arm/mach-exynos4/Kconfig" · 2 unmodified lines
1004 991
1005source "arch/arm/mach-shmobile/Kconfig"992source "arch/arm/mach-shmobile/Kconfig"
1006 993
1007source "arch/arm/plat-stmp3xxx/Kconfig"
1008
1009source "arch/arm/mach-tegra/Kconfig"994source "arch/arm/mach-tegra/Kconfig"
1010 995
1011source "arch/arm/mach-u300/Kconfig"996source "arch/arm/mach-u300/Kconfig"
@@ -1032,6 +1017,8 @@ config PLAT_IOP · 20 unmodified lines
1032 1017
1033config PLAT_ORION1018config PLAT_ORION
1034 bool1019 bool
1020 select CLKSRC_MMIO
1021 select GENERIC_IRQ_CHIP
1035 select HAVE_SCHED_CLOCK1022 select HAVE_SCHED_CLOCK
1036 1023
1037config PLAT_PXA1024config PLAT_PXA
@@ -1042,6 +1029,7 @@ config PLAT_VERSATILE · 4 unmodified lines
1042 1029
1043config ARM_TIMER_SP8041030config ARM_TIMER_SP804
1044 bool1031 bool
1032 select CLKSRC_MMIO
1045 1033
1046source arch/arm/mm/Kconfig1034source arch/arm/mm/Kconfig
1047 1035
@@ -1317,8 +1305,7 @@ menu "Kernel Features" · 269 unmodified lines
1317source "kernel/time/Kconfig"1305source "kernel/time/Kconfig"
1318 1306
1319config SMP1307config SMP
1320 bool "Symmetric Multi-Processing (EXPERIMENTAL)"1308 bool "Symmetric Multi-Processing"
1321 depends on EXPERIMENTAL
1322 depends on CPU_V6K || CPU_V71309 depends on CPU_V6K || CPU_V7
1323 depends on GENERIC_CLOCKEVENTS1310 depends on GENERIC_CLOCKEVENTS
1324 depends on REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP || \1311 depends on REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP || \
@@ -1402,7 +1389,6 @@ config NR_CPUS · 77 unmodified lines
1402config HOTPLUG_CPU1389config HOTPLUG_CPU
1403 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"1390 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
1404 depends on SMP && HOTPLUG && EXPERIMENTAL1391 depends on SMP && HOTPLUG && EXPERIMENTAL
1405 depends on !ARCH_MSM
1406 help1392 help
1407 Say Y here to experiment with turning CPUs off and on. CPUs1393 Say Y here to experiment with turning CPUs off and on. CPUs
1408 can be controlled through /sys/devices/system/cpu.1394 can be controlled through /sys/devices/system/cpu.
@@ -1423,7 +1409,7 @@ source kernel/Kconfig.preempt · 14 unmodified lines
1423config HZ1409config HZ
1424 int1410 int
1425 default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P64X0 || \1411 default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P64X0 || \
1426 ARCH_S5P6442 || ARCH_S5PV210 || ARCH_EXYNOS41412 ARCH_S5PV210 || ARCH_EXYNOS4
1427 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER1413 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
1428 default AT91_TIMER_HZ if ARCH_AT911414 default AT91_TIMER_HZ if ARCH_AT91
1429 default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE1415 default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
@@ -1519,9 +1505,12 @@ config ARCH_SPARSEMEM_DEFAULT · 89 unmodified lines
1519config ARCH_SELECT_MEMORY_MODEL1505config ARCH_SELECT_MEMORY_MODEL
1520 def_bool ARCH_SPARSEMEM_ENABLE1506 def_bool ARCH_SPARSEMEM_ENABLE
1521 1507
1508config HAVE_ARCH_PFN_VALID
1509 def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
1510
1522config HIGHMEM1511config HIGHMEM
1523 bool "High Memory Support (EXPERIMENTAL)"1512 bool "High Memory Support"
1524 depends on MMU && EXPERIMENTAL1513 depends on MMU
1525 help1514 help
1526 The address space of ARM processors is only 4 Gigabytes large1515 The address space of ARM processors is only 4 Gigabytes large
1527 and it has to accommodate user address space, kernel address1516 and it has to accommodate user address space, kernel address
@@ -1539,7 +1528,6 @@ config HIGHMEM · 11 unmodified lines
1539config HIGHPTE1528config HIGHPTE
1540 bool "Allocate 2nd-level pagetables from highmem"1529 bool "Allocate 2nd-level pagetables from highmem"
1541 depends on HIGHMEM1530 depends on HIGHMEM
1542 depends on !OUTER_CACHE
1543 1531
1544config HW_PERF_EVENTS1532config HW_PERF_EVENTS
1545 bool "Enable hardware performance counter support for perf events"1533 bool "Enable hardware performance counter support for perf events"
@@ -1687,6 +1675,13 @@ endmenu · 141 unmodified lines
1687 1675
1688menu "Boot options"1676menu "Boot options"
1689 1677
1678config 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
1690# Compressed boot loader in ROM. Yes, we really want to ask about1685# Compressed boot loader in ROM. Yes, we really want to ask about
1691# TEXT and BSS so we preserve their values in the config files.1686# TEXT and BSS so we preserve their values in the config files.
1692config ZBOOT_ROM_TEXT1687config ZBOOT_ROM_TEXT
@@ -1742,16 +1737,31 @@ config CMDLINE · 49 unmodified lines
1742 time by entering them here. As a minimum, you should specify the1737 time by entering them here. As a minimum, you should specify the
1743 memory size and the root device (e.g., mem=64M root=/dev/nfs).1738 memory size and the root device (e.g., mem=64M root=/dev/nfs).
1744 1739
1740choice
1741 prompt "Kernel command line type" if CMDLINE != ""
1742 default CMDLINE_FROM_BOOTLOADER
1743
1744config 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
1751config 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
1745config CMDLINE_FORCE1757config CMDLINE_FORCE
1746 bool "Always use the default kernel command string"1758 bool "Always use the default kernel command string"
1747 depends on CMDLINE != ""
1748 help1759 help
1749 Always use the default kernel command string, even if the boot1760 Always use the default kernel command string, even if the boot
1750 loader passes other arguments to the kernel.1761 loader passes other arguments to the kernel.
1751 This is useful if you cannot or don't want to change the1762 This is useful if you cannot or don't want to change the
1752 command-line options your boot loader passes to the kernel.1763 command-line options your boot loader passes to the kernel.
1753 1764endchoice
1754 If unsure, say N.
1755 1765
1756config XIP_KERNEL1766config XIP_KERNEL
1757 bool "Kernel Execute-In-Place from ROM"1767 bool "Kernel Execute-In-Place from ROM"
@@ -2010,7 +2020,9 @@ menu "Power management options" · 252 unmodified lines
2010source "kernel/power/Kconfig"2020source "kernel/power/Kconfig"
2011 2021
2012config ARCH_SUSPEND_POSSIBLE2022config ARCH_SUSPEND_POSSIBLE
2013 depends on !ARCH_S5P64X0 && !ARCH_S5P64422023 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
2014 def_bool y2026 def_bool y
2015 2027
2016endmenu2028endmenu
arch/arm/Kconfig-nommu+1−1
@@ -34,7 +34,7 @@ config PROCESSOR_ID · 33 unmodified lines
34 used instead of the auto-probing which utilizes the register.34 used instead of the auto-probing which utilizes the register.
35 35
36config REMAP_VECTORS_TO_RAM36config REMAP_VECTORS_TO_RAM
37 bool 'Install vectors to the begining of RAM' if DRAM_BASE37 bool 'Install vectors to the beginning of RAM' if DRAM_BASE
38 depends on DRAM_BASE38 depends on DRAM_BASE
39 help39 help
40 The kernel needs to change the hardware exception vectors.40 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
63 8 - SIGSEGV faults63 8 - SIGSEGV faults
64 16 - SIGBUS faults64 16 - SIGBUS faults
65 65
66config 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
77config 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
84# These options are only for real kernel hackers who want to get their hands dirty.66# These options are only for real kernel hackers who want to get their hands dirty.
85config DEBUG_LL67config DEBUG_LL
86 bool "Kernel low-level debugging functions"68 bool "Kernel low-level debugging functions"
arch/arm/Makefile+1−7
@@ -158,13 +158,11 @@ machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0 · 157 unmodified lines
158machine-$(CONFIG_ARCH_MX1) := imx158machine-$(CONFIG_ARCH_MX1) := imx
159machine-$(CONFIG_ARCH_MX2) := imx159machine-$(CONFIG_ARCH_MX2) := imx
160machine-$(CONFIG_ARCH_MX25) := imx160machine-$(CONFIG_ARCH_MX25) := imx
161machine-$(CONFIG_ARCH_MX3) := mx3161machine-$(CONFIG_ARCH_MX3) := imx
162machine-$(CONFIG_ARCH_MX5) := mx5162machine-$(CONFIG_ARCH_MX5) := mx5
163machine-$(CONFIG_ARCH_MXC91231) := mxc91231
164machine-$(CONFIG_ARCH_MXS) := mxs163machine-$(CONFIG_ARCH_MXS) := mxs
165machine-$(CONFIG_ARCH_NETX) := netx164machine-$(CONFIG_ARCH_NETX) := netx
166machine-$(CONFIG_ARCH_NOMADIK) := nomadik165machine-$(CONFIG_ARCH_NOMADIK) := nomadik
167machine-$(CONFIG_ARCH_NS9XXX) := ns9xxx
168machine-$(CONFIG_ARCH_OMAP1) := omap1166machine-$(CONFIG_ARCH_OMAP1) := omap1
169machine-$(CONFIG_ARCH_OMAP2) := omap2167machine-$(CONFIG_ARCH_OMAP2) := omap2
170machine-$(CONFIG_ARCH_OMAP3) := omap2168machine-$(CONFIG_ARCH_OMAP3) := omap2
@@ -178,15 +176,12 @@ machine-$(CONFIG_ARCH_S3C2410) := s3c2410 s3c2400 s3c2412 s3c2416 s3c2440 s3c24 · 7 unmodified lines
178machine-$(CONFIG_ARCH_S3C24A0) := s3c24a0176machine-$(CONFIG_ARCH_S3C24A0) := s3c24a0
179machine-$(CONFIG_ARCH_S3C64XX) := s3c64xx177machine-$(CONFIG_ARCH_S3C64XX) := s3c64xx
180machine-$(CONFIG_ARCH_S5P64X0) := s5p64x0178machine-$(CONFIG_ARCH_S5P64X0) := s5p64x0
181machine-$(CONFIG_ARCH_S5P6442) := s5p6442
182machine-$(CONFIG_ARCH_S5PC100) := s5pc100179machine-$(CONFIG_ARCH_S5PC100) := s5pc100
183machine-$(CONFIG_ARCH_S5PV210) := s5pv210180machine-$(CONFIG_ARCH_S5PV210) := s5pv210
184machine-$(CONFIG_ARCH_EXYNOS4) := exynos4181machine-$(CONFIG_ARCH_EXYNOS4) := exynos4
185machine-$(CONFIG_ARCH_SA1100) := sa1100182machine-$(CONFIG_ARCH_SA1100) := sa1100
186machine-$(CONFIG_ARCH_SHARK) := shark183machine-$(CONFIG_ARCH_SHARK) := shark
187machine-$(CONFIG_ARCH_SHMOBILE) := shmobile184machine-$(CONFIG_ARCH_SHMOBILE) := shmobile
188machine-$(CONFIG_ARCH_STMP378X) := stmp378x
189machine-$(CONFIG_ARCH_STMP37XX) := stmp37xx
190machine-$(CONFIG_ARCH_TCC8K) := tcc8k185machine-$(CONFIG_ARCH_TCC8K) := tcc8k
191machine-$(CONFIG_ARCH_TEGRA) := tegra186machine-$(CONFIG_ARCH_TEGRA) := tegra
192machine-$(CONFIG_ARCH_U300) := u300187machine-$(CONFIG_ARCH_U300) := u300
@@ -207,7 +202,6 @@ machine-$(CONFIG_MACH_SPEAR600) := spear6xx · 14 unmodified lines
207plat-$(CONFIG_ARCH_MXC) := mxc202plat-$(CONFIG_ARCH_MXC) := mxc
208plat-$(CONFIG_ARCH_OMAP) := omap203plat-$(CONFIG_ARCH_OMAP) := omap
209plat-$(CONFIG_ARCH_S3C64XX) := samsung204plat-$(CONFIG_ARCH_S3C64XX) := samsung
210plat-$(CONFIG_ARCH_STMP3XXX) := stmp3xxx
211plat-$(CONFIG_ARCH_TCC_926) := tcc205plat-$(CONFIG_ARCH_TCC_926) := tcc
212plat-$(CONFIG_PLAT_IOP) := iop206plat-$(CONFIG_PLAT_IOP) := iop
213plat-$(CONFIG_PLAT_NOMADIK) := nomadik207plat-$(CONFIG_PLAT_NOMADIK) := nomadik
arch/arm/boot/compressed/Makefile+15−4
@@ -74,7 +74,7 @@ ZTEXTADDR := $(CONFIG_ZBOOT_ROM_TEXT) · 73 unmodified lines
74ZBSSADDR := $(CONFIG_ZBOOT_ROM_BSS)74ZBSSADDR := $(CONFIG_ZBOOT_ROM_BSS)
75else75else
76ZTEXTADDR := 076ZTEXTADDR := 0
77ZBSSADDR := ALIGN(4)77ZBSSADDR := ALIGN(8)
78endif78endif
79 79
80SEDFLAGS = s/TEXT_START/$(ZTEXTADDR)/;s/BSS_START/$(ZBSSADDR)/80SEDFLAGS = s/TEXT_START/$(ZTEXTADDR)/;s/BSS_START/$(ZBSSADDR)/
@@ -98,8 +98,6 @@ endif · 17 unmodified lines
98ccflags-y := -fpic -fno-builtin98ccflags-y := -fpic -fno-builtin
99asflags-y := -Wa,-march=all99asflags-y := -Wa,-march=all
100 100
101# Provide size of uncompressed kernel to the decompressor via a linker symbol.
102LDFLAGS_vmlinux = --defsym _image_size=$(shell stat -c "%s" $(obj)/../Image)
103# Supply ZRELADDR to the decompressor via a linker symbol.101# Supply ZRELADDR to the decompressor via a linker symbol.
104ifneq ($(CONFIG_AUTO_ZRELADDR),y)102ifneq ($(CONFIG_AUTO_ZRELADDR),y)
105LDFLAGS_vmlinux += --defsym zreladdr=$(ZRELADDR)103LDFLAGS_vmlinux += --defsym zreladdr=$(ZRELADDR)
@@ -122,10 +120,23 @@ lib1funcs = $(obj)/lib1funcs.o · 16 unmodified lines
122$(obj)/lib1funcs.S: $(srctree)/arch/$(SRCARCH)/lib/lib1funcs.S FORCE120$(obj)/lib1funcs.S: $(srctree)/arch/$(SRCARCH)/lib/lib1funcs.S FORCE
123 $(call cmd,shipped)121 $(call cmd,shipped)
124 122
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.
130check_for_bad_syms = \
131bad_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
125$(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/$(HEAD) $(obj)/piggy.$(suffix_y).o \136$(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/$(HEAD) $(obj)/piggy.$(suffix_y).o \
126 $(addprefix $(obj)/, $(OBJS)) $(lib1funcs) FORCE137 $(addprefix $(obj)/, $(OBJS)) $(lib1funcs) FORCE
127 $(call if_changed,ld)138 $(call if_changed,ld)
128 @:139 @$(check_for_bad_syms)
129 140
130$(obj)/piggy.$(suffix_y): $(obj)/../Image FORCE141$(obj)/piggy.$(suffix_y): $(obj)/../Image FORCE
131 $(call if_changed,$(suffix_y))142 $(call if_changed,$(suffix_y))
arch/arm/boot/compressed/decompress.c+2−2
@@ -44,7 +44,7 @@ extern void error(char *); · 43 unmodified lines
44#include "../../../../lib/decompress_unlzma.c"44#include "../../../../lib/decompress_unlzma.c"
45#endif45#endif
46 46
47void do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x))47int do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x))
48{48{
49 decompress(input, len, NULL, NULL, output, NULL, error);49 return decompress(input, len, NULL, NULL, output, NULL, error);
50}50}
arch/arm/boot/compressed/head.S+59−30
@@ -21,20 +21,12 @@ · 20 unmodified lines
21 21
22#if defined(CONFIG_DEBUG_ICEDCC)22#if defined(CONFIG_DEBUG_ICEDCC)
23 23
24#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K)24#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7)
25 .macro loadsp, rb, tmp25 .macro loadsp, rb, tmp
26 .endm26 .endm
27 .macro writeb, ch, rb27 .macro writeb, ch, rb
28 mcr p14, 0, \ch, c0, c5, 028 mcr p14, 0, \ch, c0, c5, 0
29 .endm29 .endm
30#elif defined(CONFIG_CPU_V7)
31 .macro loadsp, rb, tmp
32 .endm
33 .macro writeb, ch, rb
34wait: mrc p14, 0, pc, c0, c1, 0
35 bcs wait
36 mcr p14, 0, \ch, c0, c5, 0
37 .endm
38#elif defined(CONFIG_CPU_XSCALE)30#elif defined(CONFIG_CPU_XSCALE)
39 .macro loadsp, rb, tmp31 .macro loadsp, rb, tmp
40 .endm32 .endm
@@ -187,16 +179,29 @@ not_angel: · 146 unmodified lines
187 bl cache_on179 bl cache_on
188 180
189restart: adr r0, LC0181restart: adr r0, LC0
190 ldmia r0, {r1, r2, r3, r5, r6, r9, r11, r12}182 ldmia r0, {r1, r2, r3, r6, r10, r11, r12}
191 ldr sp, [r0, #32]183 ldr sp, [r0, #28]
192 184
193 /*185 /*
194 * We might be running at a different address. We need186 * We might be running at a different address. We need
195 * to fix up various pointers.187 * to fix up various pointers.
196 */188 */
197 sub r0, r0, r1 @ calculate the delta offset189 sub r0, r0, r1 @ calculate the delta offset
198 add r5, r5, r0 @ _start
199 add r6, r6, r0 @ _edata190 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
200 205
201#ifndef CONFIG_ZBOOT_ROM206#ifndef CONFIG_ZBOOT_ROM
202 /* malloc space is above the relocated stack (64k max) */207 /* malloc space is above the relocated stack (64k max) */
@@ -214,31 +219,40 @@ restart: adr r0, LC0 · 11 unmodified lines
214/*219/*
215 * Check to see if we will overwrite ourselves.220 * Check to see if we will overwrite ourselves.
216 * r4 = final kernel address221 * r4 = final kernel address
217 * r5 = start of this image
218 * r9 = size of decompressed image222 * r9 = size of decompressed image
219 * r10 = end of this image, including bss/stack/malloc space if non XIP223 * r10 = end of this image, including bss/stack/malloc space if non XIP
220 * We basically want:224 * We basically want:
221 * r4 >= r10 -> OK225 * r4 - 16k page directory >= r10 -> OK
222 * r4 + image length <= r5 -> OK226 * r4 + image length <= current position (pc) -> OK
223 */227 */
228 add r10, r10, #16384
224 cmp r4, r10229 cmp r4, r10
225 bhs wont_overwrite230 bhs wont_overwrite
226 add r10, r4, r9231 add r10, r4, r9
227 cmp r10, r5232 ARM( cmp r10, pc )
233 THUMB( mov lr, pc )
234 THUMB( cmp r10, lr )
228 bls wont_overwrite235 bls wont_overwrite
229 236
230/*237/*
231 * Relocate ourselves past the end of the decompressed kernel.238 * Relocate ourselves past the end of the decompressed kernel.
232 * r5 = start of this image
233 * r6 = _edata239 * r6 = _edata
234 * r10 = end of the decompressed kernel240 * r10 = end of the decompressed kernel
235 * Because we always copy ahead, we need to do it from the end and go241 * Because we always copy ahead, we need to do it from the end and go
236 * backward in case the source and destination overlap.242 * backward in case the source and destination overlap.
237 */243 */
238 /* Round up to next 256-byte boundary. */244 /*
239 add r10, r10, #256245 * 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)
240 bic r10, r10, #255250 bic r10, r10, #255
241 251
252 /* Get start of code we want to copy and align it down. */
253 adr r5, restart
254 bic r5, r5, #31
255
242 sub r9, r6, r5 @ size to copy256 sub r9, r6, r5 @ size to copy
243 add r9, r9, #31 @ rounded up to a multiple257 add r9, r9, #31 @ rounded up to a multiple
244 bic r9, r9, #31 @ ... of 32 bytes258 bic r9, r9, #31 @ ... of 32 bytes
@@ -253,6 +267,11 @@ restart: adr r0, LC0 · 8 unmodified lines
253 /* Preserve offset to relocated code. */267 /* Preserve offset to relocated code. */
254 sub r6, r9, r6268 sub r6, r9, r6
255 269
270#ifndef CONFIG_ZBOOT_ROM
271 /* cache_clean_flush may use the stack, so relocate it */
272 add sp, sp, r6
273#endif
274
256 bl cache_clean_flush275 bl cache_clean_flush
257 276
258 adr r0, BSYM(restart)277 adr r0, BSYM(restart)
@@ -341,12 +360,11 @@ not_relocated: mov r0, #0 · 82 unmodified lines
341LC0: .word LC0 @ r1360LC0: .word LC0 @ r1
342 .word __bss_start @ r2361 .word __bss_start @ r2
343 .word _end @ r3362 .word _end @ r3
344 .word _start @ r5
345 .word _edata @ r6363 .word _edata @ r6
346 .word _image_size @ r9364 .word input_data_end - 4 @ r10 (inflated size location)
347 .word _got_start @ r11365 .word _got_start @ r11
348 .word _got_end @ ip366 .word _got_end @ ip
349 .word user_stack_end @ sp367 .word .L_user_stack_end @ sp
350 .size LC0, . - LC0368 .size LC0, . - LC0
351 369
352#ifdef CONFIG_ARCH_RPC370#ifdef CONFIG_ARCH_RPC
@@ -455,7 +473,11 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size · 102 unmodified lines
455 orr r1, r1, #3 << 10473 orr r1, r1, #3 << 10
456 add r2, r3, #16384474 add r2, r3, #16384
4571: cmp r1, r9 @ if virt > start of RAM4751: cmp r1, r9 @ if virt > start of RAM
476#ifdef CONFIG_CPU_DCACHE_WRITETHROUGH
477 orrhs r1, r1, #0x08 @ set cacheable
478#else
458 orrhs r1, r1, #0x0c @ set cacheable, bufferable479 orrhs r1, r1, #0x0c @ set cacheable, bufferable
480#endif
459 cmp r1, r10 @ if virt > end of RAM481 cmp r1, r10 @ if virt > end of RAM
460 bichs r1, r1, #0x0c @ clear cacheable, bufferable482 bichs r1, r1, #0x0c @ clear cacheable, bufferable
461 str r1, [r0], #4 @ 1:1 mapping483 str r1, [r0], #4 @ 1:1 mapping
@@ -480,6 +502,12 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size · 18 unmodified lines
480 mov pc, lr502 mov pc, lr
481ENDPROC(__setup_mmu)503ENDPROC(__setup_mmu)
482 504
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
483__armv4_mmu_cache_on:511__armv4_mmu_cache_on:
484 mov r12, lr512 mov r12, lr
485#ifdef CONFIG_MMU513#ifdef CONFIG_MMU
@@ -661,6 +689,12 @@ proc_types: · 175 unmodified lines
661 W(b) __armv4_mpu_cache_off689 W(b) __armv4_mpu_cache_off
662 W(b) __armv4_mpu_cache_flush690 W(b) __armv4_mpu_cache_flush
663 691
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
664 .word 0x00007000 @ ARM7 IDs698 .word 0x00007000 @ ARM7 IDs
665 .word 0x0000f000699 .word 0x0000f000
666 mov pc, lr700 mov pc, lr
@@ -743,12 +777,6 @@ proc_types: · 76 unmodified lines
743 W(b) __armv4_mmu_cache_off777 W(b) __armv4_mmu_cache_off
744 W(b) __armv6_mmu_cache_flush778 W(b) __armv6_mmu_cache_flush
745 779
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
752 .word 0x000f0000 @ new CPU Id780 .word 0x000f0000 @ new CPU Id
753 .word 0x000f0000781 .word 0x000f0000
754 W(b) __armv7_mmu_cache_on782 W(b) __armv7_mmu_cache_on
@@ -1070,8 +1098,9 @@ memdump: mov r12, r0 · 315 unmodified lines
1070#endif1098#endif
1071 1099
1072 .ltorg1100 .ltorg
1101reloc_code_end:
1073 1102
1074 .align1103 .align
1075 .section ".stack", "aw", %nobits1104 .section ".stack", "aw", %nobits
1076user_stack: .space 40961105.L_user_stack: .space 4096
1077user_stack_end: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
26#include <linux/linkage.h>26#include <linux/linkage.h>
27#include <asm/string.h>27#include <asm/string.h>
28 28
29#include <asm/unaligned.h>
30
31 29
32static void putstr(const char *ptr);30static void putstr(const char *ptr);
33extern void error(char *x);31extern void error(char *x);
@@ -36,7 +34,7 @@ extern void error(char *x); · 2 unmodified lines
36 34
37#ifdef CONFIG_DEBUG_ICEDCC35#ifdef CONFIG_DEBUG_ICEDCC
38 36
39#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K)37#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7)
40 38
41static void icedcc_putc(int ch)39static void icedcc_putc(int ch)
42{40{
@@ -52,16 +50,6 @@ static void icedcc_putc(int ch) · 9 unmodified lines
52 asm("mcr p14, 0, %0, c0, c5, 0" : : "r" (ch));50 asm("mcr p14, 0, %0, c0, c5, 0" : : "r" (ch));
53}51}
54 52
55#elif defined(CONFIG_CPU_V7)
56
57static 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}
65 53
66#elif defined(CONFIG_CPU_XSCALE)54#elif defined(CONFIG_CPU_XSCALE)
67 55
@@ -149,13 +137,12 @@ void *memcpy(void *__dest, __const void *__src, size_t __n) · 81 unmodified lines
149}137}
150 138
151/*139/*
152 * gzip delarations140 * gzip declarations
153 */141 */
154extern char input_data[];142extern char input_data[];
155extern char input_data_end[];143extern char input_data_end[];
156 144
157unsigned char *output_data;145unsigned char *output_data;
158unsigned long output_ptr;
159 146
160unsigned long free_mem_ptr;147unsigned long free_mem_ptr;
161unsigned long free_mem_end_ptr;148unsigned long free_mem_end_ptr;
@@ -180,15 +167,15 @@ asmlinkage void __div0(void) · 18 unmodified lines
180 error("Attempting division by 0!");167 error("Attempting division by 0!");
181}168}
182 169
183extern void do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x));170extern int do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x));
184 171
185 172
186unsigned long173void
187decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p,174decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p,
188 unsigned long free_mem_ptr_end_p,175 unsigned long free_mem_ptr_end_p,
189 int arch_id)176 int arch_id)
190{177{
191 unsigned char *tmp;178 int ret;
192 179
193 output_data = (unsigned char *)output_start;180 output_data = (unsigned char *)output_start;
194 free_mem_ptr = free_mem_ptr_p;181 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
197 184
198 arch_decomp_setup();185 arch_decomp_setup();
199 186
200 tmp = (unsigned char *) (((unsigned long)input_data_end) - 4);
201 output_ptr = get_unaligned_le32(tmp);
202
203 putstr("Uncompressing Linux...");187 putstr("Uncompressing Linux...");
204 do_decompress(input_data, input_data_end - input_data,188 ret = do_decompress(input_data, input_data_end - input_data,
205 output_data, error);189 output_data, error);
206 putstr(" done, booting the kernel.\n");190 if (ret)
207 return output_ptr;191 error("decompressor returned an error");
192 else
193 putstr(" done, booting the kernel.\n");
208}194}
arch/arm/boot/compressed/vmlinux.lds.in+1−0
@@ -54,6 +54,7 @@ SECTIONS · 53 unmodified lines
54 .bss : { *(.bss) }54 .bss : { *(.bss) }
55 _end = .;55 _end = .;
56 56
57 . = ALIGN(8); /* the stack must be 64-bit aligned */
57 .stack : { *(.stack) }58 .stack : { *(.stack) }
58 59
59 .stab 0 : { *(.stab) }60 .stab 0 : { *(.stab) }
arch/arm/common/Kconfig+1−1
@@ -7,7 +7,7 @@ config ARM_VIC · 6 unmodified lines
7config ARM_VIC_NR7config ARM_VIC_NR
8 int8 int
9 default 4 if ARCH_S5PV2109 default 4 if ARCH_S5PV210
10 default 3 if ARCH_S5P6442 || ARCH_S5PC10010 default 3 if ARCH_S5PC100
11 default 211 default 2
12 depends on ARM_VIC12 depends on ARM_VIC
13 help13 help
arch/arm/common/Makefile+0−1
@@ -16,5 +16,4 @@ obj-$(CONFIG_SHARP_SCOOP) += scoop.o · 15 unmodified lines
16obj-$(CONFIG_ARCH_IXP2000) += uengine.o16obj-$(CONFIG_ARCH_IXP2000) += uengine.o
17obj-$(CONFIG_ARCH_IXP23XX) += uengine.o17obj-$(CONFIG_ARCH_IXP23XX) += uengine.o
18obj-$(CONFIG_PCI_HOST_ITE8152) += it8152.o18obj-$(CONFIG_PCI_HOST_ITE8152) += it8152.o
19obj-$(CONFIG_COMMON_CLKDEV) += clkdev.o
20obj-$(CONFIG_ARM_TIMER_SP804) += timer-sp.o19obj-$(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
49 * Default make them NULL.49 * Default make them NULL.
50 */50 */
51struct irq_chip gic_arch_extn = {51struct irq_chip gic_arch_extn = {
52 .irq_ack = NULL,52 .irq_eoi = NULL,
53 .irq_mask = NULL,53 .irq_mask = NULL,
54 .irq_unmask = NULL,54 .irq_unmask = NULL,
55 .irq_retrigger = NULL,55 .irq_retrigger = NULL,
@@ -84,21 +84,12 @@ static inline unsigned int gic_irq(struct irq_data *d) · 28 unmodified lines
84/*84/*
85 * Routines to acknowledge, disable and enable interrupts85 * Routines to acknowledge, disable and enable interrupts
86 */86 */
87static 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
96static void gic_mask_irq(struct irq_data *d)87static void gic_mask_irq(struct irq_data *d)
97{88{
98 u32 mask = 1 << (d->irq % 32);89 u32 mask = 1 << (d->irq % 32);
99 90
100 spin_lock(&irq_controller_lock);91 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);
102 if (gic_arch_extn.irq_mask)93 if (gic_arch_extn.irq_mask)
103 gic_arch_extn.irq_mask(d);94 gic_arch_extn.irq_mask(d);
104 spin_unlock(&irq_controller_lock);95 spin_unlock(&irq_controller_lock);
@@ -111,10 +102,21 @@ static void gic_unmask_irq(struct irq_data *d) · 6 unmodified lines
111 spin_lock(&irq_controller_lock);102 spin_lock(&irq_controller_lock);
112 if (gic_arch_extn.irq_unmask)103 if (gic_arch_extn.irq_unmask)
113 gic_arch_extn.irq_unmask(d);104 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);
115 spin_unlock(&irq_controller_lock);106 spin_unlock(&irq_controller_lock);
116}107}
117 108
109static 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
118static int gic_set_type(struct irq_data *d, unsigned int type)120static int gic_set_type(struct irq_data *d, unsigned int type)
119{121{
120 void __iomem *base = gic_dist_base(d);122 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
138 if (gic_arch_extn.irq_set_type)140 if (gic_arch_extn.irq_set_type)
139 gic_arch_extn.irq_set_type(d, type);141 gic_arch_extn.irq_set_type(d, type);
140 142
141 val = readl(base + GIC_DIST_CONFIG + confoff);143 val = readl_relaxed(base + GIC_DIST_CONFIG + confoff);
142 if (type == IRQ_TYPE_LEVEL_HIGH)144 if (type == IRQ_TYPE_LEVEL_HIGH)
143 val &= ~confmask;145 val &= ~confmask;
144 else if (type == IRQ_TYPE_EDGE_RISING)146 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
148 * As recommended by the spec, disable the interrupt before changing150 * As recommended by the spec, disable the interrupt before changing
149 * the configuration151 * the configuration
150 */152 */
151 if (readl(base + GIC_DIST_ENABLE_SET + enableoff) & enablemask) {153 if (readl_relaxed(base + GIC_DIST_ENABLE_SET + enableoff) & enablemask) {
152 writel(enablemask, base + GIC_DIST_ENABLE_CLEAR + enableoff);154 writel_relaxed(enablemask, base + GIC_DIST_ENABLE_CLEAR + enableoff);
153 enabled = true;155 enabled = true;
154 }156 }
155 157
156 writel(val, base + GIC_DIST_CONFIG + confoff);158 writel_relaxed(val, base + GIC_DIST_CONFIG + confoff);
157 159
158 if (enabled)160 if (enabled)
159 writel(enablemask, base + GIC_DIST_ENABLE_SET + enableoff);161 writel_relaxed(enablemask, base + GIC_DIST_ENABLE_SET + enableoff);
160 162
161 spin_unlock(&irq_controller_lock);163 spin_unlock(&irq_controller_lock);
162 164
@@ -188,8 +190,8 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *mask_val, · 25 unmodified lines
188 190
189 spin_lock(&irq_controller_lock);191 spin_lock(&irq_controller_lock);
190 d->node = cpu;192 d->node = cpu;
191 val = readl(reg) & ~mask;193 val = readl_relaxed(reg) & ~mask;
192 writel(val | bit, reg);194 writel_relaxed(val | bit, reg);
193 spin_unlock(&irq_controller_lock);195 spin_unlock(&irq_controller_lock);
194 196
195 return 0;197 return 0;
@@ -218,11 +220,10 @@ static void gic_handle_cascade_irq(unsigned int irq, struct irq_desc *desc) · 22 unmodified lines
218 unsigned int cascade_irq, gic_irq;220 unsigned int cascade_irq, gic_irq;
219 unsigned long status;221 unsigned long status;
220 222
221 /* primary controller ack'ing */223 chained_irq_enter(chip, desc);
222 chip->irq_ack(&desc->irq_data);
223 224
224 spin_lock(&irq_controller_lock);225 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);
226 spin_unlock(&irq_controller_lock);227 spin_unlock(&irq_controller_lock);
227 228
228 gic_irq = (status & 0x3ff);229 gic_irq = (status & 0x3ff);
@@ -236,15 +237,14 @@ static void gic_handle_cascade_irq(unsigned int irq, struct irq_desc *desc) · 7 unmodified lines
236 generic_handle_irq(cascade_irq);237 generic_handle_irq(cascade_irq);
237 238
238 out:239 out:
239 /* primary controller unmasking */240 chained_irq_exit(chip, desc);
240 chip->irq_unmask(&desc->irq_data);
241}241}
242 242
243static struct irq_chip gic_chip = {243static struct irq_chip gic_chip = {
244 .name = "GIC",244 .name = "GIC",
245 .irq_ack = gic_ack_irq,
246 .irq_mask = gic_mask_irq,245 .irq_mask = gic_mask_irq,
247 .irq_unmask = gic_unmask_irq,246 .irq_unmask = gic_unmask_irq,
247 .irq_eoi = gic_eoi_irq,
248 .irq_set_type = gic_set_type,248 .irq_set_type = gic_set_type,
249 .irq_retrigger = gic_retrigger,249 .irq_retrigger = gic_retrigger,
250#ifdef CONFIG_SMP250#ifdef CONFIG_SMP
@@ -272,13 +272,13 @@ static void __init gic_dist_init(struct gic_chip_data *gic, · 21 unmodified lines
272 cpumask |= cpumask << 8;272 cpumask |= cpumask << 8;
273 cpumask |= cpumask << 16;273 cpumask |= cpumask << 16;
274 274
275 writel(0, base + GIC_DIST_CTRL);275 writel_relaxed(0, base + GIC_DIST_CTRL);
276 276
277 /*277 /*
278 * Find out how many interrupts are supported.278 * Find out how many interrupts are supported.
279 * The GIC only supports up to 1020 interrupt sources.279 * The GIC only supports up to 1020 interrupt sources.
280 */280 */
281 gic_irqs = readl(base + GIC_DIST_CTR) & 0x1f;281 gic_irqs = readl_relaxed(base + GIC_DIST_CTR) & 0x1f;
282 gic_irqs = (gic_irqs + 1) * 32;282 gic_irqs = (gic_irqs + 1) * 32;
283 if (gic_irqs > 1020)283 if (gic_irqs > 1020)
284 gic_irqs = 1020;284 gic_irqs = 1020;
@@ -287,26 +287,26 @@ static void __init gic_dist_init(struct gic_chip_data *gic, · 2 unmodified lines
287 * Set all global interrupts to be level triggered, active low.287 * Set all global interrupts to be level triggered, active low.
288 */288 */
289 for (i = 32; i < gic_irqs; i += 16)289 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);
291 291
292 /*292 /*
293 * Set all global interrupts to this CPU only.293 * Set all global interrupts to this CPU only.
294 */294 */
295 for (i = 32; i < gic_irqs; i += 4)295 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);
297 297
298 /*298 /*
299 * Set priority on all global interrupts.299 * Set priority on all global interrupts.
300 */300 */
301 for (i = 32; i < gic_irqs; i += 4)301 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);
303 303
304 /*304 /*
305 * Disable all interrupts. Leave the PPI and SGIs alone305 * Disable all interrupts. Leave the PPI and SGIs alone
306 * as these enables are banked registers.306 * as these enables are banked registers.
307 */307 */
308 for (i = 32; i < gic_irqs; i += 32)308 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);
310 310
311 /*311 /*
312 * Limit number of interrupts registered to the platform maximum312 * 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
319 * Setup the Linux IRQ subsystem.319 * Setup the Linux IRQ subsystem.
320 */320 */
321 for (i = irq_start; i < irq_limit; i++) {321 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);
323 irq_set_chip_data(i, gic);323 irq_set_chip_data(i, gic);
324 set_irq_flags(i, IRQF_VALID | IRQF_PROBE);324 set_irq_flags(i, IRQF_VALID | IRQF_PROBE);
325 }325 }
326 326
327 writel(1, base + GIC_DIST_CTRL);327 writel_relaxed(1, base + GIC_DIST_CTRL);
328}328}
329 329
330static void __cpuinit gic_cpu_init(struct gic_chip_data *gic)330static 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
337 * Deal with the banked PPI and SGI interrupts - disable all337 * Deal with the banked PPI and SGI interrupts - disable all
338 * PPI interrupts, ensure all SGI interrupts are enabled.338 * PPI interrupts, ensure all SGI interrupts are enabled.
339 */339 */
340 writel(0xffff0000, dist_base + GIC_DIST_ENABLE_CLEAR);340 writel_relaxed(0xffff0000, dist_base + GIC_DIST_ENABLE_CLEAR);
341 writel(0x0000ffff, dist_base + GIC_DIST_ENABLE_SET);341 writel_relaxed(0x0000ffff, dist_base + GIC_DIST_ENABLE_SET);
342 342
343 /*343 /*
344 * Set priority on PPI and SGI interrupts344 * Set priority on PPI and SGI interrupts
345 */345 */
346 for (i = 0; i < 32; i += 4)346 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);
348 348
349 writel(0xf0, base + GIC_CPU_PRIMASK);349 writel_relaxed(0xf0, base + GIC_CPU_PRIMASK);
350 writel(1, base + GIC_CPU_CTRL);350 writel_relaxed(1, base + GIC_CPU_CTRL);
351}351}
352 352
353void __init gic_init(unsigned int gic_nr, unsigned int irq_start,353void __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
391{391{
392 unsigned long map = *cpus_addr(*mask);392 unsigned long map = *cpus_addr(*mask);
393 393
394 /*
395 * Ensure that stores to Normal memory are visible to the
396 * other CPUs before issuing the IPI.
397 */
398 dsb();
399
394 /* this always happens on GIC0 */400 /* 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);
396}402}
397#endif403#endif
arch/arm/common/pl330.c+2−2
@@ -1045,7 +1045,7 @@ static inline int _loop(unsigned dry_run, u8 buf[], · 1044 unmodified lines
1045 unsigned lcnt0, lcnt1, ljmp0, ljmp1;1045 unsigned lcnt0, lcnt1, ljmp0, ljmp1;
1046 struct _arg_LPEND lpend;1046 struct _arg_LPEND lpend;
1047 1047
1048 /* Max iterations possibile in DMALP is 256 */1048 /* Max iterations possible in DMALP is 256 */
1049 if (*bursts >= 256*256) {1049 if (*bursts >= 256*256) {
1050 lcnt1 = 256;1050 lcnt1 = 256;
1051 lcnt0 = 256;1051 lcnt0 = 256;
@@ -1446,7 +1446,7 @@ int pl330_update(const struct pl330_info *pi) · 394 unmodified lines
1446 }1446 }
1447 1447
1448 for (ev = 0; ev < pi->pcfg.num_events; ev++) {1448 for (ev = 0; ev < pi->pcfg.num_events; ev++) {
1449 if (val & (1 << ev)) { /* Event occured */1449 if (val & (1 << ev)) { /* Event occurred */
1450 struct pl330_thread *thrd;1450 struct pl330_thread *thrd;
1451 u32 inten = readl(regs + INTEN);1451 u32 inten = readl(regs + INTEN);
1452 int active;1452 int active;
arch/arm/common/sa1111.c+0−8
@@ -185,14 +185,6 @@ static struct sa1111_dev_info sa1111_devices[] = { · 184 unmodified lines
185 },185 },
186};186};
187 187
188void __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
196/*188/*
197 * SA1111 interrupt support. Since clearing an IRQ while there are189 * SA1111 interrupt support. Since clearing an IRQ while there are
198 * active IRQs causes the interrupt output to pulse, the upper levels190 * 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
18 * along with this program; if not, write to the Free Software18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */20 */
21#include <linux/clk.h>
21#include <linux/clocksource.h>22#include <linux/clocksource.h>
22#include <linux/clockchips.h>23#include <linux/clockchips.h>
24#include <linux/err.h>
23#include <linux/interrupt.h>25#include <linux/interrupt.h>
24#include <linux/irq.h>26#include <linux/irq.h>
25#include <linux/io.h>27#include <linux/io.h>
26 28
27#include <asm/hardware/arm_timer.h>29#include <asm/hardware/arm_timer.h>
28 30
29/*31static long __init sp804_get_clock_rate(const char *name)
30 * These timers are currently always setup to be clocked at 1MHz.32{
31 */33 struct clk *clk;
32#define TIMER_FREQ_KHZ (1000)34 long rate;
33#define TIMER_RELOAD (TIMER_FREQ_KHZ * 1000 / HZ)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 }
34 43
35static 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 }
36 50
37static cycle_t sp804_read(struct clocksource *cs)51 rate = clk_get_rate(clk);
38{52 if (rate < 0) {
39 return ~readl(clksrc_base + TIMER_VALUE);53 pr_err("sp804: %s clock failed to get rate: %ld\n", name, rate);
40}54 clk_disable(clk);
55 clk_put(clk);
56 }
41 57
42static struct clocksource clocksource_sp804 = {58 return rate;
43 .name = "timer3",59}
44 .rating = 200,
45 .read = sp804_read,
46 .mask = CLOCKSOURCE_MASK(32),
47 .flags = CLOCK_SOURCE_IS_CONTINUOUS,
48};
49 60
50void __init sp804_clocksource_init(void __iomem *base)61void __init sp804_clocksource_init(void __iomem *base, const char *name)
51{62{
52 struct clocksource *cs = &clocksource_sp804;63 long rate = sp804_get_clock_rate(name);
53 64
54 clksrc_base = base;65 if (rate < 0)
66 return;
55 67
56 /* setup timer 0 as free-running clocksource */68 /* setup timer 0 as free-running clocksource */
57 writel(0, clksrc_base + TIMER_CTRL);69 writel(0, base + TIMER_CTRL);
58 writel(0xffffffff, clksrc_base + TIMER_LOAD);70 writel(0xffffffff, base + TIMER_LOAD);
59 writel(0xffffffff, clksrc_base + TIMER_VALUE);71 writel(0xffffffff, base + TIMER_VALUE);
60 writel(TIMER_CTRL_32BIT | TIMER_CTRL_ENABLE | TIMER_CTRL_PERIODIC,72 writel(TIMER_CTRL_32BIT | TIMER_CTRL_ENABLE | TIMER_CTRL_PERIODIC,
61 clksrc_base + TIMER_CTRL);73 base + TIMER_CTRL);
62 74
63 clocksource_register_khz(cs, TIMER_FREQ_KHZ);75 clocksource_mmio_init(base + TIMER_VALUE, name,
76 rate, 200, 32, clocksource_mmio_readl_down);
64}77}
65 78
66 79
67static void __iomem *clkevt_base;80static void __iomem *clkevt_base;
81static unsigned long clkevt_reload;
68 82
69/*83/*
70 * IRQ handler for the timer84 * IRQ handler for the timer
@@ -90,7 +104,7 @@ static void sp804_set_mode(enum clock_event_mode mode, · 19 unmodified lines
90 104
91 switch (mode) {105 switch (mode) {
92 case CLOCK_EVT_MODE_PERIODIC:106 case CLOCK_EVT_MODE_PERIODIC:
93 writel(TIMER_RELOAD, clkevt_base + TIMER_LOAD);107 writel(clkevt_reload, clkevt_base + TIMER_LOAD);
94 ctrl |= TIMER_CTRL_PERIODIC | TIMER_CTRL_ENABLE;108 ctrl |= TIMER_CTRL_PERIODIC | TIMER_CTRL_ENABLE;
95 break;109 break;
96 110
@@ -120,7 +134,6 @@ static int sp804_set_next_event(unsigned long next, · 23 unmodified lines
120}134}
121 135
122static struct clock_event_device sp804_clockevent = {136static struct clock_event_device sp804_clockevent = {
123 .name = "timer0",
124 .shift = 32,137 .shift = 32,
125 .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,138 .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
126 .set_mode = sp804_set_mode,139 .set_mode = sp804_set_mode,
@@ -136,17 +149,24 @@ static struct irqaction sp804_timer_irq = { · 9 unmodified lines
136 .dev_id = &sp804_clockevent,149 .dev_id = &sp804_clockevent,
137};150};
138 151
139void __init sp804_clockevents_init(void __iomem *base, unsigned int timer_irq)152void __init sp804_clockevents_init(void __iomem *base, unsigned int irq,
153 const char *name)
140{154{
141 struct clock_event_device *evt = &sp804_clockevent;155 struct clock_event_device *evt = &sp804_clockevent;
156 long rate = sp804_get_clock_rate(name);
157
158 if (rate < 0)
159 return;
142 160
143 clkevt_base = base;161 clkevt_base = base;
162 clkevt_reload = DIV_ROUND_CLOSEST(rate, HZ);
144 163
145 evt->irq = timer_irq;164 evt->name = name;
146 evt->mult = div_sc(TIMER_FREQ_KHZ, NSEC_PER_MSEC, evt->shift);165 evt->irq = irq;
166 evt->mult = div_sc(rate, NSEC_PER_SEC, evt->shift);
147 evt->max_delta_ns = clockevent_delta2ns(0xffffffff, evt);167 evt->max_delta_ns = clockevent_delta2ns(0xffffffff, evt);
148 evt->min_delta_ns = clockevent_delta2ns(0xf, evt);168 evt->min_delta_ns = clockevent_delta2ns(0xf, evt);
149 169
150 setup_irq(timer_irq, &sp804_timer_irq);170 setup_irq(irq, &sp804_timer_irq);
151 clockevents_register_device(evt);171 clockevents_register_device(evt);
152}172}
arch/arm/common/vic.c+25−44
@@ -22,17 +22,16 @@ · 21 unmodified lines
22#include <linux/init.h>22#include <linux/init.h>
23#include <linux/list.h>23#include <linux/list.h>
24#include <linux/io.h>24#include <linux/io.h>
25#include <linux/sysdev.h>25#include <linux/syscore_ops.h>
26#include <linux/device.h>26#include <linux/device.h>
27#include <linux/amba/bus.h>27#include <linux/amba/bus.h>
28 28
29#include <asm/mach/irq.h>29#include <asm/mach/irq.h>
30#include <asm/hardware/vic.h>30#include <asm/hardware/vic.h>
31 31
32#if defined(CONFIG_PM)32#ifdef CONFIG_PM
33/**33/**
34 * struct vic_device - VIC PM device34 * struct vic_device - VIC PM device
35 * @sysdev: The system device which is registered.
36 * @irq: The IRQ number for the base of the VIC.35 * @irq: The IRQ number for the base of the VIC.
37 * @base: The register base for the VIC.36 * @base: The register base for the VIC.
38 * @resume_sources: A bitmask of interrupts for resume.37 * @resume_sources: A bitmask of interrupts for resume.
@@ -43,8 +42,6 @@ · 4 unmodified lines
43 * @protect: Save for VIC_PROTECT.42 * @protect: Save for VIC_PROTECT.
44 */43 */
45struct vic_device {44struct vic_device {
46 struct sys_device sysdev;
47
48 void __iomem *base;45 void __iomem *base;
49 int irq;46 int irq;
50 u32 resume_sources;47 u32 resume_sources;
@@ -59,11 +56,6 @@ struct vic_device { · 8 unmodified lines
59static struct vic_device vic_devices[CONFIG_ARM_VIC_NR];56static struct vic_device vic_devices[CONFIG_ARM_VIC_NR];
60 57
61static int vic_id;58static int vic_id;
62
63static inline struct vic_device *to_vic(struct sys_device *sys)
64{
65 return container_of(sys, struct vic_device, sysdev);
66}
67#endif /* CONFIG_PM */59#endif /* CONFIG_PM */
68 60
69/**61/**
@@ -85,10 +77,9 @@ static void vic_init2(void __iomem *base) · 15 unmodified lines
85 writel(32, base + VIC_PL190_DEF_VECT_ADDR);77 writel(32, base + VIC_PL190_DEF_VECT_ADDR);
86}78}
87 79
88#if defined(CONFIG_PM)80#ifdef CONFIG_PM
89static int vic_class_resume(struct sys_device *dev)81static void resume_one_vic(struct vic_device *vic)
90{82{
91 struct vic_device *vic = to_vic(dev);
92 void __iomem *base = vic->base;83 void __iomem *base = vic->base;
93 84
94 printk(KERN_DEBUG "%s: resuming vic at %p\n", __func__, base);85 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
107 98
108 writel(vic->soft_int, base + VIC_INT_SOFT);99 writel(vic->soft_int, base + VIC_INT_SOFT);
109 writel(~vic->soft_int, base + VIC_INT_SOFT_CLEAR);100 writel(~vic->soft_int, base + VIC_INT_SOFT_CLEAR);
101}
110 102
111 return 0;103static 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);
112}109}
113 110
114static int vic_class_suspend(struct sys_device *dev, pm_message_t state)111static void suspend_one_vic(struct vic_device *vic)
115{112{
116 struct vic_device *vic = to_vic(dev);
117 void __iomem *base = vic->base;113 void __iomem *base = vic->base;
118 114
119 printk(KERN_DEBUG "%s: suspending vic at %p\n", __func__, base);115 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
128 124
129 writel(vic->resume_irqs, base + VIC_INT_ENABLE);125 writel(vic->resume_irqs, base + VIC_INT_ENABLE);
130 writel(~vic->resume_irqs, base + VIC_INT_ENABLE_CLEAR);126 writel(~vic->resume_irqs, base + VIC_INT_ENABLE_CLEAR);
127}
128
129static int vic_suspend(void)
130{
131 int id;
132
133 for (id = 0; id < vic_id; id++)
134 suspend_one_vic(vic_devices + id);
131 135
132 return 0;136 return 0;
133}137}
134 138
135struct sysdev_class vic_class = {139struct syscore_ops vic_syscore_ops = {
136 .name = "vic",140 .suspend = vic_suspend,
137 .suspend = vic_class_suspend,141 .resume = vic_resume,
138 .resume = vic_class_resume,
139};142};
140 143
141/**144/**
@@ -147,30 +150,8 @@ struct sysdev_class vic_class = { · 5 unmodified lines
147*/150*/
148static int __init vic_pm_init(void)151static int __init vic_pm_init(void)
149{152{
150 struct vic_device *dev = vic_devices;153 if (vic_id > 0)
151 int err;154 register_syscore_ops(&vic_syscore_ops);
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 }
174 155
175 return 0;156 return 0;
176}157}
arch/arm/configs/at572d940hfek_defconfig+0−358
@@ -1,358 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_LOCALVERSION="-AT572D940HF"
3# CONFIG_LOCALVERSION_AUTO is not set
4CONFIG_SYSVIPC=y
5CONFIG_POSIX_MQUEUE=y
6CONFIG_BSD_PROCESS_ACCT=y
7CONFIG_BSD_PROCESS_ACCT_V3=y
8CONFIG_TASKSTATS=y
9CONFIG_TASK_XACCT=y
10CONFIG_TASK_IO_ACCOUNTING=y
11CONFIG_AUDIT=y
12CONFIG_CGROUPS=y
13CONFIG_CGROUP_CPUACCT=y
14CONFIG_CGROUP_SCHED=y
15CONFIG_RT_GROUP_SCHED=y
16CONFIG_SYSFS_DEPRECATED_V2=y
17CONFIG_RELAY=y
18CONFIG_BLK_DEV_INITRD=y
19# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
20CONFIG_EXPERT=y
21CONFIG_SLAB=y
22CONFIG_PROFILING=y
23CONFIG_OPROFILE=m
24CONFIG_KPROBES=y
25CONFIG_MODULES=y
26CONFIG_MODULE_UNLOAD=y
27CONFIG_MODVERSIONS=y
28CONFIG_MODULE_SRCVERSION_ALL=y
29# CONFIG_BLK_DEV_BSG is not set
30CONFIG_ARCH_AT91=y
31CONFIG_ARCH_AT572D940HF=y
32CONFIG_MACH_AT572D940HFEB=y
33CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
34CONFIG_NO_HZ=y
35CONFIG_HIGH_RES_TIMERS=y
36CONFIG_PREEMPT=y
37CONFIG_CMDLINE="mem=48M console=ttyS0 initrd=0x21100000,3145728 root=/dev/ram0 rw ip=172.16.1.181"
38CONFIG_KEXEC=y
39CONFIG_FPE_NWFPE=y
40CONFIG_FPE_NWFPE_XP=y
41CONFIG_NET=y
42CONFIG_PACKET=m
43CONFIG_UNIX=y
44CONFIG_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
51CONFIG_NET_PKTGEN=m
52CONFIG_NET_TCPPROBE=m
53CONFIG_CAN=m
54CONFIG_CAN_RAW=m
55CONFIG_CAN_BCM=m
56CONFIG_CAN_VCAN=m
57CONFIG_CAN_DEBUG_DEVICES=y
58CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
59CONFIG_CONNECTOR=m
60CONFIG_MTD=m
61CONFIG_MTD_DEBUG=y
62CONFIG_MTD_DEBUG_VERBOSE=1
63CONFIG_MTD_CONCAT=m
64CONFIG_MTD_PARTITIONS=y
65CONFIG_MTD_CHAR=m
66CONFIG_MTD_BLOCK=m
67CONFIG_MTD_BLOCK_RO=m
68CONFIG_FTL=m
69CONFIG_NFTL=m
70CONFIG_NFTL_RW=y
71CONFIG_INFTL=m
72CONFIG_RFD_FTL=m
73CONFIG_SSFDC=m
74CONFIG_MTD_OOPS=m
75CONFIG_MTD_CFI=m
76CONFIG_MTD_JEDECPROBE=m
77CONFIG_MTD_CFI_INTELEXT=m
78CONFIG_MTD_CFI_AMDSTD=m
79CONFIG_MTD_CFI_STAA=m
80CONFIG_MTD_ROM=m
81CONFIG_MTD_ABSENT=m
82CONFIG_MTD_COMPLEX_MAPPINGS=y
83CONFIG_MTD_PHYSMAP=m
84CONFIG_MTD_PLATRAM=m
85CONFIG_MTD_DATAFLASH=m
86CONFIG_MTD_M25P80=m
87CONFIG_MTD_SLRAM=m
88CONFIG_MTD_PHRAM=m
89CONFIG_MTD_MTDRAM=m
90CONFIG_MTD_BLOCK2MTD=m
91CONFIG_MTD_NAND=m
92CONFIG_MTD_NAND_VERIFY_WRITE=y
93CONFIG_MTD_NAND_DISKONCHIP=m
94CONFIG_MTD_NAND_NANDSIM=m
95CONFIG_MTD_NAND_PLATFORM=m
96CONFIG_MTD_ALAUDA=m
97CONFIG_MTD_UBI=m
98CONFIG_MTD_UBI_GLUEBI=m
99CONFIG_BLK_DEV_LOOP=y
100CONFIG_BLK_DEV_CRYPTOLOOP=m
101CONFIG_BLK_DEV_NBD=m
102CONFIG_BLK_DEV_RAM=y
103CONFIG_BLK_DEV_RAM_SIZE=65536
104CONFIG_ATMEL_TCLIB=y
105CONFIG_ATMEL_SSC=m
106CONFIG_SENSORS_TSL2550=m
107CONFIG_DS1682=m
108CONFIG_RAID_ATTRS=m
109CONFIG_SCSI=m
110CONFIG_SCSI_TGT=m
111# CONFIG_SCSI_PROC_FS is not set
112CONFIG_BLK_DEV_SD=m
113CONFIG_BLK_DEV_SR=m
114CONFIG_CHR_DEV_SG=m
115CONFIG_CHR_DEV_SCH=m
116CONFIG_SCSI_MULTI_LUN=y
117CONFIG_SCSI_CONSTANTS=y
118CONFIG_SCSI_LOGGING=y
119CONFIG_SCSI_SCAN_ASYNC=y
120CONFIG_SCSI_ISCSI_ATTRS=m
121CONFIG_NETDEVICES=y
122CONFIG_DUMMY=m
123CONFIG_BONDING=m
124CONFIG_MACVLAN=m
125CONFIG_EQUALIZER=m
126CONFIG_TUN=m
127CONFIG_VETH=m
128CONFIG_PHYLIB=y
129CONFIG_MARVELL_PHY=m
130CONFIG_DAVICOM_PHY=m
131CONFIG_QSEMI_PHY=m
132CONFIG_LXT_PHY=m
133CONFIG_CICADA_PHY=m
134CONFIG_VITESSE_PHY=m
135CONFIG_SMSC_PHY=m
136CONFIG_BROADCOM_PHY=m
137CONFIG_ICPLUS_PHY=m
138CONFIG_MDIO_BITBANG=m
139CONFIG_NET_ETHERNET=y
140# CONFIG_NETDEV_1000 is not set
141# CONFIG_NETDEV_10000 is not set
142CONFIG_USB_ZD1201=m
143CONFIG_HOSTAP=m
144CONFIG_HOSTAP_FIRMWARE=y
145CONFIG_HOSTAP_FIRMWARE_NVRAM=y
146CONFIG_USB_CATC=m
147CONFIG_USB_KAWETH=m
148CONFIG_USB_PEGASUS=m
149CONFIG_USB_RTL8150=m
150CONFIG_USB_USBNET=m
151CONFIG_USB_NET_DM9601=m
152CONFIG_USB_NET_GL620A=m
153CONFIG_USB_NET_PLUSB=m
154CONFIG_USB_NET_MCS7830=m
155CONFIG_USB_NET_RNDIS_HOST=m
156CONFIG_USB_ALI_M5632=y
157CONFIG_USB_AN2720=y
158CONFIG_USB_EPSON2888=y
159CONFIG_USB_KC2190=y
160# CONFIG_USB_NET_ZAURUS is not set
161CONFIG_INPUT_MOUSEDEV=m
162CONFIG_INPUT_EVDEV=m
163CONFIG_INPUT_EVBUG=m
164CONFIG_KEYBOARD_LKKBD=m
165CONFIG_KEYBOARD_GPIO=m
166CONFIG_KEYBOARD_NEWTON=m
167CONFIG_KEYBOARD_STOWAWAY=m
168CONFIG_KEYBOARD_SUNKBD=m
169CONFIG_KEYBOARD_XTKBD=m
170CONFIG_MOUSE_PS2=m
171CONFIG_MOUSE_SERIAL=m
172CONFIG_MOUSE_APPLETOUCH=m
173CONFIG_MOUSE_VSXXXAA=m
174CONFIG_MOUSE_GPIO=m
175CONFIG_INPUT_MISC=y
176CONFIG_INPUT_UINPUT=m
177CONFIG_SERIO_SERPORT=m
178CONFIG_SERIO_RAW=m
179CONFIG_VT_HW_CONSOLE_BINDING=y
180CONFIG_SERIAL_NONSTANDARD=y
181CONFIG_N_HDLC=m
182CONFIG_SPECIALIX=m
183CONFIG_STALDRV=y
184CONFIG_SERIAL_ATMEL=y
185CONFIG_SERIAL_ATMEL_CONSOLE=y
186CONFIG_IPMI_HANDLER=m
187CONFIG_IPMI_DEVICE_INTERFACE=m
188CONFIG_IPMI_SI=m
189CONFIG_IPMI_WATCHDOG=m
190CONFIG_IPMI_POWEROFF=m
191CONFIG_HW_RANDOM=y
192CONFIG_R3964=m
193CONFIG_RAW_DRIVER=m
194CONFIG_TCG_TPM=m
195CONFIG_TCG_NSC=m
196CONFIG_TCG_ATMEL=m
197CONFIG_I2C=m
198CONFIG_I2C_CHARDEV=m
199CONFIG_SPI=y
200CONFIG_SPI_ATMEL=y
201CONFIG_SPI_BITBANG=m
202CONFIG_SPI_SPIDEV=m
203# CONFIG_HWMON is not set
204# CONFIG_VGA_CONSOLE is not set
205CONFIG_SOUND=m
206CONFIG_SND=m
207CONFIG_SND_SEQUENCER=m
208CONFIG_SND_SEQ_DUMMY=m
209CONFIG_SND_MIXER_OSS=m
210CONFIG_SND_PCM_OSS=m
211# CONFIG_SND_PCM_OSS_PLUGINS is not set
212CONFIG_SND_SEQUENCER_OSS=y
213CONFIG_SND_DYNAMIC_MINORS=y
214# CONFIG_SND_VERBOSE_PROCFS is not set
215CONFIG_SND_DUMMY=m
216CONFIG_SND_VIRMIDI=m
217CONFIG_SND_USB_AUDIO=m
218CONFIG_SND_USB_CAIAQ=m
219CONFIG_SND_USB_CAIAQ_INPUT=y
220CONFIG_HID=m
221CONFIG_HIDRAW=y
222CONFIG_USB_HID=m
223CONFIG_USB_HIDDEV=y
224CONFIG_USB_KBD=m
225CONFIG_USB_MOUSE=m
226CONFIG_HID_A4TECH=m
227CONFIG_HID_APPLE=m
228CONFIG_HID_BELKIN=m
229CONFIG_HID_CHERRY=m
230CONFIG_HID_CHICONY=m
231CONFIG_HID_CYPRESS=m
232CONFIG_HID_EZKEY=m
233CONFIG_HID_GYRATION=m
234CONFIG_HID_LOGITECH=m
235CONFIG_HID_MICROSOFT=m
236CONFIG_HID_MONTEREY=m
237CONFIG_HID_PANTHERLORD=m
238CONFIG_HID_PETALYNX=m
239CONFIG_HID_SAMSUNG=m
240CONFIG_HID_SONY=m
241CONFIG_HID_SUNPLUS=m
242CONFIG_USB=y
243CONFIG_USB_DEVICEFS=y
244# CONFIG_USB_DEVICE_CLASS is not set
245CONFIG_USB_DYNAMIC_MINORS=y
246CONFIG_USB_MON=y
247CONFIG_USB_OHCI_HCD=y
248CONFIG_USB_STORAGE=m
249CONFIG_USB_STORAGE_DATAFAB=m
250CONFIG_USB_STORAGE_FREECOM=m
251CONFIG_USB_STORAGE_ISD200=m
252CONFIG_USB_STORAGE_USBAT=m
253CONFIG_USB_STORAGE_SDDR09=m
254CONFIG_USB_STORAGE_SDDR55=m
255CONFIG_USB_STORAGE_JUMPSHOT=m
256CONFIG_USB_STORAGE_ALAUDA=m
257CONFIG_USB_STORAGE_KARMA=m
258CONFIG_USB_LIBUSUAL=y
259CONFIG_USB_SERIAL=m
260CONFIG_USB_EZUSB=y
261CONFIG_USB_SERIAL_GENERIC=y
262CONFIG_USB_SERIAL_PL2303=m
263CONFIG_USB_SERIAL_SPCP8X5=m
264CONFIG_USB_SERIAL_DEBUG=m
265CONFIG_USB_EMI62=m
266CONFIG_USB_EMI26=m
267CONFIG_USB_ADUTUX=m
268CONFIG_USB_TEST=m
269CONFIG_USB_GADGET=m
270CONFIG_USB_GADGET_DEBUG_FILES=y
271CONFIG_USB_GADGET_DEBUG_FS=y
272CONFIG_USB_ZERO=m
273CONFIG_USB_ETH=m
274CONFIG_USB_GADGETFS=m
275CONFIG_USB_FILE_STORAGE=m
276CONFIG_USB_G_SERIAL=m
277CONFIG_USB_MIDI_GADGET=m
278CONFIG_MMC=y
279CONFIG_SDIO_UART=m
280CONFIG_MMC_AT91=m
281CONFIG_MMC_SPI=m
282CONFIG_NEW_LEDS=y
283CONFIG_LEDS_CLASS=m
284CONFIG_LEDS_GPIO=m
285CONFIG_LEDS_TRIGGERS=y
286CONFIG_LEDS_TRIGGER_TIMER=m
287CONFIG_LEDS_TRIGGER_HEARTBEAT=m
288CONFIG_RTC_CLASS=y
289CONFIG_RTC_INTF_DEV_UIE_EMUL=y
290CONFIG_RTC_DRV_DS1307=m
291CONFIG_RTC_DRV_DS1305=y
292CONFIG_EXT2_FS=y
293CONFIG_EXT2_FS_XATTR=y
294CONFIG_EXT2_FS_POSIX_ACL=y
295CONFIG_EXT2_FS_SECURITY=y
296CONFIG_EXT3_FS=y
297CONFIG_EXT3_FS_POSIX_ACL=y
298CONFIG_EXT3_FS_SECURITY=y
299CONFIG_JBD_DEBUG=y
300CONFIG_REISERFS_FS=m
301CONFIG_REISERFS_CHECK=y
302CONFIG_REISERFS_PROC_INFO=y
303CONFIG_REISERFS_FS_XATTR=y
304CONFIG_REISERFS_FS_POSIX_ACL=y
305CONFIG_REISERFS_FS_SECURITY=y
306CONFIG_INOTIFY=y
307CONFIG_FUSE_FS=m
308CONFIG_MSDOS_FS=m
309CONFIG_VFAT_FS=y
310CONFIG_NTFS_FS=m
311CONFIG_NTFS_RW=y
312CONFIG_TMPFS=y
313CONFIG_TMPFS_POSIX_ACL=y
314CONFIG_JFFS2_FS=m
315CONFIG_JFFS2_COMPRESSION_OPTIONS=y
316CONFIG_JFFS2_LZO=y
317CONFIG_JFFS2_CMODE_FAVOURLZO=y
318CONFIG_CRAMFS=m
319CONFIG_NFS_FS=m
320CONFIG_NFS_V3=y
321CONFIG_NFS_V3_ACL=y
322CONFIG_NFS_V4=y
323CONFIG_NFSD=m
324CONFIG_NFSD_V3_ACL=y
325CONFIG_NFSD_V4=y
326CONFIG_CIFS=m
327CONFIG_CIFS_WEAK_PW_HASH=y
328CONFIG_PARTITION_ADVANCED=y
329CONFIG_MAC_PARTITION=y
330CONFIG_BSD_DISKLABEL=y
331CONFIG_MINIX_SUBPARTITION=y
332CONFIG_SOLARIS_X86_PARTITION=y
333CONFIG_UNIXWARE_DISKLABEL=y
334CONFIG_LDM_PARTITION=y
335CONFIG_LDM_DEBUG=y
336CONFIG_SGI_PARTITION=y
337CONFIG_SUN_PARTITION=y
338CONFIG_NLS_DEFAULT="cp437"
339CONFIG_NLS_CODEPAGE_437=y
340CONFIG_NLS_CODEPAGE_850=m
341CONFIG_NLS_ASCII=y
342CONFIG_NLS_ISO8859_1=y
343CONFIG_NLS_UTF8=m
344CONFIG_DLM=m
345CONFIG_PRINTK_TIME=y
346CONFIG_MAGIC_SYSRQ=y
347CONFIG_UNUSED_SYMBOLS=y
348CONFIG_DEBUG_FS=y
349# CONFIG_RCU_CPU_STALL_DETECTOR is not set
350CONFIG_SYSCTL_SYSCALL_CHECK=y
351CONFIG_CRYPTO=y
352CONFIG_CRYPTO_GF128MUL=m
353CONFIG_CRYPTO_HMAC=y
354CONFIG_CRYPTO_MD5=y
355# CONFIG_CRYPTO_ANSI_CPRNG is not set
356# CONFIG_CRYPTO_HW is not set
357CONFIG_CRC_CCITT=m
358CONFIG_CRC16=m
arch/arm/configs/at91sam9261_defconfigrenamed from arch/arm/configs/at91sam9261ek_defconfig+74−11
@@ -1,9 +1,13 @@
1CONFIG_EXPERIMENTAL=y1CONFIG_EXPERIMENTAL=y
2# CONFIG_LOCALVERSION_AUTO is not set2# CONFIG_LOCALVERSION_AUTO is not set
3CONFIG_KERNEL_LZMA=y
3# CONFIG_SWAP is not set4# CONFIG_SWAP is not set
4CONFIG_SYSVIPC=y5CONFIG_SYSVIPC=y
6CONFIG_IKCONFIG=y
7CONFIG_IKCONFIG_PROC=y
5CONFIG_LOG_BUF_SHIFT=148CONFIG_LOG_BUF_SHIFT=14
6CONFIG_BLK_DEV_INITRD=y9CONFIG_NAMESPACES=y
10CONFIG_EMBEDDED=y
7CONFIG_SLAB=y11CONFIG_SLAB=y
8CONFIG_MODULES=y12CONFIG_MODULES=y
9CONFIG_MODULE_UNLOAD=y13CONFIG_MODULE_UNLOAD=y
@@ -15,18 +19,27 @@ CONFIG_ARCH_AT91SAM9261=y · 5 unmodified lines
15CONFIG_MACH_AT91SAM9261EK=y19CONFIG_MACH_AT91SAM9261EK=y
16CONFIG_AT91_PROGRAMMABLE_CLOCKS=y20CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
17# CONFIG_ARM_THUMB is not set21# CONFIG_ARM_THUMB is not set
22CONFIG_AEABI=y
23# CONFIG_OABI_COMPAT is not set
18CONFIG_ZBOOT_ROM_TEXT=0x024CONFIG_ZBOOT_ROM_TEXT=0x0
19CONFIG_ZBOOT_ROM_BSS=0x025CONFIG_ZBOOT_ROM_BSS=0x0
20CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw"26CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw"
21CONFIG_FPE_NWFPE=y27CONFIG_AUTO_ZRELADDR=y
28CONFIG_VFP=y
29# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
22CONFIG_NET=y30CONFIG_NET=y
23CONFIG_PACKET=y31CONFIG_PACKET=y
24CONFIG_UNIX=y32CONFIG_UNIX=y
25CONFIG_INET=y33CONFIG_INET=y
34CONFIG_IP_MULTICAST=y
26CONFIG_IP_PNP=y35CONFIG_IP_PNP=y
36CONFIG_IP_PNP_DHCP=y
27CONFIG_IP_PNP_BOOTP=y37CONFIG_IP_PNP_BOOTP=y
28# CONFIG_INET_LRO is not set38# CONFIG_INET_LRO is not set
29# CONFIG_IPV6 is not set39# CONFIG_IPV6 is not set
40CONFIG_CFG80211=y
41CONFIG_LIB80211=y
42CONFIG_MAC80211=y
30CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"43CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
31CONFIG_MTD=y44CONFIG_MTD=y
32CONFIG_MTD_PARTITIONS=y45CONFIG_MTD_PARTITIONS=y
@@ -34,8 +47,12 @@ CONFIG_MTD_CMDLINE_PARTS=y · 1 unmodified line
34CONFIG_MTD_BLOCK=y47CONFIG_MTD_BLOCK=y
35CONFIG_MTD_NAND=y48CONFIG_MTD_NAND=y
36CONFIG_MTD_NAND_ATMEL=y49CONFIG_MTD_NAND_ATMEL=y
50CONFIG_MTD_UBI=y
51CONFIG_MTD_UBI_GLUEBI=y
37CONFIG_BLK_DEV_RAM=y52CONFIG_BLK_DEV_RAM=y
38CONFIG_BLK_DEV_RAM_SIZE=819253CONFIG_BLK_DEV_RAM_SIZE=8192
54CONFIG_MISC_DEVICES=y
55CONFIG_ATMEL_TCLIB=y
39CONFIG_ATMEL_SSC=y56CONFIG_ATMEL_SSC=y
40CONFIG_SCSI=y57CONFIG_SCSI=y
41CONFIG_BLK_DEV_SD=y58CONFIG_BLK_DEV_SD=y
@@ -45,12 +62,27 @@ CONFIG_NET_ETHERNET=y · 3 unmodified lines
45CONFIG_DM9000=y62CONFIG_DM9000=y
46# CONFIG_NETDEV_1000 is not set63# CONFIG_NETDEV_1000 is not set
47# CONFIG_NETDEV_10000 is not set64# CONFIG_NETDEV_10000 is not set
65CONFIG_USB_ZD1201=m
66CONFIG_RTL8187=m
67CONFIG_LIBERTAS=m
68CONFIG_LIBERTAS_USB=m
69CONFIG_LIBERTAS_SDIO=m
70CONFIG_LIBERTAS_SPI=m
71CONFIG_RT2X00=m
72CONFIG_RT2500USB=m
73CONFIG_RT73USB=m
74CONFIG_ZD1211RW=m
75CONFIG_INPUT_POLLDEV=m
48# CONFIG_INPUT_MOUSEDEV_PSAUX is not set76# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
77CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
78CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
79CONFIG_INPUT_EVDEV=y
49# CONFIG_KEYBOARD_ATKBD is not set80# CONFIG_KEYBOARD_ATKBD is not set
50CONFIG_KEYBOARD_GPIO=y81CONFIG_KEYBOARD_GPIO=y
51# CONFIG_INPUT_MOUSE is not set82# CONFIG_INPUT_MOUSE is not set
52CONFIG_INPUT_TOUCHSCREEN=y83CONFIG_INPUT_TOUCHSCREEN=y
53CONFIG_TOUCHSCREEN_ADS7846=y84CONFIG_TOUCHSCREEN_ADS7846=y
85CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
54CONFIG_SERIAL_ATMEL=y86CONFIG_SERIAL_ATMEL=y
55CONFIG_SERIAL_ATMEL_CONSOLE=y87CONFIG_SERIAL_ATMEL_CONSOLE=y
56CONFIG_HW_RANDOM=y88CONFIG_HW_RANDOM=y
@@ -65,31 +97,62 @@ CONFIG_WATCHDOG_NOWAYOUT=y · 8 unmodified lines
65CONFIG_AT91SAM9X_WATCHDOG=y97CONFIG_AT91SAM9X_WATCHDOG=y
66CONFIG_FB=y98CONFIG_FB=y
67CONFIG_FB_ATMEL=y99CONFIG_FB_ATMEL=y
68# CONFIG_VGA_CONSOLE is not set100CONFIG_BACKLIGHT_LCD_SUPPORT=y
101# CONFIG_LCD_CLASS_DEVICE is not set
102CONFIG_BACKLIGHT_CLASS_DEVICE=y
103CONFIG_BACKLIGHT_ATMEL_LCDC=y
104# CONFIG_BACKLIGHT_GENERIC is not set
105CONFIG_FRAMEBUFFER_CONSOLE=y
106CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
107CONFIG_LOGO=y
108CONFIG_SOUND=y
109CONFIG_SND=y
110CONFIG_SND_SEQUENCER=y
111CONFIG_SND_MIXER_OSS=y
112CONFIG_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
117CONFIG_SND_AT73C213=y
118CONFIG_SND_USB_AUDIO=m
69# CONFIG_USB_HID is not set119# CONFIG_USB_HID is not set
70CONFIG_USB=y120CONFIG_USB=y
71CONFIG_USB_DEVICEFS=y121CONFIG_USB_DEVICEFS=y
72CONFIG_USB_MON=y
73CONFIG_USB_OHCI_HCD=y122CONFIG_USB_OHCI_HCD=y
74CONFIG_USB_STORAGE=y123CONFIG_USB_STORAGE=y
75CONFIG_USB_STORAGE_DEBUG=y
76CONFIG_USB_GADGET=y124CONFIG_USB_GADGET=y
77CONFIG_USB_ZERO=m125CONFIG_USB_ZERO=m
126CONFIG_USB_ETH=m
78CONFIG_USB_GADGETFS=m127CONFIG_USB_GADGETFS=m
79CONFIG_USB_FILE_STORAGE=m128CONFIG_USB_FILE_STORAGE=m
80CONFIG_USB_G_SERIAL=m129CONFIG_USB_G_SERIAL=m
81CONFIG_MMC=y130CONFIG_MMC=y
82CONFIG_MMC_AT91=m131CONFIG_MMC_AT91=m
132CONFIG_NEW_LEDS=y
133CONFIG_LEDS_CLASS=y
134CONFIG_LEDS_GPIO=y
135CONFIG_LEDS_TRIGGERS=y
136CONFIG_LEDS_TRIGGER_TIMER=y
137CONFIG_LEDS_TRIGGER_HEARTBEAT=y
138CONFIG_LEDS_TRIGGER_GPIO=y
83CONFIG_RTC_CLASS=y139CONFIG_RTC_CLASS=y
84CONFIG_RTC_DRV_AT91SAM9=y140CONFIG_RTC_DRV_AT91SAM9=y
85CONFIG_EXT2_FS=y141CONFIG_MSDOS_FS=y
86CONFIG_INOTIFY=y
87CONFIG_VFAT_FS=y142CONFIG_VFAT_FS=y
88CONFIG_TMPFS=y143CONFIG_TMPFS=y
89CONFIG_CRAMFS=y144CONFIG_UBIFS_FS=y
145CONFIG_UBIFS_FS_ADVANCED_COMPR=y
146CONFIG_SQUASHFS=y
147CONFIG_SQUASHFS_LZO=y
148CONFIG_SQUASHFS_XZ=y
149CONFIG_NFS_FS=y
150CONFIG_NFS_V3=y
151CONFIG_ROOT_NFS=y
90CONFIG_NLS_CODEPAGE_437=y152CONFIG_NLS_CODEPAGE_437=y
91CONFIG_NLS_CODEPAGE_850=y153CONFIG_NLS_CODEPAGE_850=y
92CONFIG_NLS_ISO8859_1=y154CONFIG_NLS_ISO8859_1=y
93CONFIG_DEBUG_KERNEL=y155CONFIG_NLS_ISO8859_15=y
94CONFIG_DEBUG_USER=y156CONFIG_NLS_UTF8=y
95CONFIG_DEBUG_LL=y157CONFIG_FTRACE=y
158CONFIG_CRC_CCITT=m
arch/arm/configs/at91sam9263_defconfigrenamed from arch/arm/configs/at91sam9263ek_defconfig+73−11
@@ -1,9 +1,13 @@
1CONFIG_EXPERIMENTAL=y1CONFIG_EXPERIMENTAL=y
2# CONFIG_LOCALVERSION_AUTO is not set2# CONFIG_LOCALVERSION_AUTO is not set
3CONFIG_KERNEL_LZMA=y
3# CONFIG_SWAP is not set4# CONFIG_SWAP is not set
4CONFIG_SYSVIPC=y5CONFIG_SYSVIPC=y
6CONFIG_IKCONFIG=y
7CONFIG_IKCONFIG_PROC=y
5CONFIG_LOG_BUF_SHIFT=148CONFIG_LOG_BUF_SHIFT=14
6CONFIG_BLK_DEV_INITRD=y9CONFIG_NAMESPACES=y
10CONFIG_EMBEDDED=y
7CONFIG_SLAB=y11CONFIG_SLAB=y
8CONFIG_MODULES=y12CONFIG_MODULES=y
9CONFIG_MODULE_UNLOAD=y13CONFIG_MODULE_UNLOAD=y
@@ -13,53 +17,81 @@ CONFIG_MODULE_UNLOAD=y · 3 unmodified lines
13CONFIG_ARCH_AT91=y17CONFIG_ARCH_AT91=y
14CONFIG_ARCH_AT91SAM9263=y18CONFIG_ARCH_AT91SAM9263=y
15CONFIG_MACH_AT91SAM9263EK=y19CONFIG_MACH_AT91SAM9263EK=y
20CONFIG_MACH_USB_A9263=y
21CONFIG_MACH_NEOCORE926=y
16CONFIG_MTD_AT91_DATAFLASH_CARD=y22CONFIG_MTD_AT91_DATAFLASH_CARD=y
17# CONFIG_ARM_THUMB is not set23# CONFIG_ARM_THUMB is not set
24CONFIG_AEABI=y
25# CONFIG_OABI_COMPAT is not set
18CONFIG_ZBOOT_ROM_TEXT=0x026CONFIG_ZBOOT_ROM_TEXT=0x0
19CONFIG_ZBOOT_ROM_BSS=0x027CONFIG_ZBOOT_ROM_BSS=0x0
20CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw"28CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw"
21CONFIG_FPE_NWFPE=y29CONFIG_AUTO_ZRELADDR=y
22CONFIG_NET=y30CONFIG_NET=y
23CONFIG_PACKET=y31CONFIG_PACKET=y
24CONFIG_UNIX=y32CONFIG_UNIX=y
33CONFIG_NET_KEY=y
25CONFIG_INET=y34CONFIG_INET=y
35CONFIG_IP_MULTICAST=y
36CONFIG_IP_ADVANCED_ROUTER=y
37CONFIG_IP_ROUTE_VERBOSE=y
26CONFIG_IP_PNP=y38CONFIG_IP_PNP=y
39CONFIG_IP_PNP_DHCP=y
27CONFIG_IP_PNP_BOOTP=y40CONFIG_IP_PNP_BOOTP=y
28CONFIG_IP_PNP_RARP=y41CONFIG_IP_PNP_RARP=y
42CONFIG_NET_IPIP=y
43CONFIG_IP_MROUTE=y
44CONFIG_IP_PIMSM_V1=y
45CONFIG_IP_PIMSM_V2=y
29# CONFIG_INET_XFRM_MODE_TRANSPORT is not set46# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
30# CONFIG_INET_XFRM_MODE_TUNNEL is not set47# CONFIG_INET_XFRM_MODE_TUNNEL is not set
31# CONFIG_INET_XFRM_MODE_BEET is not set48# CONFIG_INET_XFRM_MODE_BEET is not set
32# CONFIG_INET_LRO is not set49# CONFIG_INET_LRO is not set
33# CONFIG_INET_DIAG is not set50# CONFIG_INET_DIAG is not set
34# CONFIG_IPV6 is not set51CONFIG_IPV6=y
35CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"52CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
36CONFIG_MTD=y53CONFIG_MTD=y
37CONFIG_MTD_PARTITIONS=y54CONFIG_MTD_PARTITIONS=y
38CONFIG_MTD_CMDLINE_PARTS=y55CONFIG_MTD_CMDLINE_PARTS=y
39CONFIG_MTD_CHAR=y56CONFIG_MTD_CHAR=y
40CONFIG_MTD_BLOCK=y57CONFIG_MTD_BLOCK=y
58CONFIG_NFTL=y
59CONFIG_NFTL_RW=y
41CONFIG_MTD_DATAFLASH=y60CONFIG_MTD_DATAFLASH=y
61CONFIG_MTD_BLOCK2MTD=y
42CONFIG_MTD_NAND=y62CONFIG_MTD_NAND=y
43CONFIG_MTD_NAND_ATMEL=y63CONFIG_MTD_NAND_ATMEL=y
64CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y
65CONFIG_MTD_UBI=y
66CONFIG_MTD_UBI_GLUEBI=y
44CONFIG_BLK_DEV_LOOP=y67CONFIG_BLK_DEV_LOOP=y
45CONFIG_BLK_DEV_RAM=y68CONFIG_BLK_DEV_RAM=y
46CONFIG_BLK_DEV_RAM_SIZE=819269CONFIG_BLK_DEV_RAM_SIZE=8192
47CONFIG_ATMEL_SSC=y70CONFIG_MISC_DEVICES=y
71CONFIG_ATMEL_PWM=y
72CONFIG_ATMEL_TCLIB=y
48CONFIG_SCSI=y73CONFIG_SCSI=y
49CONFIG_BLK_DEV_SD=y74CONFIG_BLK_DEV_SD=y
50CONFIG_SCSI_MULTI_LUN=y75CONFIG_SCSI_MULTI_LUN=y
51CONFIG_NETDEVICES=y76CONFIG_NETDEVICES=y
52CONFIG_NET_ETHERNET=y
53CONFIG_MII=y77CONFIG_MII=y
78CONFIG_SMSC_PHY=y
79CONFIG_NET_ETHERNET=y
54CONFIG_MACB=y80CONFIG_MACB=y
81# CONFIG_NETDEV_1000 is not set
82# CONFIG_NETDEV_10000 is not set
83CONFIG_USB_ZD1201=m
84CONFIG_INPUT_POLLDEV=m
55# CONFIG_INPUT_MOUSEDEV_PSAUX is not set85# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
86CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
87CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
56CONFIG_INPUT_EVDEV=y88CONFIG_INPUT_EVDEV=y
57# CONFIG_KEYBOARD_ATKBD is not set89# CONFIG_KEYBOARD_ATKBD is not set
58CONFIG_KEYBOARD_GPIO=y90CONFIG_KEYBOARD_GPIO=y
59# CONFIG_INPUT_MOUSE is not set91# CONFIG_INPUT_MOUSE is not set
60CONFIG_INPUT_TOUCHSCREEN=y92CONFIG_INPUT_TOUCHSCREEN=y
61CONFIG_TOUCHSCREEN_ADS7846=y93CONFIG_TOUCHSCREEN_ADS7846=y
62# CONFIG_SERIO is not set94CONFIG_LEGACY_PTY_COUNT=4
63CONFIG_SERIAL_ATMEL=y95CONFIG_SERIAL_ATMEL=y
64CONFIG_SERIAL_ATMEL_CONSOLE=y96CONFIG_SERIAL_ATMEL_CONSOLE=y
65CONFIG_HW_RANDOM=y97CONFIG_HW_RANDOM=y
@@ -74,8 +106,25 @@ CONFIG_WATCHDOG_NOWAYOUT=y · 8 unmodified lines
74CONFIG_AT91SAM9X_WATCHDOG=y106CONFIG_AT91SAM9X_WATCHDOG=y
75CONFIG_FB=y107CONFIG_FB=y
76CONFIG_FB_ATMEL=y108CONFIG_FB_ATMEL=y
77# CONFIG_VGA_CONSOLE is not set109CONFIG_BACKLIGHT_LCD_SUPPORT=y
78# CONFIG_USB_HID is not set110CONFIG_LCD_CLASS_DEVICE=y
111CONFIG_BACKLIGHT_CLASS_DEVICE=y
112CONFIG_BACKLIGHT_ATMEL_LCDC=y
113CONFIG_FRAMEBUFFER_CONSOLE=y
114CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
115CONFIG_LOGO=y
116CONFIG_SOUND=y
117CONFIG_SND=y
118CONFIG_SND_SEQUENCER=y
119CONFIG_SND_MIXER_OSS=y
120CONFIG_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
125CONFIG_SND_ATMEL_AC97C=y
126# CONFIG_SND_SPI is not set
127CONFIG_SND_USB_AUDIO=m
79CONFIG_USB=y128CONFIG_USB=y
80CONFIG_USB_DEVICEFS=y129CONFIG_USB_DEVICEFS=y
81CONFIG_USB_MON=y130CONFIG_USB_MON=y
@@ -83,24 +132,37 @@ CONFIG_USB_OHCI_HCD=y · 1 unmodified line
83CONFIG_USB_STORAGE=y132CONFIG_USB_STORAGE=y
84CONFIG_USB_GADGET=y133CONFIG_USB_GADGET=y
85CONFIG_USB_ZERO=m134CONFIG_USB_ZERO=m
135CONFIG_USB_ETH=m
86CONFIG_USB_GADGETFS=m136CONFIG_USB_GADGETFS=m
87CONFIG_USB_FILE_STORAGE=m137CONFIG_USB_FILE_STORAGE=m
88CONFIG_USB_G_SERIAL=m138CONFIG_USB_G_SERIAL=m
89CONFIG_MMC=y139CONFIG_MMC=y
140CONFIG_SDIO_UART=m
90CONFIG_MMC_AT91=m141CONFIG_MMC_AT91=m
142CONFIG_NEW_LEDS=y
143CONFIG_LEDS_CLASS=y
144CONFIG_LEDS_ATMEL_PWM=y
145CONFIG_LEDS_GPIO=y
146CONFIG_LEDS_TRIGGERS=y
147CONFIG_LEDS_TRIGGER_HEARTBEAT=y
91CONFIG_RTC_CLASS=y148CONFIG_RTC_CLASS=y
92CONFIG_RTC_DRV_AT91SAM9=y149CONFIG_RTC_DRV_AT91SAM9=y
93CONFIG_EXT2_FS=y150CONFIG_EXT2_FS=y
94CONFIG_INOTIFY=y151CONFIG_FUSE_FS=m
95CONFIG_VFAT_FS=y152CONFIG_VFAT_FS=y
96CONFIG_TMPFS=y153CONFIG_TMPFS=y
97CONFIG_JFFS2_FS=y154CONFIG_JFFS2_FS=y
155CONFIG_UBIFS_FS=y
156CONFIG_UBIFS_FS_ADVANCED_COMPR=y
98CONFIG_CRAMFS=y157CONFIG_CRAMFS=y
99CONFIG_NFS_FS=y158CONFIG_NFS_FS=y
159CONFIG_NFS_V3=y
160CONFIG_NFS_V3_ACL=y
161CONFIG_NFS_V4=y
100CONFIG_ROOT_NFS=y162CONFIG_ROOT_NFS=y
101CONFIG_NLS_CODEPAGE_437=y163CONFIG_NLS_CODEPAGE_437=y
102CONFIG_NLS_CODEPAGE_850=y164CONFIG_NLS_CODEPAGE_850=y
103CONFIG_NLS_ISO8859_1=y165CONFIG_NLS_ISO8859_1=y
104CONFIG_DEBUG_KERNEL=y166CONFIG_FTRACE=y
105CONFIG_DEBUG_USER=y167CONFIG_DEBUG_USER=y
106CONFIG_DEBUG_LL=y168CONFIG_XZ_DEC=y
arch/arm/configs/at91x40_defconfig+48−0
@@ -0,0 +1,48 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_LOG_BUF_SHIFT=14
3CONFIG_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
10CONFIG_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
16CONFIG_ARCH_AT91=y
17CONFIG_ARCH_AT91X40=y
18CONFIG_MACH_AT91EB01=y
19CONFIG_AT91_EARLY_USART0=y
20CONFIG_CPU_ARM7TDMI=y
21CONFIG_SET_MEM_PARAM=y
22CONFIG_DRAM_BASE=0x01000000
23CONFIG_DRAM_SIZE=0x00400000
24CONFIG_FLASH_MEM_BASE=0x01400000
25CONFIG_PROCESSOR_ID=0x14000040
26CONFIG_ZBOOT_ROM_TEXT=0x0
27CONFIG_ZBOOT_ROM_BSS=0x0
28CONFIG_BINFMT_FLAT=y
29# CONFIG_SUSPEND is not set
30# CONFIG_FW_LOADER is not set
31CONFIG_MTD=y
32CONFIG_MTD_PARTITIONS=y
33CONFIG_MTD_CHAR=y
34CONFIG_MTD_BLOCK=y
35CONFIG_MTD_RAM=y
36CONFIG_MTD_ROM=y
37CONFIG_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
45CONFIG_EXT2_FS=y
46# CONFIG_DNOTIFY is not set
47CONFIG_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
8# CONFIG_BLK_DEV_BSG is not set8# CONFIG_BLK_DEV_BSG is not set
9CONFIG_ARCH_DOVE=y9CONFIG_ARCH_DOVE=y
10CONFIG_MACH_DOVE_DB=y10CONFIG_MACH_DOVE_DB=y
11CONFIG_CPU_V6=y
12CONFIG_CPU_32v6K=y
13CONFIG_NO_HZ=y11CONFIG_NO_HZ=y
14CONFIG_HIGH_RES_TIMERS=y12CONFIG_HIGH_RES_TIMERS=y
15CONFIG_AEABI=y13CONFIG_AEABI=y
@@ -44,7 +42,6 @@ CONFIG_MTD_UBI=y · 28 unmodified lines
44CONFIG_BLK_DEV_LOOP=y42CONFIG_BLK_DEV_LOOP=y
45CONFIG_BLK_DEV_RAM=y43CONFIG_BLK_DEV_RAM=y
46CONFIG_BLK_DEV_RAM_COUNT=144CONFIG_BLK_DEV_RAM_COUNT=1
47# CONFIG_MISC_DEVICES is not set
48# CONFIG_SCSI_PROC_FS is not set45# CONFIG_SCSI_PROC_FS is not set
49CONFIG_BLK_DEV_SD=y46CONFIG_BLK_DEV_SD=y
50# CONFIG_SCSI_LOWLEVEL is not set47# CONFIG_SCSI_LOWLEVEL is not set
@@ -59,12 +56,12 @@ CONFIG_INPUT_EVDEV=y · 8 unmodified lines
59# CONFIG_KEYBOARD_ATKBD is not set56# CONFIG_KEYBOARD_ATKBD is not set
60# CONFIG_MOUSE_PS2 is not set57# CONFIG_MOUSE_PS2 is not set
61# CONFIG_SERIO is not set58# CONFIG_SERIO is not set
59CONFIG_LEGACY_PTY_COUNT=16
62# CONFIG_DEVKMEM is not set60# CONFIG_DEVKMEM is not set
63CONFIG_SERIAL_8250=y61CONFIG_SERIAL_8250=y
64CONFIG_SERIAL_8250_CONSOLE=y62CONFIG_SERIAL_8250_CONSOLE=y
65# CONFIG_SERIAL_8250_PCI is not set63# CONFIG_SERIAL_8250_PCI is not set
66CONFIG_SERIAL_8250_RUNTIME_UARTS=264CONFIG_SERIAL_8250_RUNTIME_UARTS=2
67CONFIG_LEGACY_PTY_COUNT=16
68# CONFIG_HW_RANDOM is not set65# CONFIG_HW_RANDOM is not set
69CONFIG_I2C=y66CONFIG_I2C=y
70CONFIG_I2C_CHARDEV=y67CONFIG_I2C_CHARDEV=y
@@ -72,12 +69,10 @@ CONFIG_I2C_MV64XXX=y · 1 unmodified line
72CONFIG_SPI=y69CONFIG_SPI=y
73CONFIG_SPI_ORION=y70CONFIG_SPI_ORION=y
74# CONFIG_HWMON is not set71# CONFIG_HWMON is not set
75# CONFIG_VGA_CONSOLE is not set
76CONFIG_USB=y72CONFIG_USB=y
77CONFIG_USB_DEVICEFS=y73CONFIG_USB_DEVICEFS=y
78CONFIG_USB_EHCI_HCD=y74CONFIG_USB_EHCI_HCD=y
79CONFIG_USB_EHCI_ROOT_HUB_TT=y75CONFIG_USB_EHCI_ROOT_HUB_TT=y
80CONFIG_USB_EHCI_TT_NEWSCHED=y
81CONFIG_USB_STORAGE=y76CONFIG_USB_STORAGE=y
82CONFIG_RTC_CLASS=y77CONFIG_RTC_CLASS=y
83CONFIG_RTC_DRV_MV=y78CONFIG_RTC_DRV_MV=y
@@ -86,7 +81,6 @@ CONFIG_MV_XOR=y · 2 unmodified lines
86CONFIG_EXT2_FS=y81CONFIG_EXT2_FS=y
87CONFIG_EXT3_FS=y82CONFIG_EXT3_FS=y
88# CONFIG_EXT3_FS_XATTR is not set83# CONFIG_EXT3_FS_XATTR is not set
89CONFIG_INOTIFY=y
90CONFIG_ISO9660_FS=y84CONFIG_ISO9660_FS=y
91CONFIG_JOLIET=y85CONFIG_JOLIET=y
92CONFIG_UDF_FS=m86CONFIG_UDF_FS=m
@@ -110,23 +104,19 @@ CONFIG_DEBUG_KERNEL=y · 17 unmodified lines
110CONFIG_TIMER_STATS=y104CONFIG_TIMER_STATS=y
111# CONFIG_DEBUG_BUGVERBOSE is not set105# CONFIG_DEBUG_BUGVERBOSE is not set
112CONFIG_DEBUG_INFO=y106CONFIG_DEBUG_INFO=y
113# CONFIG_RCU_CPU_STALL_DETECTOR is not set
114CONFIG_SYSCTL_SYSCALL_CHECK=y107CONFIG_SYSCTL_SYSCALL_CHECK=y
115CONFIG_DEBUG_USER=y108CONFIG_DEBUG_USER=y
116CONFIG_DEBUG_ERRORS=y109CONFIG_DEBUG_ERRORS=y
117CONFIG_CRYPTO_NULL=y110CONFIG_CRYPTO_NULL=y
118CONFIG_CRYPTO_CBC=y
119CONFIG_CRYPTO_ECB=m111CONFIG_CRYPTO_ECB=m
120CONFIG_CRYPTO_PCBC=m112CONFIG_CRYPTO_PCBC=m
121CONFIG_CRYPTO_HMAC=y113CONFIG_CRYPTO_HMAC=y
122CONFIG_CRYPTO_MD4=y114CONFIG_CRYPTO_MD4=y
123CONFIG_CRYPTO_MD5=y
124CONFIG_CRYPTO_SHA1=y115CONFIG_CRYPTO_SHA1=y
125CONFIG_CRYPTO_SHA256=y116CONFIG_CRYPTO_SHA256=y
126CONFIG_CRYPTO_SHA512=y117CONFIG_CRYPTO_SHA512=y
127CONFIG_CRYPTO_AES=y118CONFIG_CRYPTO_AES=y
128CONFIG_CRYPTO_BLOWFISH=y119CONFIG_CRYPTO_BLOWFISH=y
129CONFIG_CRYPTO_DES=y
130CONFIG_CRYPTO_TEA=y120CONFIG_CRYPTO_TEA=y
131CONFIG_CRYPTO_TWOFISH=y121CONFIG_CRYPTO_TWOFISH=y
132CONFIG_CRYPTO_DEFLATE=y122CONFIG_CRYPTO_DEFLATE=y
arch/arm/configs/exynos4_defconfig+2−0
@@ -8,7 +8,9 @@ CONFIG_ARCH_EXYNOS4=y · 7 unmodified lines
8CONFIG_S3C_LOWLEVEL_UART_PORT=18CONFIG_S3C_LOWLEVEL_UART_PORT=1
9CONFIG_MACH_SMDKC210=y9CONFIG_MACH_SMDKC210=y
10CONFIG_MACH_SMDKV310=y10CONFIG_MACH_SMDKV310=y
11CONFIG_MACH_ARMLEX4210=y
11CONFIG_MACH_UNIVERSAL_C210=y12CONFIG_MACH_UNIVERSAL_C210=y
13CONFIG_MACH_NURI=y
12CONFIG_NO_HZ=y14CONFIG_NO_HZ=y
13CONFIG_HIGH_RES_TIMERS=y15CONFIG_HIGH_RES_TIMERS=y
14CONFIG_SMP=y16CONFIG_SMP=y
arch/arm/configs/mx1_defconfig+1−0
@@ -15,6 +15,7 @@ CONFIG_ARCH_MXC=y · 14 unmodified lines
15CONFIG_ARCH_MX1=y15CONFIG_ARCH_MX1=y
16CONFIG_ARCH_MX1ADS=y16CONFIG_ARCH_MX1ADS=y
17CONFIG_MACH_SCB9328=y17CONFIG_MACH_SCB9328=y
18CONFIG_MACH_APF9328=y
18CONFIG_MXC_IRQ_PRIOR=y19CONFIG_MXC_IRQ_PRIOR=y
19CONFIG_NO_HZ=y20CONFIG_NO_HZ=y
20CONFIG_HIGH_RES_TIMERS=y21CONFIG_HIGH_RES_TIMERS=y
arch/arm/configs/mx51_defconfig+1−1
@@ -13,7 +13,7 @@ CONFIG_MODULE_SRCVERSION_ALL=y · 12 unmodified lines
13# CONFIG_LBDAF is not set13# CONFIG_LBDAF is not set
14# CONFIG_BLK_DEV_BSG is not set14# CONFIG_BLK_DEV_BSG is not set
15CONFIG_ARCH_MXC=y15CONFIG_ARCH_MXC=y
16CONFIG_ARCH_MX5=y16CONFIG_ARCH_MX51=y
17CONFIG_MACH_MX51_BABBAGE=y17CONFIG_MACH_MX51_BABBAGE=y
18CONFIG_MACH_MX51_3DS=y18CONFIG_MACH_MX51_3DS=y
19CONFIG_MACH_EUKREA_CPUIMX51=y19CONFIG_MACH_EUKREA_CPUIMX51=y
arch/arm/configs/mxs_defconfig+129−0
@@ -0,0 +1,129 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_TASKSTATS=y
4CONFIG_TASK_DELAY_ACCT=y
5CONFIG_TASK_XACCT=y
6CONFIG_TASK_IO_ACCOUNTING=y
7CONFIG_IKCONFIG=y
8CONFIG_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
14CONFIG_PERF_EVENTS=y
15# CONFIG_COMPAT_BRK is not set
16CONFIG_MODULES=y
17CONFIG_MODULE_FORCE_LOAD=y
18CONFIG_MODULE_UNLOAD=y
19CONFIG_MODULE_FORCE_UNLOAD=y
20CONFIG_MODVERSIONS=y
21CONFIG_BLK_DEV_INTEGRITY=y
22# CONFIG_IOSCHED_DEADLINE is not set
23# CONFIG_IOSCHED_CFQ is not set
24CONFIG_ARCH_MXS=y
25CONFIG_MACH_STMP378X_DEVB=y
26CONFIG_MACH_TX28=y
27# CONFIG_ARM_THUMB is not set
28CONFIG_NO_HZ=y
29CONFIG_HIGH_RES_TIMERS=y
30CONFIG_PREEMPT_VOLUNTARY=y
31CONFIG_AEABI=y
32CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
33CONFIG_AUTO_ZRELADDR=y
34CONFIG_FPE_NWFPE=y
35CONFIG_NET=y
36CONFIG_PACKET=y
37CONFIG_UNIX=y
38CONFIG_INET=y
39CONFIG_IP_PNP=y
40CONFIG_IP_PNP_DHCP=y
41CONFIG_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
48CONFIG_CAN=m
49CONFIG_CAN_RAW=m
50CONFIG_CAN_BCM=m
51CONFIG_CAN_DEV=m
52CONFIG_CAN_FLEXCAN=m
53# CONFIG_WIRELESS is not set
54CONFIG_DEVTMPFS=y
55# CONFIG_FIRMWARE_IN_KERNEL is not set
56# CONFIG_BLK_DEV is not set
57CONFIG_NETDEVICES=y
58CONFIG_NET_ETHERNET=y
59CONFIG_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
64CONFIG_INPUT_EVDEV=m
65# CONFIG_INPUT_KEYBOARD is not set
66# CONFIG_INPUT_MOUSE is not set
67CONFIG_INPUT_TOUCHSCREEN=y
68CONFIG_TOUCHSCREEN_TSC2007=m
69# CONFIG_SERIO is not set
70CONFIG_VT_HW_CONSOLE_BINDING=y
71CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
72# CONFIG_LEGACY_PTYS is not set
73# CONFIG_DEVKMEM is not set
74CONFIG_SERIAL_AMBA_PL011=y
75CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
76# CONFIG_HW_RANDOM is not set
77CONFIG_I2C=m
78# CONFIG_I2C_COMPAT is not set
79CONFIG_I2C_CHARDEV=m
80CONFIG_I2C_MXS=m
81CONFIG_SPI=y
82CONFIG_SPI_GPIO=m
83CONFIG_DEBUG_GPIO=y
84CONFIG_GPIO_SYSFS=y
85# CONFIG_HWMON is not set
86# CONFIG_MFD_SUPPORT is not set
87CONFIG_DISPLAY_SUPPORT=m
88# CONFIG_HID_SUPPORT is not set
89# CONFIG_USB_SUPPORT is not set
90CONFIG_MMC=y
91CONFIG_MMC_MXS=y
92CONFIG_RTC_CLASS=m
93CONFIG_RTC_DRV_DS1307=m
94CONFIG_DMADEVICES=y
95CONFIG_MXS_DMA=y
96CONFIG_EXT3_FS=y
97# CONFIG_DNOTIFY is not set
98CONFIG_FSCACHE=m
99CONFIG_FSCACHE_STATS=y
100CONFIG_CACHEFILES=m
101CONFIG_TMPFS=y
102CONFIG_TMPFS_POSIX_ACL=y
103# CONFIG_MISC_FILESYSTEMS is not set
104CONFIG_NFS_FS=y
105CONFIG_NFS_V3=y
106CONFIG_NFS_V3_ACL=y
107CONFIG_NFS_V4=y
108CONFIG_ROOT_NFS=y
109CONFIG_PRINTK_TIME=y
110CONFIG_FRAME_WARN=2048
111CONFIG_MAGIC_SYSRQ=y
112CONFIG_UNUSED_SYMBOLS=y
113CONFIG_DEBUG_KERNEL=y
114CONFIG_LOCKUP_DETECTOR=y
115CONFIG_DETECT_HUNG_TASK=y
116CONFIG_TIMER_STATS=y
117CONFIG_PROVE_LOCKING=y
118CONFIG_DEBUG_SPINLOCK_SLEEP=y
119CONFIG_DEBUG_INFO=y
120CONFIG_SYSCTL_SYSCALL_CHECK=y
121CONFIG_BLK_DEV_IO_TRACE=y
122CONFIG_STRICT_DEVMEM=y
123CONFIG_DEBUG_USER=y
124CONFIG_CRYPTO=y
125CONFIG_CRYPTO_CRC32C=m
126# CONFIG_CRYPTO_ANSI_CPRNG is not set
127# CONFIG_CRYPTO_HW is not set
128CONFIG_CRC_ITU_T=m
129CONFIG_CRC7=m
arch/arm/configs/neocore926_defconfig+0−104
@@ -1,104 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2# CONFIG_LOCALVERSION_AUTO is not set
3# CONFIG_SWAP is not set
4CONFIG_SYSVIPC=y
5CONFIG_BLK_DEV_INITRD=y
6# CONFIG_COMPAT_BRK is not set
7CONFIG_MODULES=y
8CONFIG_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
12CONFIG_ARCH_AT91=y
13CONFIG_ARCH_AT91SAM9263=y
14CONFIG_MACH_NEOCORE926=y
15CONFIG_MTD_AT91_DATAFLASH_CARD=y
16CONFIG_ZBOOT_ROM_TEXT=0x0
17CONFIG_ZBOOT_ROM_BSS=0x0
18CONFIG_FPE_NWFPE=y
19CONFIG_NET=y
20CONFIG_PACKET=y
21CONFIG_UNIX=y
22CONFIG_NET_KEY=y
23CONFIG_INET=y
24CONFIG_IP_PNP=y
25CONFIG_IP_PNP_DHCP=y
26CONFIG_IP_PNP_BOOTP=y
27CONFIG_IP_PNP_RARP=y
28CONFIG_NET_IPIP=y
29# CONFIG_INET_LRO is not set
30CONFIG_IPV6=y
31CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
32# CONFIG_PREVENT_FIRMWARE_BUILD is not set
33CONFIG_MTD=y
34CONFIG_MTD_PARTITIONS=y
35CONFIG_MTD_CHAR=y
36CONFIG_MTD_BLOCK=y
37CONFIG_NFTL=y
38CONFIG_NFTL_RW=y
39CONFIG_MTD_BLOCK2MTD=y
40CONFIG_MTD_NAND=y
41CONFIG_MTD_NAND_ECC_SMC=y
42CONFIG_MTD_NAND_VERIFY_WRITE=y
43CONFIG_MTD_NAND_ATMEL=y
44CONFIG_MTD_NAND_PLATFORM=y
45CONFIG_BLK_DEV_LOOP=y
46CONFIG_BLK_DEV_NBD=y
47CONFIG_ATMEL_PWM=y
48CONFIG_ATMEL_TCLIB=y
49CONFIG_SCSI=y
50CONFIG_CHR_DEV_SG=y
51CONFIG_NETDEVICES=y
52CONFIG_SMSC_PHY=y
53CONFIG_NET_ETHERNET=y
54CONFIG_MACB=y
55# CONFIG_NETDEV_1000 is not set
56# CONFIG_NETDEV_10000 is not set
57# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
58CONFIG_INPUT_EVDEV=y
59CONFIG_INPUT_TOUCHSCREEN=y
60CONFIG_TOUCHSCREEN_ADS7846=y
61CONFIG_VT_HW_CONSOLE_BINDING=y
62# CONFIG_DEVKMEM is not set
63CONFIG_SERIAL_NONSTANDARD=y
64CONFIG_SERIAL_ATMEL=y
65CONFIG_SERIAL_ATMEL_CONSOLE=y
66# CONFIG_SERIAL_ATMEL_PDC is not set
67# CONFIG_HW_RANDOM is not set
68CONFIG_I2C=y
69CONFIG_I2C_CHARDEV=y
70CONFIG_SPI=y
71CONFIG_SPI_ATMEL=y
72# CONFIG_HWMON is not set
73CONFIG_VIDEO_OUTPUT_CONTROL=y
74CONFIG_FB=y
75CONFIG_FB_ATMEL=y
76CONFIG_BACKLIGHT_LCD_SUPPORT=y
77CONFIG_LCD_CLASS_DEVICE=y
78CONFIG_BACKLIGHT_CLASS_DEVICE=y
79CONFIG_BACKLIGHT_ATMEL_LCDC=y
80# CONFIG_VGA_CONSOLE is not set
81CONFIG_FRAMEBUFFER_CONSOLE=y
82CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
83CONFIG_LOGO=y
84CONFIG_USB=y
85CONFIG_USB_DEVICEFS=y
86CONFIG_USB_MON=y
87CONFIG_USB_OHCI_HCD=y
88CONFIG_USB_STORAGE=y
89CONFIG_MMC=y
90CONFIG_SDIO_UART=y
91CONFIG_MMC_AT91=m
92CONFIG_EXT2_FS=y
93# CONFIG_DNOTIFY is not set
94CONFIG_AUTOFS_FS=y
95CONFIG_VFAT_FS=y
96CONFIG_TMPFS=y
97CONFIG_JFFS2_FS=y
98CONFIG_JFFS2_FS_WBUF_VERIFY=y
99CONFIG_NFS_FS=y
100CONFIG_ROOT_NFS=y
101# CONFIG_ENABLE_WARN_DEPRECATED is not set
102# CONFIG_ENABLE_MUST_CHECK is not set
103CONFIG_SYSCTL_SYSCALL_CHECK=y
104# CONFIG_CRYPTO_HW is not set
arch/arm/configs/ns9xxx_defconfig+0−56
@@ -1,56 +0,0 @@
1CONFIG_IKCONFIG=y
2CONFIG_IKCONFIG_PROC=y
3CONFIG_BLK_DEV_INITRD=y
4CONFIG_MODULES=y
5CONFIG_MODULE_UNLOAD=y
6# CONFIG_IOSCHED_DEADLINE is not set
7# CONFIG_IOSCHED_CFQ is not set
8CONFIG_ARCH_NS9XXX=y
9CONFIG_MACH_CC9P9360DEV=y
10CONFIG_MACH_CC9P9360JS=y
11CONFIG_NO_HZ=y
12CONFIG_HIGH_RES_TIMERS=y
13CONFIG_FPE_NWFPE=y
14CONFIG_NET=y
15CONFIG_PACKET=m
16CONFIG_INET=y
17CONFIG_IP_PNP=y
18CONFIG_SYN_COOKIES=y
19CONFIG_MTD=m
20CONFIG_MTD_CONCAT=m
21CONFIG_MTD_CHAR=m
22CONFIG_MTD_BLOCK=m
23CONFIG_MTD_CFI=m
24CONFIG_MTD_JEDECPROBE=m
25CONFIG_MTD_CFI_AMDSTD=m
26CONFIG_MTD_PHYSMAP=m
27CONFIG_BLK_DEV_LOOP=m
28CONFIG_NETDEVICES=y
29CONFIG_NET_ETHERNET=y
30# CONFIG_SERIO_SERPORT is not set
31CONFIG_SERIAL_8250=y
32CONFIG_SERIAL_8250_CONSOLE=y
33# CONFIG_LEGACY_PTYS is not set
34# CONFIG_HW_RANDOM is not set
35CONFIG_I2C=m
36CONFIG_I2C_GPIO=m
37# CONFIG_HWMON is not set
38# CONFIG_VGA_CONSOLE is not set
39# CONFIG_USB_SUPPORT is not set
40CONFIG_NEW_LEDS=y
41CONFIG_LEDS_CLASS=m
42CONFIG_LEDS_GPIO=m
43CONFIG_LEDS_TRIGGERS=y
44CONFIG_LEDS_TRIGGER_TIMER=m
45CONFIG_LEDS_TRIGGER_HEARTBEAT=m
46CONFIG_RTC_CLASS=m
47CONFIG_EXT2_FS=m
48CONFIG_TMPFS=y
49CONFIG_JFFS2_FS=m
50CONFIG_NFS_FS=y
51CONFIG_ROOT_NFS=y
52# CONFIG_ENABLE_MUST_CHECK is not set
53CONFIG_DEBUG_KERNEL=y
54CONFIG_DEBUG_INFO=y
55CONFIG_DEBUG_USER=y
56CONFIG_DEBUG_ERRORS=y
arch/arm/configs/omap2plus_defconfig+7−76
@@ -21,58 +21,22 @@ CONFIG_MODVERSIONS=y · 20 unmodified lines
21CONFIG_MODULE_SRCVERSION_ALL=y21CONFIG_MODULE_SRCVERSION_ALL=y
22# CONFIG_BLK_DEV_BSG is not set22# CONFIG_BLK_DEV_BSG is not set
23CONFIG_ARCH_OMAP=y23CONFIG_ARCH_OMAP=y
24CONFIG_ARCH_OMAP2=y
25CONFIG_ARCH_OMAP3=y
26CONFIG_ARCH_OMAP4=y
27CONFIG_OMAP_RESET_CLOCKS=y24CONFIG_OMAP_RESET_CLOCKS=y
28CONFIG_OMAP_MUX_DEBUG=y25CONFIG_OMAP_MUX_DEBUG=y
29CONFIG_OMAP_32K_TIMER=y
30CONFIG_MACH_OMAP_GENERIC=y
31CONFIG_ARCH_OMAP2420=y
32CONFIG_ARCH_OMAP2430=y
33CONFIG_ARCH_OMAP3430=y
34CONFIG_MACH_OMAP_H4=y
35CONFIG_MACH_OMAP_APOLLON=y
36CONFIG_MACH_OMAP_2430SDP=y
37CONFIG_MACH_OMAP3_BEAGLE=y
38CONFIG_MACH_DEVKIT8000=y
39CONFIG_MACH_OMAP_LDP=y
40CONFIG_MACH_OVERO=y
41CONFIG_MACH_OMAP3EVM=y
42CONFIG_MACH_OMAP3517EVM=y
43CONFIG_MACH_OMAP3_PANDORA=y
44CONFIG_MACH_OMAP3_TOUCHBOOK=y
45CONFIG_MACH_OMAP_3430SDP=y
46CONFIG_MACH_NOKIA_N8X0=y
47CONFIG_MACH_NOKIA_RX51=y
48CONFIG_MACH_OMAP_ZOOM2=y
49CONFIG_MACH_OMAP_ZOOM3=y
50CONFIG_MACH_CM_T35=y
51CONFIG_MACH_IGEP0020=y
52CONFIG_MACH_SBC3530=y
53CONFIG_MACH_OMAP_3630SDP=y
54CONFIG_MACH_OMAP_4430SDP=y
55CONFIG_ARM_THUMBEE=y26CONFIG_ARM_THUMBEE=y
56CONFIG_ARM_L1_CACHE_SHIFT=5
57CONFIG_ARM_ERRATA_411920=y27CONFIG_ARM_ERRATA_411920=y
58CONFIG_NO_HZ=y28CONFIG_NO_HZ=y
59CONFIG_HIGH_RES_TIMERS=y29CONFIG_HIGH_RES_TIMERS=y
60CONFIG_SMP=y30CONFIG_SMP=y
61CONFIG_NR_CPUS=231CONFIG_NR_CPUS=2
62# CONFIG_LOCAL_TIMERS is not set
63CONFIG_AEABI=y
64CONFIG_LEDS=y32CONFIG_LEDS=y
65CONFIG_ZBOOT_ROM_TEXT=0x033CONFIG_ZBOOT_ROM_TEXT=0x0
66CONFIG_ZBOOT_ROM_BSS=0x034CONFIG_ZBOOT_ROM_BSS=0x0
67CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyO2,115200"35CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyO2,115200"
68CONFIG_KEXEC=y36CONFIG_KEXEC=y
69CONFIG_FPE_NWFPE=y37CONFIG_FPE_NWFPE=y
70CONFIG_VFP=y
71CONFIG_NEON=y
72CONFIG_BINFMT_MISC=y38CONFIG_BINFMT_MISC=y
73CONFIG_PM=y
74CONFIG_PM_DEBUG=y39CONFIG_PM_DEBUG=y
75CONFIG_PM_RUNTIME=y
76CONFIG_NET=y40CONFIG_NET=y
77CONFIG_PACKET=y41CONFIG_PACKET=y
78CONFIG_UNIX=y42CONFIG_UNIX=y
@@ -89,14 +53,6 @@ CONFIG_IP_PNP_RARP=y · 10 unmodified lines
89# CONFIG_IPV6 is not set53# CONFIG_IPV6 is not set
90CONFIG_NETFILTER=y54CONFIG_NETFILTER=y
91CONFIG_BT=m55CONFIG_BT=m
92CONFIG_BT_L2CAP=m
93CONFIG_BT_SCO=m
94CONFIG_BT_RFCOMM=y
95CONFIG_BT_RFCOMM_TTY=y
96CONFIG_BT_BNEP=m
97CONFIG_BT_BNEP_MC_FILTER=y
98CONFIG_BT_BNEP_PROTO_FILTER=y
99CONFIG_BT_HIDP=m
100CONFIG_BT_HCIUART=m56CONFIG_BT_HCIUART=m
101CONFIG_BT_HCIUART_H4=y57CONFIG_BT_HCIUART_H4=y
102CONFIG_BT_HCIUART_BCSP=y58CONFIG_BT_HCIUART_BCSP=y
@@ -107,11 +63,9 @@ CONFIG_CFG80211=m · 4 unmodified lines
107CONFIG_MAC80211=m63CONFIG_MAC80211=m
108CONFIG_MAC80211_RC_PID=y64CONFIG_MAC80211_RC_PID=y
109CONFIG_MAC80211_RC_DEFAULT_PID=y65CONFIG_MAC80211_RC_DEFAULT_PID=y
110CONFIG_MAC80211_LEDS=y
111CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"66CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
112CONFIG_CONNECTOR=y67CONFIG_CONNECTOR=y
113CONFIG_MTD=y68CONFIG_MTD=y
114CONFIG_MTD_CONCAT=y
115CONFIG_MTD_CMDLINE_PARTS=y69CONFIG_MTD_CMDLINE_PARTS=y
116CONFIG_MTD_CHAR=y70CONFIG_MTD_CHAR=y
117CONFIG_MTD_BLOCK=y71CONFIG_MTD_BLOCK=y
@@ -127,7 +81,6 @@ CONFIG_MTD_UBI=y · 9 unmodified lines
127CONFIG_BLK_DEV_LOOP=y81CONFIG_BLK_DEV_LOOP=y
128CONFIG_BLK_DEV_RAM=y82CONFIG_BLK_DEV_RAM=y
129CONFIG_BLK_DEV_RAM_SIZE=1638483CONFIG_BLK_DEV_RAM_SIZE=16384
130CONFIG_EEPROM_LEGACY=y
131CONFIG_SCSI=y84CONFIG_SCSI=y
132CONFIG_BLK_DEV_SD=y85CONFIG_BLK_DEV_SD=y
133CONFIG_SCSI_MULTI_LUN=y86CONFIG_SCSI_MULTI_LUN=y
@@ -158,19 +111,15 @@ CONFIG_TOUCHSCREEN_ADS7846=y · 24 unmodified lines
158CONFIG_INPUT_MISC=y111CONFIG_INPUT_MISC=y
159CONFIG_INPUT_TWL4030_PWRBUTTON=y112CONFIG_INPUT_TWL4030_PWRBUTTON=y
160CONFIG_VT_HW_CONSOLE_BINDING=y113CONFIG_VT_HW_CONSOLE_BINDING=y
161CONFIG_SERIAL_8250=y114# CONFIG_LEGACY_PTYS is not set
162CONFIG_SERIAL_8250_CONSOLE=y
163CONFIG_SERIAL_8250_NR_UARTS=32115CONFIG_SERIAL_8250_NR_UARTS=32
164CONFIG_SERIAL_8250_EXTENDED=y116CONFIG_SERIAL_8250_EXTENDED=y
165CONFIG_SERIAL_8250_MANY_PORTS=y117CONFIG_SERIAL_8250_MANY_PORTS=y
166CONFIG_SERIAL_8250_SHARE_IRQ=y118CONFIG_SERIAL_8250_SHARE_IRQ=y
167CONFIG_SERIAL_8250_DETECT_IRQ=y119CONFIG_SERIAL_8250_DETECT_IRQ=y
168CONFIG_SERIAL_8250_RSA=y120CONFIG_SERIAL_8250_RSA=y
169# CONFIG_LEGACY_PTYS is not set
170CONFIG_HW_RANDOM=y121CONFIG_HW_RANDOM=y
171CONFIG_I2C=y
172CONFIG_I2C_CHARDEV=y122CONFIG_I2C_CHARDEV=y
173CONFIG_I2C_OMAP=y
174CONFIG_SPI=y123CONFIG_SPI=y
175CONFIG_SPI_OMAP24XX=y124CONFIG_SPI_OMAP24XX=y
176CONFIG_DEBUG_GPIO=y125CONFIG_DEBUG_GPIO=y
@@ -181,10 +130,6 @@ CONFIG_POWER_SUPPLY=y · 4 unmodified lines
181CONFIG_WATCHDOG=y130CONFIG_WATCHDOG=y
182CONFIG_OMAP_WATCHDOG=y131CONFIG_OMAP_WATCHDOG=y
183CONFIG_TWL4030_WATCHDOG=y132CONFIG_TWL4030_WATCHDOG=y
184CONFIG_MENELAUS=y
185CONFIG_TWL4030_CORE=y
186CONFIG_TWL4030_POWER=y
187CONFIG_REGULATOR=y
188CONFIG_REGULATOR_TWL4030=y133CONFIG_REGULATOR_TWL4030=y
189CONFIG_REGULATOR_TPS65023=y134CONFIG_REGULATOR_TPS65023=y
190CONFIG_REGULATOR_TPS6507X=y135CONFIG_REGULATOR_TPS6507X=y
@@ -208,7 +153,6 @@ CONFIG_BACKLIGHT_LCD_SUPPORT=y · 17 unmodified lines
208CONFIG_LCD_CLASS_DEVICE=y153CONFIG_LCD_CLASS_DEVICE=y
209CONFIG_LCD_PLATFORM=y154CONFIG_LCD_PLATFORM=y
210CONFIG_DISPLAY_SUPPORT=y155CONFIG_DISPLAY_SUPPORT=y
211# CONFIG_VGA_CONSOLE is not set
212CONFIG_FRAMEBUFFER_CONSOLE=y156CONFIG_FRAMEBUFFER_CONSOLE=y
213CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y157CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
214CONFIG_FONTS=y158CONFIG_FONTS=y
@@ -217,25 +161,20 @@ CONFIG_FONT_8x16=y · 2 unmodified lines
217CONFIG_LOGO=y161CONFIG_LOGO=y
218CONFIG_SOUND=m162CONFIG_SOUND=m
219CONFIG_SND=m163CONFIG_SND=m
220CONFIG_SND_MIXER_OSS=y164CONFIG_SND_MIXER_OSS=m
221CONFIG_SND_PCM_OSS=y165CONFIG_SND_PCM_OSS=m
222CONFIG_SND_VERBOSE_PRINTK=y166CONFIG_SND_VERBOSE_PRINTK=y
223CONFIG_SND_DEBUG=y167CONFIG_SND_DEBUG=y
224CONFIG_SND_USB_AUDIO=y168CONFIG_SND_USB_AUDIO=m
225CONFIG_SND_SOC=y169CONFIG_SND_SOC=m
226CONFIG_SND_OMAP_SOC=y170CONFIG_SND_OMAP_SOC=m
227CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=y171CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m
228CONFIG_USB=y172CONFIG_USB=y
229CONFIG_USB_DEBUG=y173CONFIG_USB_DEBUG=y
230CONFIG_USB_ANNOUNCE_NEW_DEVICES=y174CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
231CONFIG_USB_DEVICEFS=y175CONFIG_USB_DEVICEFS=y
232CONFIG_USB_SUSPEND=y176CONFIG_USB_SUSPEND=y
233# CONFIG_USB_OTG_WHITELIST is not set
234CONFIG_USB_MON=y177CONFIG_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
238CONFIG_USB_MUSB_DEBUG=y
239CONFIG_USB_WDM=y178CONFIG_USB_WDM=y
240CONFIG_USB_STORAGE=y179CONFIG_USB_STORAGE=y
241CONFIG_USB_LIBUSUAL=y180CONFIG_USB_LIBUSUAL=y
@@ -250,18 +189,12 @@ CONFIG_MMC_UNSAFE_RESUME=y · 8 unmodified lines
250CONFIG_SDIO_UART=y189CONFIG_SDIO_UART=y
251CONFIG_MMC_OMAP=y190CONFIG_MMC_OMAP=y
252CONFIG_MMC_OMAP_HS=y191CONFIG_MMC_OMAP_HS=y
253CONFIG_LEDS_CLASS=y
254CONFIG_LEDS_GPIO=y
255CONFIG_LEDS_TRIGGER_TIMER=y
256CONFIG_LEDS_TRIGGER_HEARTBEAT=y
257CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
258CONFIG_RTC_CLASS=y192CONFIG_RTC_CLASS=y
259CONFIG_RTC_DRV_TWL92330=y193CONFIG_RTC_DRV_TWL92330=y
260CONFIG_RTC_DRV_TWL4030=y194CONFIG_RTC_DRV_TWL4030=y
261CONFIG_EXT2_FS=y195CONFIG_EXT2_FS=y
262CONFIG_EXT3_FS=y196CONFIG_EXT3_FS=y
263# CONFIG_EXT3_FS_XATTR is not set197# CONFIG_EXT3_FS_XATTR is not set
264CONFIG_INOTIFY=y
265CONFIG_QUOTA=y198CONFIG_QUOTA=y
266CONFIG_QFMT_V2=y199CONFIG_QFMT_V2=y
267CONFIG_MSDOS_FS=y200CONFIG_MSDOS_FS=y
@@ -285,12 +218,10 @@ CONFIG_NLS_CODEPAGE_437=y · 17 unmodified lines
285CONFIG_NLS_ISO8859_1=y218CONFIG_NLS_ISO8859_1=y
286CONFIG_PRINTK_TIME=y219CONFIG_PRINTK_TIME=y
287CONFIG_MAGIC_SYSRQ=y220CONFIG_MAGIC_SYSRQ=y
288CONFIG_DEBUG_FS=y
289CONFIG_DEBUG_KERNEL=y221CONFIG_DEBUG_KERNEL=y
290CONFIG_SCHEDSTATS=y222CONFIG_SCHEDSTATS=y
291CONFIG_TIMER_STATS=y223CONFIG_TIMER_STATS=y
292CONFIG_PROVE_LOCKING=y224CONFIG_PROVE_LOCKING=y
293# CONFIG_LOCK_STAT is not set
294CONFIG_DEBUG_SPINLOCK_SLEEP=y225CONFIG_DEBUG_SPINLOCK_SLEEP=y
295# CONFIG_DEBUG_BUGVERBOSE is not set226# CONFIG_DEBUG_BUGVERBOSE is not set
296CONFIG_DEBUG_INFO=y227CONFIG_DEBUG_INFO=y
arch/arm/configs/realview-smp_defconfig+1−1
@@ -38,7 +38,7 @@ CONFIG_MTD_BLOCK=y · 37 unmodified lines
38CONFIG_MTD_CFI=y38CONFIG_MTD_CFI=y
39CONFIG_MTD_CFI_INTELEXT=y39CONFIG_MTD_CFI_INTELEXT=y
40CONFIG_MTD_CFI_AMDSTD=y40CONFIG_MTD_CFI_AMDSTD=y
41CONFIG_MTD_ARM_INTEGRATOR=y41CONFIG_MTD_PHYSMAP=y
42CONFIG_ARM_CHARLCD=y42CONFIG_ARM_CHARLCD=y
43CONFIG_NETDEVICES=y43CONFIG_NETDEVICES=y
44CONFIG_SMSC_PHY=y44CONFIG_SMSC_PHY=y
arch/arm/configs/realview_defconfig+1−1
@@ -37,7 +37,7 @@ CONFIG_MTD_BLOCK=y · 36 unmodified lines
37CONFIG_MTD_CFI=y37CONFIG_MTD_CFI=y
38CONFIG_MTD_CFI_INTELEXT=y38CONFIG_MTD_CFI_INTELEXT=y
39CONFIG_MTD_CFI_AMDSTD=y39CONFIG_MTD_CFI_AMDSTD=y
40CONFIG_MTD_ARM_INTEGRATOR=y40CONFIG_MTD_PHYSMAP=y
41CONFIG_ARM_CHARLCD=y41CONFIG_ARM_CHARLCD=y
42CONFIG_NETDEVICES=y42CONFIG_NETDEVICES=y
43CONFIG_SMSC_PHY=y43CONFIG_SMSC_PHY=y
arch/arm/configs/s5p6442_defconfig+0−65
@@ -1,65 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSFS_DEPRECATED_V2=y
3CONFIG_BLK_DEV_INITRD=y
4CONFIG_KALLSYMS_ALL=y
5CONFIG_MODULES=y
6CONFIG_MODULE_UNLOAD=y
7# CONFIG_BLK_DEV_BSG is not set
8CONFIG_ARCH_S5P6442=y
9CONFIG_S3C_LOWLEVEL_UART_PORT=1
10CONFIG_MACH_SMDK6442=y
11CONFIG_CPU_32v6K=y
12CONFIG_AEABI=y
13CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x20800000,8M console=ttySAC1,115200 init=/linuxrc"
14CONFIG_FPE_NWFPE=y
15CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
16# CONFIG_PREVENT_FIRMWARE_BUILD is not set
17CONFIG_BLK_DEV_LOOP=y
18CONFIG_BLK_DEV_RAM=y
19CONFIG_BLK_DEV_RAM_SIZE=8192
20# CONFIG_MISC_DEVICES is not set
21CONFIG_SCSI=y
22CONFIG_BLK_DEV_SD=y
23CONFIG_CHR_DEV_SG=y
24CONFIG_INPUT_EVDEV=y
25# CONFIG_INPUT_KEYBOARD is not set
26# CONFIG_INPUT_MOUSE is not set
27CONFIG_INPUT_TOUCHSCREEN=y
28CONFIG_SERIAL_8250=y
29CONFIG_SERIAL_8250_NR_UARTS=3
30CONFIG_SERIAL_SAMSUNG=y
31CONFIG_SERIAL_SAMSUNG_CONSOLE=y
32CONFIG_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
37CONFIG_EXT2_FS=y
38CONFIG_INOTIFY=y
39CONFIG_MSDOS_FS=y
40CONFIG_VFAT_FS=y
41CONFIG_TMPFS=y
42CONFIG_TMPFS_POSIX_ACL=y
43CONFIG_CRAMFS=y
44CONFIG_ROMFS_FS=y
45CONFIG_PARTITION_ADVANCED=y
46CONFIG_BSD_DISKLABEL=y
47CONFIG_SOLARIS_X86_PARTITION=y
48CONFIG_NLS_CODEPAGE_437=y
49CONFIG_NLS_ASCII=y
50CONFIG_NLS_ISO8859_1=y
51CONFIG_MAGIC_SYSRQ=y
52CONFIG_DEBUG_KERNEL=y
53CONFIG_DEBUG_RT_MUTEXES=y
54CONFIG_DEBUG_SPINLOCK=y
55CONFIG_DEBUG_MUTEXES=y
56CONFIG_DEBUG_SPINLOCK_SLEEP=y
57CONFIG_DEBUG_INFO=y
58# CONFIG_RCU_CPU_STALL_DETECTOR is not set
59CONFIG_SYSCTL_SYSCALL_CHECK=y
60# CONFIG_ARM_UNWIND is not set
61CONFIG_DEBUG_USER=y
62CONFIG_DEBUG_ERRORS=y
63CONFIG_DEBUG_LL=y
64CONFIG_DEBUG_S3C_UART=1
65CONFIG_CRC_CCITT=y
arch/arm/configs/spear300_defconfig+0−51
@@ -1,51 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_BLK_DEV_INITRD=y
5CONFIG_KALLSYMS_EXTRA_PASS=y
6CONFIG_MODULES=y
7CONFIG_MODULE_UNLOAD=y
8CONFIG_MODVERSIONS=y
9CONFIG_PLAT_SPEAR=y
10CONFIG_BINFMT_MISC=y
11CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
12CONFIG_BLK_DEV_RAM=y
13CONFIG_BLK_DEV_RAM_SIZE=16384
14CONFIG_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
18CONFIG_SERIAL_AMBA_PL011=y
19CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
20# CONFIG_LEGACY_PTYS is not set
21# CONFIG_HW_RANDOM is not set
22CONFIG_RAW_DRIVER=y
23CONFIG_MAX_RAW_DEVS=8192
24CONFIG_GPIO_SYSFS=y
25CONFIG_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
30CONFIG_EXT2_FS=y
31CONFIG_EXT2_FS_XATTR=y
32CONFIG_EXT2_FS_SECURITY=y
33CONFIG_EXT3_FS=y
34CONFIG_EXT3_FS_SECURITY=y
35CONFIG_AUTOFS4_FS=m
36CONFIG_MSDOS_FS=m
37CONFIG_VFAT_FS=m
38CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
39CONFIG_TMPFS=y
40CONFIG_PARTITION_ADVANCED=y
41CONFIG_NLS=y
42CONFIG_NLS_DEFAULT="utf8"
43CONFIG_NLS_CODEPAGE_437=y
44CONFIG_NLS_ASCII=m
45CONFIG_MAGIC_SYSRQ=y
46CONFIG_DEBUG_FS=y
47CONFIG_DEBUG_KERNEL=y
48CONFIG_DEBUG_SPINLOCK=y
49CONFIG_DEBUG_SPINLOCK_SLEEP=y
50CONFIG_DEBUG_INFO=y
51# CONFIG_CRC32 is not set
arch/arm/configs/spear320_defconfig+0−52
@@ -1,52 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_BLK_DEV_INITRD=y
5CONFIG_KALLSYMS_EXTRA_PASS=y
6CONFIG_MODULES=y
7CONFIG_MODULE_UNLOAD=y
8CONFIG_MODVERSIONS=y
9CONFIG_PLAT_SPEAR=y
10CONFIG_MACH_SPEAR320=y
11CONFIG_BINFMT_MISC=y
12CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
13CONFIG_BLK_DEV_RAM=y
14CONFIG_BLK_DEV_RAM_SIZE=16384
15CONFIG_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
19CONFIG_SERIAL_AMBA_PL011=y
20CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
21# CONFIG_LEGACY_PTYS is not set
22# CONFIG_HW_RANDOM is not set
23CONFIG_RAW_DRIVER=y
24CONFIG_MAX_RAW_DEVS=8192
25CONFIG_GPIO_SYSFS=y
26CONFIG_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
31CONFIG_EXT2_FS=y
32CONFIG_EXT2_FS_XATTR=y
33CONFIG_EXT2_FS_SECURITY=y
34CONFIG_EXT3_FS=y
35CONFIG_EXT3_FS_SECURITY=y
36CONFIG_AUTOFS4_FS=m
37CONFIG_MSDOS_FS=m
38CONFIG_VFAT_FS=m
39CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
40CONFIG_TMPFS=y
41CONFIG_PARTITION_ADVANCED=y
42CONFIG_NLS=y
43CONFIG_NLS_DEFAULT="utf8"
44CONFIG_NLS_CODEPAGE_437=y
45CONFIG_NLS_ASCII=m
46CONFIG_MAGIC_SYSRQ=y
47CONFIG_DEBUG_FS=y
48CONFIG_DEBUG_KERNEL=y
49CONFIG_DEBUG_SPINLOCK=y
50CONFIG_DEBUG_SPINLOCK_SLEEP=y
51CONFIG_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
7CONFIG_MODULE_UNLOAD=y7CONFIG_MODULE_UNLOAD=y
8CONFIG_MODVERSIONS=y8CONFIG_MODVERSIONS=y
9CONFIG_PLAT_SPEAR=y9CONFIG_PLAT_SPEAR=y
10CONFIG_MACH_SPEAR310=y10CONFIG_BOARD_SPEAR300_EVB=y
11CONFIG_BOARD_SPEAR310_EVB=y
12CONFIG_BOARD_SPEAR320_EVB=y
11CONFIG_BINFMT_MISC=y13CONFIG_BINFMT_MISC=y
12CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"14CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
13CONFIG_BLK_DEV_RAM=y15CONFIG_BLK_DEV_RAM=y
@@ -25,7 +27,6 @@ CONFIG_MAX_RAW_DEVS=8192 · 11 unmodified lines
25CONFIG_GPIO_SYSFS=y27CONFIG_GPIO_SYSFS=y
26CONFIG_GPIO_PL061=y28CONFIG_GPIO_PL061=y
27# CONFIG_HWMON is not set29# CONFIG_HWMON is not set
28# CONFIG_VGA_CONSOLE is not set
29# CONFIG_HID_SUPPORT is not set30# CONFIG_HID_SUPPORT is not set
30# CONFIG_USB_SUPPORT is not set31# CONFIG_USB_SUPPORT is not set
31CONFIG_EXT2_FS=y32CONFIG_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
8CONFIG_MODVERSIONS=y8CONFIG_MODVERSIONS=y
9CONFIG_PLAT_SPEAR=y9CONFIG_PLAT_SPEAR=y
10CONFIG_ARCH_SPEAR6XX=y10CONFIG_ARCH_SPEAR6XX=y
11CONFIG_BOARD_SPEAR600_EVB=y
11CONFIG_BINFMT_MISC=y12CONFIG_BINFMT_MISC=y
12CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"13CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
13CONFIG_BLK_DEV_RAM=y14CONFIG_BLK_DEV_RAM=y
@@ -22,7 +23,6 @@ CONFIG_MAX_RAW_DEVS=8192 · 8 unmodified lines
22CONFIG_GPIO_SYSFS=y23CONFIG_GPIO_SYSFS=y
23CONFIG_GPIO_PL061=y24CONFIG_GPIO_PL061=y
24# CONFIG_HWMON is not set25# CONFIG_HWMON is not set
25# CONFIG_VGA_CONSOLE is not set
26# CONFIG_HID_SUPPORT is not set26# CONFIG_HID_SUPPORT is not set
27# CONFIG_USB_SUPPORT is not set27# CONFIG_USB_SUPPORT is not set
28CONFIG_EXT2_FS=y28CONFIG_EXT2_FS=y
arch/arm/configs/stmp378x_defconfig+0−128
@@ -1,128 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_LOCALVERSION="-default"
3CONFIG_SYSVIPC=y
4CONFIG_POSIX_MQUEUE=y
5CONFIG_BSD_PROCESS_ACCT=y
6CONFIG_SYSFS_DEPRECATED_V2=y
7CONFIG_BLK_DEV_INITRD=y
8CONFIG_EXPERT=y
9CONFIG_SLAB=y
10CONFIG_MODULES=y
11CONFIG_MODULE_UNLOAD=y
12CONFIG_MODULE_FORCE_UNLOAD=y
13CONFIG_MODVERSIONS=y
14CONFIG_MODULE_SRCVERSION_ALL=y
15# CONFIG_BLK_DEV_BSG is not set
16CONFIG_ARCH_STMP3XXX=y
17CONFIG_ARCH_STMP378X=y
18CONFIG_NO_HZ=y
19CONFIG_HIGH_RES_TIMERS=y
20CONFIG_PREEMPT=y
21CONFIG_AEABI=y
22CONFIG_HIGHMEM=y
23CONFIG_ZBOOT_ROM_TEXT=0x0
24CONFIG_ZBOOT_ROM_BSS=0x0
25CONFIG_CMDLINE="console=ttySDBG0,115200 mem=32M"
26CONFIG_NET=y
27CONFIG_PACKET=y
28CONFIG_UNIX=y
29CONFIG_INET=y
30CONFIG_IP_MULTICAST=y
31CONFIG_IP_ADVANCED_ROUTER=y
32CONFIG_IP_MULTIPLE_TABLES=y
33CONFIG_IP_ROUTE_MULTIPATH=y
34CONFIG_IP_ROUTE_VERBOSE=y
35CONFIG_IP_PNP=y
36CONFIG_IP_PNP_DHCP=y
37CONFIG_IP_PNP_BOOTP=y
38CONFIG_IP_MROUTE=y
39CONFIG_IP_PIMSM_V1=y
40CONFIG_IP_PIMSM_V2=y
41CONFIG_SYN_COOKIES=y
42# CONFIG_INET_LRO is not set
43# CONFIG_IPV6 is not set
44CONFIG_NET_SCHED=y
45# CONFIG_WIRELESS is not set
46CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
47# CONFIG_STANDALONE is not set
48CONFIG_MTD=y
49CONFIG_MTD_CHAR=y
50CONFIG_MTD_NAND=y
51CONFIG_MTD_UBI=y
52CONFIG_MTD_UBI_GLUEBI=y
53CONFIG_BLK_DEV_LOOP=y
54CONFIG_BLK_DEV_CRYPTOLOOP=y
55CONFIG_BLK_DEV_RAM=y
56CONFIG_BLK_DEV_RAM_COUNT=4
57CONFIG_BLK_DEV_RAM_SIZE=6144
58# CONFIG_MISC_DEVICES is not set
59CONFIG_SCSI=y
60CONFIG_BLK_DEV_SD=y
61CONFIG_CHR_DEV_SG=y
62# CONFIG_SCSI_LOWLEVEL is not set
63CONFIG_INPUT_POLLDEV=y
64CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
65CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
66CONFIG_INPUT_EVDEV=y
67# CONFIG_KEYBOARD_ATKBD is not set
68# CONFIG_INPUT_MOUSE is not set
69CONFIG_INPUT_TOUCHSCREEN=y
70CONFIG_INPUT_MISC=y
71# CONFIG_SERIO_SERPORT is not set
72CONFIG_VT_HW_CONSOLE_BINDING=y
73# CONFIG_LEGACY_PTYS is not set
74CONFIG_HW_RANDOM=y
75CONFIG_DEBUG_GPIO=y
76CONFIG_GPIO_SYSFS=y
77# CONFIG_HWMON is not set
78CONFIG_FB=y
79CONFIG_BACKLIGHT_LCD_SUPPORT=y
80CONFIG_LCD_CLASS_DEVICE=y
81CONFIG_BACKLIGHT_CLASS_DEVICE=y
82# CONFIG_VGA_CONSOLE is not set
83CONFIG_FRAMEBUFFER_CONSOLE=y
84CONFIG_LOGO=y
85# CONFIG_HID_SUPPORT is not set
86# CONFIG_USB_SUPPORT is not set
87# CONFIG_DNOTIFY is not set
88CONFIG_TMPFS=y
89CONFIG_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
93CONFIG_STRIP_ASM_SYMS=y
94CONFIG_DEBUG_KERNEL=y
95CONFIG_DEBUG_SHIRQ=y
96# CONFIG_SCHED_DEBUG is not set
97CONFIG_DEBUG_OBJECTS=y
98CONFIG_DEBUG_OBJECTS_SELFTEST=y
99CONFIG_DEBUG_OBJECTS_FREE=y
100CONFIG_DEBUG_OBJECTS_TIMERS=y
101CONFIG_DEBUG_SLAB=y
102CONFIG_DEBUG_SLAB_LEAK=y
103CONFIG_DEBUG_RT_MUTEXES=y
104CONFIG_PROVE_LOCKING=y
105CONFIG_DEBUG_SPINLOCK_SLEEP=y
106CONFIG_DEBUG_KOBJECT=y
107# CONFIG_DEBUG_BUGVERBOSE is not set
108CONFIG_DEBUG_INFO=y
109# CONFIG_RCU_CPU_STALL_DETECTOR is not set
110CONFIG_SYSCTL_SYSCALL_CHECK=y
111CONFIG_BOOT_TRACER=y
112CONFIG_STACK_TRACER=y
113CONFIG_BLK_DEV_IO_TRACE=y
114CONFIG_KEYS=y
115CONFIG_KEYS_DEBUG_PROC_KEYS=y
116CONFIG_SECURITY=y
117CONFIG_CRYPTO_TEST=m
118CONFIG_CRYPTO_ECB=y
119CONFIG_CRYPTO_HMAC=y
120CONFIG_CRYPTO_MD5=y
121CONFIG_CRYPTO_SHA1=m
122CONFIG_CRYPTO_AES=m
123CONFIG_CRYPTO_DES=y
124CONFIG_CRYPTO_DEFLATE=y
125CONFIG_CRYPTO_LZO=y
126# CONFIG_CRYPTO_ANSI_CPRNG is not set
127CONFIG_CRC_CCITT=m
128CONFIG_CRC16=y
arch/arm/configs/stmp37xx_defconfig+0−108
@@ -1,108 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_LOCALVERSION="-default"
3CONFIG_SYSVIPC=y
4CONFIG_POSIX_MQUEUE=y
5CONFIG_BSD_PROCESS_ACCT=y
6CONFIG_SYSFS_DEPRECATED_V2=y
7CONFIG_BLK_DEV_INITRD=y
8CONFIG_EXPERT=y
9CONFIG_SLAB=y
10CONFIG_MODULES=y
11CONFIG_MODULE_UNLOAD=y
12CONFIG_MODULE_FORCE_UNLOAD=y
13CONFIG_MODVERSIONS=y
14CONFIG_MODULE_SRCVERSION_ALL=y
15# CONFIG_BLK_DEV_BSG is not set
16CONFIG_ARCH_STMP3XXX=y
17CONFIG_NO_HZ=y
18CONFIG_HIGH_RES_TIMERS=y
19CONFIG_PREEMPT=y
20CONFIG_AEABI=y
21CONFIG_ZBOOT_ROM_TEXT=0x0
22CONFIG_ZBOOT_ROM_BSS=0x0
23CONFIG_CMDLINE="console=ttySDBG0,115200 mem=32M lcd_panel=lms350 rdinit=/bin/sh ignore_loglevel"
24CONFIG_NET=y
25CONFIG_PACKET=y
26CONFIG_UNIX=y
27CONFIG_INET=y
28CONFIG_IP_MULTICAST=y
29CONFIG_IP_ADVANCED_ROUTER=y
30CONFIG_IP_MULTIPLE_TABLES=y
31CONFIG_IP_ROUTE_MULTIPATH=y
32CONFIG_IP_ROUTE_VERBOSE=y
33CONFIG_IP_PNP=y
34CONFIG_IP_PNP_DHCP=y
35CONFIG_IP_PNP_BOOTP=y
36CONFIG_IP_MROUTE=y
37CONFIG_IP_PIMSM_V1=y
38CONFIG_IP_PIMSM_V2=y
39CONFIG_SYN_COOKIES=y
40# CONFIG_INET_LRO is not set
41# CONFIG_IPV6 is not set
42CONFIG_NET_SCHED=y
43# CONFIG_WIRELESS is not set
44CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
45# CONFIG_STANDALONE is not set
46CONFIG_BLK_DEV_LOOP=y
47CONFIG_BLK_DEV_CRYPTOLOOP=y
48CONFIG_BLK_DEV_RAM=y
49CONFIG_BLK_DEV_RAM_COUNT=4
50CONFIG_BLK_DEV_RAM_SIZE=6144
51# CONFIG_MISC_DEVICES is not set
52CONFIG_SCSI=y
53CONFIG_BLK_DEV_SD=y
54CONFIG_CHR_DEV_SG=y
55# CONFIG_SCSI_LOWLEVEL is not set
56CONFIG_INPUT_POLLDEV=y
57CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
58CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
59CONFIG_INPUT_EVDEV=y
60# CONFIG_KEYBOARD_ATKBD is not set
61# CONFIG_INPUT_MOUSE is not set
62CONFIG_INPUT_TOUCHSCREEN=y
63CONFIG_INPUT_MISC=y
64# CONFIG_SERIO_SERPORT is not set
65CONFIG_VT_HW_CONSOLE_BINDING=y
66# CONFIG_LEGACY_PTYS is not set
67CONFIG_HW_RANDOM=y
68CONFIG_DEBUG_GPIO=y
69CONFIG_GPIO_SYSFS=y
70# CONFIG_HWMON is not set
71CONFIG_FB=y
72CONFIG_BACKLIGHT_LCD_SUPPORT=y
73CONFIG_LCD_CLASS_DEVICE=y
74CONFIG_BACKLIGHT_CLASS_DEVICE=y
75# CONFIG_VGA_CONSOLE is not set
76CONFIG_FRAMEBUFFER_CONSOLE=y
77CONFIG_LOGO=y
78# CONFIG_HID_SUPPORT is not set
79# CONFIG_USB_SUPPORT is not set
80# CONFIG_DNOTIFY is not set
81CONFIG_TMPFS=y
82CONFIG_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
86CONFIG_DEBUG_KERNEL=y
87# CONFIG_DEBUG_BUGVERBOSE is not set
88# CONFIG_RCU_CPU_STALL_DETECTOR is not set
89CONFIG_SYSCTL_SYSCALL_CHECK=y
90CONFIG_BOOT_TRACER=y
91CONFIG_STACK_TRACER=y
92CONFIG_BLK_DEV_IO_TRACE=y
93CONFIG_DEBUG_LL=y
94CONFIG_KEYS=y
95CONFIG_KEYS_DEBUG_PROC_KEYS=y
96CONFIG_SECURITY=y
97CONFIG_CRYPTO_TEST=m
98CONFIG_CRYPTO_ECB=y
99CONFIG_CRYPTO_HMAC=y
100CONFIG_CRYPTO_MD5=y
101CONFIG_CRYPTO_SHA1=m
102CONFIG_CRYPTO_AES=m
103CONFIG_CRYPTO_DES=y
104CONFIG_CRYPTO_DEFLATE=y
105CONFIG_CRYPTO_LZO=y
106# CONFIG_CRYPTO_ANSI_CPRNG is not set
107CONFIG_CRC_CCITT=m
108CONFIG_CRC16=y
arch/arm/configs/usb-a9263_defconfig+0−106
@@ -1,106 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2# CONFIG_LOCALVERSION_AUTO is not set
3# CONFIG_SWAP is not set
4CONFIG_SYSVIPC=y
5CONFIG_LOG_BUF_SHIFT=14
6# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
7CONFIG_SLAB=y
8CONFIG_MODULES=y
9CONFIG_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
13CONFIG_ARCH_AT91=y
14CONFIG_ARCH_AT91SAM9263=y
15CONFIG_MACH_USB_A9263=y
16CONFIG_AT91_SLOW_CLOCK=y
17# CONFIG_ARM_THUMB is not set
18CONFIG_AEABI=y
19CONFIG_ZBOOT_ROM_TEXT=0x0
20CONFIG_ZBOOT_ROM_BSS=0x0
21CONFIG_CMDLINE="mem=64M console=ttyS0,115200"
22CONFIG_FPE_NWFPE=y
23CONFIG_PM=y
24CONFIG_NET=y
25CONFIG_PACKET=y
26CONFIG_UNIX=y
27CONFIG_INET=y
28CONFIG_IP_MULTICAST=y
29CONFIG_IP_ADVANCED_ROUTER=y
30CONFIG_IP_ROUTE_VERBOSE=y
31CONFIG_IP_PNP=y
32CONFIG_IP_PNP_BOOTP=y
33CONFIG_IP_PNP_RARP=y
34CONFIG_IP_MROUTE=y
35CONFIG_IP_PIMSM_V1=y
36CONFIG_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
43CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
44CONFIG_MTD=y
45CONFIG_MTD_PARTITIONS=y
46CONFIG_MTD_CMDLINE_PARTS=y
47CONFIG_MTD_CHAR=y
48CONFIG_MTD_BLOCK=y
49CONFIG_MTD_DATAFLASH=y
50CONFIG_MTD_NAND=y
51CONFIG_MTD_NAND_ATMEL=y
52CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y
53CONFIG_BLK_DEV_LOOP=y
54# CONFIG_MISC_DEVICES is not set
55CONFIG_SCSI=y
56CONFIG_BLK_DEV_SD=y
57CONFIG_SCSI_MULTI_LUN=y
58CONFIG_NETDEVICES=y
59CONFIG_NET_ETHERNET=y
60CONFIG_MII=y
61CONFIG_MACB=y
62# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
63CONFIG_INPUT_EVDEV=y
64CONFIG_INPUT_EVBUG=y
65# CONFIG_KEYBOARD_ATKBD is not set
66CONFIG_KEYBOARD_GPIO=y
67# CONFIG_INPUT_MOUSE is not set
68# CONFIG_SERIO is not set
69CONFIG_SERIAL_ATMEL=y
70CONFIG_SERIAL_ATMEL_CONSOLE=y
71CONFIG_HW_RANDOM=y
72CONFIG_SPI=y
73CONFIG_SPI_ATMEL=y
74# CONFIG_HWMON is not set
75# CONFIG_VGA_CONSOLE is not set
76# CONFIG_USB_HID is not set
77CONFIG_USB=y
78CONFIG_USB_DEVICEFS=y
79CONFIG_USB_MON=y
80CONFIG_USB_OHCI_HCD=y
81CONFIG_USB_STORAGE=y
82CONFIG_USB_GADGET=y
83CONFIG_USB_ETH=m
84CONFIG_NEW_LEDS=y
85CONFIG_LEDS_CLASS=y
86CONFIG_LEDS_GPIO=y
87CONFIG_LEDS_TRIGGERS=y
88CONFIG_LEDS_TRIGGER_HEARTBEAT=y
89CONFIG_EXT2_FS=y
90CONFIG_INOTIFY=y
91CONFIG_FUSE_FS=m
92CONFIG_VFAT_FS=y
93CONFIG_TMPFS=y
94CONFIG_JFFS2_FS=y
95CONFIG_NFS_FS=y
96CONFIG_NFS_V3=y
97CONFIG_NFS_V3_ACL=y
98CONFIG_NFS_V4=y
99CONFIG_ROOT_NFS=y
100CONFIG_NLS_CODEPAGE_437=y
101CONFIG_NLS_CODEPAGE_850=y
102CONFIG_NLS_ISO8859_1=y
103CONFIG_DEBUG_KERNEL=y
104CONFIG_DEBUG_USER=y
105CONFIG_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
32CONFIG_MTD_CFI=y32CONFIG_MTD_CFI=y
33CONFIG_MTD_CFI_ADV_OPTIONS=y33CONFIG_MTD_CFI_ADV_OPTIONS=y
34CONFIG_MTD_CFI_INTELEXT=y34CONFIG_MTD_CFI_INTELEXT=y
35CONFIG_MTD_ARM_INTEGRATOR=y35CONFIG_MTD_PHYSMAP=y
36CONFIG_BLK_DEV_RAM=y36CONFIG_BLK_DEV_RAM=y
37CONFIG_EEPROM_LEGACY=m37CONFIG_EEPROM_LEGACY=m
38CONFIG_NETDEVICES=y38CONFIG_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
203#define find_first_bit(p,sz) _find_first_bit_le(p,sz)203#define find_first_bit(p,sz) _find_first_bit_le(p,sz)
204#define find_next_bit(p,sz,off) _find_next_bit_le(p,sz,off)204#define find_next_bit(p,sz,off) _find_next_bit_le(p,sz,off)
205 205
206#define WORD_BITOFF_TO_LE(x) ((x))
207
208#else206#else
209/*207/*
210 * These are the big endian, atomic definitions.208 * 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
214#define find_first_bit(p,sz) _find_first_bit_be(p,sz)212#define find_first_bit(p,sz) _find_first_bit_be(p,sz)
215#define find_next_bit(p,sz,off) _find_next_bit_be(p,sz,off)213#define find_next_bit(p,sz,off) _find_next_bit_be(p,sz,off)
216 214
217#define WORD_BITOFF_TO_LE(x) ((x) ^ 0x18)
218
219#endif215#endif
220 216
221#if __LINUX_ARM_ARCH__ < 5217#if __LINUX_ARM_ARCH__ < 5
@@ -287,55 +283,29 @@ static inline int fls(int x) · 65 unmodified lines
287#include <asm-generic/bitops/hweight.h>283#include <asm-generic/bitops/hweight.h>
288#include <asm-generic/bitops/lock.h>284#include <asm-generic/bitops/lock.h>
289 285
290static inline void __set_bit_le(int nr, void *addr)286#ifdef __ARMEB__
291{
292 __set_bit(WORD_BITOFF_TO_LE(nr), addr);
293}
294
295static inline void __clear_bit_le(int nr, void *addr)
296{
297 __clear_bit(WORD_BITOFF_TO_LE(nr), addr);
298}
299
300static 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
305static 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
310static 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
315static 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
320static inline int test_bit_le(int nr, const void *addr)
321{
322 return test_bit(WORD_BITOFF_TO_LE(nr), addr);
323}
324 287
325static inline int find_first_zero_bit_le(const void *p, unsigned size)288static inline int find_first_zero_bit_le(const void *p, unsigned size)
326{289{
327 return _find_first_zero_bit_le(p, size);290 return _find_first_zero_bit_le(p, size);
328}291}
292#define find_first_zero_bit_le find_first_zero_bit_le
329 293
330static inline int find_next_zero_bit_le(const void *p, int size, int offset)294static inline int find_next_zero_bit_le(const void *p, int size, int offset)
331{295{
332 return _find_next_zero_bit_le(p, size, offset);296 return _find_next_zero_bit_le(p, size, offset);
333}297}
298#define find_next_zero_bit_le find_next_zero_bit_le
334 299
335static inline int find_next_bit_le(const void *p, int size, int offset)300static inline int find_next_bit_le(const void *p, int size, int offset)
336{301{
337 return _find_next_bit_le(p, size, offset);302 return _find_next_bit_le(p, size, offset);
338}303}
304#define find_next_bit_le find_next_bit_le
305
306#endif
307
308#include <asm-generic/bitops/le.h>
339 309
340/*310/*
341 * Ext2 is defined to use little-endian byte ordering.311 * Ext2 is defined to use little-endian byte ordering.
arch/arm/include/asm/cputype.h+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
2#define __ASM_ARM_CPUTYPE_H2#define __ASM_ARM_CPUTYPE_H
3 3
4#include <linux/stringify.h>4#include <linux/stringify.h>
5#include <linux/kernel.h>
5 6
6#define CPUID_ID 07#define CPUID_ID 0
7#define CPUID_CACHETYPE 18#define CPUID_CACHETYPE 1
arch/arm/include/asm/dma.h+3−1
@@ -6,8 +6,10 @@ · 5 unmodified lines
6/*6/*
7 * This is the maximum virtual address which can be DMA'd from.7 * This is the maximum virtual address which can be DMA'd from.
8 */8 */
9#ifndef MAX_DMA_ADDRESS9#ifndef ARM_DMA_ZONE_SIZE
10#define MAX_DMA_ADDRESS 0xffffffff10#define MAX_DMA_ADDRESS 0xffffffff
11#else
12#define MAX_DMA_ADDRESS (PAGE_OFFSET + ARM_DMA_ZONE_SIZE)
11#endif13#endif
12 14
13#ifdef CONFIG_ISA_DMA_API15#ifdef CONFIG_ISA_DMA_API
arch/arm/include/asm/elf.h+1−0
@@ -108,6 +108,7 @@ struct task_struct; · 107 unmodified lines
108int dump_task_regs(struct task_struct *t, elf_gregset_t *elfregs);108int dump_task_regs(struct task_struct *t, elf_gregset_t *elfregs);
109#define ELF_CORE_COPY_TASK_REGS dump_task_regs109#define ELF_CORE_COPY_TASK_REGS dump_task_regs
110 110
111#define CORE_DUMP_USE_REGSET
111#define ELF_EXEC_PAGESIZE 4096112#define ELF_EXEC_PAGESIZE 4096
112 113
113/* This is the location that an ET_DYN program is loaded if exec'ed. Typical114/* 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
4 * Support for FIQ on ARM architectures.4 * Support for FIQ on ARM architectures.
5 * Written by Philip Blundell <philb@gnu.org>, 19985 * Written by Philip Blundell <philb@gnu.org>, 1998
6 * Re-written by Russell King6 * 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.
7 */14 */
8 15
9#ifndef __ASM_FIQ_H16#ifndef __ASM_FIQ_H
@@ -29,9 +36,21 @@ struct fiq_handler { · 19 unmodified lines
29extern int claim_fiq(struct fiq_handler *f);36extern int claim_fiq(struct fiq_handler *f);
30extern void release_fiq(struct fiq_handler *f);37extern void release_fiq(struct fiq_handler *f);
31extern void set_fiq_handler(void *start, unsigned int length);38extern void set_fiq_handler(void *start, unsigned int length);
32extern void set_fiq_regs(struct pt_regs *regs);
33extern void get_fiq_regs(struct pt_regs *regs);
34extern void enable_fiq(int fiq);39extern void enable_fiq(int fiq);
35extern void disable_fiq(int fiq);40extern void disable_fiq(int fiq);
36 41
42/* helpers defined in fiqasm.S: */
43extern void __set_fiq_regs(unsigned long const *regs);
44extern void __get_fiq_regs(unsigned long *regs);
45
46static inline void set_fiq_regs(struct pt_regs const *regs)
47{
48 __set_fiq_regs(&regs->ARM_r8);
49}
50
51static inline void get_fiq_regs(struct pt_regs *regs)
52{
53 __get_fiq_regs(&regs->ARM_r8);
54}
55
37#endif56#endif
arch/arm/include/asm/fpstate.h+1−1
@@ -18,7 +18,7 @@ · 17 unmodified lines
18 * VFP storage area has:18 * VFP storage area has:
19 * - FPEXC, FPSCR, FPINST and FPINST2.19 * - FPEXC, FPSCR, FPINST and FPINST2.
20 * - 16 or 32 double precision data registers20 * - 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)
22 * 22 *
23 * FPEXC will always be non-zero once the VFP has been used in this process.23 * FPEXC will always be non-zero once the VFP has been used in this process.
24 */24 */
arch/arm/include/asm/futex.h+90−47
@@ -3,16 +3,74 @@ · 2 unmodified lines
3 3
4#ifdef __KERNEL__4#ifdef __KERNEL__
5 5
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
6#ifdef CONFIG_SMP26#ifdef CONFIG_SMP
7 27
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
42static inline int
43futex_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}
9 70
10#else /* !SMP, we can work around lack of atomic ops by disabling preemption */71#else /* !SMP, we can work around lack of atomic ops by disabling preemption */
11 72
12#include <linux/futex.h>
13#include <linux/preempt.h>73#include <linux/preempt.h>
14#include <linux/uaccess.h>
15#include <asm/errno.h>
16#include <asm/domain.h>74#include <asm/domain.h>
17 75
18#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \76#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \
@@ -21,19 +79,37 @@ · 2 unmodified lines
21 " " insn "\n" \79 " " insn "\n" \
22 "2: " T(str) " %0, [%2]\n" \80 "2: " T(str) " %0, [%2]\n" \
23 " mov %0, #0\n" \81 " mov %0, #0\n" \
24 "3:\n" \82 __futex_atomic_ex_table("%4") \
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" \
33 : "=&r" (ret), "=&r" (oldval) \83 : "=&r" (ret), "=&r" (oldval) \
34 : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \84 : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \
35 : "cc", "memory")85 : "cc", "memory")
36 86
87static inline int
88futex_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
37static inline int113static inline int
38futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr)114futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr)
39{115{
@@ -87,39 +163,6 @@ futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) · 47 unmodified lines
87 return ret;163 return ret;
88}164}
89 165
90static inline int166#endif /* !(CPU_USE_DOMAINS && SMP) */
91futex_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
124#endif /* __KERNEL__ */167#endif /* __KERNEL__ */
125#endif /* _ASM_ARM_FUTEX_H */168#endif /* _ASM_ARM_FUTEX_H */
arch/arm/include/asm/glue-cache.h+1−1
@@ -126,7 +126,7 @@ · 125 unmodified lines
126#endif126#endif
127 127
128#if !defined(_CACHE) && !defined(MULTI_CACHE)128#if !defined(_CACHE) && !defined(MULTI_CACHE)
129#error Unknown cache maintainence model129#error Unknown cache maintenance model
130#endif130#endif
131 131
132#ifndef MULTI_CACHE132#ifndef MULTI_CACHE
arch/arm/include/asm/glue.h+2−2
@@ -10,8 +10,8 @@ · 9 unmodified lines
10 *10 *
11 * This file provides the glue to stick the processor-specific bits11 * This file provides the glue to stick the processor-specific bits
12 * into the kernel in an efficient manner. The idea is to use branches12 * 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 calls13 * when we're only targeting one class of TLB, or indirect calls
14 * when we're targetting multiple classes of TLBs.14 * when we're targeting multiple classes of TLBs.
15 */15 */
16#ifdef __KERNEL__16#ifdef __KERNEL__
17 17
arch/arm/include/asm/hardware/pl080.h+1−1
@@ -16,7 +16,7 @@ · 15 unmodified lines
16 * make it not entierly compatible with the PL080 specification from16 * make it not entierly compatible with the PL080 specification from
17 * ARM. When in doubt, check the Samsung documentation first.17 * ARM. When in doubt, check the Samsung documentation first.
18 *18 *
19 * The Samsung defines are PL080S, and add an extra controll register,19 * The Samsung defines are PL080S, and add an extra control register,
20 * the ability to move more than 2^11 counts of data and some extra20 * the ability to move more than 2^11 counts of data and some extra
21 * OneNAND features.21 * OneNAND features.
22*/22*/
arch/arm/include/asm/hardware/timer-sp.h+2−2
@@ -1,2 +1,2 @@
1void sp804_clocksource_init(void __iomem *);1void sp804_clocksource_init(void __iomem *, const char *);
2void sp804_clockevents_init(void __iomem *, unsigned int);2void 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
10extern 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
39struct kprobe;39struct kprobe;
40typedef void (kprobe_insn_handler_t)(struct kprobe *, struct pt_regs *);40typedef void (kprobe_insn_handler_t)(struct kprobe *, struct pt_regs *);
41 41
42typedef unsigned long (kprobe_check_cc)(unsigned long);
43
42/* Architecture specific copy of original instruction. */44/* Architecture specific copy of original instruction. */
43struct arch_specific_insn {45struct arch_specific_insn {
44 kprobe_opcode_t *insn;46 kprobe_opcode_t *insn;
45 kprobe_insn_handler_t *insn_handler;47 kprobe_insn_handler_t *insn_handler;
48 kprobe_check_cc *insn_check_cc;
46};49};
47 50
48struct prev_kprobe {51struct prev_kprobe {
arch/arm/include/asm/mach/arch.h+9−0
@@ -18,6 +18,8 @@ struct machine_desc { · 17 unmodified lines
18 unsigned int nr; /* architecture number */18 unsigned int nr; /* architecture number */
19 const char *name; /* architecture name */19 const char *name; /* architecture name */
20 unsigned long boot_params; /* tagged list */20 unsigned long boot_params; /* tagged list */
21 const char **dt_compat; /* array of device tree
22 * 'compatible' strings */
21 23
22 unsigned int nr_irqs; /* number of IRQs */24 unsigned int nr_irqs; /* number of IRQs */
23 25
@@ -47,6 +49,13 @@ struct machine_desc { · 23 unmodified lines
47 */49 */
48extern struct machine_desc *machine_desc;50extern struct machine_desc *machine_desc;
49 51
52/*
53 * Machine type table - also only accessible during boot
54 */
55extern 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
50/*59/*
51 * Set of macros to define architecture features. This is built into60 * Set of macros to define architecture features. This is built into
52 * a table by the linker.61 * a table by the linker.
arch/arm/include/asm/mach/time.h+0−1
@@ -34,7 +34,6 @@ · 33 unmodified lines
34 * timer interrupt which may be pending.34 * timer interrupt which may be pending.
35 */35 */
36struct sys_timer {36struct sys_timer {
37 struct sys_device dev;
38 void (*init)(void);37 void (*init)(void);
39 void (*suspend)(void);38 void (*suspend)(void);
40 void (*resume)(void);39 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
20 * VBUS IRQ and omit the methods above. Store the GPIO number20 * VBUS IRQ and omit the methods above. Store the GPIO number
21 * here. Note that sometimes the signals go through inverters...21 * here. Note that sometimes the signals go through inverters...
22 */22 */
23 bool gpio_vbus_inverted;
24 int gpio_vbus; /* high == vbus present */
25 bool gpio_pullup_inverted;23 bool gpio_pullup_inverted;
26 int gpio_pullup; /* high == pullup activated */24 int gpio_pullup; /* high == pullup activated */
27};25};
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
209 * allocations. This must be the smallest DMA mask in the system,209 * allocations. This must be the smallest DMA mask in the system,
210 * so a successful GFP_DMA allocation will always satisfy this.210 * so a successful GFP_DMA allocation will always satisfy this.
211 */211 */
212#ifndef ISA_DMA_THRESHOLD212#ifndef ARM_DMA_ZONE_SIZE
213#define ISA_DMA_THRESHOLD (0xffffffffULL)213#define ISA_DMA_THRESHOLD (0xffffffffULL)
214#endif214#else
215 215#define ISA_DMA_THRESHOLD (PHYS_OFFSET + ARM_DMA_ZONE_SIZE - 1)
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"
220#endif216#endif
221 217
222/*218/*
arch/arm/include/asm/page.h+1−1
@@ -197,7 +197,7 @@ typedef unsigned long pgprot_t; · 196 unmodified lines
197 197
198typedef struct page *pgtable_t;198typedef struct page *pgtable_t;
199 199
200#ifndef CONFIG_SPARSEMEM200#ifdef CONFIG_HAVE_ARCH_PFN_VALID
201extern int pfn_valid(unsigned long);201extern int pfn_valid(unsigned long);
202#endif202#endif
203 203
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
19static inline void irq_dispose_mapping(unsigned int virq)
20{
21 return;
22}
23
24extern struct machine_desc *setup_machine_fdt(unsigned int dt_phys);
25extern void arm_dt_memblock_reserve(void);
26
27#else /* CONFIG_OF */
28
29static inline struct machine_desc *setup_machine_fdt(unsigned int dt_phys)
30{
31 return NULL;
32}
33
34static 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
128#define ARM_r0 uregs[0]128#define ARM_r0 uregs[0]
129#define ARM_ORIG_r0 uregs[17]129#define ARM_ORIG_r0 uregs[17]
130 130
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
131#ifdef __KERNEL__137#ifdef __KERNEL__
132 138
133#define user_mode(regs) \139#define user_mode(regs) \
arch/arm/include/asm/setup.h+4−0
@@ -217,6 +217,10 @@ extern struct meminfo meminfo; · 216 unmodified lines
217#define bank_phys_end(bank) ((bank)->start + (bank)->size)217#define bank_phys_end(bank) ((bank)->start + (bank)->size)
218#define bank_phys_size(bank) (bank)->size218#define bank_phys_size(bank) (bank)->size
219 219
220extern int arm_add_memory(phys_addr_t start, unsigned long size);
221extern void early_print(const char *str, ...);
222extern void dump_machine_table(void);
223
220#endif /* __KERNEL__ */224#endif /* __KERNEL__ */
221 225
222#endif226#endif
arch/arm/include/asm/sizes.h+2−40
@@ -16,44 +16,6 @@ · 15 unmodified lines
16/* Size definitions16/* Size definitions
17 * Copyright (C) ARM Limited 1998. All rights reserved.17 * Copyright (C) ARM Limited 1998. All rights reserved.
18 */18 */
19#include <asm-generic/sizes.h>
19 20
20#ifndef __sizes_h21#define SZ_48M (SZ_32M + SZ_16M)
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 */
arch/arm/include/asm/smp.h+3−10
@@ -14,20 +14,12 @@ · 13 unmodified lines
14#include <linux/cpumask.h>14#include <linux/cpumask.h>
15#include <linux/thread_info.h>15#include <linux/thread_info.h>
16 16
17#include <mach/smp.h>
18
19#ifndef CONFIG_SMP17#ifndef CONFIG_SMP
20# error "<asm/smp.h> included in non-SMP build"18# error "<asm/smp.h> included in non-SMP build"
21#endif19#endif
22 20
23#define raw_smp_processor_id() (current_thread_info()->cpu)21#define raw_smp_processor_id() (current_thread_info()->cpu)
24 22
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
31struct seq_file;23struct seq_file;
32 24
33/*25/*
@@ -47,9 +39,9 @@ extern void smp_init_cpus(void); · 13 unmodified lines
47 39
48 40
49/*41/*
50 * Raise an IPI cross call on CPUs in callmap.42 * Provide a function to raise an IPI cross call on CPUs in callmap.
51 */43 */
52extern void smp_cross_call(const struct cpumask *mask, int ipi);44extern void set_smp_cross_call(void (*)(const struct cpumask *, unsigned int));
53 45
54/*46/*
55 * Boot a secondary CPU, and assign it the specified idle task.47 * 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
78 */70 */
79struct secondary_data {71struct secondary_data {
80 unsigned long pgdir;72 unsigned long pgdir;
73 unsigned long swapper_pg_dir;
81 void *stack;74 void *stack;
82};75};
83extern struct secondary_data secondary_data;76extern struct secondary_data secondary_data;
arch/arm/include/asm/spinlock.h+2−0
@@ -5,6 +5,8 @@ · 4 unmodified lines
5#error SMP not supported on pre-ARMv6 CPUs5#error SMP not supported on pre-ARMv6 CPUs
6#endif6#endif
7 7
8#include <asm/processor.h>
9
8/*10/*
9 * sev and wfe are ARMv6K extensions. Uniprocessor ARMv6 may not have the K11 * sev and wfe are ARMv6K extensions. Uniprocessor ARMv6 may not have the K
10 * extensions, so when running on UP, we have to patch these instructions away.12 * 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
159#include <mach/barriers.h>159#include <mach/barriers.h>
160#elif defined(CONFIG_ARM_DMA_MEM_BUFFERABLE) || defined(CONFIG_SMP)160#elif defined(CONFIG_ARM_DMA_MEM_BUFFERABLE) || defined(CONFIG_SMP)
161#define mb() do { dsb(); outer_sync(); } while (0)161#define mb() do { dsb(); outer_sync(); } while (0)
162#define rmb() dmb()162#define rmb() dsb()
163#define wmb() mb()163#define wmb() mb()
164#else164#else
165#include <asm/memory.h>165#include <asm/memory.h>
@@ -249,7 +249,7 @@ do { \ · 83 unmodified lines
249 * cache totally. This means that the cache becomes inconsistent, and,249 * cache totally. This means that the cache becomes inconsistent, and,
250 * since we use normal loads/stores as well, this is really bad.250 * since we use normal loads/stores as well, this is really bad.
251 * Typically, this causes oopsen in filp_close, but could have other,251 * 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:
253 * 1. Disable interrupts and emulate the atomic swap253 * 1. Disable interrupts and emulate the atomic swap
254 * 2. Clean the cache, perform atomic swap, flush the cache254 * 2. Clean the cache, perform atomic swap, flush the cache
255 *255 *
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
43#define THREAD_NOTIFY_FLUSH 043#define THREAD_NOTIFY_FLUSH 0
44#define THREAD_NOTIFY_EXIT 144#define THREAD_NOTIFY_EXIT 1
45#define THREAD_NOTIFY_SWITCH 245#define THREAD_NOTIFY_SWITCH 2
46#define THREAD_NOTIFY_COPY 3
46 47
47#endif48#endif
48#endif49#endif
arch/arm/include/asm/tlb.h+37−16
@@ -41,12 +41,12 @@ · 40 unmodified lines
41 */41 */
42#if defined(CONFIG_SMP) || defined(CONFIG_CPU_32v7)42#if defined(CONFIG_SMP) || defined(CONFIG_CPU_32v7)
43#define tlb_fast_mode(tlb) 043#define tlb_fast_mode(tlb) 0
44#define FREE_PTE_NR 500
45#else44#else
46#define tlb_fast_mode(tlb) 145#define tlb_fast_mode(tlb) 1
47#define FREE_PTE_NR 0
48#endif46#endif
49 47
48#define MMU_GATHER_BUNDLE 8
49
50/*50/*
51 * TLB handling. This allows us to remove pages from the page51 * TLB handling. This allows us to remove pages from the page
52 * tables, and efficiently handle the TLB issues.52 * tables, and efficiently handle the TLB issues.
@@ -58,7 +58,9 @@ struct mmu_gather { · 5 unmodified lines
58 unsigned long range_start;58 unsigned long range_start;
59 unsigned long range_end;59 unsigned long range_end;
60 unsigned int nr;60 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];
62};64};
63 65
64DECLARE_PER_CPU(struct mmu_gather, mmu_gathers);66DECLARE_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
97 }99 }
98}100}
99 101
102static 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
100static inline void tlb_flush_mmu(struct mmu_gather *tlb)112static inline void tlb_flush_mmu(struct mmu_gather *tlb)
101{113{
102 tlb_flush(tlb);114 tlb_flush(tlb);
103 if (!tlb_fast_mode(tlb)) {115 if (!tlb_fast_mode(tlb)) {
104 free_pages_and_swap_cache(tlb->pages, tlb->nr);116 free_pages_and_swap_cache(tlb->pages, tlb->nr);
105 tlb->nr = 0;117 tlb->nr = 0;
118 if (tlb->pages == tlb->local)
119 __tlb_alloc_page(tlb);
106 }120 }
107}121}
108 122
109static inline struct mmu_gather *123static inline void
110tlb_gather_mmu(struct mm_struct *mm, unsigned int full_mm_flush)124tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned int fullmm)
111{125{
112 struct mmu_gather *tlb = &get_cpu_var(mmu_gathers);
113
114 tlb->mm = mm;126 tlb->mm = mm;
115 tlb->fullmm = full_mm_flush;127 tlb->fullmm = fullmm;
116 tlb->vma = NULL;128 tlb->vma = NULL;
129 tlb->max = ARRAY_SIZE(tlb->local);
130 tlb->pages = tlb->local;
117 tlb->nr = 0;131 tlb->nr = 0;
118 132 __tlb_alloc_page(tlb);
119 return tlb;
120}133}
121 134
122static inline void135static inline void
@@ -127,7 +140,8 @@ tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start, unsigned long end) · 4 unmodified lines
127 /* keep the page table cache within bounds */140 /* keep the page table cache within bounds */
128 check_pgt_cache();141 check_pgt_cache();
129 142
130 put_cpu_var(mmu_gathers);143 if (tlb->pages != tlb->local)
144 free_pages((unsigned long)tlb->pages, 0);
131}145}
132 146
133/*147/*
@@ -162,15 +176,22 @@ tlb_end_vma(struct mmu_gather *tlb, struct vm_area_struct *vma) · 28 unmodified lines
162 tlb_flush(tlb);176 tlb_flush(tlb);
163}177}
164 178
165static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page)179static inline int __tlb_remove_page(struct mmu_gather *tlb, struct page *page)
166{180{
167 if (tlb_fast_mode(tlb)) {181 if (tlb_fast_mode(tlb)) {
168 free_page_and_swap_cache(page);182 free_page_and_swap_cache(page);
169 } else {183 return 1; /* avoid calling tlb_flush_mmu */
170 tlb->pages[tlb->nr++] = page;
171 if (tlb->nr >= FREE_PTE_NR)
172 tlb_flush_mmu(tlb);
173 }184 }
185
186 tlb->pages[tlb->nr++] = page;
187 VM_BUG_ON(tlb->nr > tlb->max);
188 return tlb->max - tlb->nr;
189}
190
191static 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);
174}195}
175 196
176static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte,197static 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
47#endif47#endif
48 48
49#ifdef CONFIG_IWMMXT49#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 */
51#define IWMMXT_MAGIC 0x12ef842a51#define IWMMXT_MAGIC 0x12ef842a
52#define IWMMXT_STORAGE_SIZE (IWMMXT_SIZE + 8)52#define IWMMXT_STORAGE_SIZE (IWMMXT_SIZE + 8)
53 53
arch/arm/include/asm/unistd.h+6−0
@@ -396,6 +396,12 @@ · 395 unmodified lines
396#define __NR_fanotify_init (__NR_SYSCALL_BASE+367)396#define __NR_fanotify_init (__NR_SYSCALL_BASE+367)
397#define __NR_fanotify_mark (__NR_SYSCALL_BASE+368)397#define __NR_fanotify_mark (__NR_SYSCALL_BASE+368)
398#define __NR_prlimit64 (__NR_SYSCALL_BASE+369)398#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)
399 405
400/*406/*
401 * The following SWIs are ARM private.407 * 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
24 24
25obj-$(CONFIG_ISA_DMA_API) += dma.o25obj-$(CONFIG_ISA_DMA_API) += dma.o
26obj-$(CONFIG_ARCH_ACORN) += ecard.o 26obj-$(CONFIG_ARCH_ACORN) += ecard.o
27obj-$(CONFIG_FIQ) += fiq.o27obj-$(CONFIG_FIQ) += fiq.o fiqasm.o
28obj-$(CONFIG_MODULES) += armksyms.o module.o28obj-$(CONFIG_MODULES) += armksyms.o module.o
29obj-$(CONFIG_ARTHUR) += arthur.o29obj-$(CONFIG_ARTHUR) += arthur.o
30obj-$(CONFIG_ISA_DMA) += dma-isa.o30obj-$(CONFIG_ISA_DMA) += dma-isa.o
31obj-$(CONFIG_PCI) += bios32.o isa.o31obj-$(CONFIG_PCI) += bios32.o isa.o
32obj-$(CONFIG_PM) += sleep.o32obj-$(CONFIG_PM_SLEEP) += sleep.o
33obj-$(CONFIG_HAVE_SCHED_CLOCK) += sched_clock.o33obj-$(CONFIG_HAVE_SCHED_CLOCK) += sched_clock.o
34obj-$(CONFIG_SMP) += smp.o smp_tlb.o34obj-$(CONFIG_SMP) += smp.o smp_tlb.o
35obj-$(CONFIG_HAVE_ARM_SCU) += smp_scu.o35obj-$(CONFIG_HAVE_ARM_SCU) += smp_scu.o
@@ -44,6 +44,7 @@ obj-$(CONFIG_ARM_THUMBEE) += thumbee.o · 8 unmodified lines
44obj-$(CONFIG_KGDB) += kgdb.o44obj-$(CONFIG_KGDB) += kgdb.o
45obj-$(CONFIG_ARM_UNWIND) += unwind.o45obj-$(CONFIG_ARM_UNWIND) += unwind.o
46obj-$(CONFIG_HAVE_TCM) += tcm.o46obj-$(CONFIG_HAVE_TCM) += tcm.o
47obj-$(CONFIG_OF) += devtree.o
47obj-$(CONFIG_CRASH_DUMP) += crash_dump.o48obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
48obj-$(CONFIG_SWP_EMULATE) += swp_emulate.o49obj-$(CONFIG_SWP_EMULATE) += swp_emulate.o
49CFLAGS_swp_emulate.o := -Wa,-march=armv7-a50CFLAGS_swp_emulate.o := -Wa,-march=armv7-a
arch/arm/kernel/calls.S+6−0
@@ -379,6 +379,12 @@ · 378 unmodified lines
379 CALL(sys_fanotify_init)379 CALL(sys_fanotify_init)
380 CALL(sys_fanotify_mark)380 CALL(sys_fanotify_mark)
381 CALL(sys_prlimit64)381 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)
382#ifndef syscalls_counted388#ifndef syscalls_counted
383.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls389.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
384#define syscalls_counted390#define syscalls_counted
arch/arm/kernel/debug.S+1−18
@@ -25,7 +25,7 @@ · 24 unmodified lines
25 .macro addruart, rp, rv25 .macro addruart, rp, rv
26 .endm26 .endm
27 27
28#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K)28#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7)
29 29
30 .macro senduart, rd, rx30 .macro senduart, rd, rx
31 mcr p14, 0, \rd, c0, c5, 031 mcr p14, 0, \rd, c0, c5, 0
@@ -49,23 +49,6 @@ · 17 unmodified lines
491002:491002:
50 .endm50 .endm
51 51
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
59busy: mrc p14, 0, pc, c0, c1, 0
60 bcs busy
61 .endm
62
63 .macro waituart, rd, rx
64wait: mrc p14, 0, pc, c0, c1, 0
65 bcs wait
66
67 .endm
68
69#elif defined(CONFIG_CPU_XSCALE)52#elif defined(CONFIG_CPU_XSCALE)
70 53
71 .macro senduart, rd, rx54 .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
27void __init early_init_dt_add_memory_arch(u64 base, u64 size)
28{
29 arm_add_memory(base, size);
30}
31
32void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
33{
34 return alloc_bootmem_align(size, align);
35}
36
37void __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 */
71struct 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 */
140unsigned int irq_create_of_mapping(struct device_node *controller,
141 const u32 *intspec, unsigned int intsize)
142{
143 return intspec[0];
144}
145EXPORT_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
40void elf_set_personality(const struct elf32_hdr *x)40void elf_set_personality(const struct elf32_hdr *x)
41{41{
42 unsigned int eflags = x->e_flags;42 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;
44 50
45 /*51 /*
46 * APCS-26 is only valid for OABI executables52 * APCS-26 is only valid for OABI executables
47 */53 */
48 if ((eflags & EF_ARM_EABI_MASK) == EF_ARM_EABI_UNKNOWN) {54 if ((eflags & EF_ARM_EABI_MASK) == EF_ARM_EABI_UNKNOWN &&
49 if (eflags & EF_ARM_APCS_26)55 (eflags & EF_ARM_APCS_26))
50 personality = PER_LINUX;56 personality &= ~ADDR_LIMIT_32BIT;
51 }57 else
58 personality |= ADDR_LIMIT_32BIT;
52 59
53 set_personality(personality);60 set_personality(personality);
54 61
arch/arm/kernel/etm.c+2−2
@@ -338,7 +338,7 @@ static struct miscdevice etb_miscdev = { · 337 unmodified lines
338 .fops = &etb_fops,338 .fops = &etb_fops,
339};339};
340 340
341static int __init etb_probe(struct amba_device *dev, const struct amba_id *id)341static int __devinit etb_probe(struct amba_device *dev, const struct amba_id *id)
342{342{
343 struct tracectx *t = &tracer;343 struct tracectx *t = &tracer;
344 int ret = 0;344 int ret = 0;
@@ -530,7 +530,7 @@ static ssize_t trace_mode_store(struct kobject *kobj, · 185 unmodified lines
530static struct kobj_attribute trace_mode_attr =530static struct kobj_attribute trace_mode_attr =
531 __ATTR(trace_mode, 0644, trace_mode_show, trace_mode_store);531 __ATTR(trace_mode, 0644, trace_mode_show, trace_mode_store);
532 532
533static int __init etm_probe(struct amba_device *dev, const struct amba_id *id)533static int __devinit etm_probe(struct amba_device *dev, const struct amba_id *id)
534{534{
535 struct tracectx *t = &tracer;535 struct tracectx *t = &tracer;
536 int ret = 0;536 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
89 flush_icache_range(0x1c, 0x1c + length);89 flush_icache_range(0x1c, 0x1c + length);
90}90}
91 91
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 */
97void __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
115void __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
133int claim_fiq(struct fiq_handler *f)92int claim_fiq(struct fiq_handler *f)
134{93{
135 int ret = 0;94 int ret = 0;
@@ -174,8 +133,8 @@ void disable_fiq(int fiq) · 38 unmodified lines
174}133}
175 134
176EXPORT_SYMBOL(set_fiq_handler);135EXPORT_SYMBOL(set_fiq_handler);
177EXPORT_SYMBOL(set_fiq_regs);136EXPORT_SYMBOL(__set_fiq_regs); /* defined in fiqasm.S */
178EXPORT_SYMBOL(get_fiq_regs);137EXPORT_SYMBOL(__get_fiq_regs); /* defined in fiqasm.S */
179EXPORT_SYMBOL(claim_fiq);138EXPORT_SYMBOL(claim_fiq);
180EXPORT_SYMBOL(release_fiq);139EXPORT_SYMBOL(release_fiq);
181EXPORT_SYMBOL(enable_fiq);140EXPORT_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
25ENTRY(__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
36ENDPROC(__set_fiq_regs)
37
38ENTRY(__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
49ENDPROC(__get_fiq_regs)
arch/arm/kernel/head-common.S+18−6
@@ -15,6 +15,12 @@ · 14 unmodified lines
15#define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2)15#define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2)
16#define ATAG_CORE_SIZE_EMPTY ((2*4) >> 2)16#define ATAG_CORE_SIZE_EMPTY ((2*4) >> 2)
17 17
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
18/*24/*
19 * Exception handling. Something went wrong and we can't proceed. We25 * Exception handling. Something went wrong and we can't proceed. We
20 * ought to tell the user, but since we don't have any guarantee that26 * ought to tell the user, but since we don't have any guarantee that
@@ -28,20 +34,26 @@ · 7 unmodified lines
28 34
29/* Determine validity of the r2 atags pointer. The heuristic requires35/* Determine validity of the r2 atags pointer. The heuristic requires
30 * that the pointer be aligned, in the first 16k of physical RAM and36 * that the pointer be aligned, in the first 16k of physical RAM and
31 * that the ATAG_CORE marker is first and present. Future revisions37 * 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
32 * of this function may be more lenient with the physical address and39 * of this function may be more lenient with the physical address and
33 * may also be able to move the ATAGS block if necessary.40 * may also be able to move the ATAGS block if necessary.
34 *41 *
35 * Returns:42 * Returns:
36 * r2 either valid atags pointer, or zero43 * r2 either valid atags pointer, valid dtb pointer, or zero
37 * r5, r6 corrupted44 * r5, r6 corrupted
38 */45 */
39__vet_atags:46__vet_atags:
40 tst r2, #0x3 @ aligned?47 tst r2, #0x3 @ aligned?
41 bne 1f48 bne 1f
42 49
43 ldr r5, [r2, #0] @ is first tag ATAG_CORE?50 ldr r5, [r2, #0]
44 cmp r5, #ATAG_CORE_SIZE51#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?
45 cmpne r5, #ATAG_CORE_SIZE_EMPTY57 cmpne r5, #ATAG_CORE_SIZE_EMPTY
46 bne 1f58 bne 1f
47 ldr r5, [r2, #4]59 ldr r5, [r2, #4]
@@ -49,7 +61,7 @@ __vet_atags: · 1 unmodified line
49 cmp r5, r661 cmp r5, r6
50 bne 1f62 bne 1f
51 63
52 mov pc, lr @ atag pointer is ok642: mov pc, lr @ atag/dtb pointer is ok
53 65
541: mov r2, #0661: mov r2, #0
55 mov pc, lr67 mov pc, lr
@@ -61,7 +73,7 @@ ENDPROC(__vet_atags) · 5 unmodified lines
61 *73 *
62 * r0 = cp#15 control register74 * r0 = cp#15 control register
63 * r1 = machine ID75 * r1 = machine ID
64 * r2 = atags pointer76 * r2 = atags/dtb pointer
65 * r9 = processor ID77 * r9 = processor ID
66 */78 */
67 __INIT79 __INIT
arch/arm/kernel/head.S+9−6
@@ -59,7 +59,7 @@ · 58 unmodified lines
59 *59 *
60 * This is normally called from the decompressor code. The requirements60 * This is normally called from the decompressor code. The requirements
61 * are: MMU = off, D-cache = off, I-cache = dont care, r0 = 0,61 * 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.
63 *63 *
64 * This code is mostly position independent, so if you link the kernel at64 * This code is mostly position independent, so if you link the kernel at
65 * 0xc0008000, you call this at __pa(0xc0008000).65 * 0xc0008000, you call this at __pa(0xc0008000).
@@ -91,7 +91,7 @@ ENTRY(stext) · 25 unmodified lines
91#endif91#endif
92 92
93 /*93 /*
94 * r1 = machine no, r2 = atags,94 * r1 = machine no, r2 = atags or dtb,
95 * r8 = phys_offset, r9 = cpuid, r10 = procinfo95 * r8 = phys_offset, r9 = cpuid, r10 = procinfo
96 */96 */
97 bl __vet_atags97 bl __vet_atags
@@ -113,6 +113,7 @@ ENTRY(stext) · 15 unmodified lines
113 ldr r13, =__mmap_switched @ address to jump to after113 ldr r13, =__mmap_switched @ address to jump to after
114 @ mmu has been enabled114 @ mmu has been enabled
115 adr lr, BSYM(1f) @ return (PIC) address115 adr lr, BSYM(1f) @ return (PIC) address
116 mov r8, r4 @ set TTBR1 to swapper_pg_dir
116 ARM( add pc, r10, #PROCINFO_INITFUNC )117 ARM( add pc, r10, #PROCINFO_INITFUNC )
117 THUMB( add r12, r10, #PROCINFO_INITFUNC )118 THUMB( add r12, r10, #PROCINFO_INITFUNC )
118 THUMB( mov pc, r12 )119 THUMB( mov pc, r12 )
@@ -302,8 +303,10 @@ ENTRY(secondary_startup) · 183 unmodified lines
302 */303 */
303 adr r4, __secondary_data304 adr r4, __secondary_data
304 ldmia r4, {r5, r7, r12} @ address to jump to after305 ldmia r4, {r5, r7, r12} @ address to jump to after
305 sub r4, r4, r5 @ mmu has been enabled306 sub lr, r4, r5 @ mmu has been enabled
306 ldr r4, [r7, r4] @ get secondary_data.pgdir307 ldr r4, [r7, lr] @ get secondary_data.pgdir
308 add r7, r7, #4
309 ldr r8, [r7, lr] @ get secondary_data.swapper_pg_dir
307 adr lr, BSYM(__enable_mmu) @ return address310 adr lr, BSYM(__enable_mmu) @ return address
308 mov r13, r12 @ __secondary_switched address311 mov r13, r12 @ __secondary_switched address
309 ARM( add pc, r10, #PROCINFO_INITFUNC ) @ initialise processor312 ARM( add pc, r10, #PROCINFO_INITFUNC ) @ initialise processor
@@ -339,7 +342,7 @@ __secondary_data: · 29 unmodified lines
339 *342 *
340 * r0 = cp#15 control register343 * r0 = cp#15 control register
341 * r1 = machine ID344 * r1 = machine ID
342 * r2 = atags pointer345 * r2 = atags or dtb pointer
343 * r4 = page table pointer346 * r4 = page table pointer
344 * r9 = processor ID347 * r9 = processor ID
345 * r13 = *virtual* address to jump to upon completion348 * r13 = *virtual* address to jump to upon completion
@@ -376,7 +379,7 @@ ENDPROC(__enable_mmu) · 30 unmodified lines
376 *379 *
377 * r0 = cp#15 control register380 * r0 = cp#15 control register
378 * r1 = machine ID381 * r1 = machine ID
379 * r2 = atags pointer382 * r2 = atags or dtb pointer
380 * r9 = processor ID383 * r9 = processor ID
381 * r13 = *virtual* address to jump to upon completion384 * r13 = *virtual* address to jump to upon completion
382 *385 *
arch/arm/kernel/hw_breakpoint.c+7−0
@@ -868,6 +868,13 @@ static void reset_ctrl_regs(void *info) · 867 unmodified lines
868 */868 */
869 asm volatile("mcr p14, 0, %0, c1, c0, 4" : : "r" (0));869 asm volatile("mcr p14, 0, %0, c1, c0, 4" : : "r" (0));
870 isb();870 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();
871 }878 }
872 879
873 if (enable_monitor_mode())880 if (enable_monitor_mode())
arch/arm/kernel/kprobes-decode.c+463−324
@@ -34,9 +34,6 @@ · 33 unmodified lines
34 *34 *
35 * *) If the PC is written to by the instruction, the35 * *) If the PC is written to by the instruction, the
36 * instruction must be fully simulated in software.36 * 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.
40 *37 *
41 * *) Otherwise, a modified form of the instruction is38 * *) Otherwise, a modified form of the instruction is
42 * directly executed. Its handler calls the39 * directly executed. Its handler calls the
@@ -68,13 +65,17 @@ · 25 unmodified lines
68 65
69#define branch_displacement(insn) sign_extend(((insn) & 0xffffff) << 2, 25)66#define branch_displacement(insn) sign_extend(((insn) & 0xffffff) << 2, 25)
70 67
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
71#define PSR_fs (PSR_f|PSR_s)76#define PSR_fs (PSR_f|PSR_s)
72 77
73#define KPROBE_RETURN_INSTRUCTION 0xe1a0f00e /* mov pc, lr */78#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))
78 79
79typedef long (insn_0arg_fn_t)(void);80typedef long (insn_0arg_fn_t)(void);
80typedef long (insn_1arg_fn_t)(long);81typedef 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
419 420
420static void __kprobes simulate_bbl(struct kprobe *p, struct pt_regs *regs)421static void __kprobes simulate_bbl(struct kprobe *p, struct pt_regs *regs)
421{422{
422 insn_1arg_fn_t *i_fn = (insn_1arg_fn_t *)&p->ainsn.insn[0];
423 kprobe_opcode_t insn = p->opcode;423 kprobe_opcode_t insn = p->opcode;
424 long iaddr = (long)p->addr;424 long iaddr = (long)p->addr;
425 int disp = branch_displacement(insn);425 int disp = branch_displacement(insn);
426 426
427 if (!insnslot_1arg_rflags(0, regs->ARM_cpsr, i_fn))
428 return;
429
430 if (insn & (1 << 24))427 if (insn & (1 << 24))
431 regs->ARM_lr = iaddr + 4;428 regs->ARM_lr = iaddr + 4;
432 429
@@ -446,14 +443,10 @@ static void __kprobes simulate_blx1(struct kprobe *p, struct pt_regs *regs) · 13 unmodified lines
446 443
447static void __kprobes simulate_blx2bx(struct kprobe *p, struct pt_regs *regs)444static void __kprobes simulate_blx2bx(struct kprobe *p, struct pt_regs *regs)
448{445{
449 insn_1arg_fn_t *i_fn = (insn_1arg_fn_t *)&p->ainsn.insn[0];
450 kprobe_opcode_t insn = p->opcode;446 kprobe_opcode_t insn = p->opcode;
451 int rm = insn & 0xf;447 int rm = insn & 0xf;
452 long rmv = regs->uregs[rm];448 long rmv = regs->uregs[rm];
453 449
454 if (!insnslot_1arg_rflags(0, regs->ARM_cpsr, i_fn))
455 return;
456
457 if (insn & (1 << 5))450 if (insn & (1 << 5))
458 regs->ARM_lr = (long)p->addr + 4;451 regs->ARM_lr = (long)p->addr + 4;
459 452
@@ -463,9 +456,16 @@ static void __kprobes simulate_blx2bx(struct kprobe *p, struct pt_regs *regs) · 3 unmodified lines
463 regs->ARM_cpsr |= PSR_T_BIT;456 regs->ARM_cpsr |= PSR_T_BIT;
464}457}
465 458
459static 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
466static void __kprobes simulate_ldm1stm1(struct kprobe *p, struct pt_regs *regs)467static void __kprobes simulate_ldm1stm1(struct kprobe *p, struct pt_regs *regs)
467{468{
468 insn_1arg_fn_t *i_fn = (insn_1arg_fn_t *)&p->ainsn.insn[0];
469 kprobe_opcode_t insn = p->opcode;469 kprobe_opcode_t insn = p->opcode;
470 int rn = (insn >> 16) & 0xf;470 int rn = (insn >> 16) & 0xf;
471 int lbit = insn & (1 << 20);471 int lbit = insn & (1 << 20);
@@ -476,9 +476,6 @@ static void __kprobes simulate_ldm1stm1(struct kprobe *p, struct pt_regs *regs) · 4 unmodified lines
476 int reg_bit_vector;476 int reg_bit_vector;
477 int reg_count;477 int reg_count;
478 478
479 if (!insnslot_1arg_rflags(0, regs->ARM_cpsr, i_fn))
480 return;
481
482 reg_count = 0;479 reg_count = 0;
483 reg_bit_vector = insn & 0xffff;480 reg_bit_vector = insn & 0xffff;
484 while (reg_bit_vector) {481 while (reg_bit_vector) {
@@ -510,11 +507,6 @@ static void __kprobes simulate_ldm1stm1(struct kprobe *p, struct pt_regs *regs) · 25 unmodified lines
510 507
511static void __kprobes simulate_stm1_pc(struct kprobe *p, struct pt_regs *regs)508static void __kprobes simulate_stm1_pc(struct kprobe *p, struct pt_regs *regs)
512{509{
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
518 regs->ARM_pc = (long)p->addr + str_pc_offset;510 regs->ARM_pc = (long)p->addr + str_pc_offset;
519 simulate_ldm1stm1(p, regs);511 simulate_ldm1stm1(p, regs);
520 regs->ARM_pc = (long)p->addr + 4;512 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
525 regs->uregs[12] = regs->uregs[13];517 regs->uregs[12] = regs->uregs[13];
526}518}
527 519
528static 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
539static void __kprobes emulate_ldrd(struct kprobe *p, struct pt_regs *regs)520static void __kprobes emulate_ldrd(struct kprobe *p, struct pt_regs *regs)
540{521{
541 insn_2arg_fn_t *i_fn = (insn_2arg_fn_t *)&p->ainsn.insn[0];522 insn_2arg_fn_t *i_fn = (insn_2arg_fn_t *)&p->ainsn.insn[0];
542 kprobe_opcode_t insn = p->opcode;523 kprobe_opcode_t insn = p->opcode;
524 long ppc = (long)p->addr + 8;
543 int rd = (insn >> 12) & 0xf;525 int rd = (insn >> 12) & 0xf;
544 int rn = (insn >> 16) & 0xf;526 int rn = (insn >> 16) & 0xf;
545 int rm = insn & 0xf; /* rm may be invalid, don't care. */527 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];
546 530
547 /* Not following the C calling convention here, so need asm(). */531 /* Not following the C calling convention here, so need asm(). */
548 __asm__ __volatile__ (532 __asm__ __volatile__ (
@@ -554,29 +538,36 @@ static void __kprobes emulate_ldrd(struct kprobe *p, struct pt_regs *regs) · 5 unmodified lines
554 "str r0, %[rn] \n\t" /* in case of writeback */538 "str r0, %[rn] \n\t" /* in case of writeback */
555 "str r2, %[rd0] \n\t"539 "str r2, %[rd0] \n\t"
556 "str r3, %[rd1] \n\t"540 "str r3, %[rd1] \n\t"
557 : [rn] "+m" (regs->uregs[rn]),541 : [rn] "+m" (rnv),
558 [rd0] "=m" (regs->uregs[rd]),542 [rd0] "=m" (regs->uregs[rd]),
559 [rd1] "=m" (regs->uregs[rd+1])543 [rd1] "=m" (regs->uregs[rd+1])
560 : [rm] "m" (regs->uregs[rm]),544 : [rm] "m" (rmv),
561 [cpsr] "r" (regs->ARM_cpsr),545 [cpsr] "r" (regs->ARM_cpsr),
562 [i_fn] "r" (i_fn)546 [i_fn] "r" (i_fn)
563 : "r0", "r1", "r2", "r3", "lr", "cc"547 : "r0", "r1", "r2", "r3", "lr", "cc"
564 );548 );
549 if (is_writeback(insn))
550 regs->uregs[rn] = rnv;
565}551}
566 552
567static void __kprobes emulate_strd(struct kprobe *p, struct pt_regs *regs)553static void __kprobes emulate_strd(struct kprobe *p, struct pt_regs *regs)
568{554{
569 insn_4arg_fn_t *i_fn = (insn_4arg_fn_t *)&p->ainsn.insn[0];555 insn_4arg_fn_t *i_fn = (insn_4arg_fn_t *)&p->ainsn.insn[0];
570 kprobe_opcode_t insn = p->opcode;556 kprobe_opcode_t insn = p->opcode;
557 long ppc = (long)p->addr + 8;
571 int rd = (insn >> 12) & 0xf;558 int rd = (insn >> 12) & 0xf;
572 int rn = (insn >> 16) & 0xf;559 int rn = (insn >> 16) & 0xf;
573 int rm = insn & 0xf;560 int rm = insn & 0xf;
574 long rnv = regs->uregs[rn];561 long rnv = (rn == 15) ? ppc : regs->uregs[rn];
575 long rmv = regs->uregs[rm]; /* rm/rmv may be invalid, don't care. */562 /* rm/rmv may be invalid, don't care. */
563 long rmv = (rm == 15) ? ppc : regs->uregs[rm];
564 long rnv_wb;
576 565
577 regs->uregs[rn] = insnslot_4arg_rflags(rnv, rmv, regs->uregs[rd],566 rnv_wb = insnslot_4arg_rflags(rnv, rmv, regs->uregs[rd],
578 regs->uregs[rd+1],567 regs->uregs[rd+1],
579 regs->ARM_cpsr, i_fn);568 regs->ARM_cpsr, i_fn);
569 if (is_writeback(insn))
570 regs->uregs[rn] = rnv_wb;
580}571}
581 572
582static void __kprobes emulate_ldr(struct kprobe *p, struct pt_regs *regs)573static 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
594 long cpsr = regs->ARM_cpsr;585 long cpsr = regs->ARM_cpsr;
595 586
596 fnr.dr = insnslot_llret_3arg_rflags(rnv, 0, rmv, cpsr, i_fn);587 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. */
598 rdv = fnr.r1;590 rdv = fnr.r1;
599 591
600 if (rd == 15) {592 if (rd == 15) {
@@ -622,35 +614,11 @@ static void __kprobes emulate_str(struct kprobe *p, struct pt_regs *regs) · 21 unmodified lines
622 long rdv = (rd == 15) ? iaddr + str_pc_offset : regs->uregs[rd];614 long rdv = (rd == 15) ? iaddr + str_pc_offset : regs->uregs[rd];
623 long rnv = (rn == 15) ? iaddr + 8 : regs->uregs[rn];615 long rnv = (rn == 15) ? iaddr + 8 : regs->uregs[rn];
624 long rmv = regs->uregs[rm]; /* rm/rmv may be invalid, don't care. */616 long rmv = regs->uregs[rm]; /* rm/rmv may be invalid, don't care. */
617 long rnv_wb;
625 618
626 /* Save Rn in case of writeback. */619 rnv_wb = insnslot_3arg_rflags(rnv, rdv, rmv, regs->ARM_cpsr, i_fn);
627 regs->uregs[rn] =620 if (rn != 15)
628 insnslot_3arg_rflags(rnv, rdv, rmv, regs->ARM_cpsr, i_fn);621 regs->uregs[rn] = rnv_wb; /* Save Rn in case of writeback. */
629}
630
631static 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
644static 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);
654}622}
655 623
656static void __kprobes emulate_sat(struct kprobe *p, struct pt_regs *regs)624static 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
686 insnslot_0arg_rflags(regs->ARM_cpsr, i_fn);654 insnslot_0arg_rflags(regs->ARM_cpsr, i_fn);
687}655}
688 656
689static void __kprobes emulate_rd12(struct kprobe *p, struct pt_regs *regs)657static void __kprobes emulate_nop(struct kprobe *p, struct pt_regs *regs)
690{658{
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);
696}659}
697 660
698static void __kprobes emulate_ird12(struct kprobe *p, struct pt_regs *regs)661static void __kprobes
662emulate_rd12_modify(struct kprobe *p, struct pt_regs *regs)
699{663{
700 insn_1arg_fn_t *i_fn = (insn_1arg_fn_t *)&p->ainsn.insn[0];664 insn_1arg_fn_t *i_fn = (insn_1arg_fn_t *)&p->ainsn.insn[0];
701 kprobe_opcode_t insn = p->opcode;665 kprobe_opcode_t insn = p->opcode;
702 int ird = (insn >> 12) & 0xf;666 int rd = (insn >> 12) & 0xf;
667 long rdv = regs->uregs[rd];
703 668
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);
705}670}
706 671
707static void __kprobes emulate_rn16(struct kprobe *p, struct pt_regs *regs)672static void __kprobes
673emulate_rd12rn0_modify(struct kprobe *p, struct pt_regs *regs)
708{674{
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];
710 kprobe_opcode_t insn = p->opcode;676 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];
712 long rnv = regs->uregs[rn];680 long rnv = regs->uregs[rn];
713 681
714 insnslot_1arg_rflags(rnv, regs->ARM_cpsr, i_fn);682 regs->uregs[rd] = insnslot_2arg_rflags(rdv, rnv, regs->ARM_cpsr, i_fn);
715}683}
716 684
717static void __kprobes emulate_rd12rm0(struct kprobe *p, struct pt_regs *regs)685static 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
816 regs->uregs[rd] = insnslot_1arg_rwflags(rnv, &regs->ARM_cpsr, i_fn);784 regs->uregs[rd] = insnslot_1arg_rwflags(rnv, &regs->ARM_cpsr, i_fn);
817}785}
818 786
787static void __kprobes
788emulate_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
819static void __kprobes798static void __kprobes
820emulate_alu_rflags(struct kprobe *p, struct pt_regs *regs)799emulate_alu_rflags(struct kprobe *p, struct pt_regs *regs)
821{800{
@@ -852,14 +831,34 @@ emulate_alu_rwflags(struct kprobe *p, struct pt_regs *regs) · 30 unmodified lines
852 insnslot_3arg_rwflags(rnv, rmv, rsv, &regs->ARM_cpsr, i_fn);831 insnslot_3arg_rwflags(rnv, rmv, rsv, &regs->ARM_cpsr, i_fn);
853}832}
854 833
834static void __kprobes
835emulate_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
855static enum kprobe_insn __kprobes850static enum kprobe_insn __kprobes
856prep_emulate_ldr_str(kprobe_opcode_t insn, struct arch_specific_insn *asi)851prep_emulate_ldr_str(kprobe_opcode_t insn, struct arch_specific_insn *asi)
857{852{
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 */
859 858
860 insn &= 0xfff00fff;859 insn &= 0xfff00fff;
861 insn |= 0x00001000; /* Rn = r0, Rd = r1 */860 insn |= 0x00001000; /* Rn = r0, Rd = r1 */
862 if (insn & (1 << ibit)) {861 if (not_imm) {
863 insn &= ~0xf;862 insn &= ~0xf;
864 insn |= 2; /* Rm = r2 */863 insn |= 2; /* Rm = r2 */
865 }864 }
@@ -869,20 +868,40 @@ prep_emulate_ldr_str(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 3 unmodified lines
869}868}
870 869
871static enum kprobe_insn __kprobes870static enum kprobe_insn __kprobes
872prep_emulate_rd12rm0(kprobe_opcode_t insn, struct arch_specific_insn *asi)871prep_emulate_rd12_modify(kprobe_opcode_t insn, struct arch_specific_insn *asi)
873{872{
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 */
875 asi->insn[0] = insn;877 asi->insn[0] = insn;
876 asi->insn_handler = emulate_rd12rm0;878 asi->insn_handler = emulate_rd12_modify;
877 return INSN_GOOD;879 return INSN_GOOD;
878}880}
879 881
880static enum kprobe_insn __kprobes882static enum kprobe_insn __kprobes
881prep_emulate_rd12(kprobe_opcode_t insn, struct arch_specific_insn *asi)883prep_emulate_rd12rn0_modify(kprobe_opcode_t insn,
884 struct arch_specific_insn *asi)
882{885{
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
896static enum kprobe_insn __kprobes
897prep_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 */
884 asi->insn[0] = insn;903 asi->insn[0] = insn;
885 asi->insn_handler = emulate_rd12;904 asi->insn_handler = emulate_rd12rm0;
886 return INSN_GOOD;905 return INSN_GOOD;
887}906}
888 907
@@ -890,6 +909,9 @@ static enum kprobe_insn __kprobes · 1 unmodified line
890prep_emulate_rd12rn16rm0_wflags(kprobe_opcode_t insn,909prep_emulate_rd12rn16rm0_wflags(kprobe_opcode_t insn,
891 struct arch_specific_insn *asi)910 struct arch_specific_insn *asi)
892{911{
912 if (is_r15(insn, 12))
913 return INSN_REJECTED; /* Rd is PC */
914
893 insn &= 0xfff00ff0; /* Rd = r0, Rn = r0 */915 insn &= 0xfff00ff0; /* Rd = r0, Rn = r0 */
894 insn |= 0x00000001; /* Rm = r1 */916 insn |= 0x00000001; /* Rm = r1 */
895 asi->insn[0] = insn;917 asi->insn[0] = insn;
@@ -901,6 +923,9 @@ static enum kprobe_insn __kprobes · 5 unmodified lines
901prep_emulate_rd16rs8rm0_wflags(kprobe_opcode_t insn,923prep_emulate_rd16rs8rm0_wflags(kprobe_opcode_t insn,
902 struct arch_specific_insn *asi)924 struct arch_specific_insn *asi)
903{925{
926 if (is_r15(insn, 16))
927 return INSN_REJECTED; /* Rd is PC */
928
904 insn &= 0xfff0f0f0; /* Rd = r0, Rs = r0 */929 insn &= 0xfff0f0f0; /* Rd = r0, Rs = r0 */
905 insn |= 0x00000001; /* Rm = r1 */930 insn |= 0x00000001; /* Rm = r1 */
906 asi->insn[0] = insn;931 asi->insn[0] = insn;
@@ -912,6 +937,9 @@ static enum kprobe_insn __kprobes · 5 unmodified lines
912prep_emulate_rd16rn12rs8rm0_wflags(kprobe_opcode_t insn,937prep_emulate_rd16rn12rs8rm0_wflags(kprobe_opcode_t insn,
913 struct arch_specific_insn *asi)938 struct arch_specific_insn *asi)
914{939{
940 if (is_r15(insn, 16))
941 return INSN_REJECTED; /* Rd is PC */
942
915 insn &= 0xfff000f0; /* Rd = r0, Rn = r0 */943 insn &= 0xfff000f0; /* Rd = r0, Rn = r0 */
916 insn |= 0x00000102; /* Rs = r1, Rm = r2 */944 insn |= 0x00000102; /* Rs = r1, Rm = r2 */
917 asi->insn[0] = insn;945 asi->insn[0] = insn;
@@ -923,6 +951,9 @@ static enum kprobe_insn __kprobes · 5 unmodified lines
923prep_emulate_rdhi16rdlo12rs8rm0_wflags(kprobe_opcode_t insn,951prep_emulate_rdhi16rdlo12rs8rm0_wflags(kprobe_opcode_t insn,
924 struct arch_specific_insn *asi)952 struct arch_specific_insn *asi)
925{953{
954 if (is_r15(insn, 16) || is_r15(insn, 12))
955 return INSN_REJECTED; /* RdHi or RdLo is PC */
956
926 insn &= 0xfff000f0; /* RdHi = r0, RdLo = r1 */957 insn &= 0xfff000f0; /* RdHi = r0, RdLo = r1 */
927 insn |= 0x00001203; /* Rs = r2, Rm = r3 */958 insn |= 0x00001203; /* Rs = r2, Rm = r3 */
928 asi->insn[0] = insn;959 asi->insn[0] = insn;
@@ -943,20 +974,13 @@ prep_emulate_rdhi16rdlo12rs8rm0_wflags(kprobe_opcode_t insn, · 14 unmodified lines
943static enum kprobe_insn __kprobes974static enum kprobe_insn __kprobes
944space_1111(kprobe_opcode_t insn, struct arch_specific_insn *asi)975space_1111(kprobe_opcode_t insn, struct arch_specific_insn *asi)
945{976{
946 /* CPS mmod == 1 : 1111 0001 0000 xx10 xxxx xxxx xx0x xxxx */977 /* memory hint : 1111 0100 x001 xxxx xxxx xxxx xxxx xxxx : */
947 /* RFE : 1111 100x x0x1 xxxx xxxx 1010 xxxx xxxx */978 /* PLDI : 1111 0100 x101 xxxx xxxx xxxx xxxx xxxx : */
948 /* SRS : 1111 100x x1x0 1101 xxxx 0101 xxxx xxxx */979 /* PLDW : 1111 0101 x001 xxxx xxxx xxxx xxxx xxxx : */
949 if ((insn & 0xfff30020) == 0xf1020000 ||980 /* PLD : 1111 0101 x101 xxxx xxxx xxxx xxxx xxxx : */
950 (insn & 0xfe500f00) == 0xf8100a00 ||981 if ((insn & 0xfe300000) == 0xf4100000) {
951 (insn & 0xfe5f0f00) == 0xf84d0500)982 asi->insn_handler = emulate_nop;
952 return INSN_REJECTED;983 return INSN_GOOD_NO_SLOT;
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;
960 }984 }
961 985
962 /* BLX(1) : 1111 101x xxxx xxxx xxxx xxxx xxxx xxxx : */986 /* 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
965 return INSN_GOOD_NO_SLOT;989 return INSN_GOOD_NO_SLOT;
966 }990 }
967 991
968 /* SETEND : 1111 0001 0000 0001 xxxx xxxx 0000 xxxx */992 /* CPS : 1111 0001 0000 xxx0 xxxx xxxx xx0x xxxx */
969 /* CDP2 : 1111 1110 xxxx xxxx xxxx xxxx xxx0 xxxx */993 /* SETEND: 1111 0001 0000 0001 xxxx xxxx 0000 xxxx */
970 if ((insn & 0xffff00f0) == 0xf1010000 ||994
971 (insn & 0xff000010) == 0xfe000000) {995 /* SRS : 1111 100x x1x0 xxxx xxxx xxxx xxxx xxxx */
972 asi->insn[0] = insn;996 /* RFE : 1111 100x x0x1 xxxx xxxx xxxx xxxx xxxx */
973 asi->insn_handler = emulate_none;
974 return INSN_GOOD;
975 }
976 997
998 /* Coprocessor instructions... */
977 /* MCRR2 : 1111 1100 0100 xxxx xxxx xxxx xxxx xxxx : (Rd != Rn) */999 /* MCRR2 : 1111 1100 0100 xxxx xxxx xxxx xxxx xxxx : (Rd != Rn) */
978 /* MRRC2 : 1111 1100 0101 xxxx xxxx xxxx xxxx xxxx : (Rd != Rn) */1000 /* MRRC2 : 1111 1100 0101 xxxx xxxx xxxx xxxx xxxx : (Rd != Rn) */
979 if ((insn & 0xffe00000) == 0xfc400000) {1001 /* LDC2 : 1111 110x xxx1 xxxx xxxx xxxx xxxx xxxx */
980 insn &= 0xfff00fff; /* Rn = r0 */1002 /* STC2 : 1111 110x xxx0 xxxx xxxx xxxx xxxx xxxx */
981 insn |= 0x00001000; /* Rd = r1 */1003 /* CDP2 : 1111 1110 xxxx xxxx xxxx xxxx xxx0 xxxx */
982 asi->insn[0] = insn;1004 /* MCR2 : 1111 1110 xxx0 xxxx xxxx xxxx xxx1 xxxx */
983 asi->insn_handler =1005 /* MRC2 : 1111 1110 xxx1 xxxx xxxx xxxx xxx1 xxxx */
984 (insn & (1 << 20)) ? emulate_mrrc : emulate_mcrr;
985 return INSN_GOOD;
986 }
987 1006
988 /* LDC2 : 1111 110x xxx1 xxxx xxxx xxxx xxxx xxxx */1007 return INSN_REJECTED;
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;
1003}1008}
1004 1009
1005static enum kprobe_insn __kprobes1010static enum kprobe_insn __kprobes
@@ -1008,19 +1013,18 @@ space_cccc_000x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 2 unmodified lines
1008 /* cccc 0001 0xx0 xxxx xxxx xxxx xxxx xxx0 xxxx */1013 /* cccc 0001 0xx0 xxxx xxxx xxxx xxxx xxx0 xxxx */
1009 if ((insn & 0x0f900010) == 0x01000000) {1014 if ((insn & 0x0f900010) == 0x01000000) {
1010 1015
1011 /* BXJ : cccc 0001 0010 xxxx xxxx xxxx 0010 xxxx */1016 /* MRS cpsr : cccc 0001 0000 xxxx xxxx xxxx 0000 xxxx */
1012 /* MSR : cccc 0001 0x10 xxxx xxxx xxxx 0000 xxxx */1017 if ((insn & 0x0ff000f0) == 0x01000000) {
1013 if ((insn & 0x0ff000f0) == 0x01200020 ||1018 if (is_r15(insn, 12))
1014 (insn & 0x0fb000f0) == 0x01200000)1019 return INSN_REJECTED; /* Rd is PC */
1015 return INSN_REJECTED;1020 asi->insn_handler = simulate_mrs;
1016 1021 return INSN_GOOD_NO_SLOT;
1017 /* MRS : cccc 0001 0x00 xxxx xxxx xxxx 0000 xxxx */1022 }
1018 if ((insn & 0x0fb00010) == 0x01000000)
1019 return prep_emulate_rd12(insn, asi);
1020 1023
1021 /* SMLALxy : cccc 0001 0100 xxxx xxxx xxxx 1xx0 xxxx */1024 /* SMLALxy : cccc 0001 0100 xxxx xxxx xxxx 1xx0 xxxx */
1022 if ((insn & 0x0ff00090) == 0x01400080)1025 if ((insn & 0x0ff00090) == 0x01400080)
1023 return prep_emulate_rdhi16rdlo12rs8rm0_wflags(insn, asi);1026 return prep_emulate_rdhi16rdlo12rs8rm0_wflags(insn,
1027 asi);
1024 1028
1025 /* SMULWy : cccc 0001 0010 xxxx xxxx xxxx 1x10 xxxx */1029 /* SMULWy : cccc 0001 0010 xxxx xxxx xxxx 1x10 xxxx */
1026 /* SMULxy : cccc 0001 0110 xxxx xxxx xxxx 1xx0 xxxx */1030 /* 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
1029 return prep_emulate_rd16rs8rm0_wflags(insn, asi);1033 return prep_emulate_rd16rs8rm0_wflags(insn, asi);
1030 1034
1031 /* SMLAxy : cccc 0001 0000 xxxx xxxx xxxx 1xx0 xxxx : Q */1035 /* SMLAxy : cccc 0001 0000 xxxx xxxx xxxx 1xx0 xxxx : Q */
1032 /* SMLAWy : cccc 0001 0010 xxxx xxxx xxxx 0x00 xxxx : Q */1036 /* SMLAWy : cccc 0001 0010 xxxx xxxx xxxx 1x00 xxxx : Q */
1033 return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi);1037 if ((insn & 0x0ff00090) == 0x01000080 ||
1038 (insn & 0x0ff000b0) == 0x01200080)
1039 return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi);
1034 1040
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;
1035 }1047 }
1036 1048
1037 /* cccc 0001 0xx0 xxxx xxxx xxxx xxxx 0xx1 xxxx */1049 /* cccc 0001 0xx0 xxxx xxxx xxxx xxxx 0xx1 xxxx */
1038 else if ((insn & 0x0f900090) == 0x01000010) {1050 else if ((insn & 0x0f900090) == 0x01000010) {
1039 1051
1040 /* BKPT : 1110 0001 0010 xxxx xxxx xxxx 0111 xxxx */
1041 if ((insn & 0xfff000f0) == 0xe1200070)
1042 return INSN_REJECTED;
1043
1044 /* BLX(2) : cccc 0001 0010 xxxx xxxx xxxx 0011 xxxx */1052 /* BLX(2) : cccc 0001 0010 xxxx xxxx xxxx 0011 xxxx */
1045 /* BX : cccc 0001 0010 xxxx xxxx xxxx 0001 xxxx */1053 /* BX : cccc 0001 0010 xxxx xxxx xxxx 0001 xxxx */
1046 if ((insn & 0x0ff000d0) == 0x01200010) {1054 if ((insn & 0x0ff000d0) == 0x01200010) {
1047 asi->insn[0] = truecc_insn(insn);1055 if ((insn & 0x0ff000ff) == 0x0120003f)
1056 return INSN_REJECTED; /* BLX pc */
1048 asi->insn_handler = simulate_blx2bx;1057 asi->insn_handler = simulate_blx2bx;
1049 return INSN_GOOD;1058 return INSN_GOOD_NO_SLOT;
1050 }1059 }
1051 1060
1052 /* CLZ : cccc 0001 0110 xxxx xxxx xxxx 0001 xxxx */1061 /* 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
1057 /* QSUB : cccc 0001 0010 xxxx xxxx xxxx 0101 xxxx :Q */1066 /* QSUB : cccc 0001 0010 xxxx xxxx xxxx 0101 xxxx :Q */
1058 /* QDADD : cccc 0001 0100 xxxx xxxx xxxx 0101 xxxx :Q */1067 /* QDADD : cccc 0001 0100 xxxx xxxx xxxx 0101 xxxx :Q */
1059 /* QDSUB : cccc 0001 0110 xxxx xxxx xxxx 0101 xxxx :Q */1068 /* 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;
1061 }1077 }
1062 1078
1063 /* cccc 0000 xxxx xxxx xxxx xxxx xxxx 1001 xxxx */1079 /* cccc 0000 xxxx xxxx xxxx xxxx xxxx 1001 xxxx */
1064 else if ((insn & 0x0f000090) == 0x00000090) {1080 else if ((insn & 0x0f0000f0) == 0x00000090) {
1065 1081
1066 /* MUL : cccc 0000 0000 xxxx xxxx xxxx 1001 xxxx : */1082 /* MUL : cccc 0000 0000 xxxx xxxx xxxx 1001 xxxx : */
1067 /* MULS : cccc 0000 0001 xxxx xxxx xxxx 1001 xxxx :cc */1083 /* MULS : cccc 0000 0001 xxxx xxxx xxxx 1001 xxxx :cc */
1068 /* MLA : cccc 0000 0010 xxxx xxxx xxxx 1001 xxxx : */1084 /* MLA : cccc 0000 0010 xxxx xxxx xxxx 1001 xxxx : */
1069 /* MLAS : cccc 0000 0011 xxxx xxxx xxxx 1001 xxxx :cc */1085 /* MLAS : cccc 0000 0011 xxxx xxxx xxxx 1001 xxxx :cc */
1070 /* UMAAL : cccc 0000 0100 xxxx xxxx xxxx 1001 xxxx : */1086 /* 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 : */
1071 /* UMULL : cccc 0000 1000 xxxx xxxx xxxx 1001 xxxx : */1090 /* UMULL : cccc 0000 1000 xxxx xxxx xxxx 1001 xxxx : */
1072 /* UMULLS : cccc 0000 1001 xxxx xxxx xxxx 1001 xxxx :cc */1091 /* UMULLS : cccc 0000 1001 xxxx xxxx xxxx 1001 xxxx :cc */
1073 /* UMLAL : cccc 0000 1010 xxxx xxxx xxxx 1001 xxxx : */1092 /* 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
1076 /* SMULLS : cccc 0000 1101 xxxx xxxx xxxx 1001 xxxx :cc */1095 /* SMULLS : cccc 0000 1101 xxxx xxxx xxxx 1001 xxxx :cc */
1077 /* SMLAL : cccc 0000 1110 xxxx xxxx xxxx 1001 xxxx : */1096 /* SMLAL : cccc 0000 1110 xxxx xxxx xxxx 1001 xxxx : */
1078 /* SMLALS : cccc 0000 1111 xxxx xxxx xxxx 1001 xxxx :cc */1097 /* SMLALS : cccc 0000 1111 xxxx xxxx xxxx 1001 xxxx :cc */
1079 if ((insn & 0x0fe000f0) == 0x00000090) {1098 if ((insn & 0x00d00000) == 0x00500000)
1080 return prep_emulate_rd16rs8rm0_wflags(insn, asi);1099 return INSN_REJECTED;
1081 } else if ((insn & 0x0fe000f0) == 0x00200090) {1100 else if ((insn & 0x00e00000) == 0x00000000)
1082 return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi);1101 return prep_emulate_rd16rs8rm0_wflags(insn, asi);
1083 } else {1102 else if ((insn & 0x00a00000) == 0x00200000)
1084 return prep_emulate_rdhi16rdlo12rs8rm0_wflags(insn, asi);1103 return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi);
1085 }1104 else
1105 return prep_emulate_rdhi16rdlo12rs8rm0_wflags(insn,
1106 asi);
1086 }1107 }
1087 1108
1088 /* cccc 000x xxxx xxxx xxxx xxxx xxxx 1xx1 xxxx */1109 /* 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
1090 1111
1091 /* SWP : cccc 0001 0000 xxxx xxxx xxxx 1001 xxxx */1112 /* SWP : cccc 0001 0000 xxxx xxxx xxxx 1001 xxxx */
1092 /* SWPB : cccc 0001 0100 xxxx xxxx xxxx 1001 xxxx */1113 /* SWPB : cccc 0001 0100 xxxx xxxx xxxx 1001 xxxx */
1093 /* LDRD : cccc 000x xxx0 xxxx xxxx xxxx 1101 xxxx */1114 /* ??? : cccc 0001 0x01 xxxx xxxx xxxx 1001 xxxx */
1094 /* STRD : cccc 000x xxx0 xxxx xxxx xxxx 1111 xxxx */1115 /* ??? : cccc 0001 0x10 xxxx xxxx xxxx 1001 xxxx */
1116 /* ??? : cccc 0001 0x11 xxxx xxxx xxxx 1001 xxxx */
1095 /* STREX : cccc 0001 1000 xxxx xxxx xxxx 1001 xxxx */1117 /* STREX : cccc 0001 1000 xxxx xxxx xxxx 1001 xxxx */
1096 /* LDREX : cccc 0001 1001 xxxx xxxx xxxx 1001 xxxx */1118 /* 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 */
1097 /* LDRH : cccc 000x xxx1 xxxx xxxx xxxx 1011 xxxx */1128 /* LDRH : cccc 000x xxx1 xxxx xxxx xxxx 1011 xxxx */
1098 /* STRH : cccc 000x xxx0 xxxx xxxx xxxx 1011 xxxx */1129 /* STRH : cccc 000x xxx0 xxxx xxxx xxxx 1011 xxxx */
1099 /* LDRSB : cccc 000x xxx1 xxxx xxxx xxxx 1101 xxxx */1130 /* LDRSB : cccc 000x xxx1 xxxx xxxx xxxx 1101 xxxx */
1100 /* LDRSH : cccc 000x xxx1 xxxx xxxx xxxx 1111 xxxx */1131 /* LDRSH : cccc 000x xxx1 xxxx xxxx xxxx 1111 xxxx */
1101 if ((insn & 0x0fb000f0) == 0x01000090) {1132 if ((insn & 0x0f0000f0) == 0x01000090) {
1102 /* SWP/SWPB */1133 if ((insn & 0x0fb000f0) == 0x01000090) {
1103 return prep_emulate_rd12rn16rm0_wflags(insn, asi);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
1104 } else if ((insn & 0x0e1000d0) == 0x00000d0) {1142 } else if ((insn & 0x0e1000d0) == 0x00000d0) {
1105 /* STRD/LDRD */1143 /* 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
1106 insn &= 0xfff00fff;1149 insn &= 0xfff00fff;
1107 insn |= 0x00002000; /* Rn = r0, Rd = r2 */1150 insn |= 0x00002000; /* Rn = r0, Rd = r2 */
1108 if (insn & (1 << 22)) {1151 if (!(insn & (1 << 22))) {
1109 /* I bit */1152 /* Register index */
1110 insn &= ~0xf;1153 insn &= ~0xf;
1111 insn |= 1; /* Rm = r1 */1154 insn |= 1; /* Rm = r1 */
1112 }1155 }
@@ -1116,6 +1159,9 @@ space_cccc_000x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 3 unmodified lines
1116 return INSN_GOOD;1159 return INSN_GOOD;
1117 }1160 }
1118 1161
1162 /* LDRH/STRH/LDRSB/LDRSH */
1163 if (is_r15(insn, 12))
1164 return INSN_REJECTED; /* Rd is PC */
1119 return prep_emulate_ldr_str(insn, asi);1165 return prep_emulate_ldr_str(insn, asi);
1120 }1166 }
1121 1167
@@ -1123,7 +1169,7 @@ space_cccc_000x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 1 unmodified line
1123 1169
1124 /*1170 /*
1125 * ALU op with S bit and Rd == 15 :1171 * ALU op with S bit and Rd == 15 :
1126 * cccc 000x xxx1 xxxx 1111 xxxx xxxx xxxx1172 * cccc 000x xxx1 xxxx 1111 xxxx xxxx xxxx
1127 */1173 */
1128 if ((insn & 0x0e10f000) == 0x0010f000)1174 if ((insn & 0x0e10f000) == 0x0010f000)
1129 return INSN_REJECTED;1175 return INSN_REJECTED;
@@ -1152,22 +1198,61 @@ space_cccc_000x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 22 unmodified lines
1152 insn |= 0x00000200; /* Rs = r2 */1198 insn |= 0x00000200; /* Rs = r2 */
1153 }1199 }
1154 asi->insn[0] = insn;1200 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 */
1156 emulate_alu_rwflags : emulate_alu_rflags;1213 emulate_alu_rwflags : emulate_alu_rflags;
1214 }
1157 return INSN_GOOD;1215 return INSN_GOOD;
1158}1216}
1159 1217
1160static enum kprobe_insn __kprobes1218static enum kprobe_insn __kprobes
1161space_cccc_001x(kprobe_opcode_t insn, struct arch_specific_insn *asi)1219space_cccc_001x(kprobe_opcode_t insn, struct arch_specific_insn *asi)
1162{1220{
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
1163 /*1250 /*
1164 * MSR : cccc 0011 0x10 xxxx xxxx xxxx xxxx xxxx1251 * MSR : cccc 0011 0x10 xxxx xxxx xxxx xxxx xxxx
1165 * Undef : cccc 0011 0100 xxxx xxxx xxxx xxxx xxxx
1166 * ALU op with S bit and Rd == 15 :1252 * ALU op with S bit and Rd == 15 :
1167 * cccc 001x xxx1 xxxx 1111 xxxx xxxx xxxx1253 * cccc 001x xxx1 xxxx 1111 xxxx xxxx xxxx
1168 */1254 */
1169 if ((insn & 0x0fb00000) == 0x03200000 || /* MSR */1255 if ((insn & 0x0fb00000) == 0x03200000 || /* MSR */
1170 (insn & 0x0ff00000) == 0x03400000 || /* Undef */
1171 (insn & 0x0e10f000) == 0x0210f000) /* ALU s-bit, R15 */1256 (insn & 0x0e10f000) == 0x0210f000) /* ALU s-bit, R15 */
1172 return INSN_REJECTED;1257 return INSN_REJECTED;
1173 1258
@@ -1178,10 +1263,22 @@ space_cccc_001x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 4 unmodified lines
1178 * *S (bit 20) updates condition codes1263 * *S (bit 20) updates condition codes
1179 * ADC/SBC/RSC reads the C flag1264 * ADC/SBC/RSC reads the C flag
1180 */1265 */
1181 insn &= 0xffff0fff; /* Rd = r0 */1266 insn &= 0xfff00fff; /* Rn = r0 and Rd = r0 */
1182 asi->insn[0] = insn;1267 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 */
1184 emulate_alu_imm_rwflags : emulate_alu_imm_rflags;1280 emulate_alu_imm_rwflags : emulate_alu_imm_rflags;
1281 }
1185 return INSN_GOOD;1282 return INSN_GOOD;
1186}1283}
1187 1284
@@ -1190,6 +1287,8 @@ space_cccc_0110__1(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 2 unmodified lines
1190{1287{
1191 /* SEL : cccc 0110 1000 xxxx xxxx xxxx 1011 xxxx GE: !!! */1288 /* SEL : cccc 0110 1000 xxxx xxxx xxxx 1011 xxxx GE: !!! */
1192 if ((insn & 0x0ff000f0) == 0x068000b0) {1289 if ((insn & 0x0ff000f0) == 0x068000b0) {
1290 if (is_r15(insn, 12))
1291 return INSN_REJECTED; /* Rd is PC */
1193 insn &= 0xfff00ff0; /* Rd = r0, Rn = r0 */1292 insn &= 0xfff00ff0; /* Rd = r0, Rn = r0 */
1194 insn |= 0x00000001; /* Rm = r1 */1293 insn |= 0x00000001; /* Rm = r1 */
1195 asi->insn[0] = insn;1294 asi->insn[0] = insn;
@@ -1203,6 +1302,8 @@ space_cccc_0110__1(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 7 unmodified lines
1203 /* USAT16 : cccc 0110 1110 xxxx xxxx xxxx 0011 xxxx :Q */1302 /* USAT16 : cccc 0110 1110 xxxx xxxx xxxx 0011 xxxx :Q */
1204 if ((insn & 0x0fa00030) == 0x06a00010 ||1303 if ((insn & 0x0fa00030) == 0x06a00010 ||
1205 (insn & 0x0fb000f0) == 0x06a00030) {1304 (insn & 0x0fb000f0) == 0x06a00030) {
1305 if (is_r15(insn, 12))
1306 return INSN_REJECTED; /* Rd is PC */
1206 insn &= 0xffff0ff0; /* Rd = r0, Rm = r0 */1307 insn &= 0xffff0ff0; /* Rd = r0, Rm = r0 */
1207 asi->insn[0] = insn;1308 asi->insn[0] = insn;
1208 asi->insn_handler = emulate_sat;1309 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
1211 1312
1212 /* REV : cccc 0110 1011 xxxx xxxx xxxx 0011 xxxx */1313 /* REV : cccc 0110 1011 xxxx xxxx xxxx 0011 xxxx */
1213 /* REV16 : cccc 0110 1011 xxxx xxxx xxxx 1011 xxxx */1314 /* REV16 : cccc 0110 1011 xxxx xxxx xxxx 1011 xxxx */
1315 /* RBIT : cccc 0110 1111 xxxx xxxx xxxx 0011 xxxx */
1214 /* REVSH : cccc 0110 1111 xxxx xxxx xxxx 1011 xxxx */1316 /* REVSH : cccc 0110 1111 xxxx xxxx xxxx 1011 xxxx */
1215 if ((insn & 0x0ff00070) == 0x06b00030 ||1317 if ((insn & 0x0ff00070) == 0x06b00030 ||
1216 (insn & 0x0ff000f0) == 0x06f000b0)1318 (insn & 0x0ff00070) == 0x06f00030)
1217 return prep_emulate_rd12rm0(insn, asi);1319 return prep_emulate_rd12rm0(insn, asi);
1218 1320
1321 /* ??? : cccc 0110 0000 xxxx xxxx xxxx xxx1 xxxx : */
1219 /* SADD16 : cccc 0110 0001 xxxx xxxx xxxx 0001 xxxx :GE */1322 /* SADD16 : cccc 0110 0001 xxxx xxxx xxxx 0001 xxxx :GE */
1220 /* SADDSUBX : cccc 0110 0001 xxxx xxxx xxxx 0011 xxxx :GE */1323 /* SADDSUBX : cccc 0110 0001 xxxx xxxx xxxx 0011 xxxx :GE */
1221 /* SSUBADDX : cccc 0110 0001 xxxx xxxx xxxx 0101 xxxx :GE */1324 /* SSUBADDX : cccc 0110 0001 xxxx xxxx xxxx 0101 xxxx :GE */
1222 /* SSUB16 : cccc 0110 0001 xxxx xxxx xxxx 0111 xxxx :GE */1325 /* SSUB16 : cccc 0110 0001 xxxx xxxx xxxx 0111 xxxx :GE */
1223 /* SADD8 : cccc 0110 0001 xxxx xxxx xxxx 1001 xxxx :GE */1326 /* 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 : */
1224 /* SSUB8 : cccc 0110 0001 xxxx xxxx xxxx 1111 xxxx :GE */1329 /* SSUB8 : cccc 0110 0001 xxxx xxxx xxxx 1111 xxxx :GE */
1225 /* QADD16 : cccc 0110 0010 xxxx xxxx xxxx 0001 xxxx : */1330 /* QADD16 : cccc 0110 0010 xxxx xxxx xxxx 0001 xxxx : */
1226 /* QADDSUBX : cccc 0110 0010 xxxx xxxx xxxx 0011 xxxx : */1331 /* QADDSUBX : cccc 0110 0010 xxxx xxxx xxxx 0011 xxxx : */
1227 /* QSUBADDX : cccc 0110 0010 xxxx xxxx xxxx 0101 xxxx : */1332 /* QSUBADDX : cccc 0110 0010 xxxx xxxx xxxx 0101 xxxx : */
1228 /* QSUB16 : cccc 0110 0010 xxxx xxxx xxxx 0111 xxxx : */1333 /* QSUB16 : cccc 0110 0010 xxxx xxxx xxxx 0111 xxxx : */
1229 /* QADD8 : cccc 0110 0010 xxxx xxxx xxxx 1001 xxxx : */1334 /* 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 : */
1230 /* QSUB8 : cccc 0110 0010 xxxx xxxx xxxx 1111 xxxx : */1337 /* QSUB8 : cccc 0110 0010 xxxx xxxx xxxx 1111 xxxx : */
1231 /* SHADD16 : cccc 0110 0011 xxxx xxxx xxxx 0001 xxxx : */1338 /* SHADD16 : cccc 0110 0011 xxxx xxxx xxxx 0001 xxxx : */
1232 /* SHADDSUBX : cccc 0110 0011 xxxx xxxx xxxx 0011 xxxx : */1339 /* SHADDSUBX : cccc 0110 0011 xxxx xxxx xxxx 0011 xxxx : */
1233 /* SHSUBADDX : cccc 0110 0011 xxxx xxxx xxxx 0101 xxxx : */1340 /* SHSUBADDX : cccc 0110 0011 xxxx xxxx xxxx 0101 xxxx : */
1234 /* SHSUB16 : cccc 0110 0011 xxxx xxxx xxxx 0111 xxxx : */1341 /* SHSUB16 : cccc 0110 0011 xxxx xxxx xxxx 0111 xxxx : */
1235 /* SHADD8 : cccc 0110 0011 xxxx xxxx xxxx 1001 xxxx : */1342 /* 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 : */
1236 /* SHSUB8 : cccc 0110 0011 xxxx xxxx xxxx 1111 xxxx : */1345 /* SHSUB8 : cccc 0110 0011 xxxx xxxx xxxx 1111 xxxx : */
1346 /* ??? : cccc 0110 0100 xxxx xxxx xxxx xxx1 xxxx : */
1237 /* UADD16 : cccc 0110 0101 xxxx xxxx xxxx 0001 xxxx :GE */1347 /* UADD16 : cccc 0110 0101 xxxx xxxx xxxx 0001 xxxx :GE */
1238 /* UADDSUBX : cccc 0110 0101 xxxx xxxx xxxx 0011 xxxx :GE */1348 /* UADDSUBX : cccc 0110 0101 xxxx xxxx xxxx 0011 xxxx :GE */
1239 /* USUBADDX : cccc 0110 0101 xxxx xxxx xxxx 0101 xxxx :GE */1349 /* USUBADDX : cccc 0110 0101 xxxx xxxx xxxx 0101 xxxx :GE */
1240 /* USUB16 : cccc 0110 0101 xxxx xxxx xxxx 0111 xxxx :GE */1350 /* USUB16 : cccc 0110 0101 xxxx xxxx xxxx 0111 xxxx :GE */
1241 /* UADD8 : cccc 0110 0101 xxxx xxxx xxxx 1001 xxxx :GE */1351 /* 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 : */
1242 /* USUB8 : cccc 0110 0101 xxxx xxxx xxxx 1111 xxxx :GE */1354 /* USUB8 : cccc 0110 0101 xxxx xxxx xxxx 1111 xxxx :GE */
1243 /* UQADD16 : cccc 0110 0110 xxxx xxxx xxxx 0001 xxxx : */1355 /* UQADD16 : cccc 0110 0110 xxxx xxxx xxxx 0001 xxxx : */
1244 /* UQADDSUBX : cccc 0110 0110 xxxx xxxx xxxx 0011 xxxx : */1356 /* UQADDSUBX : cccc 0110 0110 xxxx xxxx xxxx 0011 xxxx : */
1245 /* UQSUBADDX : cccc 0110 0110 xxxx xxxx xxxx 0101 xxxx : */1357 /* UQSUBADDX : cccc 0110 0110 xxxx xxxx xxxx 0101 xxxx : */
1246 /* UQSUB16 : cccc 0110 0110 xxxx xxxx xxxx 0111 xxxx : */1358 /* UQSUB16 : cccc 0110 0110 xxxx xxxx xxxx 0111 xxxx : */
1247 /* UQADD8 : cccc 0110 0110 xxxx xxxx xxxx 1001 xxxx : */1359 /* 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 : */
1248 /* UQSUB8 : cccc 0110 0110 xxxx xxxx xxxx 1111 xxxx : */1362 /* UQSUB8 : cccc 0110 0110 xxxx xxxx xxxx 1111 xxxx : */
1249 /* UHADD16 : cccc 0110 0111 xxxx xxxx xxxx 0001 xxxx : */1363 /* UHADD16 : cccc 0110 0111 xxxx xxxx xxxx 0001 xxxx : */
1250 /* UHADDSUBX : cccc 0110 0111 xxxx xxxx xxxx 0011 xxxx : */1364 /* UHADDSUBX : cccc 0110 0111 xxxx xxxx xxxx 0011 xxxx : */
1251 /* UHSUBADDX : cccc 0110 0111 xxxx xxxx xxxx 0101 xxxx : */1365 /* UHSUBADDX : cccc 0110 0111 xxxx xxxx xxxx 0101 xxxx : */
1252 /* UHSUB16 : cccc 0110 0111 xxxx xxxx xxxx 0111 xxxx : */1366 /* UHSUB16 : cccc 0110 0111 xxxx xxxx xxxx 0111 xxxx : */
1253 /* UHADD8 : cccc 0110 0111 xxxx xxxx xxxx 1001 xxxx : */1367 /* 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 : */
1254 /* UHSUB8 : cccc 0110 0111 xxxx xxxx xxxx 1111 xxxx : */1370 /* 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
1255 /* PKHBT : cccc 0110 1000 xxxx xxxx xxxx x001 xxxx : */1379 /* PKHBT : cccc 0110 1000 xxxx xxxx xxxx x001 xxxx : */
1256 /* PKHTB : cccc 0110 1000 xxxx xxxx xxxx x101 xxxx : */1380 /* PKHTB : cccc 0110 1000 xxxx xxxx xxxx x101 xxxx : */
1381 if ((insn & 0x0ff00030) == 0x06800010)
1382 return prep_emulate_rd12rn16rm0_wflags(insn, asi);
1383
1257 /* SXTAB16 : cccc 0110 1000 xxxx xxxx xxxx 0111 xxxx : */1384 /* 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 : */
1259 /* SXTAB : cccc 0110 1010 xxxx xxxx xxxx 0111 xxxx : */1387 /* SXTAB : cccc 0110 1010 xxxx xxxx xxxx 0111 xxxx : */
1388 /* SXTB : cccc 0110 1010 1111 xxxx xxxx 0111 xxxx : */
1260 /* SXTAH : cccc 0110 1011 xxxx xxxx xxxx 0111 xxxx : */1389 /* SXTAH : cccc 0110 1011 xxxx xxxx xxxx 0111 xxxx : */
1390 /* SXTH : cccc 0110 1011 1111 xxxx xxxx 0111 xxxx : */
1261 /* UXTAB16 : cccc 0110 1100 xxxx xxxx xxxx 0111 xxxx : */1391 /* 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 : */
1262 /* UXTAB : cccc 0110 1110 xxxx xxxx xxxx 0111 xxxx : */1394 /* UXTAB : cccc 0110 1110 xxxx xxxx xxxx 0111 xxxx : */
1395 /* UXTB : cccc 0110 1110 1111 xxxx xxxx 0111 xxxx : */
1263 /* UXTAH : cccc 0110 1111 xxxx xxxx xxxx 0111 xxxx : */1396 /* 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;
1265}1410}
1266 1411
1267static enum kprobe_insn __kprobes1412static enum kprobe_insn __kprobes
@@ -1271,29 +1416,49 @@ space_cccc_0111__1(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 3 unmodified lines
1271 if ((insn & 0x0ff000f0) == 0x03f000f0)1416 if ((insn & 0x0ff000f0) == 0x03f000f0)
1272 return INSN_REJECTED;1417 return INSN_REJECTED;
1273 1418
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
1279 /* SMLALD : cccc 0111 0100 xxxx xxxx xxxx 00x1 xxxx */1419 /* SMLALD : cccc 0111 0100 xxxx xxxx xxxx 00x1 xxxx */
1280 /* SMLSLD : cccc 0111 0100 xxxx xxxx xxxx 01x1 xxxx */1420 /* SMLSLD : cccc 0111 0100 xxxx xxxx xxxx 01x1 xxxx */
1281 if ((insn & 0x0ff00090) == 0x07400010)1421 if ((insn & 0x0ff00090) == 0x07400010)
1282 return prep_emulate_rdhi16rdlo12rs8rm0_wflags(insn, asi);1422 return prep_emulate_rdhi16rdlo12rs8rm0_wflags(insn, asi);
1283 1423
1284 /* SMLAD : cccc 0111 0000 xxxx xxxx xxxx 00x1 xxxx :Q */1424 /* SMLAD : cccc 0111 0000 xxxx xxxx xxxx 00x1 xxxx :Q */
1425 /* SMUAD : cccc 0111 0000 xxxx 1111 xxxx 00x1 xxxx :Q */
1285 /* SMLSD : cccc 0111 0000 xxxx xxxx xxxx 01x1 xxxx :Q */1426 /* SMLSD : cccc 0111 0000 xxxx xxxx xxxx 01x1 xxxx :Q */
1427 /* SMUSD : cccc 0111 0000 xxxx 1111 xxxx 01x1 xxxx : */
1286 /* SMMLA : cccc 0111 0101 xxxx xxxx xxxx 00x1 xxxx : */1428 /* 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 : */
1288 if ((insn & 0x0ff00090) == 0x07000010 ||1432 if ((insn & 0x0ff00090) == 0x07000010 ||
1289 (insn & 0x0ff000d0) == 0x07500010 ||1433 (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)
1291 return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi);1444 return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi);
1292 1445
1293 /* SMUSD : cccc 0111 0000 xxxx xxxx xxxx 01x1 xxxx : */1446 /* SBFX : cccc 0111 101x xxxx xxxx xxxx x101 xxxx : */
1294 /* SMUAD : cccc 0111 0000 xxxx 1111 xxxx 00x1 xxxx :Q */1447 /* UBFX : cccc 0111 111x xxxx xxxx xxxx x101 xxxx : */
1295 /* SMMUL : cccc 0111 0101 xxxx 1111 xxxx 00x1 xxxx : */1448 if ((insn & 0x0fa00070) == 0x07a00050)
1296 return prep_emulate_rd16rs8rm0_wflags(insn, asi);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;
1297}1462}
1298 1463
1299static enum kprobe_insn __kprobes1464static enum kprobe_insn __kprobes
@@ -1307,6 +1472,10 @@ space_cccc_01xx(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 7 unmodified lines
1307 /* STRB : cccc 01xx x1x0 xxxx xxxx xxxx xxxx xxxx */1472 /* STRB : cccc 01xx x1x0 xxxx xxxx xxxx xxxx xxxx */
1308 /* STRBT : cccc 01x0 x110 xxxx xxxx xxxx xxxx xxxx */1473 /* STRBT : cccc 01x0 x110 xxxx xxxx xxxx xxxx xxxx */
1309 /* STRT : cccc 01x0 x010 xxxx xxxx xxxx xxxx xxxx */1474 /* 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
1310 return prep_emulate_ldr_str(insn, asi);1479 return prep_emulate_ldr_str(insn, asi);
1311}1480}
1312 1481
@@ -1321,10 +1490,9 @@ space_cccc_100x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 8 unmodified lines
1321 1490
1322 /* LDM(1) : cccc 100x x0x1 xxxx xxxx xxxx xxxx xxxx */1491 /* LDM(1) : cccc 100x x0x1 xxxx xxxx xxxx xxxx xxxx */
1323 /* STM(1) : cccc 100x x0x0 xxxx xxxx xxxx xxxx xxxx */1492 /* STM(1) : cccc 100x x0x0 xxxx xxxx xxxx xxxx xxxx */
1324 asi->insn[0] = truecc_insn(insn);
1325 asi->insn_handler = ((insn & 0x108000) == 0x008000) ? /* STM & R15 */1493 asi->insn_handler = ((insn & 0x108000) == 0x008000) ? /* STM & R15 */
1326 simulate_stm1_pc : simulate_ldm1stm1;1494 simulate_stm1_pc : simulate_ldm1stm1;
1327 return INSN_GOOD;1495 return INSN_GOOD_NO_SLOT;
1328}1496}
1329 1497
1330static enum kprobe_insn __kprobes1498static enum kprobe_insn __kprobes
@@ -1332,58 +1500,117 @@ space_cccc_101x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 1 unmodified line
1332{1500{
1333 /* B : cccc 1010 xxxx xxxx xxxx xxxx xxxx xxxx */1501 /* B : cccc 1010 xxxx xxxx xxxx xxxx xxxx xxxx */
1334 /* BL : cccc 1011 xxxx xxxx xxxx xxxx xxxx xxxx */1502 /* BL : cccc 1011 xxxx xxxx xxxx xxxx xxxx xxxx */
1335 asi->insn[0] = truecc_insn(insn);
1336 asi->insn_handler = simulate_bbl;1503 asi->insn_handler = simulate_bbl;
1337 return INSN_GOOD;1504 return INSN_GOOD_NO_SLOT;
1338}1505}
1339 1506
1340static enum kprobe_insn __kprobes1507static enum kprobe_insn __kprobes
1341space_cccc_1100_010x(kprobe_opcode_t insn, struct arch_specific_insn *asi)1508space_cccc_11xx(kprobe_opcode_t insn, struct arch_specific_insn *asi)
1342{1509{
1510 /* Coprocessor instructions... */
1343 /* MCRR : cccc 1100 0100 xxxx xxxx xxxx xxxx xxxx : (Rd!=Rn) */1511 /* MCRR : cccc 1100 0100 xxxx xxxx xxxx xxxx xxxx : (Rd!=Rn) */
1344 /* MRRC : cccc 1100 0101 xxxx xxxx xxxx xxxx xxxx : (Rd!=Rn) */1512 /* MRRC : cccc 1100 0101 xxxx xxxx xxxx xxxx xxxx : (Rd!=Rn) */
1345 insn &= 0xfff00fff;1513 /* LDC : cccc 110x xxx1 xxxx xxxx xxxx xxxx xxxx */
1346 insn |= 0x00001000; /* Rn = r0, Rd = r1 */1514 /* STC : cccc 110x xxx0 xxxx xxxx xxxx xxxx xxxx */
1347 asi->insn[0] = insn;1515 /* CDP : cccc 1110 xxxx xxxx xxxx xxxx xxx0 xxxx */
1348 asi->insn_handler = (insn & (1 << 20)) ? emulate_mrrc : emulate_mcrr;1516 /* MCR : cccc 1110 xxx0 xxxx xxxx xxxx xxx1 xxxx */
1349 return INSN_GOOD;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;
1350}1522}
1351 1523
1352static enum kprobe_insn __kprobes1524static unsigned long __kprobes __check_eq(unsigned long cpsr)
1353space_cccc_110x(kprobe_opcode_t insn, struct arch_specific_insn *asi)
1354{1525{
1355 /* LDC : cccc 110x xxx1 xxxx xxxx xxxx xxxx xxxx */1526 return cpsr & PSR_Z_BIT;
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;
1361}1527}
1362 1528
1363static enum kprobe_insn __kprobes1529static unsigned long __kprobes __check_ne(unsigned long cpsr)
1364space_cccc_111x(kprobe_opcode_t insn, struct arch_specific_insn *asi)
1365{1530{
1366 /* BKPT : 1110 0001 0010 xxxx xxxx xxxx 0111 xxxx */1531 return (~cpsr) & PSR_Z_BIT;
1367 /* SWI : cccc 1111 xxxx xxxx xxxx xxxx xxxx xxxx */1532}
1368 if ((insn & 0xfff000f0) == 0xe1200070 ||
1369 (insn & 0x0f000000) == 0x0f000000)
1370 return INSN_REJECTED;
1371 1533
1372 /* CDP : cccc 1110 xxxx xxxx xxxx xxxx xxx0 xxxx */1534static unsigned long __kprobes __check_cs(unsigned long cpsr)
1373 if ((insn & 0x0f000010) == 0x0e000000) {1535{
1374 asi->insn[0] = insn;1536 return cpsr & PSR_C_BIT;
1375 asi->insn_handler = emulate_none;1537}
1376 return INSN_GOOD;
1377 }
1378 1538
1379 /* MCR : cccc 1110 xxx0 xxxx xxxx xxxx xxx1 xxxx */1539static unsigned long __kprobes __check_cc(unsigned long cpsr)
1380 /* MRC : cccc 1110 xxx1 xxxx xxxx xxxx xxx1 xxxx */1540{
1381 insn &= 0xffff0fff; /* Rd = r0 */1541 return (~cpsr) & PSR_C_BIT;
1382 asi->insn[0] = insn;
1383 asi->insn_handler = (insn & (1 << 20)) ? emulate_rd12 : emulate_ird12;
1384 return INSN_GOOD;
1385}1542}
1386 1543
1544static unsigned long __kprobes __check_mi(unsigned long cpsr)
1545{
1546 return cpsr & PSR_N_BIT;
1547}
1548
1549static unsigned long __kprobes __check_pl(unsigned long cpsr)
1550{
1551 return (~cpsr) & PSR_N_BIT;
1552}
1553
1554static unsigned long __kprobes __check_vs(unsigned long cpsr)
1555{
1556 return cpsr & PSR_V_BIT;
1557}
1558
1559static unsigned long __kprobes __check_vc(unsigned long cpsr)
1560{
1561 return (~cpsr) & PSR_V_BIT;
1562}
1563
1564static 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
1570static 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
1576static 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
1582static 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
1588static 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
1595static 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
1602static unsigned long __kprobes __check_al(unsigned long cpsr)
1603{
1604 return true;
1605}
1606
1607static 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
1387/* Return:1614/* Return:
1388 * INSN_REJECTED If instruction is one not allowed to kprobe,1615 * INSN_REJECTED If instruction is one not allowed to kprobe,
1389 * INSN_GOOD If instruction is supported and uses instruction slot,1616 * 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
1399enum kprobe_insn __kprobes1626enum kprobe_insn __kprobes
1400arm_kprobe_decode_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi)1627arm_kprobe_decode_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi)
1401{1628{
1629 asi->insn_check_cc = condition_checks[insn>>28];
1402 asi->insn[1] = KPROBE_RETURN_INSTRUCTION;1630 asi->insn[1] = KPROBE_RETURN_INSTRUCTION;
1403 1631
1404 if ((insn & 0xf0000000) == 0xf0000000) {1632 if ((insn & 0xf0000000) == 0xf0000000)
1405 1633
1406 return space_1111(insn, asi);1634 return space_1111(insn, asi);
1407 1635
1408 } else if ((insn & 0x0e000000) == 0x00000000) {1636 else if ((insn & 0x0e000000) == 0x00000000)
1409 1637
1410 return space_cccc_000x(insn, asi);1638 return space_cccc_000x(insn, asi);
1411 1639
1412 } else if ((insn & 0x0e000000) == 0x02000000) {1640 else if ((insn & 0x0e000000) == 0x02000000)
1413 1641
1414 return space_cccc_001x(insn, asi);1642 return space_cccc_001x(insn, asi);
1415 1643
1416 } else if ((insn & 0x0f000010) == 0x06000010) {1644 else if ((insn & 0x0f000010) == 0x06000010)
1417 1645
1418 return space_cccc_0110__1(insn, asi);1646 return space_cccc_0110__1(insn, asi);
1419 1647
1420 } else if ((insn & 0x0f000010) == 0x07000010) {1648 else if ((insn & 0x0f000010) == 0x07000010)
1421 1649
1422 return space_cccc_0111__1(insn, asi);1650 return space_cccc_0111__1(insn, asi);
1423 1651
1424 } else if ((insn & 0x0c000000) == 0x04000000) {1652 else if ((insn & 0x0c000000) == 0x04000000)
1425 1653
1426 return space_cccc_01xx(insn, asi);1654 return space_cccc_01xx(insn, asi);
1427 1655
1428 } else if ((insn & 0x0e000000) == 0x08000000) {1656 else if ((insn & 0x0e000000) == 0x08000000)
1429 1657
1430 return space_cccc_100x(insn, asi);1658 return space_cccc_100x(insn, asi);
1431 1659
1432 } else if ((insn & 0x0e000000) == 0x0a000000) {1660 else if ((insn & 0x0e000000) == 0x0a000000)
1433 1661
1434 return space_cccc_101x(insn, asi);1662 return space_cccc_101x(insn, asi);
1435 1663
1436 } else if ((insn & 0x0fe00000) == 0x0c400000) {1664 return space_cccc_11xx(insn, asi);
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);
1447}1665}
1448 1666
1449void __init arm_kprobe_decode_init(void)1667void __init arm_kprobe_decode_init(void)
1450{1668{
1451 find_str_pc_offset();1669 find_str_pc_offset();
1452}1670}
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
134 struct kprobe_ctlblk *kcb)134 struct kprobe_ctlblk *kcb)
135{135{
136 regs->ARM_pc += 4;136 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);
138}139}
139 140
140/*141/*
arch/arm/kernel/leds.c+16−12
@@ -10,6 +10,7 @@ · 9 unmodified lines
10#include <linux/module.h>10#include <linux/module.h>
11#include <linux/init.h>11#include <linux/init.h>
12#include <linux/sysdev.h>12#include <linux/sysdev.h>
13#include <linux/syscore_ops.h>
13 14
14#include <asm/leds.h>15#include <asm/leds.h>
15 16
@@ -69,36 +70,37 @@ static ssize_t leds_store(struct sys_device *dev, · 53 unmodified lines
69 70
70static SYSDEV_ATTR(event, 0200, NULL, leds_store);71static SYSDEV_ATTR(event, 0200, NULL, leds_store);
71 72
72static int leds_suspend(struct sys_device *dev, pm_message_t state)73static struct sysdev_class leds_sysclass = {
74 .name = "leds",
75};
76
77static struct sys_device leds_device = {
78 .id = 0,
79 .cls = &leds_sysclass,
80};
81
82static int leds_suspend(void)
73{83{
74 leds_event(led_stop);84 leds_event(led_stop);
75 return 0;85 return 0;
76}86}
77 87
78static int leds_resume(struct sys_device *dev)88static void leds_resume(void)
79{89{
80 leds_event(led_start);90 leds_event(led_start);
81 return 0;
82}91}
83 92
84static int leds_shutdown(struct sys_device *dev)93static void leds_shutdown(void)
85{94{
86 leds_event(led_halted);95 leds_event(led_halted);
87 return 0;
88}96}
89 97
90static struct sysdev_class leds_sysclass = {98static struct syscore_ops leds_syscore_ops = {
91 .name = "leds",
92 .shutdown = leds_shutdown,99 .shutdown = leds_shutdown,
93 .suspend = leds_suspend,100 .suspend = leds_suspend,
94 .resume = leds_resume,101 .resume = leds_resume,
95};102};
96 103
97static struct sys_device leds_device = {
98 .id = 0,
99 .cls = &leds_sysclass,
100};
101
102static int __init leds_init(void)104static int __init leds_init(void)
103{105{
104 int ret;106 int ret;
@@ -107,6 +109,8 @@ static int __init leds_init(void) · 2 unmodified lines
107 ret = sysdev_register(&leds_device);109 ret = sysdev_register(&leds_device);
108 if (ret == 0)110 if (ret == 0)
109 ret = sysdev_create_file(&leds_device, &attr_event);111 ret = sysdev_create_file(&leds_device, &attr_event);
112 if (ret == 0)
113 register_syscore_ops(&leds_syscore_ops);
110 return ret;114 return ret;
111}115}
112 116
arch/arm/kernel/perf_event.c+27−14
@@ -79,6 +79,7 @@ struct arm_pmu { · 78 unmodified lines
79 void (*write_counter)(int idx, u32 val);79 void (*write_counter)(int idx, u32 val);
80 void (*start)(void);80 void (*start)(void);
81 void (*stop)(void);81 void (*stop)(void);
82 void (*reset)(void *);
82 const unsigned (*cache_map)[PERF_COUNT_HW_CACHE_MAX]83 const unsigned (*cache_map)[PERF_COUNT_HW_CACHE_MAX]
83 [PERF_COUNT_HW_CACHE_OP_MAX]84 [PERF_COUNT_HW_CACHE_OP_MAX]
84 [PERF_COUNT_HW_CACHE_RESULT_MAX];85 [PERF_COUNT_HW_CACHE_RESULT_MAX];
@@ -204,11 +205,9 @@ armpmu_event_set_period(struct perf_event *event, · 119 unmodified lines
204static u64205static u64
205armpmu_event_update(struct perf_event *event,206armpmu_event_update(struct perf_event *event,
206 struct hw_perf_event *hwc,207 struct hw_perf_event *hwc,
207 int idx)208 int idx, int overflow)
208{209{
209 int shift = 64 - 32;210 u64 delta, prev_raw_count, new_raw_count;
210 s64 prev_raw_count, new_raw_count;
211 u64 delta;
212 211
213again:212again:
214 prev_raw_count = local64_read(&hwc->prev_count);213 prev_raw_count = local64_read(&hwc->prev_count);
@@ -218,8 +217,13 @@ again: · 3 unmodified lines
218 new_raw_count) != prev_raw_count)217 new_raw_count) != prev_raw_count)
219 goto again;218 goto again;
220 219
221 delta = (new_raw_count << shift) - (prev_raw_count << shift);220 new_raw_count &= armpmu->max_period;
222 delta >>= shift;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;
223 227
224 local64_add(delta, &event->count);228 local64_add(delta, &event->count);
225 local64_sub(delta, &hwc->period_left);229 local64_sub(delta, &hwc->period_left);
@@ -236,7 +240,7 @@ armpmu_read(struct perf_event *event) · 10 unmodified lines
236 if (hwc->idx < 0)240 if (hwc->idx < 0)
237 return;241 return;
238 242
239 armpmu_event_update(event, hwc, hwc->idx);243 armpmu_event_update(event, hwc, hwc->idx, 0);
240}244}
241 245
242static void246static void
@@ -254,7 +258,7 @@ armpmu_stop(struct perf_event *event, int flags) · 11 unmodified lines
254 if (!(hwc->state & PERF_HES_STOPPED)) {258 if (!(hwc->state & PERF_HES_STOPPED)) {
255 armpmu->disable(hwc, hwc->idx);259 armpmu->disable(hwc, hwc->idx);
256 barrier(); /* why? */260 barrier(); /* why? */
257 armpmu_event_update(event, hwc, hwc->idx);261 armpmu_event_update(event, hwc, hwc->idx, 0);
258 hwc->state |= PERF_HES_STOPPED | PERF_HES_UPTODATE;262 hwc->state |= PERF_HES_STOPPED | PERF_HES_UPTODATE;
259 }263 }
260}264}
@@ -556,11 +560,6 @@ static int armpmu_event_init(struct perf_event *event) · 295 unmodified lines
556 event->destroy = hw_perf_event_destroy;560 event->destroy = hw_perf_event_destroy;
557 561
558 if (!atomic_inc_not_zero(&active_events)) {562 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
564 mutex_lock(&pmu_reserve_mutex);563 mutex_lock(&pmu_reserve_mutex);
565 if (atomic_read(&active_events) == 0) {564 if (atomic_read(&active_events) == 0) {
566 err = armpmu_reserve_hardware();565 err = armpmu_reserve_hardware();
@@ -624,6 +623,19 @@ static struct pmu pmu = { · 57 unmodified lines
624#include "perf_event_v6.c"623#include "perf_event_v6.c"
625#include "perf_event_v7.c"624#include "perf_event_v7.c"
626 625
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 */
630static int __init
631armpmu_reset(void)
632{
633 if (armpmu && armpmu->reset)
634 return on_each_cpu(armpmu->reset, NULL, 1);
635 return 0;
636}
637arch_initcall(armpmu_reset);
638
627static int __init639static int __init
628init_hw_perf_events(void)640init_hw_perf_events(void)
629{641{
@@ -729,7 +741,8 @@ perf_callchain_user(struct perf_callchain_entry *entry, struct pt_regs *regs) · 99 unmodified lines
729 741
730 tail = (struct frame_tail __user *)regs->ARM_fp - 1;742 tail = (struct frame_tail __user *)regs->ARM_fp - 1;
731 743
732 while (tail && !((unsigned long)tail & 0x3))744 while ((entry->nr < PERF_MAX_STACK_DEPTH) &&
745 tail && !((unsigned long)tail & 0x3))
733 tail = user_backtrace(tail, entry);746 tail = user_backtrace(tail, entry);
734}747}
735 748
arch/arm/kernel/perf_event_v6.c+1−1
@@ -474,7 +474,7 @@ armv6pmu_handle_irq(int irq_num, · 473 unmodified lines
474 continue;474 continue;
475 475
476 hwc = &event->hw;476 hwc = &event->hw;
477 armpmu_event_update(event, hwc, idx);477 armpmu_event_update(event, hwc, idx, 1);
478 data.period = event->hw.last_period;478 data.period = event->hw.last_period;
479 if (!armpmu_event_set_period(event, hwc, idx))479 if (!armpmu_event_set_period(event, hwc, idx))
480 continue;480 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
466static inline void armv7_pmnc_write(unsigned long val)466static inline void armv7_pmnc_write(unsigned long val)
467{467{
468 val &= ARMV7_PMNC_MASK;468 val &= ARMV7_PMNC_MASK;
469 isb();
469 asm volatile("mcr p15, 0, %0, c9, c12, 0" : : "r"(val));470 asm volatile("mcr p15, 0, %0, c9, c12, 0" : : "r"(val));
470}471}
471 472
@@ -502,6 +503,7 @@ static inline int armv7_pmnc_select_counter(unsigned int idx) · 30 unmodified lines
502 503
503 val = (idx - ARMV7_EVENT_CNT_TO_CNTx) & ARMV7_SELECT_MASK;504 val = (idx - ARMV7_EVENT_CNT_TO_CNTx) & ARMV7_SELECT_MASK;
504 asm volatile("mcr p15, 0, %0, c9, c12, 5" : : "r" (val));505 asm volatile("mcr p15, 0, %0, c9, c12, 5" : : "r" (val));
506 isb();
505 507
506 return idx;508 return idx;
507}509}
@@ -780,7 +782,7 @@ static irqreturn_t armv7pmu_handle_irq(int irq_num, void *dev) · 272 unmodified lines
780 continue;782 continue;
781 783
782 hwc = &event->hw;784 hwc = &event->hw;
783 armpmu_event_update(event, hwc, idx);785 armpmu_event_update(event, hwc, idx, 1);
784 data.period = event->hw.last_period;786 data.period = event->hw.last_period;
785 if (!armpmu_event_set_period(event, hwc, idx))787 if (!armpmu_event_set_period(event, hwc, idx))
786 continue;788 continue;
@@ -847,6 +849,18 @@ static int armv7pmu_get_event_idx(struct cpu_hw_events *cpuc, · 60 unmodified lines
847 }849 }
848}850}
849 851
852static 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
850static struct arm_pmu armv7pmu = {864static struct arm_pmu armv7pmu = {
851 .handle_irq = armv7pmu_handle_irq,865 .handle_irq = armv7pmu_handle_irq,
852 .enable = armv7pmu_enable_event,866 .enable = armv7pmu_enable_event,
@@ -856,17 +870,15 @@ static struct arm_pmu armv7pmu = { · 3 unmodified lines
856 .get_event_idx = armv7pmu_get_event_idx,870 .get_event_idx = armv7pmu_get_event_idx,
857 .start = armv7pmu_start,871 .start = armv7pmu_start,
858 .stop = armv7pmu_stop,872 .stop = armv7pmu_stop,
873 .reset = armv7pmu_reset,
859 .raw_event_mask = 0xFF,874 .raw_event_mask = 0xFF,
860 .max_period = (1LLU << 32) - 1,875 .max_period = (1LLU << 32) - 1,
861};876};
862 877
863static u32 __init armv7_reset_read_pmnc(void)878static u32 __init armv7_read_num_pmnc_events(void)
864{879{
865 u32 nb_cnt;880 u32 nb_cnt;
866 881
867 /* Initialize & Reset PMNC: C and P bits */
868 armv7_pmnc_write(ARMV7_PMNC_P | ARMV7_PMNC_C);
869
870 /* Read the nb of CNTx counters supported from PMNC */882 /* Read the nb of CNTx counters supported from PMNC */
871 nb_cnt = (armv7_pmnc_read() >> ARMV7_PMNC_N_SHIFT) & ARMV7_PMNC_N_MASK;883 nb_cnt = (armv7_pmnc_read() >> ARMV7_PMNC_N_SHIFT) & ARMV7_PMNC_N_MASK;
872 884
@@ -880,7 +892,7 @@ static const struct arm_pmu *__init armv7_a8_pmu_init(void) · 7 unmodified lines
880 armv7pmu.name = "ARMv7 Cortex-A8";892 armv7pmu.name = "ARMv7 Cortex-A8";
881 armv7pmu.cache_map = &armv7_a8_perf_cache_map;893 armv7pmu.cache_map = &armv7_a8_perf_cache_map;
882 armv7pmu.event_map = &armv7_a8_perf_map;894 armv7pmu.event_map = &armv7_a8_perf_map;
883 armv7pmu.num_events = armv7_reset_read_pmnc();895 armv7pmu.num_events = armv7_read_num_pmnc_events();
884 return &armv7pmu;896 return &armv7pmu;
885}897}
886 898
@@ -890,7 +902,7 @@ static const struct arm_pmu *__init armv7_a9_pmu_init(void) · 3 unmodified lines
890 armv7pmu.name = "ARMv7 Cortex-A9";902 armv7pmu.name = "ARMv7 Cortex-A9";
891 armv7pmu.cache_map = &armv7_a9_perf_cache_map;903 armv7pmu.cache_map = &armv7_a9_perf_cache_map;
892 armv7pmu.event_map = &armv7_a9_perf_map;904 armv7pmu.event_map = &armv7_a9_perf_map;
893 armv7pmu.num_events = armv7_reset_read_pmnc();905 armv7pmu.num_events = armv7_read_num_pmnc_events();
894 return &armv7pmu;906 return &armv7pmu;
895}907}
896#else908#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
246 continue;246 continue;
247 247
248 hwc = &event->hw;248 hwc = &event->hw;
249 armpmu_event_update(event, hwc, idx);249 armpmu_event_update(event, hwc, idx, 1);
250 data.period = event->hw.last_period;250 data.period = event->hw.last_period;
251 if (!armpmu_event_set_period(event, hwc, idx))251 if (!armpmu_event_set_period(event, hwc, idx))
252 continue;252 continue;
@@ -578,7 +578,7 @@ xscale2pmu_handle_irq(int irq_num, void *dev) · 325 unmodified lines
578 continue;578 continue;
579 579
580 hwc = &event->hw;580 hwc = &event->hw;
581 armpmu_event_update(event, hwc, idx);581 armpmu_event_update(event, hwc, idx, 1);
582 data.period = event->hw.last_period;582 data.period = event->hw.last_period;
583 if (!armpmu_event_set_period(event, hwc, idx))583 if (!armpmu_event_set_period(event, hwc, idx))
584 continue;584 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
372 if (clone_flags & CLONE_SETTLS)372 if (clone_flags & CLONE_SETTLS)
373 thread->tp_value = regs->ARM_r3;373 thread->tp_value = regs->ARM_r3;
374 374
375 thread_notify(THREAD_NOTIFY_COPY, thread);
376
375 return 0;377 return 0;
376}378}
377 379
arch/arm/kernel/ptrace.c+247−109
@@ -21,6 +21,7 @@ · 20 unmodified lines
21#include <linux/uaccess.h>21#include <linux/uaccess.h>
22#include <linux/perf_event.h>22#include <linux/perf_event.h>
23#include <linux/hw_breakpoint.h>23#include <linux/hw_breakpoint.h>
24#include <linux/regset.h>
24 25
25#include <asm/pgtable.h>26#include <asm/pgtable.h>
26#include <asm/system.h>27#include <asm/system.h>
@@ -308,58 +309,6 @@ static int ptrace_write_user(struct task_struct *tsk, unsigned long off, · 281 unmodified lines
308 return put_user_reg(tsk, off >> 2, val);309 return put_user_reg(tsk, off >> 2, val);
309}310}
310 311
311/*
312 * Get all user integer registers.
313 */
314static 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 */
324static 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 */
346static 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 */
355static 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
363#ifdef CONFIG_IWMMXT312#ifdef CONFIG_IWMMXT
364 313
365/*314/*
@@ -418,56 +367,6 @@ static int ptrace_setcrunchregs(struct task_struct *tsk, void __user *ufp) · 52 unmodified lines
418}367}
419#endif368#endif
420 369
421#ifdef CONFIG_VFP
422/*
423 * Get the child VFP state.
424 */
425static 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 */
448static 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
471#ifdef CONFIG_HAVE_HW_BREAKPOINT370#ifdef CONFIG_HAVE_HW_BREAKPOINT
472/*371/*
473 * Convert a virtual register number into an index for a thread_info372 * Convert a virtual register number into an index for a thread_info
@@ -694,6 +593,219 @@ out: · 220 unmodified lines
694}593}
695#endif594#endif
696 595
596/* regset get/set implementations */
597
598static 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
610static 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
631static 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
641static 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 */
678static 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 */
715static 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
754enum arm_regset {
755 REGSET_GPR,
756 REGSET_FPR,
757#ifdef CONFIG_VFP
758 REGSET_VFP,
759#endif
760};
761
762static 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
799static 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
804const struct user_regset_view *task_user_regset_view(struct task_struct *task)
805{
806 return &user_arm_view;
807}
808
697long arch_ptrace(struct task_struct *child, long request,809long arch_ptrace(struct task_struct *child, long request,
698 unsigned long addr, unsigned long data)810 unsigned long addr, unsigned long data)
699{811{
@@ -710,19 +822,31 @@ long arch_ptrace(struct task_struct *child, long request, · 10 unmodified lines
710 break;822 break;
711 823
712 case PTRACE_GETREGS:824 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);
714 break;829 break;
715 830
716 case PTRACE_SETREGS:831 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);
718 break;836 break;
719 837
720 case PTRACE_GETFPREGS:838 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);
722 break;843 break;
723 844
724 case PTRACE_SETFPREGS:845 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);
726 break;850 break;
727 851
728#ifdef CONFIG_IWMMXT852#ifdef CONFIG_IWMMXT
@@ -757,22 +881,36 @@ long arch_ptrace(struct task_struct *child, long request, · 28 unmodified lines
757 881
758#ifdef CONFIG_VFP882#ifdef CONFIG_VFP
759 case PTRACE_GETVFPREGS:883 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);
761 break;888 break;
762 889
763 case PTRACE_SETVFPREGS:890 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);
765 break;895 break;
766#endif896#endif
767 897
768#ifdef CONFIG_HAVE_HW_BREAKPOINT898#ifdef CONFIG_HAVE_HW_BREAKPOINT
769 case PTRACE_GETHBPREGS:899 case PTRACE_GETHBPREGS:
900 if (ptrace_get_breakpoints(child) < 0)
901 return -ESRCH;
902
770 ret = ptrace_gethbpregs(child, addr,903 ret = ptrace_gethbpregs(child, addr,
771 (unsigned long __user *)data);904 (unsigned long __user *)data);
905 ptrace_put_breakpoints(child);
772 break;906 break;
773 case PTRACE_SETHBPREGS:907 case PTRACE_SETHBPREGS:
908 if (ptrace_get_breakpoints(child) < 0)
909 return -ESRCH;
910
774 ret = ptrace_sethbpregs(child, addr,911 ret = ptrace_sethbpregs(child, addr,
775 (unsigned long __user *)data);912 (unsigned long __user *)data);
913 ptrace_put_breakpoints(child);
776 break;914 break;
777#endif915#endif
778 916
arch/arm/kernel/setup.c+67−36
@@ -20,6 +20,7 @@ · 19 unmodified lines
20#include <linux/screen_info.h>20#include <linux/screen_info.h>
21#include <linux/init.h>21#include <linux/init.h>
22#include <linux/kexec.h>22#include <linux/kexec.h>
23#include <linux/of_fdt.h>
23#include <linux/crash_dump.h>24#include <linux/crash_dump.h>
24#include <linux/root_dev.h>25#include <linux/root_dev.h>
25#include <linux/cpu.h>26#include <linux/cpu.h>
@@ -42,6 +43,7 @@ · 16 unmodified lines
42#include <asm/cachetype.h>43#include <asm/cachetype.h>
43#include <asm/tlbflush.h>44#include <asm/tlbflush.h>
44 45
46#include <asm/prom.h>
45#include <asm/mach/arch.h>47#include <asm/mach/arch.h>
46#include <asm/mach/irq.h>48#include <asm/mach/irq.h>
47#include <asm/mach/time.h>49#include <asm/mach/time.h>
@@ -309,7 +311,7 @@ static void __init cacheid_init(void) · 261 unmodified lines
309 */311 */
310extern struct proc_info_list *lookup_processor_type(unsigned int);312extern struct proc_info_list *lookup_processor_type(unsigned int);
311 313
312static void __init early_print(const char *str, ...)314void __init early_print(const char *str, ...)
313{315{
314 extern void printascii(const char *);316 extern void printascii(const char *);
315 char buf[256];317 char buf[256];
@@ -439,25 +441,12 @@ void cpu_init(void) · 123 unmodified lines
439 : "r14");441 : "r14");
440}442}
441 443
442static struct machine_desc * __init setup_machine(unsigned int nr)444void __init dump_machine_table(void)
443{445{
444 extern struct machine_desc __arch_info_begin[], __arch_info_end[];
445 struct machine_desc *p;446 struct machine_desc *p;
446 447
447 /*448 early_print("Available machine support:\n\nID (hex)\tNAME\n");
448 * locate machine in the list of supported machines.449 for_each_machine_desc(p)
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++)
461 early_print("%08x\t%s\n", p->nr, p->name);450 early_print("%08x\t%s\n", p->nr, p->name);
462 451
463 early_print("\nPlease check your kernel config and/or bootloader.\n");452 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
466 /* can't use cpu_relax() here as it may require MMU setup */;455 /* can't use cpu_relax() here as it may require MMU setup */;
467}456}
468 457
469static int __init arm_add_memory(phys_addr_t start, unsigned long size)458int __init arm_add_memory(phys_addr_t start, unsigned long size)
470{459{
471 struct membank *bank = &meminfo.bank[meminfo.nr_banks];460 struct membank *bank = &meminfo.bank[meminfo.nr_banks];
472 461
@@ -672,11 +661,16 @@ __tagtable(ATAG_REVISION, parse_tag_revision); · 199 unmodified lines
672 661
673static int __init parse_tag_cmdline(const struct tag *tag)662static int __init parse_tag_cmdline(const struct tag *tag)
674{663{
675#ifndef CONFIG_CMDLINE_FORCE664#if defined(CONFIG_CMDLINE_EXTEND)
676 strlcpy(default_command_line, tag->u.cmdline.cmdline, COMMAND_LINE_SIZE);665 strlcat(default_command_line, " ", COMMAND_LINE_SIZE);
677#else666 strlcat(default_command_line, tag->u.cmdline.cmdline,
667 COMMAND_LINE_SIZE);
668#elif defined(CONFIG_CMDLINE_FORCE)
678 pr_warning("Ignoring tag cmdline (using the default kernel command line)\n");669 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
680 return 0;674 return 0;
681}675}
682 676
@@ -796,23 +790,29 @@ static void __init squash_mem_tags(struct tag *tag) · 113 unmodified lines
796 tag->hdr.tag = ATAG_NONE;790 tag->hdr.tag = ATAG_NONE;
797}791}
798 792
799void __init setup_arch(char **cmdline_p)793static struct machine_desc * __init setup_machine_tags(unsigned int nr)
800{794{
801 struct tag *tags = (struct tag *)&init_tags;795 struct tag *tags = (struct tag *)&init_tags;
802 struct machine_desc *mdesc;796 struct machine_desc *mdesc = NULL, *p;
803 char *from = default_command_line;797 char *from = default_command_line;
804 798
805 init_tags.mem.start = PHYS_OFFSET;799 init_tags.mem.start = PHYS_OFFSET;
806 800
807 unwind_init();801 /*
808 802 * locate machine in the list of supported machines.
809 setup_processor();803 */
810 mdesc = setup_machine(machine_arch_type);804 for_each_machine_desc(p)
811 machine_desc = mdesc;805 if (nr == p->nr) {
812 machine_name = mdesc->name;806 printk("Machine: %s\n", p->name);
807 mdesc = p;
808 break;
809 }
813 810
814 if (mdesc->soft_reboot)811 if (!mdesc) {
815 reboot_setup("s");812 early_print("\nError: unrecognized/unsupported machine ID"
813 " (r1 = 0x%08x).\n\n", nr);
814 dump_machine_table(); /* does not return */
815 }
816 816
817 if (__atags_pointer)817 if (__atags_pointer)
818 tags = phys_to_virt(__atags_pointer);818 tags = phys_to_virt(__atags_pointer);
@@ -844,8 +844,17 @@ void __init setup_arch(char **cmdline_p) · 25 unmodified lines
844 if (tags->hdr.tag != ATAG_CORE)844 if (tags->hdr.tag != ATAG_CORE)
845 convert_to_tag_list(tags);845 convert_to_tag_list(tags);
846#endif846#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
848 tags = (struct tag *)&init_tags;856 tags = (struct tag *)&init_tags;
857 }
849 858
850 if (mdesc->fixup)859 if (mdesc->fixup)
851 mdesc->fixup(mdesc, tags, &from, &meminfo);860 mdesc->fixup(mdesc, tags, &from, &meminfo);
@@ -857,14 +866,34 @@ void __init setup_arch(char **cmdline_p) · 5 unmodified lines
857 parse_tags(tags);866 parse_tags(tags);
858 }867 }
859 868
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
876void __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
860 init_mm.start_code = (unsigned long) _text;892 init_mm.start_code = (unsigned long) _text;
861 init_mm.end_code = (unsigned long) _etext;893 init_mm.end_code = (unsigned long) _etext;
862 init_mm.end_data = (unsigned long) _edata;894 init_mm.end_data = (unsigned long) _edata;
863 init_mm.brk = (unsigned long) _end;895 init_mm.brk = (unsigned long) _end;
864 896
865 /* parse_early_param needs a boot_command_line */
866 strlcpy(boot_command_line, from, COMMAND_LINE_SIZE);
867
868 /* populate cmd_line too for later use, preserving boot_command_line */897 /* populate cmd_line too for later use, preserving boot_command_line */
869 strlcpy(cmd_line, boot_command_line, COMMAND_LINE_SIZE);898 strlcpy(cmd_line, boot_command_line, COMMAND_LINE_SIZE);
870 *cmdline_p = cmd_line;899 *cmdline_p = cmd_line;
@@ -876,6 +905,8 @@ void __init setup_arch(char **cmdline_p) · 5 unmodified lines
876 paging_init(mdesc);905 paging_init(mdesc);
877 request_standard_resources(mdesc);906 request_standard_resources(mdesc);
878 907
908 unflatten_device_tree();
909
879#ifdef CONFIG_SMP910#ifdef CONFIG_SMP
880 if (is_smp())911 if (is_smp())
881 smp_init_cpus();912 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
597 return err;597 return err;
598}598}
599 599
600static 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
606/*600/*
607 * OK, we're invoking a handler601 * OK, we're invoking a handler
608 */ 602 */
609static int603static int
610handle_signal(unsigned long sig, struct k_sigaction *ka,604handle_signal(unsigned long sig, struct k_sigaction *ka,
611 siginfo_t *info, sigset_t *oldset,605 siginfo_t *info, sigset_t *oldset,
612 struct pt_regs * regs, int syscall)606 struct pt_regs * regs)
613{607{
614 struct thread_info *thread = current_thread_info();608 struct thread_info *thread = current_thread_info();
615 struct task_struct *tsk = current;609 struct task_struct *tsk = current;
616 int usig = sig;610 int usig = sig;
617 int ret;611 int ret;
618 612
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
639 /*613 /*
640 * translate the signal614 * translate the signal
641 */615 */
@@ -685,6 +659,7 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, · 43 unmodified lines
685 */659 */
686static void do_signal(struct pt_regs *regs, int syscall)660static void do_signal(struct pt_regs *regs, int syscall)
687{661{
662 unsigned int retval = 0, continue_addr = 0, restart_addr = 0;
688 struct k_sigaction ka;663 struct k_sigaction ka;
689 siginfo_t info;664 siginfo_t info;
690 int signr;665 int signr;
@@ -698,18 +673,61 @@ static void do_signal(struct pt_regs *regs, int syscall) · 7 unmodified lines
698 if (!user_mode(regs))673 if (!user_mode(regs))
699 return;674 return;
700 675
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
701 if (try_to_freeze())701 if (try_to_freeze())
702 goto no_signal;702 goto no_signal;
703 703
704 /*
705 * Get the signal to deliver. When running under ptrace, at this
706 * point the debugger may change all our registers ...
707 */
704 signr = get_signal_to_deliver(&info, &ka, regs, NULL);708 signr = get_signal_to_deliver(&info, &ka, regs, NULL);
705 if (signr > 0) {709 if (signr > 0) {
706 sigset_t *oldset;710 sigset_t *oldset;
707 711
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
708 if (test_thread_flag(TIF_RESTORE_SIGMASK))726 if (test_thread_flag(TIF_RESTORE_SIGMASK))
709 oldset = &current->saved_sigmask;727 oldset = &current->saved_sigmask;
710 else728 else
711 oldset = &current->blocked;729 oldset = &current->blocked;
712 if (handle_signal(signr, &ka, &info, oldset, regs, syscall) == 0) {730 if (handle_signal(signr, &ka, &info, oldset, regs) == 0) {
713 /*731 /*
714 * A signal was successfully delivered; the saved732 * A signal was successfully delivered; the saved
715 * sigmask will have been stored in the signal frame,733 * 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
723 }741 }
724 742
725 no_signal:743 no_signal:
726 /*
727 * No signal to deliver to the process - restart the syscall.
728 */
729 if (syscall) {744 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) {
731 if (thumb_mode(regs)) {752 if (thumb_mode(regs)) {
732 regs->ARM_r7 = __NR_restart_syscall - __NR_SYSCALL_BASE;753 regs->ARM_r7 = __NR_restart_syscall - __NR_SYSCALL_BASE;
733 regs->ARM_pc -= 2;754 regs->ARM_pc -= 2;
@@ -750,11 +771,6 @@ static void do_signal(struct pt_regs *regs, int syscall) · 16 unmodified lines
750#endif771#endif
751 }772 }
752 }773 }
753 if (regs->ARM_r0 == -ERESTARTNOHAND ||
754 regs->ARM_r0 == -ERESTARTSYS ||
755 regs->ARM_r0 == -ERESTARTNOINTR) {
756 setup_syscall_restart(regs);
757 }
758 774
759 /* If there's no signal to deliver, we just put the saved sigmask775 /* If there's no signal to deliver, we just put the saved sigmask
760 * back.776 * back.
arch/arm/kernel/sleep.S+11−3
@@ -119,11 +119,19 @@ ENTRY(cpu_resume) · 118 unmodified lines
119#else119#else
120 ldr r0, sleep_save_sp @ stack phys addr120 ldr r0, sleep_save_sp @ stack phys addr
121#endif121#endif
122 msr cpsr_c, #PSR_I_BIT | PSR_F_BIT | SVC_MODE @ set SVC, irqs off122 setmode PSR_I_BIT | PSR_F_BIT | SVC_MODE, r1 @ set SVC, irqs off
123#ifdef MULTI_CPU123#ifdef MULTI_CPU
124 ldmia r0!, {r1, sp, lr, pc} @ load v:p, stack, return fn, resume fn124 @ load v:p, stack, return fn, resume fn
125 ARM( ldmia r0!, {r1, sp, lr, pc} )
126THUMB( ldmia r0!, {r1, r2, r3, r4} )
127THUMB( mov sp, r2 )
128THUMB( mov lr, r3 )
129THUMB( bx r4 )
125#else130#else
126 ldmia r0!, {r1, sp, lr} @ load v:p, stack, return fn131 @ load v:p, stack, return fn
132 ARM( ldmia r0!, {r1, sp, lr} )
133THUMB( ldmia r0!, {r1, r2, lr} )
134THUMB( mov sp, r2 )
127 b cpu_do_resume135 b cpu_do_resume
128#endif136#endif
129ENDPROC(cpu_resume)137ENDPROC(cpu_resume)
arch/arm/kernel/smp.c+10−5
@@ -105,6 +105,7 @@ int __cpuinit __cpu_up(unsigned int cpu) · 104 unmodified lines
105 */105 */
106 secondary_data.stack = task_stack_page(idle) + THREAD_START_SP;106 secondary_data.stack = task_stack_page(idle) + THREAD_START_SP;
107 secondary_data.pgdir = virt_to_phys(pgd);107 secondary_data.pgdir = virt_to_phys(pgd);
108 secondary_data.swapper_pg_dir = virt_to_phys(swapper_pg_dir);
108 __cpuc_flush_dcache_area(&secondary_data, sizeof(secondary_data));109 __cpuc_flush_dcache_area(&secondary_data, sizeof(secondary_data));
109 outer_clean_range(__pa(&secondary_data), __pa(&secondary_data + 1));110 outer_clean_range(__pa(&secondary_data), __pa(&secondary_data + 1));
110 111
@@ -376,6 +377,13 @@ void __init smp_prepare_cpus(unsigned int max_cpus) · 265 unmodified lines
376 }377 }
377}378}
378 379
380static void (*smp_cross_call)(const struct cpumask *, unsigned int);
381
382void __init set_smp_cross_call(void (*fn)(const struct cpumask *, unsigned int))
383{
384 smp_cross_call = fn;
385}
386
379void arch_send_call_function_ipi_mask(const struct cpumask *mask)387void arch_send_call_function_ipi_mask(const struct cpumask *mask)
380{388{
381 smp_cross_call(mask, IPI_CALL_FUNC);389 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
479{487{
480}488}
481 489
482static void broadcast_timer_setup(struct clock_event_device *evt)490static void __cpuinit broadcast_timer_setup(struct clock_event_device *evt)
483{491{
484 evt->name = "dummy_timer";492 evt->name = "dummy_timer";
485 evt->features = CLOCK_EVT_FEAT_ONESHOT |493 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
560 break;568 break;
561 569
562 case IPI_RESCHEDULE:570 case IPI_RESCHEDULE:
563 /*571 scheduler_ipi();
564 * nothing more to do - eveything is
565 * done on the interrupt return path
566 */
567 break;572 break;
568 573
569 case IPI_CALL_FUNC:574 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
158 158
159 if (res == 0) {159 if (res == 0) {
160 /*160 /*
161 * Barrier also required between aquiring a lock for a161 * Barrier also required between acquiring a lock for a
162 * protected resource and accessing the resource. Inserted for162 * protected resource and accessing the resource. Inserted for
163 * same reason as above.163 * same reason as above.
164 */164 */
arch/arm/kernel/sys_oabi-compat.c+1−1
@@ -311,7 +311,7 @@ asmlinkage long sys_oabi_semtimedop(int semid, · 310 unmodified lines
311 long err;311 long err;
312 int i;312 int i;
313 313
314 if (nsops < 1)314 if (nsops < 1 || nsops > SEMOPM)
315 return -EINVAL;315 return -EINVAL;
316 sops = kmalloc(sizeof(*sops) * nsops, GFP_KERNEL);316 sops = kmalloc(sizeof(*sops) * nsops, GFP_KERNEL);
317 if (!sops)317 if (!sops)
arch/arm/kernel/time.c+12−23
@@ -21,7 +21,7 @@ · 20 unmodified lines
21#include <linux/timex.h>21#include <linux/timex.h>
22#include <linux/errno.h>22#include <linux/errno.h>
23#include <linux/profile.h>23#include <linux/profile.h>
24#include <linux/sysdev.h>24#include <linux/syscore_ops.h>
25#include <linux/timer.h>25#include <linux/timer.h>
26#include <linux/irq.h>26#include <linux/irq.h>
27 27
@@ -115,48 +115,37 @@ void timer_tick(void) · 87 unmodified lines
115#endif115#endif
116 116
117#if defined(CONFIG_PM) && !defined(CONFIG_GENERIC_CLOCKEVENTS)117#if defined(CONFIG_PM) && !defined(CONFIG_GENERIC_CLOCKEVENTS)
118static int timer_suspend(struct sys_device *dev, pm_message_t state)118static int timer_suspend(void)
119{119{
120 struct sys_timer *timer = container_of(dev, struct sys_timer, dev);120 if (system_timer->suspend)
121 121 system_timer->suspend();
122 if (timer->suspend != NULL)
123 timer->suspend();
124 122
125 return 0;123 return 0;
126}124}
127 125
128static int timer_resume(struct sys_device *dev)126static void timer_resume(void)
129{127{
130 struct sys_timer *timer = container_of(dev, struct sys_timer, dev);128 if (system_timer->resume)
131 129 system_timer->resume();
132 if (timer->resume != NULL)
133 timer->resume();
134
135 return 0;
136}130}
137#else131#else
138#define timer_suspend NULL132#define timer_suspend NULL
139#define timer_resume NULL133#define timer_resume NULL
140#endif134#endif
141 135
142static struct sysdev_class timer_sysclass = {136static struct syscore_ops timer_syscore_ops = {
143 .name = "timer",
144 .suspend = timer_suspend,137 .suspend = timer_suspend,
145 .resume = timer_resume,138 .resume = timer_resume,
146};139};
147 140
148static int __init timer_init_sysfs(void)141static int __init timer_init_syscore_ops(void)
149{142{
150 int ret = sysdev_class_register(&timer_sysclass);143 register_syscore_ops(&timer_syscore_ops);
151 if (ret == 0) {
152 system_timer->dev.cls = &timer_sysclass;
153 ret = sysdev_register(&system_timer->dev);
154 }
155 144
156 return ret;145 return 0;
157}146}
158 147
159device_initcall(timer_init_sysfs);148device_initcall(timer_init_syscore_ops);
160 149
161void __init time_init(void)150void __init time_init(void)
162{151{
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
234 234
235 printk(KERN_EMERG "Internal error: %s: %x [#%d]" S_PREEMPT S_SMP "\n",235 printk(KERN_EMERG "Internal error: %s: %x [#%d]" S_PREEMPT S_SMP "\n",
236 str, err, ++die_counter);236 str, err, ++die_counter);
237 sysfs_printk_last_file();
238 237
239 /* trap and error numbers are mostly meaningless on ARM */238 /* trap and error numbers are mostly meaningless on ARM */
240 ret = notify_die(DIE_OOPS, str, regs, err, tsk->thread.trap_no, SIGSEGV);239 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
410 struct thread_info *thread = current_thread_info();409 struct thread_info *thread = current_thread_info();
411 siginfo_t info;410 siginfo_t info;
412 411
413 if (current->personality != PER_LINUX &&412 if ((current->personality & PER_MASK) != PER_LINUX &&
414 current->personality != PER_LINUX_32BIT &&
415 thread->exec_domain->handler) {413 thread->exec_domain->handler) {
416 thread->exec_domain->handler(n, regs);414 thread->exec_domain->handler(n, regs);
417 return regs->ARM_r0;415 return regs->ARM_r0;
arch/arm/kernel/vmlinux.lds.S+1−1
@@ -82,7 +82,7 @@ SECTIONS · 81 unmodified lines
82#endif82#endif
83 }83 }
84 84
85 PERCPU(32, PAGE_SIZE)85 PERCPU_SECTION(32)
86 86
87#ifndef CONFIG_XIP_KERNEL87#ifndef CONFIG_XIP_KERNEL
88 . = ALIGN(PAGE_SIZE);88 . = ALIGN(PAGE_SIZE);
arch/arm/lib/lib1funcs.S+20−5
@@ -35,7 +35,7 @@ Boston, MA 02111-1307, USA. */ · 34 unmodified lines
35 35
36#include <linux/linkage.h>36#include <linux/linkage.h>
37#include <asm/assembler.h>37#include <asm/assembler.h>
38 38#include <asm/unwind.h>
39 39
40.macro ARM_DIV_BODY dividend, divisor, result, curbit40.macro ARM_DIV_BODY dividend, divisor, result, curbit
41 41
@@ -207,6 +207,7 @@ Boston, MA 02111-1307, USA. */ · 165 unmodified lines
207 207
208ENTRY(__udivsi3)208ENTRY(__udivsi3)
209ENTRY(__aeabi_uidiv)209ENTRY(__aeabi_uidiv)
210UNWIND(.fnstart)
210 211
211 subs r2, r1, #1212 subs r2, r1, #1
212 moveq pc, lr213 moveq pc, lr
@@ -230,10 +231,12 @@ ENTRY(__aeabi_uidiv) · 17 unmodified lines
230 mov r0, r0, lsr r2231 mov r0, r0, lsr r2
231 mov pc, lr232 mov pc, lr
232 233
234UNWIND(.fnend)
233ENDPROC(__udivsi3)235ENDPROC(__udivsi3)
234ENDPROC(__aeabi_uidiv)236ENDPROC(__aeabi_uidiv)
235 237
236ENTRY(__umodsi3)238ENTRY(__umodsi3)
239UNWIND(.fnstart)
237 240
238 subs r2, r1, #1 @ compare divisor with 1241 subs r2, r1, #1 @ compare divisor with 1
239 bcc Ldiv0242 bcc Ldiv0
@@ -247,10 +250,12 @@ ENTRY(__umodsi3) · 7 unmodified lines
247 250
248 mov pc, lr251 mov pc, lr
249 252
253UNWIND(.fnend)
250ENDPROC(__umodsi3)254ENDPROC(__umodsi3)
251 255
252ENTRY(__divsi3)256ENTRY(__divsi3)
253ENTRY(__aeabi_idiv)257ENTRY(__aeabi_idiv)
258UNWIND(.fnstart)
254 259
255 cmp r1, #0260 cmp r1, #0
256 eor ip, r0, r1 @ save the sign of the result.261 eor ip, r0, r1 @ save the sign of the result.
@@ -287,10 +292,12 @@ ENTRY(__aeabi_idiv) · 30 unmodified lines
287 rsbmi r0, r0, #0292 rsbmi r0, r0, #0
288 mov pc, lr293 mov pc, lr
289 294
295UNWIND(.fnend)
290ENDPROC(__divsi3)296ENDPROC(__divsi3)
291ENDPROC(__aeabi_idiv)297ENDPROC(__aeabi_idiv)
292 298
293ENTRY(__modsi3)299ENTRY(__modsi3)
300UNWIND(.fnstart)
294 301
295 cmp r1, #0302 cmp r1, #0
296 beq Ldiv0303 beq Ldiv0
@@ -310,11 +317,14 @@ ENTRY(__modsi3) · 13 unmodified lines
310 rsbmi r0, r0, #0317 rsbmi r0, r0, #0
311 mov pc, lr318 mov pc, lr
312 319
320UNWIND(.fnend)
313ENDPROC(__modsi3)321ENDPROC(__modsi3)
314 322
315#ifdef CONFIG_AEABI323#ifdef CONFIG_AEABI
316 324
317ENTRY(__aeabi_uidivmod)325ENTRY(__aeabi_uidivmod)
326UNWIND(.fnstart)
327UNWIND(.save {r0, r1, ip, lr} )
318 328
319 stmfd sp!, {r0, r1, ip, lr}329 stmfd sp!, {r0, r1, ip, lr}
320 bl __aeabi_uidiv330 bl __aeabi_uidiv
@@ -323,10 +333,12 @@ ENTRY(__aeabi_uidivmod) · 2 unmodified lines
323 sub r1, r1, r3333 sub r1, r1, r3
324 mov pc, lr334 mov pc, lr
325 335
336UNWIND(.fnend)
326ENDPROC(__aeabi_uidivmod)337ENDPROC(__aeabi_uidivmod)
327 338
328ENTRY(__aeabi_idivmod)339ENTRY(__aeabi_idivmod)
329 340UNWIND(.fnstart)
341UNWIND(.save {r0, r1, ip, lr} )
330 stmfd sp!, {r0, r1, ip, lr}342 stmfd sp!, {r0, r1, ip, lr}
331 bl __aeabi_idiv343 bl __aeabi_idiv
332 ldmfd sp!, {r1, r2, ip, lr}344 ldmfd sp!, {r1, r2, ip, lr}
@@ -334,15 +346,18 @@ ENTRY(__aeabi_idivmod) · 1 unmodified line
334 sub r1, r1, r3346 sub r1, r1, r3
335 mov pc, lr347 mov pc, lr
336 348
349UNWIND(.fnend)
337ENDPROC(__aeabi_idivmod)350ENDPROC(__aeabi_idivmod)
338 351
339#endif352#endif
340 353
341Ldiv0:354Ldiv0:
342 355UNWIND(.fnstart)
356UNWIND(.pad #4)
357UNWIND(.save {lr})
343 str lr, [sp, #-8]!358 str lr, [sp, #-8]!
344 bl __div0359 bl __div0
345 mov r0, #0 @ About as wrong as it could be.360 mov r0, #0 @ About as wrong as it could be.
346 ldr pc, [sp], #8361 ldr pc, [sp], #8
347 362UNWIND(.fnend)
348 363ENDPROC(Ldiv0)
arch/arm/mach-at91/Kconfig+1−40
@@ -3,9 +3,6 @@ if ARCH_AT91 · 2 unmodified lines
3config HAVE_AT91_DATAFLASH_CARD3config HAVE_AT91_DATAFLASH_CARD
4 bool4 bool
5 5
6config HAVE_NAND_ATMEL_BUSWIDTH_16
7 bool
8
9config HAVE_AT91_USART36config HAVE_AT91_USART3
10 bool7 bool
11 8
@@ -83,11 +80,7 @@ config ARCH_AT91CAP9 · 71 unmodified lines
83 select CPU_ARM926T80 select CPU_ARM926T
84 select GENERIC_CLOCKEVENTS81 select GENERIC_CLOCKEVENTS
85 select HAVE_FB_ATMEL82 select HAVE_FB_ATMEL
86 83 select HAVE_NET_MACB
87config ARCH_AT572D940HF
88 bool "AT572D940HF"
89 select CPU_ARM926T
90 select GENERIC_CLOCKEVENTS
91 84
92config ARCH_AT91X4085config ARCH_AT91X40
93 bool "AT91x40"86 bool "AT91x40"
@@ -208,7 +201,6 @@ comment "AT91SAM9260 / AT91SAM9XE Board Type" · 114 unmodified lines
208config MACH_AT91SAM9260EK201config MACH_AT91SAM9260EK
209 bool "Atmel AT91SAM9260-EK / AT91SAM9XE Evaluation Kit"202 bool "Atmel AT91SAM9260-EK / AT91SAM9XE Evaluation Kit"
210 select HAVE_AT91_DATAFLASH_CARD203 select HAVE_AT91_DATAFLASH_CARD
211 select HAVE_NAND_ATMEL_BUSWIDTH_16
212 help204 help
213 Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit205 Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit
214 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933>206 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933>
@@ -269,7 +261,6 @@ comment "AT91SAM9261 Board Type" · 54 unmodified lines
269config MACH_AT91SAM9261EK261config MACH_AT91SAM9261EK
270 bool "Atmel AT91SAM9261-EK Evaluation Kit"262 bool "Atmel AT91SAM9261-EK Evaluation Kit"
271 select HAVE_AT91_DATAFLASH_CARD263 select HAVE_AT91_DATAFLASH_CARD
272 select HAVE_NAND_ATMEL_BUSWIDTH_16
273 help264 help
274 Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit.265 Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit.
275 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820>266 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820>
@@ -285,7 +276,6 @@ comment "AT91SAM9G10 Board Type" · 9 unmodified lines
285config MACH_AT91SAM9G10EK276config MACH_AT91SAM9G10EK
286 bool "Atmel AT91SAM9G10-EK Evaluation Kit"277 bool "Atmel AT91SAM9G10-EK Evaluation Kit"
287 select HAVE_AT91_DATAFLASH_CARD278 select HAVE_AT91_DATAFLASH_CARD
288 select HAVE_NAND_ATMEL_BUSWIDTH_16
289 help279 help
290 Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit.280 Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit.
291 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588>281 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588>
@@ -301,7 +291,6 @@ comment "AT91SAM9263 Board Type" · 9 unmodified lines
301config MACH_AT91SAM9263EK291config MACH_AT91SAM9263EK
302 bool "Atmel AT91SAM9263-EK Evaluation Kit"292 bool "Atmel AT91SAM9263-EK Evaluation Kit"
303 select HAVE_AT91_DATAFLASH_CARD293 select HAVE_AT91_DATAFLASH_CARD
304 select HAVE_NAND_ATMEL_BUSWIDTH_16
305 help294 help
306 Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.295 Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.
307 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>296 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>
@@ -342,7 +331,6 @@ comment "AT91SAM9G20 Board Type" · 34 unmodified lines
342config MACH_AT91SAM9G20EK331config MACH_AT91SAM9G20EK
343 bool "Atmel AT91SAM9G20-EK Evaluation Kit"332 bool "Atmel AT91SAM9G20-EK Evaluation Kit"
344 select HAVE_AT91_DATAFLASH_CARD333 select HAVE_AT91_DATAFLASH_CARD
345 select HAVE_NAND_ATMEL_BUSWIDTH_16
346 help334 help
347 Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit335 Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit
348 that embeds only one SD/MMC slot.336 that embeds only one SD/MMC slot.
@@ -350,7 +338,6 @@ config MACH_AT91SAM9G20EK · 1 unmodified line
350config MACH_AT91SAM9G20EK_2MMC338config MACH_AT91SAM9G20EK_2MMC
351 depends on MACH_AT91SAM9G20EK339 depends on MACH_AT91SAM9G20EK
352 bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots"340 bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots"
353 select HAVE_NAND_ATMEL_BUSWIDTH_16
354 help341 help
355 Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit342 Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit
356 with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and343 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
415 402
416config MACH_AT91SAM9M10G45EK403config MACH_AT91SAM9M10G45EK
417 bool "Atmel AT91SAM9M10G45-EK Evaluation Kits"404 bool "Atmel AT91SAM9M10G45-EK Evaluation Kits"
418 select HAVE_NAND_ATMEL_BUSWIDTH_16
419 help405 help
420 Select this if you are using Atmel's AT91SAM9G45-EKES Evaluation Kit.406 Select this if you are using Atmel's AT91SAM9G45-EKES Evaluation Kit.
421 "ES" at the end of the name means that this board is an407 "ES" at the end of the name means that this board is an
@@ -432,7 +418,6 @@ comment "AT91CAP9 Board Type" · 10 unmodified lines
432config MACH_AT91CAP9ADK418config MACH_AT91CAP9ADK
433 bool "Atmel AT91CAP9A-DK Evaluation Kit"419 bool "Atmel AT91CAP9A-DK Evaluation Kit"
434 select HAVE_AT91_DATAFLASH_CARD420 select HAVE_AT91_DATAFLASH_CARD
435 select HAVE_NAND_ATMEL_BUSWIDTH_16
436 help421 help
437 Select this if you are using Atmel's AT91CAP9A-DK Evaluation Kit.422 Select this if you are using Atmel's AT91CAP9A-DK Evaluation Kit.
438 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4138>423 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4138>
@@ -441,23 +426,6 @@ endif · 2 unmodified lines
441 426
442# ----------------------------------------------------------427# ----------------------------------------------------------
443 428
444if ARCH_AT572D940HF
445
446comment "AT572D940HF Board Type"
447
448config 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
457endif
458
459# ----------------------------------------------------------
460
461if ARCH_AT91X40429if ARCH_AT91X40
462 430
463comment "AT91X40 Board Type"431comment "AT91X40 Board Type"
@@ -482,13 +450,6 @@ config MTD_AT91_DATAFLASH_CARD · 18 unmodified lines
482 help450 help
483 Enable support for the DataFlash card.451 Enable support for the DataFlash card.
484 452
485config 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
492# ----------------------------------------------------------453# ----------------------------------------------------------
493 454
494comment "AT91 Feature Selections"455comment "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
19obj-$(CONFIG_ARCH_AT91SAM9G20) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o sam9_smc.o at91sam9_alt_reset.o19obj-$(CONFIG_ARCH_AT91SAM9G20) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o sam9_smc.o at91sam9_alt_reset.o
20obj-$(CONFIG_ARCH_AT91SAM9G45) += at91sam9g45.o at91sam926x_time.o at91sam9g45_devices.o sam9_smc.o20obj-$(CONFIG_ARCH_AT91SAM9G45) += at91sam9g45.o at91sam926x_time.o at91sam9g45_devices.o sam9_smc.o
21obj-$(CONFIG_ARCH_AT91CAP9) += at91cap9.o at91sam926x_time.o at91cap9_devices.o sam9_smc.o21obj-$(CONFIG_ARCH_AT91CAP9) += at91cap9.o at91sam926x_time.o at91cap9_devices.o sam9_smc.o
22obj-$(CONFIG_ARCH_AT572D940HF) += at572d940hf.o at91sam926x_time.o at572d940hf_devices.o sam9_smc.o
23obj-$(CONFIG_ARCH_AT91X40) += at91x40.o at91x40_time.o22obj-$(CONFIG_ARCH_AT91X40) += at91x40.o at91x40_time.o
24 23
25# AT91RM9200 board-specific support24# AT91RM9200 board-specific support
@@ -78,9 +77,6 @@ obj-$(CONFIG_MACH_AT91SAM9M10G45EK) += board-sam9m10g45ek.o · 52 unmodified lines
78# AT91CAP9 board-specific support77# AT91CAP9 board-specific support
79obj-$(CONFIG_MACH_AT91CAP9ADK) += board-cap9adk.o78obj-$(CONFIG_MACH_AT91CAP9ADK) += board-cap9adk.o
80 79
81# AT572D940HF board-specific support
82obj-$(CONFIG_MACH_AT572D940HFEB) += board-at572d940hf_ek.o
83
84# AT91X40 board-specific support80# AT91X40 board-specific support
85obj-$(CONFIG_MACH_AT91EB01) += board-eb01.o81obj-$(CONFIG_MACH_AT91EB01) += board-eb01.o
86 82
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.