History

Merge branch 'linus' into release

Conflicts: drivers/acpi/debug.c

Len Brown committed 16 years ago

Commit 95ee46a2 parents cfa806f 92fa5bd8188 files · +521354 −369866Browse files

Unified · Split

1939 files
  1. Documentation/00-INDEX +2 −2
  2. Documentation/ABI/testing/debugfs-ec +20 −0
  3. Documentation/ABI/testing/debugfs-kmemtrace +0 −71
  4. Documentation/ABI/testing/sysfs-bus-i2c-devices-hm6352 +21 −0
  5. Documentation/ABI/testing/sysfs-bus-pci +27 −0
  6. Documentation/ABI/testing/sysfs-devices-memory +3 −3
  7. Documentation/ABI/testing/sysfs-devices-platform-_UDC_-gadget +12 −0
  8. Documentation/ABI/testing/sysfs-devices-system-cpu +1 −1
  9. Documentation/ABI/testing/sysfs-driver-hid-roccat-kone +0 −13
  10. Documentation/ABI/testing/sysfs-i2c-bmp085 +31 −0
  11. Documentation/ABI/testing/sysfs-power +15 −0
  12. Documentation/Changes +6 −6
  13. Documentation/DMA-API-HOWTO.txt +10 −0
  14. Documentation/DMA-API.txt +0 −6
  15. Documentation/DocBook/Makefile +3 −3
  16. Documentation/DocBook/device-drivers.tmpl +1 −0
  17. Documentation/DocBook/dvb/dvbapi.xml +16 −3
  18. Documentation/DocBook/dvb/frontend.h.xml +1 −0
  19. Documentation/DocBook/dvb/frontend.xml +8 −2
  20. Documentation/DocBook/kernel-api.tmpl +0 −1
  21. Documentation/DocBook/kgdb.tmpl +100 −8
  22. Documentation/DocBook/media-entities.tmpl +1 −0
  23. Documentation/DocBook/media.tmpl +4 −4
  24. Documentation/DocBook/scsi.tmpl +1 −1
  25. Documentation/DocBook/stylesheet.xsl +1 −0
  26. Documentation/DocBook/v4l/compat.xml +3 −2
  27. Documentation/DocBook/v4l/fdl-appendix.xml +1 −1
  28. Documentation/DocBook/v4l/lirc_device_interface.xml +251 −0
  29. Documentation/DocBook/v4l/pixfmt-packed-rgb.xml +78 −0
  30. Documentation/DocBook/v4l/remote_controllers.xml +2 −0
  31. Documentation/HOWTO +3 −3
  32. Documentation/PCI/pci.txt +1 −1
  33. Documentation/RCU/RTFP.txt +1 −1
  34. Documentation/SubmittingDrivers +1 −1
  35. Documentation/SubmittingPatches +11 −0
  36. Documentation/aoe/aoe.txt +1 −1
  37. Documentation/apparmor.txt +39 −0
  38. Documentation/arm/IXP2000 +1 −1
  39. Documentation/arm/IXP4xx +6 −8
  40. Documentation/arm/README +2 −2
  41. Documentation/arm/SA1100/Assabet +2 −3
  42. Documentation/arm/SA1100/Brutus +1 −1
  43. Documentation/arm/SA1100/FreeBird +1 −1
  44. Documentation/arm/SA1100/GraphicsClient +1 −1
  45. Documentation/arm/SA1100/GraphicsMaster +1 −1
  46. Documentation/arm/SA1100/Itsy +1 −1
  47. Documentation/arm/SA1100/PLEB +1 −1
  48. Documentation/arm/SA1100/Victor +1 −1
  49. Documentation/arm/SA1100/nanoEngine +1 −1
  50. Documentation/arm/memory.txt +7 −1
  51. Documentation/arm/tcm.txt +19 −11
  52. Documentation/binfmt_misc.txt +1 −1
  53. Documentation/blackfin/00-INDEX +4 −7
  54. Documentation/blackfin/Filesystems +0 −169
  55. Documentation/blackfin/bfin-spi-notes.txt +14 −0
  56. Documentation/blackfin/cachefeatures.txt +0 −55
  57. Documentation/block/biodoc.txt +1 −1
  58. Documentation/blockdev/paride.txt +1 −1
  59. Documentation/cdrom/packet-writing.txt +1 −1
  60. Documentation/cgroups/cpusets.txt +1 −1
  61. Documentation/coccinelle.txt +258 −0
  62. Documentation/cpu-hotplug.txt +1 −1
  63. Documentation/development-process/4.Coding +1 −1
  64. Documentation/device-mapper/dm-crypt.txt +1 −1
  65. Documentation/devices.txt +6 −4
  66. Documentation/dvb/faq.txt +1 −1
  67. Documentation/dvb/get_dvb_firmware +21 −4
  68. Documentation/fb/framebuffer.txt +1 −1
  69. Documentation/feature-removal-schedule.txt +43 −133
  70. Documentation/filesystems/9p.txt +1 −1
  71. Documentation/filesystems/Locking +13 −17
  72. Documentation/filesystems/affs.txt +1 −1
  73. Documentation/filesystems/befs.txt +2 −2
  74. Documentation/filesystems/caching/fscache.txt +5 −5
  75. Documentation/filesystems/isofs.txt +1 −1
  76. Documentation/filesystems/nfs/nfsroot.txt +2 −0
  77. Documentation/filesystems/nilfs2.txt +8 −4
  78. Documentation/filesystems/porting +45 −0
  79. Documentation/filesystems/proc.txt +62 −39
  80. Documentation/filesystems/squashfs.txt +1 −1
  81. Documentation/filesystems/sysfs-pci.txt +5 −2
  82. Documentation/filesystems/sysfs.txt +26 −20
  83. Documentation/filesystems/vfat.txt +2 −1
  84. Documentation/filesystems/vfs.txt +1 −5
  85. Documentation/filesystems/xfs.txt +0 −11
  86. Documentation/firmware_class/hotplug-script +9 −8
  87. Documentation/gpio.txt +29 −6
  88. Documentation/hwmon/adm1026 +1 −1
  89. Documentation/hwmon/coretemp +103 −2
  90. Documentation/hwmon/f71882fg +4 −0
  91. Documentation/hwmon/g760a +1 −1
  92. Documentation/hwmon/gl518sm +1 −2
  93. Documentation/hwmon/hpfall.c +1 −1
  94. Documentation/hwmon/jc42 +97 −0
  95. Documentation/hwmon/k8temp +1 −1
  96. Documentation/hwmon/lm85 +3 −3
  97. Documentation/hwmon/pkgtemp +36 −0
  98. Documentation/hwmon/smm665 +157 −0
  99. Documentation/hwmon/smsc47m1 +4 −7
  100. Documentation/hwmon/thmc50 +1 −1
  101. Documentation/hwmon/via686a +1 −1
  102. Documentation/hwmon/w83627hf +1 −5
  103. Documentation/hwmon/w83781d +1 −1
  104. Documentation/hwmon/w83792d +1 −1
  105. Documentation/i2c/busses/i2c-ali1535 +1 −1
  106. Documentation/i2c/busses/i2c-ali1563 +1 −1
  107. Documentation/i2c/busses/i2c-ali15x3 +1 −1
  108. Documentation/i2c/busses/i2c-piix4 +1 −1
  109. Documentation/i2c/busses/i2c-sis630 +1 −1
  110. Documentation/i2c/instantiating-devices +1 −1
  111. Documentation/ia64/aliasing.txt +0 −2
  112. Documentation/ia64/serial.txt +1 −1
  113. Documentation/infiniband/user_verbs.txt +1 −1
  114. Documentation/input/appletouch.txt +1 −1
  115. Documentation/input/bcm5974.txt +1 −1
  116. Documentation/input/iforce-protocol.txt +1 −1
  117. Documentation/input/multi-touch-protocol.txt +149 −69
  118. Documentation/input/sentelic.txt +1 −1
  119. Documentation/input/xpad.txt +1 −1
  120. Documentation/intel_txt.txt +5 −7
  121. Documentation/ioctl/ioctl-number.txt +6 −5
  122. Documentation/isdn/INTERFACE.CAPI +6 −2
  123. Documentation/isdn/README +1 −1
  124. Documentation/isdn/README.HiSax +1 −1
  125. Documentation/isdn/README.gigaset +69 −48
  126. Documentation/ja_JP/HOWTO +1 −1
  127. Documentation/ja_JP/SubmittingPatches +3 −3
  128. Documentation/kbuild/kbuild.txt +28 −6
  129. Documentation/kbuild/kconfig.txt +1 −1
  130. Documentation/kbuild/makefiles.txt +71 −56
  131. Documentation/kernel-docs.txt +18 −21
  132. Documentation/kernel-parameters.txt +40 −171
  133. Documentation/ko_KR/HOWTO +4 −4
  134. Documentation/kprobes.txt +1 −0
  135. Documentation/kvm/api.txt +174 −34
  136. Documentation/kvm/mmu.txt +48 −4
  137. Documentation/kvm/msr.txt +153 −0
  138. Documentation/kvm/review-checklist.txt +38 −0
  139. Documentation/laptops/acer-wmi.txt +1 −1
  140. Documentation/laptops/thinkpad-acpi.txt +11 −60
  141. Documentation/ldm.txt +1 −1
  142. Documentation/md.txt +1 −1
  143. Documentation/misc-devices/c2port.txt +2 −2
  144. Documentation/mmc/00-INDEX +4 −0
  145. Documentation/mmc/mmc-dev-attrs.txt +56 −0
  146. Documentation/mtd/nand_ecc.txt +1 −1
  147. Documentation/networking/3c509.txt +1 −1
  148. Documentation/networking/README.ipw2100 +1 −2
  149. Documentation/networking/README.ipw2200 +2 −2
  150. Documentation/networking/README.sb1000 +2 −2
  151. Documentation/networking/arcnet.txt +2 −2
  152. Documentation/networking/bonding.txt +83 −3
  153. Documentation/networking/caif/spi_porting.txt +208 −0
  154. Documentation/networking/decnet.txt +1 −1
  155. Documentation/networking/dns_resolver.txt +146 −0
  156. Documentation/networking/fore200e.txt +1 −1
  157. Documentation/networking/igb.txt +132 −0
  158. Documentation/networking/igbvf.txt +78 −0
  159. Documentation/networking/ip-sysctl.txt +1 −1
  160. Documentation/networking/ipddp.txt +0 −5
  161. Documentation/networking/iphase.txt +1 −1
  162. Documentation/networking/packet_mmap.txt +28 −2
  163. Documentation/networking/pktgen.txt +5 −0
  164. Documentation/networking/ray_cs.txt +2 −2
  165. Documentation/networking/s2io.txt +2 −1
  166. Documentation/networking/tlan.txt +2 −2
  167. Documentation/networking/udplite.txt +5 −8
  168. Documentation/networking/wavelan.txt +0 −73
  169. Documentation/padata.txt +76 −23
  170. Documentation/pcmcia/driver-changes.txt +12 −0
  171. Documentation/power/apm-acpi.txt +1 −1
  172. Documentation/power/basic-pm-debugging.txt +1 −2
  173. Documentation/power/tricks.txt +1 −1
  174. Documentation/power/video.txt +6 −6
  175. Documentation/powerpc/booting-without-of.txt +1 −1
  176. Documentation/powerpc/dts-bindings/fsl/diu.txt +18 −2
  177. Documentation/powerpc/dts-bindings/fsl/esdhc.txt +2 −0
  178. Documentation/powerpc/dts-bindings/fsl/i2c.txt +2 −0
  179. Documentation/rt-mutex-design.txt +1 −1
  180. Documentation/s390/Debugging390.txt +1 −1
  181. Documentation/scsi/BusLogic.txt +1 −1
  182. Documentation/scsi/ChangeLog.lpfc +1 −1
  183. Documentation/scsi/ChangeLog.megaraid +1 −1
  184. Documentation/scsi/FlashPoint.txt +2 −2
  185. Documentation/scsi/Mylex.txt +1 −1
  186. Documentation/scsi/NinjaSCSI.txt +0 −2
  187. Documentation/scsi/aic79xx.txt +1 −1
  188. Documentation/scsi/aic7xxx.txt +1 −1
  189. Documentation/scsi/hpsa.txt +107 −0
  190. Documentation/scsi/ibmmca.txt +1 −1
  191. Documentation/scsi/osst.txt +1 −1
  192. Documentation/scsi/ppa.txt +3 −3
  193. Documentation/scsi/scsi-generic.txt +4 −4
  194. Documentation/scsi/scsi.txt +2 −2
  195. Documentation/scsi/scsi_mid_low_api.txt +1 −1
  196. Documentation/serial/moxa-smartio +1 −1
  197. Documentation/slow-work.txt +0 −322
  198. Documentation/sound/alsa/ALSA-Configuration.txt +1 −1
  199. Documentation/sound/alsa/HD-Audio-Models.txt +17 −2
  200. Documentation/sound/alsa/HD-Audio.txt +1 −1
  201. Documentation/sound/alsa/Procfile.txt +8 −0
  202. Documentation/sound/alsa/alsa-parameters.txt +135 −0
  203. Documentation/sound/alsa/soc/DAI.txt +1 −1
  204. Documentation/sound/alsa/soc/codec.txt +1 −1
  205. Documentation/sound/alsa/soc/platform.txt +1 −1
  206. Documentation/sound/oss/README.OSS +2 −3
  207. Documentation/sound/oss/oss-parameters.txt +51 −0
  208. Documentation/sparse.txt +1 −1
  209. Documentation/sysctl/vm.txt +2 −2
  210. Documentation/telephony/ixj.txt +2 −7
  211. Documentation/timers/timers-howto.txt +105 −0
  212. Documentation/tomoyo.txt +5 −5
  213. Documentation/trace/ftrace-design.txt +148 −5
  214. Documentation/trace/kmemtrace.txt +0 −126
  215. Documentation/trace/kprobetrace.txt +1 −1
  216. Documentation/trace/postprocess/trace-vmscan-postprocess.pl +686 −0
  217. Documentation/uml/UserModeLinux-HOWTO.txt +8 −65
  218. Documentation/usb/ehci.txt +1 −1
  219. Documentation/usb/gadget_multi.txt +150 −0
  220. Documentation/usb/gadget_serial.txt +10 −77
  221. Documentation/usb/hotplug.txt +2 −2
  222. Documentation/usb/linux-cdc-acm.inf +107 −0
  223. Documentation/usb/linux.inf +47 −181
  224. Documentation/usb/mtouchusb.txt +1 −5
  225. Documentation/usb/usb-serial.txt +2 −2
  226. Documentation/video4linux/API.html +1 −1
  227. Documentation/video4linux/CARDLIST.cx23885 +3 −3
  228. Documentation/video4linux/CARDLIST.em28xx +1 −0
  229. Documentation/video4linux/CARDLIST.saa7134 +2 −1
  230. Documentation/video4linux/CQcam.txt +2 −2
  231. Documentation/video4linux/README.cpia +1 −1
  232. Documentation/video4linux/README.ivtv +1 −1
  233. Documentation/video4linux/Zoran +3 −3
  234. Documentation/video4linux/bttv/Cards +3 −3
  235. Documentation/video4linux/bttv/MAKEDEV +1 −1
  236. Documentation/video4linux/bttv/Specs +2 −2
  237. Documentation/video4linux/cx88/hauppauge-wintv-cx88-ir.txt +1 −1
  238. Documentation/video4linux/gspca.txt +8 −0
  239. Documentation/video4linux/hauppauge-wintv-cx88-ir.txt +1 −1
  240. Documentation/video4linux/ibmcam.txt +2 −3
  241. Documentation/video4linux/se401.txt +1 −1
  242. Documentation/video4linux/v4l2-controls.txt +648 −0
  243. Documentation/video4linux/w9966.txt +1 −1
  244. Documentation/vm/page-types.c +1 −1
  245. Documentation/w1/masters/ds2482 +2 −2
  246. Documentation/w1/masters/mxc-w1 +2 −1
  247. Documentation/w1/masters/omap-hdq +1 −1
  248. Documentation/x86/zero-page.txt +1 −0
  249. Documentation/zh_CN/HOWTO +4 −4
  250. Documentation/zh_CN/SubmittingDrivers +1 −1
  251. Documentation/zh_CN/SubmittingPatches +3 −3
  252. Documentation/zh_CN/sparse.txt +1 −1
  253. MAINTAINERS +142 −79
  254. Makefile +30 −14
  255. arch/Kconfig +7 −0
  256. arch/alpha/Kconfig +0 −4
  257. arch/alpha/include/asm/dma-mapping.h +0 −2
  258. arch/alpha/include/asm/hw_irq.h +1 −0
  259. arch/alpha/include/asm/ioctls.h +2 −2
  260. arch/alpha/include/asm/local64.h +1 −0
  261. arch/alpha/include/asm/md.h +0 −13
  262. arch/alpha/include/asm/perf_event.h +7 −1
  263. arch/alpha/include/asm/scatterlist.h +0 −2
  264. arch/alpha/include/asm/termbits.h +1 −0
  265. arch/alpha/include/asm/wrperfmon.h +93 −0
  266. arch/alpha/kernel/Makefile +1 −0
  267. arch/alpha/kernel/irq.c +5 −2
  268. arch/alpha/kernel/irq_alpha.c +3 −0
  269. arch/alpha/kernel/osf_sys.c +7 −7
  270. arch/alpha/kernel/perf_event.c +842 −0
  271. arch/alpha/kernel/process.c +1 −1
  272. arch/alpha/kernel/time.c +26 −0
  273. arch/arm/Kconfig +224 −44
  274. arch/arm/Makefile +9 −3
  275. arch/arm/boot/Makefile +3 −5
  276. arch/arm/boot/compressed/Makefile +2 −15
  277. arch/arm/boot/compressed/Makefile.debug +0 −23
  278. arch/arm/boot/compressed/head-l7200.S +0 −29
  279. arch/arm/boot/compressed/head.S +29 −12
  280. arch/arm/boot/compressed/misc.c +0 −20
  281. arch/arm/common/gic.c +46 −0
  282. arch/arm/common/it8152.c +0 −8
  283. arch/arm/common/sa1111.c +1 −4
  284. arch/arm/configs/am3517_evm_defconfig +0 −127
  285. arch/arm/configs/cm_t35_defconfig +0 −157
  286. arch/arm/configs/devkit8000_defconfig +0 −184
  287. arch/arm/configs/igep0020_defconfig +0 −179
  288. arch/arm/configs/kirkwood_defconfig +8 −0
  289. arch/arm/configs/lusl7200_defconfig +0 −23
  290. arch/arm/configs/omap3_beagle_defconfig +0 −134
  291. arch/arm/configs/omap3_evm_defconfig +0 −160
  292. arch/arm/configs/omap3_pandora_defconfig +0 −158
  293. arch/arm/configs/omap3_stalker_lks_defconfig +0 −150
  294. arch/arm/configs/omap3_touchbook_defconfig +0 −621
  295. arch/arm/configs/omap_2430sdp_defconfig +0 −136
  296. arch/arm/configs/omap_3430sdp_defconfig +0 −178
  297. arch/arm/configs/omap_3630sdp_defconfig +0 −154
  298. arch/arm/configs/omap_apollon_2420_defconfig +0 −92
  299. arch/arm/configs/omap_h4_2420_defconfig +0 −107
  300. arch/arm/configs/omap_ldp_defconfig +0 −135
  301. arch/arm/configs/omap_zoom2_defconfig +0 −143
  302. arch/arm/configs/omap_zoom3_defconfig +0 −155
  303. arch/arm/configs/overo_defconfig +0 −275
  304. arch/arm/configs/rx51_defconfig +0 −222
  305. arch/arm/configs/s5pc110_defconfig +0 −66
  306. arch/arm/configs/s5pv210_defconfig +5 −0
  307. arch/arm/include/asm/cache.h +1 −1
  308. arch/arm/include/asm/dma-mapping.h +8 −10
  309. arch/arm/include/asm/elf.h +6 −0
  310. arch/arm/include/asm/hardware/coresight.h +6 −2
  311. arch/arm/include/asm/hardware/scoop.h +17 −12
  312. arch/arm/include/asm/highmem.h +1 −1
  313. arch/arm/include/asm/hwcap.h +1 −0
  314. arch/arm/include/asm/ioctls.h +2 −0
  315. arch/arm/include/asm/irq.h +2 −0
  316. arch/arm/include/asm/kexec.h +19 −3
  317. arch/arm/include/asm/kgdb.h +3 −3
  318. arch/arm/include/asm/local64.h +1 −0
  319. arch/arm/include/asm/mach/arch.h +2 −0
  320. arch/arm/include/asm/mach/irq.h +1 −0
  321. arch/arm/include/asm/mach/map.h +2 −0
  322. arch/arm/include/asm/mach/pci.h +1 −0
  323. arch/arm/include/asm/memblock.h +16 −0
  324. arch/arm/include/asm/memory.h +10 −66
  325. arch/arm/include/asm/mmzone.h +0 −30
  326. arch/arm/include/asm/ptrace.h +36 −0
  327. arch/arm/include/asm/setup.h +3 −5
  328. arch/arm/include/asm/stackprotector.h +38 −0
  329. arch/arm/include/asm/system.h +1 −1
  330. arch/arm/include/asm/termbits.h +1 −0
  331. arch/arm/include/asm/tlbflush.h +8 −0
  332. arch/arm/include/asm/tls.h +46 −0
  333. arch/arm/include/asm/vfpmacros.h +18 −0
  334. arch/arm/kernel/Makefile +4 −1
  335. arch/arm/kernel/asm-offsets.c +3 −0
  336. arch/arm/kernel/compat.c +0 −7
  337. arch/arm/kernel/compat.h +0 −2
  338. arch/arm/kernel/crash_dump.c +60 −0
  339. arch/arm/kernel/entry-armv.S +14 −15
  340. arch/arm/kernel/entry-common.S +80 −44
  341. arch/arm/kernel/etm.c +3 −1
  342. arch/arm/kernel/irq.c +27 −14
  343. arch/arm/kernel/kgdb.c +81 −43
  344. arch/arm/kernel/machine_kexec.c +9 −5
  345. arch/arm/kernel/module.c +34 −0
  346. arch/arm/kernel/perf_event.c +9 −9
  347. arch/arm/kernel/process.c +37 −5
  348. arch/arm/kernel/ptrace.c +96 −0
  349. arch/arm/kernel/relocate_kernel.S +6 −0
  350. arch/arm/kernel/setup.c +109 −2
  351. arch/arm/kernel/smp.c +12 −5
  352. arch/arm/kernel/smp_twd.c +2 −1
  353. arch/arm/kernel/sys_arm.c +2 −2
  354. arch/arm/kernel/sys_oabi-compat.c +3 −3
  355. arch/arm/kernel/tcm.c +73 −45
  356. arch/arm/kernel/traps.c +30 −11
  357. arch/arm/lib/Makefile +0 −1
  358. arch/arm/mach-aaec2000/include/mach/memory.h +0 −10
  359. arch/arm/mach-at91/Kconfig +11 −0
  360. arch/arm/mach-at91/Makefile +3 −0
  361. arch/arm/mach-at91/at91sam9g45.c +11 −0
  362. arch/arm/mach-at91/board-cam60.c +3 −3
  363. arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c +45 −0
  364. arch/arm/mach-at91/board-sam9g20ek.c +45 −0
  365. arch/arm/mach-at91/board-snapper9260.c +189 −0
  366. arch/arm/mach-at91/include/mach/at91cap9.h +1 −1
  367. arch/arm/mach-at91/include/mach/at91cap9_ddrsdr.h +14 −8
  368. arch/arm/mach-at91/include/mach/at91sam9260.h +1 −1
  369. arch/arm/mach-at91/include/mach/at91sam9261.h +1 −1
  370. arch/arm/mach-at91/include/mach/at91sam9_ddrsdr.h +130 −0
  371. arch/arm/mach-at91/include/mach/at91sam9_sdramc.h +14 −9
  372. arch/arm/mach-at91/include/mach/at91sam9rl.h +1 −1
  373. arch/arm/mach-at91/include/mach/board.h +2 −0
  374. arch/arm/mach-at91/include/mach/cpu.h +10 −0
  375. arch/arm/mach-at91/include/mach/gpio.h +1 −0
  376. arch/arm/mach-at91/pm.h +42 −7
  377. arch/arm/mach-at91/pm_slowclock.S +54 −20
  378. arch/arm/mach-bcmring/core.c +16 −7
  379. arch/arm/mach-clps711x/Kconfig +0 −1
  380. arch/arm/mach-clps711x/clep7312.c +0 −1
  381. arch/arm/mach-clps711x/edb7211-arch.c +8 −2
  382. arch/arm/mach-clps711x/fortunet.c +0 −1
  383. arch/arm/mach-clps711x/include/mach/hardware.h +0 −7
  384. arch/arm/mach-clps711x/include/mach/memory.h +0 −2
  385. arch/arm/mach-cns3xxx/Makefile +2 −1
  386. arch/arm/mach-cns3xxx/cns3420vb.c +4 −0
  387. arch/arm/mach-cns3xxx/devices.c +111 −0
  388. arch/arm/mach-cns3xxx/devices.h +20 −0
  389. arch/arm/mach-cns3xxx/include/mach/cns3xxx.h +45 −46
  390. arch/arm/mach-cns3xxx/pcie.c +389 −0
  391. arch/arm/mach-cns3xxx/pm.c +23 −8
  392. arch/arm/mach-davinci/Kconfig +12 −0
  393. arch/arm/mach-davinci/Makefile +3 −0
  394. arch/arm/mach-davinci/board-da830-evm.c +32 −2
  395. arch/arm/mach-davinci/board-da850-evm.c +52 −2
  396. arch/arm/mach-davinci/board-dm646x-evm.c +37 −2
  397. arch/arm/mach-davinci/board-tnetv107x-evm.c +174 −0
  398. arch/arm/mach-davinci/da830.c +0 −5
  399. arch/arm/mach-davinci/da850.c +0 −25
  400. arch/arm/mach-davinci/devices-da8xx.c +30 −20
  401. arch/arm/mach-davinci/devices-tnetv107x.c +320 −0
  402. arch/arm/mach-davinci/dm355.c +12 −10
  403. arch/arm/mach-davinci/dm365.c +16 −12
  404. arch/arm/mach-davinci/dm644x.c +12 −10
  405. arch/arm/mach-davinci/dm646x.c +19 −11
  406. arch/arm/mach-davinci/dma.c +50 −12
  407. arch/arm/mach-davinci/gpio-tnetv107x.c +205 −0
  408. arch/arm/mach-davinci/include/mach/asp.h +50 −1
  409. arch/arm/mach-davinci/include/mach/da8xx.h +2 −1
  410. arch/arm/mach-davinci/include/mach/debug-macro.S +39 −11
  411. arch/arm/mach-davinci/include/mach/dm646x.h +1 −0
  412. arch/arm/mach-davinci/include/mach/edma.h +11 −0
  413. arch/arm/mach-davinci/include/mach/gpio.h +15 −7
  414. arch/arm/mach-davinci/include/mach/memory.h +3 −6
  415. arch/arm/mach-davinci/include/mach/serial.h +21 −0
  416. arch/arm/mach-davinci/include/mach/tnetv107x.h +55 −0
  417. arch/arm/mach-davinci/include/mach/uncompress.h +66 −21
  418. arch/arm/mach-davinci/tnetv107x.c +753 −0
  419. arch/arm/mach-dove/common.c +61 −0
  420. arch/arm/mach-dove/common.h +2 −0
  421. arch/arm/mach-dove/dove-db-setup.c +2 −0
  422. arch/arm/mach-ep93xx/adssphere.c +1 −23
  423. arch/arm/mach-ep93xx/clock.c +67 −2
  424. arch/arm/mach-ep93xx/core.c +112 −1
  425. arch/arm/mach-ep93xx/edb93xx.c +2 −29
  426. arch/arm/mach-ep93xx/gesbc9312.c +1 −23
  427. arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h +10 −0
  428. arch/arm/mach-ep93xx/include/mach/platform.h +6 −0
  429. arch/arm/mach-ep93xx/micro9.c +9 −28
  430. arch/arm/mach-ep93xx/simone.c +1 −23
  431. arch/arm/mach-ep93xx/snappercl15.c +1 −0
  432. arch/arm/mach-ep93xx/ts72xx.c +4 −23
  433. arch/arm/mach-gemini/Kconfig +21 −0
  434. arch/arm/mach-gemini/Makefile +3 −0
  435. arch/arm/mach-gemini/board-nas4220b.c +111 −0
  436. arch/arm/mach-gemini/board-wbd111.c +143 −0
  437. arch/arm/mach-gemini/board-wbd222.c +143 −0
  438. arch/arm/mach-h720x/include/mach/hardware.h +0 −2
  439. arch/arm/mach-imx/Kconfig +89 −12
  440. arch/arm/mach-imx/Makefile +14 −4
  441. arch/arm/mach-imx/Makefile.boot +4 −0
  442. arch/arm/mach-imx/clock-imx1.c +42 −8
  443. arch/arm/mach-imx/clock-imx21.c +0 −0
  444. arch/arm/mach-imx/clock-imx27.c +1 −1
  445. arch/arm/mach-imx/cpu-imx27.c +0 −0
  446. arch/arm/mach-imx/devices-imx1.h +18 −0
  447. arch/arm/mach-imx/devices-imx21.h +30 −0
  448. arch/arm/mach-imx/devices-imx27.h +38 −0
  449. arch/arm/mach-imx/devices.c +201 −95
  450. arch/arm/mach-imx/devices.h +11 −21
  451. arch/arm/mach-imx/dma-v1.c +3 −4
  452. arch/arm/mach-imx/eukrea_mbimx27-baseboard.c +170 −27
  453. arch/arm/mach-imx/include/mach/dma-mx1-mx2.h +10 −0
  454. arch/arm/mach-imx/include/mach/dma-v1.h +6 −4
  455. arch/arm/mach-imx/mach-cpuimx27.c +102 −20
  456. arch/arm/mach-imx/mach-imx27lite.c +3 −8
  457. arch/arm/mach-imx/mach-mx1ads.c +17 −17
  458. arch/arm/mach-imx/mach-mx21ads.c +44 −14
  459. arch/arm/mach-imx/mach-mx27_3ds.c +32 −8
  460. arch/arm/mach-imx/mach-mx27ads.c +44 −32
  461. arch/arm/mach-imx/mach-mxt_td60.c +13 −23
  462. arch/arm/mach-imx/mach-pca100.c +89 −25
  463. arch/arm/mach-imx/mach-pcm038.c +13 −20
  464. arch/arm/mach-imx/mach-scb9328.c +10 −11
  465. arch/arm/mach-imx/mm-imx1.c +10 −13
  466. arch/arm/mach-imx/mm-imx21.c +4 −1
  467. arch/arm/mach-imx/mm-imx27.c +4 −1
  468. arch/arm/mach-imx/mx1-camera-fiq-ksym.c +0 −0
  469. arch/arm/mach-imx/mx1-camera-fiq.S +0 −0
  470. arch/arm/mach-imx/pcm970-baseboard.c +0 −0
  471. arch/arm/mach-imx/pm-imx27.c +46 −0
  472. arch/arm/mach-integrator/common.h +1 −0
  473. arch/arm/mach-integrator/core.c +18 −1
  474. arch/arm/mach-integrator/include/mach/hardware.h +0 −1
  475. arch/arm/mach-integrator/integrator_ap.c +3 −0
  476. arch/arm/mach-integrator/integrator_cp.c +3 −0
  477. arch/arm/mach-integrator/pci_v3.c +4 −4
  478. arch/arm/mach-iop13xx/include/mach/memory.h +0 −2
  479. arch/arm/mach-iop13xx/pci.c +1 −1
  480. arch/arm/mach-ixp2000/pci.c +1 −1
  481. arch/arm/mach-ixp23xx/include/mach/hardware.h +0 −1
  482. arch/arm/mach-ixp23xx/pci.c +1 −1
  483. arch/arm/mach-ixp4xx/Kconfig +8 −0
  484. arch/arm/mach-ixp4xx/Makefile +2 −0
  485. arch/arm/mach-ixp4xx/common-pci.c +4 −3
  486. arch/arm/mach-ixp4xx/include/mach/debug-macro.S +2 −0
  487. arch/arm/mach-ixp4xx/include/mach/io.h +3 −3
  488. arch/arm/mach-ixp4xx/include/mach/memory.h +3 −3
  489. arch/arm/mach-ixp4xx/vulcan-pci.c +73 −0
  490. arch/arm/mach-ixp4xx/vulcan-setup.c +246 −0
  491. arch/arm/mach-kirkwood/Kconfig +19 −0
  492. arch/arm/mach-kirkwood/Makefile +2 −0
  493. arch/arm/mach-kirkwood/addr-map.c +8 −2
  494. arch/arm/mach-kirkwood/common.c +72 −4
  495. arch/arm/mach-kirkwood/common.h +6 −1
  496. arch/arm/mach-kirkwood/db88f6281-bp-setup.c +16 −2
  497. arch/arm/mach-kirkwood/include/mach/bridge-regs.h +2 −1
  498. arch/arm/mach-kirkwood/include/mach/irqs.h +1 −0
  499. arch/arm/mach-kirkwood/include/mach/kirkwood.h +32 −10
  500. arch/arm/mach-kirkwood/include/mach/leds-ns2.h +26 −0
  501. arch/arm/mach-kirkwood/mpp.c +2 −1
  502. arch/arm/mach-kirkwood/mpp.h +323 −273
  503. arch/arm/mach-kirkwood/mv88f6281gtw_ge-setup.c +1 −1
  504. arch/arm/mach-kirkwood/netspace_v2-setup.c +61 −43
  505. arch/arm/mach-kirkwood/netxbig_v2-setup.c +16 −16
  506. arch/arm/mach-kirkwood/openrd-setup.c +38 −4
  507. arch/arm/mach-kirkwood/pcie.c +128 −46
  508. arch/arm/mach-kirkwood/rd88f6192-nas-setup.c +1 −1
  509. arch/arm/mach-kirkwood/rd88f6281-setup.c +1 −1
  510. arch/arm/mach-kirkwood/t5325-setup.c +194 −0
  511. arch/arm/mach-kirkwood/ts219-setup.c +6 −5
  512. arch/arm/mach-kirkwood/ts41x-setup.c +22 −17
  513. arch/arm/mach-ks8695/pci.c +2 −2
  514. arch/arm/mach-l7200/Makefile +0 −11
  515. arch/arm/mach-l7200/Makefile.boot +0 −2
  516. arch/arm/mach-l7200/core.c +0 −100
  517. arch/arm/mach-l7200/include/mach/aux_reg.h +0 −28
  518. arch/arm/mach-l7200/include/mach/debug-macro.S +0 −40
  519. arch/arm/mach-l7200/include/mach/entry-macro.S +0 −35
  520. arch/arm/mach-l7200/include/mach/gp_timers.h +0 −42
  521. arch/arm/mach-l7200/include/mach/gpio.h +0 −105
  522. arch/arm/mach-l7200/include/mach/hardware.h +0 −57
  523. arch/arm/mach-l7200/include/mach/io.h +0 −21
  524. arch/arm/mach-l7200/include/mach/irqs.h +0 −56
  525. arch/arm/mach-l7200/include/mach/memory.h +0 −26
  526. arch/arm/mach-l7200/include/mach/pmpcon.h +0 −46
  527. arch/arm/mach-l7200/include/mach/pmu.h +0 −125
  528. arch/arm/mach-l7200/include/mach/serial.h +0 −37
  529. arch/arm/mach-l7200/include/mach/serial_l7200.h +0 −101
  530. arch/arm/mach-l7200/include/mach/sib.h +0 −119
  531. arch/arm/mach-l7200/include/mach/sys-clock.h +0 −67
  532. arch/arm/mach-l7200/include/mach/system.h +0 −29
  533. arch/arm/mach-l7200/include/mach/time.h +0 −73
  534. arch/arm/mach-l7200/include/mach/timex.h +0 −20
  535. arch/arm/mach-l7200/include/mach/uncompress.h +0 −39
  536. arch/arm/mach-l7200/include/mach/vmalloc.h +0 −4
  537. arch/arm/mach-lh7a40x/include/mach/memory.h +0 −44
  538. arch/arm/mach-lpc32xx/Kconfig +33 −0
  539. arch/arm/mach-lpc32xx/Makefile +8 −0
  540. arch/arm/mach-lpc32xx/Makefile.boot +4 −0
  541. arch/arm/mach-lpc32xx/clock.c +1137 −0
  542. arch/arm/mach-lpc32xx/clock.h +38 −0
  543. arch/arm/mach-lpc32xx/common.c +271 −0
  544. arch/arm/mach-lpc32xx/common.h +73 −0
  545. arch/arm/mach-lpc32xx/gpiolib.c +446 −0
  546. arch/arm/mach-lpc32xx/include/mach/clkdev.h +11 −8
  547. arch/arm/mach-lpc32xx/include/mach/debug-macro.S +17 −8
  548. arch/arm/mach-lpc32xx/include/mach/entry-macro.S +47 −0
  549. arch/arm/mach-lpc32xx/include/mach/gpio.h +74 −0
  550. arch/arm/mach-lpc32xx/include/mach/hardware.h +34 −0
  551. arch/arm/mach-lpc32xx/include/mach/i2c.h +63 −0
  552. arch/arm/mach-lpc32xx/include/mach/io.h +13 −8
  553. arch/arm/mach-lpc32xx/include/mach/irqs.h +117 −0
  554. arch/arm/mach-lpc32xx/include/mach/memory.h +27 −0
  555. arch/arm/mach-lpc32xx/include/mach/platform.h +694 −0
  556. arch/arm/mach-lpc32xx/include/mach/system.h +52 −0
  557. arch/arm/mach-lpc32xx/include/mach/timex.h +28 −0
  558. arch/arm/mach-lpc32xx/include/mach/uncompress.h +60 −0
  559. arch/arm/mach-lpc32xx/include/mach/vmalloc.h +24 −0
  560. arch/arm/mach-lpc32xx/irq.c +432 −0
  561. arch/arm/mach-lpc32xx/phy3250.c +397 −0
  562. arch/arm/mach-lpc32xx/pm.c +146 −0
  563. arch/arm/mach-lpc32xx/serial.c +190 −0
  564. arch/arm/mach-lpc32xx/suspend.S +151 −0
  565. arch/arm/mach-lpc32xx/timer.c +182 −0
  566. arch/arm/mach-mmp/aspenite.c +2 −4
  567. arch/arm/mach-mmp/avengers_lite.c +1 −2
  568. arch/arm/mach-mmp/common.c +1 −1
  569. arch/arm/mach-mmp/common.h +1 −10
  570. arch/arm/mach-mmp/flint.c +1 −2
  571. arch/arm/mach-mmp/include/mach/devices.h +4 −0
  572. arch/arm/mach-mmp/include/mach/mmp2.h +7 −0
  573. arch/arm/mach-mmp/include/mach/pxa168.h +5 −0
  574. arch/arm/mach-mmp/include/mach/pxa910.h +5 −0
  575. arch/arm/mach-mmp/irq-mmp2.c +1 −0
  576. arch/arm/mach-mmp/jasper.c +1 −2
  577. arch/arm/mach-mmp/mmp2.c +22 −0
  578. arch/arm/mach-mmp/tavorevb.c +1 −2
  579. arch/arm/mach-mmp/time.c +0 −21
  580. arch/arm/mach-mmp/ttc_dkb.c +1 −2
  581. arch/arm/mach-msm/Makefile +1 −1
  582. arch/arm/mach-msm/acpuclock-arm11.c +2 −3
  583. arch/arm/mach-msm/board-trout-gpio.c +227 −0
  584. arch/arm/mach-msm/board-trout-mmc.c +186 −0
  585. arch/arm/mach-msm/board-trout.c +11 −1
  586. arch/arm/mach-msm/board-trout.h +157 −0
  587. arch/arm/mach-msm/clock.c +0 −1
  588. arch/arm/mach-msm/devices-msm7x00.c +2 −1
  589. arch/arm/mach-msm/include/mach/board.h +4 −0
  590. arch/arm/mach-msm/include/mach/gpio.h +7 −0
  591. arch/arm/mach-msm/include/mach/mmc.h +1 −1
  592. arch/arm/mach-msm/smd.c +1 −1
  593. arch/arm/mach-mx1/Kconfig +0 −19
  594. arch/arm/mach-mx1/Makefile +0 −15
  595. arch/arm/mach-mx1/Makefile.boot +0 −4
  596. arch/arm/mach-mx1/crm_regs.h +0 −55
  597. arch/arm/mach-mx1/devices.c +0 −242
  598. arch/arm/mach-mx1/devices.h +0 −7
  599. arch/arm/mach-mx2/serial.c +0 −141
  600. arch/arm/mach-mx25/Kconfig +23 −0
  601. arch/arm/mach-mx25/Makefile +3 −1
  602. arch/arm/mach-mx25/clock.c +66 −4
  603. arch/arm/mach-mx25/devices-imx25.h +43 −0
  604. arch/arm/mach-mx25/devices.c +81 −232
  605. arch/arm/mach-mx25/devices.h +4 −12
  606. arch/arm/mach-mx25/eukrea_mbimxsd-baseboard.c +260 −0
  607. arch/arm/mach-mx25/mach-cpuimx25.c +173 −0
  608. arch/arm/mach-mx25/mach-mx25_3ds.c +51 −7
  609. arch/arm/mach-mx25/mm.c +3 −4
  610. arch/arm/mach-mx3/Kconfig +53 −0
  611. arch/arm/mach-mx3/Makefile +3 −1
  612. arch/arm/mach-mx3/clock-imx35.c +3 −3
  613. arch/arm/mach-mx3/devices-imx31.h +38 −0
  614. arch/arm/mach-mx3/devices-imx35.h +37 −0
  615. arch/arm/mach-mx3/devices.c +6 −241
  616. arch/arm/mach-mx3/devices.h +0 −13
  617. arch/arm/mach-mx3/eukrea_mbimxsd-baseboard.c +263 −0
  618. arch/arm/mach-mx3/mach-armadillo5x0.c +10 −11
  619. arch/arm/mach-mx3/mach-cpuimx35.c +227 −0
  620. arch/arm/mach-mx3/mach-kzm_arm11_01.c +21 −10
  621. arch/arm/mach-mx3/mach-mx31_3ds.c +68 −188
  622. arch/arm/mach-mx3/mach-mx31ads.c +40 −15
  623. arch/arm/mach-mx3/mach-mx31lilly.c +8 −11
  624. arch/arm/mach-mx3/mach-mx31lite.c +7 −12
  625. arch/arm/mach-mx3/mach-mx31moboard.c +29 −23
  626. arch/arm/mach-mx3/mach-mx35_3ds.c +9 −7
  627. arch/arm/mach-mx3/mach-pcm037.c +17 −21
  628. arch/arm/mach-mx3/mach-pcm037_eet.c +2 −5
  629. arch/arm/mach-mx3/mach-pcm043.c +16 −17
  630. arch/arm/mach-mx3/mach-qong.c +6 −10
  631. arch/arm/mach-mx3/mm.c +3 −4
  632. arch/arm/mach-mx3/mx31lilly-db.c +5 −9
  633. arch/arm/mach-mx3/mx31lite-db.c +5 −10
  634. arch/arm/mach-mx3/mx31moboard-devboard.c +3 −7
  635. arch/arm/mach-mx3/mx31moboard-marxbot.c +0 −4
  636. arch/arm/mach-mx3/mx31moboard-smartbot.c +4 −9
  637. arch/arm/mach-mx5/Kconfig +27 −0
  638. arch/arm/mach-mx5/Makefile +3 −1
  639. arch/arm/mach-mx5/board-cpuimx51.c +293 −0
  640. arch/arm/mach-mx5/board-mx51_3ds.c +164 −0
  641. arch/arm/mach-mx5/board-mx51_babbage.c +27 −1
  642. arch/arm/mach-mx5/clock-mx51.c +16 −0
  643. arch/arm/mach-mx5/devices.c +82 −1
  644. arch/arm/mach-mx5/devices.h +4 −0
  645. arch/arm/mach-mx5/eukrea_mbimx51-baseboard.c +200 −0
  646. arch/arm/mach-mx5/mm.c +3 −0
  647. arch/arm/mach-mxc91231/crm_regs.h +0 −5
  648. arch/arm/mach-mxc91231/devices.c +1 −1
  649. arch/arm/mach-mxc91231/mm.c +3 −5
  650. arch/arm/mach-nomadik/clock.c +4 −0
  651. arch/arm/mach-omap1/Kconfig +13 −0
  652. arch/arm/mach-omap1/Makefile +3 −0
  653. arch/arm/mach-omap1/board-ams-delta.c +2 −1
  654. arch/arm/mach-omap1/board-fsample.c +13 −0
  655. arch/arm/mach-omap1/board-generic.c +3 −2
  656. arch/arm/mach-omap1/board-h2.c +14 −18
  657. arch/arm/mach-omap1/board-h3.c +15 −1
  658. arch/arm/mach-omap1/board-htcherald.c +2 −1
  659. arch/arm/mach-omap1/board-innovator.c +3 −2
  660. arch/arm/mach-omap1/board-nokia770.c +2 −135
  661. arch/arm/mach-omap1/board-osk.c +2 −1
  662. arch/arm/mach-omap1/board-palmte.c +2 −85
  663. arch/arm/mach-omap1/board-palmtt.c +2 −1
  664. arch/arm/mach-omap1/board-palmz71.c +9 −7
  665. arch/arm/mach-omap1/board-perseus2.c +13 −0
  666. arch/arm/mach-omap1/board-sx1.c +3 −2
  667. arch/arm/mach-omap1/board-voiceblue.c +2 −1
  668. arch/arm/mach-omap1/clock.c +12 −10
  669. arch/arm/mach-omap1/clock.h +1 −1
  670. arch/arm/mach-omap1/clock_data.c +123 −26
  671. arch/arm/mach-omap1/devices.c +0 −72
  672. arch/arm/mach-omap1/include/mach/debug-macro.S +7 −3
  673. arch/arm/mach-omap1/io.c +0 −2
  674. arch/arm/mach-omap1/mailbox.c +21 −34
  675. arch/arm/mach-omap1/mcbsp.c +0 −3
  676. arch/arm/mach-omap1/mux.c +5 −1
  677. arch/arm/mach-omap1/serial.c +7 −0
  678. arch/arm/mach-omap1/usb.c +530 −0
  679. arch/arm/mach-omap2/Kconfig +89 −0
  680. arch/arm/mach-omap2/Makefile +19 −4
  681. arch/arm/mach-omap2/board-2430sdp.c +17 −7
  682. arch/arm/mach-omap2/board-3430sdp.c +16 −9
  683. arch/arm/mach-omap2/board-3630sdp.c +122 −8
  684. arch/arm/mach-omap2/board-4430sdp.c +66 −5
  685. arch/arm/mach-omap2/board-am3517evm.c +2 −7
  686. arch/arm/mach-omap2/board-apollon.c +23 −8
  687. arch/arm/mach-omap2/board-cm-t35.c +3 −26
  688. arch/arm/mach-omap2/board-devkit8000.c +75 −95
  689. arch/arm/mach-omap2/board-flash.c +37 −56
  690. arch/arm/mach-omap2/board-generic.c +1 −1
  691. arch/arm/mach-omap2/board-h4.c +32 −29
  692. arch/arm/mach-omap2/board-igep0020.c +2 −7
  693. arch/arm/mach-omap2/board-ldp.c +37 −7
  694. arch/arm/mach-omap2/board-n8x0.c +14 −0
  695. arch/arm/mach-omap2/board-omap3beagle.c +3 −30
  696. arch/arm/mach-omap2/board-omap3evm.c +4 −12
  697. arch/arm/mach-omap2/board-omap3pandora.c +147 −26
  698. arch/arm/mach-omap2/board-omap3stalker.c +1 −7
  699. arch/arm/mach-omap2/board-omap3touchbook.c +3 −31
  700. arch/arm/mach-omap2/board-omap4panda.c +304 −0
  701. arch/arm/mach-omap2/board-overo.c +43 −32
  702. arch/arm/mach-omap2/board-rx51-peripherals.c +45 −33
  703. arch/arm/mach-omap2/board-rx51-video.c +0 −1
  704. arch/arm/mach-omap2/board-rx51.c +2 −1
  705. arch/arm/mach-omap2/board-zoom2.c +58 −7
  706. arch/arm/mach-omap2/board-zoom3.c +58 −7
  707. arch/arm/mach-omap2/clock3xxx_data.c +6 −1
  708. arch/arm/mach-omap2/cm.c +3 −3
  709. arch/arm/mach-omap2/devices.c +17 −71
  710. arch/arm/mach-omap2/dpll3xxx.c +1 −1
  711. arch/arm/mach-omap2/gpmc-nand.c +9 −28
  712. arch/arm/mach-omap2/gpmc.c +263 −21
  713. arch/arm/mach-omap2/hsmmc.c +1 −0
  714. arch/arm/mach-omap2/hsmmc.h +4 −0
  715. arch/arm/mach-omap2/i2c.c +7 −20
  716. arch/arm/mach-omap2/id.c +48 −16
  717. arch/arm/mach-omap2/include/mach/board-flash.h +8 −1
  718. arch/arm/mach-omap2/include/mach/board-zoom.h +6 −0
  719. arch/arm/mach-omap2/include/mach/debug-macro.S +21 −8
  720. arch/arm/mach-omap2/include/mach/id.h +22 −0
  721. arch/arm/mach-omap2/include/mach/omap4-common.h +7 −0
  722. arch/arm/mach-omap2/io.c +9 −7
  723. arch/arm/mach-omap2/iommu2.c +35 −9
  724. arch/arm/mach-omap2/mailbox.c +82 −100
  725. arch/arm/mach-omap2/mcbsp.c +12 −11
  726. arch/arm/mach-omap2/mux.c +25 −313
  727. arch/arm/mach-omap2/mux.h +23 −5
  728. arch/arm/mach-omap2/mux2420.c +688 −0
  729. arch/arm/mach-omap2/mux2420.h +282 −0
  730. arch/arm/mach-omap2/mux2430.c +791 −0
  731. arch/arm/mach-omap2/mux2430.h +370 −0
  732. arch/arm/mach-omap2/mux34xx.c +4 −4
  733. arch/arm/mach-omap2/omap-headsmp.S +0 −16
  734. arch/arm/mach-omap2/omap-hotplug.c +79 −0
  735. arch/arm/mach-omap2/omap-iommu.c +1 −1
  736. arch/arm/mach-omap2/omap-smp.c +2 −1
  737. arch/arm/mach-omap2/omap44xx-smc.S +25 −0
  738. arch/arm/mach-omap2/omap_hwmod.c +79 −27
  739. arch/arm/mach-omap2/omap_hwmod_2420_data.c +56 −23
  740. arch/arm/mach-omap2/omap_hwmod_2430_data.c +56 −25
  741. arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +63 −29
  742. arch/arm/mach-omap2/omap_hwmod_common_data.c +3 −0
  743. arch/arm/mach-omap2/omap_hwmod_common_data.h +1 −0
  744. arch/arm/mach-omap2/pm.c +84 −0
  745. arch/arm/mach-omap2/pm24xx.c +0 −1
  746. arch/arm/mach-omap2/pm34xx.c +4 −3
  747. arch/arm/mach-omap2/pm44xx.c +135 −0
  748. arch/arm/mach-omap2/powerdomain.c +1 −0
  749. arch/arm/mach-omap2/powerdomains34xx.h +10 −2
  750. arch/arm/mach-omap2/serial.c +69 −11
  751. arch/arm/mach-omap2/sleep34xx.S +1 −1
  752. arch/arm/mach-omap2/usb-ehci.c +0 −1
  753. arch/arm/mach-omap2/usb-fs.c +359 −0
  754. arch/arm/mach-omap2/usb-musb.c +0 −1
  755. arch/arm/mach-omap2/usb-tusb6010.c +7 −7
  756. arch/arm/mach-orion5x/Kconfig +1 −0
  757. arch/arm/mach-orion5x/dns323-setup.c +306 −64
  758. arch/arm/mach-orion5x/include/mach/system.h +2 −0
  759. arch/arm/mach-pxa/Kconfig +52 −28
  760. arch/arm/mach-pxa/Makefile +5 −8
  761. arch/arm/mach-pxa/balloon3.c +581 −151
  762. arch/arm/mach-pxa/cm-x2xx-pci.c +2 −2
  763. arch/arm/mach-pxa/cm-x300.c +3 −1
  764. arch/arm/mach-pxa/colibri-pxa270-evalboard.c +111 −0
  765. arch/arm/mach-pxa/colibri-pxa270-income.c +272 −0
  766. arch/arm/mach-pxa/colibri-pxa270.c +128 −48
  767. arch/arm/mach-pxa/colibri-pxa320.c +40 −0
  768. arch/arm/mach-pxa/corgi.c +1 −5
  769. arch/arm/mach-pxa/corgi_pm.c +4 −7
  770. arch/arm/mach-pxa/devices.c +14 −0
  771. arch/arm/mach-pxa/devices.h +1 −0
  772. arch/arm/mach-pxa/e330.c +0 −78
  773. arch/arm/mach-pxa/e350.c +0 −79
  774. arch/arm/mach-pxa/e400.c +0 −155
  775. arch/arm/mach-pxa/e740.c +0 −225
  776. arch/arm/mach-pxa/e750.c +0 −226
  777. arch/arm/mach-pxa/e800.c +0 −229
  778. arch/arm/mach-pxa/eseries.c +809 −1
  779. arch/arm/mach-pxa/generic.h +1 −2
  780. arch/arm/mach-pxa/imote2.c +0 −590
  781. arch/arm/mach-pxa/include/mach/balloon3.h +55 −20
  782. arch/arm/mach-pxa/include/mach/colibri.h +25 −7
  783. arch/arm/mach-pxa/include/mach/corgi.h +0 −5
  784. arch/arm/mach-pxa/include/mach/gumstix.h +1 −11
  785. arch/arm/mach-pxa/include/mach/hardware.h +0 −5
  786. arch/arm/mach-pxa/include/mach/memory.h +3 −16
  787. arch/arm/mach-pxa/include/mach/palm27x.h +81 −0
  788. arch/arm/mach-pxa/include/mach/pata_pxa.h +33 −0
  789. arch/arm/mach-pxa/include/mach/sharpsl.h +0 −35
  790. arch/arm/mach-pxa/include/mach/sharpsl_pm.h +9 −0
  791. arch/arm/mach-pxa/include/mach/spitz.h +0 −2
  792. arch/arm/mach-pxa/mioa701.c +7 −3
  793. arch/arm/mach-pxa/palm27x.c +477 −0
  794. arch/arm/mach-pxa/palmld.c +54 −238
  795. arch/arm/mach-pxa/palmt5.c +35 −249
  796. arch/arm/mach-pxa/palmte2.c +12 −8
  797. arch/arm/mach-pxa/palmtreo.c +61 −296
  798. arch/arm/mach-pxa/palmtx.c +47 −252
  799. arch/arm/mach-pxa/palmz72.c +27 −237
  800. arch/arm/mach-pxa/poodle.c +0 −3
  801. arch/arm/mach-pxa/pxa25x.c +1 −0
  802. arch/arm/mach-pxa/pxa27x.c +1 −0
  803. arch/arm/mach-pxa/pxa3xx.c +14 −1
  804. arch/arm/mach-pxa/raumfeld.c +21 −8
  805. arch/arm/mach-pxa/sharpsl.h +0 −26
  806. arch/arm/mach-pxa/sharpsl_pm.c +0 −23
  807. arch/arm/mach-pxa/sleep.S +0 −7
  808. arch/arm/mach-pxa/spitz.c +427 −301
  809. arch/arm/mach-pxa/spitz_pm.c +4 −7
  810. arch/arm/mach-pxa/stargate2.c +473 −246
  811. arch/arm/mach-pxa/tosa.c +0 −1
  812. arch/arm/mach-pxa/trizeps4.c +1 −5
  813. arch/arm/mach-pxa/vpac270.c +119 −7
  814. arch/arm/mach-pxa/z2.c +114 −4
  815. arch/arm/mach-realview/core.c +34 −6
  816. arch/arm/mach-realview/include/mach/board-pb1176.h +1 −0
  817. arch/arm/mach-realview/include/mach/irqs-pb1176.h +1 −1
  818. arch/arm/mach-realview/include/mach/memory.h +3 −4
  819. arch/arm/mach-realview/realview_eb.c +29 −1
  820. arch/arm/mach-realview/realview_pb1176.c +36 −10
  821. arch/arm/mach-realview/realview_pb11mp.c +8 −1
  822. arch/arm/mach-realview/realview_pba8.c +8 −1
  823. arch/arm/mach-realview/realview_pbx.c +8 −1
  824. arch/arm/mach-s3c2410/mach-h1940.c +9 −0
  825. arch/arm/mach-s3c2412/mach-smdk2413.c +0 −1
  826. arch/arm/mach-s3c2412/mach-vstms.c +0 −1
  827. arch/arm/mach-s3c2416/s3c2416.c +2 −1
  828. arch/arm/mach-s3c2440/mach-gta02.c +5 −12
  829. arch/arm/mach-s3c2440/mach-rx1950.c +9 −0
  830. arch/arm/mach-s3c2440/mach-rx3715.c +9 −0
  831. arch/arm/mach-s3c2443/s3c2443.c +2 −0
  832. arch/arm/mach-s3c64xx/Kconfig +15 −0
  833. arch/arm/mach-s3c64xx/Makefile +2 −0
  834. arch/arm/mach-s3c64xx/clock.c +18 −6
  835. arch/arm/mach-s3c64xx/dev-audio.c +1 −1
  836. arch/arm/mach-s3c64xx/dev-spi.c +1 −1
  837. arch/arm/mach-s3c64xx/gpiolib.c +1 −1
  838. arch/arm/mach-s3c64xx/include/mach/map.h +6 −0
  839. arch/arm/mach-s3c64xx/include/mach/regs-clock.h +5 −0
  840. arch/arm/mach-s3c64xx/include/mach/regs-fb.h +0 −20
  841. arch/arm/mach-s3c64xx/mach-anw6410.c +0 −1
  842. arch/arm/mach-s3c64xx/mach-hmt.c +0 −1
  843. arch/arm/mach-s3c64xx/mach-smartq5.c +1 −2
  844. arch/arm/mach-s3c64xx/mach-smartq7.c +1 −2
  845. arch/arm/mach-s3c64xx/mach-smdk6410.c +33 −1
  846. arch/arm/mach-s3c64xx/s3c6410.c +4 −2
  847. arch/arm/mach-s3c64xx/setup-fb-24bpp.c +1 −1
  848. arch/arm/mach-s3c64xx/setup-i2c0.c +1 −1
  849. arch/arm/mach-s3c64xx/setup-i2c1.c +1 −1
  850. arch/arm/mach-s3c64xx/setup-ide.c +46 −0
  851. arch/arm/mach-s3c64xx/setup-keypad.c +34 −0
  852. arch/arm/mach-s3c64xx/setup-sdhci-gpio.c +12 −5
  853. arch/arm/mach-s5p6440/Kconfig +10 −3
  854. arch/arm/mach-s5p6440/Makefile +1 −0
  855. arch/arm/mach-s5p6440/cpu.c +2 −1
  856. arch/arm/mach-s5p6440/dev-audio.c +1 −1
  857. arch/arm/mach-s5p6440/dev-spi.c +1 −1
  858. arch/arm/mach-s5p6440/gpio.c +3 −1
  859. arch/arm/mach-s5p6440/include/mach/irqs.h +1 −1
  860. arch/arm/mach-s5p6440/include/mach/map.h +3 −1
  861. arch/arm/mach-s5p6440/include/mach/system.h +2 −5
  862. arch/arm/mach-s5p6440/mach-smdk6440.c +36 −15
  863. arch/arm/mach-s5p6440/setup-i2c0.c +6 −1
  864. arch/arm/mach-s5p6440/setup-i2c1.c +30 −0
  865. arch/arm/mach-s5p6442/Kconfig +1 −0
  866. arch/arm/mach-s5p6442/clock.c +6 −0
  867. arch/arm/mach-s5p6442/dev-audio.c +1 −1
  868. arch/arm/mach-s5p6442/dev-spi.c +1 −1
  869. arch/arm/mach-s5p6442/include/mach/irqs.h +1 −1
  870. arch/arm/mach-s5p6442/include/mach/map.h +3 −0
  871. arch/arm/mach-s5p6442/include/mach/system.h +2 −5
  872. arch/arm/mach-s5p6442/mach-smdk6442.c +13 −12
  873. arch/arm/mach-s5pc100/Kconfig +22 −1
  874. arch/arm/mach-s5pc100/Makefile +2 −0
  875. arch/arm/mach-s5pc100/clock.c +4 −4
  876. arch/arm/mach-s5pc100/cpu.c +7 −0
  877. arch/arm/mach-s5pc100/dev-audio.c +1 −1
  878. arch/arm/mach-s5pc100/dev-spi.c +1 −1
  879. arch/arm/mach-s5pc100/include/mach/irqs.h +2 −2
  880. arch/arm/mach-s5pc100/include/mach/map.h +21 −0
  881. arch/arm/mach-s5pc100/include/mach/regs-clock.h +3 −0
  882. arch/arm/mach-s5pc100/include/mach/regs-fb.h +0 −34
  883. arch/arm/mach-s5pc100/include/mach/system.h +1 −8
  884. arch/arm/mach-s5pc100/mach-smdkc100.c +64 −16
  885. arch/arm/mach-s5pc100/setup-ide.c +70 −0
  886. arch/arm/mach-s5pc100/setup-keypad.c +34 −0
  887. arch/arm/mach-s5pc100/setup-sdhci-gpio.c +16 −6
  888. arch/arm/mach-s5pc100/setup-sdhci.c +4 −4
  889. arch/arm/mach-s5pv210/Kconfig +70 −17
  890. arch/arm/mach-s5pv210/Makefile +2 −0
  891. arch/arm/mach-s5pv210/cpu.c +28 −4
  892. arch/arm/mach-s5pv210/dev-audio.c +1 −1
  893. arch/arm/mach-s5pv210/dev-onenand.c +6 −1
  894. arch/arm/mach-s5pv210/dev-spi.c +1 −1
  895. arch/arm/mach-s5pv210/gpiolib.c +14 −0
  896. arch/arm/mach-s5pv210/include/mach/gpio.h +9 −3
  897. arch/arm/mach-s5pv210/include/mach/irqs.h +2 −2
  898. arch/arm/mach-s5pv210/include/mach/map.h +16 −0
  899. arch/arm/mach-s5pv210/include/mach/memory.h +7 −2
  900. arch/arm/mach-s5pv210/include/mach/regs-clock.h +2 −0
  901. arch/arm/mach-s5pv210/include/mach/system.h +2 −5
  902. arch/arm/mach-s5pv210/mach-aquila.c +398 −21
  903. arch/arm/mach-s5pv210/mach-goni.c +420 −17
  904. arch/arm/mach-s5pv210/mach-smdkc110.c +51 −15
  905. arch/arm/mach-s5pv210/mach-smdkv210.c +78 −15
  906. arch/arm/mach-s5pv210/setup-fb-24bpp.c +1 −1
  907. arch/arm/mach-s5pv210/setup-i2c0.c +1 −1
  908. arch/arm/mach-s5pv210/setup-i2c1.c +1 −1
  909. arch/arm/mach-s5pv210/setup-i2c2.c +1 −1
  910. arch/arm/mach-s5pv210/setup-ide.c +50 −0
  911. arch/arm/mach-s5pv210/setup-keypad.c +34 −0
  912. arch/arm/mach-s5pv210/setup-sdhci-gpio.c +40 −7
  913. arch/arm/mach-s5pv210/setup-sdhci.c +2 −2
  914. arch/arm/mach-s5pv310/Kconfig +45 −0
  915. arch/arm/mach-s5pv310/Makefile +30 −0
  916. arch/arm/mach-s5pv310/Makefile.boot +2 −0
  917. arch/arm/mach-s5pv310/clock.c +544 −0
  918. arch/arm/mach-s5pv310/cpu.c +122 −0
  919. arch/arm/mach-s5pv310/headsmp.S +41 −0
  920. arch/arm/mach-s5pv310/include/mach/debug-macro.S +36 −0
  921. arch/arm/mach-s5pv310/include/mach/entry-macro.S +84 −0
  922. arch/arm/mach-s5pv310/include/mach/gpio.h +135 −0
  923. arch/arm/mach-s5pv310/include/mach/hardware.h +18 −0
  924. arch/arm/mach-s5pv310/include/mach/io.h +26 −0
  925. arch/arm/mach-s5pv310/include/mach/irqs.h +74 −0
  926. arch/arm/mach-s5pv310/include/mach/map.h +69 −0
  927. arch/arm/mach-s5pv310/include/mach/memory.h +22 −0
  928. arch/arm/mach-s5pv310/include/mach/pwm-clock.h +70 −0
  929. arch/arm/mach-s5pv310/include/mach/regs-clock.h +62 −0
  930. arch/arm/mach-s5pv310/include/mach/regs-irq.h +19 −0
  931. arch/arm/mach-s5pv310/include/mach/smp.h +29 −0
  932. arch/arm/mach-s5pv310/include/mach/system.h +22 −0
  933. arch/arm/mach-s5pv310/include/mach/timex.h +29 −0
  934. arch/arm/mach-s5pv310/include/mach/uncompress.h +30 −0
  935. arch/arm/mach-s5pv310/include/mach/vmalloc.h +22 −0
  936. arch/arm/mach-s5pv310/init.c +41 −0
  937. arch/arm/mach-s5pv310/irq-combiner.c +125 −0
  938. arch/arm/mach-s5pv310/localtimer.c +25 −0
  939. arch/arm/mach-s5pv310/mach-smdkv310.c +92 −0
  940. arch/arm/mach-s5pv310/mach-universal_c210.c +86 −0
  941. arch/arm/mach-s5pv310/platsmp.c +192 −0
  942. arch/arm/mach-s5pv310/setup-i2c0.c +28 −0
  943. arch/arm/mach-s5pv310/setup-i2c1.c +25 −0
  944. arch/arm/mach-s5pv310/setup-i2c2.c +25 −0
  945. arch/arm/mach-s5pv310/time.c +287 −0
  946. arch/arm/mach-sa1100/collie.c +1 −1
  947. arch/arm/mach-sa1100/generic.h +1 −2
  948. arch/arm/mach-sa1100/include/mach/irqs.h +1 −1
  949. arch/arm/mach-sa1100/include/mach/memory.h +3 −3
  950. arch/arm/mach-shark/include/mach/memory.h +3 −4
  951. arch/arm/mach-shmobile/Kconfig +38 −0
  952. arch/arm/mach-shmobile/Makefile +3 −3
  953. arch/arm/mach-shmobile/board-ap4evb.c +786 −31
  954. arch/arm/mach-shmobile/board-g3evm.c +50 −9
  955. arch/arm/mach-shmobile/board-g4evm.c +143 −10
  956. arch/arm/mach-shmobile/clock-sh7367.c +306 −51
  957. arch/arm/mach-shmobile/clock-sh7372.c +560 −0
  958. arch/arm/mach-shmobile/clock-sh7377.c +369 −0
  959. arch/arm/mach-shmobile/clock.c +44 −0
  960. arch/arm/mach-shmobile/include/mach/common.h +10 −0
  961. arch/arm/mach-shmobile/include/mach/irqs.h +6 −1
  962. arch/arm/mach-shmobile/include/mach/memory.h +3 −0
  963. arch/arm/mach-shmobile/include/mach/sh7372.h +30 −0
  964. arch/arm/mach-shmobile/include/mach/vmalloc.h +2 −1
  965. arch/arm/mach-shmobile/intc-sh7367.c +174 −4
  966. arch/arm/mach-shmobile/intc-sh7372.c +226 −6
  967. arch/arm/mach-shmobile/intc-sh7377.c +297 −3
  968. arch/arm/mach-shmobile/pfc-sh7372.c +3 −0
  969. arch/arm/mach-shmobile/setup-sh7367.c +22 −8
  970. arch/arm/mach-shmobile/setup-sh7372.c +369 −22
  971. arch/arm/mach-shmobile/setup-sh7377.c +25 −9
  972. arch/arm/mach-spear3xx/clock.c +3 −0
  973. arch/arm/mach-spear6xx/clock.c +3 −0
  974. arch/arm/mach-tegra/Kconfig +50 −0
  975. arch/arm/mach-tegra/Makefile +14 −0
  976. arch/arm/mach-tegra/Makefile.boot +3 −0
  977. arch/arm/mach-tegra/board-harmony-pinmux.c +144 −0
  978. arch/arm/mach-tegra/board-harmony.c +127 −0
  979. arch/arm/mach-tegra/board-harmony.h +22 −0
  980. arch/arm/mach-tegra/board.h +32 −0
  981. arch/arm/mach-tegra/clock.c +488 −0
  982. arch/arm/mach-tegra/clock.h +147 −0
  983. arch/arm/mach-tegra/common.c +61 −0
  984. arch/arm/mach-tegra/gpio-names.h +247 −0
  985. arch/arm/mach-tegra/gpio.c +348 −0
  986. arch/arm/mach-tegra/headsmp.S +61 −0
  987. arch/arm/mach-tegra/hotplug.c +140 −0
  988. arch/arm/mach-tegra/include/mach/barriers.h +30 −0
  989. arch/arm/mach-tegra/include/mach/clk.h +26 −0
  990. arch/arm/mach-tegra/include/mach/clkdev.h +32 −0
  991. arch/arm/mach-tegra/include/mach/debug-macro.S +46 −0
  992. arch/arm/mach-tegra/include/mach/entry-macro.S +118 −0
  993. arch/arm/mach-tegra/include/mach/gpio.h +53 −0
  994. arch/arm/mach-tegra/include/mach/hardware.h +24 −0
  995. arch/arm/mach-tegra/include/mach/io.h +79 −0
  996. arch/arm/mach-tegra/include/mach/iomap.h +203 −0
  997. arch/arm/mach-tegra/include/mach/irqs.h +173 −0
  998. arch/arm/mach-tegra/include/mach/memory.h +28 −0
  999. arch/arm/mach-tegra/include/mach/pinmux.h +348 −0
  1000. arch/arm/mach-tegra/include/mach/smp.h +30 −0
  1001. arch/arm/mach-tegra/include/mach/system.h +39 −0
  1002. arch/arm/mach-tegra/include/mach/timex.h +26 −0
  1003. arch/arm/mach-tegra/include/mach/uncompress.h +78 −0
  1004. arch/arm/mach-tegra/include/mach/vmalloc.h +28 −0
  1005. arch/arm/mach-tegra/io.c +78 −0
  1006. arch/arm/mach-tegra/irq.c +34 −0
  1007. arch/arm/mach-tegra/localtimer.c +25 −0
  1008. arch/arm/mach-tegra/pinmux.c +945 −0
  1009. arch/arm/mach-tegra/platsmp.c +156 −0
  1010. arch/arm/mach-tegra/tegra2_clocks.c +1359 −0
  1011. arch/arm/mach-tegra/timer.c +187 −0
  1012. arch/arm/mach-u300/clock.c +57 −76
  1013. arch/arm/mach-u300/clock.h +1 −4
  1014. arch/arm/mach-u300/core.c +11 −10
  1015. arch/arm/mach-u300/gpio.c +1 −1
  1016. arch/arm/mach-u300/include/mach/memory.h +0 −8
  1017. arch/arm/mach-u300/mmc.c +4 −4
  1018. arch/arm/mach-u300/timer.c +17 −11
  1019. arch/arm/mach-u300/u300.c +17 −0
  1020. arch/arm/mach-ux500/board-mop500.c +33 −3
  1021. arch/arm/mach-ux500/clock.c +4 −0
  1022. arch/arm/mach-ux500/devices-db8500.c +22 −20
  1023. arch/arm/mach-ux500/include/mach/db8500-regs.h +3 −3
  1024. arch/arm/mach-ux500/include/mach/irqs-board-mop500.h +23 −0
  1025. arch/arm/mach-ux500/include/mach/irqs-db5500.h +85 −0
  1026. arch/arm/mach-ux500/include/mach/irqs-db8500.h +96 −0
  1027. arch/arm/mach-ux500/include/mach/irqs.h +16 −6
  1028. arch/arm/mach-ux500/pins-db8500.h +742 −0
  1029. arch/arm/mach-ux500/ste-dma40-db8500.h +1 −1
  1030. arch/arm/mach-versatile/core.c +33 −2
  1031. arch/arm/mach-versatile/include/mach/hardware.h +0 −9
  1032. arch/arm/mach-versatile/pci.c +1 −1
  1033. arch/arm/mach-vexpress/ct-ca9x4.c +2 −0
  1034. arch/arm/mach-vexpress/include/mach/ct-ca9x4.h +1 −0
  1035. arch/arm/mach-vexpress/v2m.c +6 −1
  1036. arch/arm/mach-w90x900/dev.c +79 −17
  1037. arch/arm/mach-w90x900/include/mach/regs-gcr.h +39 −0
  1038. arch/arm/mach-w90x900/mach-nuc950evb.c +0 −44
  1039. arch/arm/mach-w90x900/nuc910.c +2 −0
  1040. arch/arm/mach-w90x900/nuc950.c +0 −2
  1041. arch/arm/mm/Kconfig +2 −12
  1042. arch/arm/mm/Makefile +0 −1
  1043. arch/arm/mm/alignment.c +14 −2
  1044. arch/arm/mm/discontig.c +0 −45
  1045. arch/arm/mm/dma-mapping.c +14 −1
  1046. arch/arm/mm/fault.c +42 −14
  1047. arch/arm/mm/highmem.c +2 −2
  1048. arch/arm/mm/init.c +164 −260
  1049. arch/arm/mm/ioremap.c +10 −70
  1050. arch/arm/mm/mm.h +1 −3
  1051. arch/arm/mm/mmap.c +4 −0
  1052. arch/arm/mm/mmu.c +59 −115
  1053. arch/arm/mm/nommu.c +3 −19
  1054. arch/arm/mm/proc-arm1020.S +1 −5
  1055. arch/arm/mm/proc-arm1020e.S +1 −5
  1056. arch/arm/mm/proc-arm1022.S +1 −5
  1057. arch/arm/mm/proc-arm1026.S +1 −5
  1058. arch/arm/mm/proc-arm6_7.S +0 −2
  1059. arch/arm/mm/proc-arm720.S +1 −5
  1060. arch/arm/mm/proc-arm740.S +1 −5
  1061. arch/arm/mm/proc-arm7tdmi.S +0 −2
  1062. arch/arm/mm/proc-arm920.S +1 −9
  1063. arch/arm/mm/proc-arm922.S +1 −9
  1064. arch/arm/mm/proc-arm925.S +1 −5
  1065. arch/arm/mm/proc-arm926.S +1 −5
  1066. arch/arm/mm/proc-arm940.S +1 −5
  1067. arch/arm/mm/proc-arm946.S +1 −5
  1068. arch/arm/mm/proc-arm9tdmi.S +0 −2
  1069. arch/arm/mm/proc-fa526.S +1 −5
  1070. arch/arm/mm/proc-feroceon.S +1 −6
  1071. arch/arm/mm/proc-mohawk.S +1 −5
  1072. arch/arm/mm/proc-sa110.S +2 −6
  1073. arch/arm/mm/proc-sa1100.S +1 −5
  1074. arch/arm/mm/proc-v6.S +4 −6
  1075. arch/arm/mm/proc-v7.S +2 −5
  1076. arch/arm/mm/proc-xsc3.S +1 −5
  1077. arch/arm/mm/proc-xscale.S +1 −5
  1078. arch/arm/mm/vmregion.c +3 −2
  1079. arch/arm/mm/vmregion.h +1 −1
  1080. arch/arm/plat-iop/pci.c +1 −1
  1081. arch/arm/plat-iop/time.c +9 −44
  1082. arch/arm/plat-mxc/3ds_debugboard.c +202 −0
  1083. arch/arm/plat-mxc/Kconfig +16 −6
  1084. arch/arm/plat-mxc/Makefile +3 −2
  1085. arch/arm/plat-mxc/audmux-v1.c +0 −4
  1086. arch/arm/plat-mxc/audmux-v2.c +14 −5
  1087. arch/arm/plat-mxc/clock.c +25 −12
  1088. arch/arm/plat-mxc/devices.c +33 −0
  1089. arch/arm/plat-mxc/devices/Kconfig +15 −0
  1090. arch/arm/plat-mxc/devices/Makefile +8 −0
  1091. arch/arm/plat-mxc/devices/platform-flexcan.c +30 −0
  1092. arch/arm/plat-mxc/devices/platform-imx-i2c.c +29 −0
  1093. arch/arm/plat-mxc/devices/platform-imx-uart.c +60 −0
  1094. arch/arm/plat-mxc/devices/platform-mxc_nand.c +44 −0
  1095. arch/arm/plat-mxc/devices/platform-spi_imx.c +30 −0
  1096. arch/arm/plat-mxc/ehci.c +45 −5
  1097. arch/arm/plat-mxc/gpio.c +14 −0
  1098. arch/arm/plat-mxc/include/mach/3ds_debugboard.h +18 −0
  1099. arch/arm/plat-mxc/include/mach/board-armadillo5x0.h +0 −15
  1100. arch/arm/plat-mxc/include/mach/board-kzmarm11.h +0 −39
  1101. arch/arm/plat-mxc/include/mach/board-mx21ads.h +0 −52
  1102. arch/arm/plat-mxc/include/mach/board-mx27ads.h +0 −344
  1103. arch/arm/plat-mxc/include/mach/board-mx27lite.h +0 −14
  1104. arch/arm/plat-mxc/include/mach/board-mx27pdk.h +0 −14
  1105. arch/arm/plat-mxc/include/mach/board-mx31_3ds.h +0 −59
  1106. arch/arm/plat-mxc/include/mach/board-mx31ads.h +0 −117
  1107. arch/arm/plat-mxc/include/mach/board-mx31lilly.h +1 −1
  1108. arch/arm/plat-mxc/include/mach/board-mx31lite.h +1 −1
  1109. arch/arm/plat-mxc/include/mach/board-mx31moboard.h +1 −1
  1110. arch/arm/plat-mxc/include/mach/board-pcm038.h +1 −1
  1111. arch/arm/plat-mxc/include/mach/board-qong.h +0 −17
  1112. arch/arm/plat-mxc/include/mach/debug-macro.S +2 −2
  1113. arch/arm/plat-mxc/include/mach/devices-common.h +60 −0
  1114. arch/arm/plat-mxc/include/mach/eukrea-baseboards.h +13 −6
  1115. arch/arm/plat-mxc/include/mach/gpio.h +3 −0
  1116. arch/arm/plat-mxc/include/mach/iomux-mx25.h +20 −8
  1117. arch/arm/plat-mxc/include/mach/iomux-mx51.h +275 −284
  1118. arch/arm/plat-mxc/include/mach/iomux-mxc91231.h +0 −4
  1119. arch/arm/plat-mxc/include/mach/iomux-v3.h +15 −0
  1120. arch/arm/plat-mxc/include/mach/memory.h +2 −2
  1121. arch/arm/plat-mxc/include/mach/mmc.h +3 −0
  1122. arch/arm/plat-mxc/include/mach/mx1.h +14 −14
  1123. arch/arm/plat-mxc/include/mach/mx25.h +41 −9
  1124. arch/arm/plat-mxc/include/mach/mx27.h +2 −2
  1125. arch/arm/plat-mxc/include/mach/mx2_cam.h +46 −0
  1126. arch/arm/plat-mxc/include/mach/mx31.h +2 −2
  1127. arch/arm/plat-mxc/include/mach/mx35.h +4 −2
  1128. arch/arm/plat-mxc/include/mach/mx3_camera.h +0 −4
  1129. arch/arm/plat-mxc/include/mach/mxc91231.h +0 −4
  1130. arch/arm/plat-mxc/include/mach/mxc_nand.h +7 −3
  1131. arch/arm/plat-mxc/include/mach/ssi.h +3 −0
  1132. arch/arm/plat-mxc/include/mach/system.h +0 −4
  1133. arch/arm/plat-mxc/include/mach/timex.h +0 −4
  1134. arch/arm/plat-mxc/include/mach/uncompress.h +0 −4
  1135. arch/arm/plat-mxc/include/mach/vmalloc.h +0 −4
  1136. arch/arm/plat-mxc/irq.c +0 −3
  1137. arch/arm/plat-mxc/system.c +0 −4
  1138. arch/arm/plat-mxc/tzic.c +0 −2
  1139. arch/arm/plat-nomadik/gpio.c +262 −54
  1140. arch/arm/plat-nomadik/include/plat/gpio.h +15 −0
  1141. arch/arm/plat-nomadik/include/plat/mtu.h +6 −0
  1142. arch/arm/plat-nomadik/include/plat/pincfg.h +72 −0
  1143. arch/arm/plat-nomadik/include/plat/ste_dma40.h +3 −1
  1144. arch/arm/plat-nomadik/timer.c +10 −4
  1145. arch/arm/plat-omap/Kconfig +12 −21
  1146. arch/arm/plat-omap/Makefile +1 −0
  1147. arch/arm/plat-omap/common.c +13 −5
  1148. arch/arm/plat-omap/debug-leds.c +1 −1
  1149. arch/arm/plat-omap/devices.c +0 −124
  1150. arch/arm/plat-omap/dma.c +7 −4
  1151. arch/arm/plat-omap/fb.c +56 −21
  1152. arch/arm/plat-omap/gpio.c +3 −1
  1153. arch/arm/plat-omap/i2c.c +11 −1
  1154. arch/arm/plat-omap/include/plat/board.h +8 −0
  1155. arch/arm/plat-omap/include/plat/clock.h +107 −23
  1156. arch/arm/plat-omap/include/plat/common.h +9 −2
  1157. arch/arm/plat-omap/include/plat/cpu.h +13 −4
  1158. arch/arm/plat-omap/include/plat/display.h +5 −4
  1159. arch/arm/plat-omap/include/plat/dma.h +1 −0
  1160. arch/arm/plat-omap/include/plat/gpmc.h +35 −7
  1161. arch/arm/plat-omap/include/plat/iommu.h +2 −0
  1162. arch/arm/plat-omap/include/plat/mailbox.h +6 −14
  1163. arch/arm/plat-omap/include/plat/mcbsp.h +2 −0
  1164. arch/arm/plat-omap/include/plat/mmc.h +2 −0
  1165. arch/arm/plat-omap/include/plat/mux.h +4 −220
  1166. arch/arm/plat-omap/include/plat/nand.h +2 −4
  1167. arch/arm/plat-omap/include/plat/nokia-dsi-panel.h +31 −0
  1168. arch/arm/plat-omap/include/plat/omap-pm.h +100 −30
  1169. arch/arm/plat-omap/include/plat/omap_device.h +2 −0
  1170. arch/arm/plat-omap/include/plat/omap_hwmod.h +9 −5
  1171. arch/arm/plat-omap/include/plat/smp.h +1 −0
  1172. arch/arm/plat-omap/include/plat/uncompress.h +6 −0
  1173. arch/arm/plat-omap/include/plat/usb.h +48 −1
  1174. arch/arm/plat-omap/include/plat/vram.h +2 −2
  1175. arch/arm/plat-omap/iommu.c +23 −4
  1176. arch/arm/plat-omap/iopgtable.h +5 −3
  1177. arch/arm/plat-omap/mailbox.c +118 −130
  1178. arch/arm/plat-omap/mcbsp.c +35 −16
  1179. arch/arm/plat-omap/mux.c +1 −1
  1180. arch/arm/plat-omap/omap-pm-noop.c +48 −13
  1181. arch/arm/plat-omap/omap_device.c +32 −5
  1182. arch/arm/plat-omap/usb.c +16 −628
  1183. arch/arm/plat-orion/include/plat/audio.h +11 −0
  1184. arch/arm/plat-orion/pcie.c +34 −0
  1185. arch/arm/plat-pxa/Makefile +0 −1
  1186. arch/arm/plat-pxa/pmu.c +0 −33
  1187. arch/arm/plat-s3c24xx/clock.c +1 −1
  1188. arch/arm/plat-s5p/Kconfig +18 −2
  1189. arch/arm/plat-s5p/Makefile +6 −0
  1190. arch/arm/plat-s5p/cpu.c +18 −1
  1191. arch/arm/plat-s5p/dev-fimc0.c +36 −0
  1192. arch/arm/plat-s5p/dev-fimc1.c +36 −0
  1193. arch/arm/plat-s5p/dev-fimc2.c +36 −0
  1194. arch/arm/plat-s5p/dev-pmu.c +36 −0
  1195. arch/arm/plat-s5p/include/plat/map-s5p.h +19 −4
  1196. arch/arm/plat-s5p/include/plat/pll.h +41 −0
  1197. arch/arm/plat-s5p/include/plat/reset.h +16 −0
  1198. arch/arm/plat-s5p/include/plat/s5pv310.h +34 −0
  1199. arch/arm/plat-s5p/include/plat/system-reset.h +31 −0
  1200. arch/arm/plat-s5p/irq.c +2 −0
  1201. arch/arm/plat-samsung/Kconfig +15 −0
  1202. arch/arm/plat-samsung/Makefile +6 −1
  1203. arch/arm/plat-samsung/clock.c +1 −1
  1204. arch/arm/plat-samsung/dev-hsmmc.c +5 −0
  1205. arch/arm/plat-samsung/dev-hsmmc1.c +5 −0
  1206. arch/arm/plat-samsung/dev-hsmmc2.c +5 −0
  1207. arch/arm/plat-samsung/dev-hsmmc3.c +77 −0
  1208. arch/arm/plat-samsung/dev-ide.c +44 −0
  1209. arch/arm/plat-samsung/dev-keypad.c +50 −0
  1210. arch/arm/plat-samsung/dev-wdt.c +1 −1
  1211. arch/arm/plat-samsung/gpiolib.c +1 −1
  1212. arch/arm/plat-samsung/include/plat/adc-core.h +28 −0
  1213. arch/arm/plat-samsung/include/plat/ata-core.h +28 −0
  1214. arch/arm/plat-samsung/include/plat/ata.h +36 −0
  1215. arch/arm/plat-samsung/include/plat/devs.h +20 −0
  1216. arch/arm/plat-samsung/include/plat/fb-core.h +29 −0
  1217. arch/arm/plat-samsung/include/plat/fb.h +3 −0
  1218. arch/arm/plat-samsung/include/plat/fimc-core.h +44 −0
  1219. arch/arm/plat-samsung/include/plat/keypad-core.h +31 −0
  1220. arch/arm/plat-samsung/include/plat/keypad.h +56 −0
  1221. arch/arm/plat-samsung/include/plat/regs-ata.h +56 −0
  1222. arch/arm/plat-samsung/include/plat/regs-fb-v4.h +1 −77
  1223. arch/arm/plat-samsung/include/plat/regs-fb.h +25 −5
  1224. arch/arm/plat-samsung/include/plat/regs-rtc.h +3 −0
  1225. arch/arm/plat-samsung/include/plat/regs-serial.h +2 −0
  1226. arch/arm/plat-samsung/include/plat/regs-usb-hsotg.h +2 −0
  1227. arch/arm/plat-samsung/include/plat/sdhci.h +70 −57
  1228. arch/arm/plat-samsung/platformdata.c +37 −0
  1229. arch/arm/plat-spear/padmux.c +1 −1
  1230. arch/arm/plat-spear/time.c +7 −40
  1231. arch/arm/plat-versatile/Makefile +4 −0
  1232. arch/arm/plat-versatile/leds.c +103 −0
  1233. arch/arm/vfp/vfpmodule.c +7 −3
  1234. arch/avr32/Kconfig +0 −3
  1235. arch/avr32/Makefile +1 −1
  1236. arch/avr32/include/asm/cache.h +1 −1
  1237. arch/avr32/include/asm/dma-mapping.h +0 −10
  1238. arch/avr32/include/asm/ioctls.h +2 −2
  1239. arch/avr32/include/asm/local64.h +1 −0
  1240. arch/avr32/include/asm/scatterlist.h +0 −2
  1241. arch/avr32/include/asm/syscalls.h +1 −1
  1242. arch/avr32/include/asm/termbits.h +1 −0
  1243. arch/avr32/kernel/process.c +2 −1
  1244. arch/avr32/mm/fault.c +4 −10
  1245. arch/blackfin/Kconfig +15 −8
  1246. arch/blackfin/Makefile +4 −3
  1247. arch/blackfin/boot/Makefile +9 −2
  1248. arch/blackfin/configs/BF518F-EZBRD_defconfig +103 −60
  1249. arch/blackfin/configs/BF526-EZBRD_defconfig +102 −27
  1250. arch/blackfin/configs/BF527-EZKIT-V2_defconfig +111 −38
  1251. arch/blackfin/configs/BF527-EZKIT_defconfig +106 −33
  1252. arch/blackfin/configs/BF533-EZKIT_defconfig +78 −15
  1253. arch/blackfin/configs/BF533-STAMP_defconfig +94 −37
  1254. arch/blackfin/configs/BF537-STAMP_defconfig +98 −43
  1255. arch/blackfin/configs/BF538-EZKIT_defconfig +89 −32
  1256. arch/blackfin/configs/BF548-EZKIT_defconfig +112 −44
  1257. arch/blackfin/configs/BF561-ACVILON_defconfig +0 −1
  1258. arch/blackfin/configs/BF561-EZKIT_defconfig +75 −10
  1259. arch/blackfin/configs/CM-BF527_defconfig +0 −1
  1260. arch/blackfin/configs/CM-BF533_defconfig +0 −1
  1261. arch/blackfin/configs/CM-BF537E_defconfig +0 −1
  1262. arch/blackfin/configs/CM-BF537U_defconfig +0 −1
  1263. arch/blackfin/configs/CM-BF548_defconfig +0 −1
  1264. arch/blackfin/configs/CM-BF561_defconfig +0 −1
  1265. arch/blackfin/configs/PNAV-10_defconfig +94 −29
  1266. arch/blackfin/configs/TCM-BF518_defconfig +0 −1
  1267. arch/blackfin/configs/TCM-BF537_defconfig +0 −1
  1268. arch/blackfin/include/asm/bfin_rotary.h +73 −1
  1269. arch/blackfin/include/asm/bfin_sdh.h +117 −2
  1270. arch/blackfin/include/asm/bitops.h +1 −1
  1271. arch/blackfin/include/asm/cache.h +1 −1
  1272. arch/blackfin/include/asm/cdef_LPBlackfin.h +4 −4
  1273. arch/blackfin/include/asm/def_LPBlackfin.h +18 −0
  1274. arch/blackfin/include/asm/dma-mapping.h +0 −2
  1275. arch/blackfin/include/asm/dma.h +1 −0
  1276. arch/blackfin/include/asm/elf.h +1 −0
  1277. arch/blackfin/include/asm/ftrace.h +16 −0
  1278. arch/blackfin/include/asm/gpio.h +58 −53
  1279. arch/blackfin/include/asm/io.h +7 −1
  1280. arch/blackfin/include/asm/local64.h +1 −0
  1281. arch/blackfin/include/asm/mem_init.h +0 −18
  1282. arch/blackfin/include/asm/nand.h +0 −3
  1283. arch/blackfin/include/asm/portmux.h +5 −5
  1284. arch/blackfin/include/asm/scatterlist.h +0 −2
  1285. arch/blackfin/kernel/Makefile +1 −0
  1286. arch/blackfin/kernel/bfin_dma_5xx.c +17 −2
  1287. arch/blackfin/kernel/bfin_gpio.c +58 −53
  1288. arch/blackfin/kernel/cplb-mpu/cplbinit.c +0 −4
  1289. arch/blackfin/kernel/ftrace-entry.S +77 −8
  1290. arch/blackfin/kernel/ftrace.c +85 −1
  1291. arch/blackfin/kernel/process.c +1 −1
  1292. arch/blackfin/kernel/setup.c +7 −0
  1293. arch/blackfin/kernel/vmlinux.lds.S +1 −6
  1294. arch/blackfin/mach-bf518/Kconfig +61 −0
  1295. arch/blackfin/mach-bf518/include/mach/anomaly.h +17 −4
  1296. arch/blackfin/mach-bf518/include/mach/bf518.h +105 −0
  1297. arch/blackfin/mach-bf518/include/mach/defBF514.h +0 −135
  1298. arch/blackfin/mach-bf518/include/mach/defBF51x_base.h +18 −126
  1299. arch/blackfin/mach-bf518/include/mach/gpio.h +42 −41
  1300. arch/blackfin/mach-bf518/include/mach/portmux.h +4 −3
  1301. arch/blackfin/mach-bf527/Kconfig +66 −0
  1302. arch/blackfin/mach-bf527/include/mach/anomaly.h +18 −4
  1303. arch/blackfin/mach-bf527/include/mach/bf527.h +120 −0
  1304. arch/blackfin/mach-bf527/include/mach/defBF52x_base.h +18 −207
  1305. arch/blackfin/mach-bf527/include/mach/gpio.h +48 −48
  1306. arch/blackfin/mach-bf527/include/mach/portmux.h +2 −1
  1307. arch/blackfin/mach-bf533/include/mach/anomaly.h +8 −2
  1308. arch/blackfin/mach-bf533/include/mach/gpio.h +16 −16
  1309. arch/blackfin/mach-bf533/include/mach/portmux.h +2 −1
  1310. arch/blackfin/mach-bf537/include/mach/anomaly.h +9 −2
  1311. arch/blackfin/mach-bf537/include/mach/defBF534.h +18 −18
  1312. arch/blackfin/mach-bf537/include/mach/gpio.h +48 −48
  1313. arch/blackfin/mach-bf537/include/mach/portmux.h +4 −3
  1314. arch/blackfin/mach-bf538/include/mach/anomaly.h +12 −4
  1315. arch/blackfin/mach-bf538/include/mach/cdefBF538.h +0 −64
  1316. arch/blackfin/mach-bf538/include/mach/defBF539.h +7 −7
  1317. arch/blackfin/mach-bf538/include/mach/gpio.h +54 −54
  1318. arch/blackfin/mach-bf538/include/mach/portmux.h +1 −0
  1319. arch/blackfin/mach-bf548/include/mach/anomaly.h +12 −4
  1320. arch/blackfin/mach-bf548/include/mach/cdefBF54x_base.h +8 −8
  1321. arch/blackfin/mach-bf548/include/mach/defBF542.h +0 −130
  1322. arch/blackfin/mach-bf548/include/mach/defBF544.h +3 −3
  1323. arch/blackfin/mach-bf548/include/mach/defBF547.h +3 −133
  1324. arch/blackfin/mach-bf548/include/mach/defBF54x_base.h +7 −145
  1325. arch/blackfin/mach-bf548/include/mach/gpio.h +10 −0
  1326. arch/blackfin/mach-bf548/include/mach/portmux.h +2 −1
  1327. arch/blackfin/mach-bf561/include/mach/anomaly.h +9 −4
  1328. arch/blackfin/mach-bf561/include/mach/gpio.h +48 −48
  1329. arch/blackfin/mach-bf561/include/mach/portmux.h +2 −1
  1330. arch/blackfin/mach-common/arch_checks.c +9 −7
  1331. arch/blackfin/mach-common/cache.S +4 −11
  1332. arch/blackfin/mach-common/dpmc_modes.S +0 −24
  1333. arch/blackfin/mach-common/pm.c +9 −8
  1334. arch/cris/Kconfig +4 −4
  1335. arch/cris/Kconfig.debug +6 −0
  1336. arch/cris/arch-v10/drivers/Kconfig +1 −1
  1337. arch/cris/arch-v10/drivers/eeprom.c +0 −2
  1338. arch/cris/arch-v10/drivers/gpio.c +54 −28
  1339. arch/cris/arch-v10/drivers/i2c.c +17 −22
  1340. arch/cris/arch-v10/drivers/i2c.h +1 −2
  1341. arch/cris/arch-v10/drivers/sync_serial.c +21 −9
  1342. arch/cris/arch-v10/kernel/fasttimer.c +1 −5
  1343. arch/cris/arch-v10/kernel/head.S +1 −1
  1344. arch/cris/arch-v10/kernel/time.c +2 −52
  1345. arch/cris/arch-v32/drivers/cryptocop.c +20 −8
  1346. arch/cris/arch-v32/drivers/i2c.c +6 −6
  1347. arch/cris/arch-v32/drivers/mach-a3/gpio.c +19 −9
  1348. arch/cris/arch-v32/drivers/mach-fs/gpio.c +25 −17
  1349. arch/cris/arch-v32/drivers/sync_serial.c +21 −9
  1350. arch/cris/arch-v32/kernel/cacheflush.S +5 −0
  1351. arch/cris/arch-v32/kernel/entry.S +50 −30
  1352. arch/cris/arch-v32/kernel/head.S +41 −3
  1353. arch/cris/arch-v32/kernel/irq.c +22 −25
  1354. arch/cris/arch-v32/kernel/kgdb.c +8 −8
  1355. arch/cris/arch-v32/kernel/kgdb_asm.S +1 −1
  1356. arch/cris/arch-v32/kernel/pinmux.c +0 −229
  1357. arch/cris/arch-v32/kernel/setup.c +66 −8
  1358. arch/cris/arch-v32/kernel/signal.c +1 −1
  1359. arch/cris/arch-v32/kernel/time.c +34 −51
  1360. arch/cris/arch-v32/kernel/traps.c +2 −4
  1361. arch/cris/arch-v32/lib/checksum.S +3 −0
  1362. arch/cris/arch-v32/lib/checksumcopy.S +3 −0
  1363. arch/cris/arch-v32/lib/spinlock.S +7 −0
  1364. arch/cris/arch-v32/mach-a3/Kconfig +4 −0
  1365. arch/cris/arch-v32/mach-a3/dram_init.S +15 −1
  1366. arch/cris/arch-v32/mach-a3/hw_settings.S +2 −0
  1367. arch/cris/arch-v32/mm/init.c +18 −5
  1368. arch/cris/arch-v32/mm/intmem.c +5 −8
  1369. arch/cris/arch-v32/mm/mmu.S +4 −0
  1370. arch/cris/boot/Makefile +1 −1
  1371. arch/cris/boot/compressed/misc.c +25 −40
  1372. arch/cris/include/arch-v32/arch/cache.h +2 −0
  1373. arch/cris/include/arch-v32/arch/dma.h +1 −79
  1374. arch/cris/include/arch-v32/arch/io.h +12 −8
  1375. arch/cris/include/arch-v32/arch/memmap.h +1 −24
  1376. arch/cris/include/arch-v32/arch/pgtable.h +8 −0
  1377. arch/cris/include/arch-v32/arch/uaccess.h +3 −4
  1378. arch/cris/include/arch-v32/mach-a3/mach/dma.h +27 −0
  1379. arch/cris/include/arch-v32/mach-a3/mach/startup.inc +26 −2
  1380. arch/cris/include/arch-v32/mach-fs/mach/dma.h +79 −0
  1381. arch/cris/include/arch-v32/mach-fs/mach/memmap.h +24 −0
  1382. arch/cris/include/arch-v32/mach-fs/mach/startup.inc +5 −0
  1383. arch/cris/include/asm/dma-mapping.h +0 −8
  1384. arch/cris/include/asm/etraxgpio.h +78 −18
  1385. arch/cris/include/asm/ioctls.h +3 −2
  1386. arch/cris/include/asm/local64.h +1 −0
  1387. arch/cris/include/asm/pgtable.h +3 −0
  1388. arch/cris/include/asm/scatterlist.h +0 −2
  1389. arch/cris/include/asm/sync_serial.h +26 −1
  1390. arch/cris/include/asm/termbits.h +1 −0
  1391. arch/cris/kernel/profile.c +7 −8
  1392. arch/cris/kernel/time.c +5 −2
  1393. arch/cris/kernel/vmlinux.lds.S +13 −1
  1394. arch/cris/mm/fault.c +29 −16
  1395. arch/frv/Kconfig +0 −4
  1396. arch/frv/Makefile +2 −20
  1397. arch/frv/include/asm/dma-mapping.h +0 −8
  1398. arch/frv/include/asm/highmem.h +1 −1
  1399. arch/frv/include/asm/ioctls.h +2 −0
  1400. arch/frv/include/asm/local64.h +1 −0
  1401. arch/frv/include/asm/mem-layout.h +1 −1
  1402. arch/frv/include/asm/scatterlist.h +0 −2
  1403. arch/frv/include/asm/termbits.h +1 −0
  1404. arch/frv/kernel/local64.h +1 −0
  1405. arch/frv/kernel/process.c +2 −1
  1406. arch/h8300/Kconfig +0 −4
  1407. arch/h8300/include/asm/ioctls.h +2 −0
  1408. arch/h8300/include/asm/local64.h +1 −0
  1409. arch/h8300/include/asm/md.h +0 −13
  1410. arch/h8300/include/asm/scatterlist.h +0 −2
  1411. arch/h8300/include/asm/termbits.h +1 −0
  1412. arch/h8300/kernel/process.c +1 −1
  1413. arch/h8300/kernel/timer/itu.c +1 −1
  1414. arch/h8300/kernel/timer/timer16.c +1 −1
  1415. arch/h8300/kernel/timer/timer8.c +1 −1
  1416. arch/ia64/Kconfig +1 −6
  1417. arch/ia64/Makefile +3 −3
  1418. arch/ia64/configs/bigsur_defconfig +94 −1334
  1419. arch/ia64/configs/generic_defconfig +175 −1613
  1420. arch/ia64/configs/gensparse_defconfig +156 −1337
  1421. arch/ia64/configs/sim_defconfig +45 −711
  1422. arch/ia64/configs/tiger_defconfig +132 −1224
  1423. arch/ia64/configs/xen_domu_defconfig +139 −1539
  1424. arch/ia64/configs/zx1_defconfig +116 −1565
  1425. arch/ia64/include/asm/atomic.h +4 −4
  1426. arch/ia64/include/asm/dma-mapping.h +0 −4
  1427. arch/ia64/include/asm/ioctls.h +2 −2
  1428. arch/ia64/include/asm/kvm_host.h +1 −0
  1429. arch/ia64/include/asm/local64.h +1 −0
  1430. arch/ia64/include/asm/page.h +1 −1
  1431. arch/ia64/include/asm/rwsem.h +3 −3
  1432. arch/ia64/include/asm/scatterlist.h +0 −9
  1433. arch/ia64/include/asm/termbits.h +1 −0
  1434. arch/ia64/include/asm/unistd.h +5 −2
  1435. arch/ia64/kernel/entry.S +3 −0
  1436. arch/ia64/kernel/msi_ia64.c +1 −1
  1437. arch/ia64/kernel/perfmon.c +19 −18
  1438. arch/ia64/kernel/process.c +1 −1
  1439. arch/ia64/kernel/setup.c +0 −6
  1440. arch/ia64/kernel/smpboot.c +6 −13
  1441. arch/ia64/kernel/time.c +4 −3
  1442. arch/ia64/kernel/vmlinux.lds.S +189 −173
  1443. arch/ia64/kvm/kvm-ia64.c +16 −40
  1444. arch/ia64/sn/kernel/msi_sn.c +1 −1
  1445. arch/ia64/sn/kernel/setup.c +1 −1
  1446. arch/m32r/Kconfig +0 −3
  1447. arch/m32r/Makefile +2 −2
  1448. arch/m32r/include/asm/ioctls.h +2 −2
  1449. arch/m32r/include/asm/local64.h +1 −0
  1450. arch/m32r/include/asm/scatterlist.h +0 −2
  1451. arch/m32r/include/asm/termbits.h +1 −0
  1452. arch/m32r/kernel/process.c +2 −1
  1453. arch/m68k/Kconfig +0 −3
  1454. arch/m68k/Makefile +1 −1
  1455. arch/m68k/include/asm/cache.h +1 −1
  1456. arch/m68k/include/asm/dma-mapping.h +0 −10
  1457. arch/m68k/include/asm/ioctls.h +2 −0
  1458. arch/m68k/include/asm/local64.h +1 −0
  1459. arch/m68k/include/asm/md.h +0 −13
  1460. arch/m68k/include/asm/scatterlist.h +0 −3
  1461. arch/m68k/include/asm/termbits.h +1 −0
  1462. arch/m68k/kernel/process.c +1 −1
  1463. arch/m68k/mac/config.c +9 −0
  1464. arch/m68k/mac/misc.c +3 −3
  1465. arch/m68k/sun3/leds.c +2 −2
  1466. arch/m68knommu/Kconfig +0 −4
  1467. arch/m68knommu/kernel/process.c +1 −1
  1468. arch/microblaze/Kconfig +33 −18
  1469. arch/microblaze/Kconfig.debug +1 −0
  1470. arch/microblaze/Makefile +1 −1
  1471. arch/microblaze/boot/Makefile +6 −5
  1472. arch/microblaze/include/asm/cacheflush.h +13 −5
  1473. arch/microblaze/include/asm/dma-mapping.h +0 −12
  1474. arch/microblaze/include/asm/elf.h +1 −1
  1475. arch/microblaze/include/asm/exceptions.h +5 −16
  1476. arch/microblaze/include/asm/irq.h +0 −24
  1477. arch/microblaze/include/asm/kgdb.h +28 −0
  1478. arch/microblaze/include/asm/local64.h +1 −0
  1479. arch/microblaze/include/asm/of_device.h +0 −44
  1480. arch/microblaze/include/asm/of_platform.h +0 −54
  1481. arch/microblaze/include/asm/page.h +11 −10
  1482. arch/microblaze/include/asm/pci-bridge.h +0 −5
  1483. arch/microblaze/include/asm/prom.h +14 −101
  1484. arch/microblaze/include/asm/pvr.h +1 −1
  1485. arch/microblaze/include/asm/scatterlist.h +0 −2
  1486. arch/microblaze/include/asm/setup.h +0 −2
  1487. arch/microblaze/include/asm/system.h +0 −4
  1488. arch/microblaze/include/asm/topology.h +0 −10
  1489. arch/microblaze/include/asm/uaccess.h +2 −2
  1490. arch/microblaze/include/asm/unwind.h +29 −0
  1491. arch/microblaze/kernel/Makefile +4 −3
  1492. arch/microblaze/kernel/cpu/mb.c +1 −0
  1493. arch/microblaze/kernel/entry-nommu.S +28 −0
  1494. arch/microblaze/kernel/entry.S +242 −365
  1495. arch/microblaze/kernel/exceptions.c +7 −2
  1496. arch/microblaze/kernel/head.S +2 −2
  1497. arch/microblaze/kernel/hw_exception_handler.S +1 −3
  1498. arch/microblaze/kernel/irq.c +4 −12
  1499. arch/microblaze/kernel/kgdb.c +147 −0
  1500. arch/microblaze/kernel/misc.S +1 −1
  1501. arch/microblaze/kernel/of_device.c +0 −112
  1502. arch/microblaze/kernel/of_platform.c +0 −200
  1503. arch/microblaze/kernel/process.c +5 −2
  1504. arch/microblaze/kernel/prom_parse.c +1 −876
  1505. arch/microblaze/kernel/ptrace.c +16 −1
  1506. arch/microblaze/kernel/reset.c +6 −6
  1507. arch/microblaze/kernel/setup.c +0 −6
  1508. arch/microblaze/kernel/stacktrace.c +5 −39
  1509. arch/microblaze/kernel/sys_microblaze.c +1 −1
  1510. arch/microblaze/kernel/timer.c +21 −3
  1511. arch/microblaze/kernel/traps.c +40 −51
  1512. arch/microblaze/kernel/unwind.c +318 −0
  1513. arch/microblaze/kernel/vmlinux.lds.S +8 −8
  1514. arch/microblaze/mm/fault.c +0 −16
  1515. arch/microblaze/mm/init.c +1 −6
  1516. arch/mips/Kbuild +15 −0
  1517. arch/mips/Kbuild.platforms +32 −0
  1518. arch/mips/Kconfig +29 −5
  1519. arch/mips/Makefile +21 −507
  1520. arch/mips/alchemy/Kconfig +10 −18
  1521. arch/mips/alchemy/Platform +114 −0
  1522. arch/mips/alchemy/common/Makefile +0 −2
  1523. arch/mips/alchemy/common/clocks.c +0 −4
  1524. arch/mips/alchemy/common/platform.c +14 −3
  1525. arch/mips/alchemy/devboards/Makefile +0 −2
  1526. arch/mips/alchemy/devboards/db1200/platform.c +4 −4
  1527. arch/mips/alchemy/devboards/db1x00/board_setup.c +0 −1
  1528. arch/mips/alchemy/devboards/pb1000/board_setup.c +4 −2
  1529. arch/mips/alchemy/devboards/pb1200/Makefile +0 −2
  1530. arch/mips/alchemy/gpr/Makefile +8 −0
  1531. arch/mips/alchemy/gpr/board_setup.c +93 −0
  1532. arch/mips/alchemy/gpr/init.c +63 −0
  1533. arch/mips/alchemy/gpr/platform.c +183 −0
  1534. arch/mips/alchemy/mtx-1/Makefile +1 −4
  1535. arch/mips/alchemy/mtx-1/board_setup.c +8 −10
  1536. arch/mips/alchemy/xxs1500/Makefile +1 −3
  1537. arch/mips/alchemy/xxs1500/board_setup.c +4 −2
  1538. arch/mips/ar7/Makefile +0 −1
  1539. arch/mips/ar7/Platform +6 −0
  1540. arch/mips/ar7/platform.c +15 −27
  1541. arch/mips/bcm47xx/Platform +7 −0
  1542. arch/mips/bcm47xx/nvram.c +2 −2
  1543. arch/mips/bcm47xx/prom.c +14 −8
  1544. arch/mips/bcm63xx/Makefile +0 −2
  1545. arch/mips/bcm63xx/Platform +7 −0
  1546. arch/mips/boot/.gitignore +1 −0
  1547. arch/mips/boot/Makefile +23 −26
  1548. arch/mips/boot/compressed/Makefile +42 −39
  1549. arch/mips/boot/compressed/calc_vmlinuz_load_addr.c +57 −0
  1550. arch/mips/boot/compressed/decompress.c +14 −24
  1551. arch/mips/boot/compressed/ld.script +17 −34
  1552. arch/mips/cavium-octeon/Makefile +1 −2
  1553. arch/mips/cavium-octeon/Platform +11 −0
  1554. arch/mips/cavium-octeon/cpu.c +1 −5
  1555. arch/mips/cavium-octeon/csrc-octeon.c +55 −8
  1556. arch/mips/cavium-octeon/dma-octeon.c +10 −7
  1557. arch/mips/cavium-octeon/octeon-irq.c +323 −230
  1558. arch/mips/cavium-octeon/octeon_boot.h +9 −7
  1559. arch/mips/cavium-octeon/serial.c +0 −4
  1560. arch/mips/cavium-octeon/setup.c +40 −8
  1561. arch/mips/cavium-octeon/smp.c +85 −85
  1562. arch/mips/cobalt/Makefile +0 −2
  1563. arch/mips/cobalt/Platform +6 −0
  1564. arch/mips/configs/db1000_defconfig +1 −2
  1565. arch/mips/configs/db1100_defconfig +1 −2
  1566. arch/mips/configs/db1200_defconfig +1 −2
  1567. arch/mips/configs/db1500_defconfig +1 −2
  1568. arch/mips/configs/db1550_defconfig +1 −2
  1569. arch/mips/configs/gpr_defconfig +2060 −0
  1570. arch/mips/configs/mtx1_defconfig +1 −2
  1571. arch/mips/configs/pb1100_defconfig +1 −2
  1572. arch/mips/configs/pb1200_defconfig +1 −2
  1573. arch/mips/configs/pb1500_defconfig +1 −2
  1574. arch/mips/configs/pb1550_defconfig +1 −2
  1575. arch/mips/configs/powertv_defconfig +198 −77
  1576. arch/mips/dec/Makefile +0 −2
  1577. arch/mips/dec/Platform +8 −0
  1578. arch/mips/dec/promcon.c +1 −2
  1579. arch/mips/emma/Makefile +6 −0
  1580. arch/mips/emma/Platform +4 −0
  1581. arch/mips/emma/markeins/irq.c +4 −4
  1582. arch/mips/emma/markeins/setup.c +0 −1
  1583. arch/mips/include/asm/arch_hweight.h +38 −0
  1584. arch/mips/include/asm/bitops.h +4 −1
  1585. arch/mips/include/asm/bootinfo.h +6 −0
  1586. arch/mips/include/asm/break.h +2 −0
  1587. arch/mips/include/asm/cacheops.h +2 −0
  1588. arch/mips/include/asm/cop2.h +12 −0
  1589. arch/mips/include/asm/cpu-features.h +2 −1
  1590. arch/mips/include/asm/cpu.h +8 −1
  1591. arch/mips/include/asm/dma-mapping.h +0 −9
  1592. arch/mips/include/asm/elf.h +5 −0
  1593. arch/mips/include/asm/emma/emma2rh.h +9 −75
  1594. arch/mips/include/asm/emma/markeins.h +3 −34
  1595. arch/mips/include/asm/hazards.h +2 −2
  1596. arch/mips/include/asm/highmem.h +2 −2
  1597. arch/mips/include/asm/inst.h +14 −1
  1598. arch/mips/include/asm/ioctls.h +2 −3
  1599. arch/mips/include/asm/kdebug.h +3 −0
  1600. arch/mips/include/asm/kgdb.h +9 −10
  1601. arch/mips/include/asm/kprobes.h +92 −0
  1602. arch/mips/include/asm/local64.h +1 −0
  1603. arch/mips/include/asm/mach-au1x00/au1xxx_eth.h +1 −0
  1604. arch/mips/include/asm/mach-bcm47xx/nvram.h +3 −0
  1605. arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h +6 −9
  1606. arch/mips/include/asm/mach-cavium-octeon/irq.h +2 −64
  1607. arch/mips/include/asm/mach-generic/kmalloc.h +1 −1
  1608. arch/mips/include/asm/mach-ip27/kmalloc.h +1 −1
  1609. arch/mips/include/asm/mach-ip32/kmalloc.h +2 −2
  1610. arch/mips/include/asm/mach-jz4740/base.h +26 −0
  1611. arch/mips/include/asm/mach-jz4740/clock.h +28 −0
  1612. arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h +51 −0
  1613. arch/mips/include/asm/mach-jz4740/dma.h +90 −0
  1614. arch/mips/include/asm/mach-jz4740/gpio.h +398 −0
  1615. arch/mips/include/asm/mach-jz4740/irq.h +57 −0
  1616. arch/mips/include/asm/mach-jz4740/jz4740_fb.h +67 −0
  1617. arch/mips/include/asm/mach-jz4740/jz4740_mmc.h +15 −0
  1618. arch/mips/include/asm/mach-jz4740/jz4740_nand.h +34 −0
  1619. arch/mips/include/asm/mach-jz4740/platform.h +36 −0
  1620. arch/mips/include/asm/mach-jz4740/timer.h +22 −0
  1621. arch/mips/include/asm/mach-jz4740/war.h +25 −0
  1622. arch/mips/include/asm/mach-loongson/loongson.h +8 −1
  1623. arch/mips/include/asm/mach-pb1x00/pb1550.h +0 −8
  1624. arch/mips/include/asm/mach-powertv/asic.h +17 −4
  1625. arch/mips/include/asm/mach-powertv/asic_reg_map.h +1 −1
  1626. arch/mips/include/asm/mach-powertv/asic_regs.h +4 −1
  1627. arch/mips/include/asm/mach-powertv/dma-coherence.h +4 −4
  1628. arch/mips/include/asm/mach-powertv/ioremap.h +121 −44
  1629. arch/mips/include/asm/mach-tx49xx/kmalloc.h +1 −3
  1630. arch/mips/include/asm/mipsregs.h +1 −0
  1631. arch/mips/include/asm/octeon/octeon.h +3 −0
  1632. arch/mips/include/asm/octeon/pci-octeon.h +13 −0
  1633. arch/mips/include/asm/pci.h +5 −0
  1634. arch/mips/include/asm/pmc-sierra/msp71xx/msp_prom.h +0 −4
  1635. arch/mips/include/asm/processor.h +11 −2
  1636. arch/mips/include/asm/ptrace.h +1 −0
  1637. arch/mips/include/asm/scatterlist.h +0 −2
  1638. arch/mips/include/asm/sn/agent.h +0 −1
  1639. arch/mips/include/asm/statfs.h +8 −4
  1640. arch/mips/include/asm/termbits.h +1 −0
  1641. arch/mips/include/asm/uasm.h +38 −13
  1642. arch/mips/jazz/Makefile +0 −2
  1643. arch/mips/jazz/Platform +6 −0
  1644. arch/mips/jz4740/Kconfig +12 −0
  1645. arch/mips/jz4740/Makefile +20 −0
  1646. arch/mips/jz4740/Platform +3 −0
  1647. arch/mips/jz4740/board-qi_lb60.c +471 −0
  1648. arch/mips/jz4740/clock-debugfs.c +109 −0
  1649. arch/mips/jz4740/clock.c +924 −0
  1650. arch/mips/jz4740/clock.h +76 −0
  1651. arch/mips/jz4740/dma.c +289 −0
  1652. arch/mips/jz4740/gpio.c +604 −0
  1653. arch/mips/jz4740/irq.c +167 −0
  1654. arch/mips/jz4740/irq.h +21 −0
  1655. arch/mips/jz4740/platform.c +291 −0
  1656. arch/mips/jz4740/pm.c +56 −0
  1657. arch/mips/jz4740/prom.c +68 −0
  1658. arch/mips/jz4740/pwm.c +177 −0
  1659. arch/mips/jz4740/reset.c +79 −0
  1660. arch/mips/jz4740/reset.h +6 −0
  1661. arch/mips/jz4740/serial.c +33 −0
  1662. arch/mips/jz4740/serial.h +20 −0
  1663. arch/mips/jz4740/setup.c +29 −0
  1664. arch/mips/jz4740/time.c +144 −0
  1665. arch/mips/jz4740/timer.c +48 −0
  1666. arch/mips/jz4740/timer.h +136 −0
  1667. arch/mips/kernel/Makefile +1 −2
  1668. arch/mips/kernel/asm-offsets.c +0 −1
  1669. arch/mips/kernel/cevt-r4k.c +2 −3
  1670. arch/mips/kernel/cpu-bugs64.c +1 −1
  1671. arch/mips/kernel/cpu-probe.c +23 −0
  1672. arch/mips/kernel/kgdb.c +146 −65
  1673. arch/mips/kernel/kprobes.c +557 −0
  1674. arch/mips/kernel/mcount.S +3 −3
  1675. arch/mips/kernel/scall64-n32.S +4 −4
  1676. arch/mips/kernel/smp.c +4 −0
  1677. arch/mips/kernel/smtc.c +1 −2
  1678. arch/mips/kernel/syscall.c +49 −2
  1679. arch/mips/kernel/traps.c +35 −15
  1680. arch/mips/lasat/Makefile +0 −2
  1681. arch/mips/lasat/Platform +7 −0
  1682. arch/mips/loongson/Platform +32 −0
  1683. arch/mips/loongson/common/cs5536/Makefile +0 −2
  1684. arch/mips/loongson/common/irq.c +4 −10
  1685. arch/mips/loongson/fuloong-2e/Makefile +0 −2
  1686. arch/mips/loongson/fuloong-2e/irq.c +5 −8
  1687. arch/mips/loongson/lemote-2f/irq.c +5 −11
  1688. arch/mips/math-emu/Makefile +0 −1
  1689. arch/mips/math-emu/dp_modf.c +1 −1
  1690. arch/mips/math-emu/dp_tint.c +1 −2
  1691. arch/mips/math-emu/dp_tlong.c +1 −2
  1692. arch/mips/math-emu/sp_modf.c +1 −1
  1693. arch/mips/math-emu/sp_tint.c +1 −2
  1694. arch/mips/math-emu/sp_tlong.c +1 −2
  1695. arch/mips/mipssim/Makefile +0 −2
  1696. arch/mips/mipssim/Platform +6 −0
  1697. arch/mips/mm/Makefile +0 −2
  1698. arch/mips/mm/dma-default.c +0 −7
  1699. arch/mips/mm/fault.c +14 −2
  1700. arch/mips/mm/highmem.c +2 −2
  1701. arch/mips/mm/sc-rm7k.c +130 −33
  1702. arch/mips/mm/tlbex.c +5 −0
  1703. arch/mips/mm/uasm.c +109 −53
  1704. arch/mips/mti-malta/Makefile +0 −2
  1705. arch/mips/mti-malta/Platform +7 −0
  1706. arch/mips/nxp/pnx833x/stb22x/Makefile +0 −3
  1707. arch/mips/nxp/pnx8550/jbs/Makefile +0 −4
  1708. arch/mips/nxp/pnx8550/stb810/Makefile +0 −4
  1709. arch/mips/pci/msi-octeon.c +210 −67
  1710. arch/mips/pci/ops-titan-ht.c +2 −2
  1711. arch/mips/pci/pcie-octeon.c +31 −6
  1712. arch/mips/pmc-sierra/Platform +14 −0
  1713. arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c +0 −11
  1714. arch/mips/pmc-sierra/yosemite/ht-irq.c +6 −7
  1715. arch/mips/pmc-sierra/yosemite/irq.c +0 −4
  1716. arch/mips/pnx833x/Makefile +3 −0
  1717. arch/mips/pnx833x/Platform +5 −0
  1718. arch/mips/pnx833x/common/Makefile +0 −2
  1719. arch/mips/pnx833x/common/interrupts.c +0 −0
  1720. arch/mips/pnx833x/common/platform.c +0 −0
  1721. arch/mips/pnx833x/common/prom.c +0 −0
  1722. arch/mips/pnx833x/common/reset.c +0 −0
  1723. arch/mips/pnx833x/common/setup.c +0 −0
  1724. arch/mips/pnx833x/stb22x/Makefile +1 −0
  1725. arch/mips/pnx833x/stb22x/board.c +0 −0
  1726. arch/mips/pnx8550/Makefile +3 −0
  1727. arch/mips/pnx8550/Platform +7 −0
  1728. arch/mips/pnx8550/common/Makefile +0 −2
  1729. arch/mips/pnx8550/common/int.c +0 −0
  1730. arch/mips/pnx8550/common/pci.c +134 −0
  1731. arch/mips/pnx8550/common/platform.c +0 −0
  1732. arch/mips/pnx8550/common/proc.c +0 −0
  1733. arch/mips/pnx8550/common/prom.c +0 −0
  1734. arch/mips/pnx8550/common/reset.c +0 −0
  1735. arch/mips/pnx8550/common/setup.c +145 −0
  1736. arch/mips/pnx8550/common/time.c +0 −0
  1737. arch/mips/pnx8550/jbs/Makefile +4 −0
  1738. arch/mips/pnx8550/jbs/board_setup.c +0 −0
  1739. arch/mips/pnx8550/jbs/init.c +0 −0
  1740. arch/mips/pnx8550/jbs/irqmap.c +0 −0
  1741. arch/mips/pnx8550/stb810/Makefile +4 −0
  1742. arch/mips/pnx8550/stb810/board_setup.c +0 −0
  1743. arch/mips/pnx8550/stb810/irqmap.c +0 −0
  1744. arch/mips/pnx8550/stb810/prom_init.c +0 −0
  1745. arch/mips/powertv/Makefile +5 −2
  1746. arch/mips/powertv/Platform +7 −0
  1747. arch/mips/powertv/asic/Makefile +3 −3
  1748. arch/mips/powertv/asic/asic-calliope.c +1 −1
  1749. arch/mips/powertv/asic/asic-cronus.c +2 −2
  1750. arch/mips/powertv/asic/asic-gaia.c +96 −0
  1751. arch/mips/powertv/asic/asic-zeus.c +1 −1
  1752. arch/mips/powertv/asic/asic_devices.c +35 −241
  1753. arch/mips/powertv/asic/prealloc-gaia.c +589 −0
  1754. arch/mips/powertv/init.c +3 −1
  1755. arch/mips/powertv/ioremap.c +136 −0
  1756. arch/mips/powertv/memory.c +257 −84
  1757. arch/mips/powertv/powertv-usb.c +403 −0
  1758. arch/mips/powertv/powertv_setup.c +0 −6
  1759. arch/mips/rb532/Makefile +0 −2
  1760. arch/mips/rb532/Platform +7 −0
  1761. arch/mips/sgi-ip22/Makefile +0 −2
  1762. arch/mips/sgi-ip22/Platform +34 −0
  1763. arch/mips/sgi-ip27/Makefile +0 −2
  1764. arch/mips/sgi-ip27/Platform +19 −0
  1765. arch/mips/sgi-ip27/ip27-klconfig.c +4 −4
  1766. arch/mips/sgi-ip32/Makefile +0 −2
  1767. arch/mips/sgi-ip32/Platform +11 −0
  1768. arch/mips/sibyte/Makefile +27 −0
  1769. arch/mips/sibyte/Platform +43 −0
  1770. arch/mips/sibyte/bcm1480/Makefile +0 −2
  1771. arch/mips/sibyte/common/Makefile +0 −2
  1772. arch/mips/sibyte/sb1250/Makefile +0 −2
  1773. arch/mips/sni/Makefile +0 −2
  1774. arch/mips/sni/Platform +11 −0
  1775. arch/mips/txx9/Makefile +17 −0
  1776. arch/mips/txx9/Platform +10 −0
  1777. arch/mips/txx9/generic/Makefile +0 −2
  1778. arch/mips/txx9/jmr3927/Makefile +0 −2
  1779. arch/mips/txx9/rbtx4927/Makefile +0 −2
  1780. arch/mips/txx9/rbtx4938/Makefile +0 −2
  1781. arch/mips/txx9/rbtx4939/Makefile +0 −2
  1782. arch/mips/vr41xx/Platform +32 −0
  1783. arch/mips/vr41xx/common/Makefile +0 −2
  1784. arch/mips/wrppmc/Makefile +1 −3
  1785. arch/mips/wrppmc/Platform +7 −0
  1786. arch/mips/wrppmc/irq.c +0 −0
  1787. arch/mips/wrppmc/pci.c +0 −0
  1788. arch/mips/wrppmc/reset.c +0 −0
  1789. arch/mips/wrppmc/serial.c +0 −0
  1790. arch/mips/wrppmc/setup.c +0 −0
  1791. arch/mips/wrppmc/time.c +0 −0
  1792. arch/mn10300/Kconfig +0 −3
  1793. arch/mn10300/boot/compressed/misc.c +1 −0
  1794. arch/mn10300/include/asm/cache.h +1 −1
  1795. arch/mn10300/include/asm/dma-mapping.h +0 −8
  1796. arch/mn10300/include/asm/gdb-stub.h +4 −4
  1797. arch/mn10300/include/asm/highmem.h +1 −1
  1798. arch/mn10300/include/asm/ioctls.h +2 −2
  1799. arch/mn10300/include/asm/local64.h +1 −0
  1800. arch/mn10300/include/asm/posix_types.h +6 −1
  1801. arch/mn10300/include/asm/scatterlist.h +0 −2
  1802. arch/mn10300/include/asm/termbits.h +1 −0
  1803. arch/mn10300/kernel/mn10300-serial.c +0 −5
  1804. arch/mn10300/kernel/process.c +1 −1
  1805. arch/mn10300/kernel/rtc.c +1 −4
  1806. arch/parisc/Kconfig +0 −4
  1807. arch/parisc/hpux/fs.c +4 −3
  1808. arch/parisc/hpux/sys_hpux.c +5 −5
  1809. arch/parisc/include/asm/cache.h +2 −0
  1810. arch/parisc/include/asm/cacheflush.h +1 −1
  1811. arch/parisc/include/asm/dma-mapping.h +0 −12
  1812. arch/parisc/include/asm/ioctls.h +2 −2
  1813. arch/parisc/include/asm/local64.h +1 −0
  1814. arch/parisc/include/asm/scatterlist.h +0 −1
  1815. arch/parisc/include/asm/termbits.h +1 −0
  1816. arch/parisc/kernel/firmware.c +2 −10
  1817. arch/parisc/kernel/ftrace.c +2 −2
  1818. arch/parisc/mm/ioremap.c +1 −1
  1819. arch/powerpc/Kconfig +10 −26
  1820. arch/powerpc/Makefile +13 −5
  1821. arch/powerpc/boot/dts/canyonlands.dts +2 −2
  1822. arch/powerpc/boot/dts/glacier.dts +2 −2
  1823. arch/powerpc/boot/dts/mpc8308rdb.dts +303 −0
  1824. arch/powerpc/boot/dts/mpc8540ads.dts +2 −2
  1825. arch/powerpc/boot/dts/mpc8541cds.dts +2 −2
  1826. arch/powerpc/boot/dts/mpc8544ds.dts +2 −2
  1827. arch/powerpc/boot/dts/mpc8548cds.dts +2 −2
  1828. arch/powerpc/boot/dts/mpc8555cds.dts +2 −2
  1829. arch/powerpc/boot/dts/mpc8560ads.dts +2 −2
  1830. arch/powerpc/boot/dts/mpc8568mds.dts +2 −2
  1831. arch/powerpc/boot/dts/p1021mds.dts +1 −0
  1832. arch/powerpc/boot/dts/p1022ds.dts +633 −0
  1833. arch/powerpc/boot/dts/p4080ds.dts +2 −0
  1834. arch/powerpc/boot/dts/pdm360ng.dts +410 −0
  1835. arch/powerpc/boot/dts/stxssa8555.dts +380 −0
  1836. arch/powerpc/boot/dts/tqm8540.dts +8 −1
  1837. arch/powerpc/boot/dts/tqm8541.dts +8 −1
  1838. arch/powerpc/boot/dts/tqm8548-bigflash.dts +8 −1
  1839. arch/powerpc/boot/dts/tqm8548.dts +8 −1
  1840. arch/powerpc/boot/dts/tqm8555.dts +8 −1
  1841. arch/powerpc/boot/dts/tqm8560.dts +8 −1
  1842. arch/powerpc/boot/dts/tqm8xx.dts +172 −0
  1843. arch/powerpc/configs/40x/acadia_defconfig +1 −1002
  1844. arch/powerpc/configs/40x/ep405_defconfig +1 −1211
  1845. arch/powerpc/configs/40x/hcu4_defconfig +1 −1064
  1846. arch/powerpc/configs/40x/kilauea_defconfig +1 −1197
  1847. arch/powerpc/configs/40x/makalu_defconfig +1 −1005
  1848. arch/powerpc/configs/40x/virtex_defconfig +1 −1106
  1849. arch/powerpc/configs/40x/walnut_defconfig +1 −1089
  1850. arch/powerpc/configs/44x/arches_defconfig +1 −1059
  1851. arch/powerpc/configs/44x/bamboo_defconfig +1 −1020
  1852. arch/powerpc/configs/44x/canyonlands_defconfig +1 −1263
  1853. arch/powerpc/configs/44x/ebony_defconfig +1 −1103
  1854. arch/powerpc/configs/44x/eiger_defconfig +1 −1175
  1855. arch/powerpc/configs/44x/icon_defconfig +1 −1333
  1856. arch/powerpc/configs/44x/iss476-smp_defconfig +1 −937
  1857. arch/powerpc/configs/44x/katmai_defconfig +1 −1088
  1858. arch/powerpc/configs/44x/rainier_defconfig +1 −1090
  1859. arch/powerpc/configs/44x/redwood_defconfig +1 −1166
  1860. arch/powerpc/configs/44x/sam440ep_defconfig +1 −1319
  1861. arch/powerpc/configs/44x/sequoia_defconfig +1 −1111
  1862. arch/powerpc/configs/44x/taishan_defconfig +1 −1097
  1863. arch/powerpc/configs/44x/virtex5_defconfig +1 −1112
  1864. arch/powerpc/configs/44x/warp_defconfig +1 −1388
  1865. arch/powerpc/configs/52xx/cm5200_defconfig +1 −1231
  1866. arch/powerpc/configs/52xx/lite5200b_defconfig +1 −1256
  1867. arch/powerpc/configs/52xx/motionpro_defconfig +1 −1264
  1868. arch/powerpc/configs/52xx/pcm030_defconfig +1 −1219
  1869. arch/powerpc/configs/52xx/tqm5200_defconfig +1 −1366
  1870. arch/powerpc/configs/83xx/asp8347_defconfig +1 −1432
  1871. arch/powerpc/configs/83xx/kmeter1_defconfig +1 −928
  1872. arch/powerpc/configs/83xx/mpc8313_rdb_defconfig +1 −1728
  1873. arch/powerpc/configs/83xx/mpc8315_rdb_defconfig +1 −1797
  1874. arch/powerpc/configs/83xx/mpc832x_mds_defconfig +1 −1328
  1875. arch/powerpc/configs/83xx/mpc832x_rdb_defconfig +1 −1475
  1876. arch/powerpc/configs/83xx/mpc834x_itx_defconfig +1 −1567
  1877. arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig +1 −1453
  1878. arch/powerpc/configs/83xx/mpc834x_mds_defconfig +1 −1262
  1879. arch/powerpc/configs/83xx/mpc836x_mds_defconfig +1 −1403
  1880. arch/powerpc/configs/83xx/mpc836x_rdk_defconfig +1 −1304
  1881. arch/powerpc/configs/83xx/mpc837x_mds_defconfig +1 −1333
  1882. arch/powerpc/configs/83xx/mpc837x_rdb_defconfig +1 −1471
  1883. arch/powerpc/configs/83xx/sbc834x_defconfig +1 −1397
  1884. arch/powerpc/configs/85xx/ksi8560_defconfig +0 −1117
  1885. arch/powerpc/configs/85xx/mpc8540_ads_defconfig +1 −991
  1886. arch/powerpc/configs/85xx/mpc8560_ads_defconfig +0 −1137
  1887. arch/powerpc/configs/85xx/mpc85xx_cds_defconfig +1 −1154
  1888. arch/powerpc/configs/85xx/sbc8548_defconfig +1 −1002
  1889. arch/powerpc/configs/85xx/sbc8560_defconfig +1 −1028
  1890. arch/powerpc/configs/85xx/socrates_defconfig +0 −1643
  1891. arch/powerpc/configs/85xx/stx_gp3_defconfig +1 −1527
  1892. arch/powerpc/configs/85xx/tqm8540_defconfig +0 −1317
  1893. arch/powerpc/configs/85xx/tqm8541_defconfig +0 −1363
  1894. arch/powerpc/configs/85xx/tqm8548_defconfig +2 −1353
  1895. arch/powerpc/configs/85xx/tqm8555_defconfig +0 −1363
  1896. arch/powerpc/configs/85xx/tqm8560_defconfig +0 −1363
  1897. arch/powerpc/configs/85xx/xes_mpc85xx_defconfig +1 −1783
  1898. arch/powerpc/configs/86xx/gef_ppc9a_defconfig +0 −1733
  1899. arch/powerpc/configs/86xx/gef_sbc310_defconfig +0 −1622
  1900. arch/powerpc/configs/86xx/gef_sbc610_defconfig +0 −1815
  1901. arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig +1 −1631
  1902. arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig +1 −1638
  1903. arch/powerpc/configs/86xx/sbc8641d_defconfig +0 −1428
  1904. arch/powerpc/configs/adder875_defconfig +0 −912
  1905. arch/powerpc/configs/amigaone_defconfig +1 −1491
  1906. arch/powerpc/configs/c2k_defconfig +0 −1622
  1907. arch/powerpc/configs/cell_defconfig +9 −1308
  1908. arch/powerpc/configs/celleb_defconfig +13 −1184
  1909. arch/powerpc/configs/chrp32_defconfig +1 −1470
  1910. arch/powerpc/configs/ep8248e_defconfig +1 −1119
  1911. arch/powerpc/configs/ep88xc_defconfig +1 −858
  1912. arch/powerpc/configs/g5_defconfig +1 −1550
  1913. arch/powerpc/configs/gamecube_defconfig +1 −947
  1914. arch/powerpc/configs/holly_defconfig +1 −880
  1915. arch/powerpc/configs/iseries_defconfig +1 −1057
  1916. arch/powerpc/configs/linkstation_defconfig +1 −1781
  1917. arch/powerpc/configs/maple_defconfig +1 −1372
  1918. arch/powerpc/configs/mgcoge_defconfig +1 −1159
  1919. arch/powerpc/configs/mgsuvd_defconfig +0 −936
  1920. arch/powerpc/configs/mpc512x_defconfig +1 −1558
  1921. arch/powerpc/configs/mpc5200_defconfig +1 −1848
  1922. arch/powerpc/configs/mpc7448_hpc2_defconfig +1 −1194
  1923. arch/powerpc/configs/mpc8272_ads_defconfig +1 −1184
  1924. arch/powerpc/configs/mpc83xx_defconfig +1 −1662
  1925. arch/powerpc/configs/mpc85xx_defconfig +7 −1704
  1926. arch/powerpc/configs/mpc85xx_smp_defconfig +7 −1708
  1927. arch/powerpc/configs/mpc866_ads_defconfig +0 −949
  1928. arch/powerpc/configs/mpc86xx_defconfig +1 −1678
  1929. arch/powerpc/configs/mpc885_ads_defconfig +1 −863
  1930. arch/powerpc/configs/pasemi_defconfig +2 −1929
  1931. arch/powerpc/configs/pmac32_defconfig +3 −1883
  1932. arch/powerpc/configs/ppc40x_defconfig +1 −1331
  1933. arch/powerpc/configs/ppc44x_defconfig +1 −1470
  1934. arch/powerpc/configs/ppc64_defconfig +2 −1724
  1935. arch/powerpc/configs/ppc64e_defconfig +1 −1802
  1936. arch/powerpc/configs/ppc6xx_defconfig +27 −2162
  1937. arch/powerpc/configs/pq2fads_defconfig +1 −1303
  1938. arch/powerpc/configs/prpmc2800_defconfig +1 −1674
  1939. arch/powerpc/configs/ps3_defconfig +1 −1333
Documentation/00-INDEX+2−2
@@ -130,8 +130,6 @@ edac.txt · 129 unmodified lines
130130 - information on EDAC - Error Detection And Correction
131131 eisa.txt
132132 - info on EISA bus support.
133−exception.txt
134− - how Linux v2.2 handles exceptions without verify_area etc.
135133 fault-injection/
136134 - dir with docs about the fault injection capabilities infrastructure.
137135 fb/
@@ -234,6 +232,8 @@ memory.txt · 96 unmodified lines
234232 - info on typical Linux memory problems.
235233 mips/
236234 - directory with info about Linux on MIPS architecture.
235+mmc/
236+ - directory with info about the MMC subsystem
237237 mono.txt
238238 - how to execute Mono-based .NET binaries with the help of BINFMT_MISC.
239239 mutex-design.txt
Documentation/ABI/testing/debugfs-ec+20−0
@@ -0,0 +1,20 @@
1+What: /sys/kernel/debug/ec/*/{gpe,use_global_lock,io}
2+Date: July 2010
3+Contact: Thomas Renninger <trenn@suse.de>
4+Description:
5+
6+General information like which GPE is assigned to the EC and whether
7+the global lock should get used.
8+Knowing the EC GPE one can watch the amount of HW events related to
9+the EC here (XY -> GPE number from /sys/kernel/debug/ec/*/gpe):
10+/sys/firmware/acpi/interrupts/gpeXY
11+
12+The io file is binary and a userspace tool located here:
13+ftp://ftp.suse.com/pub/people/trenn/sources/ec/
14+should get used to read out the 256 Embedded Controller registers
15+or writing to them.
16+
17+CAUTION: Do not write to the Embedded Controller if you don't know
18+what you are doing! Rebooting afterwards also is a good idea.
19+This can influence the way your machine is cooled and fans may
20+not get switched on again after you did a wrong write.
Documentation/ABI/testing/debugfs-kmemtrace+0−71
@@ -1,71 +0,0 @@
1−What: /sys/kernel/debug/kmemtrace/
2−Date: July 2008
3−Contact: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
4−Description:
5−
6−In kmemtrace-enabled kernels, the following files are created:
7−
8−/sys/kernel/debug/kmemtrace/
9− cpu<n> (0400) Per-CPU tracing data, see below. (binary)
10− total_overruns (0400) Total number of bytes which were dropped from
11− cpu<n> files because of full buffer condition,
12− non-binary. (text)
13− abi_version (0400) Kernel's kmemtrace ABI version. (text)
14−
15−Each per-CPU file should be read according to the relay interface. That is,
16−the reader should set affinity to that specific CPU and, as currently done by
17−the userspace application (though there are other methods), use poll() with
18−an infinite timeout before every read(). Otherwise, erroneous data may be
19−read. The binary data has the following _core_ format:
20−
21− Event ID (1 byte) Unsigned integer, one of:
22− 0 - represents an allocation (KMEMTRACE_EVENT_ALLOC)
23− 1 - represents a freeing of previously allocated memory
24− (KMEMTRACE_EVENT_FREE)
25− Type ID (1 byte) Unsigned integer, one of:
26− 0 - this is a kmalloc() / kfree()
27− 1 - this is a kmem_cache_alloc() / kmem_cache_free()
28− 2 - this is a __get_free_pages() et al.
29− Event size (2 bytes) Unsigned integer representing the
30− size of this event. Used to extend
31− kmemtrace. Discard the bytes you
32− don't know about.
33− Sequence number (4 bytes) Signed integer used to reorder data
34− logged on SMP machines. Wraparound
35− must be taken into account, although
36− it is unlikely.
37− Caller address (8 bytes) Return address to the caller.
38− Pointer to mem (8 bytes) Pointer to target memory area. Can be
39− NULL, but not all such calls might be
40− recorded.
41−
42−In case of KMEMTRACE_EVENT_ALLOC events, the next fields follow:
43−
44− Requested bytes (8 bytes) Total number of requested bytes,
45− unsigned, must not be zero.
46− Allocated bytes (8 bytes) Total number of actually allocated
47− bytes, unsigned, must not be lower
48− than requested bytes.
49− Requested flags (4 bytes) GFP flags supplied by the caller.
50− Target CPU (4 bytes) Signed integer, valid for event id 1.
51− If equal to -1, target CPU is the same
52− as origin CPU, but the reverse might
53− not be true.
54−
55−The data is made available in the same endianness the machine has.
56−
57−Other event ids and type ids may be defined and added. Other fields may be
58−added by increasing event size, but see below for details.
59−Every modification to the ABI, including new id definitions, are followed
60−by bumping the ABI version by one.
61−
62−Adding new data to the packet (features) is done at the end of the mandatory
63−data:
64− Feature size (2 byte)
65− Feature ID (1 byte)
66− Feature data (Feature size - 3 bytes)
67−
68−
69−Users:
70− kmemtrace-user - git://repo.or.cz/kmemtrace-user.git
71−
Documentation/ABI/testing/sysfs-bus-i2c-devices-hm6352+21−0
@@ -0,0 +1,21 @@
1+Where: /sys/bus/i2c/devices/.../heading0_input
2+Date: April 2010
3+Kernel Version: 2.6.36?
4+Contact: alan.cox@intel.com
5+Description: Reports the current heading from the compass as a floating
6+ point value in degrees.
7+
8+Where: /sys/bus/i2c/devices/.../power_state
9+Date: April 2010
10+Kernel Version: 2.6.36?
11+Contact: alan.cox@intel.com
12+Description: Sets the power state of the device. 0 sets the device into
13+ sleep mode, 1 wakes it up.
14+
15+Where: /sys/bus/i2c/devices/.../calibration
16+Date: April 2010
17+Kernel Version: 2.6.36?
18+Contact: alan.cox@intel.com
19+Description: Sets the calibration on or off (1 = on, 0 = off). See the
20+ chip data sheet.
21+
Documentation/ABI/testing/sysfs-bus-pci+27−0
@@ -139,3 +139,30 @@ Contact: linux-pci@vger.kernel.org · 138 unmodified lines
139139 Description:
140140 This symbolic link points to the PCI hotplug controller driver
141141 module that manages the hotplug slot.
142+
143+What: /sys/bus/pci/devices/.../label
144+Date: July 2010
145+Contact: Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
146+Description:
147+ Reading this attribute will provide the firmware
148+ given name(SMBIOS type 41 string) of the PCI device.
149+ The attribute will be created only if the firmware
150+ has given a name to the PCI device.
151+Users:
152+ Userspace applications interested in knowing the
153+ firmware assigned name of the PCI device.
154+
155+What: /sys/bus/pci/devices/.../index
156+Date: July 2010
157+Contact: Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
158+Description:
159+ Reading this attribute will provide the firmware
160+ given instance(SMBIOS type 41 device type instance)
161+ of the PCI device. The attribute will be created
162+ only if the firmware has given a device type instance
163+ to the PCI device.
164+Users:
165+ Userspace applications interested in knowing the
166+ firmware assigned device type instance of the PCI
167+ device that can help in understanding the firmware
168+ intended order of the PCI device.
Documentation/ABI/testing/sysfs-devices-memory+3−3
@@ -7,7 +7,7 @@ Description: · 6 unmodified lines
77 added or removed dynamically to represent hot-add/remove
88 operations.
99 Users: hotplug memory add/remove tools
10− https://w3.opensource.ibm.com/projects/powerpc-utils/
10+ http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils
1111
1212 What: /sys/devices/system/memory/memoryX/removable
1313 Date: June 2008
@@ -19,7 +19,7 @@ Description: · 5 unmodified lines
1919 identify removable sections of the memory before attempting
2020 potentially expensive hot-remove memory operation
2121 Users: hotplug memory remove tools
22− https://w3.opensource.ibm.com/projects/powerpc-utils/
22+ http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils
2323
2424 What: /sys/devices/system/memory/memoryX/phys_device
2525 Date: September 2008
@@ -58,7 +58,7 @@ Description: · 32 unmodified lines
5858 by root to offline that section.
5959 # echo offline > /sys/devices/system/memory/memory22/state
6060 Users: hotplug memory remove tools
61− https://w3.opensource.ibm.com/projects/powerpc-utils/
61+ http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils
6262
6363
6464 What: /sys/devices/system/memoryX/nodeY
Documentation/ABI/testing/sysfs-devices-platform-_UDC_-gadget+12−0
@@ -7,3 +7,15 @@ Description: · 6 unmodified lines
77 0 -> resumed
88
99 (_UDC_ is the name of the USB Device Controller driver)
10+
11+What: /sys/devices/platform/_UDC_/gadget/gadget-lunX/nofua
12+Date: July 2010
13+Contact: Andy Shevchenko <andy.shevchenko@gmail.com>
14+Description:
15+ Show or set the reaction on the FUA (Force Unit Access) bit in
16+ the SCSI WRITE(10,12) commands when a gadget in USB Mass
17+ Storage mode.
18+
19+ Possible values are:
20+ 1 -> ignore the FUA flag
21+ 0 -> obey the FUA flag
Documentation/ABI/testing/sysfs-devices-system-cpu+1−1
@@ -197,7 +197,7 @@ Description: These files exist in every cpu's cache index directories. · 196 unmodified lines
197197 Currently, only AMD Family 10h Processors support cache index
198198 disable, and only for their L3 caches. See the BIOS and
199199 Kernel Developer's Guide at
200− http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/31116-Public-GH-BKDG_3.20_2-4-09.pdf
200+ http://support.amd.com/us/Embedded_TechDocs/31116-Public-GH-BKDG_3-28_5-28-09.pdf
201201 for formatting information and other details on the
202202 cache index disable.
203203 Users: joachim.deguara@amd.com
Documentation/ABI/testing/sysfs-driver-hid-roccat-kone+0−13
@@ -33,19 +33,6 @@ Description: When read, this file returns the raw integer version number of the · 32 unmodified lines
3333 left. E.g. a returned value of 138 means 1.38
3434 This file is readonly.
3535
36−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/kone_driver_version
37−Date: March 2010
38−Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
39−Description: When read, this file returns the driver version.
40− The format of the string is "v<major>.<minor>.<patchlevel>".
41− This attribute is used by the userland tools to find the sysfs-
42− paths of installed kone-mice and determine the capabilites of
43− the driver. Versions of this driver for old kernels replace
44− usbhid instead of generic-usb. The way to scan for this file
45− has been chosen to provide a consistent way for all supported
46− kernel versions.
47− This file is readonly.
48−
4936 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/profile[1-5]
5037 Date: March 2010
5138 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
Documentation/ABI/testing/sysfs-i2c-bmp085+31−0
@@ -0,0 +1,31 @@
1+What: /sys/bus/i2c/devices/<busnum>-<devaddr>/pressure0_input
2+Date: June 2010
3+Contact: Christoph Mair <christoph.mair@gmail.com>
4+Description: Start a pressure measurement and read the result. Values
5+ represent the ambient air pressure in pascal (0.01 millibar).
6+
7+ Reading: returns the current air pressure.
8+
9+
10+What: /sys/bus/i2c/devices/<busnum>-<devaddr>/temp0_input
11+Date: June 2010
12+Contact: Christoph Mair <christoph.mair@gmail.com>
13+Description: Measure the ambient temperature. The returned value represents
14+ the ambient temperature in units of 0.1 degree celsius.
15+
16+ Reading: returns the current temperature.
17+
18+
19+What: /sys/bus/i2c/devices/<busnum>-<devaddr>/oversampling
20+Date: June 2010
21+Contact: Christoph Mair <christoph.mair@gmail.com>
22+Description: Tell the bmp085 to use more samples to calculate a pressure
23+ value. When writing to this file the chip will use 2^x samples
24+ to calculate the next pressure value with x being the value
25+ written. Using this feature will decrease RMS noise and
26+ increase the measurement time.
27+
28+ Reading: returns the current oversampling setting.
29+
30+ Writing: sets a new oversampling setting.
31+ Accepted values: 0..3.
Documentation/ABI/testing/sysfs-power+15−0
@@ -114,3 +114,18 @@ Description: · 113 unmodified lines
114114 if this file contains "1", which is the default. It may be
115115 disabled by writing "0" to this file, in which case all devices
116116 will be suspended and resumed synchronously.
117+
118+What: /sys/power/wakeup_count
119+Date: July 2010
120+Contact: Rafael J. Wysocki <rjw@sisk.pl>
121+Description:
122+ The /sys/power/wakeup_count file allows user space to put the
123+ system into a sleep state while taking into account the
124+ concurrent arrival of wakeup events. Reading from it returns
125+ the current number of registered wakeup events and it blocks if
126+ some wakeup events are being processed at the time the file is
127+ read from. Writing to it will only succeed if the current
128+ number of wakeup events is equal to the written value and, if
129+ successful, will make the kernel abort a subsequent transition
130+ to a sleep state if any wakeup events are reported after the
131+ write has returned.
Documentation/Changes+6−6
@@ -331,7 +331,7 @@ o <ftp://ftp.kernel.org/pub/linux/kernel/people/rusty/modules/> · 330 unmodified lines
331331
332332 Mkinitrd
333333 --------
334−o <ftp://rawhide.redhat.com/pub/rawhide/SRPMS/SRPMS/>
334+o <https://code.launchpad.net/initrd-tools/main>
335335
336336 E2fsprogs
337337 ---------
@@ -343,11 +343,11 @@ o <http://jfs.sourceforge.net/> · 5 unmodified lines
343343
344344 Reiserfsprogs
345345 -------------
346−o <http://www.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.3.tar.gz>
346+o <http://www.kernel.org/pub/linux/utils/fs/reiserfs/>
347347
348348 Xfsprogs
349349 --------
350−o <ftp://oss.sgi.com/projects/xfs/download/>
350+o <ftp://oss.sgi.com/projects/xfs/>
351351
352352 Pcmciautils
353353 -----------
@@ -387,18 +387,18 @@ o <http://sourceforge.net/projects/fuse> · 33 unmodified lines
387387
388388 mcelog
389389 ------
390−o <ftp://ftp.kernel.org/pub/linux/utils/cpu/mce/mcelog/>
390+o <ftp://ftp.kernel.org/pub/linux/utils/cpu/mce/>
391391
392392 Networking
393393 **********
394394
395395 PPP
396396 ---
397−o <ftp://ftp.samba.org/pub/ppp/ppp-2.4.0.tar.gz>
397+o <ftp://ftp.samba.org/pub/ppp/>
398398
399399 Isdn4k-utils
400400 ------------
401−o <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/isdn4k-utils.v3.1pre1.tar.gz>
401+o <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/>
402402
403403 NFS-utils
404404 ---------
Documentation/DMA-API-HOWTO.txt+10−0
@@ -753,6 +753,16 @@ to "Closing". · 752 unmodified lines
753753 alignment constraints (e.g. the alignment constraints about 64-bit
754754 objects).
755755
756+3) Supporting multiple types of IOMMUs
757+
758+ If your architecture needs to support multiple types of IOMMUs, you
759+ can use include/linux/asm-generic/dma-mapping-common.h. It's a
760+ library to support the DMA API with multiple types of IOMMUs. Lots
761+ of architectures (x86, powerpc, sh, alpha, ia64, microblaze and
762+ sparc) use it. Choose one to see how it can be used. If you need to
763+ support multiple types of IOMMUs in a single system, the example of
764+ x86 or powerpc helps.
765+
756766 Closing
757767
758768 This document, and the API itself, would not be in its current
Documentation/DMA-API.txt+0−6
@@ -455,12 +455,6 @@ Free memory allocated by the nonconsistent API. All parameters must · 454 unmodified lines
455455 be identical to those passed in (and returned by
456456 dma_alloc_noncoherent()).
457457
458−int
459−dma_is_consistent(struct device *dev, dma_addr_t dma_handle)
460−
461−Returns true if the device dev is performing consistent DMA on the memory
462−area pointed to by the dma_handle.
463−
464458 int
465459 dma_get_cache_alignment(void)
466460
Documentation/DocBook/Makefile+3−3
@@ -35,7 +35,7 @@ PS_METHOD = $(prefer-db2x) · 34 unmodified lines
3535 PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs cleandocs xmldoclinks
3636
3737 BOOKS := $(addprefix $(obj)/,$(DOCBOOKS))
38−xmldocs: $(BOOKS) xmldoclinks
38+xmldocs: $(BOOKS)
3939 sgmldocs: xmldocs
4040
4141 PS := $(patsubst %.xml, %.ps, $(BOOKS))
@@ -45,7 +45,7 @@ PDF := $(patsubst %.xml, %.pdf, $(BOOKS)) · 3 unmodified lines
4545 pdfdocs: $(PDF)
4646
4747 HTML := $(sort $(patsubst %.xml, %.html, $(BOOKS)))
48−htmldocs: $(HTML)
48+htmldocs: $(HTML) xmldoclinks
4949 $(call build_main_index)
5050 $(call build_images)
5151
@@ -95,7 +95,7 @@ define rule_docproc · 43 unmodified lines
9595 ) > $(dir $@).$(notdir $@).cmd
9696 endef
9797
98−%.xml: %.tmpl FORCE
98+%.xml: %.tmpl xmldoclinks FORCE
9999 $(call if_changed_rule,docproc)
100100
101101 ###
Documentation/DocBook/device-drivers.tmpl+1−0
@@ -111,6 +111,7 @@ X!Edrivers/base/attribute_container.c · 110 unmodified lines
111111 <!--
112112 X!Edrivers/base/interface.c
113113 -->
114+!Iinclude/linux/platform_device.h
114115 !Edrivers/base/platform.c
115116 !Edrivers/base/bus.c
116117 </sect1>
Documentation/DocBook/dvb/dvbapi.xml+16−3
@@ -12,10 +12,12 @@ · 11 unmodified lines
1212 <othername role="mi">O. C.</othername>
1313 <affiliation><address><email>rjkm@metzlerbros.de</email></address></affiliation>
1414 </author>
15+</authorgroup>
16+<authorgroup>
1517 <author>
1618 <firstname>Mauro</firstname>
17−<surname>Chehab</surname>
1819 <othername role="mi">Carvalho</othername>
20+<surname>Chehab</surname>
1921 <affiliation><address><email>mchehab@redhat.com</email></address></affiliation>
2022 <contrib>Ported document to Docbook XML.</contrib>
2123 </author>
@@ -23,12 +25,23 @@ · 1 unmodified line
2325 <copyright>
2426 <year>2002</year>
2527 <year>2003</year>
26− <year>2009</year>
2728 <holder>Convergence GmbH</holder>
2829 </copyright>
30+<copyright>
31+ <year>2009-2010</year>
32+ <holder>Mauro Carvalho Chehab</holder>
33+</copyright>
2934
3035 <revhistory>
3136 <!-- Put document revisions here, newest first. -->
37+<revision>
38+ <revnumber>2.0.3</revnumber>
39+ <date>2010-07-03</date>
40+ <authorinitials>mcc</authorinitials>
41+ <revremark>
42+ Add some frontend capabilities flags, present on kernel, but missing at the specs.
43+ </revremark>
44+</revision>
3245 <revision>
3346 <revnumber>2.0.2</revnumber>
3447 <date>2009-10-25</date>
@@ -63,7 +76,7 @@ Added ISDB-T test originally written by Patrick Boettcher · 28 unmodified lines
6376
6477
6578 <title>LINUX DVB API</title>
66−<subtitle>Version 3</subtitle>
79+<subtitle>Version 5.2</subtitle>
6780 <!-- ADD THE CHAPTERS HERE -->
6881 <chapter id="dvb_introdution">
6982 &sub-intro;
Documentation/DocBook/dvb/frontend.h.xml+1−0
@@ -63,6 +63,7 @@ typedef enum fe_caps { · 62 unmodified lines
6363 FE_CAN_8VSB = 0x200000,
6464 FE_CAN_16VSB = 0x400000,
6565 FE_HAS_EXTENDED_CAPS = 0x800000, /* We need more bitspace for newer APIs, indicate this. */
66+ FE_CAN_TURBO_FEC = 0x8000000, /* frontend supports "turbo fec modulation" */
6667 FE_CAN_2G_MODULATION = 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */
6768 FE_NEEDS_BENDING = 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */
6869 FE_CAN_RECOVER = 0x40000000, /* frontend can recover from a cable unplug automatically */
Documentation/DocBook/dvb/frontend.xml+8−2
@@ -64,8 +64,14 @@ a specific frontend type.</para> · 63 unmodified lines
6464 FE_CAN_BANDWIDTH_AUTO = 0x40000,
6565 FE_CAN_GUARD_INTERVAL_AUTO = 0x80000,
6666 FE_CAN_HIERARCHY_AUTO = 0x100000,
67− FE_CAN_MUTE_TS = 0x80000000,
68− FE_CAN_CLEAN_SETUP = 0x40000000
67+ FE_CAN_8VSB = 0x200000,
68+ FE_CAN_16VSB = 0x400000,
69+ FE_HAS_EXTENDED_CAPS = 0x800000,
70+ FE_CAN_TURBO_FEC = 0x8000000,
71+ FE_CAN_2G_MODULATION = 0x10000000,
72+ FE_NEEDS_BENDING = 0x20000000,
73+ FE_CAN_RECOVER = 0x40000000,
74+ FE_CAN_MUTE_TS = 0x80000000
6975 } fe_caps_t;
7076 </programlisting>
7177 </section>
Documentation/DocBook/kernel-api.tmpl+0−1
@@ -132,7 +132,6 @@ X!Ilib/string.c · 131 unmodified lines
132132 <title>FIFO Buffer</title>
133133 <sect1><title>kfifo interface</title>
134134 !Iinclude/linux/kfifo.h
135−!Ekernel/kfifo.c
136135 </sect1>
137136 </chapter>
138137
Documentation/DocBook/kgdb.tmpl+100−8
@@ -199,10 +199,33 @@ · 198 unmodified lines
199199 may be configured as a kernel built-in or a kernel loadable module.
200200 You can only make use of <constant>kgdbwait</constant> and early
201201 debugging if you build kgdboc into the kernel as a built-in.
202+ <para>Optionally you can elect to activate kms (Kernel Mode
203+ Setting) integration. When you use kms with kgdboc and you have a
204+ video driver that has atomic mode setting hooks, it is possible to
205+ enter the debugger on the graphics console. When the kernel
206+ execution is resumed, the previous graphics mode will be restored.
207+ This integration can serve as a useful tool to aid in diagnosing
208+ crashes or doing analysis of memory with kdb while allowing the
209+ full graphics console applications to run.
210+ </para>
202211 </para>
203212 <sect2 id="kgdbocArgs">
204213 <title>kgdboc arguments</title>
205− <para>Usage: <constant>kgdboc=[kbd][[,]serial_device][,baud]</constant></para>
214+ <para>Usage: <constant>kgdboc=[kms][[,]kbd][[,]serial_device][,baud]</constant></para>
215+ <para>The order listed above must be observed if you use any of the
216+ optional configurations together.
217+ </para>
218+ <para>Abbreviations:
219+ <itemizedlist>
220+ <listitem><para>kms = Kernel Mode Setting</para></listitem>
221+ <listitem><para>kbd = Keyboard</para></listitem>
222+ </itemizedlist>
223+ </para>
224+ <para>You can configure kgdboc to use the keyboard, and or a serial
225+ device depending on if you are using kdb and or kgdb, in one of the
226+ following scenarios. The order listed above must be observed if
227+ you use any of the optional configurations together. Using kms +
228+ only gdb is generally not a useful combination.</para>
206229 <sect3 id="kgdbocArgs1">
207230 <title>Using loadable module or built-in</title>
208231 <para>
@@ -212,7 +235,7 @@ · 3 unmodified lines
212235 <listitem>
213236 <para>As a kernel loadable module:</para>
214237 <para>Use the command: <constant>modprobe kgdboc kgdboc=&lt;tty-device&gt;,[baud]</constant></para>
215− <para>Here are two examples of how you might formate the kgdboc
238+ <para>Here are two examples of how you might format the kgdboc
216239 string. The first is for an x86 target using the first serial port.
217240 The second example is for the ARM Versatile AB using the second
218241 serial port.
@@ -240,6 +263,9 @@ · 21 unmodified lines
240263 </sect3>
241264 <sect3 id="kgdbocArgs3">
242265 <title>More examples</title>
266+ <para>You can configure kgdboc to use the keyboard, and or a serial
267+ device depending on if you are using kdb and or kgdb, in one of the
268+ following scenarios.</para>
243269 <para>You can configure kgdboc to use the keyboard, and or a serial device
244270 depending on if you are using kdb and or kgdb, in one of the
245271 following scenarios.
@@ -255,6 +281,12 @@ · 9 unmodified lines
255281 <listitem><para>kdb with a keyboard</para>
256282 <para><constant>kgdboc=kbd</constant></para>
257283 </listitem>
284+ <listitem><para>kdb with kernel mode setting</para>
285+ <para><constant>kgdboc=kms,kbd</constant></para>
286+ </listitem>
287+ <listitem><para>kdb with kernel mode setting and kgdb over a serial port</para>
288+ <para><constant>kgdboc=kms,kbd,ttyS0,115200</constant></para>
289+ </listitem>
258290 </orderedlist>
259291 </para>
260292 </sect3>
@@ -637,6 +669,8 @@ Task Addr Pid Parent [*] cpu State Thread Command · 376 unmodified lines
637669 <listitem><para>The logic to perform safe memory reads and writes to memory while using the debugger</para></listitem>
638670 <listitem><para>A full implementation for software breakpoints unless overridden by the arch</para></listitem>
639671 <listitem><para>The API to invoke either the kdb or kgdb frontend to the debug core.</para></listitem>
672+ <listitem><para>The structures and callback API for atomic kernel mode setting.</para>
673+ <para>NOTE: kgdboc is where the kms callbacks are invoked.</para></listitem>
640674 </itemizedlist>
641675 </para>
642676 </listitem>
@@ -747,6 +781,8 @@ Task Addr Pid Parent [*] cpu State Thread Command · 104 unmodified lines
747781 </sect1>
748782 <sect1 id="kgdbocDesign">
749783 <title>kgdboc internals</title>
784+ <sect2>
785+ <title>kgdboc and uarts</title>
750786 <para>
751787 The kgdboc driver is actually a very thin driver that relies on the
752788 underlying low level to the hardware driver having "polling hooks"
@@ -754,11 +790,8 @@ Task Addr Pid Parent [*] cpu State Thread Command · 1 unmodified line
754790 implementation of kgdboc it the serial_core was changed to expose a
755791 low level UART hook for doing polled mode reading and writing of a
756792 single character while in an atomic context. When kgdb makes an I/O
757− request to the debugger, kgdboc invokes a call back in the serial
758− core which in turn uses the call back in the UART driver. It is
759− certainly possible to extend kgdboc to work with non-UART based
760− consoles in the future.
761− </para>
793+ request to the debugger, kgdboc invokes a callback in the serial
794+ core which in turn uses the callback in the UART driver.</para>
762795 <para>
763796 When using kgdboc with a UART, the UART driver must implement two callbacks in the <constant>struct uart_ops</constant>. Example from drivers/8250.c:<programlisting>
764797 #ifdef CONFIG_CONSOLE_POLL
@@ -772,9 +805,68 @@ Task Addr Pid Parent [*] cpu State Thread Command · 7 unmodified lines
772805 that they can be called from an atomic context and have to restore
773806 the state of the UART chip on return such that the system can return
774807 to normal when the debugger detaches. You need to be very careful
775− with any kind of lock you consider, because failing here is most
808+ with any kind of lock you consider, because failing here is most likely
776809 going to mean pressing the reset button.
777810 </para>
811+ </sect2>
812+ <sect2 id="kgdbocKbd">
813+ <title>kgdboc and keyboards</title>
814+ <para>The kgdboc driver contains logic to configure communications
815+ with an attached keyboard. The keyboard infrastructure is only
816+ compiled into the kernel when CONFIG_KDB_KEYBOARD=y is set in the
817+ kernel configuration.</para>
818+ <para>The core polled keyboard driver driver for PS/2 type keyboards
819+ is in drivers/char/kdb_keyboard.c. This driver is hooked into the
820+ debug core when kgdboc populates the callback in the array
821+ called <constant>kdb_poll_funcs[]</constant>. The
822+ kdb_get_kbd_char() is the top-level function which polls hardware
823+ for single character input.
824+ </para>
825+ </sect2>
826+ <sect2 id="kgdbocKms">
827+ <title>kgdboc and kms</title>
828+ <para>The kgdboc driver contains logic to request the graphics
829+ display to switch to a text context when you are using
830+ "kgdboc=kms,kbd", provided that you have a video driver which has a
831+ frame buffer console and atomic kernel mode setting support.</para>
832+ <para>
833+ Every time the kernel
834+ debugger is entered it calls kgdboc_pre_exp_handler() which in turn
835+ calls con_debug_enter() in the virtual console layer. On resuming kernel
836+ execution, the kernel debugger calls kgdboc_post_exp_handler() which
837+ in turn calls con_debug_leave().</para>
838+ <para>Any video driver that wants to be compatible with the kernel
839+ debugger and the atomic kms callbacks must implement the
840+ mode_set_base_atomic, fb_debug_enter and fb_debug_leave operations.
841+ For the fb_debug_enter and fb_debug_leave the option exists to use
842+ the generic drm fb helper functions or implement something custom for
843+ the hardware. The following example shows the initialization of the
844+ .mode_set_base_atomic operation in
845+ drivers/gpu/drm/i915/intel_display.c:
846+ <informalexample>
847+ <programlisting>
848+static const struct drm_crtc_helper_funcs intel_helper_funcs = {
849+[...]
850+ .mode_set_base_atomic = intel_pipe_set_base_atomic,
851+[...]
852+};
853+ </programlisting>
854+ </informalexample>
855+ </para>
856+ <para>Here is an example of how the i915 driver initializes the fb_debug_enter and fb_debug_leave functions to use the generic drm helpers in
857+ drivers/gpu/drm/i915/intel_fb.c:
858+ <informalexample>
859+ <programlisting>
860+static struct fb_ops intelfb_ops = {
861+[...]
862+ .fb_debug_enter = drm_fb_helper_debug_enter,
863+ .fb_debug_leave = drm_fb_helper_debug_leave,
864+[...]
865+};
866+ </programlisting>
867+ </informalexample>
868+ </para>
869+ </sect2>
778870 </sect1>
779871 </chapter>
780872 <chapter id="credits">
Documentation/DocBook/media-entities.tmpl+1−0
@@ -218,6 +218,7 @@ · 217 unmodified lines
218218 <!ENTITY sub-dev-teletext SYSTEM "v4l/dev-teletext.xml">
219219 <!ENTITY sub-driver SYSTEM "v4l/driver.xml">
220220 <!ENTITY sub-libv4l SYSTEM "v4l/libv4l.xml">
221+<!ENTITY sub-lirc_device_interface SYSTEM "v4l/lirc_device_interface.xml">
221222 <!ENTITY sub-remote_controllers SYSTEM "v4l/remote_controllers.xml">
222223 <!ENTITY sub-fdl-appendix SYSTEM "v4l/fdl-appendix.xml">
223224 <!ENTITY sub-close SYSTEM "v4l/func-close.xml">
Documentation/DocBook/media.tmpl+4−4
@@ -28,7 +28,7 @@ · 27 unmodified lines
2828 <title>LINUX MEDIA INFRASTRUCTURE API</title>
2929
3030 <copyright>
31− <year>2009</year>
31+ <year>2009-2010</year>
3232 <holder>LinuxTV Developers</holder>
3333 </copyright>
3434
@@ -61,7 +61,7 @@ Foundation. A copy of the license is included in the chapter entitled · 26 unmodified lines
6161 in fact it covers several different video standards including
6262 DVB-T, DVB-S, DVB-C and ATSC. The API is currently being updated
6363 to documment support also for DVB-S2, ISDB-T and ISDB-S.</para>
64− <para>The third part covers other API's used by all media infrastructure devices</para>
64+ <para>The third part covers Remote Controller API</para>
6565 <para>For additional information and for the latest development code,
6666 see: <ulink url="http://linuxtv.org">http://linuxtv.org</ulink>.</para>
6767 <para>For discussing improvements, reporting troubles, sending new drivers, etc, please mail to: <ulink url="http://vger.kernel.org/vger-lists.html#linux-media">Linux Media Mailing List (LMML).</ulink>.</para>
@@ -86,7 +86,7 @@ Foundation. A copy of the license is included in the chapter entitled · 18 unmodified lines
8686 </author>
8787 </authorgroup>
8888 <copyright>
89− <year>2009</year>
89+ <year>2009-2010</year>
9090 <holder>Mauro Carvalho Chehab</holder>
9191 </copyright>
9292
@@ -101,7 +101,7 @@ Foundation. A copy of the license is included in the chapter entitled · 8 unmodified lines
101101 </revhistory>
102102 </partinfo>
103103
104−<title>Other API's used by media infrastructure drivers</title>
104+<title>Remote Controller API</title>
105105 <chapter id="remote_controllers">
106106 &sub-remote_controllers;
107107 </chapter>
Documentation/DocBook/scsi.tmpl+1−1
@@ -393,7 +393,7 @@ · 392 unmodified lines
393393 </para>
394394 <para>
395395 For documentation see
396− <ulink url='http://www.torque.net/sg/sdebug26.html'>http://www.torque.net/sg/sdebug26.html</ulink>
396+ <ulink url='http://sg.danny.cz/sg/sdebug26.html'>http://sg.danny.cz/sg/sdebug26.html</ulink>
397397 </para>
398398 <!-- !Edrivers/scsi/scsi_debug.c -->
399399 </sect2>
Documentation/DocBook/stylesheet.xsl+1−0
@@ -6,4 +6,5 @@ · 5 unmodified lines
66 <param name="callout.graphics">0</param>
77 <!-- <param name="paper.type">A4</param> -->
88 <param name="generate.section.toc.level">2</param>
9+<param name="use.id.as.filename">1</param>
910 </stylesheet>
Documentation/DocBook/v4l/compat.xml+3−2
@@ -1091,8 +1091,9 @@ signed 64-bit integer. Output devices should not send a buffer out · 1090 unmodified lines
10911091 until the time in the timestamp field has arrived. I would like to
10921092 follow SGI's lead, and adopt a multimedia timestamping system like
10931093 their UST (Unadjusted System Time). See
1094−http://reality.sgi.com/cpirazzi_engr/lg/time/intro.html. [This link is
1095−no longer valid.] UST uses timestamps that are 64-bit signed integers
1094+http://web.archive.org/web/*/http://reality.sgi.com
1095+/cpirazzi_engr/lg/time/intro.html.
1096+UST uses timestamps that are 64-bit signed integers
10961097 (not struct timeval's) and given in nanosecond units. The UST clock
10971098 starts at zero when the system is booted and runs continuously and
10981099 uniformly. It takes a little over 292 years for UST to overflow. There
Documentation/DocBook/v4l/fdl-appendix.xml+1−1
@@ -2,7 +2,7 @@ · 1 unmodified line
22 The GNU Free Documentation License 1.1 in DocBook
33 Markup by Eric Baudais <baudais@okstate.edu>
44 Maintained by the GNOME Documentation Project
5− http://developer.gnome.org/projects/gdp
5+ http://live.gnome.org/DocumentationProject
66 Version: 1.0.1
77 Last Modified: Nov 16, 2000
88 -->
Documentation/DocBook/v4l/lirc_device_interface.xml+251−0
@@ -0,0 +1,251 @@
1+<section id="lirc_dev">
2+<title>LIRC Device Interface</title>
3+
4+
5+<section id="lirc_dev_intro">
6+<title>Introduction</title>
7+
8+<para>The LIRC device interface is a bi-directional interface for
9+transporting raw IR data between userspace and kernelspace. Fundamentally,
10+it is just a chardev (/dev/lircX, for X = 0, 1, 2, ...), with a number
11+of standard struct file_operations defined on it. With respect to
12+transporting raw IR data to and fro, the essential fops are read, write
13+and ioctl.</para>
14+
15+<para>Example dmesg output upon a driver registering w/LIRC:</para>
16+ <blockquote>
17+ <para>$ dmesg |grep lirc_dev</para>
18+ <para>lirc_dev: IR Remote Control driver registered, major 248</para>
19+ <para>rc rc0: lirc_dev: driver ir-lirc-codec (mceusb) registered at minor = 0</para>
20+ </blockquote>
21+
22+<para>What you should see for a chardev:</para>
23+ <blockquote>
24+ <para>$ ls -l /dev/lirc*</para>
25+ <para>crw-rw---- 1 root root 248, 0 Jul 2 22:20 /dev/lirc0</para>
26+ </blockquote>
27+</section>
28+
29+<section id="lirc_read">
30+<title>LIRC read fop</title>
31+
32+<para>The lircd userspace daemon reads raw IR data from the LIRC chardev. The
33+exact format of the data depends on what modes a driver supports, and what
34+mode has been selected. lircd obtains supported modes and sets the active mode
35+via the ioctl interface, detailed at <xref linkend="lirc_ioctl"/>. The generally
36+preferred mode is LIRC_MODE_MODE2, in which packets containing an int value
37+describing an IR signal are read from the chardev.</para>
38+
39+<para>See also <ulink url="http://www.lirc.org/html/technical.html">http://www.lirc.org/html/technical.html</ulink> for more info.</para>
40+</section>
41+
42+<section id="lirc_write">
43+<title>LIRC write fop</title>
44+
45+<para>The data written to the chardev is a pulse/space sequence of integer
46+values. Pulses and spaces are only marked implicitly by their position. The
47+data must start and end with a pulse, therefore, the data must always include
48+an unevent number of samples. The write function must block until the data has
49+been transmitted by the hardware.</para>
50+</section>
51+
52+<section id="lirc_ioctl">
53+<title>LIRC ioctl fop</title>
54+
55+<para>The LIRC device's ioctl definition is bound by the ioctl function
56+definition of struct file_operations, leaving us with an unsigned int
57+for the ioctl command and an unsigned long for the arg. For the purposes
58+of ioctl portability across 32-bit and 64-bit, these values are capped
59+to their 32-bit sizes.</para>
60+
61+<para>The following ioctls can be used to change specific hardware settings.
62+In general each driver should have a default set of settings. The driver
63+implementation is expected to re-apply the default settings when the device
64+is closed by user-space, so that every application opening the device can rely
65+on working with the default settings initially.</para>
66+
67+<variablelist>
68+ <varlistentry>
69+ <term>LIRC_GET_FEATURES</term>
70+ <listitem>
71+ <para>Obviously, get the underlying hardware device's features. If a driver
72+ does not announce support of certain features, calling of the corresponding
73+ ioctls is undefined.</para>
74+ </listitem>
75+ </varlistentry>
76+ <varlistentry>
77+ <term>LIRC_GET_SEND_MODE</term>
78+ <listitem>
79+ <para>Get supported transmit mode. Only LIRC_MODE_PULSE is supported by lircd.</para>
80+ </listitem>
81+ </varlistentry>
82+ <varlistentry>
83+ <term>LIRC_GET_REC_MODE</term>
84+ <listitem>
85+ <para>Get supported receive modes. Only LIRC_MODE_MODE2 and LIRC_MODE_LIRCCODE
86+ are supported by lircd.</para>
87+ </listitem>
88+ </varlistentry>
89+ <varlistentry>
90+ <term>LIRC_GET_SEND_CARRIER</term>
91+ <listitem>
92+ <para>Get carrier frequency (in Hz) currently used for transmit.</para>
93+ </listitem>
94+ </varlistentry>
95+ <varlistentry>
96+ <term>LIRC_GET_REC_CARRIER</term>
97+ <listitem>
98+ <para>Get carrier frequency (in Hz) currently used for IR reception.</para>
99+ </listitem>
100+ </varlistentry>
101+ <varlistentry>
102+ <term>LIRC_{G,S}ET_{SEND,REC}_DUTY_CYCLE</term>
103+ <listitem>
104+ <para>Get/set the duty cycle (from 0 to 100) of the carrier signal. Currently,
105+ no special meaning is defined for 0 or 100, but this could be used to switch
106+ off carrier generation in the future, so these values should be reserved.</para>
107+ </listitem>
108+ </varlistentry>
109+ <varlistentry>
110+ <term>LIRC_GET_REC_RESOLUTION</term>
111+ <listitem>
112+ <para>Some receiver have maximum resolution which is defined by internal
113+ sample rate or data format limitations. E.g. it's common that signals can
114+ only be reported in 50 microsecond steps. This integer value is used by
115+ lircd to automatically adjust the aeps tolerance value in the lircd
116+ config file.</para>
117+ </listitem>
118+ </varlistentry>
119+ <varlistentry>
120+ <term>LIRC_GET_M{IN,AX}_TIMEOUT</term>
121+ <listitem>
122+ <para>Some devices have internal timers that can be used to detect when
123+ there's no IR activity for a long time. This can help lircd in detecting
124+ that a IR signal is finished and can speed up the decoding process.
125+ Returns an integer value with the minimum/maximum timeout that can be
126+ set. Some devices have a fixed timeout, in that case both ioctls will
127+ return the same value even though the timeout cannot be changed.</para>
128+ </listitem>
129+ </varlistentry>
130+ <varlistentry>
131+ <term>LIRC_GET_M{IN,AX}_FILTER_{PULSE,SPACE}</term>
132+ <listitem>
133+ <para>Some devices are able to filter out spikes in the incoming signal
134+ using given filter rules. These ioctls return the hardware capabilities
135+ that describe the bounds of the possible filters. Filter settings depend
136+ on the IR protocols that are expected. lircd derives the settings from
137+ all protocols definitions found in its config file.</para>
138+ </listitem>
139+ </varlistentry>
140+ <varlistentry>
141+ <term>LIRC_GET_LENGTH</term>
142+ <listitem>
143+ <para>Retrieves the code length in bits (only for LIRC_MODE_LIRCCODE).
144+ Reads on the device must be done in blocks matching the bit count.
145+ The bit could should be rounded up so that it matches full bytes.</para>
146+ </listitem>
147+ </varlistentry>
148+ <varlistentry>
149+ <term>LIRC_SET_{SEND,REC}_MODE</term>
150+ <listitem>
151+ <para>Set send/receive mode. Largely obsolete for send, as only
152+ LIRC_MODE_PULSE is supported.</para>
153+ </listitem>
154+ </varlistentry>
155+ <varlistentry>
156+ <term>LIRC_SET_{SEND,REC}_CARRIER</term>
157+ <listitem>
158+ <para>Set send/receive carrier (in Hz).</para>
159+ </listitem>
160+ </varlistentry>
161+ <varlistentry>
162+ <term>LIRC_SET_TRANSMITTER_MASK</term>
163+ <listitem>
164+ <para>This enables the given set of transmitters. The first transmitter
165+ is encoded by the least significant bit, etc. When an invalid bit mask
166+ is given, i.e. a bit is set, even though the device does not have so many
167+ transitters, then this ioctl returns the number of available transitters
168+ and does nothing otherwise.</para>
169+ </listitem>
170+ </varlistentry>
171+ <varlistentry>
172+ <term>LIRC_SET_REC_TIMEOUT</term>
173+ <listitem>
174+ <para>Sets the integer value for IR inactivity timeout (cf.
175+ LIRC_GET_MIN_TIMEOUT and LIRC_GET_MAX_TIMEOUT). A value of 0 (if
176+ supported by the hardware) disables all hardware timeouts and data should
177+ be reported as soon as possible. If the exact value cannot be set, then
178+ the next possible value _greater_ than the given value should be set.</para>
179+ </listitem>
180+ </varlistentry>
181+ <varlistentry>
182+ <term>LIRC_SET_REC_TIMEOUT_REPORTS</term>
183+ <listitem>
184+ <para>Enable (1) or disable (0) timeout reports in LIRC_MODE_MODE2. By
185+ default, timeout reports should be turned off.</para>
186+ </listitem>
187+ </varlistentry>
188+ <varlistentry>
189+ <term>LIRC_SET_REC_FILTER_{,PULSE,SPACE}</term>
190+ <listitem>
191+ <para>Pulses/spaces shorter than this are filtered out by hardware. If
192+ filters cannot be set independently for pulse/space, the corresponding
193+ ioctls must return an error and LIRC_SET_REC_FILTER shall be used instead.</para>
194+ </listitem>
195+ </varlistentry>
196+ <varlistentry>
197+ <term>LIRC_SET_MEASURE_CARRIER_MODE</term>
198+ <listitem>
199+ <para>Enable (1)/disable (0) measure mode. If enabled, from the next key
200+ press on, the driver will send LIRC_MODE2_FREQUENCY packets. By default
201+ this should be turned off.</para>
202+ </listitem>
203+ </varlistentry>
204+ <varlistentry>
205+ <term>LIRC_SET_REC_{DUTY_CYCLE,CARRIER}_RANGE</term>
206+ <listitem>
207+ <para>To set a range use LIRC_SET_REC_DUTY_CYCLE_RANGE/LIRC_SET_REC_CARRIER_RANGE
208+ with the lower bound first and later LIRC_SET_REC_DUTY_CYCLE/LIRC_SET_REC_CARRIER
209+ with the upper bound.</para>
210+ </listitem>
211+ </varlistentry>
212+ <varlistentry>
213+ <term>LIRC_NOTIFY_DECODE</term>
214+ <listitem>
215+ <para>This ioctl is called by lircd whenever a successful decoding of an
216+ incoming IR signal could be done. This can be used by supporting hardware
217+ to give visual feedback to the user e.g. by flashing a LED.</para>
218+ </listitem>
219+ </varlistentry>
220+ <varlistentry>
221+ <term>LIRC_SETUP_{START,END}</term>
222+ <listitem>
223+ <para>Setting of several driver parameters can be optimized by encapsulating
224+ the according ioctl calls with LIRC_SETUP_START/LIRC_SETUP_END. When a
225+ driver receives a LIRC_SETUP_START ioctl it can choose to not commit
226+ further setting changes to the hardware until a LIRC_SETUP_END is received.
227+ But this is open to the driver implementation and every driver must also
228+ handle parameter changes which are not encapsulated by LIRC_SETUP_START
229+ and LIRC_SETUP_END. Drivers can also choose to ignore these ioctls.</para>
230+ </listitem>
231+ </varlistentry>
232+ <varlistentry>
233+ <term>LIRC_SET_WIDEBAND_RECEIVER</term>
234+ <listitem>
235+ <para>Some receivers are equipped with special wide band receiver which is intended
236+ to be used to learn output of existing remote.
237+ Calling that ioctl with (1) will enable it, and with (0) disable it.
238+ This might be useful of receivers that have otherwise narrow band receiver
239+ that prevents them to be used with some remotes.
240+ Wide band receiver might also be more precise
241+ On the other hand its disadvantage it usually reduced range of reception.
242+ Note: wide band receiver might be implictly enabled if you enable
243+ carrier reports. In that case it will be disabled as soon as you disable
244+ carrier reports. Trying to disable wide band receiver while carrier
245+ reports are active will do nothing.</para>
246+ </listitem>
247+ </varlistentry>
248+</variablelist>
249+
250+</section>
251+</section>
Documentation/DocBook/v4l/pixfmt-packed-rgb.xml+78−0
@@ -240,6 +240,45 @@ colorspace <constant>V4L2_COLORSPACE_SRGB</constant>.</para> · 239 unmodified lines
240240 <entry>r<subscript>1</subscript></entry>
241241 <entry>r<subscript>0</subscript></entry>
242242 </row>
243+ <row id="V4L2-PIX-FMT-BGR666">
244+ <entry><constant>V4L2_PIX_FMT_BGR666</constant></entry>
245+ <entry>'BGRH'</entry>
246+ <entry></entry>
247+ <entry>b<subscript>5</subscript></entry>
248+ <entry>b<subscript>4</subscript></entry>
249+ <entry>b<subscript>3</subscript></entry>
250+ <entry>b<subscript>2</subscript></entry>
251+ <entry>b<subscript>1</subscript></entry>
252+ <entry>b<subscript>0</subscript></entry>
253+ <entry>g<subscript>5</subscript></entry>
254+ <entry>g<subscript>4</subscript></entry>
255+ <entry></entry>
256+ <entry>g<subscript>3</subscript></entry>
257+ <entry>g<subscript>2</subscript></entry>
258+ <entry>g<subscript>1</subscript></entry>
259+ <entry>g<subscript>0</subscript></entry>
260+ <entry>r<subscript>5</subscript></entry>
261+ <entry>r<subscript>4</subscript></entry>
262+ <entry>r<subscript>3</subscript></entry>
263+ <entry>r<subscript>2</subscript></entry>
264+ <entry></entry>
265+ <entry>r<subscript>1</subscript></entry>
266+ <entry>r<subscript>0</subscript></entry>
267+ <entry></entry>
268+ <entry></entry>
269+ <entry></entry>
270+ <entry></entry>
271+ <entry></entry>
272+ <entry></entry>
273+ <entry></entry>
274+ <entry></entry>
275+ <entry></entry>
276+ <entry></entry>
277+ <entry></entry>
278+ <entry></entry>
279+ <entry></entry>
280+ <entry></entry>
281+ </row>
243282 <row id="V4L2-PIX-FMT-BGR24">
244283 <entry><constant>V4L2_PIX_FMT_BGR24</constant></entry>
245284 <entry>'BGR3'</entry>
@@ -700,6 +739,45 @@ defined in error. Drivers may interpret them as in <xref · 454 unmodified lines
700739 <entry>b<subscript>1</subscript></entry>
701740 <entry>b<subscript>0</subscript></entry>
702741 </row>
742+ <row id="V4L2-PIX-FMT-BGR666">
743+ <entry><constant>V4L2_PIX_FMT_BGR666</constant></entry>
744+ <entry>'BGRH'</entry>
745+ <entry></entry>
746+ <entry>b<subscript>5</subscript></entry>
747+ <entry>b<subscript>4</subscript></entry>
748+ <entry>b<subscript>3</subscript></entry>
749+ <entry>b<subscript>2</subscript></entry>
750+ <entry>b<subscript>1</subscript></entry>
751+ <entry>b<subscript>0</subscript></entry>
752+ <entry>g<subscript>5</subscript></entry>
753+ <entry>g<subscript>4</subscript></entry>
754+ <entry></entry>
755+ <entry>g<subscript>3</subscript></entry>
756+ <entry>g<subscript>2</subscript></entry>
757+ <entry>g<subscript>1</subscript></entry>
758+ <entry>g<subscript>0</subscript></entry>
759+ <entry>r<subscript>5</subscript></entry>
760+ <entry>r<subscript>4</subscript></entry>
761+ <entry>r<subscript>3</subscript></entry>
762+ <entry>r<subscript>2</subscript></entry>
763+ <entry></entry>
764+ <entry>r<subscript>1</subscript></entry>
765+ <entry>r<subscript>0</subscript></entry>
766+ <entry></entry>
767+ <entry></entry>
768+ <entry></entry>
769+ <entry></entry>
770+ <entry></entry>
771+ <entry></entry>
772+ <entry></entry>
773+ <entry></entry>
774+ <entry></entry>
775+ <entry></entry>
776+ <entry></entry>
777+ <entry></entry>
778+ <entry></entry>
779+ <entry></entry>
780+ </row>
703781 <row><!-- id="V4L2-PIX-FMT-BGR24" -->
704782 <entry><constant>V4L2_PIX_FMT_BGR24</constant></entry>
705783 <entry>'BGR3'</entry>
Documentation/DocBook/v4l/remote_controllers.xml+2−0
@@ -173,3 +173,5 @@ keymapping.</para> · 172 unmodified lines
173173 <para>This program demonstrates how to replace the keymap tables.</para>
174174 &sub-keytable-c;
175175 </section>
176+
177+&sub-lirc_device_interface;
Documentation/HOWTO+3−3
@@ -187,7 +187,7 @@ apply a patch. · 186 unmodified lines
187187 If you do not know where you want to start, but you want to look for
188188 some task to start doing to join into the kernel development community,
189189 go to the Linux Kernel Janitor's project:
190− http://janitor.kernelnewbies.org/
190+ http://kernelnewbies.org/KernelJanitors
191191 It is a great place to start. It describes a list of relatively simple
192192 problems that need to be cleaned up and fixed within the Linux kernel
193193 source tree. Working with the developers in charge of this project, you
@@ -315,7 +315,7 @@ process is tracked with the tool patchwork. Patchwork offers a web · 121 unmodified lines
315315 interface which shows patch postings, any comments on a patch or
316316 revisions to it, and maintainers can mark patches as under review,
317317 accepted, or rejected. Most of these patchwork sites are listed at
318−http://patchwork.kernel.org/ or http://patchwork.ozlabs.org/.
318+http://patchwork.kernel.org/.
319319
320320 2.6.x -next kernel tree for integration tests
321321 ---------------------------------------------
@@ -595,7 +595,7 @@ start exactly where you are now. · 273 unmodified lines
595595
596596 ----------
597597 Thanks to Paolo Ciarrocchi who allowed the "Development Process"
598−(http://linux.tar.bz/articles/2.6-development_process) section
598+(http://lwn.net/Articles/94386/) section
599599 to be based on text he had written, and to Randy Dunlap and Gerrit
600600 Huizenga for some of the list of things you should and should not say.
601601 Also thanks to Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers,
Documentation/PCI/pci.txt+1−1
@@ -581,7 +581,7 @@ to be handled by platform and generic code, not individual drivers. · 580 unmodified lines
581581 8. Vendor and device identifications
582582 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
583583
584−One is not not required to add new device ids to include/linux/pci_ids.h.
584+One is not required to add new device ids to include/linux/pci_ids.h.
585585 Please add PCI_VENDOR_ID_xxx for vendors and a hex constant for device ids.
586586
587587 PCI_VENDOR_ID_xxx constants are re-used. The device ids are arbitrary
Documentation/RCU/RTFP.txt+1−1
@@ -606,7 +606,7 @@ Suparna Bhattacharya" · 605 unmodified lines
606606 ,Year="2006"
607607 ,pages="v2 123-138"
608608 ,note="Available:
609−\url{http://www.linuxsymposium.org/2006/view_abstract.php?content_key=184}
609+\url{http://www.linuxsymposium.org/2006/index_2006.php}
610610 \url{http://www.rdrop.com/users/paulmck/RCU/OLSrtRCU.2006.08.11a.pdf}
611611 [Viewed January 1, 2007]"
612612 ,annotation="
Documentation/SubmittingDrivers+1−1
@@ -161,7 +161,7 @@ How to NOT write kernel driver by Arjan van de Ven: · 160 unmodified lines
161161 http://www.fenrus.org/how-to-not-write-a-device-driver-paper.pdf
162162
163163 Kernel Janitor:
164− http://janitor.kernelnewbies.org/
164+ http://kernelnewbies.org/KernelJanitors
165165
166166 GIT, Fast Version Control System:
167167 http://git-scm.com/
Documentation/SubmittingPatches+11−0
@@ -98,6 +98,17 @@ system, git, as a "commit log". See #15, below. · 97 unmodified lines
9898 If your description starts to get long, that's a sign that you probably
9999 need to split up your patch. See #3, next.
100100
101+When you submit or resubmit a patch or patch series, include the
102+complete patch description and justification for it. Don't just
103+say that this is version N of the patch (series). Don't expect the
104+patch merger to refer back to earlier patch versions or referenced
105+URLs to find the patch description and put that into the patch.
106+I.e., the patch (series) and its description should be self-contained.
107+This benefits both the patch merger(s) and reviewers. Some reviewers
108+probably didn't even receive earlier versions of the patch.
109+
110+If the patch fixes a logged bug entry, refer to that bug entry by
111+number and URL.
101112
102113
103114 3) Separate your changes.
Documentation/aoe/aoe.txt+1−1
@@ -1,6 +1,6 @@
11 The EtherDrive (R) HOWTO for users of 2.6 kernels is found at ...
22
3− http://www.coraid.com/support/linux/EtherDrive-2.6-HOWTO.html
3+ http://www.coraid.com/SUPPORT/EtherDrive-HBA
44
55 It has many tips and hints!
66
Documentation/apparmor.txt+39−0
@@ -0,0 +1,39 @@
1+--- What is AppArmor? ---
2+
3+AppArmor is MAC style security extension for the Linux kernel. It implements
4+a task centered policy, with task "profiles" being created and loaded
5+from user space. Tasks on the system that do not have a profile defined for
6+them run in an unconfined state which is equivalent to standard Linux DAC
7+permissions.
8+
9+--- How to enable/disable ---
10+
11+set CONFIG_SECURITY_APPARMOR=y
12+
13+If AppArmor should be selected as the default security module then
14+ set CONFIG_DEFAULT_SECURITY="apparmor"
15+ and CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=1
16+
17+Build the kernel
18+
19+If AppArmor is not the default security module it can be enabled by passing
20+security=apparmor on the kernel's command line.
21+
22+If AppArmor is the default security module it can be disabled by passing
23+apparmor=0, security=XXXX (where XXX is valid security module), on the
24+kernel's command line
25+
26+For AppArmor to enforce any restrictions beyond standard Linux DAC permissions
27+policy must be loaded into the kernel from user space (see the Documentation
28+and tools links).
29+
30+--- Documentation ---
31+
32+Documentation can be found on the wiki.
33+
34+--- Links ---
35+
36+Mailing List - apparmor@lists.ubuntu.com
37+Wiki - http://apparmor.wiki.kernel.org/
38+User space tools - https://launchpad.net/apparmor
39+Kernel module - git://git.kernel.org/pub/scm/linux/kernel/git/jj/apparmor-dev.git
Documentation/arm/IXP2000+1−1
@@ -14,7 +14,7 @@ telecom systems. In addition to an XScale core, it contains up to 8 · 13 unmodified lines
1414 interfaces (UTOPIA, SPI, etc), a PCI host bridge, one serial port,
1515 flash interface, and some other odds and ends. For more information, see:
1616
17−http://developer.intel.com/design/network/products/npfamily/ixp2xxx.htm
17+http://developer.intel.com
1818
1919 2. Linux Support
2020
Documentation/arm/IXP4xx+6−8
@@ -45,7 +45,7 @@ require the use of Intel's propietary CSR softare: · 44 unmodified lines
4545 If you need to use any of the above, you need to download Intel's
4646 software from:
4747
48− http://developer.intel.com/design/network/products/npfamily/ixp425swr1.htm
48+ http://developer.intel.com/design/network/products/npfamily/ixp425.htm
4949
5050 DO NOT POST QUESTIONS TO THE LINUX MAILING LISTS REGARDING THE PROPIETARY
5151 SOFTWARE.
@@ -53,7 +53,7 @@ SOFTWARE. · 1 unmodified line
5353 There are several websites that provide directions/pointers on using
5454 Intel's software:
5555
56−http://ixp4xx-osdg.sourceforge.net/
56+ http://sourceforge.net/projects/ixp4xx-osdg/
5757 Open Source Developer's Guide for using uClinux and the Intel libraries
5858
5959 http://gatewaymaker.sourceforge.net/
@@ -112,21 +112,21 @@ http://www.adiengineering.com/productsCoyote.html · 52 unmodified lines
112112 Finally, there is an IDE port hanging off the expansion bus.
113113
114114 Gateworks Avila Network Platform
115−http://www.gateworks.com/avila_sbc.htm
115+http://www.gateworks.com/support/overview.php
116116
117117 The Avila platform is basically and IXDP425 with the 4 PCI slots
118118 replaced with mini-PCI slots and a CF IDE interface hanging off
119119 the expansion bus.
120120
121121 Intel IXDP425 Development Platform
122−http://developer.intel.com/design/network/products/npfamily/ixdp425.htm
122+http://www.intel.com/design/network/products/npfamily/ixdpg425.htm
123123
124124 This is Intel's standard reference platform for the IXDP425 and is
125125 also known as the Richfield board. It contains 4 PCI slots, 16MB
126126 of flash, two 10/100 ports and one ADSL port.
127127
128128 Intel IXDP465 Development Platform
129−http://developer.intel.com/design/network/products/npfamily/ixdp465.htm
129+http://www.intel.com/design/network/products/npfamily/ixdp465.htm
130130
131131 This is basically an IXDP425 with an IXP465 and 32M of flash instead
132132 of just 16.
@@ -141,15 +141,13 @@ Intel IXDPG425 Development Platform · 8 unmodified lines
141141 a pivot_root to NFS.
142142
143143 Motorola PrPMC1100 Processor Mezanine Card
144−http://www.fountainsys.com/datasheet/PrPMC1100.pdf
144+http://www.fountainsys.com
145145
146146 The PrPMC1100 is based on the IXCP1100 and is meant to plug into
147147 and IXP2400/2800 system to act as the system controller. It simply
148148 contains a CPU and 16MB of flash on the board and needs to be
149149 plugged into a carrier board to function. Currently Linux only
150150 supports the Motorola PrPMC carrier board for this platform.
151− See https://mcg.motorola.com/us/ds/pdf/ds0144.pdf for info
152− on the carrier board.
153151
154152 5. TODO LIST
155153
Documentation/arm/README+2−2
@@ -41,12 +41,12 @@ Bug reports etc · 40 unmodified lines
4141 ---------------
4242
4343 Please send patches to the patch system. For more information, see
44− http://www.arm.linux.org.uk/patches/info.html Always include some
44+ http://www.arm.linux.org.uk/developer/patches/info.php Always include some
4545 explanation as to what the patch does and why it is needed.
4646
4747 Bug reports should be sent to linux-arm-kernel@lists.arm.linux.org.uk,
4848 or submitted through the web form at
49− http://www.arm.linux.org.uk/forms/solution.shtml
49+ http://www.arm.linux.org.uk/developer/
5050
5151 When sending bug reports, please ensure that they contain all relevant
5252 information, eg. the kernel messages that were printed before/during
Documentation/arm/SA1100/Assabet+2−3
@@ -2,8 +2,7 @@ The Intel Assabet (SA-1110 evaluation) board · 1 unmodified line
22 ============================================
33
44 Please see:
5−http://developer.intel.com/design/strong/quicklist/eval-plat/sa-1110.htm
6−http://developer.intel.com/design/strong/guides/278278.htm
5+http://developer.intel.com
76
87 Also some notes from John G Dorsey <jd5q@andrew.cmu.edu>:
98 http://www.cs.cmu.edu/~wearable/software/assabet.html
@@ -64,7 +63,7 @@ Initial RedBoot configuration · 54 unmodified lines
6463 -----------------------------
6564
6665 The commands used here are explained in The RedBoot User's Guide available
67−on-line at http://sources.redhat.com/ecos/docs-latest/redboot/redboot.html.
66+on-line at http://sources.redhat.com/ecos/docs.html.
6867 Please refer to it for explanations.
6968
7069 If you have a CF network card (my Assabet kit contained a CF+ LP-E from
Documentation/arm/SA1100/Brutus+1−1
@@ -1,7 +1,7 @@
11 Brutus is an evaluation platform for the SA1100 manufactured by Intel.
22 For more details, see:
33
4−http://developer.intel.com/design/strong/applnots/sa1100lx/getstart.htm
4+http://developer.intel.com
55
66 To compile for Brutus, you must issue the following commands:
77
Documentation/arm/SA1100/FreeBird+1−1
@@ -1,5 +1,5 @@
11 Freebird-1.1 is produced by Legned(C) ,Inc.
2−(http://www.legend.com.cn)
2+http://web.archive.org/web/*/http://www.legend.com.cn
33 and software/linux mainatined by Coventive(C),Inc.
44 (http://www.coventive.com)
55
Documentation/arm/SA1100/GraphicsClient+1−1
@@ -71,7 +71,7 @@ Supported peripherals: · 70 unmodified lines
7171 - serial ports (ttyS[0-2])
7272 - ttyS0 is default for serial console
7373 - Smart I/O (ADC, keypad, digital inputs, etc)
74− See http://www.applieddata.com/developers/linux for IOCTL documentation
74+ See http://www.eurotech-inc.com/linux-sbc.asp for IOCTL documentation
7575 and example user space code. ps/2 keybd is multiplexed through this driver
7676
7777 To do:
Documentation/arm/SA1100/GraphicsMaster+1−1
@@ -28,7 +28,7 @@ Supported peripherals: · 27 unmodified lines
2828 - serial ports (ttyS[0-2])
2929 - ttyS0 is default for serial console
3030 - Smart I/O (ADC, keypad, digital inputs, etc)
31− See http://www.applieddata.com/developers/linux for IOCTL documentation
31+ See http://www.eurotech-inc.com/linux-sbc.asp for IOCTL documentation
3232 and example user space code. ps/2 keybd is multiplexed through this driver
3333
3434 To do:
Documentation/arm/SA1100/Itsy+1−1
@@ -4,7 +4,7 @@ research projects at Compaq that are related to pocket computing. · 3 unmodified lines
44
55 For more information, see:
66
7− http://www.research.digital.com/wrl/itsy/index.html
7+ http://www.hpl.hp.com/downloads/crl/itsy/
88
99 Notes on initial 2.4 Itsy support (8/27/2000) :
1010 The port was done on an Itsy version 1.5 machine with a daughtercard with
Documentation/arm/SA1100/PLEB+1−1
@@ -6,6 +6,6 @@ PLEB support has yet to be fully integrated. · 5 unmodified lines
66
77 For more information, see:
88
9− http://www.cse.unsw.edu.au/~pleb/
9+ http://www.cse.unsw.edu.au
1010
1111
Documentation/arm/SA1100/Victor+1−1
@@ -3,7 +3,7 @@ VisuAide, Inc. to be used by blind people. · 2 unmodified lines
33
44 For more information related to Victor, see:
55
6− http://www.visuaide.com/victor
6+ http://www.humanware.com/en-usa/products
77
88 Of course Victor is using Linux as its main operating system.
99 The Victor implementation for Linux is maintained by Nicolas Pitre:
Documentation/arm/SA1100/nanoEngine+1−1
@@ -7,5 +7,5 @@ for more info. · 6 unmodified lines
77 (Ref: Stuart Adams <sja@brightstareng.com>)
88
99 Also visit Larry Doolittle's "Linux for the nanoEngine" site:
10−http://recycle.lbl.gov/~ldoolitt/bse/
10+http://www.brightstareng.com/arm/nanoeng.htm
1111
Documentation/arm/memory.txt+7−1
@@ -33,7 +33,13 @@ ffff0000 ffff0fff CPU vector page. · 32 unmodified lines
3333
3434 fffe0000 fffeffff XScale cache flush area. This is used
3535 in proc-xscale.S to flush the whole data
36− cache. Free for other usage on non-XScale.
36+ cache. (XScale does not have TCM.)
37+
38+fffe8000 fffeffff DTCM mapping area for platforms with
39+ DTCM mounted inside the CPU.
40+
41+fffe0000 fffe7fff ITCM mapping area for platforms with
42+ ITCM mounted inside the CPU.
3743
3844 fff00000 fffdffff Fixmap mapping region. Addresses provided
3945 by fix_to_virt() will be located here.
Documentation/arm/tcm.txt+19−11
@@ -19,8 +19,8 @@ defines a CPUID_TCM register that you can read out from the · 18 unmodified lines
1919 system control coprocessor. Documentation from ARM can be found
2020 at http://infocenter.arm.com, search for "TCM Status Register"
2121 to see documents for all CPUs. Reading this register you can
22−determine if ITCM (bit 0) and/or DTCM (bit 16) is present in the
23−machine.
22+determine if ITCM (bits 1-0) and/or DTCM (bit 17-16) is present
23+in the machine.
2424
2525 There is further a TCM region register (search for "TCM Region
2626 Registers" at the ARM site) that can report and modify the location
@@ -35,7 +35,15 @@ The TCM memory can then be remapped to another address again using · 8 unmodified lines
3535 the MMU, but notice that the TCM if often used in situations where
3636 the MMU is turned off. To avoid confusion the current Linux
3737 implementation will map the TCM 1 to 1 from physical to virtual
38−memory in the location specified by the machine.
38+memory in the location specified by the kernel. Currently Linux
39+will map ITCM to 0xfffe0000 and on, and DTCM to 0xfffe8000 and
40+on, supporting a maximum of 32KiB of ITCM and 32KiB of DTCM.
41+
42+Newer versions of the region registers also support dividing these
43+TCMs in two separate banks, so for example an 8KiB ITCM is divided
44+into two 4KiB banks with its own control registers. The idea is to
45+be able to lock and hide one of the banks for use by the secure
46+world (TrustZone).
3947
4048 TCM is used for a few things:
4149
@@ -65,18 +73,18 @@ in <asm/tcm.h>. Using this interface it is possible to: · 23 unmodified lines
6573 memory. Such a heap is great for things like saving
6674 device state when shutting off device power domains.
6775
68−A machine that has TCM memory shall select HAVE_TCM in
69−arch/arm/Kconfig for itself, and then the
70−rest of the functionality will depend on the physical
71−location and size of ITCM and DTCM to be defined in
72−mach/memory.h for the machine. Code that needs to use
73−TCM shall #include <asm/tcm.h> If the TCM is not located
74−at the place given in memory.h it will be moved using
75−the TCM Region registers.
76+A machine that has TCM memory shall select HAVE_TCM from
77+arch/arm/Kconfig for itself. Code that needs to use TCM shall
78+#include <asm/tcm.h>
7679
7780 Functions to go into itcm can be tagged like this:
7881 int __tcmfunc foo(int bar);
7982
83+Since these are marked to become long_calls and you may want
84+to have functions called locally inside the TCM without
85+wasting space, there is also the __tcmlocalfunc prefix that
86+will make the call relative.
87+
8088 Variables to go into dtcm can be tagged like this:
8189 int __tcmdata foo;
8290
Documentation/binfmt_misc.txt+1−1
@@ -111,6 +111,6 @@ cause unexpected behaviour and can be a security hazard. · 110 unmodified lines
111111
112112
113113 There is a web page about binfmt_misc at
114−http://www.tat.physik.uni-tuebingen.de/~rguenth/linux/binfmt_misc.html
114+http://www.tat.physik.uni-tuebingen.de
115115
116116 Richard Günther <rguenth@tat.physik.uni-tuebingen.de>
Documentation/blackfin/00-INDEX+4−7
@@ -1,11 +1,8 @@
11 00-INDEX
22 - This file
33
4−cachefeatures.txt
5− - Supported cache features.
6−
7−Filesystems
8− - Requirements for mounting the root file system.
9−
10−bfin-gpio-note.txt
4+bfin-gpio-notes.txt
115 - Notes in developing/using bfin-gpio driver.
6+
7+bfin-spi-notes.txt
8+ - Notes for using bfin spi bus driver.
Documentation/blackfin/Filesystems+0−169
@@ -1,169 +0,0 @@
1−/*
2− * File: Documentation/blackfin/Filesystems
3− * Based on:
4− * Author:
5− *
6− * Created:
7− * Description: This file contains the simple DMA Implementation for Blackfin
8− *
9− * Rev: $Id: Filesystems 2384 2006-11-01 04:12:43Z magicyang $
10− *
11− * Modified:
12− * Copyright 2004-2006 Analog Devices Inc.
13− *
14− * Bugs: Enter bugs at http://blackfin.uclinux.org/
15− *
16− */
17−
18− How to mount the root file system in uClinux/Blackfin
19− -----------------------------------------------------
20−
21−1 Mounting EXT3 File system.
22− ------------------------
23−
24− Creating an EXT3 File system for uClinux/Blackfin:
25−
26−
27−Please follow the steps to form the EXT3 File system and mount the same as root
28−file system.
29−
30−a Make an ext3 file system as large as you want the final root file
31− system.
32−
33− mkfs.ext3 /dev/ram0 <your-rootfs-size-in-1k-blocks>
34−
35−b Mount this Empty file system on a free directory as:
36−
37− mount -t ext3 /dev/ram0 ./test
38− where ./test is the empty directory.
39−
40−c Copy your root fs directory that you have so carefully made over.
41−
42− cp -af /tmp/my_final_rootfs_files/* ./test
43−
44− (For ex: cp -af uClinux-dist/romfs/* ./test)
45−
46−d If you have done everything right till now you should be able to see
47− the required "root" dir's (that's etc, root, bin, lib, sbin...)
48−
49−e Now unmount the file system
50−
51− umount ./test
52−
53−f Create the root file system image.
54−
55− dd if=/dev/ram0 bs=1k count=<your-rootfs-size-in-1k-blocks> \
56− > ext3fs.img
57−
58−
59−Now you have to tell the kernel that will be mounting this file system as
60−rootfs.
61−So do a make menuconfig under kernel and select the Ext3 journaling file system
62−support under File system --> submenu.
63−
64−
65−2. Mounting EXT2 File system.
66− -------------------------
67−
68−By default the ext2 file system image will be created if you invoke make from
69−the top uClinux-dist directory.
70−
71−
72−3. Mounting CRAMFS File System
73− ----------------------------
74−
75−To create a CRAMFS file system image execute the command
76−
77− mkfs.cramfs ./test cramfs.img
78−
79− where ./test is the target directory.
80−
81−
82−4. Mounting ROMFS File System
83− --------------------------
84−
85−To create a ROMFS file system image execute the command
86−
87− genromfs -v -V "ROMdisk" -f romfs.img -d ./test
88−
89− where ./test is the target directory
90−
91−
92−5. Mounting the JFFS2 Filesystem
93− -----------------------------
94−
95−To create a compressed JFFS filesystem (JFFS2), please execute the command
96−
97− mkfs.jffs2 -d ./test -o jffs2.img
98−
99− where ./test is the target directory.
100−
101−However, please make sure the following is in your kernel config.
102−
103−/*
104− * RAM/ROM/Flash chip drivers
105− */
106−#define CONFIG_MTD_CFI 1
107−#define CONFIG_MTD_ROM 1
108−/*
109− * Mapping drivers for chip access
110− */
111−#define CONFIG_MTD_COMPLEX_MAPPINGS 1
112−#define CONFIG_MTD_BF533 1
113−#undef CONFIG_MTD_UCLINUX
114−
115−Through the u-boot boot loader, use the jffs2.img in the corresponding
116−partition made in linux-2.6.x/drivers/mtd/maps/bf533_flash.c.
117−
118−NOTE - Currently the Flash driver is available only for EZKIT. Watch out for a
119− STAMP driver soon.
120−
121−
122−6. Mounting the NFS File system
123− -----------------------------
124−
125− For mounting the NFS please do the following in the kernel config.
126−
127− In Networking Support --> Networking options --> TCP/IP networking -->
128− IP: kernel level autoconfiguration
129−
130− Enable BOOTP Support.
131−
132− In Kernel hacking --> Compiled-in kernel boot parameter add the following
133−
134− root=/dev/nfs rw ip=bootp
135−
136− In File system --> Network File system, Enable
137−
138− NFS file system support --> NFSv3 client support
139− Root File system on NFS
140−
141− in uClibc menuconfig, do the following
142− In Networking Support
143− enable Remote Procedure Call (RPC) support
144− Full RPC Support
145−
146− On the Host side, ensure that /etc/dhcpd.conf looks something like this
147−
148− ddns-update-style ad-hoc;
149− allow bootp;
150− subnet 10.100.4.0 netmask 255.255.255.0 {
151− default-lease-time 122209600;
152− max-lease-time 31557600;
153− group {
154− host bf533 {
155− hardware ethernet 00:CF:52:49:C3:01;
156− fixed-address 10.100.4.50;
157− option root-path "/home/nfsmount";
158− }
159− }
160−
161− ensure that /etc/exports looks something like this
162− /home/nfsmount *(rw,no_root_squash,no_all_squash)
163−
164− run the following commands as root (may differ depending on your
165− distribution) :
166− - service nfs start
167− - service portmap start
168− - service dhcpd start
169− - /usr/sbin/exportfs
Documentation/blackfin/bfin-spi-notes.txt+14−0
@@ -0,0 +1,14 @@
1+SPI Chip Select behavior:
2+
3+With the Blackfin on-chip SPI peripheral, there is some logic tied to the CPHA
4+bit whether the Slave Select Line is controlled by hardware (CPHA=0) or
5+controlled by software (CPHA=1). However, the Linux SPI bus driver assumes that
6+the Slave Select is always under software control and being asserted during
7+the entire SPI transfer. - And not just bits_per_word duration.
8+
9+In most cases you can utilize SPI MODE_3 instead of MODE_0 to work-around this
10+behavior. If your SPI slave device in question requires SPI MODE_0 or MODE_2
11+timing, you can utilize the GPIO controlled SPI Slave Select option instead.
12+
13+You can even use the same pin whose peripheral role is a SSEL,
14+but use it as a GPIO instead.
Documentation/blackfin/cachefeatures.txt+0−55
@@ -1,55 +0,0 @@
1−/*
2− * File: Documentation/blackfin/cachefeatures.txt
3− * Based on:
4− * Author:
5− *
6− * Created:
7− * Description: This file contains the simple DMA Implementation for Blackfin
8− *
9− * Rev: $Id: cachefeatures.txt 2384 2006-11-01 04:12:43Z magicyang $
10− *
11− * Modified:
12− * Copyright 2004-2006 Analog Devices Inc.
13− *
14− * Bugs: Enter bugs at http://blackfin.uclinux.org/
15− *
16− */
17−
18− - Instruction and Data cache initialization.
19− icache_init();
20− dcache_init();
21−
22− - Instruction and Data cache Invalidation Routines, when flushing the
23− same is not required.
24− _icache_invalidate();
25− _dcache_invalidate();
26−
27− Also, for invalidating the entire instruction and data cache, the below
28− routines are provided (another method for invalidation, refer page no 267 and 287 of
29− ADSP-BF533 Hardware Reference manual)
30−
31− invalidate_entire_dcache();
32− invalidate_entire_icache();
33−
34− -External Flushing of Instruction and data cache routines.
35−
36− flush_instruction_cache();
37− flush_data_cache();
38−
39− - Internal Flushing of Instruction and Data Cache.
40−
41− icplb_flush();
42− dcplb_flush();
43−
44− - Miscellaneous cache functions.
45−
46− flush_cache_all();
47− flush_cache_mm();
48− invalidate_dcache_range();
49− flush_dcache_range();
50− flush_dcache_page();
51− flush_cache_range();
52− flush_cache_page();
53− invalidate_dcache_range();
54− flush_page_to_ram();
55−
Documentation/block/biodoc.txt+1−1
@@ -7,7 +7,7 @@ Notes Written on Jan 15, 2002: · 6 unmodified lines
77
88 Last Updated May 2, 2002
99 September 2003: Updated I/O Scheduler portions
10− Nick Piggin <piggin@cyberone.com.au>
10+ Nick Piggin <npiggin@kernel.dk>
1111
1212 Introduction:
1313
Documentation/blockdev/paride.txt+1−1
@@ -412,6 +412,6 @@ have in your mail headers, when sending mail to the list server. · 411 unmodified lines
412412 You might also find some useful information on the linux-parport
413413 web pages (although they are not always up to date) at
414414
415− http://www.torque.net/parport/
415+ http://web.archive.org/web/*/http://www.torque.net/parport/
416416
417417
Documentation/cdrom/packet-writing.txt+1−1
@@ -95,7 +95,7 @@ Using the pktcdvd sysfs interface · 94 unmodified lines
9595
9696 Since Linux 2.6.20, the pktcdvd module has a sysfs interface
9797 and can be controlled by it. For example the "pktcdvd" tool uses
98−this interface. (see http://people.freenet.de/BalaGi#pktcdvd )
98+this interface. (see http://tom.ist-im-web.de/download/pktcdvd )
9999
100100 "pktcdvd" works similar to "pktsetup", e.g.:
101101
Documentation/cgroups/cpusets.txt+1−1
@@ -691,7 +691,7 @@ There are ways to query or modify cpusets: · 690 unmodified lines
691691 cat, rmdir commands from the shell, or their equivalent from C.
692692 - via the C library libcpuset.
693693 - via the C library libcgroup.
694− (http://sourceforge.net/proects/libcg/)
694+ (http://sourceforge.net/projects/libcg/)
695695 - via the python application cset.
696696 (http://developer.novell.com/wiki/index.php/Cpuset)
697697
Documentation/coccinelle.txt+258−0
@@ -0,0 +1,258 @@
1+Copyright 2010 Nicolas Palix <npalix@diku.dk>
2+Copyright 2010 Julia Lawall <julia@diku.dk>
3+Copyright 2010 Gilles Muller <Gilles.Muller@lip6.fr>
4+
5+
6+ Getting Coccinelle
7+~~~~~~~~~~~~~~~~~~~~
8+
9+The semantic patches included in the kernel use the 'virtual rule'
10+feature which was introduced in Coccinelle version 0.1.11.
11+
12+Coccinelle (>=0.2.0) is available through the package manager
13+of many distributions, e.g. :
14+
15+ - Debian (>=squeeze)
16+ - Fedora (>=13)
17+ - Ubuntu (>=10.04 Lucid Lynx)
18+ - OpenSUSE
19+ - Arch Linux
20+ - NetBSD
21+ - FreeBSD
22+
23+
24+You can get the latest version released from the Coccinelle homepage at
25+http://coccinelle.lip6.fr/
26+
27+Once you have it, run the following command:
28+
29+ ./configure
30+ make
31+
32+as a regular user, and install it with
33+
34+ sudo make install
35+
36+
37+ Using Coccinelle on the Linux kernel
38+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39+
40+A Coccinelle-specific target is defined in the top level
41+Makefile. This target is named 'coccicheck' and calls the 'coccicheck'
42+front-end in the 'scripts' directory.
43+
44+Four modes are defined: report, patch, context, and org. The mode to
45+use is specified by setting the MODE variable with 'MODE=<mode>'.
46+
47+'report' generates a list in the following format:
48+ file:line:column-column: message
49+
50+'patch' proposes a fix, when possible.
51+
52+'context' highlights lines of interest and their context in a
53+diff-like style.Lines of interest are indicated with '-'.
54+
55+'org' generates a report in the Org mode format of Emacs.
56+
57+Note that not all semantic patches implement all modes.
58+
59+To make a report for every semantic patch, run the following command:
60+
61+ make coccicheck MODE=report
62+
63+NB: The 'report' mode is the default one.
64+
65+To produce patches, run:
66+
67+ make coccicheck MODE=patch
68+
69+
70+The coccicheck target applies every semantic patch available in the
71+subdirectories of 'scripts/coccinelle' to the entire Linux kernel.
72+
73+For each semantic patch, a changelog message is proposed. It gives a
74+description of the problem being checked by the semantic patch, and
75+includes a reference to Coccinelle.
76+
77+As any static code analyzer, Coccinelle produces false
78+positives. Thus, reports must be carefully checked, and patches
79+reviewed.
80+
81+
82+ Using Coccinelle with a single semantic patch
83+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
84+
85+The optional make variable COCCI can be used to check a single
86+semantic patch. In that case, the variable must be initialized with
87+the name of the semantic patch to apply.
88+
89+For instance:
90+
91+ make coccicheck COCCI=<my_SP.cocci> MODE=patch
92+or
93+ make coccicheck COCCI=<my_SP.cocci> MODE=report
94+
95+
96+ Proposing new semantic patches
97+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
98+
99+New semantic patches can be proposed and submitted by kernel
100+developers. For sake of clarity, they should be organized in the
101+subdirectories of 'scripts/coccinelle/'.
102+
103+
104+ Detailed description of the 'report' mode
105+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106+
107+'report' generates a list in the following format:
108+ file:line:column-column: message
109+
110+Example:
111+
112+Running
113+
114+ make coccicheck MODE=report COCCI=scripts/coccinelle/err_cast.cocci
115+
116+will execute the following part of the SmPL script.
117+
118+<smpl>
119+@r depends on !context && !patch && (org || report)@
120+expression x;
121+position p;
122+@@
123+
124+ ERR_PTR@p(PTR_ERR(x))
125+
126+@script:python depends on report@
127+p << r.p;
128+x << r.x;
129+@@
130+
131+msg="ERR_CAST can be used with %s" % (x)
132+coccilib.report.print_report(p[0], msg)
133+</smpl>
134+
135+This SmPL excerpt generates entries on the standard output, as
136+illustrated below:
137+
138+/home/user/linux/crypto/ctr.c:188:9-16: ERR_CAST can be used with alg
139+/home/user/linux/crypto/authenc.c:619:9-16: ERR_CAST can be used with auth
140+/home/user/linux/crypto/xts.c:227:9-16: ERR_CAST can be used with alg
141+
142+
143+ Detailed description of the 'patch' mode
144+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
145+
146+When the 'patch' mode is available, it proposes a fix for each problem
147+identified.
148+
149+Example:
150+
151+Running
152+ make coccicheck MODE=patch COCCI=scripts/coccinelle/err_cast.cocci
153+
154+will execute the following part of the SmPL script.
155+
156+<smpl>
157+@ depends on !context && patch && !org && !report @
158+expression x;
159+@@
160+
161+- ERR_PTR(PTR_ERR(x))
162++ ERR_CAST(x)
163+</smpl>
164+
165+This SmPL excerpt generates patch hunks on the standard output, as
166+illustrated below:
167+
168+diff -u -p a/crypto/ctr.c b/crypto/ctr.c
169+--- a/crypto/ctr.c 2010-05-26 10:49:38.000000000 +0200
170++++ b/crypto/ctr.c 2010-06-03 23:44:49.000000000 +0200
171+@@ -185,7 +185,7 @@ static struct crypto_instance *crypto_ct
172+ alg = crypto_attr_alg(tb[1], CRYPTO_ALG_TYPE_CIPHER,
173+ CRYPTO_ALG_TYPE_MASK);
174+ if (IS_ERR(alg))
175+- return ERR_PTR(PTR_ERR(alg));
176++ return ERR_CAST(alg);
177+
178+ /* Block size must be >= 4 bytes. */
179+ err = -EINVAL;
180+
181+ Detailed description of the 'context' mode
182+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
183+
184+'context' highlights lines of interest and their context
185+in a diff-like style.
186+
187+NOTE: The diff-like output generated is NOT an applicable patch. The
188+ intent of the 'context' mode is to highlight the important lines
189+ (annotated with minus, '-') and gives some surrounding context
190+ lines around. This output can be used with the diff mode of
191+ Emacs to review the code.
192+
193+Example:
194+
195+Running
196+ make coccicheck MODE=context COCCI=scripts/coccinelle/err_cast.cocci
197+
198+will execute the following part of the SmPL script.
199+
200+<smpl>
201+@ depends on context && !patch && !org && !report@
202+expression x;
203+@@
204+
205+* ERR_PTR(PTR_ERR(x))
206+</smpl>
207+
208+This SmPL excerpt generates diff hunks on the standard output, as
209+illustrated below:
210+
211+diff -u -p /home/user/linux/crypto/ctr.c /tmp/nothing
212+--- /home/user/linux/crypto/ctr.c 2010-05-26 10:49:38.000000000 +0200
213++++ /tmp/nothing
214+@@ -185,7 +185,6 @@ static struct crypto_instance *crypto_ct
215+ alg = crypto_attr_alg(tb[1], CRYPTO_ALG_TYPE_CIPHER,
216+ CRYPTO_ALG_TYPE_MASK);
217+ if (IS_ERR(alg))
218+- return ERR_PTR(PTR_ERR(alg));
219+
220+ /* Block size must be >= 4 bytes. */
221+ err = -EINVAL;
222+
223+ Detailed description of the 'org' mode
224+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
225+
226+'org' generates a report in the Org mode format of Emacs.
227+
228+Example:
229+
230+Running
231+ make coccicheck MODE=org COCCI=scripts/coccinelle/err_cast.cocci
232+
233+will execute the following part of the SmPL script.
234+
235+<smpl>
236+@r depends on !context && !patch && (org || report)@
237+expression x;
238+position p;
239+@@
240+
241+ ERR_PTR@p(PTR_ERR(x))
242+
243+@script:python depends on org@
244+p << r.p;
245+x << r.x;
246+@@
247+
248+msg="ERR_CAST can be used with %s" % (x)
249+msg_safe=msg.replace("[","@(").replace("]",")")
250+coccilib.org.print_todo(p[0], msg_safe)
251+</smpl>
252+
253+This SmPL excerpt generates Org entries on the standard output, as
254+illustrated below:
255+
256+* TODO [[view:/home/user/linux/crypto/ctr.c::face=ovl-face1::linb=188::colb=9::cole=16][ERR_CAST can be used with alg]]
257+* TODO [[view:/home/user/linux/crypto/authenc.c::face=ovl-face1::linb=619::colb=9::cole=16][ERR_CAST can be used with auth]]
258+* TODO [[view:/home/user/linux/crypto/xts.c::face=ovl-face1::linb=227::colb=9::cole=16][ERR_CAST can be used with alg]]
Documentation/cpu-hotplug.txt+1−1
@@ -2,7 +2,7 @@ · 1 unmodified line
22
33 Maintainers:
44 CPU Hotplug Core:
5− Rusty Russell <rusty@rustycorp.com.au>
5+ Rusty Russell <rusty@rustcorp.com.au>
66 Srivatsa Vaddagiri <vatsa@in.ibm.com>
77 i386:
88 Zwane Mwaikambo <zwane@arm.linux.org.uk>
Documentation/development-process/4.Coding+1−1
@@ -281,7 +281,7 @@ With sparse, the programmer can be warned about confusion between · 280 unmodified lines
281281 user-space and kernel-space addresses, mixture of big-endian and
282282 small-endian quantities, the passing of integer values where a set of bit
283283 flags is expected, and so on. Sparse must be installed separately (it can
284−be found at http://www.kernel.org/pub/software/devel/sparse/ if your
284+be found at https://sparse.wiki.kernel.org/index.php/Main_Page if your
285285 distributor does not package it); it can then be run on the code by adding
286286 "C=1" to your make command.
287287
Documentation/device-mapper/dm-crypt.txt+1−1
@@ -36,7 +36,7 @@ Example scripts · 35 unmodified lines
3636 ===============
3737 LUKS (Linux Unified Key Setup) is now the preferred way to set up disk
3838 encryption with dm-crypt using the 'cryptsetup' utility, see
39−http://luks.endorphin.org/
39+http://clemens.endorphin.org/cryptography
4040
4141 [[
4242 #!/bin/sh
Documentation/devices.txt+6−4
@@ -445,6 +445,7 @@ Your cooperation is appreciated. · 444 unmodified lines
445445 233 = /dev/kmview View-OS A process with a view
446446 234 = /dev/btrfs-control Btrfs control device
447447 235 = /dev/autofs Autofs control device
448+ 236 = /dev/mapper/control Device-Mapper control device
448449 240-254 Reserved for local use
449450 255 Reserved for MISC_DYNAMIC_MINOR
450451
@@ -1517,7 +1518,7 @@ Your cooperation is appreciated. · 1066 unmodified lines
15171518 ...
15181519
15191520 The driver and documentation may be obtained from
1520− http://www.proximity.com.au/~brian/winradio/
1521+ http://www.winradio.com/
15211522
15221523 82 block I2O hard disk
15231524 0 = /dev/i2o/hdag 33rd I2O hard disk, whole disk
@@ -1723,7 +1724,7 @@ Your cooperation is appreciated. · 199 unmodified lines
17231724 1 = /dev/comedi1 Second comedi device
17241725 ...
17251726
1726− See http://stm.lbl.gov/comedi or http://www.llp.fu-berlin.de/.
1727+ See http://stm.lbl.gov/comedi.
17271728
17281729 98 block User-mode virtual block device
17291730 0 = /dev/ubda First user-mode block device
@@ -1984,7 +1985,7 @@ Your cooperation is appreciated. · 254 unmodified lines
19841985 256 NetWare volumes can be supported in a single
19851986 machine.
19861987
1987− http://www.kernel.org/pub/linux/kernel/people/jmerkey/nwfs
1988+ http://cgfa.telepac.pt/ftp2/kernel.org/linux/kernel/people/jmerkey/nwfs/
19881989
19891990 0 = /dev/nwfs/v0 First NetWare (NWFS) Logical Volume
19901991 1 = /dev/nwfs/v1 Second NetWare (NWFS) Logical Volume
@@ -2591,7 +2592,8 @@ Your cooperation is appreciated. · 600 unmodified lines
25912592 1 = /dev/intermezzo1 Second cache manager
25922593 ...
25932594
2594− See http://www.inter-mezzo.org/ for more information.
2595+ See http://web.archive.org/web/20080115195241/
2596+ http://inter-mezzo.org/index.html
25952597
25962598 186 char Object-based storage control device
25972599 0 = /dev/obd0 First obd control device
Documentation/dvb/faq.txt+1−1
@@ -76,7 +76,7 @@ Some very frequently asked questions about linuxtv-dvb · 75 unmodified lines
7676 the TuxBox CVS many interesting DVB applications and the dBox2
7777 DVB source
7878
79− http://sourceforge.net/projects/dvbsak/
79+ http://www.linuxtv.org/downloads/
8080 DVB Swiss Army Knife library and utilities
8181
8282 http://www.nenie.org/misc/mpsys/
Documentation/dvb/get_dvb_firmware+21−4
@@ -26,7 +26,7 @@ use IO::Handle; · 25 unmodified lines
2626 "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004",
2727 "or51211", "or51132_qam", "or51132_vsb", "bluebird",
2828 "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2", "mpc718",
29− "af9015", "ngene");
29+ "af9015", "ngene", "az6027");
3030
3131 # Check args
3232 syntax() if (scalar(@ARGV) != 1);
@@ -518,11 +518,11 @@ sub bluebird { · 485 unmodified lines
518518 sub af9015 {
519519 my $sourcefile = "download.ashx?file=57";
520520 my $url = "http://www.ite.com.tw/EN/Services/$sourcefile";
521− my $hash = "ff5b096ed47c080870eacdab2de33ad6";
521+ my $hash = "e3f08935158038d385ad382442f4bb2d";
522522 my $outfile = "dvb-usb-af9015.fw";
523523 my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
524− my $fwoffset = 0x22708;
525− my $fwlength = 18225;
524+ my $fwoffset = 0x25690;
525+ my $fwlength = 18725;
526526 my ($chunklength, $buf, $rcount);
527527
528528 checkstandard();
@@ -567,6 +567,23 @@ sub ngene { · 38 unmodified lines
567567 "$file1, $file2";
568568 }
569569
570+sub az6027{
571+ my $file = "AZ6027_Linux_Driver.tar.gz";
572+ my $url = "http://linux.terratec.de/files/$file";
573+ my $firmware = "dvb-usb-az6027-03.fw";
574+
575+ wgetfile($file, $url);
576+
577+ #untar
578+ if( system("tar xzvf $file $firmware")){
579+ die "failed to untar firmware";
580+ }
581+ if( system("rm $file")){
582+ die ("unable to remove unnecessary files");
583+ }
584+
585+ $firmware;
586+}
570587 # ---------------------------------------------------------------
571588 # Utilities
572589
Documentation/fb/framebuffer.txt+1−1
@@ -330,7 +330,7 @@ and on its mirrors. · 329 unmodified lines
330330
331331 The latest version of fbset can be found at
332332
333− http://home.tvd.be/cr26864/Linux/fbdev/
333+ http://www.linux-fbdev.org/
334334
335335
336336 10. Credits
Documentation/feature-removal-schedule.txt+43−133
@@ -93,7 +93,7 @@ Why: Broken design for runtime control over driver power states, confusing · 92 unmodified lines
9393 inputs. This framework was never widely used, and most attempts to
9494 use it were broken. Drivers should instead be exposing domain-specific
9595 interfaces either to kernel or to userspace.
96−Who: Pavel Machek <pavel@suse.cz>
96+Who: Pavel Machek <pavel@ucw.cz>
9797
9898 ---------------------------
9999
@@ -116,29 +116,6 @@ Who: Mauro Carvalho Chehab <mchehab@infradead.org> · 16 unmodified lines
116116
117117 ---------------------------
118118
119−What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl])
120−When: 2.6.35/2.6.36
121−Files: drivers/pcmcia/: pcmcia_ioctl.c
122−Why: With the 16-bit PCMCIA subsystem now behaving (almost) like a
123− normal hotpluggable bus, and with it using the default kernel
124− infrastructure (hotplug, driver core, sysfs) keeping the PCMCIA
125− control ioctl needed by cardmgr and cardctl from pcmcia-cs is
126− unnecessary and potentially harmful (it does not provide for
127− proper locking), and makes further cleanups and integration of the
128− PCMCIA subsystem into the Linux kernel device driver model more
129− difficult. The features provided by cardmgr and cardctl are either
130− handled by the kernel itself now or are available in the new
131− pcmciautils package available at
132− http://kernel.org/pub/linux/utils/kernel/pcmcia/
133−
134− For all architectures except ARM, the associated config symbol
135− has been removed from kernel 2.6.34; for ARM, it will be likely
136− be removed from kernel 2.6.35. The actual code will then likely
137− be removed from kernel 2.6.36.
138−Who: Dominik Brodowski <linux@dominikbrodowski.net>
139−
140−---------------------------
141−
142119 What: sys_sysctl
143120 When: September 2010
144121 Option: CONFIG_SYSCTL_SYSCALL
@@ -174,6 +151,31 @@ Who: Eric Biederman <ebiederm@xmission.com> · 29 unmodified lines
174151
175152 ---------------------------
176153
154+What: /proc/<pid>/oom_adj
155+When: August 2012
156+Why: /proc/<pid>/oom_adj allows userspace to influence the oom killer's
157+ badness heuristic used to determine which task to kill when the kernel
158+ is out of memory.
159+
160+ The badness heuristic has since been rewritten since the introduction of
161+ this tunable such that its meaning is deprecated. The value was
162+ implemented as a bitshift on a score generated by the badness()
163+ function that did not have any precise units of measure. With the
164+ rewrite, the score is given as a proportion of available memory to the
165+ task allocating pages, so using a bitshift which grows the score
166+ exponentially is, thus, impossible to tune with fine granularity.
167+
168+ A much more powerful interface, /proc/<pid>/oom_score_adj, was
169+ introduced with the oom killer rewrite that allows users to increase or
170+ decrease the badness() score linearly. This interface will replace
171+ /proc/<pid>/oom_adj.
172+
173+ A warning will be emitted to the kernel log if an application uses this
174+ deprecated interface. After it is printed once, future warnings will be
175+ suppressed until the kernel is rebooted.
176+
177+---------------------------
178+
177179 What: remove EXPORT_SYMBOL(kernel_thread)
178180 When: August 2006
179181 Files: arch/*/kernel/*_ksyms.c
@@ -303,15 +305,6 @@ Who: Johannes Berg <johannes@sipsolutions.net> · 123 unmodified lines
303305
304306 ---------------------------
305307
306−What: CONFIG_NF_CT_ACCT
307−When: 2.6.29
308−Why: Accounting can now be enabled/disabled without kernel recompilation.
309− Currently used only to set a default value for a feature that is also
310− controlled by a kernel/module/sysfs/sysctl parameter.
311−Who: Krzysztof Piotr Oledzki <ole@ans.pl>
312−
313−---------------------------
314−
315308 What: sysfs ui for changing p4-clockmod parameters
316309 When: September 2009
317310 Why: See commits 129f8ae9b1b5be94517da76009ea956e89104ce8 and
@@ -367,24 +360,6 @@ When: 2.6.33 · 49 unmodified lines
367360 Why: Should be implemented in userspace, policy daemon.
368361 Who: Johannes Berg <johannes@sipsolutions.net>
369362
370−---------------------------
371−
372−What: CONFIG_INOTIFY
373−When: 2.6.33
374−Why: last user (audit) will be converted to the newer more generic
375− and more easily maintained fsnotify subsystem
376−Who: Eric Paris <eparis@redhat.com>
377−
378−----------------------------
379−
380−What: lock_policy_rwsem_* and unlock_policy_rwsem_* will not be
381− exported interface anymore.
382−When: 2.6.33
383−Why: cpu_policy_rwsem has a new cleaner definition making it local to
384− cpufreq core and contained inside cpufreq.c. Other dependent
385− drivers should not use it in order to safely avoid lockdep issues.
386−Who: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
387−
388363 ----------------------------
389364
390365 What: sound-slot/service-* module aliases and related clutters in
@@ -459,57 +434,6 @@ Who: Corentin Chary <corentin.chary@gmail.com> · 68 unmodified lines
459434
460435 ----------------------------
461436
462−What: usbvideo quickcam_messenger driver
463−When: 2.6.35
464−Files: drivers/media/video/usbvideo/quickcam_messenger.[ch]
465−Why: obsolete v4l1 driver replaced by gspca_stv06xx
466−Who: Hans de Goede <hdegoede@redhat.com>
467−
468−----------------------------
469−
470−What: ov511 v4l1 driver
471−When: 2.6.35
472−Files: drivers/media/video/ov511.[ch]
473−Why: obsolete v4l1 driver replaced by gspca_ov519
474−Who: Hans de Goede <hdegoede@redhat.com>
475−
476−----------------------------
477−
478−What: w9968cf v4l1 driver
479−When: 2.6.35
480−Files: drivers/media/video/w9968cf*.[ch]
481−Why: obsolete v4l1 driver replaced by gspca_ov519
482−Who: Hans de Goede <hdegoede@redhat.com>
483−
484−----------------------------
485−
486−What: ovcamchip sensor framework
487−When: 2.6.35
488−Files: drivers/media/video/ovcamchip/*
489−Why: Only used by obsoleted v4l1 drivers
490−Who: Hans de Goede <hdegoede@redhat.com>
491−
492−----------------------------
493−
494−What: stv680 v4l1 driver
495−When: 2.6.35
496−Files: drivers/media/video/stv680.[ch]
497−Why: obsolete v4l1 driver replaced by gspca_stv0680
498−Who: Hans de Goede <hdegoede@redhat.com>
499−
500−----------------------------
501−
502−What: zc0301 v4l driver
503−When: 2.6.35
504−Files: drivers/media/video/zc0301/*
505−Why: Duplicate functionality with the gspca_zc3xx driver, zc0301 only
506− supports 2 USB-ID's (because it only supports a limited set of
507− sensors) wich are also supported by the gspca_zc3xx driver
508− (which supports 53 USB-ID's in total)
509−Who: Hans de Goede <hdegoede@redhat.com>
510−
511−----------------------------
512−
513437 What: sysfs-class-rfkill state file
514438 When: Feb 2014
515439 Files: net/rfkill/core.c
@@ -538,37 +462,6 @@ Who: Jan Kiszka <jan.kiszka@web.de> · 22 unmodified lines
538462
539463 ----------------------------
540464
541−What: KVM memory aliases support
542−When: July 2010
543−Why: Memory aliasing support is used for speeding up guest vga access
544− through the vga windows.
545−
546− Modern userspace no longer uses this feature, so it's just bitrotted
547− code and can be removed with no impact.
548−Who: Avi Kivity <avi@redhat.com>
549−
550−----------------------------
551−
552−What: xtime, wall_to_monotonic
553−When: 2.6.36+
554−Files: kernel/time/timekeeping.c include/linux/time.h
555−Why: Cleaning up timekeeping internal values. Please use
556− existing timekeeping accessor functions to access
557− the equivalent functionality.
558−Who: John Stultz <johnstul@us.ibm.com>
559−
560−----------------------------
561−
562−What: KVM kernel-allocated memory slots
563−When: July 2010
564−Why: Since 2.6.25, kvm supports user-allocated memory slots, which are
565− much more flexible than kernel-allocated slots. All current userspace
566− supports the newer interface and this code can be removed with no
567− impact.
568−Who: Avi Kivity <avi@redhat.com>
569−
570−----------------------------
571−
572465 What: KVM paravirt mmu host support
573466 When: January 2011
574467 Why: The paravirt mmu host support is slower than non-paravirt mmu, both
@@ -654,3 +547,20 @@ Why: superseded by acpi_sleep=nonvs · 79 unmodified lines
654547 Who: Rafael J. Wysocki <rjw@sisk.pl>
655548
656549 ----------------------------
550+
551+What: PCI DMA unmap state API
552+When: August 2012
553+Why: PCI DMA unmap state API (include/linux/pci-dma.h) was replaced
554+ with DMA unmap state API (DMA unmap state API can be used for
555+ any bus).
556+Who: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
557+
558+----------------------------
559+
560+What: DMA_xxBIT_MASK macros
561+When: Jun 2011
562+Why: DMA_xxBIT_MASK macros were replaced with DMA_BIT_MASK() macros.
563+Who: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
564+
565+----------------------------
566+
Documentation/filesystems/9p.txt+1−1
@@ -128,7 +128,7 @@ OPTIONS · 127 unmodified lines
128128 RESOURCES
129129 =========
130130
131−Our current recommendation is to use Inferno (http://www.vitanuova.com/inferno)
131+Our current recommendation is to use Inferno (http://www.vitanuova.com/nferno/index.html)
132132 as the 9p server. You can start a 9p server under Inferno by issuing the
133133 following command:
134134 ; styxlisten -A tcp!*!564 export '#U*'
Documentation/filesystems/Locking+13−17
@@ -92,8 +92,8 @@ prototypes: · 91 unmodified lines
9292 void (*destroy_inode)(struct inode *);
9393 void (*dirty_inode) (struct inode *);
9494 int (*write_inode) (struct inode *, int);
95− void (*drop_inode) (struct inode *);
96− void (*delete_inode) (struct inode *);
95+ int (*drop_inode) (struct inode *);
96+ void (*evict_inode) (struct inode *);
9797 void (*put_super) (struct super_block *);
9898 void (*write_super) (struct super_block *);
9999 int (*sync_fs)(struct super_block *sb, int wait);
@@ -101,14 +101,13 @@ prototypes: · 1 unmodified line
101101 int (*unfreeze_fs) (struct super_block *);
102102 int (*statfs) (struct dentry *, struct kstatfs *);
103103 int (*remount_fs) (struct super_block *, int *, char *);
104− void (*clear_inode) (struct inode *);
105104 void (*umount_begin) (struct super_block *);
106105 int (*show_options)(struct seq_file *, struct vfsmount *);
107106 ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t);
108107 ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t);
109108
110109 locking rules:
111− All may block.
110+ All may block [not true, see below]
112111 None have BKL
113112 s_umount
114113 alloc_inode:
@@ -116,22 +115,25 @@ destroy_inode: · 1 unmodified line
116115 dirty_inode: (must not sleep)
117116 write_inode:
118117 drop_inode: !!!inode_lock!!!
119−delete_inode:
118+evict_inode:
120119 put_super: write
121120 write_super: read
122121 sync_fs: read
123122 freeze_fs: read
124123 unfreeze_fs: read
125−statfs: no
126−remount_fs: maybe (see below)
127−clear_inode:
124+statfs: maybe(read) (see below)
125+remount_fs: write
128126 umount_begin: no
129127 show_options: no (namespace_sem)
130128 quota_read: no (see below)
131129 quota_write: no (see below)
132130
133−->remount_fs() will have the s_umount exclusive lock if it's already mounted.
134−When called from get_sb_single, it does NOT have the s_umount lock.
131+->statfs() has s_umount (shared) when called by ustat(2) (native or
132+compat), but that's an accident of bad API; s_umount is used to pin
133+the superblock down when we only have dev_t given us by userland to
134+identify the superblock. Everything else (statfs(), fstatfs(), etc.)
135+doesn't hold it when calling ->statfs() - superblock is pinned down
136+by resolving the pathname passed to syscall.
135137 ->quota_read() and ->quota_write() functions are both guaranteed to
136138 be the only ones operating on the quota file by the quota code (via
137139 dqio_sem) (unless an admin really wants to screw up something and
@@ -372,8 +374,6 @@ prototypes: · 234 unmodified lines
372374 ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
373375 int (*readdir) (struct file *, void *, filldir_t);
374376 unsigned int (*poll) (struct file *, struct poll_table_struct *);
375− int (*ioctl) (struct inode *, struct file *, unsigned int,
376− unsigned long);
377377 long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
378378 long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
379379 int (*mmap) (struct file *, struct vm_area_struct *);
@@ -407,8 +407,7 @@ write: no · 27 unmodified lines
407407 aio_write: no
408408 readdir: no
409409 poll: no
410−ioctl: yes (see below)
411−unlocked_ioctl: no (see below)
410+unlocked_ioctl: no
412411 compat_ioctl: no
413412 mmap: no
414413 open: no
@@ -451,9 +450,6 @@ move ->readdir() to inode_operations and use a separate method for directory · 36 unmodified lines
451450 anything that resembles union-mount we won't have a struct file for all
452451 components. And there are other reasons why the current interface is a mess...
453452
454−->ioctl() on regular files is superceded by the ->unlocked_ioctl() that
455−doesn't take the BKL.
456−
457453 ->read on directories probably must go away - we should just enforce -EISDIR
458454 in sys_read() and friends.
459455
Documentation/filesystems/affs.txt+1−1
@@ -216,4 +216,4 @@ due to an incompatibility with the Amiga floppy controller. · 215 unmodified lines
216216
217217 If you are interested in an Amiga Emulator for Linux, look at
218218
219−http://www.freiburg.linux.de/~uae/
219+http://web.archive.org/web/*/http://www.freiburg.linux.de/~uae/
Documentation/filesystems/befs.txt+2−2
@@ -31,7 +31,7 @@ Current maintainer: Sergey S. Kostyliov <rathamahata@php4.ru> · 30 unmodified lines
3131
3232 WHAT IS THIS DRIVER?
3333 ==================
34−This module implements the native filesystem of BeOS <http://www.be.com/>
34+This module implements the native filesystem of BeOS http://www.beincorporated.com/
3535 for the linux 2.4.1 and later kernels. Currently it is a read-only
3636 implementation.
3737
@@ -61,7 +61,7 @@ step 2. Configuration & make kernel · 23 unmodified lines
6161
6262 The linux kernel has many compile-time options. Most of them are beyond the
6363 scope of this document. I suggest the Kernel-HOWTO document as a good general
64−reference on this topic. <http://www.linux.com/howto/Kernel-HOWTO.html>
64+reference on this topic. http://www.linuxdocs.org/HOWTOs/Kernel-HOWTO-4.html
6565
6666 However, to use the BeFS module, you must enable it at configure time.
6767
Documentation/filesystems/caching/fscache.txt+5−5
@@ -343,8 +343,8 @@ This will look something like: · 342 unmodified lines
343343 [root@andromeda ~]# head /proc/fs/fscache/objects
344344 OBJECT PARENT STAT CHLDN OPS OOP IPR EX READS EM EV F S | NETFS_COOKIE_DEF TY FL NETFS_DATA OBJECT_KEY, AUX_DATA
345345 ======== ======== ==== ===== === === === == ===== == == = = | ================ == == ================ ================
346− 17e4b 2 ACTV 0 0 0 0 0 0 7b 4 0 8 | NFS.fh DT 0 ffff88001dd82820 010006017edcf8bbc93b43298fdfbe71e50b57b13a172c0117f38472, e567634700000000000000000000000063f2404a000000000000000000000000c9030000000000000000000063f2404a
347− 1693a 2 ACTV 0 0 0 0 0 0 7b 4 0 8 | NFS.fh DT 0 ffff88002db23380 010006017edcf8bbc93b43298fdfbe71e50b57b1e0162c01a2df0ea6, 420ebc4a000000000000000000000000420ebc4a0000000000000000000000000e1801000000000000000000420ebc4a
346+ 17e4b 2 ACTV 0 0 0 0 0 0 7b 4 0 0 | NFS.fh DT 0 ffff88001dd82820 010006017edcf8bbc93b43298fdfbe71e50b57b13a172c0117f38472, e567634700000000000000000000000063f2404a000000000000000000000000c9030000000000000000000063f2404a
347+ 1693a 2 ACTV 0 0 0 0 0 0 7b 4 0 0 | NFS.fh DT 0 ffff88002db23380 010006017edcf8bbc93b43298fdfbe71e50b57b1e0162c01a2df0ea6, 420ebc4a000000000000000000000000420ebc4a0000000000000000000000000e1801000000000000000000420ebc4a
348348
349349 where the first set of columns before the '|' describe the object:
350350
@@ -362,7 +362,7 @@ where the first set of columns before the '|' describe the object: · 11 unmodified lines
362362 EM Object's event mask
363363 EV Events raised on this object
364364 F Object flags
365− S Object slow-work work item flags
365+ S Object work item busy state mask (1:pending 2:running)
366366
367367 and the second set of columns describe the object's cookie, if present:
368368
@@ -395,8 +395,8 @@ and the following paired letters: · 26 unmodified lines
395395 w Show objects that don't have pending writes
396396 R Show objects that have outstanding reads
397397 r Show objects that don't have outstanding reads
398− S Show objects that have slow work queued
399− s Show objects that don't have slow work queued
398+ S Show objects that have work queued
399+ s Show objects that don't have work queued
400400
401401 If neither side of a letter pair is given, then both are implied. For example:
402402
Documentation/filesystems/isofs.txt+1−1
@@ -41,7 +41,7 @@ Mount options unique to the isofs filesystem. · 40 unmodified lines
4141 sbsector=xxx Session begins from sector xxx
4242
4343 Recommended documents about ISO 9660 standard are located at:
44−http://www.y-adagio.com/public/standards/iso_cdromr/tocont.htm
44+http://www.y-adagio.com/
4545 ftp://ftp.ecma.ch/ecma-st/Ecma-119.pdf
4646 Quoting from the PDF "This 2nd Edition of Standard ECMA-119 is technically
4747 identical with ISO 9660.", so it is a valid and gratis substitute of the
Documentation/filesystems/nfs/nfsroot.txt+2−0
@@ -124,6 +124,8 @@ ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf> · 123 unmodified lines
124124
125125 <hostname> Name of the client. May be supplied by autoconfiguration,
126126 but its absence will not trigger autoconfiguration.
127+ If specified and DHCP is used, the user provided hostname will
128+ be carried in the DHCP request to hopefully update DNS record.
127129
128130 Default: Client IP address is used in ASCII notation.
129131
Documentation/filesystems/nilfs2.txt+8−4
@@ -49,7 +49,10 @@ Mount options · 48 unmodified lines
4949 NILFS2 supports the following mount options:
5050 (*) == default
5151
52−nobarrier Disables barriers.
52+barrier(*) This enables/disables the use of write barriers. This
53+nobarrier requires an IO stack which can support barriers, and
54+ if nilfs gets an error on a barrier write, it will
55+ disable again with a warning.
5356 errors=continue Keep going on a filesystem error.
5457 errors=remount-ro(*) Remount the filesystem read-only on an error.
5558 errors=panic Panic and halt the machine if an error occurs.
@@ -74,9 +77,10 @@ norecovery Disable recovery of the filesystem on mount. · 18 unmodified lines
7477 This disables every write access on the device for
7578 read-only mounts or snapshots. This option will fail
7679 for r/w mounts on an unclean volume.
77−discard Issue discard/TRIM commands to the underlying block
78− device when blocks are freed. This is useful for SSD
79− devices and sparse/thinly-provisioned LUNs.
80+discard This enables/disables the use of discard/TRIM commands.
81+nodiscard(*) The discard/TRIM commands are sent to the underlying
82+ block device when blocks are freed. This is useful
83+ for SSD devices and sparse/thinly-provisioned LUNs.
8084
8185 NILFS2 usage
8286 ============
Documentation/filesystems/porting+45−0
@@ -273,3 +273,48 @@ it's safe to remove it. If you don't need it, remove it. · 272 unmodified lines
273273 deliberate; as soon as struct block_device * is propagated in a reasonable
274274 way by that code fixing will become trivial; until then nothing can be
275275 done.
276+
277+[mandatory]
278+
279+ block truncatation on error exit from ->write_begin, and ->direct_IO
280+moved from generic methods (block_write_begin, cont_write_begin,
281+nobh_write_begin, blockdev_direct_IO*) to callers. Take a look at
282+ext2_write_failed and callers for an example.
283+
284+[mandatory]
285+
286+ ->truncate is going away. The whole truncate sequence needs to be
287+implemented in ->setattr, which is now mandatory for filesystems
288+implementing on-disk size changes. Start with a copy of the old inode_setattr
289+and vmtruncate, and the reorder the vmtruncate + foofs_vmtruncate sequence to
290+be in order of zeroing blocks using block_truncate_page or similar helpers,
291+size update and on finally on-disk truncation which should not fail.
292+inode_change_ok now includes the size checks for ATTR_SIZE and must be called
293+in the beginning of ->setattr unconditionally.
294+
295+[mandatory]
296+
297+ ->clear_inode() and ->delete_inode() are gone; ->evict_inode() should
298+be used instead. It gets called whenever the inode is evicted, whether it has
299+remaining links or not. Caller does *not* evict the pagecache or inode-associated
300+metadata buffers; getting rid of those is responsibility of method, as it had
301+been for ->delete_inode().
302+ ->drop_inode() returns int now; it's called on final iput() with inode_lock
303+held and it returns true if filesystems wants the inode to be dropped. As before,
304+generic_drop_inode() is still the default and it's been updated appropriately.
305+generic_delete_inode() is also alive and it consists simply of return 1. Note that
306+all actual eviction work is done by caller after ->drop_inode() returns.
307+ clear_inode() is gone; use end_writeback() instead. As before, it must
308+be called exactly once on each call of ->evict_inode() (as it used to be for
309+each call of ->delete_inode()). Unlike before, if you are using inode-associated
310+metadata buffers (i.e. mark_buffer_dirty_inode()), it's your responsibility to
311+call invalidate_inode_buffers() before end_writeback().
312+ No async writeback (and thus no calls of ->write_inode()) will happen
313+after end_writeback() returns, so actions that should not overlap with ->write_inode()
314+(e.g. freeing on-disk inode if i_nlink is 0) ought to be done after that call.
315+
316+ NOTE: checking i_nlink in the beginning of ->write_inode() and bailing out
317+if it's zero is not *and* *never* *had* *been* enough. Final unlink() and iput()
318+may happen while the inode is in the middle of ->write_inode(); e.g. if you blindly
319+free the on-disk inode, you may end up doing that while ->write_inode() is writing
320+to it.
Documentation/filesystems/proc.txt+62−39
@@ -33,7 +33,8 @@ Table of Contents · 32 unmodified lines
3333 2 Modifying System Parameters
3434
3535 3 Per-Process Parameters
36− 3.1 /proc/<pid>/oom_adj - Adjust the oom-killer score
36+ 3.1 /proc/<pid>/oom_adj & /proc/<pid>/oom_score_adj - Adjust the oom-killer
37+ score
3738 3.2 /proc/<pid>/oom_score - Display current oom-killer score
3839 3.3 /proc/<pid>/io - Display the IO accounting fields
3940 3.4 /proc/<pid>/coredump_filter - Core dump filtering settings
@@ -73,9 +74,9 @@ contact Bodo Bauer at bb@ricochet.net. We'll be happy to add them to this · 33 unmodified lines
7374 document.
7475
7576 The latest version of this document is available online at
76−http://skaro.nightcrawler.com/~bb/Docs/Proc as HTML version.
77+http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/proc.html
7778
78−If the above direction does not works for you, ypu could try the kernel
79+If the above direction does not works for you, you could try the kernel
7980 mailing list at linux-kernel@vger.kernel.org and/or try to reach me at
8081 comandante@zaralinux.com.
8182
@@ -1234,42 +1235,64 @@ of the kernel. · 1152 unmodified lines
12341235 CHAPTER 3: PER-PROCESS PARAMETERS
12351236 ------------------------------------------------------------------------------
12361237
1237−3.1 /proc/<pid>/oom_adj - Adjust the oom-killer score
1238−------------------------------------------------------
1239−
1240−This file can be used to adjust the score used to select which processes
1241−should be killed in an out-of-memory situation. Giving it a high score will
1242−increase the likelihood of this process being killed by the oom-killer. Valid
1243−values are in the range -16 to +15, plus the special value -17, which disables
1244−oom-killing altogether for this process.
1245−
1246−The process to be killed in an out-of-memory situation is selected among all others
1247−based on its badness score. This value equals the original memory size of the process
1248−and is then updated according to its CPU time (utime + stime) and the
1249−run time (uptime - start time). The longer it runs the smaller is the score.
1250−Badness score is divided by the square root of the CPU time and then by
1251−the double square root of the run time.
1252−
1253−Swapped out tasks are killed first. Half of each child's memory size is added to
1254−the parent's score if they do not share the same memory. Thus forking servers
1255−are the prime candidates to be killed. Having only one 'hungry' child will make
1256−parent less preferable than the child.
1257−
1258−/proc/<pid>/oom_score shows process' current badness score.
1259−
1260−The following heuristics are then applied:
1261− * if the task was reniced, its score doubles
1262− * superuser or direct hardware access tasks (CAP_SYS_ADMIN, CAP_SYS_RESOURCE
1263− or CAP_SYS_RAWIO) have their score divided by 4
1264− * if oom condition happened in one cpuset and checked process does not belong
1265− to it, its score is divided by 8
1266− * the resulting score is multiplied by two to the power of oom_adj, i.e.
1267− points <<= oom_adj when it is positive and
1268− points >>= -(oom_adj) otherwise
1269−
1270−The task with the highest badness score is then selected and its children
1271−are killed, process itself will be killed in an OOM situation when it does
1272−not have children or some of them disabled oom like described above.
1238+3.1 /proc/<pid>/oom_adj & /proc/<pid>/oom_score_adj- Adjust the oom-killer score
1239+--------------------------------------------------------------------------------
1240+
1241+These file can be used to adjust the badness heuristic used to select which
1242+process gets killed in out of memory conditions.
1243+
1244+The badness heuristic assigns a value to each candidate task ranging from 0
1245+(never kill) to 1000 (always kill) to determine which process is targeted. The
1246+units are roughly a proportion along that range of allowed memory the process
1247+may allocate from based on an estimation of its current memory and swap use.
1248+For example, if a task is using all allowed memory, its badness score will be
1249+1000. If it is using half of its allowed memory, its score will be 500.
1250+
1251+There is an additional factor included in the badness score: root
1252+processes are given 3% extra memory over other tasks.
1253+
1254+The amount of "allowed" memory depends on the context in which the oom killer
1255+was called. If it is due to the memory assigned to the allocating task's cpuset
1256+being exhausted, the allowed memory represents the set of mems assigned to that
1257+cpuset. If it is due to a mempolicy's node(s) being exhausted, the allowed
1258+memory represents the set of mempolicy nodes. If it is due to a memory
1259+limit (or swap limit) being reached, the allowed memory is that configured
1260+limit. Finally, if it is due to the entire system being out of memory, the
1261+allowed memory represents all allocatable resources.
1262+
1263+The value of /proc/<pid>/oom_score_adj is added to the badness score before it
1264+is used to determine which task to kill. Acceptable values range from -1000
1265+(OOM_SCORE_ADJ_MIN) to +1000 (OOM_SCORE_ADJ_MAX). This allows userspace to
1266+polarize the preference for oom killing either by always preferring a certain
1267+task or completely disabling it. The lowest possible value, -1000, is
1268+equivalent to disabling oom killing entirely for that task since it will always
1269+report a badness score of 0.
1270+
1271+Consequently, it is very simple for userspace to define the amount of memory to
1272+consider for each task. Setting a /proc/<pid>/oom_score_adj value of +500, for
1273+example, is roughly equivalent to allowing the remainder of tasks sharing the
1274+same system, cpuset, mempolicy, or memory controller resources to use at least
1275+50% more memory. A value of -500, on the other hand, would be roughly
1276+equivalent to discounting 50% of the task's allowed memory from being considered
1277+as scoring against the task.
1278+
1279+For backwards compatibility with previous kernels, /proc/<pid>/oom_adj may also
1280+be used to tune the badness score. Its acceptable values range from -16
1281+(OOM_ADJUST_MIN) to +15 (OOM_ADJUST_MAX) and a special value of -17
1282+(OOM_DISABLE) to disable oom killing entirely for that task. Its value is
1283+scaled linearly with /proc/<pid>/oom_score_adj.
1284+
1285+Writing to /proc/<pid>/oom_score_adj or /proc/<pid>/oom_adj will change the
1286+other with its scaled value.
1287+
1288+NOTICE: /proc/<pid>/oom_adj is deprecated and will be removed, please see
1289+Documentation/feature-removal-schedule.txt.
1290+
1291+Caveat: when a parent task is selected, the oom killer will sacrifice any first
1292+generation children with seperate address spaces instead, if possible. This
1293+avoids servers and important system daemons from being killed and loses the
1294+minimal amount of work.
1295+
12731296
12741297 3.2 /proc/<pid>/oom_score - Display current oom-killer score
12751298 -------------------------------------------------------------
Documentation/filesystems/squashfs.txt+1−1
@@ -2,7 +2,7 @@ SQUASHFS 4.0 FILESYSTEM · 1 unmodified line
22 =======================
33
44 Squashfs is a compressed read-only filesystem for Linux.
5−It uses zlib compression to compress files, inodes and directories.
5+It uses zlib/lzo compression to compress files, inodes and directories.
66 Inodes in the system are very small and all blocks are packed to minimise
77 data overhead. Block sizes greater than 4K are supported up to a maximum
88 of 1Mbytes (default block size 128K).
Documentation/filesystems/sysfs-pci.txt+5−2
@@ -39,7 +39,7 @@ files, each with their own function. · 38 unmodified lines
3939 local_cpus nearby CPU mask (cpumask, ro)
4040 remove remove device from kernel's list (ascii, wo)
4141 resource PCI resource host addresses (ascii, ro)
42− resource0..N PCI resource N, if present (binary, mmap)
42+ resource0..N PCI resource N, if present (binary, mmap, rw[1])
4343 resource0_wc..N_wc PCI WC map resource N, if prefetchable (binary, mmap)
4444 rom PCI ROM resource, if present (binary, ro)
4545 subsystem_device PCI subsystem device (ascii, ro)
@@ -54,13 +54,16 @@ files, each with their own function. · 8 unmodified lines
5454 binary - file contains binary data
5555 cpumask - file contains a cpumask type
5656
57+[1] rw for RESOURCE_IO (I/O port) regions only
58+
5759 The read only files are informational, writes to them will be ignored, with
5860 the exception of the 'rom' file. Writable files can be used to perform
5961 actions on the device (e.g. changing config space, detaching a device).
6062 mmapable files are available via an mmap of the file at offset 0 and can be
6163 used to do actual device programming from userspace. Note that some platforms
6264 don't support mmapping of certain resources, so be sure to check the return
63−value from any attempted mmap.
65+value from any attempted mmap. The most notable of these are I/O port
66+resources, which also provide read/write access.
6467
6568 The 'enable' file provides a counter that indicates how many times the device
6669 has been enabled. If the 'enable' file currently returns '4', and a '1' is
Documentation/filesystems/sysfs.txt+26−20
@@ -4,7 +4,7 @@ sysfs - _The_ filesystem for exporting kernel objects. · 3 unmodified lines
44 Patrick Mochel <mochel@osdl.org>
55 Mike Murphy <mamurph@cs.clemson.edu>
66
7−Revised: 22 February 2009
7+Revised: 15 July 2010
88 Original: 10 January 2003
99
1010
@@ -124,7 +124,7 @@ show and store methods of the attribute owners. · 113 unmodified lines
124124
125125 struct sysfs_ops {
126126 ssize_t (*show)(struct kobject *, struct attribute *, char *);
127− ssize_t (*store)(struct kobject *, struct attribute *, const char *);
127+ ssize_t (*store)(struct kobject *, struct attribute *, const char *, size_t);
128128 };
129129
130130 [ Subsystems should have already defined a struct kobj_type as a
@@ -139,18 +139,22 @@ calls the associated methods. · 8 unmodified lines
139139
140140 To illustrate:
141141
142+#define to_dev(obj) container_of(obj, struct device, kobj)
142143 #define to_dev_attr(_attr) container_of(_attr, struct device_attribute, attr)
143−#define to_dev(d) container_of(d, struct device, kobj)
144144
145−static ssize_t
146−dev_attr_show(struct kobject * kobj, struct attribute * attr, char * buf)
145+static ssize_t dev_attr_show(struct kobject *kobj, struct attribute *attr,
146+ char *buf)
147147 {
148− struct device_attribute * dev_attr = to_dev_attr(attr);
149− struct device * dev = to_dev(kobj);
150− ssize_t ret = 0;
148+ struct device_attribute *dev_attr = to_dev_attr(attr);
149+ struct device *dev = to_dev(kobj);
150+ ssize_t ret = -EIO;
151151
152152 if (dev_attr->show)
153− ret = dev_attr->show(dev, buf);
153+ ret = dev_attr->show(dev, dev_attr, buf);
154+ if (ret >= (ssize_t)PAGE_SIZE) {
155+ print_symbol("dev_attr_show: %s returned bad count\n",
156+ (unsigned long)dev_attr->show);
157+ }
154158 return ret;
155159 }
156160
@@ -163,10 +167,9 @@ To read or write attributes, show() or store() methods must be · 6 unmodified lines
163167 specified when declaring the attribute. The method types should be as
164168 simple as those defined for device attributes:
165169
166−ssize_t (*show)(struct device * dev, struct device_attribute * attr,
167− char * buf);
168−ssize_t (*store)(struct device * dev, struct device_attribute * attr,
169− const char * buf);
170+ssize_t (*show)(struct device *dev, struct device_attribute *attr, char *buf);
171+ssize_t (*store)(struct device *dev, struct device_attribute *attr,
172+ const char *buf, size_t count);
170173
171174 IOW, they should take only an object, an attribute, and a buffer as parameters.
172175
@@ -209,8 +212,8 @@ Other notes: · 36 unmodified lines
209212
210213 - show() should always use snprintf().
211214
212−- store() should return the number of bytes used from the buffer. This
213− can be done using strlen().
215+- store() should return the number of bytes used from the buffer. If the
216+ entire buffer has been used, just return the count argument.
214217
215218 - show() or store() can always return errors. If a bad value comes
216219 through, be sure to return an error.
@@ -223,15 +226,18 @@ Other notes: · 6 unmodified lines
223226
224227 A very simple (and naive) implementation of a device attribute is:
225228
226−static ssize_t show_name(struct device *dev, struct device_attribute *attr, char *buf)
229+static ssize_t show_name(struct device *dev, struct device_attribute *attr,
230+ char *buf)
227231 {
228232 return snprintf(buf, PAGE_SIZE, "%s\n", dev->name);
229233 }
230234
231−static ssize_t store_name(struct device * dev, const char * buf)
235+static ssize_t store_name(struct device *dev, struct device_attribute *attr,
236+ const char *buf, size_t count)
232237 {
233− sscanf(buf, "%20s", dev->name);
234− return strnlen(buf, PAGE_SIZE);
238+ snprintf(dev->name, sizeof(dev->name), "%.*s",
239+ (int)min(count, sizeof(dev->name) - 1), buf);
240+ return count;
235241 }
236242
237243 static DEVICE_ATTR(name, S_IRUGO, show_name, store_name);
@@ -327,7 +333,7 @@ Structure: · 89 unmodified lines
327333 struct bus_attribute {
328334 struct attribute attr;
329335 ssize_t (*show)(struct bus_type *, char * buf);
330− ssize_t (*store)(struct bus_type *, const char * buf);
336+ ssize_t (*store)(struct bus_type *, const char * buf, size_t count);
331337 };
332338
333339 Declaring:
Documentation/filesystems/vfat.txt+2−1
@@ -165,7 +165,8 @@ TEST SUITE · 164 unmodified lines
165165 If you plan to make any modifications to the vfat filesystem, please
166166 get the test suite that comes with the vfat distribution at
167167
168− http://bmrc.berkeley.edu/people/chaffee/vfat.html
168+ http://web.archive.org/web/*/http://bmrc.berkeley.edu/
169+ people/chaffee/vfat.html
169170
170171 This tests quite a few parts of the vfat filesystem and additional
171172 tests for new features or untested features would be appreciated.
Documentation/filesystems/vfs.txt+1−5
@@ -727,7 +727,6 @@ struct file_operations { · 726 unmodified lines
727727 ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
728728 int (*readdir) (struct file *, void *, filldir_t);
729729 unsigned int (*poll) (struct file *, struct poll_table_struct *);
730− int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
731730 long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
732731 long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
733732 int (*mmap) (struct file *, struct vm_area_struct *);
@@ -768,10 +767,7 @@ otherwise noted. · 34 unmodified lines
768767 activity on this file and (optionally) go to sleep until there
769768 is activity. Called by the select(2) and poll(2) system calls
770769
771− ioctl: called by the ioctl(2) system call
772−
773− unlocked_ioctl: called by the ioctl(2) system call. Filesystems that do not
774− require the BKL should use this method instead of the ioctl() above.
770+ unlocked_ioctl: called by the ioctl(2) system call.
775771
776772 compat_ioctl: called by the ioctl(2) system call when 32 bit system calls
777773 are used on 64 bit kernels.
Documentation/filesystems/xfs.txt+0−11
@@ -131,17 +131,6 @@ When mounting an XFS filesystem, the following options are accepted. · 130 unmodified lines
131131 Don't check for double mounted file systems using the file system uuid.
132132 This is useful to mount LVM snapshot volumes.
133133
134− osyncisosync
135− Make O_SYNC writes implement true O_SYNC. WITHOUT this option,
136− Linux XFS behaves as if an "osyncisdsync" option is used,
137− which will make writes to files opened with the O_SYNC flag set
138− behave as if the O_DSYNC flag had been used instead.
139− This can result in better performance without compromising
140− data safety.
141− However if this option is not in effect, timestamp updates from
142− O_SYNC writes can be lost if the system crashes.
143− If timestamp updates are critical, use the osyncisosync option.
144−
145134 uquota/usrquota/uqnoenforce/quota
146135 User disk quota accounting enabled, and limits (optionally)
147136 enforced. Refer to xfs_quota(8) for further details.
Documentation/firmware_class/hotplug-script+9−8
@@ -6,11 +6,12 @@ · 5 unmodified lines
66
77 HOTPLUG_FW_DIR=/usr/lib/hotplug/firmware/
88
9−echo 1 > /sys/$DEVPATH/loading
10−cat $HOTPLUG_FW_DIR/$FIRMWARE > /sys/$DEVPATH/data
11−echo 0 > /sys/$DEVPATH/loading
12−
13−# To cancel the load in case of error:
14−#
15−# echo -1 > /sys/$DEVPATH/loading
16−#
9+if [ "$SUBSYSTEM" == "firmware" -a "$ACTION" == "add" ]; then
10+ if [ -f $HOTPLUG_FW_DIR/$FIRMWARE ]; then
11+ echo 1 > /sys/$DEVPATH/loading
12+ cat $HOTPLUG_FW_DIR/$FIRMWARE > /sys/$DEVPATH/data
13+ echo 0 > /sys/$DEVPATH/loading
14+ else
15+ echo -1 > /sys/$DEVPATH/loading
16+ fi
17+fi
Documentation/gpio.txt+29−6
@@ -158,10 +158,11 @@ and configure pullups/pulldowns appropriately.) · 157 unmodified lines
158158 Spinlock-Safe GPIO access
159159 -------------------------
160160 Most GPIO controllers can be accessed with memory read/write instructions.
161−That doesn't need to sleep, and can safely be done from inside IRQ handlers.
162−(That includes hardirq contexts on RT kernels.)
161+Those don't need to sleep, and can safely be done from inside hard
162+(nonthreaded) IRQ handlers and similar contexts.
163163
164−Use these calls to access such GPIOs:
164+Use the following calls to access such GPIOs,
165+for which gpio_cansleep() will always return false (see below):
165166
166167 /* GPIO INPUT: return zero or nonzero */
167168 int gpio_get_value(unsigned gpio);
@@ -210,9 +211,31 @@ To access such GPIOs, a different set of accessors is defined: · 42 unmodified lines
210211 /* GPIO OUTPUT, might sleep */
211212 void gpio_set_value_cansleep(unsigned gpio, int value);
212213
213−Other than the fact that these calls might sleep, and will not be ignored
214−for GPIOs that can't be accessed from IRQ handlers, these calls act the
215−same as the spinlock-safe calls.
214+
215+Accessing such GPIOs requires a context which may sleep, for example
216+a threaded IRQ handler, and those accessors must be used instead of
217+spinlock-safe accessors without the cansleep() name suffix.
218+
219+Other than the fact that these accessors might sleep, and will work
220+on GPIOs that can't be accessed from hardIRQ handlers, these calls act
221+the same as the spinlock-safe calls.
222+
223+ ** IN ADDITION ** calls to setup and configure such GPIOs must be made
224+from contexts which may sleep, since they may need to access the GPIO
225+controller chip too: (These setup calls are usually made from board
226+setup or driver probe/teardown code, so this is an easy constraint.)
227+
228+ gpio_direction_input()
229+ gpio_direction_output()
230+ gpio_request()
231+
232+## gpio_request_one()
233+## gpio_request_array()
234+## gpio_free_array()
235+
236+ gpio_free()
237+ gpio_set_debounce()
238+
216239
217240
218241 Claiming and Releasing GPIOs
Documentation/hwmon/adm1026+1−1
@@ -6,7 +6,7 @@ Supported chips: · 5 unmodified lines
66 Prefix: 'adm1026'
77 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
88 Datasheet: Publicly available at the Analog Devices website
9− http://www.analog.com/en/prod/0,,766_825_ADM1026,00.html
9+ http://www.onsemi.com/PowerSolutions/product.do?id=ADM1026
1010
1111 Authors:
1212 Philip Pokorny <ppokorny@penguincomputing.com> for Penguin Computing
Documentation/hwmon/coretemp+103−2
@@ -21,8 +21,8 @@ Temperature is measured in degrees Celsius and measurement resolution is · 20 unmodified lines
2121 1 degree C. Valid temperatures are from 0 to TjMax degrees C, because
2222 the actual value of temperature register is in fact a delta from TjMax.
2323
24−Temperature known as TjMax is the maximum junction temperature of processor.
25−Intel defines this temperature as 85C or 100C. At this temperature, protection
24+Temperature known as TjMax is the maximum junction temperature of processor,
25+which depends on the CPU model. See table below. At this temperature, protection
2626 mechanism will perform actions to forcibly cool down the processor. Alarm
2727 may be raised, if the temperature grows enough (more than TjMax) to trigger
2828 the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
@@ -38,3 +38,104 @@ temp1_label - Contains string "Core X", where X is processor · 9 unmodified lines
3838 The TjMax temperature is set to 85 degrees C if undocumented model specific
3939 register (UMSR) 0xee has bit 30 set. If not the TjMax is 100 degrees C as
4040 (sometimes) documented in processor datasheet.
41+
42+Appendix A. Known TjMax lists (TBD):
43+Some information comes from ark.intel.com
44+
45+Process Processor TjMax(C)
46+
47+32nm Core i3/i5/i7 Processors
48+ i7 660UM/640/620, 640LM/620, 620M, 610E 105
49+ i5 540UM/520/430, 540M/520/450/430 105
50+ i3 330E, 370M/350/330 90 rPGA, 105 BGA
51+ i3 330UM 105
52+
53+32nm Core i7 Extreme Processors
54+ 980X 100
55+
56+32nm Celeron Processors
57+ U3400 105
58+ P4505/P4500 90
59+
60+45nm Xeon Processors 5400 Quad-Core
61+ X5492, X5482, X5472, X5470, X5460, X5450 85
62+ E5472, E5462, E5450/40/30/20/10/05 85
63+ L5408 95
64+ L5430, L5420, L5410 70
65+
66+45nm Xeon Processors 5200 Dual-Core
67+ X5282, X5272, X5270, X5260 90
68+ E5240 90
69+ E5205, E5220 70, 90
70+ L5240 70
71+ L5238, L5215 95
72+
73+45nm Atom Processors
74+ D525/510/425/410 100
75+ Z560/550/540/530P/530/520PT/520/515/510PT/510P 90
76+ Z510/500 90
77+ N475/470/455/450 100
78+ N280/270 90
79+ 330/230 125
80+
81+45nm Core2 Processors
82+ Solo ULV SU3500/3300 100
83+ T9900/9800/9600/9550/9500/9400/9300/8300/8100 105
84+ T6670/6500/6400 105
85+ T6600 90
86+ SU9600/9400/9300 105
87+ SP9600/9400 105
88+ SL9600/9400/9380/9300 105
89+ P9700/9600/9500/8800/8700/8600/8400/7570 105
90+ P7550/7450 90
91+
92+45nm Core2 Quad Processors
93+ Q9100/9000 100
94+
95+45nm Core2 Extreme Processors
96+ X9100/9000 105
97+ QX9300 100
98+
99+45nm Core i3/i5/i7 Processors
100+ i7 940XM/920 100
101+ i7 840QM/820/740/720 100
102+
103+45nm Celeron Processors
104+ SU2300 100
105+ 900 105
106+
107+65nm Core2 Duo Processors
108+ Solo U2200, U2100 100
109+ U7700/7600/7500 100
110+ T7800/7700/7600/7500/7400/7300/7250/7200/7100 100
111+ T5870/5670/5600/5550/5500/5470/5450/5300/5270 100
112+ T5250 100
113+ T5800/5750/5200 85
114+ L7700/7500/7400/7300/7200 100
115+
116+65nm Core2 Extreme Processors
117+ X7900/7800 100
118+
119+65nm Core Duo Processors
120+ U2500/2400 100
121+ T2700/2600/2450/2400/2350/2300E/2300/2250/2050 100
122+ L2500/2400/2300 100
123+
124+65nm Core Solo Processors
125+ U1500/1400/1300 100
126+ T1400/1350/1300/1250 100
127+
128+65nm Xeon Processors 5000 Quad-Core
129+ X5000 90-95
130+ E5000 80
131+ L5000 70
132+ L5318 95
133+
134+65nm Xeon Processors 5000 Dual-Core
135+ 5080, 5063, 5060, 5050, 5030 80-90
136+ 5160, 5150, 5148, 5140, 5130, 5120, 5110 80
137+ L5138 100
138+
139+65nm Celeron Processors
140+ T1700/1600 100
141+ 560/550/540/530 100
Documentation/hwmon/f71882fg+4−0
@@ -2,6 +2,10 @@ Kernel driver f71882fg · 1 unmodified line
22 ======================
33
44 Supported chips:
5+ * Fintek F71808E
6+ Prefix: 'f71808fg'
7+ Addresses scanned: none, address read from Super I/O config space
8+ Datasheet: Not public
59 * Fintek F71858FG
610 Prefix: 'f71858fg'
711 Addresses scanned: none, address read from Super I/O config space
Documentation/hwmon/g760a+1−1
@@ -5,7 +5,7 @@ Supported chips: · 4 unmodified lines
55 * Global Mixed-mode Technology Inc. G760A
66 Prefix: 'g760a'
77 Datasheet: Publicly available at the GMT website
8− http://www.gmt.com.tw/datasheet/g760a.pdf
8+ http://www.gmt.com.tw/product/datasheet/EDS-760A.pdf
99
1010 Author: Herbert Valerio Riedel <hvr@gnu.org>
1111
Documentation/hwmon/gl518sm+1−2
@@ -5,11 +5,10 @@ Supported chips: · 4 unmodified lines
55 * Genesys Logic GL518SM release 0x00
66 Prefix: 'gl518sm'
77 Addresses scanned: I2C 0x2c and 0x2d
8− Datasheet: http://www.genesyslogic.com/pdf
98 * Genesys Logic GL518SM release 0x80
109 Prefix: 'gl518sm'
1110 Addresses scanned: I2C 0x2c and 0x2d
12− Datasheet: http://www.genesyslogic.com/pdf
11+ Datasheet: http://www.genesyslogic.com/
1312
1413 Authors:
1514 Frodo Looijaard <frodol@dds.nl>,
Documentation/hwmon/hpfall.c+1−1
@@ -1,7 +1,7 @@
11 /* Disk protection for HP machines.
22 *
33 * Copyright 2008 Eric Piel
4− * Copyright 2009 Pavel Machek <pavel@suse.cz>
4+ * Copyright 2009 Pavel Machek <pavel@ucw.cz>
55 *
66 * GPLv2.
77 */
Documentation/hwmon/jc42+97−0
@@ -0,0 +1,97 @@
1+Kernel driver jc42
2+==================
3+
4+Supported chips:
5+ * Analog Devices ADT7408
6+ Prefix: 'adt7408'
7+ Addresses scanned: I2C 0x18 - 0x1f
8+ Datasheets:
9+ http://www.analog.com/static/imported-files/data_sheets/ADT7408.pdf
10+ * IDT TSE2002B3, TS3000B3
11+ Prefix: 'tse2002b3', 'ts3000b3'
12+ Addresses scanned: I2C 0x18 - 0x1f
13+ Datasheets:
14+ http://www.idt.com/products/getdoc.cfm?docid=18715691
15+ http://www.idt.com/products/getdoc.cfm?docid=18715692
16+ * Maxim MAX6604
17+ Prefix: 'max6604'
18+ Addresses scanned: I2C 0x18 - 0x1f
19+ Datasheets:
20+ http://datasheets.maxim-ic.com/en/ds/MAX6604.pdf
21+ * Microchip MCP9805, MCP98242, MCP98243, MCP9843
22+ Prefixes: 'mcp9805', 'mcp98242', 'mcp98243', 'mcp9843'
23+ Addresses scanned: I2C 0x18 - 0x1f
24+ Datasheets:
25+ http://ww1.microchip.com/downloads/en/DeviceDoc/21977b.pdf
26+ http://ww1.microchip.com/downloads/en/DeviceDoc/21996a.pdf
27+ http://ww1.microchip.com/downloads/en/DeviceDoc/22153c.pdf
28+ * NXP Semiconductors SE97, SE97B
29+ Prefix: 'se97'
30+ Addresses scanned: I2C 0x18 - 0x1f
31+ Datasheets:
32+ http://www.nxp.com/documents/data_sheet/SE97.pdf
33+ http://www.nxp.com/documents/data_sheet/SE97B.pdf
34+ * NXP Semiconductors SE98
35+ Prefix: 'se98'
36+ Addresses scanned: I2C 0x18 - 0x1f
37+ Datasheets:
38+ http://www.nxp.com/documents/data_sheet/SE98.pdf
39+ * ON Semiconductor CAT34TS02, CAT6095
40+ Prefix: 'cat34ts02', 'cat6095'
41+ Addresses scanned: I2C 0x18 - 0x1f
42+ Datasheet:
43+ http://www.onsemi.com/pub_link/Collateral/CAT34TS02-D.PDF
44+ http://www.onsemi.com/pub/Collateral/CAT6095-D.PDF
45+ * ST Microelectronics STTS424, STTS424E02
46+ Prefix: 'stts424'
47+ Addresses scanned: I2C 0x18 - 0x1f
48+ Datasheets:
49+ http://www.st.com/stonline/products/literature/ds/13447/stts424.pdf
50+ http://www.st.com/stonline/products/literature/ds/13448/stts424e02.pdf
51+ * JEDEC JC 42.4 compliant temperature sensor chips
52+ Prefix: 'jc42'
53+ Addresses scanned: I2C 0x18 - 0x1f
54+ Datasheet: -
55+
56+Author:
57+ Guenter Roeck <guenter.roeck@ericsson.com>
58+
59+
60+Description
61+-----------
62+
63+This driver implements support for JEDEC JC 42.4 compliant temperature sensors.
64+The driver auto-detects the chips listed above, but can be manually instantiated
65+to support other JC 42.4 compliant chips.
66+
67+Example: the following will load the driver for a generic JC 42.4 compliant
68+temperature sensor at address 0x18 on I2C bus #1:
69+
70+# modprobe jc42
71+# echo jc42 0x18 > /sys/bus/i2c/devices/i2c-1/new_device
72+
73+A JC 42.4 compliant chip supports a single temperature sensor. Minimum, maximum,
74+and critical temperature can be configured. There are alarms for high, low,
75+and critical thresholds.
76+
77+There is also an hysteresis to control the thresholds for resetting alarms.
78+Per JC 42.4 specification, the hysteresis threshold can be configured to 0, 1.5,
79+3.0, and 6.0 degrees C. Configured hysteresis values will be rounded to those
80+limits. The chip supports only a single register to configure the hysteresis,
81+which applies to all limits. This register can be written by writing into
82+temp1_crit_hyst. Other hysteresis attributes are read-only.
83+
84+Sysfs entries
85+-------------
86+
87+temp1_input Temperature (RO)
88+temp1_min Minimum temperature (RW)
89+temp1_max Maximum temperature (RW)
90+temp1_crit Critical high temperature (RW)
91+
92+temp1_crit_hyst Critical hysteresis temperature (RW)
93+temp1_max_hyst Maximum hysteresis temperature (RO)
94+
95+temp1_min_alarm Temperature low alarm
96+temp1_max_alarm Temperature high alarm
97+temp1_crit_alarm Temperature critical alarm
Documentation/hwmon/k8temp+1−1
@@ -5,7 +5,7 @@ Supported chips: · 4 unmodified lines
55 * AMD Athlon64/FX or Opteron CPUs
66 Prefix: 'k8temp'
77 Addresses scanned: PCI space
8− Datasheet: http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/32559.pdf
8+ Datasheet: http://support.amd.com/us/Processor_TechDocs/32559.pdf
99
1010 Author: Rudolf Marek
1111 Contact: Rudolf Marek <r.marek@assembler.cz>
Documentation/hwmon/lm85+3−3
@@ -9,15 +9,15 @@ Supported chips: · 8 unmodified lines
99 * Analog Devices ADM1027
1010 Prefix: 'adm1027'
1111 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
12− Datasheet: http://www.analog.com/en/prod/0,,766_825_ADM1027,00.html
12+ Datasheet: http://www.onsemi.com/PowerSolutions/product.do?id=ADM1027
1313 * Analog Devices ADT7463
1414 Prefix: 'adt7463'
1515 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
16− Datasheet: http://www.analog.com/en/prod/0,,766_825_ADT7463,00.html
16+ Datasheet: http://www.onsemi.com/PowerSolutions/product.do?id=ADT7463
1717 * SMSC EMC6D100, SMSC EMC6D101
1818 Prefix: 'emc6d100'
1919 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
20− Datasheet: http://www.smsc.com/main/tools/discontinued/6d100.pdf
20+ Datasheet: http://www.smsc.com/media/Downloads_Public/discontinued/6d100.pdf
2121 * SMSC EMC6D102
2222 Prefix: 'emc6d102'
2323 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
Documentation/hwmon/pkgtemp+36−0
@@ -0,0 +1,36 @@
1+Kernel driver pkgtemp
2+======================
3+
4+Supported chips:
5+ * Intel family
6+ Prefix: 'pkgtemp'
7+ CPUID:
8+ Datasheet: Intel 64 and IA-32 Architectures Software Developer's Manual
9+ Volume 3A: System Programming Guide
10+
11+Author: Fenghua Yu
12+
13+Description
14+-----------
15+
16+This driver permits reading package level temperature sensor embedded inside
17+Intel CPU package. The sensors can be in core, uncore, memory controller, or
18+other components in a package. The feature is first implemented in Intel Sandy
19+Bridge platform.
20+
21+Temperature is measured in degrees Celsius and measurement resolution is
22+1 degree C. Valid temperatures are from 0 to TjMax degrees C, because the actual
23+value of temperature register is in fact a delta from TjMax.
24+
25+Temperature known as TjMax is the maximum junction temperature of package.
26+We get this from MSR_IA32_TEMPERATURE_TARGET. If the MSR is not accessible,
27+we define TjMax as 100 degrees Celsius. At this temperature, protection
28+mechanism will perform actions to forcibly cool down the package. Alarm
29+may be raised, if the temperature grows enough (more than TjMax) to trigger
30+the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
31+
32+temp1_input - Package temperature (in millidegrees Celsius).
33+temp1_max - All cooling devices should be turned on.
34+temp1_crit - Maximum junction temperature (in millidegrees Celsius).
35+temp1_crit_alarm - Set when Out-of-spec bit is set, never clears.
36+ Correct CPU operation is no longer guaranteed.
Documentation/hwmon/smm665+157−0
@@ -0,0 +1,157 @@
1+Kernel driver smm665
2+====================
3+
4+Supported chips:
5+ * Summit Microelectronics SMM465
6+ Prefix: 'smm465'
7+ Addresses scanned: -
8+ Datasheet:
9+ http://www.summitmicro.com/prod_select/summary/SMM465/SMM465DS.pdf
10+ * Summit Microelectronics SMM665, SMM665B
11+ Prefix: 'smm665'
12+ Addresses scanned: -
13+ Datasheet:
14+ http://www.summitmicro.com/prod_select/summary/SMM665/SMM665B_2089_20.pdf
15+ * Summit Microelectronics SMM665C
16+ Prefix: 'smm665c'
17+ Addresses scanned: -
18+ Datasheet:
19+ http://www.summitmicro.com/prod_select/summary/SMM665C/SMM665C_2125.pdf
20+ * Summit Microelectronics SMM764
21+ Prefix: 'smm764'
22+ Addresses scanned: -
23+ Datasheet:
24+ http://www.summitmicro.com/prod_select/summary/SMM764/SMM764_2098.pdf
25+ * Summit Microelectronics SMM766, SMM766B
26+ Prefix: 'smm766'
27+ Addresses scanned: -
28+ Datasheets:
29+ http://www.summitmicro.com/prod_select/summary/SMM766/SMM766_2086.pdf
30+ http://www.summitmicro.com/prod_select/summary/SMM766B/SMM766B_2122.pdf
31+
32+Author: Guenter Roeck <guenter.roeck@ericsson.com>
33+
34+
35+Module Parameters
36+-----------------
37+
38+* vref: int
39+ Default: 1250 (mV)
40+ Reference voltage on VREF_ADC pin in mV. It should not be necessary to set
41+ this parameter unless a non-default reference voltage is used.
42+
43+
44+Description
45+-----------
46+
47+[From datasheet] The SMM665 is an Active DC Output power supply Controller
48+that monitors, margins and cascade sequences power. The part monitors six
49+power supply channels as well as VDD, 12V input, two general-purpose analog
50+inputs and an internal temperature sensor using a 10-bit ADC.
51+
52+Each monitored channel has its own high and low limits, plus a critical
53+limit.
54+
55+Support for SMM465, SMM764, and SMM766 has been implemented but is untested.
56+
57+
58+Usage Notes
59+-----------
60+
61+This driver does not probe for devices, since there is no register which
62+can be safely used to identify the chip. You will have to instantiate
63+the devices explicitly. When instantiating the device, you have to specify
64+its configuration register address.
65+
66+Example: the following will load the driver for an SMM665 at address 0x57
67+on I2C bus #1:
68+$ modprobe smm665
69+$ echo smm665 0x57 > /sys/bus/i2c/devices/i2c-1/new_device
70+
71+
72+Sysfs entries
73+-------------
74+
75+This driver uses the values in the datasheet to convert ADC register values
76+into the values specified in the sysfs-interface document. All attributes are
77+read only.
78+
79+Min, max, lcrit, and crit values are used by the chip to trigger external signals
80+and/or other activity. Triggered signals can include HEALTHY, RST, Power Off,
81+or Fault depending on the chip configuration. The driver reports values as lcrit
82+or crit if exceeding the limits triggers RST, Power Off, or Fault, and as min or
83+max otherwise. For details please see the SMM665 datasheet.
84+
85+For SMM465 and SMM764, values for Channel E and F are reported but undefined.
86+
87+in1_input 12V input voltage (mV)
88+in2_input 3.3V (VDD) input voltage (mV)
89+in3_input Channel A voltage (mV)
90+in4_input Channel B voltage (mV)
91+in5_input Channel C voltage (mV)
92+in6_input Channel D voltage (mV)
93+in7_input Channel E voltage (mV)
94+in8_input Channel F voltage (mV)
95+in9_input AIN1 voltage (mV)
96+in10_input AIN2 voltage (mV)
97+
98+in1_min 12v input minimum voltage (mV)
99+in2_min 3.3V (VDD) input minimum voltage (mV)
100+in3_min Channel A minimum voltage (mV)
101+in4_min Channel B minimum voltage (mV)
102+in5_min Channel C minimum voltage (mV)
103+in6_min Channel D minimum voltage (mV)
104+in7_min Channel E minimum voltage (mV)
105+in8_min Channel F minimum voltage (mV)
106+in9_min AIN1 minimum voltage (mV)
107+in10_min AIN2 minimum voltage (mV)
108+
109+in1_max 12v input maximum voltage (mV)
110+in2_max 3.3V (VDD) input maximum voltage (mV)
111+in3_max Channel A maximum voltage (mV)
112+in4_max Channel B maximum voltage (mV)
113+in5_max Channel C maximum voltage (mV)
114+in6_max Channel D maximum voltage (mV)
115+in7_max Channel E maximum voltage (mV)
116+in8_max Channel F maximum voltage (mV)
117+in9_max AIN1 maximum voltage (mV)
118+in10_max AIN2 maximum voltage (mV)
119+
120+in1_lcrit 12v input critical minimum voltage (mV)
121+in2_lcrit 3.3V (VDD) input critical minimum voltage (mV)
122+in3_lcrit Channel A critical minimum voltage (mV)
123+in4_lcrit Channel B critical minimum voltage (mV)
124+in5_lcrit Channel C critical minimum voltage (mV)
125+in6_lcrit Channel D critical minimum voltage (mV)
126+in7_lcrit Channel E critical minimum voltage (mV)
127+in8_lcrit Channel F critical minimum voltage (mV)
128+in9_lcrit AIN1 critical minimum voltage (mV)
129+in10_lcrit AIN2 critical minimum voltage (mV)
130+
131+in1_crit 12v input critical maximum voltage (mV)
132+in2_crit 3.3V (VDD) input critical maximum voltage (mV)
133+in3_crit Channel A critical maximum voltage (mV)
134+in4_crit Channel B critical maximum voltage (mV)
135+in5_crit Channel C critical maximum voltage (mV)
136+in6_crit Channel D critical maximum voltage (mV)
137+in7_crit Channel E critical maximum voltage (mV)
138+in8_crit Channel F critical maximum voltage (mV)
139+in9_crit AIN1 critical maximum voltage (mV)
140+in10_crit AIN2 critical maximum voltage (mV)
141+
142+in1_crit_alarm 12v input critical alarm
143+in2_crit_alarm 3.3V (VDD) input critical alarm
144+in3_crit_alarm Channel A critical alarm
145+in4_crit_alarm Channel B critical alarm
146+in5_crit_alarm Channel C critical alarm
147+in6_crit_alarm Channel D critical alarm
148+in7_crit_alarm Channel E critical alarm
149+in8_crit_alarm Channel F critical alarm
150+in9_crit_alarm AIN1 critical alarm
151+in10_crit_alarm AIN2 critical alarm
152+
153+temp1_input Chip tempererature
154+temp1_min Mimimum chip tempererature
155+temp1_max Maximum chip tempererature
156+temp1_crit Critical chip tempererature
157+temp1_crit_alarm Temperature critical alarm
Documentation/hwmon/smsc47m1+4−7
@@ -7,13 +7,10 @@ Supported chips: · 6 unmodified lines
77 Addresses scanned: none, address read from Super I/O config space
88 Prefix: 'smsc47m1'
99 Datasheets:
10− http://www.smsc.com/main/datasheets/47b27x.pdf
11− http://www.smsc.com/main/datasheets/47m10x.pdf
12− http://www.smsc.com/main/datasheets/47m112.pdf
13− http://www.smsc.com/main/tools/discontinued/47m13x.pdf
14− http://www.smsc.com/main/datasheets/47m14x.pdf
15− http://www.smsc.com/main/tools/discontinued/47m15x.pdf
16− http://www.smsc.com/main/datasheets/47m192.pdf
10+ http://www.smsc.com/media/Downloads_Public/Data_Sheets/47b272.pdf
11+ http://www.smsc.com/media/Downloads_Public/Data_Sheets/47m10x.pdf
12+ http://www.smsc.com/media/Downloads_Public/Data_Sheets/47m112.pdf
13+ http://www.smsc.com/
1714 * SMSC LPC47M292
1815 Addresses scanned: none, address read from Super I/O config space
1916 Prefix: 'smsc47m2'
Documentation/hwmon/thmc50+1−1
@@ -9,7 +9,7 @@ Supported chips: · 8 unmodified lines
99 * Texas Instruments THMC50
1010 Prefix: 'thmc50'
1111 Addresses scanned: I2C 0x2c - 0x2e
12− Datasheet: http://focus.ti.com/docs/prod/folders/print/thmc50.html
12+ Datasheet: http://www.ti.com/
1313
1414 Author: Krzysztof Helt <krzysztof.h1@wp.pl>
1515
Documentation/hwmon/via686a+1−1
@@ -5,7 +5,7 @@ Supported chips: · 4 unmodified lines
55 * Via VT82C686A, VT82C686B Southbridge Integrated Hardware Monitor
66 Prefix: 'via686a'
77 Addresses scanned: ISA in PCI-space encoded address
8− Datasheet: On request through web form (http://www.via.com.tw/en/support/datasheets/)
8+ Datasheet: On request through web form (http://www.via.com.tw/en/resources/download-center/)
99
1010 Authors:
1111 Kyösti Mälkki <kmalkki@cc.hut.fi>,
Documentation/hwmon/w83627hf+1−5
@@ -5,23 +5,19 @@ Supported chips: · 4 unmodified lines
55 * Winbond W83627HF (ISA accesses ONLY)
66 Prefix: 'w83627hf'
77 Addresses scanned: ISA address retrieved from Super I/O registers
8− Datasheet: http://www.winbond.com/PDF/sheet/w83627hf.pdf
98 * Winbond W83627THF
109 Prefix: 'w83627thf'
1110 Addresses scanned: ISA address retrieved from Super I/O registers
12− Datasheet: http://www.winbond.com/PDF/sheet/w83627thf.pdf
1311 * Winbond W83697HF
1412 Prefix: 'w83697hf'
1513 Addresses scanned: ISA address retrieved from Super I/O registers
16− Datasheet: http://www.winbond.com/PDF/sheet/697hf.pdf
1714 * Winbond W83637HF
1815 Prefix: 'w83637hf'
1916 Addresses scanned: ISA address retrieved from Super I/O registers
20− Datasheet: http://www.winbond.com/PDF/sheet/w83637hf.pdf
2117 * Winbond W83687THF
2218 Prefix: 'w83687thf'
2319 Addresses scanned: ISA address retrieved from Super I/O registers
24− Datasheet: Provided by Winbond on request
20+ Datasheet: Provided by Winbond on request(http://www.winbond.com/hq/enu)
2521
2622 Authors:
2723 Frodo Looijaard <frodol@dds.nl>,
Documentation/hwmon/w83781d+1−1
@@ -9,7 +9,7 @@ Supported chips: · 8 unmodified lines
99 * Winbond W83782D
1010 Prefix: 'w83782d'
1111 Addresses scanned: I2C 0x28 - 0x2f, ISA 0x290 (8 I/O ports)
12− Datasheet: http://www.winbond.com/PDF/sheet/w83782d.pdf
12+ Datasheet: http://www.winbond.com
1313 * Winbond W83783S
1414 Prefix: 'w83783s'
1515 Addresses scanned: I2C 0x2d
Documentation/hwmon/w83792d+1−1
@@ -5,7 +5,7 @@ Supported chips: · 4 unmodified lines
55 * Winbond W83792D
66 Prefix: 'w83792d'
77 Addresses scanned: I2C 0x2c - 0x2f
8− Datasheet: http://www.winbond.com.tw/E-WINBONDHTM/partner/PDFresult.asp?Pname=1035
8+ Datasheet: http://www.winbond.com.tw
99
1010 Author: Chunhao Huang
1111 Contact: DZShen <DZShen@Winbond.com.tw>
Documentation/i2c/busses/i2c-ali1535+1−1
@@ -3,7 +3,7 @@ Kernel driver i2c-ali1535 · 2 unmodified lines
33 Supported adapters:
44 * Acer Labs, Inc. ALI 1535 (south bridge)
55 Datasheet: Now under NDA
6− http://www.ali.com.tw/eng/support/datasheet_request.php
6+ http://www.ali.com.tw/
77
88 Authors:
99 Frodo Looijaard <frodol@dds.nl>,
Documentation/i2c/busses/i2c-ali1563+1−1
@@ -3,7 +3,7 @@ Kernel driver i2c-ali1563 · 2 unmodified lines
33 Supported adapters:
44 * Acer Labs, Inc. ALI 1563 (south bridge)
55 Datasheet: Now under NDA
6− http://www.ali.com.tw/eng/support/datasheet_request.php
6+ http://www.ali.com.tw/
77
88 Author: Patrick Mochel <mochel@digitalimplant.org>
99
Documentation/i2c/busses/i2c-ali15x3+1−1
@@ -3,7 +3,7 @@ Kernel driver i2c-ali15x3 · 2 unmodified lines
33 Supported adapters:
44 * Acer Labs, Inc. ALI 1533 and 1543C (south bridge)
55 Datasheet: Now under NDA
6− http://www.ali.com.tw/eng/support/datasheet_request.php
6+ http://www.ali.com.tw/
77
88 Authors:
99 Frodo Looijaard <frodol@dds.nl>,
Documentation/i2c/busses/i2c-piix4+1−1
@@ -97,4 +97,4 @@ of all affected systems, so the only safe solution was to prevent access to · 96 unmodified lines
9797 the SMBus on all IBM systems (detected using DMI data.)
9898
9999 For additional information, read:
100−http://www.lm-sensors.org/browser/lm-sensors/trunk/README.thinkpad
100+http://www.lm-sensors.org/browser/lm-sensors/trunk/README
Documentation/i2c/busses/i2c-sis630+1−1
@@ -2,7 +2,7 @@ Kernel driver i2c-sis630 · 1 unmodified line
22
33 Supported adapters:
44 * Silicon Integrated Systems Corp (SiS)
5− 630 chipset (Datasheet: available at http://amalysh.bei.t-online.de/docs/SIS/)
5+ 630 chipset (Datasheet: available at http://www.sfr-fresh.com/linux)
66 730 chipset
77 * Possible other SiS chipsets ?
88
Documentation/i2c/instantiating-devices+1−1
@@ -102,7 +102,7 @@ static int __devinit usb_hcd_pnx4008_probe(struct platform_device *pdev) · 101 unmodified lines
102102 memset(&i2c_info, 0, sizeof(struct i2c_board_info));
103103 strlcpy(i2c_info.name, "isp1301_pnx", I2C_NAME_SIZE);
104104 isp1301_i2c_client = i2c_new_probed_device(i2c_adap, &i2c_info,
105− normal_i2c);
105+ normal_i2c, NULL);
106106 i2c_put_adapter(i2c_adap);
107107 (...)
108108 }
Documentation/ia64/aliasing.txt+0−2
@@ -168,8 +168,6 @@ PAST PROBLEM CASES · 167 unmodified lines
168168
169169 mmap of 0x0-0x9FFFF /dev/mem by "hwinfo" on HP sx1000 with VGA enabled
170170
171− See https://bugzilla.novell.com/show_bug.cgi?id=140858.
172−
173171 The EFI memory map reports the following attributes:
174172 0x00000-0x9FFFF WB only
175173 0xA0000-0xBFFFF UC only (VGA frame buffer)
Documentation/ia64/serial.txt+1−1
@@ -133,7 +133,7 @@ TROUBLESHOOTING SERIAL CONSOLE PROBLEMS · 132 unmodified lines
133133
134134
135135
136−[1] http://www.dig64.org/specifications/DIG64_PCDPv20.pdf
136+[1] http://www.dig64.org/specifications/agreement
137137 The table was originally defined as the "HCDP" for "Headless
138138 Console/Debug Port." The current version is the "PCDP" for
139139 "Primary Console and Debug Port Devices."
Documentation/infiniband/user_verbs.txt+1−1
@@ -5,7 +5,7 @@ USERSPACE VERBS ACCESS · 4 unmodified lines
55 described in chapter 11 of the InfiniBand Architecture Specification.
66
77 To use the verbs, the libibverbs library, available from
8− <http://openib.org/>, is required. libibverbs contains a
8+ http://www.openfabrics.org/, is required. libibverbs contains a
99 device-independent API for using the ib_uverbs interface.
1010 libibverbs also requires appropriate device-dependent kernel and
1111 userspace driver for your InfiniBand hardware. For example, to use
Documentation/input/appletouch.txt+1−1
@@ -82,4 +82,4 @@ Links: · 81 unmodified lines
8282 ------
8383
8484 [1]: http://johannes.sipsolutions.net/PowerBook/touchpad/
85−[2]: http://web.telia.com/~u89404340/touchpad/index.html
85+[2]: http://web.archive.org/web/*/http://web.telia.com/~u89404340/touchpad/index.html
Documentation/input/bcm5974.txt+1−1
@@ -62,4 +62,4 @@ Links · 61 unmodified lines
6262 -----
6363
6464 [1] http://ubuntuforums.org/showthread.php?t=840040
65−[2] http://http://bitmath.org/code/
65+[2] http://bitmath.org/code/
Documentation/input/iforce-protocol.txt+1−1
@@ -251,7 +251,7 @@ Check www.immerse.com for Immersion Studio, and www.fcoder.com for ComPortSpy. · 250 unmodified lines
251251
252252 ** Author of this document **
253253 Johann Deneux <johann.deneux@gmail.com>
254−Home page at http://www.esil.univ-mrs.fr/~jdeneux/projects/ff/
254+Home page at http://web.archive.org/web/*/http://www.esil.univ-mrs.fr
255255
256256 Additions by Vojtech Pavlik.
257257
Documentation/input/multi-touch-protocol.txt+149−69
@@ -6,31 +6,149 @@ Multi-touch (MT) Protocol · 5 unmodified lines
66 Introduction
77 ------------
88
9−In order to utilize the full power of the new multi-touch devices, a way to
10−report detailed finger data to user space is needed. This document
11−describes the multi-touch (MT) protocol which allows kernel drivers to
12−report details for an arbitrary number of fingers.
9+In order to utilize the full power of the new multi-touch and multi-user
10+devices, a way to report detailed data from multiple contacts, i.e.,
11+objects in direct contact with the device surface, is needed. This
12+document describes the multi-touch (MT) protocol which allows kernel
13+drivers to report details for an arbitrary number of contacts.
14+
15+The protocol is divided into two types, depending on the capabilities of the
16+hardware. For devices handling anonymous contacts (type A), the protocol
17+describes how to send the raw data for all contacts to the receiver. For
18+devices capable of tracking identifiable contacts (type B), the protocol
19+describes how to send updates for individual contacts via event slots.
20+
21+
22+Protocol Usage
23+--------------
24+
25+Contact details are sent sequentially as separate packets of ABS_MT
26+events. Only the ABS_MT events are recognized as part of a contact
27+packet. Since these events are ignored by current single-touch (ST)
28+applications, the MT protocol can be implemented on top of the ST protocol
29+in an existing driver.
30+
31+Drivers for type A devices separate contact packets by calling
32+input_mt_sync() at the end of each packet. This generates a SYN_MT_REPORT
33+event, which instructs the receiver to accept the data for the current
34+contact and prepare to receive another.
35+
36+Drivers for type B devices separate contact packets by calling
37+input_mt_slot(), with a slot as argument, at the beginning of each packet.
38+This generates an ABS_MT_SLOT event, which instructs the receiver to
39+prepare for updates of the given slot.
40+
41+All drivers mark the end of a multi-touch transfer by calling the usual
42+input_sync() function. This instructs the receiver to act upon events
43+accumulated since last EV_SYN/SYN_REPORT and prepare to receive a new set
44+of events/packets.
45+
46+The main difference between the stateless type A protocol and the stateful
47+type B slot protocol lies in the usage of identifiable contacts to reduce
48+the amount of data sent to userspace. The slot protocol requires the use of
49+the ABS_MT_TRACKING_ID, either provided by the hardware or computed from
50+the raw data [5].
51+
52+For type A devices, the kernel driver should generate an arbitrary
53+enumeration of the full set of anonymous contacts currently on the
54+surface. The order in which the packets appear in the event stream is not
55+important. Event filtering and finger tracking is left to user space [3].
56+
57+For type B devices, the kernel driver should associate a slot with each
58+identified contact, and use that slot to propagate changes for the contact.
59+Creation, replacement and destruction of contacts is achieved by modifying
60+the ABS_MT_TRACKING_ID of the associated slot. A non-negative tracking id
61+is interpreted as a contact, and the value -1 denotes an unused slot. A
62+tracking id not previously present is considered new, and a tracking id no
63+longer present is considered removed. Since only changes are propagated,
64+the full state of each initiated contact has to reside in the receiving
65+end. Upon receiving an MT event, one simply updates the appropriate
66+attribute of the current slot.
67+
68+
69+Protocol Example A
70+------------------
71+
72+Here is what a minimal event sequence for a two-contact touch would look
73+like for a type A device:
74+
75+ ABS_MT_POSITION_X x[0]
76+ ABS_MT_POSITION_Y y[0]
77+ SYN_MT_REPORT
78+ ABS_MT_POSITION_X x[1]
79+ ABS_MT_POSITION_Y y[1]
80+ SYN_MT_REPORT
81+ SYN_REPORT
1382
83+The sequence after moving one of the contacts looks exactly the same; the
84+raw data for all present contacts are sent between every synchronization
85+with SYN_REPORT.
1486
15−Usage
16−-----
87+Here is the sequence after lifting the first contact:
88+
89+ ABS_MT_POSITION_X x[1]
90+ ABS_MT_POSITION_Y y[1]
91+ SYN_MT_REPORT
92+ SYN_REPORT
93+
94+And here is the sequence after lifting the second contact:
95+
96+ SYN_MT_REPORT
97+ SYN_REPORT
98+
99+If the driver reports one of BTN_TOUCH or ABS_PRESSURE in addition to the
100+ABS_MT events, the last SYN_MT_REPORT event may be omitted. Otherwise, the
101+last SYN_REPORT will be dropped by the input core, resulting in no
102+zero-contact event reaching userland.
17103
18−Anonymous finger details are sent sequentially as separate packets of ABS
19−events. Only the ABS_MT events are recognized as part of a finger
20−packet. The end of a packet is marked by calling the input_mt_sync()
21−function, which generates a SYN_MT_REPORT event. This instructs the
22−receiver to accept the data for the current finger and prepare to receive
23−another. The end of a multi-touch transfer is marked by calling the usual
24−input_sync() function. This instructs the receiver to act upon events
25−accumulated since last EV_SYN/SYN_REPORT and prepare to receive a new
26−set of events/packets.
104+
105+Protocol Example B
106+------------------
107+
108+Here is what a minimal event sequence for a two-contact touch would look
109+like for a type B device:
110+
111+ ABS_MT_SLOT 0
112+ ABS_MT_TRACKING_ID 45
113+ ABS_MT_POSITION_X x[0]
114+ ABS_MT_POSITION_Y y[0]
115+ ABS_MT_SLOT 1
116+ ABS_MT_TRACKING_ID 46
117+ ABS_MT_POSITION_X x[1]
118+ ABS_MT_POSITION_Y y[1]
119+ SYN_REPORT
120+
121+Here is the sequence after moving contact 45 in the x direction:
122+
123+ ABS_MT_SLOT 0
124+ ABS_MT_POSITION_X x[0]
125+ SYN_REPORT
126+
127+Here is the sequence after lifting the contact in slot 0:
128+
129+ ABS_MT_TRACKING_ID -1
130+ SYN_REPORT
131+
132+The slot being modified is already 0, so the ABS_MT_SLOT is omitted. The
133+message removes the association of slot 0 with contact 45, thereby
134+destroying contact 45 and freeing slot 0 to be reused for another contact.
135+
136+Finally, here is the sequence after lifting the second contact:
137+
138+ ABS_MT_SLOT 1
139+ ABS_MT_TRACKING_ID -1
140+ SYN_REPORT
141+
142+
143+Event Usage
144+-----------
27145
28146 A set of ABS_MT events with the desired properties is defined. The events
29147 are divided into categories, to allow for partial implementation. The
30148 minimum set consists of ABS_MT_POSITION_X and ABS_MT_POSITION_Y, which
31−allows for multiple fingers to be tracked. If the device supports it, the
149+allows for multiple contacts to be tracked. If the device supports it, the
32150 ABS_MT_TOUCH_MAJOR and ABS_MT_WIDTH_MAJOR may be used to provide the size
33−of the contact area and approaching finger, respectively.
151+of the contact area and approaching contact, respectively.
34152
35153 The TOUCH and WIDTH parameters have a geometrical interpretation; imagine
36154 looking through a window at someone gently holding a finger against the
@@ -41,56 +159,26 @@ ABS_MT_TOUCH_MAJOR, the diameter of the outer region is · 4 unmodified lines
41159 ABS_MT_WIDTH_MAJOR. Now imagine the person pressing the finger harder
42160 against the glass. The inner region will increase, and in general, the
43161 ratio ABS_MT_TOUCH_MAJOR / ABS_MT_WIDTH_MAJOR, which is always smaller than
44−unity, is related to the finger pressure. For pressure-based devices,
162+unity, is related to the contact pressure. For pressure-based devices,
45163 ABS_MT_PRESSURE may be used to provide the pressure on the contact area
46164 instead.
47165
48−In addition to the MAJOR parameters, the oval shape of the finger can be
166+In addition to the MAJOR parameters, the oval shape of the contact can be
49167 described by adding the MINOR parameters, such that MAJOR and MINOR are the
50168 major and minor axis of an ellipse. Finally, the orientation of the oval
51169 shape can be describe with the ORIENTATION parameter.
52170
53171 The ABS_MT_TOOL_TYPE may be used to specify whether the touching tool is a
54−finger or a pen or something else. Devices with more granular information
172+contact or a pen or something else. Devices with more granular information
55173 may specify general shapes as blobs, i.e., as a sequence of rectangular
56174 shapes grouped together by an ABS_MT_BLOB_ID. Finally, for the few devices
57175 that currently support it, the ABS_MT_TRACKING_ID event may be used to
58−report finger tracking from hardware [5].
176+report contact tracking from hardware [5].
59177
60−Here is what a minimal event sequence for a two-finger touch would look
61−like:
62−
63− ABS_MT_POSITION_X
64− ABS_MT_POSITION_Y
65− SYN_MT_REPORT
66− ABS_MT_POSITION_X
67− ABS_MT_POSITION_Y
68− SYN_MT_REPORT
69− SYN_REPORT
70−
71−Here is the sequence after lifting one of the fingers:
72−
73− ABS_MT_POSITION_X
74− ABS_MT_POSITION_Y
75− SYN_MT_REPORT
76− SYN_REPORT
77−
78−And here is the sequence after lifting the remaining finger:
79−
80− SYN_MT_REPORT
81− SYN_REPORT
82−
83−If the driver reports one of BTN_TOUCH or ABS_PRESSURE in addition to the
84−ABS_MT events, the last SYN_MT_REPORT event may be omitted. Otherwise, the
85−last SYN_REPORT will be dropped by the input core, resulting in no
86−zero-finger event reaching userland.
87178
88179 Event Semantics
89180 ---------------
90181
91−The word "contact" is used to describe a tool which is in direct contact
92−with the surface. A finger, a pen or a rubber all classify as contacts.
93−
94182 ABS_MT_TOUCH_MAJOR
95183
96184 The length of the major axis of the contact. The length should be given in
@@ -157,15 +245,16 @@ MT_TOOL_PEN [2]. · 60 unmodified lines
157245 ABS_MT_BLOB_ID
158246
159247 The BLOB_ID groups several packets together into one arbitrarily shaped
160−contact. This is a low-level anonymous grouping, and should not be confused
161−with the high-level trackingID [5]. Most kernel drivers will not have blob
162−capability, and can safely omit the event.
248+contact. This is a low-level anonymous grouping for type A devices, and
249+should not be confused with the high-level trackingID [5]. Most type A
250+devices do not have blob capability, so drivers can safely omit this event.
163251
164252 ABS_MT_TRACKING_ID
165253
166254 The TRACKING_ID identifies an initiated contact throughout its life cycle
167−[5]. There are currently only a few devices that support it, so this event
168−should normally be omitted.
255+[5]. This event is mandatory for type B devices. The value range of the
256+TRACKING_ID should be large enough to ensure unique identification of a
257+contact maintained over an extended period of time.
169258
170259
171260 Event Computation
@@ -192,20 +281,11 @@ finger along the X axis (1). · 20 unmodified lines
192281 Finger Tracking
193282 ---------------
194283
195−The kernel driver should generate an arbitrary enumeration of the set of
196−anonymous contacts currently on the surface. The order in which the packets
197−appear in the event stream is not important.
198−
199284 The process of finger tracking, i.e., to assign a unique trackingID to each
200−initiated contact on the surface, is left to user space; preferably the
201−multi-touch X driver [3]. In that driver, the trackingID stays the same and
202−unique until the contact vanishes (when the finger leaves the surface). The
203−problem of assigning a set of anonymous fingers to a set of identified
204−fingers is a euclidian bipartite matching problem at each event update, and
205−relies on a sufficiently rapid update rate.
206−
207−There are a few devices that support trackingID in hardware. User space can
208−make use of these native identifiers to reduce bandwidth and cpu usage.
285+initiated contact on the surface, is a Euclidian Bipartite Matching
286+problem. At each event synchronization, the set of actual contacts is
287+matched to the set of contacts from the previous synchronization. A full
288+implementation can be found in [3].
209289
210290
211291 Gestures
Documentation/input/sentelic.txt+1−1
@@ -341,7 +341,7 @@ Byte 5~8: Don't care (Absolute packet) · 340 unmodified lines
341341 FSP supports basic PS/2 commanding set and modes, refer to following URL for
342342 details about PS/2 commands:
343343
344−http://www.computer-engineering.org/index.php?title=PS/2_Mouse_Interface
344+http://www.computer-engineering.org/ps2mouse/
345345
346346 ==============================================================================
347347 * Programming Sequence for Determining Packet Parsing Flow
Documentation/input/xpad.txt+1−1
@@ -150,7 +150,7 @@ the basic functionality. · 149 unmodified lines
150150
151151 1. http://euc.jp/periphs/xbox-controller.ja.html (ITO Takayuki)
152152 2. http://xpad.xbox-scene.com/
153−3. http://www.xboxhackz.com/Hackz-Reference.htm
153+3. http://www.markosweb.com/www/xboxhackz.com/
154154
155155 4. /proc/bus/usb/devices - dump from InterAct PowerPad Pro (Germany):
156156
Documentation/intel_txt.txt+5−7
@@ -25,20 +25,18 @@ which has been updated for the new released platforms. · 24 unmodified lines
2525 Intel TXT has been presented at various events over the past few
2626 years, some of which are:
2727 LinuxTAG 2008:
28− http://www.linuxtag.org/2008/en/conf/events/vp-donnerstag/
29− details.html?talkid=110
28+ http://www.linuxtag.org/2008/en/conf/events/vp-donnerstag.html
3029 TRUST2008:
31− http://www.trust2008.eu/downloads/Keynote-Speakers/
30+ http://www.trust-conference.eu/downloads/Keynote-Speakers/
3231 3_David-Grawrock_The-Front-Door-of-Trusted-Computing.pdf
33− IDF 2008, Shanghai:
34− http://inteldeveloperforum.com.edgesuite.net/shanghai_2008/
35− aep/PROS003/index.html
32+ IDF, Shanghai:
33+ http://www.prcidf.com.cn/index_en.html
3634 IDFs 2006, 2007 (I'm not sure if/where they are online)
3735
3836 Trusted Boot Project Overview:
3937 =============================
4038
41−Trusted Boot (tboot) is an open source, pre- kernel/VMM module that
39+Trusted Boot (tboot) is an open source, pre-kernel/VMM module that
4240 uses Intel TXT to perform a measured and verified launch of an OS
4341 kernel/VMM.
4442
Documentation/ioctl/ioctl-number.txt+6−5
@@ -74,11 +74,12 @@ Code Seq#(hex) Include File Comments · 73 unmodified lines
7474 0x10 00-0F drivers/char/s390/vmcp.h
7575 0x12 all linux/fs.h
7676 linux/blkpg.h
77−0x1b all InfiniBand Subsystem <http://www.openib.org/>
77+0x1b all InfiniBand Subsystem <http://infiniband.sourceforge.net/>
7878 0x20 all drivers/cdrom/cm206.h
7979 0x22 all scsi/sg.h
8080 '#' 00-3F IEEE 1394 Subsystem Block for the entire subsystem
8181 '$' 00-0F linux/perf_counter.h, linux/perf_event.h
82+'&' 00-07 drivers/firewire/nosy-user.h
8283 '1' 00-1F <linux/timepps.h> PPS kit from Ulrich Windl
8384 <ftp://ftp.de.kernel.org/pub/linux/daemons/ntp/PPS/>
8485 '2' 01-04 linux/i2o.h
@@ -190,7 +191,7 @@ Code Seq#(hex) Include File Comments · 105 unmodified lines
190191 '[' 00-07 linux/usb/tmc.h USB Test and Measurement Devices
191192 <mailto:gregkh@suse.de>
192193 'a' all linux/atm*.h, linux/sonet.h ATM on linux
193− <http://lrcwww.epfl.ch/linux-atm/magic.html>
194+ <http://lrcwww.epfl.ch/>
194195 'b' 00-FF conflict! bit3 vme host bridge
195196 <mailto:natalia@nikhefk.nikhef.nl>
196197 'b' 00-0F media/bt819.h conflict!
@@ -225,7 +226,7 @@ Code Seq#(hex) Include File Comments · 28 unmodified lines
225226 'k' 00-0F linux/spi/spidev.h conflict!
226227 'k' 00-05 video/kyro.h conflict!
227228 'l' 00-3F linux/tcfs_fs.h transparent cryptographic file system
228− <http://mikonos.dia.unisa.it/tcfs>
229+ <http://web.archive.org/web/*/http://mikonos.dia.unisa.it/tcfs>
229230 'l' 40-7F linux/udf_fs_i.h in development:
230231 <http://sourceforge.net/projects/linux-udf/>
231232 'm' 00-09 linux/mmtimer.h conflict!
@@ -252,7 +253,7 @@ Code Seq#(hex) Include File Comments · 20 unmodified lines
252253 <mailto:giometti@linux.it>
253254 'q' 00-1F linux/serio.h
254255 'q' 80-FF linux/telephony.h Internet PhoneJACK, Internet LineJACK
255− linux/ixjuser.h <http://www.quicknet.net>
256+ linux/ixjuser.h <http://web.archive.org/web/*/http://www.quicknet.net>
256257 'r' 00-1F linux/msdos_fs.h and fs/fat/dir.c
257258 's' all linux/cdk.h
258259 't' 00-7F linux/if_ppp.h
@@ -286,7 +287,7 @@ Code Seq#(hex) Include File Comments · 27 unmodified lines
286287 0x89 F0-FF linux/sockios.h SIOCDEVPRIVATE range
287288 0x8B all linux/wireless.h
288289 0x8C 00-3F WiNRADiO driver
289− <http://www.proximity.com.au/~brian/winradio/>
290+ <http://www.winradio.com.au/>
290291 0x90 00 drivers/cdrom/sbpcd.h
291292 0x92 00-0F drivers/usb/mon/mon_bin.c
292293 0x93 60-7F linux/auto_fs.h
Documentation/isdn/INTERFACE.CAPI+6−2
@@ -113,12 +113,16 @@ char *driver_name · 112 unmodified lines
113113 int (*load_firmware)(struct capi_ctr *ctrlr, capiloaddata *ldata)
114114 (optional) pointer to a callback function for sending firmware and
115115 configuration data to the device
116+ The function may return before the operation has completed.
117+ Completion must be signalled by a call to capi_ctr_ready().
116118 Return value: 0 on success, error code on error
117119 Called in process context.
118120
119121 void (*reset_ctr)(struct capi_ctr *ctrlr)
120− (optional) pointer to a callback function for performing a reset on
121− the device, releasing all registered applications
122+ (optional) pointer to a callback function for stopping the device,
123+ releasing all registered applications
124+ The function may return before the operation has completed.
125+ Completion must be signalled by a call to capi_ctr_down().
122126 Called in process context.
123127
124128 void (*register_appl)(struct capi_ctr *ctrlr, u16 applid,
Documentation/isdn/README+1−1
@@ -36,7 +36,7 @@ README for the ISDN-subsystem · 35 unmodified lines
3636 http://www.mhessler.de/i4lfaq/
3737 It can be viewed online, or downloaded in sgml/text/html format.
3838 The FAQ can also be viewed online at
39− http://www.isdn4inux.de/faq/
39+ http://www.isdn4linux.de/faq/
4040 or downloaded from
4141 ftp://ftp.isdn4linux.de/pub/isdn4linux/FAQ/
4242
Documentation/isdn/README.HiSax+1−1
@@ -486,7 +486,7 @@ Appendix: Teles PCMCIA driver · 485 unmodified lines
486486 -----------------------------
487487
488488 See
489− http://www.stud.uni-wuppertal.de/~ea0141/pcmcia.html
489+ http://www.linux.no/teles_cs.txt
490490 for instructions.
491491
492492 Appendix: Linux and ISDN-leased lines
Documentation/isdn/README.gigaset+69−48
@@ -47,9 +47,9 @@ GigaSet 307x Device Driver · 46 unmodified lines
4747
4848 1.2. Software
4949 --------
50− The driver works with ISDN4linux and so can be used with any software
51− which is able to use ISDN4linux for ISDN connections (voice or data).
52− Experimental Kernel CAPI support is available as a compilation option.
50+ The driver works with the Kernel CAPI subsystem as well as the old
51+ ISDN4Linux subsystem, so it can be used with any software which is able
52+ to use CAPI 2.0 or ISDN4Linux for ISDN connections (voice or data).
5353
5454 There are some user space tools available at
5555 http://sourceforge.net/projects/gigaset307x/
@@ -152,61 +152,42 @@ GigaSet 307x Device Driver · 96 unmodified lines
152152 - GIGVER_FWBASE: retrieve the firmware version of the base
153153 Upon return, version[] is filled with the requested version information.
154154
155−2.3. ISDN4linux
156− ----------
157− This is the "normal" mode of operation. After loading the module you can
158− set up the ISDN system just as you'd do with any ISDN card supported by
159− the ISDN4Linux subsystem. Most distributions provide some configuration
160− utility. If not, you can use some HOWTOs like
161− http://www.linuxhaven.de/dlhp/HOWTO/DE-ISDN-HOWTO-5.html
162− If this doesn't work, because you have some device like SX100 where
163− debug output (see section 3.2.) shows something like this when dialing
164− CMD Received: ERROR
165− Available Params: 0
166− Connection State: 0, Response: -1
167− gigaset_process_response: resp_code -1 in ConState 0 !
168− Timeout occurred
169− you probably need to use unimodem mode. (see section 2.5.)
170−
171−2.4. CAPI
155+2.3. CAPI
172156 ----
173157 If the driver is compiled with CAPI support (kernel configuration option
174− GIGASET_CAPI, experimental) it can also be used with CAPI 2.0 kernel and
175− user space applications. For user space access, the module capi.ko must
176− be loaded. The capiinit command (included in the capi4k-utils package)
177− does this for you.
178−
179− The CAPI variant of the driver supports legacy ISDN4Linux applications
180− via the capidrv compatibility driver. The kernel module capidrv.ko must
181− be loaded explicitly with the command
158+ GIGASET_CAPI) the devices will show up as CAPI controllers as soon as the
159+ corresponding driver module is loaded, and can then be used with CAPI 2.0
160+ kernel and user space applications. For user space access, the module
161+ capi.ko must be loaded.
162+
163+ Legacy ISDN4Linux applications are supported via the capidrv
164+ compatibility driver. The kernel module capidrv.ko must be loaded
165+ explicitly with the command
182166 modprobe capidrv
183167 if needed, and cannot be unloaded again without unloading the driver
184168 first. (These are limitations of capidrv.)
185169
186− The note about unimodem mode in the preceding section applies here, too.
187−
188−2.5. Unimodem mode
189− -------------
190− This is needed for some devices [e.g. SX100] as they have problems with
191− the "normal" commands.
170+ Most distributions handle loading and unloading of the various CAPI
171+ modules automatically via the command capiinit(1) from the capi4k-utils
172+ package or a similar mechanism. Note that capiinit(1) cannot unload the
173+ Gigaset drivers because it doesn't support more than one module per
174+ driver.
192175
193− If you have installed the command line tool gigacontr, you can enter
194− unimodem mode using
195− gigacontr --mode unimodem
196− You can switch back using
197− gigacontr --mode isdn
176+2.4. ISDN4Linux
177+ ----------
178+ If the driver is compiled without CAPI support (native ISDN4Linux
179+ variant), it registers the device with the legacy ISDN4Linux subsystem
180+ after loading the module. It can then be used with ISDN4Linux
181+ applications only. Most distributions provide some configuration utility
182+ for setting up that subsystem. Otherwise you can use some HOWTOs like
183+ http://www.linuxhaven.de/dlhp/HOWTO/DE-ISDN-HOWTO-5.html
198184
199− You can also put the driver directly into Unimodem mode when it's loaded,
200− by passing the module parameter startmode=0 to the hardware specific
201− module, e.g.
202− modprobe usb_gigaset startmode=0
203− or by adding a line like
204− options usb_gigaset startmode=0
205− to an appropriate module configuration file, like /etc/modprobe.d/gigaset
206− or /etc/modprobe.conf.local.
207185
186+2.5. Unimodem mode
187+ -------------
208188 In this mode the device works like a modem connected to a serial port
209189 (the /dev/ttyGU0, ... mentioned above) which understands the commands
190+
210191 ATZ init, reset
211192 => OK or ERROR
212193 ATD
@@ -234,6 +215,31 @@ GigaSet 307x Device Driver · 21 unmodified lines
234215 to an appropriate module configuration file, like /etc/modprobe.d/gigaset
235216 or /etc/modprobe.conf.local.
236217
218+ Unimodem mode is needed for making some devices [e.g. SX100] work which
219+ do not support the regular Gigaset command set. If debug output (see
220+ section 3.2.) shows something like this when dialing:
221+ CMD Received: ERROR
222+ Available Params: 0
223+ Connection State: 0, Response: -1
224+ gigaset_process_response: resp_code -1 in ConState 0 !
225+ Timeout occurred
226+ then switching to unimodem mode may help.
227+
228+ If you have installed the command line tool gigacontr, you can enter
229+ unimodem mode using
230+ gigacontr --mode unimodem
231+ You can switch back using
232+ gigacontr --mode isdn
233+
234+ You can also put the driver directly into Unimodem mode when it's loaded,
235+ by passing the module parameter startmode=0 to the hardware specific
236+ module, e.g.
237+ modprobe usb_gigaset startmode=0
238+ or by adding a line like
239+ options usb_gigaset startmode=0
240+ to an appropriate module configuration file, like /etc/modprobe.d/gigaset
241+ or /etc/modprobe.conf.local.
242+
237243 2.6. Call-ID (CID) mode
238244 ------------------
239245 Call-IDs are numbers used to tag commands to, and responses from, the
@@ -263,7 +269,22 @@ GigaSet 307x Device Driver · 23 unmodified lines
263269 change its CID mode while the driver is loaded, eg.
264270 echo 0 > /sys/class/tty/ttyGU0/cidmode
265271
266−2.7. Unregistered Wireless Devices (M101/M105)
272+2.7. Dialing Numbers
273+ ---------------
274+ The called party number provided by an application for dialing out must
275+ be a public network number according to the local dialing plan, without
276+ any dial prefix for getting an outside line.
277+
278+ Internal calls can be made by providing an internal extension number
279+ prefixed with "**" (two asterisks) as the called party number. So to dial
280+ eg. the first registered DECT handset, give "**11" as the called party
281+ number. Dialing "***" (three asterisks) calls all extensions
282+ simultaneously (global call).
283+
284+ This holds for both CAPI 2.0 and ISDN4Linux applications. Unimodem mode
285+ does not support internal calls.
286+
287+2.8. Unregistered Wireless Devices (M101/M105)
267288 -----------------------------------------
268289 The main purpose of the ser_gigaset and usb_gigaset drivers is to allow
269290 the M101 and M105 wireless devices to be used as ISDN devices for ISDN
Documentation/ja_JP/HOWTO+1−1
@@ -223,7 +223,7 @@ web サイトには、コードの構成、サブシステム、現在存在す · 222 unmodified lines
223223 あなたがどこからスタートして良いかわからないが、Linux カーネル開発コミュ
224224 ニティに参加して何かすることをさがしている場合には、Linux kernel
225225 Janitor's プロジェクトにいけば良いでしょう -
226− http://janitor.kernelnewbies.org/
226+ http://kernelnewbies.org/KernelJanitors
227227 ここはそのようなスタートをするのにうってつけの場所です。ここには、
228228 Linux カーネルソースツリーの中に含まれる、きれいにし、修正しなければな
229229 らない、単純な問題のリストが記述されています。このプロジェクトに関わる
Documentation/ja_JP/SubmittingPatches+3−3
@@ -97,7 +97,7 @@ Quilt: · 96 unmodified lines
9797 http://savannah.nongnu.org/projects/quilt
9898
9999 Andrew Morton's patch scripts:
100−http://www.zip.com.au/~akpm/linux/patches/
100+http://userweb.kernel.org/~akpm/stuff/tpp.txt
101101 このリンクの先のスクリプトの代わりとして、quilt がパッチマネジメント
102102 ツールとして推奨されています(上のリンクを見てください)。
103103
@@ -210,7 +210,7 @@ VGER.KERNEL.ORG でホスティングされているメーリングリストの · 106 unmodified lines
210210 ・移植性のないコードから移植性のあるコードへの置き換え(小さい範囲で
211211 あればアーキテクチャ特有のことでも他の人がコピーできます)
212212 ・作者やメンテナによる修正(すなわち patch monkey の再転送モード)
213−URL: <http://www.kernel.org/pub/linux/kernel/people/bunk/trivial/>
213+EMAIL: <trivial@kernel.org>
214214
215215 7) MIME やリンクや圧縮ファイルや添付ファイルではなくプレインテキストのみ
216216
@@ -534,7 +534,7 @@ gcc においては、マクロと同じくらい軽いです。 · 317 unmodified lines
534534 ----------------------
535535
536536 Andrew Morton, "The perfect patch" (tpp).
537− <http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt>
537+ <http://userweb.kernel.org/~akpm/stuff/tpp.txt>
538538
539539 Jeff Garzik, "Linux kernel patch submission format".
540540 <http://linux.yyz.us/patch-format.html>
Documentation/kbuild/kbuild.txt+28−6
@@ -22,11 +22,33 @@ building C files and assembler files. · 21 unmodified lines
2222
2323 KAFLAGS
2424 --------------------------------------------------
25−Additional options to the assembler.
25+Additional options to the assembler (for built-in and modules).
26+
27+AFLAGS_MODULE
28+--------------------------------------------------
29+Addtional module specific options to use for $(AS).
30+
31+AFLAGS_KERNEL
32+--------------------------------------------------
33+Addtional options for $(AS) when used for assembler
34+code for code that is compiled as built-in.
2635
2736 KCFLAGS
2837 --------------------------------------------------
29−Additional options to the C compiler.
38+Additional options to the C compiler (for built-in and modules).
39+
40+CFLAGS_KERNEL
41+--------------------------------------------------
42+Addtional options for $(CC) when used to compile
43+code that is compiled as built-in.
44+
45+CFLAGS_MODULE
46+--------------------------------------------------
47+Addtional module specific options to use for $(CC).
48+
49+LDFLAGS_MODULE
50+--------------------------------------------------
51+Additional options used for $(LD) when linking modules.
3052
3153 KBUILD_VERBOSE
3254 --------------------------------------------------
@@ -40,15 +62,15 @@ Set the directory to look for the kernel source when building external · 7 unmodified lines
4062 modules.
4163 The directory can be specified in several ways:
4264 1) Use "M=..." on the command line
43−2) Environmnet variable KBUILD_EXTMOD
44−3) Environmnet variable SUBDIRS
65+2) Environment variable KBUILD_EXTMOD
66+3) Environment variable SUBDIRS
4567 The possibilities are listed in the order they take precedence.
4668 Using "M=..." will always override the others.
4769
4870 KBUILD_OUTPUT
4971 --------------------------------------------------
5072 Specify the output directory when building the kernel.
51−The output directory can also be specificed using "O=...".
73+The output directory can also be specified using "O=...".
5274 Setting "O=..." takes precedence over KBUILD_OUTPUT.
5375
5476 ARCH
@@ -90,7 +112,7 @@ The script will be called with the following arguments: · 35 unmodified lines
90112 $3 - kernel map file
91113 $4 - default install path (use root directory if blank)
92114
93−The implmentation of "make install" is architecture specific
115+The implementation of "make install" is architecture specific
94116 and it may differ from the above.
95117
96118 INSTALLKERNEL is provided to enable the possibility to
Documentation/kbuild/kconfig.txt+1−1
@@ -65,7 +65,7 @@ also use the environment variable KCONFIG_ALLCONFIG as a flag or a · 64 unmodified lines
6565 filename that contains config symbols that the user requires to be
6666 set to a specific value. If KCONFIG_ALLCONFIG is used without a
6767 filename, "make *config" checks for a file named
68−"all{yes/mod/no/random}.config" (corresponding to the *config command
68+"all{yes/mod/no/def/random}.config" (corresponding to the *config command
6969 that was used) for symbol values that are to be forced. If this file
7070 is not found, it checks for a file named "all.config" to contain forced
7171 values.
Documentation/kbuild/makefiles.txt+71−56
@@ -168,7 +168,7 @@ more details, with real examples. · 167 unmodified lines
168168 #drivers/isdn/i4l/Makefile
169169 # Makefile for the kernel ISDN subsystem and device drivers.
170170 # Each configuration option enables a list of files.
171− obj-$(CONFIG_ISDN) += isdn.o
171+ obj-$(CONFIG_ISDN_I4L) += isdn.o
172172 obj-$(CONFIG_ISDN_PPP_BSDCOMP) += isdn_bsdcomp.o
173173
174174 --- 3.3 Loadable module goals - obj-m
@@ -187,34 +187,35 @@ more details, with real examples. · 12 unmodified lines
187187 Note: In this example $(CONFIG_ISDN_PPP_BSDCOMP) evaluates to 'm'
188188
189189 If a kernel module is built from several source files, you specify
190− that you want to build a module in the same way as above.
191−
192− Kbuild needs to know which the parts that you want to build your
193− module from, so you have to tell it by setting an
194− $(<module_name>-objs) variable.
190+ that you want to build a module in the same way as above; however,
191+ kbuild needs to know which object files you want to build your
192+ module from, so you have to tell it by setting a $(<module_name>-y)
193+ variable.
195194
196195 Example:
197196 #drivers/isdn/i4l/Makefile
198− obj-$(CONFIG_ISDN) += isdn.o
199− isdn-objs := isdn_net_lib.o isdn_v110.o isdn_common.o
197+ obj-$(CONFIG_ISDN_I4L) += isdn.o
198+ isdn-y := isdn_net_lib.o isdn_v110.o isdn_common.o
200199
201200 In this example, the module name will be isdn.o. Kbuild will
202− compile the objects listed in $(isdn-objs) and then run
201+ compile the objects listed in $(isdn-y) and then run
203202 "$(LD) -r" on the list of these files to generate isdn.o.
204203
205− Kbuild recognises objects used for composite objects by the suffix
206− -objs, and the suffix -y. This allows the Makefiles to use
207− the value of a CONFIG_ symbol to determine if an object is part
208− of a composite object.
204+ Due to kbuild recognizing $(<module_name>-y) for composite objects,
205+ you can use the value of a CONFIG_ symbol to optionally include an
206+ object file as part of a composite object.
209207
210208 Example:
211209 #fs/ext2/Makefile
212− obj-$(CONFIG_EXT2_FS) += ext2.o
213− ext2-y := balloc.o bitmap.o
214− ext2-$(CONFIG_EXT2_FS_XATTR) += xattr.o
210+ obj-$(CONFIG_EXT2_FS) += ext2.o
211+ ext2-y := balloc.o dir.o file.o ialloc.o inode.o ioctl.o \
212+ namei.o super.o symlink.o
213+ ext2-$(CONFIG_EXT2_FS_XATTR) += xattr.o xattr_user.o \
214+ xattr_trusted.o
215215
216− In this example, xattr.o is only part of the composite object
217− ext2.o if $(CONFIG_EXT2_FS_XATTR) evaluates to 'y'.
216+ In this example, xattr.o, xattr_user.o and xattr_trusted.o are only
217+ part of the composite object ext2.o if $(CONFIG_EXT2_FS_XATTR)
218+ evaluates to 'y'.
218219
219220 Note: Of course, when you are building objects into the kernel,
220221 the syntax above will also work. So, if you have CONFIG_EXT2_FS=y,
@@ -244,12 +245,12 @@ more details, with real examples. · 23 unmodified lines
244245 may contain both a built-in.o and a lib.a file.
245246
246247 Example:
247− #arch/i386/lib/Makefile
248− lib-y := checksum.o delay.o
248+ #arch/x86/lib/Makefile
249+ lib-y := delay.o
249250
250− This will create a library lib.a based on checksum.o and delay.o.
251− For kbuild to actually recognize that there is a lib.a being built,
252− the directory shall be listed in libs-y.
251+ This will create a library lib.a based on delay.o. For kbuild to
252+ actually recognize that there is a lib.a being built, the directory
253+ shall be listed in libs-y.
253254 See also "6.3 List directories to visit when descending".
254255
255256 Use of lib-y is normally restricted to lib/ and arch/*/lib.
@@ -284,43 +285,40 @@ more details, with real examples. · 28 unmodified lines
284285 --- 3.7 Compilation flags
285286
286287 ccflags-y, asflags-y and ldflags-y
287− The three flags listed above applies only to the kbuild makefile
288− where they are assigned. They are used for all the normal
289− cc, as and ld invocation happenign during a recursive build.
288+ These three flags apply only to the kbuild makefile in which they
289+ are assigned. They are used for all the normal cc, as and ld
290+ invocations happening during a recursive build.
290291 Note: Flags with the same behaviour were previously named:
291292 EXTRA_CFLAGS, EXTRA_AFLAGS and EXTRA_LDFLAGS.
292− They are yet supported but their use are deprecated.
293+ They are still supported but their usage is deprecated.
293294
294− ccflags-y specifies options for compiling C files with $(CC).
295+ ccflags-y specifies options for compiling with $(CC).
295296
296297 Example:
297− # drivers/sound/emu10k1/Makefile
298− ccflags-y += -I$(obj)
299− ccflags-$(DEBUG) += -DEMU10K1_DEBUG
300−
298+ # drivers/acpi/Makefile
299+ ccflags-y := -Os
300+ ccflags-$(CONFIG_ACPI_DEBUG) += -DACPI_DEBUG_OUTPUT
301301
302302 This variable is necessary because the top Makefile owns the
303303 variable $(KBUILD_CFLAGS) and uses it for compilation flags for the
304304 entire tree.
305305
306− asflags-y is a similar string for per-directory options
307− when compiling assembly language source.
306+ asflags-y specifies options for assembling with $(AS).
308307
309308 Example:
310− #arch/x86_64/kernel/Makefile
311− asflags-y := -traditional
312−
309+ #arch/sparc/kernel/Makefile
310+ asflags-y := -ansi
313311
314− ldflags-y is a string for per-directory options to $(LD).
312+ ldflags-y specifies options for linking with $(LD).
315313
316314 Example:
317− #arch/m68k/fpsp040/Makefile
318− ldflags-y := -x
315+ #arch/cris/boot/compressed/Makefile
316+ ldflags-y += -T $(srctree)/$(src)/decompress_$(arch-y).lds
319317
320318 subdir-ccflags-y, subdir-asflags-y
321− The two flags listed above are similar to ccflags-y and as-falgs-y.
322− The difference is that the subdir- variants has effect for the kbuild
323− file where tey are present and all subdirectories.
319+ The two flags listed above are similar to ccflags-y and asflags-y.
320+ The difference is that the subdir- variants have effect for the kbuild
321+ file where they are present and all subdirectories.
324322 Options specified using subdir-* are added to the commandline before
325323 the options specified using the non-subdir variants.
326324
@@ -340,18 +338,18 @@ more details, with real examples. · 13 unmodified lines
340338 CFLAGS_aha152x.o = -DAHA152X_STAT -DAUTOCONF
341339 CFLAGS_gdth.o = # -DDEBUG_GDTH=2 -D__SERIAL__ -D__COM2__ \
342340 -DGDTH_STATISTICS
343− CFLAGS_seagate.o = -DARBITRATE -DPARITY -DSEAGATE_USE_ASM
344341
345− These three lines specify compilation flags for aha152x.o,
346− gdth.o, and seagate.o
342+ These two lines specify compilation flags for aha152x.o and gdth.o.
347343
348344 $(AFLAGS_$@) is a similar feature for source files in assembly
349345 languages.
350346
351347 Example:
352348 # arch/arm/kernel/Makefile
353− AFLAGS_head-armv.o := -DTEXTADDR=$(TEXTADDR) -traditional
354− AFLAGS_head-armo.o := -DTEXTADDR=$(TEXTADDR) -traditional
349+ AFLAGS_head.o := -DTEXT_OFFSET=$(TEXT_OFFSET)
350+ AFLAGS_crunch-bits.o := -Wa,-mcpu=ep9312
351+ AFLAGS_iwmmxt.o := -Wa,-mcpu=iwmmxt
352+
355353
356354 --- 3.9 Dependency tracking
357355
@@ -923,16 +921,33 @@ When kbuild executes, the following steps are followed (roughly): · 565 unmodified lines
923921 The first example utilises the trick that a config option expands
924922 to 'y' when selected.
925923
926− CFLAGS_KERNEL $(CC) options specific for built-in
924+ KBUILD_AFLAGS_KERNEL $(AS) options specific for built-in
925+
926+ $(KBUILD_AFLAGS_KERNEL) contains extra C compiler flags used to compile
927+ resident kernel code.
928+
929+ KBUILD_AFLAGS_MODULE Options for $(AS) when building modules
930+
931+ $(KBUILD_AFLAGS_MODULE) is used to add arch specific options that
932+ are used for $(AS).
933+ From commandline AFLAGS_MODULE shall be used (see kbuild.txt).
927934
928− $(CFLAGS_KERNEL) contains extra C compiler flags used to compile
935+ KBUILD_CFLAGS_KERNEL $(CC) options specific for built-in
936+
937+ $(KBUILD_CFLAGS_KERNEL) contains extra C compiler flags used to compile
929938 resident kernel code.
930939
931− CFLAGS_MODULE $(CC) options specific for modules
940+ KBUILD_CFLAGS_MODULE Options for $(CC) when building modules
941+
942+ $(KBUILD_CFLAGS_MODULE) is used to add arch specific options that
943+ are used for $(CC).
944+ From commandline CFLAGS_MODULE shall be used (see kbuild.txt).
932945
933− $(CFLAGS_MODULE) contains extra C compiler flags used to compile code
934− for loadable kernel modules.
946+ KBUILD_LDFLAGS_MODULE Options for $(LD) when linking modules
935947
948+ $(KBUILD_LDFLAGS_MODULE) is used to add arch specific options
949+ used when linking modules. This is often a linker script.
950+ From commandline LDFLAGS_MODULE shall be used (see kbuild.txt).
936951
937952 --- 6.2 Add prerequisites to archprepare:
938953
@@ -1176,14 +1191,14 @@ When kbuild executes, the following steps are followed (roughly): · 237 unmodified lines
11761191 === 7 Kbuild syntax for exported headers
11771192
11781193 The kernel include a set of headers that is exported to userspace.
1179−Many headers can be exported as-is but other headers requires a
1194+Many headers can be exported as-is but other headers require a
11801195 minimal pre-processing before they are ready for user-space.
11811196 The pre-processing does:
11821197 - drop kernel specific annotations
11831198 - drop include of compiler.h
1184−- drop all sections that is kernel internat (guarded by ifdef __KERNEL__)
1199+- drop all sections that are kernel internal (guarded by ifdef __KERNEL__)
11851200
1186−Each relevant directory contain a file name "Kbuild" which specify the
1201+Each relevant directory contains a file name "Kbuild" which specifies the
11871202 headers to be exported.
11881203 See subsequent chapter for the syntax of the Kbuild file.
11891204
Documentation/kernel-docs.txt+18−21
@@ -75,7 +75,7 @@ · 74 unmodified lines
7575
7676 * Title: "Conceptual Architecture of the Linux Kernel"
7777 Author: Ivan T. Bowman.
78− URL: http://plg.uwaterloo.ca/~itbowman/papers/CS746G-a1.html
78+ URL: http://plg.uwaterloo.ca/
7979 Keywords: conceptual software architecture, extracted design,
8080 reverse engineering, system structure.
8181 Description: Conceptual software architecture of the Linux kernel,
@@ -84,7 +84,7 @@ · 2 unmodified lines
8484
8585 * Title: "Concrete Architecture of the Linux Kernel"
8686 Author: Ivan T. Bowman, Saheem Siddiqi, and Meyer C. Tanuan.
87− URL: http://plg.uwaterloo.ca/~itbowman/papers/CS746G-a2.html
87+ URL: http://plg.uwaterloo.ca/
8888 Keywords: concrete architecture, extracted design, reverse
8989 engineering, system structure, dependencies.
9090 Description: Concrete architecture of the Linux kernel,
@@ -95,7 +95,7 @@ · 4 unmodified lines
9595 * Title: "Linux as a Case Study: Its Extracted Software
9696 Architecture"
9797 Author: Ivan T. Bowman, Richard C. Holt and Neil V. Brewster.
98− URL: http://plg.uwaterloo.ca/~itbowman/papers/linuxcase.html
98+ URL: http://plg.uwaterloo.ca/
9999 Keywords: software architecture, architecture recovery,
100100 redocumentation.
101101 Description: Paper appeared at ICSE'99, Los Angeles, May 16-22,
@@ -104,7 +104,7 @@ · 2 unmodified lines
104104
105105 * Title: "Overview of the Virtual File System"
106106 Author: Richard Gooch.
107− URL: http://www.atnf.csiro.au/~rgooch/linux/vfs.txt
107+ URL: http://www.mjmwired.net/kernel/Documentation/filesystems/vfs.txt
108108 Keywords: VFS, File System, mounting filesystems, opening files,
109109 dentries, dcache.
110110 Description: Brief introduction to the Linux Virtual File System.
@@ -267,15 +267,13 @@ · 156 unmodified lines
267267 * Title: "Kernel API changes from 2.0 to 2.2"
268268 Author: Richard Gooch.
269269 URL:
270− http://www.atnf.csiro.au/~rgooch/linux/docs/porting-to-2.2.html
270+ http://www.linuxhq.com/guides/LKMPG/node28.html
271271 Keywords: 2.2, changes.
272272 Description: Kernel functions/structures/variables which changed
273273 from 2.0.x to 2.2.x.
274274
275275 * Title: "Kernel API changes from 2.2 to 2.4"
276276 Author: Richard Gooch.
277− URL:
278− http://www.atnf.csiro.au/~rgooch/linux/docs/porting-to-2.4.html
279277 Keywords: 2.4, changes.
280278 Description: Kernel functions/structures/variables which changed
281279 from 2.2.x to 2.4.x.
@@ -290,7 +288,6 @@ · 8 unmodified lines
290288
291289 * Title: "I/O Event Handling Under Linux"
292290 Author: Richard Gooch.
293− URL: http://www.atnf.csiro.au/~rgooch/linux/docs/io-events.html
294291 Keywords: IO, I/O, select(2), poll(2), FDs, aio_read(2), readiness
295292 event queues.
296293 Description: From the Introduction: "I/O Event handling is about
@@ -386,64 +383,64 @@ · 89 unmodified lines
386383
387384 * Title: "Porting Device Drivers To Linux 2.2: part II"
388385 Author: Alan Cox.
389− URL: http://www.linux-mag.com/1999-06/gear_01.html
386+ URL: http://www.linux-mag.com/id/238
390387 Keywords: ports, porting.
391388 Description: Second part on porting from 2.0 to 2.2 kernels.
392389
393390 * Title: "How To Make Sure Your Driver Will Work On The Power
394391 Macintosh"
395392 Author: Paul Mackerras.
396− URL: http://www.linux-mag.com/1999-07/gear_01.html
393+ URL: http://www.linux-mag.com/id/261
397394 Keywords: Mac, Power Macintosh, porting, drivers, compatibility.
398395 Description: The title says it all.
399396
400397 * Title: "An Introduction to SCSI Drivers"
401398 Author: Alan Cox.
402− URL: http://www.linux-mag.com/1999-08/gear_01.html
399+ URL: http://www.linux-mag.com/id/284
403400 Keywords: SCSI, device, driver.
404401 Description: The title says it all.
405402
406403 * Title: "Advanced SCSI Drivers And Other Tales"
407404 Author: Alan Cox.
408− URL: http://www.linux-mag.com/1999-09/gear_01.html
405+ URL: http://www.linux-mag.com/id/307
409406 Keywords: SCSI, device, driver, advanced.
410407 Description: The title says it all.
411408
412409 * Title: "Writing Linux Mouse Drivers"
413410 Author: Alan Cox.
414− URL: http://www.linux-mag.com/1999-10/gear_01.html
411+ URL: http://www.linux-mag.com/id/330
415412 Keywords: mouse, driver, gpm.
416413 Description: The title says it all.
417414
418415 * Title: "More on Mouse Drivers"
419416 Author: Alan Cox.
420− URL: http://www.linux-mag.com/1999-11/gear_01.html
417+ URL: http://www.linux-mag.com/id/356
421418 Keywords: mouse, driver, gpm, races, asynchronous I/O.
422419 Description: The title still says it all.
423420
424421 * Title: "Writing Video4linux Radio Driver"
425422 Author: Alan Cox.
426− URL: http://www.linux-mag.com/1999-12/gear_01.html
423+ URL: http://www.linux-mag.com/id/381
427424 Keywords: video4linux, driver, radio, radio devices.
428425 Description: The title says it all.
429426
430427 * Title: "Video4linux Drivers, Part 1: Video-Capture Device"
431428 Author: Alan Cox.
432− URL: http://www.linux-mag.com/2000-01/gear_01.html
429+ URL: http://www.linux-mag.com/id/406
433430 Keywords: video4linux, driver, video capture, capture devices,
434431 camera driver.
435432 Description: The title says it all.
436433
437434 * Title: "Video4linux Drivers, Part 2: Video-capture Devices"
438435 Author: Alan Cox.
439− URL: http://www.linux-mag.com/2000-02/gear_01.html
436+ URL: http://www.linux-mag.com/id/429
440437 Keywords: video4linux, driver, video capture, capture devices,
441438 camera driver, control, query capabilities, capability, facility.
442439 Description: The title says it all.
443440
444441 * Title: "PCI Management in Linux 2.2"
445442 Author: Alan Cox.
446− URL: http://www.linux-mag.com/2000-03/gear_01.html
443+ URL: http://www.linux-mag.com/id/452
447444 Keywords: PCI, bus, bus-mastering.
448445 Description: The title says it all.
449446
@@ -502,7 +499,7 @@ · 52 unmodified lines
502499
503500 * Title: "A Linux vm README"
504501 Author: Kanoj Sarcar.
505− URL: http://reality.sgi.com/kanoj_engr/vm229.html
502+ URL: http://kos.enix.org/pub/linux-vmm.html
506503 Keywords: virtual memory, mm, pgd, vma, page, page flags, page
507504 cache, swap cache, kswapd.
508505 Description: Telegraphic, short descriptions and definitions
@@ -659,7 +656,7 @@ · 150 unmodified lines
659656
660657 * Name: "Linux Kernel Source Reference"
661658 Author: Thomas Graichen.
662− URL: http://innominate.org/~graichen/projects/lksr/
659+ URL: http://marc.info/?l=linux-kernel&m=96446640102205&w=4
663660 Keywords: CVS, web, cvsweb, browsing source code.
664661 Description: Web interface to a CVS server with the kernel
665662 sources. "Here you can have a look at any file of the Linux kernel
@@ -682,7 +679,7 @@ · 16 unmodified lines
682679 produced during the week. Published every Thursday.
683680
684681 * Name: "Kernel Traffic"
685− URL: http://kt.zork.net/kernel-traffic/
682+ URL: http://kt.earth.li/kernel-traffic/index.html
686683 Keywords: linux-kernel mailing list, weekly kernel news.
687684 Description: Weekly newsletter covering the most relevant
688685 discussions of the linux-kernel mailing list.
Documentation/kernel-parameters.txt+40−171
@@ -73,7 +73,6 @@ parameter is applicable: · 72 unmodified lines
7373 MTD MTD (Memory Technology Device) support is enabled.
7474 NET Appropriate network support is enabled.
7575 NUMA NUMA support is enabled.
76− GENERIC_TIME The generic timeofday code is enabled.
7776 NFS Appropriate NFS support is enabled.
7877 OSS OSS sound support is enabled.
7978 PV_OPS A paravirtualized kernel is enabled.
@@ -93,6 +92,7 @@ parameter is applicable: · 13 unmodified lines
9392 Documentation/scsi/.
9493 SECURITY Different security models are enabled.
9594 SELINUX SELinux support is enabled.
95+ APPARMOR AppArmor support is enabled.
9696 SERIAL Serial support is enabled.
9797 SH SuperH architecture is enabled.
9898 SMP The kernel is an SMP kernel.
@@ -115,6 +115,7 @@ parameter is applicable: · 16 unmodified lines
115115 More X86-64 boot options can be found in
116116 Documentation/x86/x86_64/boot-options.txt .
117117 X86 Either 32bit or 64bit x86 (same as X86-32+X86-64)
118+ XEN Xen support is enabled
118119
119120 In addition, the following text indicates that the option:
120121
@@ -280,19 +281,12 @@ and is between 256 and 4096 characters. It is defined in the file · 159 unmodified lines
280281 no: ACPI OperationRegions are not marked as reserved,
281282 no further checks are performed.
282283
283− ad1848= [HW,OSS]
284− Format: <io>,<irq>,<dma>,<dma2>,<type>
285−
286284 add_efi_memmap [EFI; X86] Include EFI memory map in
287285 kernel's map of available physical RAM.
288286
289287 advansys= [HW,SCSI]
290288 See header of drivers/scsi/advansys.c.
291289
292− aedsp16= [HW,OSS] Audio Excel DSP 16
293− Format: <io>,<irq>,<dma>,<mss_io>,<mpu_io>,<mpu_irq>
294− See also header of sound/oss/aedsp16.c.
295−
296290 agp= [AGP]
297291 { off | try_unsupported }
298292 off: disable AGP support
@@ -311,6 +305,9 @@ and is between 256 and 4096 characters. It is defined in the file · 12 unmodified lines
311305 aic79xx= [HW,SCSI]
312306 See Documentation/scsi/aic79xx.txt.
313307
308+ ALSA [HW,ALSA]
309+ See Documentation/sound/alsa/alsa-parameters.txt
310+
314311 alignment= [KNL,ARM]
315312 Allow the default userspace alignment fault handler
316313 behaviour to be specified. Bit 0 enables warnings,
@@ -468,7 +465,7 @@ and is between 256 and 4096 characters. It is defined in the file · 151 unmodified lines
468465 clocksource is not available, it defaults to PIT.
469466 Format: { pit | tsc | cyclone | pmtmr }
470467
471− clocksource= [GENERIC_TIME] Override the default clocksource
468+ clocksource= Override the default clocksource
472469 Format: <string>
473470 Override the default clocksource and use the clocksource
474471 with the name specified.
@@ -655,8 +652,6 @@ and is between 256 and 4096 characters. It is defined in the file · 180 unmodified lines
655652 Disable PIN 1 of APIC timer
656653 Can be useful to work around chipset bugs.
657654
658− dmasound= [HW,OSS] Sound subsystem buffers
659−
660655 dma_debug=off If the kernel is compiled with DMA_API_DEBUG support,
661656 this option disables the debugging code at boot.
662657
@@ -686,8 +681,11 @@ and is between 256 and 4096 characters. It is defined in the file · 23 unmodified lines
686681 earlycon= [KNL] Output early console device and options.
687682 uart[8250],io,<addr>[,options]
688683 uart[8250],mmio,<addr>[,options]
684+ uart[8250],mmio32,<addr>[,options]
689685 Start an early, polled-mode console on the 8250/16550
690686 UART at the specified I/O port or MMIO address.
687+ MMIO inter-register address stride is either 8bit (mmio)
688+ or 32bit (mmio32).
691689 The options are the same as for ttyS, above.
692690
693691 earlyprintk= [X86,SH,BLACKFIN]
@@ -917,9 +915,6 @@ and is between 256 and 4096 characters. It is defined in the file · 223 unmodified lines
917915 controller
918916 i8042.nopnp [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX
919917 controllers
920− i8042.panicblink=
921− [HW] Frequency with which keyboard LEDs should blink
922− when kernel panics (default is 0.5 sec)
923918 i8042.reset [HW] Reset the controller during init and cleanup
924919 i8042.unlock [HW] Unlock (ignore) the keylock
925920
@@ -1143,9 +1138,12 @@ and is between 256 and 4096 characters. It is defined in the file · 217 unmodified lines
11431138 kgdboc= [KGDB,HW] kgdb over consoles.
11441139 Requires a tty driver that supports console polling,
11451140 or a supported polling keyboard driver (non-usb).
1146− Serial only format: <serial_device>[,baud]
1147− keyboard only format: kbd
1148− keyboard and serial format: kbd,<serial_device>[,baud]
1141+ Serial only format: <serial_device>[,baud]
1142+ keyboard only format: kbd
1143+ keyboard and serial format: kbd,<serial_device>[,baud]
1144+ Optional Kernel mode setting:
1145+ kms, kbd format: kms,kbd
1146+ kms, kbd and serial format: kms,kbd,<ser_dev>[,baud]
11491147
11501148 kgdbwait [KGDB] Stop kernel execution and enter the
11511149 kernel debugger at the earliest opportunity.
@@ -1523,9 +1521,6 @@ and is between 256 and 4096 characters. It is defined in the file · 371 unmodified lines
15231521 that the amount of memory usable for all allocations
15241522 is not too small.
15251523
1526− mpu401= [HW,OSS]
1527− Format: <io>,<irq>
1528−
15291524 MTD_Partition= [MTD]
15301525 Format: <name>,<region-number>,<size>,<offset>
15311526
@@ -1597,8 +1592,7 @@ and is between 256 and 4096 characters. It is defined in the file · 65 unmodified lines
15971592 [NETFILTER] Enable connection tracking flow accounting
15981593 0 to disable accounting
15991594 1 to enable accounting
1600− Default value depends on CONFIG_NF_CT_ACCT that is
1601− going to be removed in 2.6.29.
1595+ Default value is 0.
16021596
16031597 nfsaddrs= [NFS]
16041598 See Documentation/filesystems/nfs/nfsroot.txt.
@@ -1812,6 +1806,8 @@ and is between 256 and 4096 characters. It is defined in the file · 207 unmodified lines
18121806
18131807 nousb [USB] Disable the USB subsystem
18141808
1809+ nowatchdog [KNL] Disable the lockup detector.
1810+
18151811 nowb [ARM]
18161812
18171813 nox2apic [X86-64,APIC] Do not enable x2APIC mode.
@@ -1849,9 +1845,6 @@ and is between 256 and 4096 characters. It is defined in the file · 31 unmodified lines
18491845 For example, to override I2C bus2:
18501846 omap_mux=i2c2_scl.i2c2_scl=0x100,i2c2_sda.i2c2_sda=0x100
18511847
1852− opl3= [HW,OSS]
1853− Format: <io>
1854−
18551848 oprofile.timer= [HW]
18561849 Use timer interrupt instead of performance counters
18571850
@@ -1863,6 +1856,9 @@ and is between 256 and 4096 characters. It is defined in the file · 5 unmodified lines
18631856 perfmon on Intel CPUs instead of the
18641857 CPU specific event set.
18651858
1859+ OSS [HW,OSS]
1860+ See Documentation/sound/oss/oss-parameters.txt
1861+
18661862 osst= [HW,SCSI] SCSI Tape Driver
18671863 Format: <buffer_size>,<write_threshold>
18681864 See also Documentation/scsi/st.txt.
@@ -1899,9 +1895,6 @@ and is between 256 and 4096 characters. It is defined in the file · 30 unmodified lines
18991895 Currently this function knows 686a and 8231 chips.
19001896 Format: [spp|ps2|epp|ecp|ecpepp]
19011897
1902− pas2= [HW,OSS] Format:
1903− <io>,<irq>,<dma>,<dma16>,<sb_io>,<sb_irq>,<sb_dma>,<sb_dma16>
1904−
19051898 pas16= [HW,SCSI]
19061899 See header of drivers/scsi/pas16.c.
19071900
@@ -1970,6 +1963,8 @@ and is between 256 and 4096 characters. It is defined in the file · 62 unmodified lines
19701963 norom [X86] Do not assign address space to
19711964 expansion ROMs that do not already have
19721965 BIOS assigned address ranges.
1966+ nobar [X86] Do not assign address space to the
1967+ BARs that weren't assigned by the BIOS.
19731968 irqmask=0xMMMM [X86] Set a bit mask of IRQs allowed to be
19741969 assigned automatically to PCI devices. You can
19751970 make the kernel exclude IRQs of your ISA cards
@@ -2171,10 +2166,6 @@ and is between 256 and 4096 characters. It is defined in the file · 195 unmodified lines
21712166 [HW,MOUSE] Controls Logitech smartscroll autorepeat.
21722167 0 = disabled, 1 = enabled (default).
21732168
2174− pss= [HW,OSS] Personal Sound System (ECHO ESC614)
2175− Format:
2176− <io>,<mss_io>,<mss_irq>,<mss_dma>,<mpu_io>,<mpu_irq>
2177−
21782169 pt. [PARIDE]
21792170 See Documentation/blockdev/paride.txt.
21802171
@@ -2312,6 +2303,13 @@ and is between 256 and 4096 characters. It is defined in the file · 131 unmodified lines
23122303 If enabled at boot time, /selinux/disable can be used
23132304 later to disable prior to initial policy load.
23142305
2306+ apparmor= [APPARMOR] Disable or enable AppArmor at boot time
2307+ Format: { "0" | "1" }
2308+ See security/apparmor/Kconfig help text
2309+ 0 -- disable.
2310+ 1 -- enable.
2311+ Default value is set via kernel config option.
2312+
23152313 serialnumber [BUGS=X86-32]
23162314
23172315 shapers= [NET]
@@ -2383,128 +2381,6 @@ and is between 256 and 4096 characters. It is defined in the file · 65 unmodified lines
23832381 1: Fast pin select (default)
23842382 2: ATC IRMode
23852383
2386− snd-ad1816a= [HW,ALSA]
2387−
2388− snd-ad1848= [HW,ALSA]
2389−
2390− snd-ali5451= [HW,ALSA]
2391−
2392− snd-als100= [HW,ALSA]
2393−
2394− snd-als4000= [HW,ALSA]
2395−
2396− snd-azt2320= [HW,ALSA]
2397−
2398− snd-cmi8330= [HW,ALSA]
2399−
2400− snd-cmipci= [HW,ALSA]
2401−
2402− snd-cs4231= [HW,ALSA]
2403−
2404− snd-cs4232= [HW,ALSA]
2405−
2406− snd-cs4236= [HW,ALSA]
2407−
2408− snd-cs4281= [HW,ALSA]
2409−
2410− snd-cs46xx= [HW,ALSA]
2411−
2412− snd-dt019x= [HW,ALSA]
2413−
2414− snd-dummy= [HW,ALSA]
2415−
2416− snd-emu10k1= [HW,ALSA]
2417−
2418− snd-ens1370= [HW,ALSA]
2419−
2420− snd-ens1371= [HW,ALSA]
2421−
2422− snd-es968= [HW,ALSA]
2423−
2424− snd-es1688= [HW,ALSA]
2425−
2426− snd-es18xx= [HW,ALSA]
2427−
2428− snd-es1938= [HW,ALSA]
2429−
2430− snd-es1968= [HW,ALSA]
2431−
2432− snd-fm801= [HW,ALSA]
2433−
2434− snd-gusclassic= [HW,ALSA]
2435−
2436− snd-gusextreme= [HW,ALSA]
2437−
2438− snd-gusmax= [HW,ALSA]
2439−
2440− snd-hdsp= [HW,ALSA]
2441−
2442− snd-ice1712= [HW,ALSA]
2443−
2444− snd-intel8x0= [HW,ALSA]
2445−
2446− snd-interwave= [HW,ALSA]
2447−
2448− snd-interwave-stb=
2449− [HW,ALSA]
2450−
2451− snd-korg1212= [HW,ALSA]
2452−
2453− snd-maestro3= [HW,ALSA]
2454−
2455− snd-mpu401= [HW,ALSA]
2456−
2457− snd-mtpav= [HW,ALSA]
2458−
2459− snd-nm256= [HW,ALSA]
2460−
2461− snd-opl3sa2= [HW,ALSA]
2462−
2463− snd-opti92x-ad1848=
2464− [HW,ALSA]
2465−
2466− snd-opti92x-cs4231=
2467− [HW,ALSA]
2468−
2469− snd-opti93x= [HW,ALSA]
2470−
2471− snd-pmac= [HW,ALSA]
2472−
2473− snd-rme32= [HW,ALSA]
2474−
2475− snd-rme96= [HW,ALSA]
2476−
2477− snd-rme9652= [HW,ALSA]
2478−
2479− snd-sb8= [HW,ALSA]
2480−
2481− snd-sb16= [HW,ALSA]
2482−
2483− snd-sbawe= [HW,ALSA]
2484−
2485− snd-serial= [HW,ALSA]
2486−
2487− snd-sgalaxy= [HW,ALSA]
2488−
2489− snd-sonicvibes= [HW,ALSA]
2490−
2491− snd-sun-amd7930=
2492− [HW,ALSA]
2493−
2494− snd-sun-cs4231= [HW,ALSA]
2495−
2496− snd-trident= [HW,ALSA]
2497−
2498− snd-usb-audio= [HW,ALSA,USB]
2499−
2500− snd-via82xx= [HW,ALSA]
2501−
2502− snd-virmidi= [HW,ALSA]
2503−
2504− snd-wavefront= [HW,ALSA]
2505−
2506− snd-ymfpci= [HW,ALSA]
2507−
25082384 softlockup_panic=
25092385 [KNL] Should the soft-lockup detector generate panics.
25102386
@@ -2519,9 +2395,6 @@ and is between 256 and 4096 characters. It is defined in the file · 8 unmodified lines
25192395 spia_pedr=
25202396 spia_peddr=
25212397
2522− sscape= [HW,OSS]
2523− Format: <io>,<irq>,<dma>,<mpu_io>,<mpu_irq>
2524−
25252398 st= [HW,SCSI] SCSI tape parameters (buffers, etc.)
25262399 See Documentation/scsi/st.txt.
25272400
@@ -2661,10 +2534,6 @@ and is between 256 and 4096 characters. It is defined in the file · 133 unmodified lines
26612534 to facilitate early boot debugging.
26622535 See also Documentation/trace/events.txt
26632536
2664− trix= [HW,OSS] MediaTrix AudioTrix Pro
2665− Format:
2666− <io>,<irq>,<dma>,<dma2>,<sb_io>,<sb_irq>,<sb_dma>,<mpu_io>,<mpu_irq>
2667−
26682537 tsc= Disable clocksource-must-verify flag for TSC.
26692538 Format: <string>
26702539 [x86] reliable: mark tsc clocksource as reliable, this
@@ -2681,12 +2550,6 @@ and is between 256 and 4096 characters. It is defined in the file · 10 unmodified lines
26812550 u14-34f= [HW,SCSI] UltraStor 14F/34F SCSI host adapter
26822551 See header of drivers/scsi/u14-34f.c.
26832552
2684− uart401= [HW,OSS]
2685− Format: <io>,<irq>
2686−
2687− uart6850= [HW,OSS]
2688− Format: <io>,<irq>
2689−
26902553 uhash_entries= [KNL,NET]
26912554 Set number of hash buckets for UDP/UDP-Lite connections
26922555
@@ -2852,9 +2715,6 @@ and is between 256 and 4096 characters. It is defined in the file · 159 unmodified lines
28522715 overridden by individual drivers. 0 will hide
28532716 cursors, 1 will display them.
28542717
2855− waveartist= [HW,OSS]
2856− Format: <io>,<irq>,<dma>,<dma2>
2857−
28582718 wd33c93= [HW,SCSI]
28592719 See header of drivers/scsi/wd33c93.c.
28602720
@@ -2879,6 +2739,16 @@ and is between 256 and 4096 characters. It is defined in the file · 18 unmodified lines
28792739 xd= [HW,XT] Original XT pre-IDE (RLL encoded) disks.
28802740 xd_geo= See header of drivers/block/xd.c.
28812741
2742+ xen_emul_unplug= [HW,X86,XEN]
2743+ Unplug Xen emulated devices
2744+ Format: [unplug0,][unplug1]
2745+ ide-disks -- unplug primary master IDE devices
2746+ aux-ide-disks -- unplug non-primary-master IDE devices
2747+ nics -- unplug network devices
2748+ all -- unplug all emulated devices (NICs and IDE disks)
2749+ ignore -- continue loading the Xen platform PCI driver even
2750+ if the version check failed
2751+
28822752 xirc2ps_cs= [NET,PCMCIA]
28832753 Format:
28842754 <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]
@@ -2887,5 +2757,4 @@ ______________________________________________________________________ · 2 unmodified lines
28872757
28882758 TODO:
28892759
2890− Add documentation for ALSA options.
28912760 Add more DRM drivers.
Documentation/ko_KR/HOWTO+4−4
@@ -122,7 +122,7 @@ mtk.manpages@gmail.com의 메인테이너에게 보낼 것을 권장한다. · 121 unmodified lines
122122
123123 올바른 패치들을 만드는 법에 관한 훌륭한 다른 문서들이 있다.
124124 "The Perfect Patch"
125− http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
125+ http://userweb.kernel.org/~akpm/stuff/tpp.txt
126126 "Linux kernel patch submission format"
127127 http://linux.yyz.us/patch-format.html
128128
@@ -192,7 +192,7 @@ Documentation/DocBook/ 디렉토리 내에서 만들어지며 PDF, Postscript, H · 63 unmodified lines
192192
193193 여러분이 어디서 시작해야 할진 모르지만 커널 개발 커뮤니티에 참여할 수
194194 있는 일들을 찾길 원한다면 리눅스 커널 Janitor 프로젝트를 살펴봐라.
195− http://janitor.kernelnewbies.org/
195+ http://kernelnewbies.org/KernelJanitors
196196 그곳은 시작하기에 훌륭한 장소이다. 그곳은 리눅스 커널 소스 트리내에
197197 간단히 정리되고 수정될 수 있는 문제들에 관하여 설명한다. 여러분은 이
198198 프로젝트를 대표하는 개발자들과 일하면서 자신의 패치를 리눅스 커널 트리에
@@ -596,7 +596,7 @@ Pat이라는 이름을 가진 여자가 있을 수도 있는 것이다. 리눅 · 397 unmodified lines
596596
597597 이것이 무엇인지 더 자세한 것을 알고 싶다면 다음 문서의 ChageLog 항을 봐라.
598598 "The Perfect Patch"
599− http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
599+ http://userweb.kernel.org/~akpm/stuff/tpp.txt
600600
601601
602602
@@ -610,7 +610,7 @@ Pat이라는 이름을 가진 여자가 있을 수도 있는 것이다. 리눅 · 7 unmodified lines
610610
611611
612612 ----------
613−"개발 프로세스"(http://linux.tar.gz/articles/2.6-development_process) 섹션을
613+"개발 프로세스"(http://lwn.net/Articles/94386/) 섹션을
614614 작성하는데 있어 참고할 문서를 사용하도록 허락해준 Paolo Ciarrocchi에게
615615 감사한다. 여러분들이 말해야 할 것과 말해서는 안되는 것의 목록 중 일부를 제공해준
616616 Randy Dunlap과 Gerrit Huizenga에게 감사한다. 또한 검토와 의견 그리고
Documentation/kprobes.txt+1−0
@@ -285,6 +285,7 @@ architectures: · 284 unmodified lines
285285 - sparc64 (Return probes not yet implemented.)
286286 - arm
287287 - ppc
288+- mips
288289
289290 3. Configuring Kprobes
290291
Documentation/kvm/api.txt+174−34
@@ -126,6 +126,10 @@ user fills in the size of the indices array in nmsrs, and in return · 125 unmodified lines
126126 kvm adjusts nmsrs to reflect the actual number of msrs and fills in
127127 the indices array with their numbers.
128128
129+Note: if kvm indicates supports MCE (KVM_CAP_MCE), then the MCE bank MSRs are
130+not returned in the MSR list, as different vcpus can have a different number
131+of banks, as set via the KVM_X86_SETUP_MCE ioctl.
132+
129133 4.4 KVM_CHECK_EXTENSION
130134
131135 Capability: basic
@@ -160,29 +164,7 @@ Type: vm ioctl · 28 unmodified lines
160164 Parameters: struct kvm_memory_region (in)
161165 Returns: 0 on success, -1 on error
162166
163−struct kvm_memory_region {
164− __u32 slot;
165− __u32 flags;
166− __u64 guest_phys_addr;
167− __u64 memory_size; /* bytes */
168−};
169−
170−/* for kvm_memory_region::flags */
171−#define KVM_MEM_LOG_DIRTY_PAGES 1UL
172−
173−This ioctl allows the user to create or modify a guest physical memory
174−slot. When changing an existing slot, it may be moved in the guest
175−physical memory space, or its flags may be modified. It may not be
176−resized. Slots may not overlap.
177−
178−The flags field supports just one flag, KVM_MEM_LOG_DIRTY_PAGES, which
179−instructs kvm to keep track of writes to memory within the slot. See
180−the KVM_GET_DIRTY_LOG ioctl.
181−
182−It is recommended to use the KVM_SET_USER_MEMORY_REGION ioctl instead
183−of this API, if available. This newer API allows placing guest memory
184−at specified locations in the host address space, yielding better
185−control and easy access.
167+This ioctl is obsolete and has been removed.
186168
187169 4.6 KVM_CREATE_VCPU
188170
@@ -226,17 +208,7 @@ Type: vm ioctl · 37 unmodified lines
226208 Parameters: struct kvm_memory_alias (in)
227209 Returns: 0 (success), -1 (error)
228210
229−struct kvm_memory_alias {
230− __u32 slot; /* this has a different namespace than memory slots */
231− __u32 flags;
232− __u64 guest_phys_addr;
233− __u64 memory_size;
234− __u64 target_phys_addr;
235−};
236−
237−Defines a guest physical address space region as an alias to another
238−region. Useful for aliased address, for example the VGA low memory
239−window. Should not be used with userspace memory.
211+This ioctl is obsolete and has been removed.
240212
241213 4.9 KVM_RUN
242214
@@ -892,6 +864,174 @@ arguments. · 649 unmodified lines
892864 This ioctl is only useful after KVM_CREATE_IRQCHIP. Without an in-kernel
893865 irqchip, the multiprocessing state must be maintained by userspace.
894866
867+4.39 KVM_SET_IDENTITY_MAP_ADDR
868+
869+Capability: KVM_CAP_SET_IDENTITY_MAP_ADDR
870+Architectures: x86
871+Type: vm ioctl
872+Parameters: unsigned long identity (in)
873+Returns: 0 on success, -1 on error
874+
875+This ioctl defines the physical address of a one-page region in the guest
876+physical address space. The region must be within the first 4GB of the
877+guest physical address space and must not conflict with any memory slot
878+or any mmio address. The guest may malfunction if it accesses this memory
879+region.
880+
881+This ioctl is required on Intel-based hosts. This is needed on Intel hardware
882+because of a quirk in the virtualization implementation (see the internals
883+documentation when it pops into existence).
884+
885+4.40 KVM_SET_BOOT_CPU_ID
886+
887+Capability: KVM_CAP_SET_BOOT_CPU_ID
888+Architectures: x86, ia64
889+Type: vm ioctl
890+Parameters: unsigned long vcpu_id
891+Returns: 0 on success, -1 on error
892+
893+Define which vcpu is the Bootstrap Processor (BSP). Values are the same
894+as the vcpu id in KVM_CREATE_VCPU. If this ioctl is not called, the default
895+is vcpu 0.
896+
897+4.41 KVM_GET_XSAVE
898+
899+Capability: KVM_CAP_XSAVE
900+Architectures: x86
901+Type: vcpu ioctl
902+Parameters: struct kvm_xsave (out)
903+Returns: 0 on success, -1 on error
904+
905+struct kvm_xsave {
906+ __u32 region[1024];
907+};
908+
909+This ioctl would copy current vcpu's xsave struct to the userspace.
910+
911+4.42 KVM_SET_XSAVE
912+
913+Capability: KVM_CAP_XSAVE
914+Architectures: x86
915+Type: vcpu ioctl
916+Parameters: struct kvm_xsave (in)
917+Returns: 0 on success, -1 on error
918+
919+struct kvm_xsave {
920+ __u32 region[1024];
921+};
922+
923+This ioctl would copy userspace's xsave struct to the kernel.
924+
925+4.43 KVM_GET_XCRS
926+
927+Capability: KVM_CAP_XCRS
928+Architectures: x86
929+Type: vcpu ioctl
930+Parameters: struct kvm_xcrs (out)
931+Returns: 0 on success, -1 on error
932+
933+struct kvm_xcr {
934+ __u32 xcr;
935+ __u32 reserved;
936+ __u64 value;
937+};
938+
939+struct kvm_xcrs {
940+ __u32 nr_xcrs;
941+ __u32 flags;
942+ struct kvm_xcr xcrs[KVM_MAX_XCRS];
943+ __u64 padding[16];
944+};
945+
946+This ioctl would copy current vcpu's xcrs to the userspace.
947+
948+4.44 KVM_SET_XCRS
949+
950+Capability: KVM_CAP_XCRS
951+Architectures: x86
952+Type: vcpu ioctl
953+Parameters: struct kvm_xcrs (in)
954+Returns: 0 on success, -1 on error
955+
956+struct kvm_xcr {
957+ __u32 xcr;
958+ __u32 reserved;
959+ __u64 value;
960+};
961+
962+struct kvm_xcrs {
963+ __u32 nr_xcrs;
964+ __u32 flags;
965+ struct kvm_xcr xcrs[KVM_MAX_XCRS];
966+ __u64 padding[16];
967+};
968+
969+This ioctl would set vcpu's xcr to the value userspace specified.
970+
971+4.45 KVM_GET_SUPPORTED_CPUID
972+
973+Capability: KVM_CAP_EXT_CPUID
974+Architectures: x86
975+Type: system ioctl
976+Parameters: struct kvm_cpuid2 (in/out)
977+Returns: 0 on success, -1 on error
978+
979+struct kvm_cpuid2 {
980+ __u32 nent;
981+ __u32 padding;
982+ struct kvm_cpuid_entry2 entries[0];
983+};
984+
985+#define KVM_CPUID_FLAG_SIGNIFCANT_INDEX 1
986+#define KVM_CPUID_FLAG_STATEFUL_FUNC 2
987+#define KVM_CPUID_FLAG_STATE_READ_NEXT 4
988+
989+struct kvm_cpuid_entry2 {
990+ __u32 function;
991+ __u32 index;
992+ __u32 flags;
993+ __u32 eax;
994+ __u32 ebx;
995+ __u32 ecx;
996+ __u32 edx;
997+ __u32 padding[3];
998+};
999+
1000+This ioctl returns x86 cpuid features which are supported by both the hardware
1001+and kvm. Userspace can use the information returned by this ioctl to
1002+construct cpuid information (for KVM_SET_CPUID2) that is consistent with
1003+hardware, kernel, and userspace capabilities, and with user requirements (for
1004+example, the user may wish to constrain cpuid to emulate older hardware,
1005+or for feature consistency across a cluster).
1006+
1007+Userspace invokes KVM_GET_SUPPORTED_CPUID by passing a kvm_cpuid2 structure
1008+with the 'nent' field indicating the number of entries in the variable-size
1009+array 'entries'. If the number of entries is too low to describe the cpu
1010+capabilities, an error (E2BIG) is returned. If the number is too high,
1011+the 'nent' field is adjusted and an error (ENOMEM) is returned. If the
1012+number is just right, the 'nent' field is adjusted to the number of valid
1013+entries in the 'entries' array, which is then filled.
1014+
1015+The entries returned are the host cpuid as returned by the cpuid instruction,
1016+with unknown or unsupported features masked out. The fields in each entry
1017+are defined as follows:
1018+
1019+ function: the eax value used to obtain the entry
1020+ index: the ecx value used to obtain the entry (for entries that are
1021+ affected by ecx)
1022+ flags: an OR of zero or more of the following:
1023+ KVM_CPUID_FLAG_SIGNIFCANT_INDEX:
1024+ if the index field is valid
1025+ KVM_CPUID_FLAG_STATEFUL_FUNC:
1026+ if cpuid for this function returns different values for successive
1027+ invocations; there will be several entries with the same function,
1028+ all with this flag set
1029+ KVM_CPUID_FLAG_STATE_READ_NEXT:
1030+ for KVM_CPUID_FLAG_STATEFUL_FUNC entries, set if this entry is
1031+ the first entry to be read by a cpu
1032+ eax, ebx, ecx, edx: the values returned by the cpuid instruction for
1033+ this function/index combination
1034+
8951035 5. The kvm_run structure
8961036
8971037 Application code obtains a pointer to the kvm_run structure by
Documentation/kvm/mmu.txt+48−4
@@ -77,10 +77,10 @@ Memory · 76 unmodified lines
7777
7878 Guest memory (gpa) is part of the user address space of the process that is
7979 using kvm. Userspace defines the translation between guest addresses and user
80−addresses (gpa->hva); note that two gpas may alias to the same gva, but not
80+addresses (gpa->hva); note that two gpas may alias to the same hva, but not
8181 vice versa.
8282
83−These gvas may be backed using any method available to the host: anonymous
83+These hvas may be backed using any method available to the host: anonymous
8484 memory, file backed memory, and device memory. Memory might be paged by the
8585 host at any time.
8686
@@ -161,7 +161,7 @@ Shadow pages contain the following information: · 74 unmodified lines
161161 role.cr4_pae:
162162 Contains the value of cr4.pae for which the page is valid (e.g. whether
163163 32-bit or 64-bit gptes are in use).
164− role.cr4_nxe:
164+ role.nxe:
165165 Contains the value of efer.nxe for which the page is valid.
166166 role.cr0_wp:
167167 Contains the value of cr0.wp for which the page is valid.
@@ -180,7 +180,9 @@ Shadow pages contain the following information: · 12 unmodified lines
180180 guest pages as leaves.
181181 gfns:
182182 An array of 512 guest frame numbers, one for each present pte. Used to
183− perform a reverse map from a pte to a gfn.
183+ perform a reverse map from a pte to a gfn. When role.direct is set, any
184+ element of this array can be calculated from the gfn field when used, in
185+ this case, the array of gfns is not allocated. See role.direct and gfn.
184186 slot_bitmap:
185187 A bitmap containing one bit per memory slot. If the page contains a pte
186188 mapping a page from memory slot n, then bit n of slot_bitmap will be set
@@ -296,6 +298,48 @@ Host translation updates: · 109 unmodified lines
296298 - look up affected sptes through reverse map
297299 - drop (or update) translations
298300
301+Emulating cr0.wp
302+================
303+
304+If tdp is not enabled, the host must keep cr0.wp=1 so page write protection
305+works for the guest kernel, not guest guest userspace. When the guest
306+cr0.wp=1, this does not present a problem. However when the guest cr0.wp=0,
307+we cannot map the permissions for gpte.u=1, gpte.w=0 to any spte (the
308+semantics require allowing any guest kernel access plus user read access).
309+
310+We handle this by mapping the permissions to two possible sptes, depending
311+on fault type:
312+
313+- kernel write fault: spte.u=0, spte.w=1 (allows full kernel access,
314+ disallows user access)
315+- read fault: spte.u=1, spte.w=0 (allows full read access, disallows kernel
316+ write access)
317+
318+(user write faults generate a #PF)
319+
320+Large pages
321+===========
322+
323+The mmu supports all combinations of large and small guest and host pages.
324+Supported page sizes include 4k, 2M, 4M, and 1G. 4M pages are treated as
325+two separate 2M pages, on both guest and host, since the mmu always uses PAE
326+paging.
327+
328+To instantiate a large spte, four constraints must be satisfied:
329+
330+- the spte must point to a large host page
331+- the guest pte must be a large pte of at least equivalent size (if tdp is
332+ enabled, there is no guest pte and this condition is satisified)
333+- if the spte will be writeable, the large page frame may not overlap any
334+ write-protected pages
335+- the guest page must be wholly contained by a single memory slot
336+
337+To check the last two conditions, the mmu maintains a ->write_count set of
338+arrays for each memory slot and large page size. Every write protected page
339+causes its write_count to be incremented, thus preventing instantiation of
340+a large spte. The frames at the end of an unaligned memory slot have
341+artificically inflated ->write_counts so they can never be instantiated.
342+
299343 Further reading
300344 ===============
301345
Documentation/kvm/msr.txt+153−0
@@ -0,0 +1,153 @@
1+KVM-specific MSRs.
2+Glauber Costa <glommer@redhat.com>, Red Hat Inc, 2010
3+=====================================================
4+
5+KVM makes use of some custom MSRs to service some requests.
6+At present, this facility is only used by kvmclock.
7+
8+Custom MSRs have a range reserved for them, that goes from
9+0x4b564d00 to 0x4b564dff. There are MSRs outside this area,
10+but they are deprecated and their use is discouraged.
11+
12+Custom MSR list
13+--------
14+
15+The current supported Custom MSR list is:
16+
17+MSR_KVM_WALL_CLOCK_NEW: 0x4b564d00
18+
19+ data: 4-byte alignment physical address of a memory area which must be
20+ in guest RAM. This memory is expected to hold a copy of the following
21+ structure:
22+
23+ struct pvclock_wall_clock {
24+ u32 version;
25+ u32 sec;
26+ u32 nsec;
27+ } __attribute__((__packed__));
28+
29+ whose data will be filled in by the hypervisor. The hypervisor is only
30+ guaranteed to update this data at the moment of MSR write.
31+ Users that want to reliably query this information more than once have
32+ to write more than once to this MSR. Fields have the following meanings:
33+
34+ version: guest has to check version before and after grabbing
35+ time information and check that they are both equal and even.
36+ An odd version indicates an in-progress update.
37+
38+ sec: number of seconds for wallclock.
39+
40+ nsec: number of nanoseconds for wallclock.
41+
42+ Note that although MSRs are per-CPU entities, the effect of this
43+ particular MSR is global.
44+
45+ Availability of this MSR must be checked via bit 3 in 0x4000001 cpuid
46+ leaf prior to usage.
47+
48+MSR_KVM_SYSTEM_TIME_NEW: 0x4b564d01
49+
50+ data: 4-byte aligned physical address of a memory area which must be in
51+ guest RAM, plus an enable bit in bit 0. This memory is expected to hold
52+ a copy of the following structure:
53+
54+ struct pvclock_vcpu_time_info {
55+ u32 version;
56+ u32 pad0;
57+ u64 tsc_timestamp;
58+ u64 system_time;
59+ u32 tsc_to_system_mul;
60+ s8 tsc_shift;
61+ u8 flags;
62+ u8 pad[2];
63+ } __attribute__((__packed__)); /* 32 bytes */
64+
65+ whose data will be filled in by the hypervisor periodically. Only one
66+ write, or registration, is needed for each VCPU. The interval between
67+ updates of this structure is arbitrary and implementation-dependent.
68+ The hypervisor may update this structure at any time it sees fit until
69+ anything with bit0 == 0 is written to it.
70+
71+ Fields have the following meanings:
72+
73+ version: guest has to check version before and after grabbing
74+ time information and check that they are both equal and even.
75+ An odd version indicates an in-progress update.
76+
77+ tsc_timestamp: the tsc value at the current VCPU at the time
78+ of the update of this structure. Guests can subtract this value
79+ from current tsc to derive a notion of elapsed time since the
80+ structure update.
81+
82+ system_time: a host notion of monotonic time, including sleep
83+ time at the time this structure was last updated. Unit is
84+ nanoseconds.
85+
86+ tsc_to_system_mul: a function of the tsc frequency. One has
87+ to multiply any tsc-related quantity by this value to get
88+ a value in nanoseconds, besides dividing by 2^tsc_shift
89+
90+ tsc_shift: cycle to nanosecond divider, as a power of two, to
91+ allow for shift rights. One has to shift right any tsc-related
92+ quantity by this value to get a value in nanoseconds, besides
93+ multiplying by tsc_to_system_mul.
94+
95+ With this information, guests can derive per-CPU time by
96+ doing:
97+
98+ time = (current_tsc - tsc_timestamp)
99+ time = (time * tsc_to_system_mul) >> tsc_shift
100+ time = time + system_time
101+
102+ flags: bits in this field indicate extended capabilities
103+ coordinated between the guest and the hypervisor. Availability
104+ of specific flags has to be checked in 0x40000001 cpuid leaf.
105+ Current flags are:
106+
107+ flag bit | cpuid bit | meaning
108+ -------------------------------------------------------------
109+ | | time measures taken across
110+ 0 | 24 | multiple cpus are guaranteed to
111+ | | be monotonic
112+ -------------------------------------------------------------
113+
114+ Availability of this MSR must be checked via bit 3 in 0x4000001 cpuid
115+ leaf prior to usage.
116+
117+
118+MSR_KVM_WALL_CLOCK: 0x11
119+
120+ data and functioning: same as MSR_KVM_WALL_CLOCK_NEW. Use that instead.
121+
122+ This MSR falls outside the reserved KVM range and may be removed in the
123+ future. Its usage is deprecated.
124+
125+ Availability of this MSR must be checked via bit 0 in 0x4000001 cpuid
126+ leaf prior to usage.
127+
128+MSR_KVM_SYSTEM_TIME: 0x12
129+
130+ data and functioning: same as MSR_KVM_SYSTEM_TIME_NEW. Use that instead.
131+
132+ This MSR falls outside the reserved KVM range and may be removed in the
133+ future. Its usage is deprecated.
134+
135+ Availability of this MSR must be checked via bit 0 in 0x4000001 cpuid
136+ leaf prior to usage.
137+
138+ The suggested algorithm for detecting kvmclock presence is then:
139+
140+ if (!kvm_para_available()) /* refer to cpuid.txt */
141+ return NON_PRESENT;
142+
143+ flags = cpuid_eax(0x40000001);
144+ if (flags & 3) {
145+ msr_kvm_system_time = MSR_KVM_SYSTEM_TIME_NEW;
146+ msr_kvm_wall_clock = MSR_KVM_WALL_CLOCK_NEW;
147+ return PRESENT;
148+ } else if (flags & 0) {
149+ msr_kvm_system_time = MSR_KVM_SYSTEM_TIME;
150+ msr_kvm_wall_clock = MSR_KVM_WALL_CLOCK;
151+ return PRESENT;
152+ } else
153+ return NON_PRESENT;
Documentation/kvm/review-checklist.txt+38−0
@@ -0,0 +1,38 @@
1+Review checklist for kvm patches
2+================================
3+
4+1. The patch must follow Documentation/CodingStyle and
5+ Documentation/SubmittingPatches.
6+
7+2. Patches should be against kvm.git master branch.
8+
9+3. If the patch introduces or modifies a new userspace API:
10+ - the API must be documented in Documentation/kvm/api.txt
11+ - the API must be discoverable using KVM_CHECK_EXTENSION
12+
13+4. New state must include support for save/restore.
14+
15+5. New features must default to off (userspace should explicitly request them).
16+ Performance improvements can and should default to on.
17+
18+6. New cpu features should be exposed via KVM_GET_SUPPORTED_CPUID2
19+
20+7. Emulator changes should be accompanied by unit tests for qemu-kvm.git
21+ kvm/test directory.
22+
23+8. Changes should be vendor neutral when possible. Changes to common code
24+ are better than duplicating changes to vendor code.
25+
26+9. Similarly, prefer changes to arch independent code than to arch dependent
27+ code.
28+
29+10. User/kernel interfaces and guest/host interfaces must be 64-bit clean
30+ (all variables and sizes naturally aligned on 64-bit; use specific types
31+ only - u64 rather than ulong).
32+
33+11. New guest visible features must either be documented in a hardware manual
34+ or be accompanied by documentation.
35+
36+12. Features must be robust against reset and kexec - for example, shared
37+ host/guest memory must be unshared to prevent the host from writing to
38+ guest memory that the guest has not reserved for this purpose.
Documentation/laptops/acer-wmi.txt+1−1
@@ -173,7 +173,7 @@ Credits · 172 unmodified lines
173173 *******
174174
175175 Olaf Tauber, who did the real hard work when he developed acerhk
176−http://www.informatik.hu-berlin.de/~tauber/acerhk
176+http://www.cakey.de/acerhk/
177177 All the authors of laptop ACPI modules in the kernel, whose work
178178 was an inspiration in the early days of acer_acpi
179179 Mathieu Segaud, who solved the problem with having to modprobe the driver
Documentation/laptops/thinkpad-acpi.txt+11−60
@@ -960,70 +960,21 @@ Sysfs notes: · 959 unmodified lines
960960 subsystem, and follow all of the hwmon guidelines at
961961 Documentation/hwmon.
962962
963+EXPERIMENTAL: Embedded controller register dump
964+-----------------------------------------------
963965
964−EXPERIMENTAL: Embedded controller register dump -- /proc/acpi/ibm/ecdump
965−------------------------------------------------------------------------
966−
967−This feature is marked EXPERIMENTAL because the implementation
968−directly accesses hardware registers and may not work as expected. USE
969−WITH CAUTION! To use this feature, you need to supply the
970−experimental=1 parameter when loading the module.
971−
972−This feature dumps the values of 256 embedded controller
973−registers. Values which have changed since the last time the registers
974−were dumped are marked with a star:
975−
976−[root@x40 ibm-acpi]# cat /proc/acpi/ibm/ecdump
977−EC +00 +01 +02 +03 +04 +05 +06 +07 +08 +09 +0a +0b +0c +0d +0e +0f
978−EC 0x00: a7 47 87 01 fe 96 00 08 01 00 cb 00 00 00 40 00
979−EC 0x10: 00 00 ff ff f4 3c 87 09 01 ff 42 01 ff ff 0d 00
980−EC 0x20: 00 00 00 00 00 00 00 00 00 00 00 03 43 00 00 80
981−EC 0x30: 01 07 1a 00 30 04 00 00 *85 00 00 10 00 50 00 00
982−EC 0x40: 00 00 00 00 00 00 14 01 00 04 00 00 00 00 00 00
983−EC 0x50: 00 c0 02 0d 00 01 01 02 02 03 03 03 03 *bc *02 *bc
984−EC 0x60: *02 *bc *02 00 00 00 00 00 00 00 00 00 00 00 00 00
985−EC 0x70: 00 00 00 00 00 12 30 40 *24 *26 *2c *27 *20 80 *1f 80
986−EC 0x80: 00 00 00 06 *37 *0e 03 00 00 00 0e 07 00 00 00 00
987−EC 0x90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
988−EC 0xa0: *ff 09 ff 09 ff ff *64 00 *00 *00 *a2 41 *ff *ff *e0 00
989−EC 0xb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
990−EC 0xc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
991−EC 0xd0: 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
992−EC 0xe0: 00 00 00 00 00 00 00 00 11 20 49 04 24 06 55 03
993−EC 0xf0: 31 55 48 54 35 38 57 57 08 2f 45 73 07 65 6c 1a
994−
995−This feature can be used to determine the register holding the fan
996−speed on some models. To do that, do the following:
966+This feature is not included in the thinkpad driver anymore.
967+Instead the EC can be accessed through /sys/kernel/debug/ec with
968+a userspace tool which can be found here:
969+ftp://ftp.suse.com/pub/people/trenn/sources/ec
997970
971+Use it to determine the register holding the fan
972+speed on some models. To do that, do the following:
998973 - make sure the battery is fully charged
999974 - make sure the fan is running
1000− - run 'cat /proc/acpi/ibm/ecdump' several times, once per second or so
1001−
1002−The first step makes sure various charging-related values don't
1003−vary. The second ensures that the fan-related values do vary, since
1004−the fan speed fluctuates a bit. The third will (hopefully) mark the
1005−fan register with a star:
1006−
1007−[root@x40 ibm-acpi]# cat /proc/acpi/ibm/ecdump
1008−EC +00 +01 +02 +03 +04 +05 +06 +07 +08 +09 +0a +0b +0c +0d +0e +0f
1009−EC 0x00: a7 47 87 01 fe 96 00 08 01 00 cb 00 00 00 40 00
1010−EC 0x10: 00 00 ff ff f4 3c 87 09 01 ff 42 01 ff ff 0d 00
1011−EC 0x20: 00 00 00 00 00 00 00 00 00 00 00 03 43 00 00 80
1012−EC 0x30: 01 07 1a 00 30 04 00 00 85 00 00 10 00 50 00 00
1013−EC 0x40: 00 00 00 00 00 00 14 01 00 04 00 00 00 00 00 00
1014−EC 0x50: 00 c0 02 0d 00 01 01 02 02 03 03 03 03 bc 02 bc
1015−EC 0x60: 02 bc 02 00 00 00 00 00 00 00 00 00 00 00 00 00
1016−EC 0x70: 00 00 00 00 00 12 30 40 24 27 2c 27 21 80 1f 80
1017−EC 0x80: 00 00 00 06 *be 0d 03 00 00 00 0e 07 00 00 00 00
1018−EC 0x90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1019−EC 0xa0: ff 09 ff 09 ff ff 64 00 00 00 a2 41 ff ff e0 00
1020−EC 0xb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1021−EC 0xc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1022−EC 0xd0: 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1023−EC 0xe0: 00 00 00 00 00 00 00 00 11 20 49 04 24 06 55 03
1024−EC 0xf0: 31 55 48 54 35 38 57 57 08 2f 45 73 07 65 6c 1a
1025−
1026−Another set of values that varies often is the temperature
975+ - use above mentioned tool to read out the EC
976+
977+Often fan and temperature values vary between
1027978 readings. Since temperatures don't change vary fast, you can take
1028979 several quick dumps to eliminate them.
1029980
Documentation/ldm.txt+1−1
@@ -98,7 +98,7 @@ More Documentation · 97 unmodified lines
9898 There is an Overview of the LDM together with complete Technical Documentation.
9999 It is available for download.
100100
101− http://www.linux-ntfs.org/content/view/19/37/
101+ http://www.linux-ntfs.org/
102102
103103 If you have any LDM questions that aren't answered in the documentation, email
104104 me.
Documentation/md.txt+1−1
@@ -1,5 +1,5 @@
11 Tools that manage md devices can be found at
2− http://www.<country>.kernel.org/pub/linux/utils/raid/....
2+ http://www.kernel.org/pub/linux/utils/raid/
33
44
55 Boot time assembly of RAID arrays
Documentation/misc-devices/c2port.txt+2−2
@@ -32,10 +32,10 @@ The C2 Interface main references are at (http://www.silabs.com) · 31 unmodified lines
3232 Silicon Laboratories site], see:
3333
3434 - AN127: FLASH Programming via the C2 Interface at
35−http://www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/Small_Form_Factor/en/an127.pdf, and
35+http://www.silabs.com/Support Documents/TechnicalDocs/an127.pdf
3636
3737 - C2 Specification at
38−http://www.silabs.com/public/documents/tpub_doc/spec/Microcontrollers/en/C2spec.pdf,
38+http://www.silabs.com/pages/DownloadDoc.aspx?FILEURL=Support%20Documents/TechnicalDocs/an127.pdf&src=SearchResults
3939
4040 however it implements a two wire serial communication protocol (bit
4141 banging) designed to enable in-system programming, debugging, and
Documentation/mmc/00-INDEX+4−0
@@ -0,0 +1,4 @@
1+00-INDEX
2+ - this file
3+mmc-dev-attrs.txt
4+ - info on SD and MMC device attributes
Documentation/mmc/mmc-dev-attrs.txt+56−0
@@ -0,0 +1,56 @@
1+SD and MMC Device Attributes
2+============================
3+
4+All attributes are read-only.
5+
6+ cid Card Identifaction Register
7+ csd Card Specific Data Register
8+ scr SD Card Configuration Register (SD only)
9+ date Manufacturing Date (from CID Register)
10+ fwrev Firmware/Product Revision (from CID Register) (SD and MMCv1 only)
11+ hwrev Hardware/Product Revision (from CID Register) (SD and MMCv1 only)
12+ manfid Manufacturer ID (from CID Register)
13+ name Product Name (from CID Register)
14+ oemid OEM/Application ID (from CID Register)
15+ serial Product Serial Number (from CID Register)
16+ erase_size Erase group size
17+ preferred_erase_size Preferred erase size
18+
19+Note on Erase Size and Preferred Erase Size:
20+
21+ "erase_size" is the minimum size, in bytes, of an erase
22+ operation. For MMC, "erase_size" is the erase group size
23+ reported by the card. Note that "erase_size" does not apply
24+ to trim or secure trim operations where the minimum size is
25+ always one 512 byte sector. For SD, "erase_size" is 512
26+ if the card is block-addressed, 0 otherwise.
27+
28+ SD/MMC cards can erase an arbitrarily large area up to and
29+ including the whole card. When erasing a large area it may
30+ be desirable to do it in smaller chunks for three reasons:
31+ 1. A single erase command will make all other I/O on
32+ the card wait. This is not a problem if the whole card
33+ is being erased, but erasing one partition will make
34+ I/O for another partition on the same card wait for the
35+ duration of the erase - which could be a several
36+ minutes.
37+ 2. To be able to inform the user of erase progress.
38+ 3. The erase timeout becomes too large to be very
39+ useful. Because the erase timeout contains a margin
40+ which is multiplied by the size of the erase area,
41+ the value can end up being several minutes for large
42+ areas.
43+
44+ "erase_size" is not the most efficient unit to erase
45+ (especially for SD where it is just one sector),
46+ hence "preferred_erase_size" provides a good chunk
47+ size for erasing large areas.
48+
49+ For MMC, "preferred_erase_size" is the high-capacity
50+ erase size if a card specifies one, otherwise it is
51+ based on the capacity of the card.
52+
53+ For SD, "preferred_erase_size" is the allocation unit
54+ size specified by the card.
55+
56+ "preferred_erase_size" is in bytes.
Documentation/mtd/nand_ecc.txt+1−1
@@ -91,7 +91,7 @@ ECC 1 rp15 rp14 rp13 rp12 rp11 rp10 rp09 rp08 · 90 unmodified lines
9191 ECC 2 cp5 cp4 cp3 cp2 cp1 cp0 1 1
9292
9393 I detected after writing this that ST application note AN1823
94−(http://www.st.com/stonline/books/pdf/docs/10123.pdf) gives a much
94+(http://www.st.com/stonline/) gives a much
9595 nicer picture.(but they use line parity as term where I use row parity)
9696 Oh well, I'm graphically challenged, so suffer with me for a moment :-)
9797 And I could not reuse the ST picture anyway for copyright reasons.
Documentation/networking/3c509.txt+1−1
@@ -31,7 +31,7 @@ models: · 30 unmodified lines
3131 Large portions of this documentation were heavily borrowed from the guide
3232 written the original author of the 3c509 driver, Donald Becker. The master
3333 copy of that document, which contains notes on older versions of the driver,
34−currently resides on Scyld web server: http://www.scyld.com/network/3c509.html.
34+currently resides on Scyld web server: http://www.scyld.com/.
3535
3636
3737 (1) Special Driver Features
Documentation/networking/README.ipw2100+1−2
@@ -72,8 +72,7 @@ such, if you are interested in deploying or shipping a driver as part of · 71 unmodified lines
7272 solution intended to be used for purposes other than development, please
7373 obtain a tested driver from Intel Customer Support at:
7474
75−http://support.intel.com/support/notebook/sb/CS-006408.htm
76−
75+http://www.intel.com/support/wireless/sb/CS-006408.htm
7776
7877 1. Introduction
7978 -----------------------------------------------
Documentation/networking/README.ipw2200+2−2
@@ -85,7 +85,7 @@ such, if you are interested in deploying or shipping a driver as part of · 84 unmodified lines
8585 solution intended to be used for purposes other than development, please
8686 obtain a tested driver from Intel Customer Support at:
8787
88−http://support.intel.com/support/notebook/sb/CS-006408.htm
88+http://support.intel.com
8989
9090
9191 1. Introduction
@@ -171,7 +171,7 @@ Where the supported parameter are: · 79 unmodified lines
171171
172172 led
173173 Can be used to turn on experimental LED code.
174− 0 = Off, 1 = On. Default is 0.
174+ 0 = Off, 1 = On. Default is 1.
175175
176176 mode
177177 Can be used to set the default mode of the adapter.
Documentation/networking/README.sb1000+2−2
@@ -27,8 +27,8 @@ cable modem easy. · 26 unmodified lines
2727 in Franco's original source code distribution .tar.gz file. Support for
2828 the sb1000 driver can be found at:
2929
30− http://home.adelphia.net/~siglercm/sb1000.html
31− http://linuxpower.cx/~cable/
30+ http://web.archive.org/web/*/http://home.adelphia.net/~siglercm/sb1000.html
31+ http://web.archive.org/web/*/http://linuxpower.cx/~cable/
3232
3333 along with these utilities.
3434
Documentation/networking/arcnet.txt+2−2
@@ -68,7 +68,7 @@ REAL NAME" to listserv@tichy.ch.uj.edu.pl. Then, to submit messages to the · 67 unmodified lines
6868 list, mail to linux-arcnet@tichy.ch.uj.edu.pl.
6969
7070 There are archives of the mailing list at:
71− http://tichy.ch.uj.edu.pl/lists/linux-arcnet
71+ http://epistolary.org/mailman/listinfo.cgi/arcnet
7272
7373 The people on linux-net@vger.kernel.org have also been known to be very
7474 helpful, especially when we're talking about ALPHA Linux kernels that may or
@@ -79,7 +79,7 @@ Other Drivers and Info · 4 unmodified lines
7979 ----------------------
8080
8181 You can try my ARCNET page on the World Wide Web at:
82− http://www.worldvisions.ca/~apenwarr/arcnet/
82+ http://www.qis.net/~jschmitz/arcnet/
8383
8484 Also, SMC (one of the companies that makes ARCnet cards) has a WWW site you
8585 might be interested in, which includes several drivers for various cards
Documentation/networking/bonding.txt+83−3
@@ -49,6 +49,7 @@ Table of Contents · 48 unmodified lines
4949 3.3 Configuring Bonding Manually with Ifenslave
5050 3.3.1 Configuring Multiple Bonds Manually
5151 3.4 Configuring Bonding Manually via Sysfs
52+3.5 Overriding Configuration for Special Cases
5253
5354 4. Querying Bonding Configuration
5455 4.1 Bonding Configuration
@@ -1318,8 +1319,87 @@ echo 2000 > /sys/class/net/bond1/bonding/arp_interval · 1263 unmodified lines
13181319 echo +eth2 > /sys/class/net/bond1/bonding/slaves
13191320 echo +eth3 > /sys/class/net/bond1/bonding/slaves
13201321
1321−
1322−4. Querying Bonding Configuration
1322+3.5 Overriding Configuration for Special Cases
1323+----------------------------------------------
1324+When using the bonding driver, the physical port which transmits a frame is
1325+typically selected by the bonding driver, and is not relevant to the user or
1326+system administrator. The output port is simply selected using the policies of
1327+the selected bonding mode. On occasion however, it is helpful to direct certain
1328+classes of traffic to certain physical interfaces on output to implement
1329+slightly more complex policies. For example, to reach a web server over a
1330+bonded interface in which eth0 connects to a private network, while eth1
1331+connects via a public network, it may be desirous to bias the bond to send said
1332+traffic over eth0 first, using eth1 only as a fall back, while all other traffic
1333+can safely be sent over either interface. Such configurations may be achieved
1334+using the traffic control utilities inherent in linux.
1335+
1336+By default the bonding driver is multiqueue aware and 16 queues are created
1337+when the driver initializes (see Documentation/networking/multiqueue.txt
1338+for details). If more or less queues are desired the module parameter
1339+tx_queues can be used to change this value. There is no sysfs parameter
1340+available as the allocation is done at module init time.
1341+
1342+The output of the file /proc/net/bonding/bondX has changed so the output Queue
1343+ID is now printed for each slave:
1344+
1345+Bonding Mode: fault-tolerance (active-backup)
1346+Primary Slave: None
1347+Currently Active Slave: eth0
1348+MII Status: up
1349+MII Polling Interval (ms): 0
1350+Up Delay (ms): 0
1351+Down Delay (ms): 0
1352+
1353+Slave Interface: eth0
1354+MII Status: up
1355+Link Failure Count: 0
1356+Permanent HW addr: 00:1a:a0:12:8f:cb
1357+Slave queue ID: 0
1358+
1359+Slave Interface: eth1
1360+MII Status: up
1361+Link Failure Count: 0
1362+Permanent HW addr: 00:1a:a0:12:8f:cc
1363+Slave queue ID: 2
1364+
1365+The queue_id for a slave can be set using the command:
1366+
1367+# echo "eth1:2" > /sys/class/net/bond0/bonding/queue_id
1368+
1369+Any interface that needs a queue_id set should set it with multiple calls
1370+like the one above until proper priorities are set for all interfaces. On
1371+distributions that allow configuration via initscripts, multiple 'queue_id'
1372+arguments can be added to BONDING_OPTS to set all needed slave queues.
1373+
1374+These queue id's can be used in conjunction with the tc utility to configure
1375+a multiqueue qdisc and filters to bias certain traffic to transmit on certain
1376+slave devices. For instance, say we wanted, in the above configuration to
1377+force all traffic bound to 192.168.1.100 to use eth1 in the bond as its output
1378+device. The following commands would accomplish this:
1379+
1380+# tc qdisc add dev bond0 handle 1 root multiq
1381+
1382+# tc filter add dev bond0 protocol ip parent 1: prio 1 u32 match ip dst \
1383+ 192.168.1.100 action skbedit queue_mapping 2
1384+
1385+These commands tell the kernel to attach a multiqueue queue discipline to the
1386+bond0 interface and filter traffic enqueued to it, such that packets with a dst
1387+ip of 192.168.1.100 have their output queue mapping value overwritten to 2.
1388+This value is then passed into the driver, causing the normal output path
1389+selection policy to be overridden, selecting instead qid 2, which maps to eth1.
1390+
1391+Note that qid values begin at 1. Qid 0 is reserved to initiate to the driver
1392+that normal output policy selection should take place. One benefit to simply
1393+leaving the qid for a slave to 0 is the multiqueue awareness in the bonding
1394+driver that is now present. This awareness allows tc filters to be placed on
1395+slave devices as well as bond devices and the bonding driver will simply act as
1396+a pass-through for selecting output queues on the slave device rather than
1397+output port selection.
1398+
1399+This feature first appeared in bonding driver version 3.7.0 and support for
1400+output slave selection was limited to round-robin and active-backup modes.
1401+
1402+4 Querying Bonding Configuration
13231403 =================================
13241404
13251405 4.1 Bonding Configuration
@@ -2432,7 +2512,7 @@ be found at: · 1106 unmodified lines
24322512 https://lists.sourceforge.net/lists/listinfo/bonding-devel
24332513
24342514 Donald Becker's Ethernet Drivers and diag programs may be found at :
2435− - http://www.scyld.com/network/
2515+ - http://web.archive.org/web/*/http://www.scyld.com/network/
24362516
24372517 You will also find a lot of information regarding Ethernet, NWay, MII,
24382518 etc. at www.scyld.com.
Documentation/networking/caif/spi_porting.txt+208−0
@@ -0,0 +1,208 @@
1+- CAIF SPI porting -
2+
3+- CAIF SPI basics:
4+
5+Running CAIF over SPI needs some extra setup, owing to the nature of SPI.
6+Two extra GPIOs have been added in order to negotiate the transfers
7+ between the master and the slave. The minimum requirement for running
8+CAIF over SPI is a SPI slave chip and two GPIOs (more details below).
9+Please note that running as a slave implies that you need to keep up
10+with the master clock. An overrun or underrun event is fatal.
11+
12+- CAIF SPI framework:
13+
14+To make porting as easy as possible, the CAIF SPI has been divided in
15+two parts. The first part (called the interface part) deals with all
16+generic functionality such as length framing, SPI frame negotiation
17+and SPI frame delivery and transmission. The other part is the CAIF
18+SPI slave device part, which is the module that you have to write if
19+you want to run SPI CAIF on a new hardware. This part takes care of
20+the physical hardware, both with regard to SPI and to GPIOs.
21+
22+- Implementing a CAIF SPI device:
23+
24+ - Functionality provided by the CAIF SPI slave device:
25+
26+ In order to implement a SPI device you will, as a minimum,
27+ need to implement the following
28+ functions:
29+
30+ int (*init_xfer) (struct cfspi_xfer * xfer, struct cfspi_dev *dev):
31+
32+ This function is called by the CAIF SPI interface to give
33+ you a chance to set up your hardware to be ready to receive
34+ a stream of data from the master. The xfer structure contains
35+ both physical and logical adresses, as well as the total length
36+ of the transfer in both directions.The dev parameter can be used
37+ to map to different CAIF SPI slave devices.
38+
39+ void (*sig_xfer) (bool xfer, struct cfspi_dev *dev):
40+
41+ This function is called by the CAIF SPI interface when the output
42+ (SPI_INT) GPIO needs to change state. The boolean value of the xfer
43+ variable indicates whether the GPIO should be asserted (HIGH) or
44+ deasserted (LOW). The dev parameter can be used to map to different CAIF
45+ SPI slave devices.
46+
47+ - Functionality provided by the CAIF SPI interface:
48+
49+ void (*ss_cb) (bool assert, struct cfspi_ifc *ifc);
50+
51+ This function is called by the CAIF SPI slave device in order to
52+ signal a change of state of the input GPIO (SS) to the interface.
53+ Only active edges are mandatory to be reported.
54+ This function can be called from IRQ context (recommended in order
55+ not to introduce latency). The ifc parameter should be the pointer
56+ returned from the platform probe function in the SPI device structure.
57+
58+ void (*xfer_done_cb) (struct cfspi_ifc *ifc);
59+
60+ This function is called by the CAIF SPI slave device in order to
61+ report that a transfer is completed. This function should only be
62+ called once both the transmission and the reception are completed.
63+ This function can be called from IRQ context (recommended in order
64+ not to introduce latency). The ifc parameter should be the pointer
65+ returned from the platform probe function in the SPI device structure.
66+
67+ - Connecting the bits and pieces:
68+
69+ - Filling in the SPI slave device structure:
70+
71+ Connect the necessary callback functions.
72+ Indicate clock speed (used to calculate toggle delays).
73+ Chose a suitable name (helps debugging if you use several CAIF
74+ SPI slave devices).
75+ Assign your private data (can be used to map to your structure).
76+
77+ - Filling in the SPI slave platform device structure:
78+ Add name of driver to connect to ("cfspi_sspi").
79+ Assign the SPI slave device structure as platform data.
80+
81+- Padding:
82+
83+In order to optimize throughput, a number of SPI padding options are provided.
84+Padding can be enabled independently for uplink and downlink transfers.
85+Padding can be enabled for the head, the tail and for the total frame size.
86+The padding needs to be correctly configured on both sides of the link.
87+The padding can be changed via module parameters in cfspi_sspi.c or via
88+the sysfs directory of the cfspi_sspi driver (before device registration).
89+
90+- CAIF SPI device template:
91+
92+/*
93+ * Copyright (C) ST-Ericsson AB 2010
94+ * Author: Daniel Martensson / Daniel.Martensson@stericsson.com
95+ * License terms: GNU General Public License (GPL), version 2.
96+ *
97+ */
98+
99+#include <linux/init.h>
100+#include <linux/module.h>
101+#include <linux/device.h>
102+#include <linux/wait.h>
103+#include <linux/interrupt.h>
104+#include <linux/dma-mapping.h>
105+#include <net/caif/caif_spi.h>
106+
107+MODULE_LICENSE("GPL");
108+
109+struct sspi_struct {
110+ struct cfspi_dev sdev;
111+ struct cfspi_xfer *xfer;
112+};
113+
114+static struct sspi_struct slave;
115+static struct platform_device slave_device;
116+
117+static irqreturn_t sspi_irq(int irq, void *arg)
118+{
119+ /* You only need to trigger on an edge to the active state of the
120+ * SS signal. Once a edge is detected, the ss_cb() function should be
121+ * called with the parameter assert set to true. It is OK
122+ * (and even advised) to call the ss_cb() function in IRQ context in
123+ * order not to add any delay. */
124+
125+ return IRQ_HANDLED;
126+}
127+
128+static void sspi_complete(void *context)
129+{
130+ /* Normally the DMA or the SPI framework will call you back
131+ * in something similar to this. The only thing you need to
132+ * do is to call the xfer_done_cb() function, providing the pointer
133+ * to the CAIF SPI interface. It is OK to call this function
134+ * from IRQ context. */
135+}
136+
137+static int sspi_init_xfer(struct cfspi_xfer *xfer, struct cfspi_dev *dev)
138+{
139+ /* Store transfer info. For a normal implementation you should
140+ * set up your DMA here and make sure that you are ready to
141+ * receive the data from the master SPI. */
142+
143+ struct sspi_struct *sspi = (struct sspi_struct *)dev->priv;
144+
145+ sspi->xfer = xfer;
146+
147+ return 0;
148+}
149+
150+void sspi_sig_xfer(bool xfer, struct cfspi_dev *dev)
151+{
152+ /* If xfer is true then you should assert the SPI_INT to indicate to
153+ * the master that you are ready to recieve the data from the master
154+ * SPI. If xfer is false then you should de-assert SPI_INT to indicate
155+ * that the transfer is done.
156+ */
157+
158+ struct sspi_struct *sspi = (struct sspi_struct *)dev->priv;
159+}
160+
161+static void sspi_release(struct device *dev)
162+{
163+ /*
164+ * Here you should release your SPI device resources.
165+ */
166+}
167+
168+static int __init sspi_init(void)
169+{
170+ /* Here you should initialize your SPI device by providing the
171+ * necessary functions, clock speed, name and private data. Once
172+ * done, you can register your device with the
173+ * platform_device_register() function. This function will return
174+ * with the CAIF SPI interface initialized. This is probably also
175+ * the place where you should set up your GPIOs, interrupts and SPI
176+ * resources. */
177+
178+ int res = 0;
179+
180+ /* Initialize slave device. */
181+ slave.sdev.init_xfer = sspi_init_xfer;
182+ slave.sdev.sig_xfer = sspi_sig_xfer;
183+ slave.sdev.clk_mhz = 13;
184+ slave.sdev.priv = &slave;
185+ slave.sdev.name = "spi_sspi";
186+ slave_device.dev.release = sspi_release;
187+
188+ /* Initialize platform device. */
189+ slave_device.name = "cfspi_sspi";
190+ slave_device.dev.platform_data = &slave.sdev;
191+
192+ /* Register platform device. */
193+ res = platform_device_register(&slave_device);
194+ if (res) {
195+ printk(KERN_WARNING "sspi_init: failed to register dev.\n");
196+ return -ENODEV;
197+ }
198+
199+ return res;
200+}
201+
202+static void __exit sspi_exit(void)
203+{
204+ platform_device_del(&slave_device);
205+}
206+
207+module_init(sspi_init);
208+module_exit(sspi_exit);
Documentation/networking/decnet.txt+1−1
@@ -4,7 +4,7 @@ · 3 unmodified lines
44 1) Other documentation....
55
66 o Project Home Pages
7− http://www.chygwyn.com/DECnet/ - Kernel info
7+ http://www.chygwyn.com/ - Kernel info
88 http://linux-decnet.sourceforge.net/ - Userland tools
99 http://www.sourceforge.net/projects/linux-decnet/ - Status page
1010
Documentation/networking/dns_resolver.txt+146−0
@@ -0,0 +1,146 @@
1+ ===================
2+ DNS Resolver Module
3+ ===================
4+
5+Contents:
6+
7+ - Overview.
8+ - Compilation.
9+ - Setting up.
10+ - Usage.
11+ - Mechanism.
12+ - Debugging.
13+
14+
15+========
16+OVERVIEW
17+========
18+
19+The DNS resolver module provides a way for kernel services to make DNS queries
20+by way of requesting a key of key type dns_resolver. These queries are
21+upcalled to userspace through /sbin/request-key.
22+
23+These routines must be supported by userspace tools dns.upcall, cifs.upcall and
24+request-key. It is under development and does not yet provide the full feature
25+set. The features it does support include:
26+
27+ (*) Implements the dns_resolver key_type to contact userspace.
28+
29+It does not yet support the following AFS features:
30+
31+ (*) Dns query support for AFSDB resource record.
32+
33+This code is extracted from the CIFS filesystem.
34+
35+
36+===========
37+COMPILATION
38+===========
39+
40+The module should be enabled by turning on the kernel configuration options:
41+
42+ CONFIG_DNS_RESOLVER - tristate "DNS Resolver support"
43+
44+
45+==========
46+SETTING UP
47+==========
48+
49+To set up this facility, the /etc/request-key.conf file must be altered so that
50+/sbin/request-key can appropriately direct the upcalls. For example, to handle
51+basic dname to IPv4/IPv6 address resolution, the following line should be
52+added:
53+
54+ #OP TYPE DESC CO-INFO PROGRAM ARG1 ARG2 ARG3 ...
55+ #====== ============ ======= ======= ==========================
56+ create dns_resolver * * /usr/sbin/cifs.upcall %k
57+
58+To direct a query for query type 'foo', a line of the following should be added
59+before the more general line given above as the first match is the one taken.
60+
61+ create dns_resolver foo:* * /usr/sbin/dns.foo %k
62+
63+
64+
65+=====
66+USAGE
67+=====
68+
69+To make use of this facility, one of the following functions that are
70+implemented in the module can be called after doing:
71+
72+ #include <linux/dns_resolver.h>
73+
74+ (1) int dns_query(const char *type, const char *name, size_t namelen,
75+ const char *options, char **_result, time_t *_expiry);
76+
77+ This is the basic access function. It looks for a cached DNS query and if
78+ it doesn't find it, it upcalls to userspace to make a new DNS query, which
79+ may then be cached. The key description is constructed as a string of the
80+ form:
81+
82+ [<type>:]<name>
83+
84+ where <type> optionally specifies the particular upcall program to invoke,
85+ and thus the type of query to do, and <name> specifies the string to be
86+ looked up. The default query type is a straight hostname to IP address
87+ set lookup.
88+
89+ The name parameter is not required to be a NUL-terminated string, and its
90+ length should be given by the namelen argument.
91+
92+ The options parameter may be NULL or it may be a set of options
93+ appropriate to the query type.
94+
95+ The return value is a string appropriate to the query type. For instance,
96+ for the default query type it is just a list of comma-separated IPv4 and
97+ IPv6 addresses. The caller must free the result.
98+
99+ The length of the result string is returned on success, and a negative
100+ error code is returned otherwise. -EKEYREJECTED will be returned if the
101+ DNS lookup failed.
102+
103+ If _expiry is non-NULL, the expiry time (TTL) of the result will be
104+ returned also.
105+
106+
107+=========
108+MECHANISM
109+=========
110+
111+The dnsresolver module registers a key type called "dns_resolver". Keys of
112+this type are used to transport and cache DNS lookup results from userspace.
113+
114+When dns_query() is invoked, it calls request_key() to search the local
115+keyrings for a cached DNS result. If that fails to find one, it upcalls to
116+userspace to get a new result.
117+
118+Upcalls to userspace are made through the request_key() upcall vector, and are
119+directed by means of configuration lines in /etc/request-key.conf that tell
120+/sbin/request-key what program to run to instantiate the key.
121+
122+The upcall handler program is responsible for querying the DNS, processing the
123+result into a form suitable for passing to the keyctl_instantiate_key()
124+routine. This then passes the data to dns_resolver_instantiate() which strips
125+off and processes any options included in the data, and then attaches the
126+remainder of the string to the key as its payload.
127+
128+The upcall handler program should set the expiry time on the key to that of the
129+lowest TTL of all the records it has extracted a result from. This means that
130+the key will be discarded and recreated when the data it holds has expired.
131+
132+dns_query() returns a copy of the value attached to the key, or an error if
133+that is indicated instead.
134+
135+See <file:Documentation/keys-request-key.txt> for further information about
136+request-key function.
137+
138+
139+=========
140+DEBUGGING
141+=========
142+
143+Debugging messages can be turned on dynamically by writing a 1 into the
144+following file:
145+
146+ /sys/module/dnsresolver/parameters/debug
Documentation/networking/fore200e.txt+1−1
@@ -39,7 +39,7 @@ version. Alternative binary firmware images can be found somewhere on the · 38 unmodified lines
3939 ForeThought CD-ROM supplied with your adapter by FORE Systems.
4040
4141 You can also get the latest firmware images from FORE Systems at
42−http://www.fore.com. Register TACTics Online and go to
42+http://en.wikipedia.org/wiki/FORE_Systems. Register TACTics Online and go to
4343 the 'software updates' pages. The firmware binaries are part of
4444 the various ForeThought software distributions.
4545
Documentation/networking/igb.txt+132−0
@@ -0,0 +1,132 @@
1+Linux* Base Driver for Intel(R) Network Connection
2+==================================================
3+
4+Intel Gigabit Linux driver.
5+Copyright(c) 1999 - 2010 Intel Corporation.
6+
7+Contents
8+========
9+
10+- Identifying Your Adapter
11+- Additional Configurations
12+- Support
13+
14+Identifying Your Adapter
15+========================
16+
17+This driver supports all 82575, 82576 and 82580-based Intel (R) gigabit network
18+connections.
19+
20+For specific information on how to identify your adapter, go to the Adapter &
21+Driver ID Guide at:
22+
23+ http://support.intel.com/support/go/network/adapter/idguide.htm
24+
25+Command Line Parameters
26+=======================
27+
28+The default value for each parameter is generally the recommended setting,
29+unless otherwise noted.
30+
31+max_vfs
32+-------
33+Valid Range: 0-7
34+Default Value: 0
35+
36+This parameter adds support for SR-IOV. It causes the driver to spawn up to
37+max_vfs worth of virtual function.
38+
39+Additional Configurations
40+=========================
41+
42+ Jumbo Frames
43+ ------------
44+ Jumbo Frames support is enabled by changing the MTU to a value larger than
45+ the default of 1500. Use the ifconfig command to increase the MTU size.
46+ For example:
47+
48+ ifconfig eth<x> mtu 9000 up
49+
50+ This setting is not saved across reboots.
51+
52+ Notes:
53+
54+ - The maximum MTU setting for Jumbo Frames is 9216. This value coincides
55+ with the maximum Jumbo Frames size of 9234 bytes.
56+
57+ - Using Jumbo Frames at 10 or 100 Mbps may result in poor performance or
58+ loss of link.
59+
60+ Ethtool
61+ -------
62+ The driver utilizes the ethtool interface for driver configuration and
63+ diagnostics, as well as displaying statistical information.
64+
65+ http://sourceforge.net/projects/gkernel.
66+
67+ Enabling Wake on LAN* (WoL)
68+ ---------------------------
69+ WoL is configured through the Ethtool* utility.
70+
71+ For instructions on enabling WoL with Ethtool, refer to the Ethtool man page.
72+
73+ WoL will be enabled on the system during the next shut down or reboot.
74+ For this driver version, in order to enable WoL, the igb driver must be
75+ loaded when shutting down or rebooting the system.
76+
77+ Wake On LAN is only supported on port A of multi-port adapters.
78+
79+ Wake On LAN is not supported for the Intel(R) Gigabit VT Quad Port Server
80+ Adapter.
81+
82+ Multiqueue
83+ ----------
84+ In this mode, a separate MSI-X vector is allocated for each queue and one
85+ for "other" interrupts such as link status change and errors. All
86+ interrupts are throttled via interrupt moderation. Interrupt moderation
87+ must be used to avoid interrupt storms while the driver is processing one
88+ interrupt. The moderation value should be at least as large as the expected
89+ time for the driver to process an interrupt. Multiqueue is off by default.
90+
91+ REQUIREMENTS: MSI-X support is required for Multiqueue. If MSI-X is not
92+ found, the system will fallback to MSI or to Legacy interrupts.
93+
94+ LRO
95+ ---
96+ Large Receive Offload (LRO) is a technique for increasing inbound throughput
97+ of high-bandwidth network connections by reducing CPU overhead. It works by
98+ aggregating multiple incoming packets from a single stream into a larger
99+ buffer before they are passed higher up the networking stack, thus reducing
100+ the number of packets that have to be processed. LRO combines multiple
101+ Ethernet frames into a single receive in the stack, thereby potentially
102+ decreasing CPU utilization for receives.
103+
104+ NOTE: You need to have inet_lro enabled via either the CONFIG_INET_LRO or
105+ CONFIG_INET_LRO_MODULE kernel config option. Additionally, if
106+ CONFIG_INET_LRO_MODULE is used, the inet_lro module needs to be loaded
107+ before the igb driver.
108+
109+ You can verify that the driver is using LRO by looking at these counters in
110+ Ethtool:
111+
112+ lro_aggregated - count of total packets that were combined
113+ lro_flushed - counts the number of packets flushed out of LRO
114+ lro_no_desc - counts the number of times an LRO descriptor was not available
115+ for the LRO packet
116+
117+ NOTE: IPv6 and UDP are not supported by LRO.
118+
119+Support
120+=======
121+
122+For general information, go to the Intel support website at:
123+
124+ www.intel.com/support/
125+
126+or the Intel Wired Networking project hosted by Sourceforge at:
127+
128+ http://sourceforge.net/projects/e1000
129+
130+If an issue is identified with the released source code on the supported
131+kernel with a supported adapter, email the specific information related
132+to the issue to e1000-devel@lists.sf.net
Documentation/networking/igbvf.txt+78−0
@@ -0,0 +1,78 @@
1+Linux* Base Driver for Intel(R) Network Connection
2+==================================================
3+
4+Intel Gigabit Linux driver.
5+Copyright(c) 1999 - 2010 Intel Corporation.
6+
7+Contents
8+========
9+
10+- Identifying Your Adapter
11+- Additional Configurations
12+- Support
13+
14+This file describes the igbvf Linux* Base Driver for Intel Network Connection.
15+
16+The igbvf driver supports 82576-based virtual function devices that can only
17+be activated on kernels that support SR-IOV. SR-IOV requires the correct
18+platform and OS support.
19+
20+The igbvf driver requires the igb driver, version 2.0 or later. The igbvf
21+driver supports virtual functions generated by the igb driver with a max_vfs
22+value of 1 or greater. For more information on the max_vfs parameter refer
23+to the README included with the igb driver.
24+
25+The guest OS loading the igbvf driver must support MSI-X interrupts.
26+
27+This driver is only supported as a loadable module at this time. Intel is
28+not supplying patches against the kernel source to allow for static linking
29+of the driver. For questions related to hardware requirements, refer to the
30+documentation supplied with your Intel Gigabit adapter. All hardware
31+requirements listed apply to use with Linux.
32+
33+Instructions on updating ethtool can be found in the section "Additional
34+Configurations" later in this document.
35+
36+VLANs: There is a limit of a total of 32 shared VLANs to 1 or more VFs.
37+
38+Identifying Your Adapter
39+========================
40+
41+The igbvf driver supports 82576-based virtual function devices that can only
42+be activated on kernels that support SR-IOV.
43+
44+For more information on how to identify your adapter, go to the Adapter &
45+Driver ID Guide at:
46+
47+ http://support.intel.com/support/go/network/adapter/idguide.htm
48+
49+For the latest Intel network drivers for Linux, refer to the following
50+website. In the search field, enter your adapter name or type, or use the
51+networking link on the left to search for your adapter:
52+
53+ http://downloadcenter.intel.com/scripts-df-external/Support_Intel.aspx
54+
55+Additional Configurations
56+=========================
57+
58+ Ethtool
59+ -------
60+ The driver utilizes the ethtool interface for driver configuration and
61+ diagnostics, as well as displaying statistical information.
62+
63+ http://sourceforge.net/projects/gkernel.
64+
65+Support
66+=======
67+
68+For general information, go to the Intel support website at:
69+
70+ http://support.intel.com
71+
72+or the Intel Wired Networking project hosted by Sourceforge at:
73+
74+ http://sourceforge.net/projects/e1000
75+
76+If an issue is identified with the released source code on the supported
77+kernel with a supported adapter, email the specific information related
78+to the issue to e1000-devel@lists.sf.net
Documentation/networking/ip-sysctl.txt+1−1
@@ -903,7 +903,7 @@ arp_ignore - INTEGER · 902 unmodified lines
903903 arp_notify - BOOLEAN
904904 Define mode for notification of address and device changes.
905905 0 - (default): do nothing
906− 1 - Generate gratuitous arp replies when device is brought up
906+ 1 - Generate gratuitous arp requests when device is brought up
907907 or hardware address changes.
908908
909909 arp_accept - BOOLEAN
Documentation/networking/ipddp.txt+0−5
@@ -36,11 +36,6 @@ AppleTalk-IP to IP decapsulation. · 35 unmodified lines
3636 Basic instructions for user space tools
3737 =======================================
3838
39−To enable AppleTalk-IP decapsulation/encapsulation you will need the
40−proper tools. You can get the tools for decapsulation from
41−http://spacs1.spacs.k12.wi.us/~jschlst/index.html and for encapsulation
42−from http://www.maths.unm.edu/~bradford/ltpc.html
43−
4439 I will briefly describe the operation of the tools, but you will
4540 need to consult the supporting documentation for each set of tools.
4641
Documentation/networking/iphase.txt+1−1
@@ -22,7 +22,7 @@ The features and limitations of this driver are as follows: · 21 unmodified lines
2222 - All variants of Interphase ATM PCI (i)Chip adapter cards are supported,
2323 including x575 (OC3, control memory 128K , 512K and packet memory 128K,
2424 512K and 1M), x525 (UTP25) and x531 (DS3 and E3). See
25− http://www.iphase.com/site/iphase-web/?epi_menuItemID=e196f04b4b3b40502f150882e21046a0
25+ http://www.iphase.com/
2626 for details.
2727 - Only x86 platforms are supported.
2828 - SMP is supported.
Documentation/networking/packet_mmap.txt+28−2
@@ -8,7 +8,7 @@ capture network traffic with utilities like tcpdump or any other that needs · 7 unmodified lines
88 raw access to network interface.
99
1010 You can find the latest version of this document at:
11− http://pusa.uv.es/~ulisses/packet_mmap/
11+ http://wiki.ipxwarzone.com/index.php5?title=Linux_packet_mmap
1212
1313 Howto can be found at:
1414 http://wiki.gnu-log.net (packet_mmap)
@@ -56,7 +56,7 @@ support for PACKET_MMAP, and also probably the libpcap included in your distribu · 41 unmodified lines
5656
5757 I'm aware of two implementations of PACKET_MMAP in libpcap:
5858
59− http://pusa.uv.es/~ulisses/packet_mmap/ (by Simon Patarin, based on libpcap 0.6.2)
59+ http://wiki.ipxwarzone.com/ (by Simon Patarin, based on libpcap 0.6.2)
6060 http://public.lanl.gov/cpw/ (by Phil Wood, based on lastest libpcap)
6161
6262 The rest of this document is intended for people who want to understand
@@ -493,6 +493,32 @@ The user can also use poll() to check if a buffer is available: · 430 unmodified lines
493493 pfd.events = POLLOUT;
494494 retval = poll(&pfd, 1, timeout);
495495
496+-------------------------------------------------------------------------------
497++ PACKET_TIMESTAMP
498+-------------------------------------------------------------------------------
499+
500+The PACKET_TIMESTAMP setting determines the source of the timestamp in
501+the packet meta information. If your NIC is capable of timestamping
502+packets in hardware, you can request those hardware timestamps to used.
503+Note: you may need to enable the generation of hardware timestamps with
504+SIOCSHWTSTAMP.
505+
506+PACKET_TIMESTAMP accepts the same integer bit field as
507+SO_TIMESTAMPING. However, only the SOF_TIMESTAMPING_SYS_HARDWARE
508+and SOF_TIMESTAMPING_RAW_HARDWARE values are recognized by
509+PACKET_TIMESTAMP. SOF_TIMESTAMPING_SYS_HARDWARE takes precedence over
510+SOF_TIMESTAMPING_RAW_HARDWARE if both bits are set.
511+
512+ int req = 0;
513+ req |= SOF_TIMESTAMPING_SYS_HARDWARE;
514+ setsockopt(fd, SOL_PACKET, PACKET_TIMESTAMP, (void *) &req, sizeof(req))
515+
516+If PACKET_TIMESTAMP is not set, a software timestamp generated inside
517+the networking stack is used (the behavior before this setting was added).
518+
519+See include/linux/net_tstamp.h and Documentation/networking/timestamping
520+for more information on hardware timestamps.
521+
496522 --------------------------------------------------------------------------------
497523 + THANKS
498524 --------------------------------------------------------------------------------
Documentation/networking/pktgen.txt+5−0
@@ -151,6 +151,8 @@ Examples: · 150 unmodified lines
151151
152152 pgset stop aborts injection. Also, ^C aborts generator.
153153
154+ pgset "rate 300M" set rate to 300 Mb/s
155+ pgset "ratep 1000000" set rate to 1Mpps
154156
155157 Example scripts
156158 ===============
@@ -241,6 +243,9 @@ src6 · 84 unmodified lines
241243 flows
242244 flowlen
243245
246+rate
247+ratep
248+
244249 References:
245250 ftp://robur.slu.se/pub/Linux/net-development/pktgen-testing/
246251 ftp://robur.slu.se/pub/Linux/net-development/pktgen-testing/examples/
Documentation/networking/ray_cs.txt+2−2
@@ -13,8 +13,8 @@ wireless LAN cards. · 12 unmodified lines
1313
1414 As of kernel 2.3.18, the ray_cs driver is part of the Linux kernel
1515 source. My web page for the development of ray_cs is at
16−http://world.std.com/~corey/raylink.html and I can be emailed at
17−corey@world.std.com
16+http://web.ralinktech.com/ralink/Home/Support/Linux.html
17+and I can be emailed at corey@world.std.com
1818
1919 The kernel driver is based on ray_cs-1.62.tgz
2020
Documentation/networking/s2io.txt+2−1
@@ -133,7 +133,8 @@ bring down CPU utilization. · 132 unmodified lines
133133 ** For AMD opteron platforms with 8131 chipset, MMRBC=1 and MOST=1 are
134134 recommended as safe parameters.
135135 For more information, please review the AMD8131 errata at
136−http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/26310.pdf
136+http://vip.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/
137+26310_AMD-8131_HyperTransport_PCI-X_Tunnel_Revision_Guide_rev_3_18.pdf
137138
138139 6. Available Downloads
139140 Neterion "s2io" driver in Red Hat and Suse 2.6-based distributions is kept up
Documentation/networking/tlan.txt+2−2
@@ -2,7 +2,7 @@ · 1 unmodified line
22 (C) 1998 James Banks
33 (C) 1999-2001 Torben Mathiasen <tmm@image.dk, torben.mathiasen@compaq.com>
44
5−For driver information/updates visit http://opensource.compaq.com
5+For driver information/updates visit http://www.compaq.com
66
77
88 TLAN driver for Linux, version 1.14a
@@ -113,5 +113,5 @@ III. Things to try if you have problems. · 104 unmodified lines
113113
114114 There is also a tlan mailing list which you can join by sending "subscribe tlan"
115115 in the body of an email to majordomo@vuser.vu.union.edu.
116−There is also a tlan website at http://opensource.compaq.com
116+There is also a tlan website at http://www.compaq.com
117117
Documentation/networking/udplite.txt+5−8
@@ -11,11 +11,13 @@ · 10 unmodified lines
1111 This file briefly describes the existing kernel support and the socket API.
1212 For in-depth information, you can consult:
1313
14− o The UDP-Lite Homepage: http://www.erg.abdn.ac.uk/users/gerrit/udp-lite/
14+ o The UDP-Lite Homepage:
15+ http://web.archive.org/web/*/http://www.erg.abdn.ac.uk/users/gerrit/udp-lite/
1516 From here you can also download some example application source code.
1617
1718 o The UDP-Lite HOWTO on
18− http://www.erg.abdn.ac.uk/users/gerrit/udp-lite/files/UDP-Lite-HOWTO.txt
19+ http://web.archive.org/web/*/http://www.erg.abdn.ac.uk/users/gerrit/udp-lite/
20+ files/UDP-Lite-HOWTO.txt
1921
2022 o The Wireshark UDP-Lite WiKi (with capture files):
2123 http://wiki.wireshark.org/Lightweight_User_Datagram_Protocol
@@ -26,12 +28,7 @@ · 4 unmodified lines
2628 I) APPLICATIONS
2729
2830 Several applications have been ported successfully to UDP-Lite. Ethereal
29− (now called wireshark) has UDP-Litev4/v6 support by default. The tarball on
30−
31− http://www.erg.abdn.ac.uk/users/gerrit/udp-lite/files/udplite_linux.tar.gz
32−
33− has source code for several v4/v6 client-server and network testing examples.
34−
31+ (now called wireshark) has UDP-Litev4/v6 support by default.
3532 Porting applications to UDP-Lite is straightforward: only socket level and
3633 IPPROTO need to be changed; senders additionally set the checksum coverage
3734 length (default = header length = 8). Details are in the next section.
Documentation/networking/wavelan.txt+0−73
@@ -1,73 +0,0 @@
1− The Wavelan drivers saga
2− ------------------------
3−
4− By Jean Tourrilhes <jt@hpl.hp.com>
5−
6− The Wavelan is a Radio network adapter designed by
7−Lucent. Under this generic name is hidden quite a variety of hardware,
8−and many Linux driver to support it.
9− The get the full story on Wireless LANs, please consult :
10− http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/
11−
12−"wavelan" driver (old ISA Wavelan)
13−----------------
14− o Config : Network device -> Wireless LAN -> AT&T WaveLAN
15− o Location : .../drivers/net/wireless/wavelan*
16− o in-line doc : .../drivers/net/wireless/wavelan.p.h
17− o on-line doc :
18− http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Wavelan.html
19−
20− This is the driver for the ISA version of the first generation
21−of the Wavelan, now discontinued. The device is 2 Mb/s, composed of a
22−Intel 82586 controller and a Lucent Modem, and is NOT 802.11 compliant.
23− The driver has been tested with the following hardware :
24− o Wavelan ISA 915 MHz (full length ISA card)
25− o Wavelan ISA 915 MHz 2.0 (half length ISA card)
26− o Wavelan ISA 2.4 GHz (full length ISA card, fixed frequency)
27− o Wavelan ISA 2.4 GHz 2.0 (half length ISA card, frequency selectable)
28− o Above cards with the optional DES encryption feature
29−
30−"wavelan_cs" driver (old Pcmcia Wavelan)
31−-------------------
32− o Config : Network device -> PCMCIA network ->
33− Pcmcia Wireless LAN -> AT&T/Lucent WaveLAN
34− o Location : .../drivers/net/pcmcia/wavelan*
35− o in-line doc : .../drivers/net/pcmcia/wavelan_cs.h
36− o on-line doc :
37− http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Wavelan.html
38−
39− This is the driver for the PCMCIA version of the first
40−generation of the Wavelan, now discontinued. The device is 2 Mb/s,
41−composed of a Intel 82593 controller (totally different from the 82586)
42−and a Lucent Modem, and NOT 802.11 compatible.
43− The driver has been tested with the following hardware :
44− o Wavelan Pcmcia 915 MHz 2.0 (Pcmcia card + separate
45− modem/antenna block)
46− o Wavelan Pcmcia 2.4 GHz 2.0 (Pcmcia card + separate
47− modem/antenna block)
48−
49−"wvlan_cs" driver (Wavelan IEEE, GPL)
50−-----------------
51− o Config : Not yet in kernel
52− o Location : Pcmcia package 3.1.10+
53− o on-line doc : http://www.fasta.fh-dortmund.de/users/andy/wvlan/
54−
55− This is the driver for the current generation of Wavelan IEEE,
56−which is 802.11 compatible. Depending on version, it is 2 Mb/s or 11
57−Mb/s, with or without encryption, all implemented in Lucent specific
58−DSP (the Hermes).
59− This is a GPL full source PCMCIA driver (ISA is just a Pcmcia
60−card with ISA-Pcmcia bridge).
61−
62−"wavelan2_cs" driver (Wavelan IEEE, binary)
63−--------------------
64− o Config : Not yet in kernel
65− o Location : ftp://sourceforge.org/pcmcia/contrib/
66−
67− This driver support exactly the same hardware as the previous
68−driver, the main difference is that it is based on a binary library
69−and supported by Lucent.
70−
71− I hope it clears the confusion ;-)
72−
73− Jean
Documentation/padata.txt+76−23
@@ -1,5 +1,5 @@
11 The padata parallel execution mechanism
2−Last updated for 2.6.34
2+Last updated for 2.6.36
33
44 Padata is a mechanism by which the kernel can farm work out to be done in
55 parallel on multiple CPUs while retaining the ordering of tasks. It was
@@ -13,31 +13,86 @@ overall control of how tasks are to be run: · 7 unmodified lines
1313
1414 #include <linux/padata.h>
1515
16− struct padata_instance *padata_alloc(const struct cpumask *cpumask,
17− struct workqueue_struct *wq);
16+ struct padata_instance *padata_alloc(struct workqueue_struct *wq,
17+ const struct cpumask *pcpumask,
18+ const struct cpumask *cbcpumask);
1819
19−The cpumask describes which processors will be used to execute work
20−submitted to this instance. The workqueue wq is where the work will
21−actually be done; it should be a multithreaded queue, naturally.
20+The pcpumask describes which processors will be used to execute work
21+submitted to this instance in parallel. The cbcpumask defines which
22+processors are allowed to be used as the serialization callback processor.
23+The workqueue wq is where the work will actually be done; it should be
24+a multithreaded queue, naturally.
25+
26+To allocate a padata instance with the cpu_possible_mask for both
27+cpumasks this helper function can be used:
28+
29+ struct padata_instance *padata_alloc_possible(struct workqueue_struct *wq);
30+
31+Note: Padata maintains two kinds of cpumasks internally. The user supplied
32+cpumasks, submitted by padata_alloc/padata_alloc_possible and the 'usable'
33+cpumasks. The usable cpumasks are always a subset of active CPUs in the
34+user supplied cpumasks; these are the cpumasks padata actually uses. So
35+it is legal to supply a cpumask to padata that contains offline CPUs.
36+Once an offline CPU in the user supplied cpumask comes online, padata
37+is going to use it.
2238
2339 There are functions for enabling and disabling the instance:
2440
25− void padata_start(struct padata_instance *pinst);
41+ int padata_start(struct padata_instance *pinst);
2642 void padata_stop(struct padata_instance *pinst);
2743
28−These functions literally do nothing beyond setting or clearing the
29−"padata_start() was called" flag; if that flag is not set, other functions
30−will refuse to work.
44+These functions are setting or clearing the "PADATA_INIT" flag;
45+if that flag is not set, other functions will refuse to work.
46+padata_start returns zero on success (flag set) or -EINVAL if the
47+padata cpumask contains no active CPU (flag not set).
48+padata_stop clears the flag and blocks until the padata instance
49+is unused.
3150
3251 The list of CPUs to be used can be adjusted with these functions:
3352
34− int padata_set_cpumask(struct padata_instance *pinst,
53+ int padata_set_cpumasks(struct padata_instance *pinst,
54+ cpumask_var_t pcpumask,
55+ cpumask_var_t cbcpumask);
56+ int padata_set_cpumask(struct padata_instance *pinst, int cpumask_type,
3557 cpumask_var_t cpumask);
36− int padata_add_cpu(struct padata_instance *pinst, int cpu);
37− int padata_remove_cpu(struct padata_instance *pinst, int cpu);
58+ int padata_add_cpu(struct padata_instance *pinst, int cpu, int mask);
59+ int padata_remove_cpu(struct padata_instance *pinst, int cpu, int mask);
60+
61+Changing the CPU masks are expensive operations, though, so it should not be
62+done with great frequency.
63+
64+It's possible to change both cpumasks of a padata instance with
65+padata_set_cpumasks by specifying the cpumasks for parallel execution (pcpumask)
66+and for the serial callback function (cbcpumask). padata_set_cpumask is used to
67+change just one of the cpumasks. Here cpumask_type is one of PADATA_CPU_SERIAL,
68+PADATA_CPU_PARALLEL and cpumask specifies the new cpumask to use.
69+To simply add or remove one CPU from a certain cpumask the functions
70+padata_add_cpu/padata_remove_cpu are used. cpu specifies the CPU to add or
71+remove and mask is one of PADATA_CPU_SERIAL, PADATA_CPU_PARALLEL.
72+
73+If a user is interested in padata cpumask changes, he can register to
74+the padata cpumask change notifier:
75+
76+ int padata_register_cpumask_notifier(struct padata_instance *pinst,
77+ struct notifier_block *nblock);
78+
79+To unregister from that notifier:
80+
81+ int padata_unregister_cpumask_notifier(struct padata_instance *pinst,
82+ struct notifier_block *nblock);
83+
84+The padata cpumask change notifier notifies about changes of the usable
85+cpumasks, i.e. the subset of active CPUs in the user supplied cpumask.
86+
87+Padata calls the notifier chain with:
88+
89+ blocking_notifier_call_chain(&pinst->cpumask_change_notifier,
90+ notification_mask,
91+ &pd_new->cpumask);
3892
39−Changing the CPU mask has the look of an expensive operation, though, so it
40−probably should not be done with great frequency.
93+Here cpumask_change_notifier is registered notifier, notification_mask
94+is one of PADATA_CPU_SERIAL, PADATA_CPU_PARALLEL and cpumask is a pointer
95+to a struct padata_cpumask that contains the new cpumask information.
4196
4297 Actually submitting work to the padata instance requires the creation of a
4398 padata_priv structure:
@@ -49,8 +104,8 @@ padata_priv structure: · 5 unmodified lines
49104 };
50105
51106 This structure will almost certainly be embedded within some larger
52−structure specific to the work to be done. Most its fields are private to
53−padata, but the structure should be zeroed at initialization time, and the
107+structure specific to the work to be done. Most of its fields are private to
108+padata, but the structure should be zeroed at initialisation time, and the
54109 parallel() and serial() functions should be provided. Those functions will
55110 be called in the process of getting the work done as we will see
56111 momentarily.
@@ -63,12 +118,10 @@ The submission of work is done with: · 6 unmodified lines
63118 The pinst and padata structures must be set up as described above; cb_cpu
64119 specifies which CPU will be used for the final callback when the work is
65120 done; it must be in the current instance's CPU mask. The return value from
66−padata_do_parallel() is a little strange; zero is an error return
67−indicating that the caller forgot the padata_start() formalities. -EBUSY
68−means that somebody, somewhere else is messing with the instance's CPU
69−mask, while -EINVAL is a complaint about cb_cpu not being in that CPU mask.
70−If all goes well, this function will return -EINPROGRESS, indicating that
71−the work is in progress.
121+padata_do_parallel() is zero on success, indicating that the work is in
122+progress. -EBUSY means that somebody, somewhere else is messing with the
123+instance's CPU mask, while -EINVAL is a complaint about cb_cpu not being
124+in that CPU mask or about a not running instance.
72125
73126 Each task submitted to padata_do_parallel() will, in turn, be passed to
74127 exactly one call to the above-mentioned parallel() function, on one CPU, so
Documentation/pcmcia/driver-changes.txt+12−0
@@ -1,4 +1,16 @@
11 This file details changes in 2.6 which affect PCMCIA card driver authors:
2+* pcmcia_request_io changes (as of 2.6.36)
3+ Instead of io_req_t, drivers are now requested to fill out
4+ struct pcmcia_device *p_dev->resource[0,1] for up to two ioport
5+ ranges. After a call to pcmcia_request_io(), the ports found there
6+ are reserved, after calling pcmcia_request_configuration(), they may
7+ be used.
8+
9+* No dev_info_t, no cs_types.h (as of 2.6.36)
10+ dev_info_t and a few other typedefs are removed. No longer use them
11+ in PCMCIA device drivers. Also, do not include pcmcia/cs_types.h, as
12+ this file is gone.
13+
214 * No dev_node_t (as of 2.6.35)
315 There is no more need to fill out a "dev_node_t" structure.
416
Documentation/power/apm-acpi.txt+1−1
@@ -28,5 +28,5 @@ and be sure that they are started sometime in the system boot process. · 27 unmodified lines
2828 Go ahead and start both. If ACPI or APM is not available on your
2929 system the associated daemon will exit gracefully.
3030
31− apmd: http://worldvisions.ca/~apenwarr/apmd/
31+ apmd: http://ftp.debian.org/pool/main/a/apmd/
3232 acpid: http://acpid.sf.net/
Documentation/power/basic-pm-debugging.txt+1−2
@@ -179,8 +179,7 @@ use the PM_TRACE mechanism documented in Documentation/s2ram.txt . · 178 unmodified lines
179179
180180 To verify that the STR works, it is generally more convenient to use the s2ram
181181 tool available from http://suspend.sf.net and documented at
182−http://en.opensuse.org/s2ram . However, before doing that it is recommended to
183−carry out STR testing using the facility described in section 1.
182+http://en.opensuse.org/SDB:Suspend_to_RAM.
184183
185184 Namely, after writing "freezer", "devices", "platform", "processors", or "core"
186185 into /sys/power/pm_test (available if the kernel is compiled with
Documentation/power/tricks.txt+1−1
@@ -1,6 +1,6 @@
11 swsusp/S3 tricks
22 ~~~~~~~~~~~~~~~~
3−Pavel Machek <pavel@suse.cz>
3+Pavel Machek <pavel@ucw.cz>
44
55 If you want to trick swsusp/S3 into working, you might want to try:
66
Documentation/power/video.txt+6−6
@@ -67,11 +67,11 @@ There are a few types of systems where video works after S3 resume: · 66 unmodified lines
6767 POSTing bios works. Ole Rohne has patch to do just that at
6868 http://dev.gentoo.org/~marineam/patch-radeonfb-2.6.11-rc2-mm2.
6969
70−(8) on some systems, you can use the video_post utility mentioned here:
71− http://bugzilla.kernel.org/show_bug.cgi?id=3670. Do echo 3 > /sys/power/state
72− && /usr/sbin/video_post - which will initialize the display in console mode.
73− If you are in X, you can switch to a virtual terminal and back to X using
74− CTRL+ALT+F1 - CTRL+ALT+F7 to get the display working in graphical mode again.
70+(8) on some systems, you can use the video_post utility and or
71+ do echo 3 > /sys/power/state && /usr/sbin/video_post - which will
72+ initialize the display in console mode. If you are in X, you can switch
73+ to a virtual terminal and back to X using CTRL+ALT+F1 - CTRL+ALT+F7 to get
74+ the display working in graphical mode again.
7575
7676 Now, if you pass acpi_sleep=something, and it does not work with your
7777 bios, you'll get a hard crash during resume. Be careful. Also it is
@@ -177,7 +177,7 @@ Mainboard Graphics card hack (or "how to do it") · 99 unmodified lines
177177 Asus A7V8X nVidia RIVA TNT2 model 64 s3_bios,s3_mode (4)
178178
179179
180−(*) from http://www.ubuntulinux.org/wiki/HoaryPMResults, not sure
180+(*) from https://wiki.ubuntu.com/HoaryPMResults, not sure
181181 which options to use. If you know, please tell me.
182182
183183 (***) To be tested with a newer kernel.
Documentation/powerpc/booting-without-of.txt+1−1
@@ -1048,7 +1048,7 @@ IV - "dtc", the device tree compiler · 1047 unmodified lines
10481048
10491049
10501050 dtc source code can be found at
1051−<http://ozlabs.org/~dgibson/dtc/dtc.tar.gz>
1051+<http://git.jdl.com/gitweb/?p=dtc.git>
10521052
10531053 WARNING: This version is still in early development stage; the
10541054 resulting device-tree "blobs" have not yet been validated with the
Documentation/powerpc/dts-bindings/fsl/diu.txt+18−2
@@ -4,10 +4,17 @@ The Freescale DIU is a LCD controller, with proper hardware, it can also · 3 unmodified lines
44 drive DVI monitors.
55
66 Required properties:
7−- compatible : should be "fsl-diu".
7+- compatible : should be "fsl,diu" or "fsl,mpc5121-diu".
88 - reg : should contain at least address and length of the DIU register
99 set.
10−- Interrupts : one DIU interrupt should be describe here.
10+- interrupts : one DIU interrupt should be described here.
11+- interrupt-parent : the phandle for the interrupt controller that
12+ services interrupts for this device.
13+
14+Optional properties:
15+- edid : verbatim EDID data block describing attached display.
16+ Data from the detailed timing descriptor will be used to
17+ program the display controller.
1118
1219 Example (MPC8610HPCD):
1320 display@2c000 {
@@ -16,3 +23,12 @@ Example (MPC8610HPCD): · 2 unmodified lines
1623 interrupts = <72 2>;
1724 interrupt-parent = <&mpic>;
1825 };
26+
27+Example for MPC5121:
28+ display@2100 {
29+ compatible = "fsl,mpc5121-diu";
30+ reg = <0x2100 0x100>;
31+ interrupts = <64 0x8>;
32+ interrupt-parent = <&ipic>;
33+ edid = [edid-data];
34+ };
Documentation/powerpc/dts-bindings/fsl/esdhc.txt+2−0
@@ -14,6 +14,8 @@ Required properties: · 13 unmodified lines
1414 reports inverted write-protect state;
1515 - sdhci,1-bit-only : (optional) specifies that a controller can
1616 only handle 1-bit data transfers.
17+ - sdhci,auto-cmd12: (optional) specifies that a controller can
18+ only handle auto CMD12.
1719
1820 Example:
1921
Documentation/powerpc/dts-bindings/fsl/i2c.txt+2−0
@@ -20,6 +20,7 @@ Recommended properties : · 19 unmodified lines
2020 - fsl,preserve-clocking : boolean; if defined, the clock settings
2121 from the bootloader are preserved (not touched).
2222 - clock-frequency : desired I2C bus clock frequency in Hz.
23+ - fsl,timeout : I2C bus timeout in microseconds.
2324
2425 Examples :
2526
@@ -59,4 +60,5 @@ Examples : · 33 unmodified lines
5960 interrupts = <43 2>;
6061 interrupt-parent = <&mpic>;
6162 clock-frequency = <400000>;
63+ fsl,timeout = <10000>;
6264 };
Documentation/rt-mutex-design.txt+1−1
@@ -364,7 +364,7 @@ process this is rather easy to know what needs to be adjusted. · 363 unmodified lines
364364
365365 The functions implementing the task adjustments are rt_mutex_adjust_prio,
366366 __rt_mutex_adjust_prio (same as the former, but expects the task pi_lock
367−to already be taken), rt_mutex_get_prio, and rt_mutex_setprio.
367+to already be taken), rt_mutex_getprio, and rt_mutex_setprio.
368368
369369 rt_mutex_getprio and rt_mutex_setprio are only used in __rt_mutex_adjust_prio.
370370
Documentation/s390/Debugging390.txt+1−1
@@ -2531,5 +2531,5 @@ Special Thanks · 2530 unmodified lines
25312531 ==============
25322532 Special thanks to Neale Ferguson who maintains a much
25332533 prettier HTML version of this page at
2534−http://penguinvm.princeton.edu/notes.html#Debug390
2534+http://linuxvm.org/penguinvm/
25352535 Bob Grainger Stefan Bader & others for reporting bugs
Documentation/scsi/BusLogic.txt+1−1
@@ -47,7 +47,7 @@ tune driver performance and error recovery to their particular needs. · 46 unmodified lines
4747 The latest information on Linux support for BusLogic SCSI Host Adapters, as
4848 well as the most recent release of this driver and the latest firmware for the
4949 BT-948/958/958D, will always be available from my Linux Home Page at URL
50−"http://www.dandelion.com/Linux/".
50+"http://sourceforge.net/projects/dandelion/".
5151
5252 Bug reports should be sent via electronic mail to "lnz@dandelion.com". Please
5353 include with the bug report the complete configuration messages reported by the
Documentation/scsi/ChangeLog.lpfc+1−1
@@ -807,7 +807,7 @@ Changes from 20040908 to 20040920 · 806 unmodified lines
807807 lpfc_disc_done/lpfc_do_dpc cleanup - lpfc_disc_done can return
808808 void - move lpfc_do_dpc and lpfc_disc_done to lpfc_hbadisc.c -
809809 remove checking of list emptiness before calling lpfc_disc_done,
810− it handles the emtpy list case just fine and the additional
810+ it handles the empty list case just fine and the additional
811811 instructions cost less then the bustlocked spinlock operations.
812812 * Integrated patch from Christoph Hellwig: This adds a new 64bit
813813 counter instead, brd_no isn't reused anymore. Also some tiny
Documentation/scsi/ChangeLog.megaraid+1−1
@@ -215,7 +215,7 @@ Older Version : 2.20.4.5 (scsi module), 2.20.2.5 (cmm module) · 214 unmodified lines
215215
216216 3. Convert pci_module_init to pci_register_driver
217217 Convert from pci_module_init to pci_register_driver
218− (from:http://kerneljanitors.org/TODO)
218+ (from:http://kernelnewbies.org/KernelJanitors/TODO)
219219 - Signed-off-by: Domen Puncer <domen@coderock.org>
220220
221221 4. Use the pre defined DMA mask constants from dma-mapping.h
Documentation/scsi/FlashPoint.txt+2−2
@@ -13,7 +13,7 @@ operating system support to its BusLogic brand of FlashPoint Ultra SCSI · 12 unmodified lines
1313 host adapters. All of BusLogic's other SCSI host adapters, including the
1414 MultiMaster line, currently support the Linux operating system. Linux
1515 drivers and information will be available on October 15th at
16−http://www.dandelion.com/Linux/.
16+http://sourceforge.net/projects/dandelion/.
1717
1818 "Mylex is committed to supporting the Linux community," says Peter Shambora,
1919 vice president of marketing for Mylex. "We have supported Linux driver
@@ -27,7 +27,7 @@ Linux is a freely-distributed implementation of UNIX for Intel x86, Sun · 7 unmodified lines
2727 SPARC, SGI MIPS, Motorola 68k, Digital Alpha AXP and Motorola PowerPC
2828 machines. It supports a wide range of software, including the X Window
2929 System, Emacs, and TCP/IP networking. Further information is available at
30−http://www.linux.org and http://www.ssc.com/linux.
30+http://www.linux.org and http://www.ssc.com/.
3131
3232 FlashPoint Host Adapters
3333
Documentation/scsi/Mylex.txt+1−1
@@ -2,4 +2,4 @@ Please see the file README.BusLogic for information about Linux support for · 1 unmodified line
22 Mylex (formerly BusLogic) MultiMaster and FlashPoint SCSI Host Adapters.
33
44 The Mylex DAC960 PCI RAID Controllers are now supported. Please consult
5−http://www.dandelion.com/Linux/ for further information on the DAC960 driver.
5+http://sourceforge.net/projects/dandelion for further information on the DAC960 driver.
Documentation/scsi/NinjaSCSI.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
33
44 1. Comment
55 This is Workbit corp.'s(http://www.workbit.co.jp/) NinjaSCSI-3
6−(http://www.workbit.co.jp/ts/z_nj3r.html) and NinjaSCSI-32Bi
7−(http://www.workbit.co.jp/ts/z_njsc32bi.html) PCMCIA card driver module
86 for Linux.
97
108 2. My Linux environment
Documentation/scsi/aic79xx.txt+1−1
@@ -447,7 +447,7 @@ The following information is available in this file: · 446 unmodified lines
447447 http://www.adaptec.com/buy-cables/.
448448
449449 Europe
450− - Visit our Web site at http://www.adaptec-europe.com/.
450+ - Visit our Web site at http://www.adaptec.com/en-US/_common/world_index.
451451 - To speak with a Technical Support Specialist, call, or email,
452452 * German: +49 89 4366 5522, Monday-Friday, 9:00-17:00 CET,
453453 http://ask-de.adaptec.com/.
Documentation/scsi/aic7xxx.txt+1−1
@@ -344,7 +344,7 @@ The following information is available in this file: · 343 unmodified lines
344344 http://www.adaptec.com/buy-cables/.
345345
346346 Europe
347− - Visit our Web site at http://www.adaptec-europe.com/.
347+ - Visit our Web site at http://www.adaptec.com/en-US/_common/world_index.
348348 - To speak with a Technical Support Specialist, call, or email,
349349 * German: +49 89 4366 5522, Monday-Friday, 9:00-17:00 CET,
350350 http://ask-de.adaptec.com/.
Documentation/scsi/hpsa.txt+107−0
@@ -0,0 +1,107 @@
1+
2+HPSA - Hewlett Packard Smart Array driver
3+-----------------------------------------
4+
5+This file describes the hpsa SCSI driver for HP Smart Array controllers.
6+The hpsa driver is intended to supplant the cciss driver for newer
7+Smart Array controllers. The hpsa driver is a SCSI driver, while the
8+cciss driver is a "block" driver. Actually cciss is both a block
9+driver (for logical drives) AND a SCSI driver (for tape drives). This
10+"split-brained" design of the cciss driver is a source of excess
11+complexity and eliminating that complexity is one of the reasons
12+for hpsa to exist.
13+
14+Supported devices:
15+------------------
16+
17+Smart Array P212
18+Smart Array P410
19+Smart Array P410i
20+Smart Array P411
21+Smart Array P812
22+Smart Array P712m
23+Smart Array P711m
24+StorageWorks P1210m
25+
26+Additionally, older Smart Arrays may work with the hpsa driver if the kernel
27+boot parameter "hpsa_allow_any=1" is specified, however these are not tested
28+nor supported by HP with this driver. For older Smart Arrays, the cciss
29+driver should still be used.
30+
31+HPSA specific entries in /sys
32+-----------------------------
33+
34+ In addition to the generic SCSI attributes available in /sys, hpsa supports
35+ the following attributes:
36+
37+ HPSA specific host attributes:
38+ ------------------------------
39+
40+ /sys/class/scsi_host/host*/rescan
41+ /sys/class/scsi_host/host*/firmware_revision
42+
43+ the host "rescan" attribute is a write only attribute. Writing to this
44+ attribute will cause the driver to scan for new, changed, or removed devices
45+ (e.g. hot-plugged tape drives, or newly configured or deleted logical drives,
46+ etc.) and notify the SCSI midlayer of any changes detected. Normally this is
47+ triggered automatically by HP's Array Configuration Utility (either the GUI or
48+ command line variety) so for logical drive changes, the user should not
49+ normally have to use this. It may be useful when hot plugging devices like
50+ tape drives, or entire storage boxes containing pre-configured logical drives.
51+
52+ The "firmware_revision" attribute contains the firmware version of the Smart Array.
53+ For example:
54+
55+ root@host:/sys/class/scsi_host/host4# cat firmware_revision
56+ 7.14
57+
58+ HPSA specific disk attributes:
59+ ------------------------------
60+
61+ /sys/class/scsi_disk/c:b:t:l/device/unique_id
62+ /sys/class/scsi_disk/c:b:t:l/device/raid_level
63+ /sys/class/scsi_disk/c:b:t:l/device/lunid
64+
65+ (where c:b:t:l are the controller, bus, target and lun of the device)
66+
67+ For example:
68+
69+ root@host:/sys/class/scsi_disk/4:0:0:0/device# cat unique_id
70+ 600508B1001044395355323037570F77
71+ root@host:/sys/class/scsi_disk/4:0:0:0/device# cat lunid
72+ 0x0000004000000000
73+ root@host:/sys/class/scsi_disk/4:0:0:0/device# cat raid_level
74+ RAID 0
75+
76+HPSA specific ioctls:
77+---------------------
78+
79+ For compatibility with applications written for the cciss driver, many, but
80+ not all of the ioctls supported by the cciss driver are also supported by the
81+ hpsa driver. The data structures used by these are described in
82+ include/linux/cciss_ioctl.h
83+
84+ CCISS_DEREGDISK
85+ CCISS_REGNEWDISK
86+ CCISS_REGNEWD
87+
88+ The above three ioctls all do exactly the same thing, which is to cause the driver
89+ to rescan for new devices. This does exactly the same thing as writing to the
90+ hpsa specific host "rescan" attribute.
91+
92+ CCISS_GETPCIINFO
93+
94+ Returns PCI domain, bus, device and function and "board ID" (PCI subsystem ID).
95+
96+ CCISS_GETDRIVVER
97+
98+ Returns driver version in three bytes encoded as:
99+ (major_version << 16) | (minor_version << 8) | (subminor_version)
100+
101+ CCISS_PASSTHRU
102+ CCISS_BIG_PASSTHRU
103+
104+ Allows "BMIC" and "CISS" commands to be passed through to the Smart Array.
105+ These are used extensively by the HP Array Configuration Utility, SNMP storage
106+ agents, etc. See cciss_vol_status at http://cciss.sf.net for some examples.
107+
Documentation/scsi/ibmmca.txt+1−1
@@ -1109,7 +1109,7 @@ · 1108 unmodified lines
11091109 Q: Where can I find the latest info about this driver?
11101110 A: See the file MAINTAINERS for the current WWW-address, which offers
11111111 updates, info and Q/A lists. At this file's origin, the webaddress
1112− was: http://www.uni-mainz.de/~langm000/linux.html
1112+ was: http://www.staff.uni-mainz.de/mlang/linux.html
11131113 Q: My SCSI-adapter is not recognized by the driver, what can I do?
11141114 A: Just force it to be recognized by kernel parameters. See section 5.1.
11151115 If this really happens, do also send e-mail to the maintainer, as
Documentation/scsi/osst.txt+1−1
@@ -135,7 +135,7 @@ The driver development is coordinated through a mailing list · 134 unmodified lines
135135 a CVS repository and some web pages.
136136 The tester's pages which contain recent news and updated drivers to download
137137 can be found on
138−http://linux1.onstream.nl/test/
138+http://sourceforge.net/projects/osst/
139139
140140 If you find any problems, please have a look at the tester's page in order
141141 to see whether the problem is already known and solved. Otherwise, please
Documentation/scsi/ppa.txt+3−3
@@ -1,13 +1,13 @@
11 -------- Terse where to get ZIP Drive help info --------
22
33 General Iomega ZIP drive page for Linux:
4−http://www.torque.net/~campbell/
4+http://web.archive.org/web/*/http://www.torque.net/~campbell/
55
66 Driver archive for old drivers:
7−http://www.torque.net/~campbell/ppa/
7+http://web.archive.org/web/*/http://www.torque.net/~campbell/ppa
88
99 Linux Parport page (parallel port)
10−http://www.torque.net/parport/
10+http://web.archive.org/web/*/http://www.torque.net/parport/
1111
1212 Email list for Linux Parport
1313 linux-parport@torque.net
Documentation/scsi/scsi-generic.txt+4−4
@@ -34,11 +34,11 @@ http://www.tldp.org/HOWTO/SCSI-Generic-HOWTO · 33 unmodified lines
3434 This describes the sg version 3 driver found in the lk 2.4 series.
3535 The LDP renders documents in single and multiple page HTML, postscript
3636 and pdf. This document can also be found at:
37−http://www.torque.net/sg/p/sg_v3_ho.html
37+http://sg.danny.cz/sg/p/sg_v3_ho.html
3838
3939 Documentation for the version 2 sg driver found in the lk 2.2 series can
40−be found at http://www.torque.net/sg/p/scsi-generic.txt . A larger version
41−is at: http://www.torque.net/sg/p/scsi-generic_long.txt .
40+be found at http://sg.danny.cz/sg/. A larger version
41+is at: http://sg.danny.cz/sg/p/scsi-generic_long.txt.
4242
4343 The original documentation for the sg driver (prior to lk 2.2.6) can be
4444 found at http://www.torque.net/sg/p/original/SCSI-Programming-HOWTO.txt
@@ -61,7 +61,7 @@ There are two packages of sg utilities: · 16 unmodified lines
6161 - sg_utils for the sg version 2 (and original) driver found in lk 2.2
6262 and earlier
6363 Both packages will work in the lk 2.4 series however sg3_utils offers more
64−capabilities. They can be found at: http://www.torque.net/sg and
64+capabilities. They can be found at: http://sg.danny.cz/sg/sg3_utils.html and
6565 freshmeat.net
6666
6767 Another approach is to look at the applications that use the sg driver.
Documentation/scsi/scsi.txt+2−2
@@ -4,8 +4,8 @@ The Linux Documentation Project (LDP) maintains a document describing · 3 unmodified lines
44 the SCSI subsystem in the Linux kernel (lk) 2.4 series. See:
55 http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO . The LDP has single
66 and multiple page HTML renderings as well as postscript and pdf.
7−It can also be found at http://www.torque.net/scsi/SCSI-2.4-HOWTO .
8−
7+It can also be found at:
8+http://web.archive.org/web/*/http://www.torque.net/scsi/SCSI-2.4-HOWTO
99
1010 Notes on using modules in the SCSI subsystem
1111 ============================================
Documentation/scsi/scsi_mid_low_api.txt+1−1
@@ -43,7 +43,7 @@ There is a SCSI documentation directory within the kernel source tree, · 42 unmodified lines
4343 typically Documentation/scsi . Most documents are in plain
4444 (i.e. ASCII) text. This file is named scsi_mid_low_api.txt and can be
4545 found in that directory. A more recent copy of this document may be found
46−at http://www.torque.net/scsi/scsi_mid_low_api.txt.gz .
46+at http://web.archive.org/web/20070107183357rn_1/sg.torque.net/scsi/.
4747 Many LLDs are documented there (e.g. aic7xxx.txt). The SCSI mid-level is
4848 briefly described in scsi.txt which contains a url to a document
4949 describing the SCSI subsystem in the lk 2.4 series. Two upper level
Documentation/serial/moxa-smartio+1−1
@@ -76,7 +76,7 @@ Content · 75 unmodified lines
7676 GNU General Public License in this version. Please refer to GNU General
7777 Public License announcement in each source code file for more detail.
7878
79− In Moxa's Web sites, you may always find latest driver at http://web.moxa.com.
79+ In Moxa's Web sites, you may always find latest driver at http://www.moxa.com/.
8080
8181 This version of driver can be installed as Loadable Module (Module driver)
8282 or built-in into kernel (Static driver). You may refer to following
Documentation/slow-work.txt+0−322
@@ -1,322 +0,0 @@
1− ====================================
2− SLOW WORK ITEM EXECUTION THREAD POOL
3− ====================================
4−
5−By: David Howells <dhowells@redhat.com>
6−
7−The slow work item execution thread pool is a pool of threads for performing
8−things that take a relatively long time, such as making mkdir calls.
9−Typically, when processing something, these items will spend a lot of time
10−blocking a thread on I/O, thus making that thread unavailable for doing other
11−work.
12−
13−The standard workqueue model is unsuitable for this class of work item as that
14−limits the owner to a single thread or a single thread per CPU. For some
15−tasks, however, more threads - or fewer - are required.
16−
17−There is just one pool per system. It contains no threads unless something
18−wants to use it - and that something must register its interest first. When
19−the pool is active, the number of threads it contains is dynamic, varying
20−between a maximum and minimum setting, depending on the load.
21−
22−
23−====================
24−CLASSES OF WORK ITEM
25−====================
26−
27−This pool support two classes of work items:
28−
29− (*) Slow work items.
30−
31− (*) Very slow work items.
32−
33−The former are expected to finish much quicker than the latter.
34−
35−An operation of the very slow class may do a batch combination of several
36−lookups, mkdirs, and a create for instance.
37−
38−An operation of the ordinarily slow class may, for example, write stuff or
39−expand files, provided the time taken to do so isn't too long.
40−
41−Operations of both types may sleep during execution, thus tying up the thread
42−loaned to it.
43−
44−A further class of work item is available, based on the slow work item class:
45−
46− (*) Delayed slow work items.
47−
48−These are slow work items that have a timer to defer queueing of the item for
49−a while.
50−
51−
52−THREAD-TO-CLASS ALLOCATION
53−--------------------------
54−
55−Not all the threads in the pool are available to work on very slow work items.
56−The number will be between one and one fewer than the number of active threads.
57−This is configurable (see the "Pool Configuration" section).
58−
59−All the threads are available to work on ordinarily slow work items, but a
60−percentage of the threads will prefer to work on very slow work items.
61−
62−The configuration ensures that at least one thread will be available to work on
63−very slow work items, and at least one thread will be available that won't work
64−on very slow work items at all.
65−
66−
67−=====================
68−USING SLOW WORK ITEMS
69−=====================
70−
71−Firstly, a module or subsystem wanting to make use of slow work items must
72−register its interest:
73−
74− int ret = slow_work_register_user(struct module *module);
75−
76−This will return 0 if successful, or a -ve error upon failure. The module
77−pointer should be the module interested in using this facility (almost
78−certainly THIS_MODULE).
79−
80−
81−Slow work items may then be set up by:
82−
83− (1) Declaring a slow_work struct type variable:
84−
85− #include <linux/slow-work.h>
86−
87− struct slow_work myitem;
88−
89− (2) Declaring the operations to be used for this item:
90−
91− struct slow_work_ops myitem_ops = {
92− .get_ref = myitem_get_ref,
93− .put_ref = myitem_put_ref,
94− .execute = myitem_execute,
95− };
96−
97− [*] For a description of the ops, see section "Item Operations".
98−
99− (3) Initialising the item:
100−
101− slow_work_init(&myitem, &myitem_ops);
102−
103− or:
104−
105− delayed_slow_work_init(&myitem, &myitem_ops);
106−
107− or:
108−
109− vslow_work_init(&myitem, &myitem_ops);
110−
111− depending on its class.
112−
113−A suitably set up work item can then be enqueued for processing:
114−
115− int ret = slow_work_enqueue(&myitem);
116−
117−This will return a -ve error if the thread pool is unable to gain a reference
118−on the item, 0 otherwise, or (for delayed work):
119−
120− int ret = delayed_slow_work_enqueue(&myitem, my_jiffy_delay);
121−
122−
123−The items are reference counted, so there ought to be no need for a flush
124−operation. But as the reference counting is optional, means to cancel
125−existing work items are also included:
126−
127− cancel_slow_work(&myitem);
128− cancel_delayed_slow_work(&myitem);
129−
130−can be used to cancel pending work. The above cancel function waits for
131−existing work to have been executed (or prevent execution of them, depending
132−on timing).
133−
134−
135−When all a module's slow work items have been processed, and the
136−module has no further interest in the facility, it should unregister its
137−interest:
138−
139− slow_work_unregister_user(struct module *module);
140−
141−The module pointer is used to wait for all outstanding work items for that
142−module before completing the unregistration. This prevents the put_ref() code
143−from being taken away before it completes. module should almost certainly be
144−THIS_MODULE.
145−
146−
147−================
148−HELPER FUNCTIONS
149−================
150−
151−The slow-work facility provides a function by which it can be determined
152−whether or not an item is queued for later execution:
153−
154− bool queued = slow_work_is_queued(struct slow_work *work);
155−
156−If it returns false, then the item is not on the queue (it may be executing
157−with a requeue pending). This can be used to work out whether an item on which
158−another depends is on the queue, thus allowing a dependent item to be queued
159−after it.
160−
161−If the above shows an item on which another depends not to be queued, then the
162−owner of the dependent item might need to wait. However, to avoid locking up
163−the threads unnecessarily be sleeping in them, it can make sense under some
164−circumstances to return the work item to the queue, thus deferring it until
165−some other items have had a chance to make use of the yielded thread.
166−
167−To yield a thread and defer an item, the work function should simply enqueue
168−the work item again and return. However, this doesn't work if there's nothing
169−actually on the queue, as the thread just vacated will jump straight back into
170−the item's work function, thus busy waiting on a CPU.
171−
172−Instead, the item should use the thread to wait for the dependency to go away,
173−but rather than using schedule() or schedule_timeout() to sleep, it should use
174−the following function:
175−
176− bool requeue = slow_work_sleep_till_thread_needed(
177− struct slow_work *work,
178− signed long *_timeout);
179−
180−This will add a second wait and then sleep, such that it will be woken up if
181−either something appears on the queue that could usefully make use of the
182−thread - and behind which this item can be queued, or if the event the caller
183−set up to wait for happens. True will be returned if something else appeared
184−on the queue and this work function should perhaps return, of false if
185−something else woke it up. The timeout is as for schedule_timeout().
186−
187−For example:
188−
189− wq = bit_waitqueue(&my_flags, MY_BIT);
190− init_wait(&wait);
191− requeue = false;
192− do {
193− prepare_to_wait(wq, &wait, TASK_UNINTERRUPTIBLE);
194− if (!test_bit(MY_BIT, &my_flags))
195− break;
196− requeue = slow_work_sleep_till_thread_needed(&my_work,
197− &timeout);
198− } while (timeout > 0 && !requeue);
199− finish_wait(wq, &wait);
200− if (!test_bit(MY_BIT, &my_flags)
201− goto do_my_thing;
202− if (requeue)
203− return; // to slow_work
204−
205−
206−===============
207−ITEM OPERATIONS
208−===============
209−
210−Each work item requires a table of operations of type struct slow_work_ops.
211−Only ->execute() is required; the getting and putting of a reference and the
212−describing of an item are all optional.
213−
214− (*) Get a reference on an item:
215−
216− int (*get_ref)(struct slow_work *work);
217−
218− This allows the thread pool to attempt to pin an item by getting a
219− reference on it. This function should return 0 if the reference was
220− granted, or a -ve error otherwise. If an error is returned,
221− slow_work_enqueue() will fail.
222−
223− The reference is held whilst the item is queued and whilst it is being
224− executed. The item may then be requeued with the same reference held, or
225− the reference will be released.
226−
227− (*) Release a reference on an item:
228−
229− void (*put_ref)(struct slow_work *work);
230−
231− This allows the thread pool to unpin an item by releasing the reference on
232− it. The thread pool will not touch the item again once this has been
233− called.
234−
235− (*) Execute an item:
236−
237− void (*execute)(struct slow_work *work);
238−
239− This should perform the work required of the item. It may sleep, it may
240− perform disk I/O and it may wait for locks.
241−
242− (*) View an item through /proc:
243−
244− void (*desc)(struct slow_work *work, struct seq_file *m);
245−
246− If supplied, this should print to 'm' a small string describing the work
247− the item is to do. This should be no more than about 40 characters, and
248− shouldn't include a newline character.
249−
250− See the 'Viewing executing and queued items' section below.
251−
252−
253−==================
254−POOL CONFIGURATION
255−==================
256−
257−The slow-work thread pool has a number of configurables:
258−
259− (*) /proc/sys/kernel/slow-work/min-threads
260−
261− The minimum number of threads that should be in the pool whilst it is in
262− use. This may be anywhere between 2 and max-threads.
263−
264− (*) /proc/sys/kernel/slow-work/max-threads
265−
266− The maximum number of threads that should in the pool. This may be
267− anywhere between min-threads and 255 or NR_CPUS * 2, whichever is greater.
268−
269− (*) /proc/sys/kernel/slow-work/vslow-percentage
270−
271− The percentage of active threads in the pool that may be used to execute
272− very slow work items. This may be between 1 and 99. The resultant number
273− is bounded to between 1 and one fewer than the number of active threads.
274− This ensures there is always at least one thread that can process very
275− slow work items, and always at least one thread that won't.
276−
277−
278−==================================
279−VIEWING EXECUTING AND QUEUED ITEMS
280−==================================
281−
282−If CONFIG_SLOW_WORK_DEBUG is enabled, a debugfs file is made available:
283−
284− /sys/kernel/debug/slow_work/runqueue
285−
286−through which the list of work items being executed and the queues of items to
287−be executed may be viewed. The owner of a work item is given the chance to
288−add some information of its own.
289−
290−The contents look something like the following:
291−
292− THR PID ITEM ADDR FL MARK DESC
293− === ===== ================ == ===== ==========
294− 0 3005 ffff880023f52348 a 952ms FSC: OBJ17d3: LOOK
295− 1 3006 ffff880024e33668 2 160ms FSC: OBJ17e5 OP60d3b: Write1/Store fl=2
296− 2 3165 ffff8800296dd180 a 424ms FSC: OBJ17e4: LOOK
297− 3 4089 ffff8800262c8d78 a 212ms FSC: OBJ17ea: CRTN
298− 4 4090 ffff88002792bed8 2 388ms FSC: OBJ17e8 OP60d36: Write1/Store fl=2
299− 5 4092 ffff88002a0ef308 2 388ms FSC: OBJ17e7 OP60d2e: Write1/Store fl=2
300− 6 4094 ffff88002abaf4b8 2 132ms FSC: OBJ17e2 OP60d4e: Write1/Store fl=2
301− 7 4095 ffff88002bb188e0 a 388ms FSC: OBJ17e9: CRTN
302− vsq - ffff880023d99668 1 308ms FSC: OBJ17e0 OP60f91: Write1/EnQ fl=2
303− vsq - ffff8800295d1740 1 212ms FSC: OBJ16be OP4d4b6: Write1/EnQ fl=2
304− vsq - ffff880025ba3308 1 160ms FSC: OBJ179a OP58dec: Write1/EnQ fl=2
305− vsq - ffff880024ec83e0 1 160ms FSC: OBJ17ae OP599f2: Write1/EnQ fl=2
306− vsq - ffff880026618e00 1 160ms FSC: OBJ17e6 OP60d33: Write1/EnQ fl=2
307− vsq - ffff880025a2a4b8 1 132ms FSC: OBJ16a2 OP4d583: Write1/EnQ fl=2
308− vsq - ffff880023cbe6d8 9 212ms FSC: OBJ17eb: LOOK
309− vsq - ffff880024d37590 9 212ms FSC: OBJ17ec: LOOK
310− vsq - ffff880027746cb0 9 212ms FSC: OBJ17ed: LOOK
311− vsq - ffff880024d37ae8 9 212ms FSC: OBJ17ee: LOOK
312− vsq - ffff880024d37cb0 9 212ms FSC: OBJ17ef: LOOK
313− vsq - ffff880025036550 9 212ms FSC: OBJ17f0: LOOK
314− vsq - ffff8800250368e0 9 212ms FSC: OBJ17f1: LOOK
315− vsq - ffff880025036aa8 9 212ms FSC: OBJ17f2: LOOK
316−
317−In the 'THR' column, executing items show the thread they're occupying and
318−queued threads indicate which queue they're on. 'PID' shows the process ID of
319−a slow-work thread that's executing something. 'FL' shows the work item flags.
320−'MARK' indicates how long since an item was queued or began executing. Lastly,
321−the 'DESC' column permits the owner of an item to give some information.
322−
Documentation/sound/alsa/ALSA-Configuration.txt+1−1
@@ -1285,7 +1285,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. · 1284 unmodified lines
12851285 about this driver. Note that it has been discontinued, but the
12861286 Voyetra Turtle Beach knowledge base entry for it is still available
12871287 at
1288− http://www.turtlebeach.com/site/kb_ftp/790.asp
1288+ http://www.turtlebeach.com
12891289
12901290 Module snd-msnd-pinnacle
12911291 ------------------------
Documentation/sound/alsa/HD-Audio-Models.txt+17−2
@@ -83,8 +83,8 @@ ALC269 · 82 unmodified lines
8383 ======
8484 basic Basic preset
8585 quanta Quanta FL1
86− eeepc-p703 ASUS Eeepc P703 P900A
87− eeepc-p901 ASUS Eeepc P901 S101
86+ laptop-amic Laptops with analog-mic input
87+ laptop-dmic Laptops with digital-mic input
8888 fujitsu FSC Amilo
8989 lifebook Fujitsu Lifebook S6420
9090 auto auto-config reading BIOS (default)
@@ -109,11 +109,18 @@ ALC662/663/272 · 18 unmodified lines
109109 asus-mode4 ASUS
110110 asus-mode5 ASUS
111111 asus-mode6 ASUS
112+ asus-mode7 ASUS
113+ asus-mode8 ASUS
112114 dell Dell with ALC272
113115 dell-zm1 Dell ZM1 with ALC272
114116 samsung-nc10 Samsung NC10 mini notebook
115117 auto auto-config reading BIOS (default)
116118
119+ALC680
120+======
121+ base Base model (ASUS NX90)
122+ auto auto-config reading BIOS (default)
123+
117124 ALC882/883/885/888/889
118125 ======================
119126 3stack-dig 3-jack with SPDIF I/O
@@ -282,6 +289,7 @@ Conexant 5051 · 162 unmodified lines
282289 hp HP Spartan laptop
283290 hp-dv6736 HP dv6736
284291 hp-f700 HP Compaq Presario F700
292+ ideapad Lenovo IdeaPad laptop
285293 lenovo-x200 Lenovo X200 laptop
286294 toshiba Toshiba Satellite M300
287295
@@ -289,8 +297,10 @@ Conexant 5066 · 1 unmodified line
289297 =============
290298 laptop Basic Laptop config (default)
291299 dell-laptop Dell laptops
300+ dell-vostro Dell Vostro
292301 olpc-xo-1_5 OLPC XO 1.5
293302 ideapad Lenovo IdeaPad U150
303+ thinkpad Lenovo Thinkpad
294304
295305 STAC9200
296306 ========
@@ -398,6 +408,7 @@ STAC92HD83* · 101 unmodified lines
398408 mic-ref Reference board with power management for ports
399409 dell-s14 Dell laptop
400410 hp HP laptops with (inverted) mute-LED
411+ hp-dv7-4000 HP dv-7 4000
401412 auto BIOS setup (default)
402413
403414 STAC9872
@@ -410,3 +421,7 @@ Cirrus Logic CS4206/4207 · 6 unmodified lines
410421 mbp55 MacBook Pro 5,5
411422 imac27 IMac 27 Inch
412423 auto BIOS setup (default)
424+
425+VIA VT17xx/VT18xx/VT20xx
426+========================
427+ auto BIOS setup (default)
Documentation/sound/alsa/HD-Audio.txt+1−1
@@ -562,7 +562,7 @@ compare the codec registers directly. · 561 unmodified lines
562562 Send a bug report either the followings:
563563
564564 kernel-bugzilla::
565− http://bugme.linux-foundation.org/
565+ https://bugzilla.kernel.org/
566566 alsa-devel ML::
567567 alsa-devel@alsa-project.org
568568
Documentation/sound/alsa/Procfile.txt+8−0
@@ -103,6 +103,8 @@ card*/pcm*/xrun_debug · 102 unmodified lines
103103 bit 2 = Enable additional jiffies check
104104 bit 3 = Log hwptr update at each period interrupt
105105 bit 4 = Log hwptr update at each snd_pcm_update_hw_ptr()
106+ bit 5 = Show last 10 positions on error
107+ bit 6 = Do above only once
106108
107109 When the bit 0 is set, the driver will show the messages to
108110 kernel log when an xrun is detected. The debug message is
@@ -122,6 +124,12 @@ card*/pcm*/xrun_debug · 13 unmodified lines
122124 Bits 3 and 4 are for logging the hwptr records. Note that
123125 these will give flood of kernel messages.
124126
127+ When bit 5 is set, the driver logs the last 10 xrun errors and
128+ the proc file shows each jiffies, position, period_size,
129+ buffer_size, old_hw_ptr, and hw_ptr_base values.
130+
131+ When bit 6 is set, the full xrun log is shown only once.
132+
125133 card*/pcm*/sub*/info
126134 The general information of this PCM sub-stream.
127135
Documentation/sound/alsa/alsa-parameters.txt+135−0
@@ -0,0 +1,135 @@
1+ ALSA Kernel Parameters
2+ ~~~~~~~~~~~~~~~~~~~~~~
3+
4+See Documentation/kernel-parameters.txt for general information on
5+specifying module parameters.
6+
7+This document may not be entirely up to date and comprehensive. The command
8+"modinfo -p ${modulename}" shows a current list of all parameters of a loadable
9+module. Loadable modules, after being loaded into the running kernel, also
10+reveal their parameters in /sys/module/${modulename}/parameters/. Some of these
11+parameters may be changed at runtime by the command
12+"echo -n ${value} > /sys/module/${modulename}/parameters/${parm}".
13+
14+
15+ snd-ad1816a= [HW,ALSA]
16+
17+ snd-ad1848= [HW,ALSA]
18+
19+ snd-ali5451= [HW,ALSA]
20+
21+ snd-als100= [HW,ALSA]
22+
23+ snd-als4000= [HW,ALSA]
24+
25+ snd-azt2320= [HW,ALSA]
26+
27+ snd-cmi8330= [HW,ALSA]
28+
29+ snd-cmipci= [HW,ALSA]
30+
31+ snd-cs4231= [HW,ALSA]
32+
33+ snd-cs4232= [HW,ALSA]
34+
35+ snd-cs4236= [HW,ALSA]
36+
37+ snd-cs4281= [HW,ALSA]
38+
39+ snd-cs46xx= [HW,ALSA]
40+
41+ snd-dt019x= [HW,ALSA]
42+
43+ snd-dummy= [HW,ALSA]
44+
45+ snd-emu10k1= [HW,ALSA]
46+
47+ snd-ens1370= [HW,ALSA]
48+
49+ snd-ens1371= [HW,ALSA]
50+
51+ snd-es968= [HW,ALSA]
52+
53+ snd-es1688= [HW,ALSA]
54+
55+ snd-es18xx= [HW,ALSA]
56+
57+ snd-es1938= [HW,ALSA]
58+
59+ snd-es1968= [HW,ALSA]
60+
61+ snd-fm801= [HW,ALSA]
62+
63+ snd-gusclassic= [HW,ALSA]
64+
65+ snd-gusextreme= [HW,ALSA]
66+
67+ snd-gusmax= [HW,ALSA]
68+
69+ snd-hdsp= [HW,ALSA]
70+
71+ snd-ice1712= [HW,ALSA]
72+
73+ snd-intel8x0= [HW,ALSA]
74+
75+ snd-interwave= [HW,ALSA]
76+
77+ snd-interwave-stb=
78+ [HW,ALSA]
79+
80+ snd-korg1212= [HW,ALSA]
81+
82+ snd-maestro3= [HW,ALSA]
83+
84+ snd-mpu401= [HW,ALSA]
85+
86+ snd-mtpav= [HW,ALSA]
87+
88+ snd-nm256= [HW,ALSA]
89+
90+ snd-opl3sa2= [HW,ALSA]
91+
92+ snd-opti92x-ad1848=
93+ [HW,ALSA]
94+
95+ snd-opti92x-cs4231=
96+ [HW,ALSA]
97+
98+ snd-opti93x= [HW,ALSA]
99+
100+ snd-pmac= [HW,ALSA]
101+
102+ snd-rme32= [HW,ALSA]
103+
104+ snd-rme96= [HW,ALSA]
105+
106+ snd-rme9652= [HW,ALSA]
107+
108+ snd-sb8= [HW,ALSA]
109+
110+ snd-sb16= [HW,ALSA]
111+
112+ snd-sbawe= [HW,ALSA]
113+
114+ snd-serial= [HW,ALSA]
115+
116+ snd-sgalaxy= [HW,ALSA]
117+
118+ snd-sonicvibes= [HW,ALSA]
119+
120+ snd-sun-amd7930=
121+ [HW,ALSA]
122+
123+ snd-sun-cs4231= [HW,ALSA]
124+
125+ snd-trident= [HW,ALSA]
126+
127+ snd-usb-audio= [HW,ALSA,USB]
128+
129+ snd-via82xx= [HW,ALSA]
130+
131+ snd-virmidi= [HW,ALSA]
132+
133+ snd-wavefront= [HW,ALSA]
134+
135+ snd-ymfpci= [HW,ALSA]
Documentation/sound/alsa/soc/DAI.txt+1−1
@@ -13,7 +13,7 @@ frame (FRAME) (usually 48kHz) is always driven by the controller. Each AC97 · 12 unmodified lines
1313 frame is 21uS long and is divided into 13 time slots.
1414
1515 The AC97 specification can be found at :-
16−http://www.intel.com/design/chipsets/audio/ac97_r23.pdf
16+http://www.intel.com/p/en_US/business/design
1717
1818
1919 I2S
Documentation/sound/alsa/soc/codec.txt+1−1
@@ -143,7 +143,7 @@ struct snd_soc_ops { · 142 unmodified lines
143143 };
144144
145145 Please refer to the ALSA driver PCM documentation for details.
146−http://www.alsa-project.org/~iwai/writing-an-alsa-driver/c436.htm
146+http://www.alsa-project.org/~iwai/writing-an-alsa-driver/
147147
148148
149149 5 - DAPM description.
Documentation/sound/alsa/soc/platform.txt+1−1
@@ -39,7 +39,7 @@ struct snd_soc_platform { · 38 unmodified lines
3939 };
4040
4141 Please refer to the ALSA driver documentation for details of audio DMA.
42−http://www.alsa-project.org/~iwai/writing-an-alsa-driver/c436.htm
42+http://www.alsa-project.org/~iwai/writing-an-alsa-driver/
4343
4444 An example DMA driver is soc/pxa/pxa2xx-pcm.c
4545
Documentation/sound/oss/README.OSS+2−3
@@ -36,7 +36,7 @@ with OSS API. · 35 unmodified lines
3636
3737 Packages "snd-util-3.8.tar.gz" and "snd-data-0.1.tar.Z"
3838 contain useful utilities to be used with this driver.
39−See http://www.opensound.com/ossfree/getting.html for
39+See http://www.opensound.com/ossfree/ for
4040 download instructions.
4141
4242 If you are looking for the installation instructions, please
@@ -1438,7 +1438,7 @@ of this driver (see http://www.4Front-tech.com/oss.html for more info). · 1395 unmodified lines
14381438 There are some common audio chipsets that are not supported yet. For example
14391439 Sierra Aria and IBM Mwave. It's possible that these architectures
14401440 get some support in future but I can't make any promises. Just look
1441−at the home page (http://www.opensound.com/ossfree/new_cards.html)
1441+at the home page (http://www.opensound.com/ossfree/)
14421442 for latest info.
14431443
14441444 Information about unsupported sound cards and chipsets is welcome as well
@@ -1449,7 +1449,6 @@ If you have any corrections and/or comments, please contact me. · 4 unmodified lines
14491449 Hannu Savolainen
14501450 hannu@opensound.com
14511451
1452−Personal home page: http://www.compusonic.fi/~hannu
14531452 home page of OSS/Free: http://www.opensound.com/ossfree
14541453
14551454 home page of commercial OSS
Documentation/sound/oss/oss-parameters.txt+51−0
@@ -0,0 +1,51 @@
1+ OSS Kernel Parameters
2+ ~~~~~~~~~~~~~~~~~~~~~
3+
4+See Documentation/kernel-parameters.txt for general information on
5+specifying module parameters.
6+
7+This document may not be entirely up to date and comprehensive. The command
8+"modinfo -p ${modulename}" shows a current list of all parameters of a loadable
9+module. Loadable modules, after being loaded into the running kernel, also
10+reveal their parameters in /sys/module/${modulename}/parameters/. Some of these
11+parameters may be changed at runtime by the command
12+"echo -n ${value} > /sys/module/${modulename}/parameters/${parm}".
13+
14+
15+ ad1848= [HW,OSS]
16+ Format: <io>,<irq>,<dma>,<dma2>,<type>
17+
18+ aedsp16= [HW,OSS] Audio Excel DSP 16
19+ Format: <io>,<irq>,<dma>,<mss_io>,<mpu_io>,<mpu_irq>
20+ See also header of sound/oss/aedsp16.c.
21+
22+ dmasound= [HW,OSS] Sound subsystem buffers
23+
24+ mpu401= [HW,OSS]
25+ Format: <io>,<irq>
26+
27+ opl3= [HW,OSS]
28+ Format: <io>
29+
30+ pas2= [HW,OSS] Format:
31+ <io>,<irq>,<dma>,<dma16>,<sb_io>,<sb_irq>,<sb_dma>,<sb_dma16>
32+
33+ pss= [HW,OSS] Personal Sound System (ECHO ESC614)
34+ Format:
35+ <io>,<mss_io>,<mss_irq>,<mss_dma>,<mpu_io>,<mpu_irq>
36+
37+ sscape= [HW,OSS]
38+ Format: <io>,<irq>,<dma>,<mpu_io>,<mpu_irq>
39+
40+ trix= [HW,OSS] MediaTrix AudioTrix Pro
41+ Format:
42+ <io>,<irq>,<dma>,<dma2>,<sb_io>,<sb_irq>,<sb_dma>,<mpu_io>,<mpu_irq>
43+
44+ uart401= [HW,OSS]
45+ Format: <io>,<irq>
46+
47+ uart6850= [HW,OSS]
48+ Format: <io>,<irq>
49+
50+ waveartist= [HW,OSS]
51+ Format: <io>,<irq>,<dma>,<dma2>
Documentation/sparse.txt+1−1
@@ -1,5 +1,5 @@
11 Copyright 2004 Linus Torvalds
2−Copyright 2004 Pavel Machek <pavel@suse.cz>
2+Copyright 2004 Pavel Machek <pavel@ucw.cz>
33 Copyright 2006 Bob Copeland <me@bobcopeland.com>
44
55 Using sparse for typechecking
Documentation/sysctl/vm.txt+2−2
@@ -196,7 +196,7 @@ controlled by this knob are discussed in Documentation/laptops/laptop-mode.txt. · 195 unmodified lines
196196
197197 legacy_va_layout
198198
199−If non-zero, this sysctl disables the new 32-bit mmap mmap layout - the kernel
199+If non-zero, this sysctl disables the new 32-bit mmap layout - the kernel
200200 will use the legacy (2.4) layout for all processes.
201201
202202 ==============================================================
@@ -511,7 +511,7 @@ information may not be desired. · 308 unmodified lines
511511 If this is set to non-zero, this information is shown whenever the
512512 OOM killer actually kills a memory-hogging task.
513513
514−The default value is 0.
514+The default value is 1 (enabled).
515515
516516 ==============================================================
517517
Documentation/telephony/ixj.txt+2−7
@@ -108,14 +108,9 @@ applications. · 107 unmodified lines
108108
109109 1.4 Where to get things
110110
111−You can download the latest versions of the driver from:
112−
113−http://www.quicknet.net/develop.htm
114−
115−You can download the latest version of this document from:
116−
117−http://www.quicknet.net/develop.htm
111+Info on latest versions of the driver are here:
118112
113+http://web.archive.org/web/*/http://www.quicknet.net/develop.htm
119114
120115 1.5 Mailing List
121116
Documentation/timers/timers-howto.txt+105−0
@@ -0,0 +1,105 @@
1+delays - Information on the various kernel delay / sleep mechanisms
2+-------------------------------------------------------------------
3+
4+This document seeks to answer the common question: "What is the
5+RightWay (TM) to insert a delay?"
6+
7+This question is most often faced by driver writers who have to
8+deal with hardware delays and who may not be the most intimately
9+familiar with the inner workings of the Linux Kernel.
10+
11+
12+Inserting Delays
13+----------------
14+
15+The first, and most important, question you need to ask is "Is my
16+code in an atomic context?" This should be followed closely by "Does
17+it really need to delay in atomic context?" If so...
18+
19+ATOMIC CONTEXT:
20+ You must use the *delay family of functions. These
21+ functions use the jiffie estimation of clock speed
22+ and will busy wait for enough loop cycles to achieve
23+ the desired delay:
24+
25+ ndelay(unsigned long nsecs)
26+ udelay(unsigned long usecs)
27+ mdelay(unsgined long msecs)
28+
29+ udelay is the generally preferred API; ndelay-level
30+ precision may not actually exist on many non-PC devices.
31+
32+ mdelay is macro wrapper around udelay, to account for
33+ possible overflow when passing large arguments to udelay.
34+ In general, use of mdelay is discouraged and code should
35+ be refactored to allow for the use of msleep.
36+
37+NON-ATOMIC CONTEXT:
38+ You should use the *sleep[_range] family of functions.
39+ There are a few more options here, while any of them may
40+ work correctly, using the "right" sleep function will
41+ help the scheduler, power management, and just make your
42+ driver better :)
43+
44+ -- Backed by busy-wait loop:
45+ udelay(unsigned long usecs)
46+ -- Backed by hrtimers:
47+ usleep_range(unsigned long min, unsigned long max)
48+ -- Backed by jiffies / legacy_timers
49+ msleep(unsigned long msecs)
50+ msleep_interruptible(unsigned long msecs)
51+
52+ Unlike the *delay family, the underlying mechanism
53+ driving each of these calls varies, thus there are
54+ quirks you should be aware of.
55+
56+
57+ SLEEPING FOR "A FEW" USECS ( < ~10us? ):
58+ * Use udelay
59+
60+ - Why not usleep?
61+ On slower systems, (embedded, OR perhaps a speed-
62+ stepped PC!) the overhead of setting up the hrtimers
63+ for usleep *may* not be worth it. Such an evaluation
64+ will obviously depend on your specific situation, but
65+ it is something to be aware of.
66+
67+ SLEEPING FOR ~USECS OR SMALL MSECS ( 10us - 20ms):
68+ * Use usleep_range
69+
70+ - Why not msleep for (1ms - 20ms)?
71+ Explained originally here:
72+ http://lkml.org/lkml/2007/8/3/250
73+ msleep(1~20) may not do what the caller intends, and
74+ will often sleep longer (~20 ms actual sleep for any
75+ value given in the 1~20ms range). In many cases this
76+ is not the desired behavior.
77+
78+ - Why is there no "usleep" / What is a good range?
79+ Since usleep_range is built on top of hrtimers, the
80+ wakeup will be very precise (ish), thus a simple
81+ usleep function would likely introduce a large number
82+ of undesired interrupts.
83+
84+ With the introduction of a range, the scheduler is
85+ free to coalesce your wakeup with any other wakeup
86+ that may have happened for other reasons, or at the
87+ worst case, fire an interrupt for your upper bound.
88+
89+ The larger a range you supply, the greater a chance
90+ that you will not trigger an interrupt; this should
91+ be balanced with what is an acceptable upper bound on
92+ delay / performance for your specific code path. Exact
93+ tolerances here are very situation specific, thus it
94+ is left to the caller to determine a reasonable range.
95+
96+ SLEEPING FOR LARGER MSECS ( 10ms+ )
97+ * Use msleep or possibly msleep_interruptible
98+
99+ - What's the difference?
100+ msleep sets the current task to TASK_UNINTERRUPTIBLE
101+ whereas msleep_interruptible sets the current task to
102+ TASK_INTERRUPTIBLE before scheduling the sleep. In
103+ short, the difference is whether the sleep can be ended
104+ early by a signal. In general, just use msleep unless
105+ you know you have a need for the interruptible variant.
Documentation/tomoyo.txt+5−5
@@ -3,8 +3,8 @@ · 2 unmodified lines
33 TOMOYO is a name-based MAC extension (LSM module) for the Linux kernel.
44
55 LiveCD-based tutorials are available at
6−http://tomoyo.sourceforge.jp/en/1.6.x/1st-step/ubuntu8.04-live/
7−http://tomoyo.sourceforge.jp/en/1.6.x/1st-step/centos5-live/ .
6+http://tomoyo.sourceforge.jp/1.7/1st-step/ubuntu10.04-live/
7+http://tomoyo.sourceforge.jp/1.7/1st-step/centos5-live/ .
88 Though these tutorials use non-LSM version of TOMOYO, they are useful for you
99 to know what TOMOYO is.
1010
@@ -13,12 +13,12 @@ to know what TOMOYO is. · 2 unmodified lines
1313 Build the kernel with CONFIG_SECURITY_TOMOYO=y and pass "security=tomoyo" on
1414 kernel's command line.
1515
16−Please see http://tomoyo.sourceforge.jp/en/2.2.x/ for details.
16+Please see http://tomoyo.sourceforge.jp/2.3/ for details.
1717
1818 --- Where is documentation? ---
1919
2020 User <-> Kernel interface documentation is available at
21−http://tomoyo.sourceforge.jp/en/2.2.x/policy-reference.html .
21+http://tomoyo.sourceforge.jp/2.3/policy-reference.html .
2222
2323 Materials we prepared for seminars and symposiums are available at
2424 http://sourceforge.jp/projects/tomoyo/docs/?category_id=532&language_id=1 .
@@ -50,6 +50,6 @@ multiple LSM modules at the same time. We feel sorry that you have to give up · 25 unmodified lines
5050 SELinux/SMACK/AppArmor etc. when you want to use TOMOYO.
5151
5252 We hope that LSM becomes stackable in future. Meanwhile, you can use non-LSM
53−version of TOMOYO, available at http://tomoyo.sourceforge.jp/en/1.6.x/ .
53+version of TOMOYO, available at http://tomoyo.sourceforge.jp/1.7/ .
5454 LSM version of TOMOYO is a subset of non-LSM version of TOMOYO. We are planning
5555 to port non-LSM version's functionalities to LSM versions.
Documentation/trace/ftrace-design.txt+148−5
@@ -13,6 +13,9 @@ Note that this focuses on architecture implementation details only. If you · 12 unmodified lines
1313 want more explanation of a feature in terms of common code, review the common
1414 ftrace.txt file.
1515
16+Ideally, everyone who wishes to retain performance while supporting tracing in
17+their kernel should make it all the way to dynamic ftrace support.
18+
1619
1720 Prerequisites
1821 -------------
@@ -215,7 +218,7 @@ An arch may pass in a unique value (frame pointer) to both the entering and · 196 unmodified lines
215218 exiting of a function. On exit, the value is compared and if it does not
216219 match, then it will panic the kernel. This is largely a sanity check for bad
217220 code generation with gcc. If gcc for your port sanely updates the frame
218−pointer under different opitmization levels, then ignore this option.
221+pointer under different optimization levels, then ignore this option.
219222
220223 However, adding support for it isn't terribly difficult. In your assembly code
221224 that calls prepare_ftrace_return(), pass the frame pointer as the 3rd argument.
@@ -234,7 +237,7 @@ If you can't trace NMI functions, then skip this option. · 12 unmodified lines
234237
235238
236239 HAVE_SYSCALL_TRACEPOINTS
237−---------------------
240+------------------------
238241
239242 You need very few things to get the syscalls tracing in an arch.
240243
@@ -250,12 +253,152 @@ You need very few things to get the syscalls tracing in an arch. · 9 unmodified lines
250253 HAVE_FTRACE_MCOUNT_RECORD
251254 -------------------------
252255
253−See scripts/recordmcount.pl for more info.
256+See scripts/recordmcount.pl for more info. Just fill in the arch-specific
257+details for how to locate the addresses of mcount call sites via objdump.
258+This option doesn't make much sense without also implementing dynamic ftrace.
254259
260+
261+HAVE_DYNAMIC_FTRACE
262+-------------------
263+
264+You will first need HAVE_FTRACE_MCOUNT_RECORD and HAVE_FUNCTION_TRACER, so
265+scroll your reader back up if you got over eager.
266+
267+Once those are out of the way, you will need to implement:
268+ - asm/ftrace.h:
269+ - MCOUNT_ADDR
270+ - ftrace_call_adjust()
271+ - struct dyn_arch_ftrace{}
272+ - asm code:
273+ - mcount() (new stub)
274+ - ftrace_caller()
275+ - ftrace_call()
276+ - ftrace_stub()
277+ - C code:
278+ - ftrace_dyn_arch_init()
279+ - ftrace_make_nop()
280+ - ftrace_make_call()
281+ - ftrace_update_ftrace_func()
282+
283+First you will need to fill out some arch details in your asm/ftrace.h.
284+
285+Define MCOUNT_ADDR as the address of your mcount symbol similar to:
286+ #define MCOUNT_ADDR ((unsigned long)mcount)
287+Since no one else will have a decl for that function, you will need to:
288+ extern void mcount(void);
289+
290+You will also need the helper function ftrace_call_adjust(). Most people
291+will be able to stub it out like so:
292+ static inline unsigned long ftrace_call_adjust(unsigned long addr)
293+ {
294+ return addr;
295+ }
255296 <details to be filled>
256297
298+Lastly you will need the custom dyn_arch_ftrace structure. If you need
299+some extra state when runtime patching arbitrary call sites, this is the
300+place. For now though, create an empty struct:
301+ struct dyn_arch_ftrace {
302+ /* No extra data needed */
303+ };
304+
305+With the header out of the way, we can fill out the assembly code. While we
306+did already create a mcount() function earlier, dynamic ftrace only wants a
307+stub function. This is because the mcount() will only be used during boot
308+and then all references to it will be patched out never to return. Instead,
309+the guts of the old mcount() will be used to create a new ftrace_caller()
310+function. Because the two are hard to merge, it will most likely be a lot
311+easier to have two separate definitions split up by #ifdefs. Same goes for
312+the ftrace_stub() as that will now be inlined in ftrace_caller().
313+
314+Before we get confused anymore, let's check out some pseudo code so you can
315+implement your own stuff in assembly:
257316
258−HAVE_DYNAMIC_FTRACE
259−---------------------
317+void mcount(void)
318+{
319+ return;
320+}
321+
322+void ftrace_caller(void)
323+{
324+ /* implement HAVE_FUNCTION_TRACE_MCOUNT_TEST if you desire */
325+
326+ /* save all state needed by the ABI (see paragraph above) */
327+
328+ unsigned long frompc = ...;
329+ unsigned long selfpc = <return address> - MCOUNT_INSN_SIZE;
330+
331+ftrace_call:
332+ ftrace_stub(frompc, selfpc);
333+
334+ /* restore all state needed by the ABI */
335+
336+ftrace_stub:
337+ return;
338+}
339+
340+This might look a little odd at first, but keep in mind that we will be runtime
341+patching multiple things. First, only functions that we actually want to trace
342+will be patched to call ftrace_caller(). Second, since we only have one tracer
343+active at a time, we will patch the ftrace_caller() function itself to call the
344+specific tracer in question. That is the point of the ftrace_call label.
345+
346+With that in mind, let's move on to the C code that will actually be doing the
347+runtime patching. You'll need a little knowledge of your arch's opcodes in
348+order to make it through the next section.
349+
350+Every arch has an init callback function. If you need to do something early on
351+to initialize some state, this is the time to do that. Otherwise, this simple
352+function below should be sufficient for most people:
353+
354+int __init ftrace_dyn_arch_init(void *data)
355+{
356+ /* return value is done indirectly via data */
357+ *(unsigned long *)data = 0;
358+
359+ return 0;
360+}
361+
362+There are two functions that are used to do runtime patching of arbitrary
363+functions. The first is used to turn the mcount call site into a nop (which
364+is what helps us retain runtime performance when not tracing). The second is
365+used to turn the mcount call site into a call to an arbitrary location (but
366+typically that is ftracer_caller()). See the general function definition in
367+linux/ftrace.h for the functions:
368+ ftrace_make_nop()
369+ ftrace_make_call()
370+The rec->ip value is the address of the mcount call site that was collected
371+by the scripts/recordmcount.pl during build time.
372+
373+The last function is used to do runtime patching of the active tracer. This
374+will be modifying the assembly code at the location of the ftrace_call symbol
375+inside of the ftrace_caller() function. So you should have sufficient padding
376+at that location to support the new function calls you'll be inserting. Some
377+people will be using a "call" type instruction while others will be using a
378+"branch" type instruction. Specifically, the function is:
379+ ftrace_update_ftrace_func()
380+
381+
382+HAVE_DYNAMIC_FTRACE + HAVE_FUNCTION_GRAPH_TRACER
383+------------------------------------------------
384+
385+The function grapher needs a few tweaks in order to work with dynamic ftrace.
386+Basically, you will need to:
387+ - update:
388+ - ftrace_caller()
389+ - ftrace_graph_call()
390+ - ftrace_graph_caller()
391+ - implement:
392+ - ftrace_enable_ftrace_graph_caller()
393+ - ftrace_disable_ftrace_graph_caller()
260394
261395 <details to be filled>
396+Quick notes:
397+ - add a nop stub after the ftrace_call location named ftrace_graph_call;
398+ stub needs to be large enough to support a call to ftrace_graph_caller()
399+ - update ftrace_graph_caller() to work with being called by the new
400+ ftrace_caller() since some semantics may have changed
401+ - ftrace_enable_ftrace_graph_caller() will runtime patch the
402+ ftrace_graph_call location with a call to ftrace_graph_caller()
403+ - ftrace_disable_ftrace_graph_caller() will runtime patch the
404+ ftrace_graph_call location with nops
Documentation/trace/kmemtrace.txt+0−126
@@ -1,126 +0,0 @@
1− kmemtrace - Kernel Memory Tracer
2−
3− by Eduard - Gabriel Munteanu
4− <eduard.munteanu@linux360.ro>
5−
6−I. Introduction
7−===============
8−
9−kmemtrace helps kernel developers figure out two things:
10−1) how different allocators (SLAB, SLUB etc.) perform
11−2) how kernel code allocates memory and how much
12−
13−To do this, we trace every allocation and export information to the userspace
14−through the relay interface. We export things such as the number of requested
15−bytes, the number of bytes actually allocated (i.e. including internal
16−fragmentation), whether this is a slab allocation or a plain kmalloc() and so
17−on.
18−
19−The actual analysis is performed by a userspace tool (see section III for
20−details on where to get it from). It logs the data exported by the kernel,
21−processes it and (as of writing this) can provide the following information:
22−- the total amount of memory allocated and fragmentation per call-site
23−- the amount of memory allocated and fragmentation per allocation
24−- total memory allocated and fragmentation in the collected dataset
25−- number of cross-CPU allocation and frees (makes sense in NUMA environments)
26−
27−Moreover, it can potentially find inconsistent and erroneous behavior in
28−kernel code, such as using slab free functions on kmalloc'ed memory or
29−allocating less memory than requested (but not truly failed allocations).
30−
31−kmemtrace also makes provisions for tracing on some arch and analysing the
32−data on another.
33−
34−II. Design and goals
35−====================
36−
37−kmemtrace was designed to handle rather large amounts of data. Thus, it uses
38−the relay interface to export whatever is logged to userspace, which then
39−stores it. Analysis and reporting is done asynchronously, that is, after the
40−data is collected and stored. By design, it allows one to log and analyse
41−on different machines and different arches.
42−
43−As of writing this, the ABI is not considered stable, though it might not
44−change much. However, no guarantees are made about compatibility yet. When
45−deemed stable, the ABI should still allow easy extension while maintaining
46−backward compatibility. This is described further in Documentation/ABI.
47−
48−Summary of design goals:
49− - allow logging and analysis to be done across different machines
50− - be fast and anticipate usage in high-load environments (*)
51− - be reasonably extensible
52− - make it possible for GNU/Linux distributions to have kmemtrace
53− included in their repositories
54−
55−(*) - one of the reasons Pekka Enberg's original userspace data analysis
56− tool's code was rewritten from Perl to C (although this is more than a
57− simple conversion)
58−
59−
60−III. Quick usage guide
61−======================
62−
63−1) Get a kernel that supports kmemtrace and build it accordingly (i.e. enable
64−CONFIG_KMEMTRACE).
65−
66−2) Get the userspace tool and build it:
67−$ git clone git://repo.or.cz/kmemtrace-user.git # current repository
68−$ cd kmemtrace-user/
69−$ ./autogen.sh
70−$ ./configure
71−$ make
72−
73−3) Boot the kmemtrace-enabled kernel if you haven't, preferably in the
74−'single' runlevel (so that relay buffers don't fill up easily), and run
75−kmemtrace:
76−# '$' does not mean user, but root here.
77−$ mount -t debugfs none /sys/kernel/debug
78−$ mount -t proc none /proc
79−$ cd path/to/kmemtrace-user/
80−$ ./kmemtraced
81−Wait a bit, then stop it with CTRL+C.
82−$ cat /sys/kernel/debug/kmemtrace/total_overruns # Check if we didn't
83− # overrun, should
84− # be zero.
85−$ (Optionally) [Run kmemtrace_check separately on each cpu[0-9]*.out file to
86− check its correctness]
87−$ ./kmemtrace-report
88−
89−Now you should have a nice and short summary of how the allocator performs.
90−
91−IV. FAQ and known issues
92−========================
93−
94−Q: 'cat /sys/kernel/debug/kmemtrace/total_overruns' is non-zero, how do I fix
95−this? Should I worry?
96−A: If it's non-zero, this affects kmemtrace's accuracy, depending on how
97−large the number is. You can fix it by supplying a higher
98−'kmemtrace.subbufs=N' kernel parameter.
99−---
100−
101−Q: kmemtrace_check reports errors, how do I fix this? Should I worry?
102−A: This is a bug and should be reported. It can occur for a variety of
103−reasons:
104− - possible bugs in relay code
105− - possible misuse of relay by kmemtrace
106− - timestamps being collected unorderly
107−Or you may fix it yourself and send us a patch.
108−---
109−
110−Q: kmemtrace_report shows many errors, how do I fix this? Should I worry?
111−A: This is a known issue and I'm working on it. These might be true errors
112−in kernel code, which may have inconsistent behavior (e.g. allocating memory
113−with kmem_cache_alloc() and freeing it with kfree()). Pekka Enberg pointed
114−out this behavior may work with SLAB, but may fail with other allocators.
115−
116−It may also be due to lack of tracing in some unusual allocator functions.
117−
118−We don't want bug reports regarding this issue yet.
119−---
120−
121−V. See also
122−===========
123−
124−Documentation/kernel-parameters.txt
125−Documentation/ABI/testing/debugfs-kmemtrace
126−
Documentation/trace/kprobetrace.txt+1−1
@@ -42,7 +42,7 @@ Synopsis of kprobe_events · 41 unmodified lines
4242 +|-offs(FETCHARG) : Fetch memory at FETCHARG +|- offs address.(**)
4343 NAME=FETCHARG : Set NAME as the argument name of FETCHARG.
4444 FETCHARG:TYPE : Set TYPE as the type of FETCHARG. Currently, basic types
45− (u8/u16/u32/u64/s8/s16/s32/s64) are supported.
45+ (u8/u16/u32/u64/s8/s16/s32/s64) and string are supported.
4646
4747 (*) only for return probe.
4848 (**) this is useful for fetching a field of data structures.
Documentation/trace/postprocess/trace-vmscan-postprocess.pl+686−0
@@ -0,0 +1,686 @@
1+#!/usr/bin/perl
2+# This is a POC for reading the text representation of trace output related to
3+# page reclaim. It makes an attempt to extract some high-level information on
4+# what is going on. The accuracy of the parser may vary
5+#
6+# Example usage: trace-vmscan-postprocess.pl < /sys/kernel/debug/tracing/trace_pipe
7+# other options
8+# --read-procstat If the trace lacks process info, get it from /proc
9+# --ignore-pid Aggregate processes of the same name together
10+#
11+# Copyright (c) IBM Corporation 2009
12+# Author: Mel Gorman <mel@csn.ul.ie>
13+use strict;
14+use Getopt::Long;
15+
16+# Tracepoint events
17+use constant MM_VMSCAN_DIRECT_RECLAIM_BEGIN => 1;
18+use constant MM_VMSCAN_DIRECT_RECLAIM_END => 2;
19+use constant MM_VMSCAN_KSWAPD_WAKE => 3;
20+use constant MM_VMSCAN_KSWAPD_SLEEP => 4;
21+use constant MM_VMSCAN_LRU_SHRINK_ACTIVE => 5;
22+use constant MM_VMSCAN_LRU_SHRINK_INACTIVE => 6;
23+use constant MM_VMSCAN_LRU_ISOLATE => 7;
24+use constant MM_VMSCAN_WRITEPAGE_FILE_SYNC => 8;
25+use constant MM_VMSCAN_WRITEPAGE_ANON_SYNC => 9;
26+use constant MM_VMSCAN_WRITEPAGE_FILE_ASYNC => 10;
27+use constant MM_VMSCAN_WRITEPAGE_ANON_ASYNC => 11;
28+use constant MM_VMSCAN_WRITEPAGE_ASYNC => 12;
29+use constant EVENT_UNKNOWN => 13;
30+
31+# Per-order events
32+use constant MM_VMSCAN_DIRECT_RECLAIM_BEGIN_PERORDER => 11;
33+use constant MM_VMSCAN_WAKEUP_KSWAPD_PERORDER => 12;
34+use constant MM_VMSCAN_KSWAPD_WAKE_PERORDER => 13;
35+use constant HIGH_KSWAPD_REWAKEUP_PERORDER => 14;
36+
37+# Constants used to track state
38+use constant STATE_DIRECT_BEGIN => 15;
39+use constant STATE_DIRECT_ORDER => 16;
40+use constant STATE_KSWAPD_BEGIN => 17;
41+use constant STATE_KSWAPD_ORDER => 18;
42+
43+# High-level events extrapolated from tracepoints
44+use constant HIGH_DIRECT_RECLAIM_LATENCY => 19;
45+use constant HIGH_KSWAPD_LATENCY => 20;
46+use constant HIGH_KSWAPD_REWAKEUP => 21;
47+use constant HIGH_NR_SCANNED => 22;
48+use constant HIGH_NR_TAKEN => 23;
49+use constant HIGH_NR_RECLAIM => 24;
50+use constant HIGH_NR_CONTIG_DIRTY => 25;
51+
52+my %perprocesspid;
53+my %perprocess;
54+my %last_procmap;
55+my $opt_ignorepid;
56+my $opt_read_procstat;
57+
58+my $total_wakeup_kswapd;
59+my ($total_direct_reclaim, $total_direct_nr_scanned);
60+my ($total_direct_latency, $total_kswapd_latency);
61+my ($total_direct_writepage_file_sync, $total_direct_writepage_file_async);
62+my ($total_direct_writepage_anon_sync, $total_direct_writepage_anon_async);
63+my ($total_kswapd_nr_scanned, $total_kswapd_wake);
64+my ($total_kswapd_writepage_file_sync, $total_kswapd_writepage_file_async);
65+my ($total_kswapd_writepage_anon_sync, $total_kswapd_writepage_anon_async);
66+
67+# Catch sigint and exit on request
68+my $sigint_report = 0;
69+my $sigint_exit = 0;
70+my $sigint_pending = 0;
71+my $sigint_received = 0;
72+sub sigint_handler {
73+ my $current_time = time;
74+ if ($current_time - 2 > $sigint_received) {
75+ print "SIGINT received, report pending. Hit ctrl-c again to exit\n";
76+ $sigint_report = 1;
77+ } else {
78+ if (!$sigint_exit) {
79+ print "Second SIGINT received quickly, exiting\n";
80+ }
81+ $sigint_exit++;
82+ }
83+
84+ if ($sigint_exit > 3) {
85+ print "Many SIGINTs received, exiting now without report\n";
86+ exit;
87+ }
88+
89+ $sigint_received = $current_time;
90+ $sigint_pending = 1;
91+}
92+$SIG{INT} = "sigint_handler";
93+
94+# Parse command line options
95+GetOptions(
96+ 'ignore-pid' => \$opt_ignorepid,
97+ 'read-procstat' => \$opt_read_procstat,
98+);
99+
100+# Defaults for dynamically discovered regex's
101+my $regex_direct_begin_default = 'order=([0-9]*) may_writepage=([0-9]*) gfp_flags=([A-Z_|]*)';
102+my $regex_direct_end_default = 'nr_reclaimed=([0-9]*)';
103+my $regex_kswapd_wake_default = 'nid=([0-9]*) order=([0-9]*)';
104+my $regex_kswapd_sleep_default = 'nid=([0-9]*)';
105+my $regex_wakeup_kswapd_default = 'nid=([0-9]*) zid=([0-9]*) order=([0-9]*)';
106+my $regex_lru_isolate_default = 'isolate_mode=([0-9]*) order=([0-9]*) nr_requested=([0-9]*) nr_scanned=([0-9]*) nr_taken=([0-9]*) contig_taken=([0-9]*) contig_dirty=([0-9]*) contig_failed=([0-9]*)';
107+my $regex_lru_shrink_inactive_default = 'lru=([A-Z_]*) nr_scanned=([0-9]*) nr_reclaimed=([0-9]*) priority=([0-9]*)';
108+my $regex_lru_shrink_active_default = 'lru=([A-Z_]*) nr_scanned=([0-9]*) nr_rotated=([0-9]*) priority=([0-9]*)';
109+my $regex_writepage_default = 'page=([0-9a-f]*) pfn=([0-9]*) flags=([A-Z_|]*)';
110+
111+# Dyanically discovered regex
112+my $regex_direct_begin;
113+my $regex_direct_end;
114+my $regex_kswapd_wake;
115+my $regex_kswapd_sleep;
116+my $regex_wakeup_kswapd;
117+my $regex_lru_isolate;
118+my $regex_lru_shrink_inactive;
119+my $regex_lru_shrink_active;
120+my $regex_writepage;
121+
122+# Static regex used. Specified like this for readability and for use with /o
123+# (process_pid) (cpus ) ( time ) (tpoint ) (details)
124+my $regex_traceevent = '\s*([a-zA-Z0-9-]*)\s*(\[[0-9]*\])\s*([0-9.]*):\s*([a-zA-Z_]*):\s*(.*)';
125+my $regex_statname = '[-0-9]*\s\((.*)\).*';
126+my $regex_statppid = '[-0-9]*\s\(.*\)\s[A-Za-z]\s([0-9]*).*';
127+
128+sub generate_traceevent_regex {
129+ my $event = shift;
130+ my $default = shift;
131+ my $regex;
132+
133+ # Read the event format or use the default
134+ if (!open (FORMAT, "/sys/kernel/debug/tracing/events/$event/format")) {
135+ print("WARNING: Event $event format string not found\n");
136+ return $default;
137+ } else {
138+ my $line;
139+ while (!eof(FORMAT)) {
140+ $line = <FORMAT>;
141+ $line =~ s/, REC->.*//;
142+ if ($line =~ /^print fmt:\s"(.*)".*/) {
143+ $regex = $1;
144+ $regex =~ s/%s/\([0-9a-zA-Z|_]*\)/g;
145+ $regex =~ s/%p/\([0-9a-f]*\)/g;
146+ $regex =~ s/%d/\([-0-9]*\)/g;
147+ $regex =~ s/%ld/\([-0-9]*\)/g;
148+ $regex =~ s/%lu/\([0-9]*\)/g;
149+ }
150+ }
151+ }
152+
153+ # Can't handle the print_flags stuff but in the context of this
154+ # script, it really doesn't matter
155+ $regex =~ s/\(REC.*\) \? __print_flags.*//;
156+
157+ # Verify fields are in the right order
158+ my $tuple;
159+ foreach $tuple (split /\s/, $regex) {
160+ my ($key, $value) = split(/=/, $tuple);
161+ my $expected = shift;
162+ if ($key ne $expected) {
163+ print("WARNING: Format not as expected for event $event '$key' != '$expected'\n");
164+ $regex =~ s/$key=\((.*)\)/$key=$1/;
165+ }
166+ }
167+
168+ if (defined shift) {
169+ die("Fewer fields than expected in format");
170+ }
171+
172+ return $regex;
173+}
174+
175+$regex_direct_begin = generate_traceevent_regex(
176+ "vmscan/mm_vmscan_direct_reclaim_begin",
177+ $regex_direct_begin_default,
178+ "order", "may_writepage",
179+ "gfp_flags");
180+$regex_direct_end = generate_traceevent_regex(
181+ "vmscan/mm_vmscan_direct_reclaim_end",
182+ $regex_direct_end_default,
183+ "nr_reclaimed");
184+$regex_kswapd_wake = generate_traceevent_regex(
185+ "vmscan/mm_vmscan_kswapd_wake",
186+ $regex_kswapd_wake_default,
187+ "nid", "order");
188+$regex_kswapd_sleep = generate_traceevent_regex(
189+ "vmscan/mm_vmscan_kswapd_sleep",
190+ $regex_kswapd_sleep_default,
191+ "nid");
192+$regex_wakeup_kswapd = generate_traceevent_regex(
193+ "vmscan/mm_vmscan_wakeup_kswapd",
194+ $regex_wakeup_kswapd_default,
195+ "nid", "zid", "order");
196+$regex_lru_isolate = generate_traceevent_regex(
197+ "vmscan/mm_vmscan_lru_isolate",
198+ $regex_lru_isolate_default,
199+ "isolate_mode", "order",
200+ "nr_requested", "nr_scanned", "nr_taken",
201+ "contig_taken", "contig_dirty", "contig_failed");
202+$regex_lru_shrink_inactive = generate_traceevent_regex(
203+ "vmscan/mm_vmscan_lru_shrink_inactive",
204+ $regex_lru_shrink_inactive_default,
205+ "nid", "zid",
206+ "lru",
207+ "nr_scanned", "nr_reclaimed", "priority");
208+$regex_lru_shrink_active = generate_traceevent_regex(
209+ "vmscan/mm_vmscan_lru_shrink_active",
210+ $regex_lru_shrink_active_default,
211+ "nid", "zid",
212+ "lru",
213+ "nr_scanned", "nr_rotated", "priority");
214+$regex_writepage = generate_traceevent_regex(
215+ "vmscan/mm_vmscan_writepage",
216+ $regex_writepage_default,
217+ "page", "pfn", "flags");
218+
219+sub read_statline($) {
220+ my $pid = $_[0];
221+ my $statline;
222+
223+ if (open(STAT, "/proc/$pid/stat")) {
224+ $statline = <STAT>;
225+ close(STAT);
226+ }
227+
228+ if ($statline eq '') {
229+ $statline = "-1 (UNKNOWN_PROCESS_NAME) R 0";
230+ }
231+
232+ return $statline;
233+}
234+
235+sub guess_process_pid($$) {
236+ my $pid = $_[0];
237+ my $statline = $_[1];
238+
239+ if ($pid == 0) {
240+ return "swapper-0";
241+ }
242+
243+ if ($statline !~ /$regex_statname/o) {
244+ die("Failed to math stat line for process name :: $statline");
245+ }
246+ return "$1-$pid";
247+}
248+
249+# Convert sec.usec timestamp format
250+sub timestamp_to_ms($) {
251+ my $timestamp = $_[0];
252+
253+ my ($sec, $usec) = split (/\./, $timestamp);
254+ return ($sec * 1000) + ($usec / 1000);
255+}
256+
257+sub process_events {
258+ my $traceevent;
259+ my $process_pid;
260+ my $cpus;
261+ my $timestamp;
262+ my $tracepoint;
263+ my $details;
264+ my $statline;
265+
266+ # Read each line of the event log
267+EVENT_PROCESS:
268+ while ($traceevent = <STDIN>) {
269+ if ($traceevent =~ /$regex_traceevent/o) {
270+ $process_pid = $1;
271+ $timestamp = $3;
272+ $tracepoint = $4;
273+
274+ $process_pid =~ /(.*)-([0-9]*)$/;
275+ my $process = $1;
276+ my $pid = $2;
277+
278+ if ($process eq "") {
279+ $process = $last_procmap{$pid};
280+ $process_pid = "$process-$pid";
281+ }
282+ $last_procmap{$pid} = $process;
283+
284+ if ($opt_read_procstat) {
285+ $statline = read_statline($pid);
286+ if ($opt_read_procstat && $process eq '') {
287+ $process_pid = guess_process_pid($pid, $statline);
288+ }
289+ }
290+ } else {
291+ next;
292+ }
293+
294+ # Perl Switch() sucks majorly
295+ if ($tracepoint eq "mm_vmscan_direct_reclaim_begin") {
296+ $timestamp = timestamp_to_ms($timestamp);
297+ $perprocesspid{$process_pid}->{MM_VMSCAN_DIRECT_RECLAIM_BEGIN}++;
298+ $perprocesspid{$process_pid}->{STATE_DIRECT_BEGIN} = $timestamp;
299+
300+ $details = $5;
301+ if ($details !~ /$regex_direct_begin/o) {
302+ print "WARNING: Failed to parse mm_vmscan_direct_reclaim_begin as expected\n";
303+ print " $details\n";
304+ print " $regex_direct_begin\n";
305+ next;
306+ }
307+ my $order = $1;
308+ $perprocesspid{$process_pid}->{MM_VMSCAN_DIRECT_RECLAIM_BEGIN_PERORDER}[$order]++;
309+ $perprocesspid{$process_pid}->{STATE_DIRECT_ORDER} = $order;
310+ } elsif ($tracepoint eq "mm_vmscan_direct_reclaim_end") {
311+ # Count the event itself
312+ my $index = $perprocesspid{$process_pid}->{MM_VMSCAN_DIRECT_RECLAIM_END};
313+ $perprocesspid{$process_pid}->{MM_VMSCAN_DIRECT_RECLAIM_END}++;
314+
315+ # Record how long direct reclaim took this time
316+ if (defined $perprocesspid{$process_pid}->{STATE_DIRECT_BEGIN}) {
317+ $timestamp = timestamp_to_ms($timestamp);
318+ my $order = $perprocesspid{$process_pid}->{STATE_DIRECT_ORDER};
319+ my $latency = ($timestamp - $perprocesspid{$process_pid}->{STATE_DIRECT_BEGIN});
320+ $perprocesspid{$process_pid}->{HIGH_DIRECT_RECLAIM_LATENCY}[$index] = "$order-$latency";
321+ }
322+ } elsif ($tracepoint eq "mm_vmscan_kswapd_wake") {
323+ $details = $5;
324+ if ($details !~ /$regex_kswapd_wake/o) {
325+ print "WARNING: Failed to parse mm_vmscan_kswapd_wake as expected\n";
326+ print " $details\n";
327+ print " $regex_kswapd_wake\n";
328+ next;
329+ }
330+
331+ my $order = $2;
332+ $perprocesspid{$process_pid}->{STATE_KSWAPD_ORDER} = $order;
333+ if (!$perprocesspid{$process_pid}->{STATE_KSWAPD_BEGIN}) {
334+ $timestamp = timestamp_to_ms($timestamp);
335+ $perprocesspid{$process_pid}->{MM_VMSCAN_KSWAPD_WAKE}++;
336+ $perprocesspid{$process_pid}->{STATE_KSWAPD_BEGIN} = $timestamp;
337+ $perprocesspid{$process_pid}->{MM_VMSCAN_KSWAPD_WAKE_PERORDER}[$order]++;
338+ } else {
339+ $perprocesspid{$process_pid}->{HIGH_KSWAPD_REWAKEUP}++;
340+ $perprocesspid{$process_pid}->{HIGH_KSWAPD_REWAKEUP_PERORDER}[$order]++;
341+ }
342+ } elsif ($tracepoint eq "mm_vmscan_kswapd_sleep") {
343+
344+ # Count the event itself
345+ my $index = $perprocesspid{$process_pid}->{MM_VMSCAN_KSWAPD_SLEEP};
346+ $perprocesspid{$process_pid}->{MM_VMSCAN_KSWAPD_SLEEP}++;
347+
348+ # Record how long kswapd was awake
349+ $timestamp = timestamp_to_ms($timestamp);
350+ my $order = $perprocesspid{$process_pid}->{STATE_KSWAPD_ORDER};
351+ my $latency = ($timestamp - $perprocesspid{$process_pid}->{STATE_KSWAPD_BEGIN});
352+ $perprocesspid{$process_pid}->{HIGH_KSWAPD_LATENCY}[$index] = "$order-$latency";
353+ $perprocesspid{$process_pid}->{STATE_KSWAPD_BEGIN} = 0;
354+ } elsif ($tracepoint eq "mm_vmscan_wakeup_kswapd") {
355+ $perprocesspid{$process_pid}->{MM_VMSCAN_WAKEUP_KSWAPD}++;
356+
357+ $details = $5;
358+ if ($details !~ /$regex_wakeup_kswapd/o) {
359+ print "WARNING: Failed to parse mm_vmscan_wakeup_kswapd as expected\n";
360+ print " $details\n";
361+ print " $regex_wakeup_kswapd\n";
362+ next;
363+ }
364+ my $order = $3;
365+ $perprocesspid{$process_pid}->{MM_VMSCAN_WAKEUP_KSWAPD_PERORDER}[$order]++;
366+ } elsif ($tracepoint eq "mm_vmscan_lru_isolate") {
367+ $details = $5;
368+ if ($details !~ /$regex_lru_isolate/o) {
369+ print "WARNING: Failed to parse mm_vmscan_lru_isolate as expected\n";
370+ print " $details\n";
371+ print " $regex_lru_isolate/o\n";
372+ next;
373+ }
374+ my $nr_scanned = $4;
375+ my $nr_contig_dirty = $7;
376+ $perprocesspid{$process_pid}->{HIGH_NR_SCANNED} += $nr_scanned;
377+ $perprocesspid{$process_pid}->{HIGH_NR_CONTIG_DIRTY} += $nr_contig_dirty;
378+ } elsif ($tracepoint eq "mm_vmscan_writepage") {
379+ $details = $5;
380+ if ($details !~ /$regex_writepage/o) {
381+ print "WARNING: Failed to parse mm_vmscan_writepage as expected\n";
382+ print " $details\n";
383+ print " $regex_writepage\n";
384+ next;
385+ }
386+
387+ my $flags = $3;
388+ my $file = 0;
389+ my $sync_io = 0;
390+ if ($flags =~ /RECLAIM_WB_FILE/) {
391+ $file = 1;
392+ }
393+ if ($flags =~ /RECLAIM_WB_SYNC/) {
394+ $sync_io = 1;
395+ }
396+ if ($sync_io) {
397+ if ($file) {
398+ $perprocesspid{$process_pid}->{MM_VMSCAN_WRITEPAGE_FILE_SYNC}++;
399+ } else {
400+ $perprocesspid{$process_pid}->{MM_VMSCAN_WRITEPAGE_ANON_SYNC}++;
401+ }
402+ } else {
403+ if ($file) {
404+ $perprocesspid{$process_pid}->{MM_VMSCAN_WRITEPAGE_FILE_ASYNC}++;
405+ } else {
406+ $perprocesspid{$process_pid}->{MM_VMSCAN_WRITEPAGE_ANON_ASYNC}++;
407+ }
408+ }
409+ } else {
410+ $perprocesspid{$process_pid}->{EVENT_UNKNOWN}++;
411+ }
412+
413+ if ($sigint_pending) {
414+ last EVENT_PROCESS;
415+ }
416+ }
417+}
418+
419+sub dump_stats {
420+ my $hashref = shift;
421+ my %stats = %$hashref;
422+
423+ # Dump per-process stats
424+ my $process_pid;
425+ my $max_strlen = 0;
426+
427+ # Get the maximum process name
428+ foreach $process_pid (keys %perprocesspid) {
429+ my $len = length($process_pid);
430+ if ($len > $max_strlen) {
431+ $max_strlen = $len;
432+ }
433+ }
434+ $max_strlen += 2;
435+
436+ # Work out latencies
437+ printf("\n") if !$opt_ignorepid;
438+ printf("Reclaim latencies expressed as order-latency_in_ms\n") if !$opt_ignorepid;
439+ foreach $process_pid (keys %stats) {
440+
441+ if (!$stats{$process_pid}->{HIGH_DIRECT_RECLAIM_LATENCY}[0] &&
442+ !$stats{$process_pid}->{HIGH_KSWAPD_LATENCY}[0]) {
443+ next;
444+ }
445+
446+ printf "%-" . $max_strlen . "s ", $process_pid if !$opt_ignorepid;
447+ my $index = 0;
448+ while (defined $stats{$process_pid}->{HIGH_DIRECT_RECLAIM_LATENCY}[$index] ||
449+ defined $stats{$process_pid}->{HIGH_KSWAPD_LATENCY}[$index]) {
450+
451+ if ($stats{$process_pid}->{HIGH_DIRECT_RECLAIM_LATENCY}[$index]) {
452+ printf("%s ", $stats{$process_pid}->{HIGH_DIRECT_RECLAIM_LATENCY}[$index]) if !$opt_ignorepid;
453+ my ($dummy, $latency) = split(/-/, $stats{$process_pid}->{HIGH_DIRECT_RECLAIM_LATENCY}[$index]);
454+ $total_direct_latency += $latency;
455+ } else {
456+ printf("%s ", $stats{$process_pid}->{HIGH_KSWAPD_LATENCY}[$index]) if !$opt_ignorepid;
457+ my ($dummy, $latency) = split(/-/, $stats{$process_pid}->{HIGH_KSWAPD_LATENCY}[$index]);
458+ $total_kswapd_latency += $latency;
459+ }
460+ $index++;
461+ }
462+ print "\n" if !$opt_ignorepid;
463+ }
464+
465+ # Print out process activity
466+ printf("\n");
467+ printf("%-" . $max_strlen . "s %8s %10s %8s %8s %8s %8s %8s\n", "Process", "Direct", "Wokeup", "Pages", "Pages", "Pages", "Time");
468+ printf("%-" . $max_strlen . "s %8s %10s %8s %8s %8s %8s %8s\n", "details", "Rclms", "Kswapd", "Scanned", "Sync-IO", "ASync-IO", "Stalled");
469+ foreach $process_pid (keys %stats) {
470+
471+ if (!$stats{$process_pid}->{MM_VMSCAN_DIRECT_RECLAIM_BEGIN}) {
472+ next;
473+ }
474+
475+ $total_direct_reclaim += $stats{$process_pid}->{MM_VMSCAN_DIRECT_RECLAIM_BEGIN};
476+ $total_wakeup_kswapd += $stats{$process_pid}->{MM_VMSCAN_WAKEUP_KSWAPD};
477+ $total_direct_nr_scanned += $stats{$process_pid}->{HIGH_NR_SCANNED};
478+ $total_direct_writepage_file_sync += $stats{$process_pid}->{MM_VMSCAN_WRITEPAGE_FILE_SYNC};
479+ $total_direct_writepage_anon_sync += $stats{$process_pid}->{MM_VMSCAN_WRITEPAGE_ANON_SYNC};
480+ $total_direct_writepage_file_async += $stats{$process_pid}->{MM_VMSCAN_WRITEPAGE_FILE_ASYNC};
481+
482+ $total_direct_writepage_anon_async += $stats{$process_pid}->{MM_VMSCAN_WRITEPAGE_ANON_ASYNC};
483+
484+ my $index = 0;
485+ my $this_reclaim_delay = 0;
486+ while (defined $stats{$process_pid}->{HIGH_DIRECT_RECLAIM_LATENCY}[$index]) {
487+ my ($dummy, $latency) = split(/-/, $stats{$process_pid}->{HIGH_DIRECT_RECLAIM_LATENCY}[$index]);
488+ $this_reclaim_delay += $latency;
489+ $index++;
490+ }
491+
492+ printf("%-" . $max_strlen . "s %8d %10d %8u %8u %8u %8.3f",
493+ $process_pid,
494+ $stats{$process_pid}->{MM_VMSCAN_DIRECT_RECLAIM_BEGIN},
495+ $stats{$process_pid}->{MM_VMSCAN_WAKEUP_KSWAPD},
496+ $stats{$process_pid}->{HIGH_NR_SCANNED},
497+ $stats{$process_pid}->{MM_VMSCAN_WRITEPAGE_FILE_SYNC} + $stats{$process_pid}->{MM_VMSCAN_WRITEPAGE_ANON_SYNC},
498+ $stats{$process_pid}->{MM_VMSCAN_WRITEPAGE_FILE_ASYNC} + $stats{$process_pid}->{MM_VMSCAN_WRITEPAGE_ANON_ASYNC},
499+ $this_reclaim_delay / 1000);
500+
501+ if ($stats{$process_pid}->{MM_VMSCAN_DIRECT_RECLAIM_BEGIN}) {
502+ print " ";
503+ for (my $order = 0; $order < 20; $order++) {
504+ my $count = $stats{$process_pid}->{MM_VMSCAN_DIRECT_RECLAIM_BEGIN_PERORDER}[$order];
505+ if ($count != 0) {
506+ print "direct-$order=$count ";
507+ }
508+ }
509+ }
510+ if ($stats{$process_pid}->{MM_VMSCAN_WAKEUP_KSWAPD}) {
511+ print " ";
512+ for (my $order = 0; $order < 20; $order++) {
513+ my $count = $stats{$process_pid}->{MM_VMSCAN_WAKEUP_KSWAPD_PERORDER}[$order];
514+ if ($count != 0) {
515+ print "wakeup-$order=$count ";
516+ }
517+ }
518+ }
519+ if ($stats{$process_pid}->{HIGH_NR_CONTIG_DIRTY}) {
520+ print " ";
521+ my $count = $stats{$process_pid}->{HIGH_NR_CONTIG_DIRTY};
522+ if ($count != 0) {
523+ print "contig-dirty=$count ";
524+ }
525+ }
526+
527+ print "\n";
528+ }
529+
530+ # Print out kswapd activity
531+ printf("\n");
532+ printf("%-" . $max_strlen . "s %8s %10s %8s %8s %8s %8s\n", "Kswapd", "Kswapd", "Order", "Pages", "Pages", "Pages");
533+ printf("%-" . $max_strlen . "s %8s %10s %8s %8s %8s %8s\n", "Instance", "Wakeups", "Re-wakeup", "Scanned", "Sync-IO", "ASync-IO");
534+ foreach $process_pid (keys %stats) {
535+
536+ if (!$stats{$process_pid}->{MM_VMSCAN_KSWAPD_WAKE}) {
537+ next;
538+ }
539+
540+ $total_kswapd_wake += $stats{$process_pid}->{MM_VMSCAN_KSWAPD_WAKE};
541+ $total_kswapd_nr_scanned += $stats{$process_pid}->{HIGH_NR_SCANNED};
542+ $total_kswapd_writepage_file_sync += $stats{$process_pid}->{MM_VMSCAN_WRITEPAGE_FILE_SYNC};
543+ $total_kswapd_writepage_anon_sync += $stats{$process_pid}->{MM_VMSCAN_WRITEPAGE_ANON_SYNC};
544+ $total_kswapd_writepage_file_async += $stats{$process_pid}->{MM_VMSCAN_WRITEPAGE_FILE_ASYNC};
545+ $total_kswapd_writepage_anon_async += $stats{$process_pid}->{MM_VMSCAN_WRITEPAGE_ANON_ASYNC};
546+
547+ printf("%-" . $max_strlen . "s %8d %10d %8u %8i %8u",
548+ $process_pid,
549+ $stats{$process_pid}->{MM_VMSCAN_KSWAPD_WAKE},
550+ $stats{$process_pid}->{HIGH_KSWAPD_REWAKEUP},
551+ $stats{$process_pid}->{HIGH_NR_SCANNED},
552+ $stats{$process_pid}->{MM_VMSCAN_WRITEPAGE_FILE_SYNC} + $stats{$process_pid}->{MM_VMSCAN_WRITEPAGE_ANON_SYNC},
553+ $stats{$process_pid}->{MM_VMSCAN_WRITEPAGE_FILE_ASYNC} + $stats{$process_pid}->{MM_VMSCAN_WRITEPAGE_ANON_ASYNC});
554+
555+ if ($stats{$process_pid}->{MM_VMSCAN_KSWAPD_WAKE}) {
556+ print " ";
557+ for (my $order = 0; $order < 20; $order++) {
558+ my $count = $stats{$process_pid}->{MM_VMSCAN_KSWAPD_WAKE_PERORDER}[$order];
559+ if ($count != 0) {
560+ print "wake-$order=$count ";
561+ }
562+ }
563+ }
564+ if ($stats{$process_pid}->{HIGH_KSWAPD_REWAKEUP}) {
565+ print " ";
566+ for (my $order = 0; $order < 20; $order++) {
567+ my $count = $stats{$process_pid}->{HIGH_KSWAPD_REWAKEUP_PERORDER}[$order];
568+ if ($count != 0) {
569+ print "rewake-$order=$count ";
570+ }
571+ }
572+ }
573+ printf("\n");
574+ }
575+
576+ # Print out summaries
577+ $total_direct_latency /= 1000;
578+ $total_kswapd_latency /= 1000;
579+ print "\nSummary\n";
580+ print "Direct reclaims: $total_direct_reclaim\n";
581+ print "Direct reclaim pages scanned: $total_direct_nr_scanned\n";
582+ print "Direct reclaim write file sync I/O: $total_direct_writepage_file_sync\n";
583+ print "Direct reclaim write anon sync I/O: $total_direct_writepage_anon_sync\n";
584+ print "Direct reclaim write file async I/O: $total_direct_writepage_file_async\n";
585+ print "Direct reclaim write anon async I/O: $total_direct_writepage_anon_async\n";
586+ print "Wake kswapd requests: $total_wakeup_kswapd\n";
587+ printf "Time stalled direct reclaim: %-1.2f seconds\n", $total_direct_latency;
588+ print "\n";
589+ print "Kswapd wakeups: $total_kswapd_wake\n";
590+ print "Kswapd pages scanned: $total_kswapd_nr_scanned\n";
591+ print "Kswapd reclaim write file sync I/O: $total_kswapd_writepage_file_sync\n";
592+ print "Kswapd reclaim write anon sync I/O: $total_kswapd_writepage_anon_sync\n";
593+ print "Kswapd reclaim write file async I/O: $total_kswapd_writepage_file_async\n";
594+ print "Kswapd reclaim write anon async I/O: $total_kswapd_writepage_anon_async\n";
595+ printf "Time kswapd awake: %-1.2f seconds\n", $total_kswapd_latency;
596+}
597+
598+sub aggregate_perprocesspid() {
599+ my $process_pid;
600+ my $process;
601+ undef %perprocess;
602+
603+ foreach $process_pid (keys %perprocesspid) {
604+ $process = $process_pid;
605+ $process =~ s/-([0-9])*$//;
606+ if ($process eq '') {
607+ $process = "NO_PROCESS_NAME";
608+ }
609+
610+ $perprocess{$process}->{MM_VMSCAN_DIRECT_RECLAIM_BEGIN} += $perprocesspid{$process_pid}->{MM_VMSCAN_DIRECT_RECLAIM_BEGIN};
611+ $perprocess{$process}->{MM_VMSCAN_KSWAPD_WAKE} += $perprocesspid{$process_pid}->{MM_VMSCAN_KSWAPD_WAKE};
612+ $perprocess{$process}->{MM_VMSCAN_WAKEUP_KSWAPD} += $perprocesspid{$process_pid}->{MM_VMSCAN_WAKEUP_KSWAPD};
613+ $perprocess{$process}->{HIGH_KSWAPD_REWAKEUP} += $perprocesspid{$process_pid}->{HIGH_KSWAPD_REWAKEUP};
614+ $perprocess{$process}->{HIGH_NR_SCANNED} += $perprocesspid{$process_pid}->{HIGH_NR_SCANNED};
615+ $perprocess{$process}->{MM_VMSCAN_WRITEPAGE_FILE_SYNC} += $perprocesspid{$process_pid}->{MM_VMSCAN_WRITEPAGE_FILE_SYNC};
616+ $perprocess{$process}->{MM_VMSCAN_WRITEPAGE_ANON_SYNC} += $perprocesspid{$process_pid}->{MM_VMSCAN_WRITEPAGE_ANON_SYNC};
617+ $perprocess{$process}->{MM_VMSCAN_WRITEPAGE_FILE_ASYNC} += $perprocesspid{$process_pid}->{MM_VMSCAN_WRITEPAGE_FILE_ASYNC};
618+ $perprocess{$process}->{MM_VMSCAN_WRITEPAGE_ANON_ASYNC} += $perprocesspid{$process_pid}->{MM_VMSCAN_WRITEPAGE_ANON_ASYNC};
619+
620+ for (my $order = 0; $order < 20; $order++) {
621+ $perprocess{$process}->{MM_VMSCAN_DIRECT_RECLAIM_BEGIN_PERORDER}[$order] += $perprocesspid{$process_pid}->{MM_VMSCAN_DIRECT_RECLAIM_BEGIN_PERORDER}[$order];
622+ $perprocess{$process}->{MM_VMSCAN_WAKEUP_KSWAPD_PERORDER}[$order] += $perprocesspid{$process_pid}->{MM_VMSCAN_WAKEUP_KSWAPD_PERORDER}[$order];
623+ $perprocess{$process}->{MM_VMSCAN_KSWAPD_WAKE_PERORDER}[$order] += $perprocesspid{$process_pid}->{MM_VMSCAN_KSWAPD_WAKE_PERORDER}[$order];
624+
625+ }
626+
627+ # Aggregate direct reclaim latencies
628+ my $wr_index = $perprocess{$process}->{MM_VMSCAN_DIRECT_RECLAIM_END};
629+ my $rd_index = 0;
630+ while (defined $perprocesspid{$process_pid}->{HIGH_DIRECT_RECLAIM_LATENCY}[$rd_index]) {
631+ $perprocess{$process}->{HIGH_DIRECT_RECLAIM_LATENCY}[$wr_index] = $perprocesspid{$process_pid}->{HIGH_DIRECT_RECLAIM_LATENCY}[$rd_index];
632+ $rd_index++;
633+ $wr_index++;
634+ }
635+ $perprocess{$process}->{MM_VMSCAN_DIRECT_RECLAIM_END} = $wr_index;
636+
637+ # Aggregate kswapd latencies
638+ my $wr_index = $perprocess{$process}->{MM_VMSCAN_KSWAPD_SLEEP};
639+ my $rd_index = 0;
640+ while (defined $perprocesspid{$process_pid}->{HIGH_KSWAPD_LATENCY}[$rd_index]) {
641+ $perprocess{$process}->{HIGH_KSWAPD_LATENCY}[$wr_index] = $perprocesspid{$process_pid}->{HIGH_KSWAPD_LATENCY}[$rd_index];
642+ $rd_index++;
643+ $wr_index++;
644+ }
645+ $perprocess{$process}->{MM_VMSCAN_DIRECT_RECLAIM_END} = $wr_index;
646+ }
647+}
648+
649+sub report() {
650+ if (!$opt_ignorepid) {
651+ dump_stats(\%perprocesspid);
652+ } else {
653+ aggregate_perprocesspid();
654+ dump_stats(\%perprocess);
655+ }
656+}
657+
658+# Process events or signals until neither is available
659+sub signal_loop() {
660+ my $sigint_processed;
661+ do {
662+ $sigint_processed = 0;
663+ process_events();
664+
665+ # Handle pending signals if any
666+ if ($sigint_pending) {
667+ my $current_time = time;
668+
669+ if ($sigint_exit) {
670+ print "Received exit signal\n";
671+ $sigint_pending = 0;
672+ }
673+ if ($sigint_report) {
674+ if ($current_time >= $sigint_received + 2) {
675+ report();
676+ $sigint_report = 0;
677+ $sigint_pending = 0;
678+ $sigint_processed = 1;
679+ }
680+ }
681+ }
682+ } while ($sigint_pending || $sigint_processed);
683+}
684+
685+signal_loop();
686+report();
Documentation/uml/UserModeLinux-HOWTO.txt+8−65
@@ -8,62 +8,6 @@ · 7 unmodified lines
88
99 Table of Contents
1010
11−
12−
13−
14−
15−
16−
17−
18−
19−
20−
21−
22−
23−
24−
25−
26−
27−
28−
29−
30−
31−
32−
33−
34−
35−
36−
37−
38−
39−
40−
41−
42−
43−
44−
45−
46−
47−
48−
49−
50−
51−
52−
53−
54−
55−
56−
57−
58−
59−
60−
61−
62−
63−
64−
65−
66−
6711 1. Introduction
6812
6913 1.1 How is User Mode Linux Different?
@@ -277,8 +221,7 @@ · 207 unmodified lines
277221
278222 1. Download the latest UML patch from
279223
280− the download page <http://user-mode-linux.sourceforge.net/dl-
281− sf.html>
224+ the download page <http://user-mode-linux.sourceforge.net/
282225
283226 In this example, the file is uml-patch-2.4.0-prerelease.bz2.
284227
@@ -438,7 +381,7 @@ · 153 unmodified lines
438381 as modules, especially filesystems and network protocols and filters,
439382 so most symbols which need to be exported probably already are.
440383 However, if you do find symbols that need exporting, let us
441− <http://user-mode-linux.sourceforge.net/contacts.html> know, and
384+ <http://user-mode-linux.sourceforge.net/> know, and
442385 they'll be "taken care of".
443386
444387
@@ -498,8 +441,8 @@ · 53 unmodified lines
498441
499442 You will need a filesystem to boot UML from. There are a number
500443 available for download from here <http://user-mode-
501− linux.sourceforge.net/dl-sf.html> . There are also several tools
502− <http://user-mode-linux.sourceforge.net/fs_making.html> which can be
444+ linux.sourceforge.net/> . There are also several tools
445+ <http://user-mode-linux.sourceforge.net/> which can be
503446 used to generate UML-compatible filesystem images from media.
504447 The kernel will boot up and present you with a login prompt.
505448
@@ -1236,7 +1179,7 @@ · 730 unmodified lines
12361179
12371180
12381181 Harald's original README is here <http://user-mode-linux.source-
1239− forge.net/text/mcast.txt> and explains these in detail, as well as
1182+ forge.net/> and explains these in detail, as well as
12401183 some other issues.
12411184
12421185
@@ -1311,7 +1254,7 @@ · 68 unmodified lines
13111254 kernel.
13121255
13131256 These were pointed out by Tim Robinson <timro at trkr dot net> in
1314− <http://www.geocrawler.com/lists/3/SourceForge/597/0/> name="this uml-
1257+ <http://www.geocrawler.com/> name="this uml-
13151258 user post"> .
13161259
13171260
@@ -2038,7 +1981,7 @@ · 720 unmodified lines
20381981
20391982 uml_moo is installed with the UML deb and RPM. If you didn't install
20401983 UML from one of those packages, you can also get it from the UML
2041− utilities <http://user-mode-linux.sourceforge.net/dl-sf.html#UML
1984+ utilities <http://user-mode-linux.sourceforge.net/
20421985 utilities> tar file in tools/moo.
20431986
20441987
@@ -4599,7 +4542,7 @@ · 2554 unmodified lines
45994542
46004543 Michael Jennings <mikejen at hevanet.com> sent in some material which
46014544 is now gracing the top of the index page <http://user-mode-
4602− linux.sourceforge.net/index.html> of this site.
4545+ linux.sourceforge.net/> of this site.
46034546
46044547 SGI <http://www.sgi.com> (and more specifically Ralf Baechle <ralf at
46054548 uni-koblenz.de> ) gave me an account on oss.sgi.com
Documentation/usb/ehci.txt+1−1
@@ -9,7 +9,7 @@ compatible with the USB 1.1 standard. It defines three transfer speeds: · 8 unmodified lines
99 - "Low Speed" 1.5 Mbit/sec
1010
1111 USB 1.1 only addressed full speed and low speed. High speed devices
12−can be used on USB 1.1 systems, but they slow down to USB 1.1 speeds.
12+can be used on USB 1.1 systems, but they slow down to USB 1.1 speeds.
1313
1414 USB 1.1 devices may also be used on USB 2.0 systems. When plugged
1515 into an EHCI controller, they are given to a USB 1.1 "companion"
Documentation/usb/gadget_multi.txt+150−0
@@ -0,0 +1,150 @@
1+ -*- org -*-
2+
3+* Overview
4+
5+The Multifunction Composite Gadget (or g_multi) is a composite gadget
6+that makes extensive use of the composite framework to provide
7+a... multifunction gadget.
8+
9+In it's standard configuration it provides a single USB configuration
10+with RNDIS[1] (that is Ethernet), USB CDC[2] ACM (that is serial) and
11+USB Mass Storage functions.
12+
13+A CDC ECM (Ethernet) function may be turned on via a Kconfig option
14+and RNDIS can be turned off. If they are both enabled the gadget will
15+have two configurations -- one with RNDIS and another with CDC ECM[3].
16+
17+Please not that if you use non-standard configuration (that is enable
18+CDC ECM) you may need to change vendor and/or product ID.
19+
20+* Host drivers
21+
22+To make use of the gadget one needs to make it work on host side --
23+without that there's no hope of achieving anything with the gadget.
24+As one might expect, things one need to do very from system to system.
25+
26+** Linux host drivers
27+
28+Since the gadget uses standard composite framework and appears as such
29+to Linux host it does not need any additional drivers on Linux host
30+side. All the functions are handled by respective drivers developed
31+for them.
32+
33+This is also true for two configuration set-up with RNDIS
34+configuration being the first one. Linux host will use the second
35+configuration with CDC ECM which should work better under Linux.
36+
37+** Windows host drivers
38+
39+For the gadget two work under Windows two conditions have to be met:
40+
41+*** Detecting as composite gadget
42+
43+First of all, Windows need to detect the gadget as an USB composite
44+gadget which on its own have some conditions[4]. If they are met,
45+Windows lets USB Generic Parent Driver[5] handle the device which then
46+tries to much drivers for each individual interface (sort of, don't
47+get into too many details).
48+
49+The good news is: you do not have to worry about most of the
50+conditions!
51+
52+The only thing to worry is that the gadget has to have a single
53+configuration so a dual RNDIS and CDC ECM gadget won't work unless you
54+create a proper INF -- and of course, if you do submit it!
55+
56+*** Installing drivers for each function
57+
58+The other, trickier thing is making Windows install drivers for each
59+individual function.
60+
61+For mass storage it is trivial since Windows detect it's an interface
62+implementing USB Mass Storage class and selects appropriate driver.
63+
64+Things are harder with RDNIS and CDC ACM.
65+
66+**** RNDIS
67+
68+To make Windows select RNDIS drivers for the first function in the
69+gadget, one needs to use the [[file:linux.inf]] file provided with this
70+document. It "attaches" Window's RNDIS driver to the first interface
71+of the gadget.
72+
73+Please note, that while testing we encountered some issues[6] when
74+RNDIS was not the first interface. You do not need to worry abut it
75+unless you are trying to develop your own gadget in which case watch
76+out for this bug.
77+
78+**** CDC ACM
79+
80+Similarly, [[file:linux-cdc-acm.inf]] is provided for CDC ACM.
81+
82+**** Customising the gadget
83+
84+If you intend to hack the g_multi gadget be advised that rearranging
85+functions will obviously change interface numbers for each of the
86+functionality. As an effect provided INFs won't work since they have
87+interface numbers hard-coded in them (it's not hard to change those
88+though[7]).
89+
90+This also means, that after experimenting with g_multi and changing
91+provided functions one should change gadget's vendor and/or product ID
92+so there will be no collision with other customised gadgets or the
93+original gadget.
94+
95+Failing to comply may cause brain damage after wondering for hours why
96+things don't work as intended before realising Windows have cached
97+some drivers information (changing USB port may sometimes help plus
98+you might try using USBDeview[8] to remove the phantom device).
99+
100+**** INF testing
101+
102+Provided INF files have been tested on Windows XP SP3, Windows Vista
103+and Windows 7, all 32-bit versions. It should work on 64-bit versions
104+as well. It most likely won't work on Windows prior to Windows XP
105+SP2.
106+
107+** Other systems
108+
109+At this moment, drivers for any other systems have not been tested.
110+Knowing how MacOS is based on BSD and BSD is an Open Source it is
111+believed that it should (read: "I have no idea whether it will") work
112+out-of-the-box.
113+
114+For more exotic systems I have even less to say...
115+
116+Any testing and drivers *are* *welcome*!
117+
118+* Authors
119+
120+This document has been written by Michal Nazarewicz
121+([[mailto:mina86@mina86.com]]). INF files have been hacked with
122+support of Marek Szyprowski ([[mailto:m.szyprowski@samsung.com]]) and
123+Xiaofan Chen ([[mailto:xiaofanc@gmail.com]]) basing on the MS RNDIS
124+template[9], Microchip's CDC ACM INF file and David Brownell's
125+([[mailto:dbrownell@users.sourceforge.net]]) original INF files.
126+
127+* Footnotes
128+
129+[1] Remote Network Driver Interface Specification,
130+[[http://msdn.microsoft.com/en-us/library/ee484414.aspx]].
131+
132+[2] Communications Device Class Abstract Control Model, spec for this
133+and other USB classes can be found at
134+[[http://www.usb.org/developers/devclass_docs/]].
135+
136+[3] CDC Ethernet Control Model.
137+
138+[4] [[http://msdn.microsoft.com/en-us/library/ff537109(v=VS.85).aspx]]
139+
140+[5] [[http://msdn.microsoft.com/en-us/library/ff539234(v=VS.85).aspx]]
141+
142+[6] To put it in some other nice words, Windows failed to respond to
143+any user input.
144+
145+[7] You may find [[http://www.cygnal.org/ubb/Forum9/HTML/001050.html]]
146+useful.
147+
148+[8] http://www.nirsoft.net/utils/usb_devices_view.html
149+
150+[9] [[http://msdn.microsoft.com/en-us/library/ff570620.aspx]]
Documentation/usb/gadget_serial.txt+10−77
@@ -151,88 +151,23 @@ instructions below to install the host side driver. · 150 unmodified lines
151151
152152 Installing the Windows Host ACM Driver
153153 --------------------------------------
154−To use the Windows ACM driver you must have the files "gserial.inf"
155−and "usbser.sys" together in a folder on the Windows machine.
156−
157−The "gserial.inf" file is given here.
158−
159−-------------------- CUT HERE --------------------
160−[Version]
161−Signature="$Windows NT$"
162−Class=Ports
163−ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
164−Provider=%LINUX%
165−DriverVer=08/17/2004,0.0.2.0
166−; Copyright (C) 2004 Al Borchers (alborchers@steinerpoint.com)
167−
168−[Manufacturer]
169−%LINUX%=GSerialDeviceList
170−
171−[GSerialDeviceList]
172−%GSERIAL%=GSerialInstall, USB\VID_0525&PID_A4A7
173−
174−[DestinationDirs]
175−DefaultDestDir=10,System32\Drivers
176−
177−[GSerialInstall]
178−CopyFiles=GSerialCopyFiles
179−AddReg=GSerialAddReg
180−
181−[GSerialCopyFiles]
182−usbser.sys
183−
184−[GSerialAddReg]
185−HKR,,DevLoader,,*ntkern
186−HKR,,NTMPDriver,,usbser.sys
187−HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
188−
189−[GSerialInstall.Services]
190−AddService = usbser,0x0002,GSerialService
191−
192−[GSerialService]
193−DisplayName = %GSERIAL_DISPLAY_NAME%
194−ServiceType = 1 ; SERVICE_KERNEL_DRIVER
195−StartType = 3 ; SERVICE_DEMAND_START
196−ErrorControl = 1 ; SERVICE_ERROR_NORMAL
197−ServiceBinary = %10%\System32\Drivers\usbser.sys
198−LoadOrderGroup = Base
199−
200−[Strings]
201−LINUX = "Linux"
202−GSERIAL = "Gadget Serial"
203−GSERIAL_DISPLAY_NAME = "USB Gadget Serial Driver"
204−-------------------- CUT HERE --------------------
205−
206−The "usbser.sys" file comes with various versions of Windows.
207−For example, it can be found on Windows XP typically in
208−
209− C:\WINDOWS\Driver Cache\i386\driver.cab
210−
211−Or it can be found on the Windows 98SE CD in the "win98" folder
212−in the "DRIVER11.CAB" through "DRIVER20.CAB" cab files. You will
213−need the DOS "expand" program, the Cygwin "cabextract" program, or
214−a similar program to unpack these cab files and extract "usbser.sys".
215−
216−For example, to extract "usbser.sys" into the current directory
217−on Windows XP, open a DOS window and run a command like
218−
219− expand C:\WINDOWS\Driver~1\i386\driver.cab -F:usbser.sys .
220−
221−(Thanks to Nishant Kamat for pointing out this DOS command.)
154+To use the Windows ACM driver you must have the "linux-cdc-acm.inf"
155+file (provided along this document) which supports all recent versions
156+of Windows.
222157
223158 When the gadget serial driver is loaded and the USB device connected
224159 to the Windows host with a USB cable, Windows should recognize the
225160 gadget serial device and ask for a driver. Tell Windows to find the
226−driver in the folder that contains "gserial.inf" and "usbser.sys".
161+driver in the folder that contains the "linux-cdc-acm.inf" file.
227162
228163 For example, on Windows XP, when the gadget serial device is first
229164 plugged in, the "Found New Hardware Wizard" starts up. Select
230−"Install from a list or specific location (Advanced)", then on
231−the next screen select "Include this location in the search" and
232−enter the path or browse to the folder containing "gserial.inf" and
233−"usbser.sys". Windows will complain that the Gadget Serial driver
234−has not passed Windows Logo testing, but select "Continue anyway"
235−and finish the driver installation.
165+"Install from a list or specific location (Advanced)", then on the
166+next screen select "Include this location in the search" and enter the
167+path or browse to the folder containing the "linux-cdc-acm.inf" file.
168+Windows will complain that the Gadget Serial driver has not passed
169+Windows Logo testing, but select "Continue anyway" and finish the
170+driver installation.
236171
237172 On Windows XP, in the "Device Manager" (under "Control Panel",
238173 "System", "Hardware") expand the "Ports (COM & LPT)" entry and you
@@ -345,5 +280,3 @@ you should be able to send data back and forth between the gadget · 106 unmodified lines
345280 side and host side systems. Anything you type on the terminal
346281 window on the gadget side should appear in the terminal window on
347282 the host side and vice versa.
348−
349−
Documentation/usb/hotplug.txt+2−2
@@ -10,7 +10,7 @@ immediately usable. That means the system must do many things, including: · 9 unmodified lines
1010
1111 - Bind a driver to that device. Bus frameworks do that using a
1212 device driver's probe() routine.
13−
13+
1414 - Tell other subsystems to configure the new device. Print
1515 queues may need to be enabled, networks brought up, disk
1616 partitions mounted, and so on. In some cases these will
@@ -84,7 +84,7 @@ USB MODUTILS SUPPORT · 67 unmodified lines
8484 Current versions of module-init-tools will create a "modules.usbmap" file
8585 which contains the entries from each driver's MODULE_DEVICE_TABLE. Such
8686 files can be used by various user mode policy agents to make sure all the
87−right driver modules get loaded, either at boot time or later.
87+right driver modules get loaded, either at boot time or later.
8888
8989 See <linux/usb.h> for full information about such table entries; or look
9090 at existing drivers. Each table entry describes one or more criteria to
Documentation/usb/linux-cdc-acm.inf+107−0
@@ -0,0 +1,107 @@
1+; Windows USB CDC ACM Setup File
2+
3+; Based on INF template which was:
4+; Copyright (c) 2000 Microsoft Corporation
5+; Copyright (c) 2007 Microchip Technology Inc.
6+; likely to be covered by the MLPL as found at:
7+; <http://msdn.microsoft.com/en-us/cc300389.aspx#MLPL>.
8+; For use only on Windows operating systems.
9+
10+[Version]
11+Signature="$Windows NT$"
12+Class=Ports
13+ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
14+Provider=%Linux%
15+DriverVer=11/15/2007,5.1.2600.0
16+
17+[Manufacturer]
18+%Linux%=DeviceList, NTamd64
19+
20+[DestinationDirs]
21+DefaultDestDir=12
22+
23+
24+;------------------------------------------------------------------------------
25+; Windows 2000/XP/Vista-32bit Sections
26+;------------------------------------------------------------------------------
27+
28+[DriverInstall.nt]
29+include=mdmcpq.inf
30+CopyFiles=DriverCopyFiles.nt
31+AddReg=DriverInstall.nt.AddReg
32+
33+[DriverCopyFiles.nt]
34+usbser.sys,,,0x20
35+
36+[DriverInstall.nt.AddReg]
37+HKR,,DevLoader,,*ntkern
38+HKR,,NTMPDriver,,USBSER.sys
39+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
40+
41+[DriverInstall.nt.Services]
42+AddService=usbser, 0x00000002, DriverService.nt
43+
44+[DriverService.nt]
45+DisplayName=%SERVICE%
46+ServiceType=1
47+StartType=3
48+ErrorControl=1
49+ServiceBinary=%12%\USBSER.sys
50+
51+;------------------------------------------------------------------------------
52+; Vista-64bit Sections
53+;------------------------------------------------------------------------------
54+
55+[DriverInstall.NTamd64]
56+include=mdmcpq.inf
57+CopyFiles=DriverCopyFiles.NTamd64
58+AddReg=DriverInstall.NTamd64.AddReg
59+
60+[DriverCopyFiles.NTamd64]
61+USBSER.sys,,,0x20
62+
63+[DriverInstall.NTamd64.AddReg]
64+HKR,,DevLoader,,*ntkern
65+HKR,,NTMPDriver,,USBSER.sys
66+HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
67+
68+[DriverInstall.NTamd64.Services]
69+AddService=usbser, 0x00000002, DriverService.NTamd64
70+
71+[DriverService.NTamd64]
72+DisplayName=%SERVICE%
73+ServiceType=1
74+StartType=3
75+ErrorControl=1
76+ServiceBinary=%12%\USBSER.sys
77+
78+
79+;------------------------------------------------------------------------------
80+; Vendor and Product ID Definitions
81+;------------------------------------------------------------------------------
82+; When developing your USB device, the VID and PID used in the PC side
83+; application program and the firmware on the microcontroller must match.
84+; Modify the below line to use your VID and PID. Use the format as shown
85+; below.
86+; Note: One INF file can be used for multiple devices with different
87+; VID and PIDs. For each supported device, append
88+; ",USB\VID_xxxx&PID_yyyy" to the end of the line.
89+;------------------------------------------------------------------------------
90+[SourceDisksFiles]
91+[SourceDisksNames]
92+[DeviceList]
93+%DESCRIPTION%=DriverInstall, USB\VID_0525&PID_A4A7, USB\VID_0525&PID_A4AB&MI_02
94+
95+[DeviceList.NTamd64]
96+%DESCRIPTION%=DriverInstall, USB\VID_0525&PID_A4A7, USB\VID_0525&PID_A4AB&MI_02
97+
98+
99+;------------------------------------------------------------------------------
100+; String Definitions
101+;------------------------------------------------------------------------------
102+;Modify these strings to customize your device
103+;------------------------------------------------------------------------------
104+[Strings]
105+Linux = "Linux Developer Community"
106+DESCRIPTION = "Gadget Serial"
107+SERVICE = "USB RS-232 Emulation Driver"
Documentation/usb/linux.inf+47−181
@@ -1,200 +1,66 @@
1−; MS-Windows driver config matching some basic modes of the
2−; Linux-USB Ethernet/RNDIS gadget firmware:
3−;
4−; - RNDIS plus CDC Ethernet ... this may be familiar as a DOCSIS
5−; cable modem profile, and supports most non-Microsoft USB hosts
6−;
7−; - RNDIS plus CDC Subset ... used by hardware that incapable of
8−; full CDC Ethernet support.
9−;
10−; Microsoft only directly supports RNDIS drivers, and bundled them into XP.
11−; The Microsoft "Remote NDIS USB Driver Kit" is currently found at:
12−; http://www.microsoft.com/whdc/hwdev/resources/HWservices/rndis.mspx
13−
1+; Based on template INF file found at
2+; <http://msdn.microsoft.com/en-us/library/ff570620.aspx>
3+; which was:
4+; Copyright (c) Microsoft Corporation
5+; and released under the MLPL as found at:
6+; <http://msdn.microsoft.com/en-us/cc300389.aspx#MLPL>.
7+; For use only on Windows operating systems.
148
159 [Version]
16−Signature = "$CHICAGO$"
10+Signature = "$Windows NT$"
1711 Class = Net
1812 ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
1913 Provider = %Linux%
20−Compatible = 1
21−MillenniumPreferred = .ME
22−DriverVer = 03/30/2004,0.0.0.0
23−; catalog file would be used by WHQL
24−;CatalogFile = Linux.cat
14+DriverVer = 06/21/2006,6.0.6000.16384
2515
2616 [Manufacturer]
27−%Linux% = LinuxDevices,NT.5.1
17+%Linux% = LinuxDevices,NTx86,NTamd64,NTia64
18+
19+; Decoration for x86 architecture
20+[LinuxDevices.NTx86]
21+%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_0525&PID_a4ab&MI_00
2822
29−[LinuxDevices]
30−; NetChip IDs, used by both firmware modes
31−%LinuxDevice% = RNDIS, USB\VID_0525&PID_a4a2
23+; Decoration for x64 architecture
24+[LinuxDevices.NTamd64]
25+%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_0525&PID_a4ab&MI_00
3226
33−[LinuxDevices.NT.5.1]
34−%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2
27+; Decoration for ia64 architecture
28+[LinuxDevices.NTia64]
29+%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_0525&PID_a4ab&MI_00
3530
31+;@@@ This is the common setting for setup
3632 [ControlFlags]
3733 ExcludeFromSelect=*
3834
39−; Windows 98, Windows 98 Second Edition specific sections --------
40−
41−[RNDIS]
42−DeviceID = usb8023
43−MaxInstance = 512
44−DriverVer = 03/30/2004,0.0.0.0
45−AddReg = RNDIS_AddReg_98, RNDIS_AddReg_Common
46−
47−[RNDIS_AddReg_98]
48−HKR, , DevLoader, 0, *ndis
49−HKR, , DeviceVxDs, 0, usb8023.sys
50−HKR, NDIS, LogDriverName, 0, "usb8023"
51−HKR, NDIS, MajorNdisVersion, 1, 5
52−HKR, NDIS, MinorNdisVersion, 1, 0
53−HKR, Ndi\Interfaces, DefUpper, 0, "ndis3,ndis4,ndis5"
54−HKR, Ndi\Interfaces, DefLower, 0, "ethernet"
55−HKR, Ndi\Interfaces, UpperRange, 0, "ndis3,ndis4,ndis5"
56−HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
57−HKR, Ndi\Install, ndis3, 0, "RNDIS_Install_98"
58−HKR, Ndi\Install, ndis4, 0, "RNDIS_Install_98"
59−HKR, Ndi\Install, ndis5, 0, "RNDIS_Install_98"
60−HKR, Ndi, DeviceId, 0, "USB\VID_0525&PID_a4a2"
61−
62−[RNDIS_Install_98]
63−CopyFiles=RNDIS_CopyFiles_98
64−
65−[RNDIS_CopyFiles_98]
66−usb8023.sys, usb8023w.sys, , 0
67−rndismp.sys, rndismpw.sys, , 0
68−
69−; Windows Millennium Edition specific sections --------------------
70−
71−[RNDIS.ME]
72−DeviceID = usb8023
73−MaxInstance = 512
74−DriverVer = 03/30/2004,0.0.0.0
75−AddReg = RNDIS_AddReg_ME, RNDIS_AddReg_Common
76−Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI
77−BusType = 15
78−
79−[RNDIS_AddReg_ME]
80−HKR, , DevLoader, 0, *ndis
81−HKR, , DeviceVxDs, 0, usb8023.sys
82−HKR, NDIS, LogDriverName, 0, "usb8023"
83−HKR, NDIS, MajorNdisVersion, 1, 5
84−HKR, NDIS, MinorNdisVersion, 1, 0
85−HKR, Ndi\Interfaces, DefUpper, 0, "ndis3,ndis4,ndis5"
86−HKR, Ndi\Interfaces, DefLower, 0, "ethernet"
87−HKR, Ndi\Interfaces, UpperRange, 0, "ndis3,ndis4,ndis5"
88−HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
89−HKR, Ndi\Install, ndis3, 0, "RNDIS_Install_ME"
90−HKR, Ndi\Install, ndis4, 0, "RNDIS_Install_ME"
91−HKR, Ndi\Install, ndis5, 0, "RNDIS_Install_ME"
92−HKR, Ndi, DeviceId, 0, "USB\VID_0525&PID_a4a2"
93−
94−[RNDIS_Install_ME]
95−CopyFiles=RNDIS_CopyFiles_ME
96−
97−[RNDIS_CopyFiles_ME]
98−usb8023.sys, usb8023m.sys, , 0
99−rndismp.sys, rndismpm.sys, , 0
100−
101−; Windows 2000 specific sections ---------------------------------
102−
103−[RNDIS.NT]
104−Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI
105−BusType = 15
106−DriverVer = 03/30/2004,0.0.0.0
107−AddReg = RNDIS_AddReg_NT, RNDIS_AddReg_Common
108−CopyFiles = RNDIS_CopyFiles_NT
109−
110−[RNDIS.NT.Services]
111−AddService = USB_RNDIS, 2, RNDIS_ServiceInst_NT, RNDIS_EventLog
112−
113−[RNDIS_CopyFiles_NT]
114−; no rename of files on Windows 2000, use the 'k' names as is
115−usb8023k.sys, , , 0
116−rndismpk.sys, , , 0
117−
118−[RNDIS_ServiceInst_NT]
119−DisplayName = %ServiceDisplayName%
120−ServiceType = 1
121−StartType = 3
122−ErrorControl = 1
123−ServiceBinary = %12%\usb8023k.sys
124−LoadOrderGroup = NDIS
125−AddReg = RNDIS_WMI_AddReg_NT
126−
127−[RNDIS_WMI_AddReg_NT]
128−HKR, , MofImagePath, 0x00020000, "System32\drivers\rndismpk.sys"
129−
130−; Windows XP specific sections -----------------------------------
131−
35+; DDInstall section
36+; References the in-build Netrndis.inf
13237 [RNDIS.NT.5.1]
133−Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI
134−BusType = 15
135−DriverVer = 03/30/2004,0.0.0.0
136−AddReg = RNDIS_AddReg_NT, RNDIS_AddReg_Common
137−; no copyfiles - the files are already in place
138−
38+Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI
39+BusType = 15
40+; NEVER REMOVE THE FOLLOWING REFERENCE FOR NETRNDIS.INF
41+include = netrndis.inf
42+needs = Usb_Rndis.ndi
43+AddReg = Rndis_AddReg_Vista
44+
45+; DDInstal.Services section
13946 [RNDIS.NT.5.1.Services]
140−AddService = USB_RNDIS, 2, RNDIS_ServiceInst_51, RNDIS_EventLog
141−
142−[RNDIS_ServiceInst_51]
143−DisplayName = %ServiceDisplayName%
144−ServiceType = 1
145−StartType = 3
146−ErrorControl = 1
147−ServiceBinary = %12%\usb8023.sys
148−LoadOrderGroup = NDIS
149−AddReg = RNDIS_WMI_AddReg_51
150−
151−[RNDIS_WMI_AddReg_51]
152−HKR, , MofImagePath, 0x00020000, "System32\drivers\rndismp.sys"
153−
154−; Windows 2000 and Windows XP common sections --------------------
155−
156−[RNDIS_AddReg_NT]
157−HKR, Ndi, Service, 0, "USB_RNDIS"
158−HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
159−HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
160−
161−[RNDIS_EventLog]
162−AddReg = RNDIS_EventLog_AddReg
163−
164−[RNDIS_EventLog_AddReg]
165−HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll"
166−HKR, , TypesSupported, 0x00010001, 7
167−
168−; Common Sections -------------------------------------------------
169−
170−[RNDIS_AddReg_Common]
171−HKR, NDI\params\NetworkAddress, ParamDesc, 0, %NetworkAddress%
172−HKR, NDI\params\NetworkAddress, type, 0, "edit"
173−HKR, NDI\params\NetworkAddress, LimitText, 0, "12"
174−HKR, NDI\params\NetworkAddress, UpperCase, 0, "1"
175−HKR, NDI\params\NetworkAddress, default, 0, " "
176−HKR, NDI\params\NetworkAddress, optional, 0, "1"
177−
178−[SourceDisksNames]
179−1=%SourceDisk%,,1
180−
181−[SourceDisksFiles]
182−usb8023m.sys=1
183−rndismpm.sys=1
184−usb8023w.sys=1
185−rndismpw.sys=1
186−usb8023k.sys=1
187−rndismpk.sys=1
188−
189−[DestinationDirs]
190−RNDIS_CopyFiles_98 = 10, system32/drivers
191−RNDIS_CopyFiles_ME = 10, system32/drivers
192−RNDIS_CopyFiles_NT = 12
47+include = netrndis.inf
48+needs = Usb_Rndis.ndi.Services
49+
50+; Optional registry settings. You can modify as needed.
51+[RNDIS_AddReg_Vista]
52+HKR, NDI\params\VistaProperty, ParamDesc, 0, %Vista_Property%
53+HKR, NDI\params\VistaProperty, type, 0, "edit"
54+HKR, NDI\params\VistaProperty, LimitText, 0, "12"
55+HKR, NDI\params\VistaProperty, UpperCase, 0, "1"
56+HKR, NDI\params\VistaProperty, default, 0, " "
57+HKR, NDI\params\VistaProperty, optional, 0, "1"
58+
59+; No sys copyfiles - the sys files are already in-build
60+; (part of the operating system).
61+; We do not support XP SP1-, 2003 SP1-, ME, 9x.
19362
19463 [Strings]
195−ServiceDisplayName = "USB Remote NDIS Network Device Driver"
196−NetworkAddress = "Network Address"
19764 Linux = "Linux Developer Community"
19865 LinuxDevice = "Linux USB Ethernet/RNDIS Gadget"
199−SourceDisk = "Ethernet/RNDIS Gadget Driver Install Disk"
200−
66+Vista_Property = "Optional Vista Property"
Documentation/usb/mtouchusb.txt+1−5
@@ -54,10 +54,6 @@ generic functions like calibrations, resets, and vendor information can be · 53 unmodified lines
5454 requested from the userspace (And the drivers would handle the vendor specific
5555 tasks).
5656
57−ADDITIONAL INFORMATION/UPDATES/X CONFIGURATION EXAMPLE:
58−
59−http://groomlakelabs.com/grandamp/code/microtouch/
60−
6157 TODO:
6258
6359 Implement a control urb again to handle requests to and from the device
@@ -68,7 +64,7 @@ DISCLAIMER: · 4 unmodified lines
6864 I am not a MicroTouch/3M employee, nor have I ever been. 3M does not support
6965 this driver! If you want touch drivers only supported within X, please go to:
7066
71−http://www.3m.com/3MTouchSystems/downloads/
67+http://www.3m.com/3MTouchSystems/
7268
7369 THANKS:
7470
Documentation/usb/usb-serial.txt+2−2
@@ -83,7 +83,7 @@ HandSpring Visor, Palm USB, and Clié USB driver · 82 unmodified lines
8383 parameters. e.g. modprobe visor vendor=0x54c product=0x66
8484
8585 There is a webpage and mailing lists for this portion of the driver at:
86− http://usbvisor.sourceforge.net/
86+ http://sourceforge.net/projects/usbvisor/
8787
8888 For any questions or problems with this driver, please contact Greg
8989 Kroah-Hartman at greg@kroah.com
@@ -184,7 +184,7 @@ Keyspan USA-series Serial Adapters · 94 unmodified lines
184184 functionality.
185185
186186 More information is available at:
187− http://misc.nu/hugh/keyspan.html
187+ http://www.carnationsoftware.com/carnation/Keyspan.html
188188
189189 For any questions or problems with this driver, please contact Hugh
190190 Blemings at hugh@misc.nu
Documentation/video4linux/API.html+1−1
@@ -17,7 +17,7 @@ · 16 unmodified lines
1717 </tr>
1818 <tr>
1919 <td>
20− <a href="http://www.linuxtv.org/downloads/video4linux/API/V4L2_API">V4L2 API</a>
20+ <a href="http://v4l2spec.bytesex.org/spec-single/v4l2.html">V4L2 API</a>
2121 </td>
2222 <td>Should be used for new projects
2323 </td>
Documentation/video4linux/CARDLIST.cx23885+3−3
@@ -17,9 +17,9 @@ · 16 unmodified lines
1717 16 -> DVBWorld DVB-S2 2005 [0001:2005]
1818 17 -> NetUP Dual DVB-S2 CI [1b55:2a2c]
1919 18 -> Hauppauge WinTV-HVR1270 [0070:2211]
20− 19 -> Hauppauge WinTV-HVR1275 [0070:2215]
21− 20 -> Hauppauge WinTV-HVR1255 [0070:2251]
22− 21 -> Hauppauge WinTV-HVR1210 [0070:2291,0070:2295]
20+ 19 -> Hauppauge WinTV-HVR1275 [0070:2215,0070:221d,0070:22f2]
21+ 20 -> Hauppauge WinTV-HVR1255 [0070:2251,0070:2259,0070:22f1]
22+ 21 -> Hauppauge WinTV-HVR1210 [0070:2291,0070:2295,0070:2299,0070:229d,0070:22f0,0070:22f3,0070:22f4,0070:22f5]
2323 22 -> Mygica X8506 DMB-TH [14f1:8651]
2424 23 -> Magic-Pro ProHDTV Extreme 2 [14f1:8657]
2525 24 -> Hauppauge WinTV-HVR1850 [0070:8541]
Documentation/video4linux/CARDLIST.em28xx+1−0
@@ -72,3 +72,4 @@ · 71 unmodified lines
7272 73 -> Reddo DVB-C USB TV Box (em2870)
7373 74 -> Actionmaster/LinXcel/Digitus VC211A (em2800)
7474 75 -> Dikom DK300 (em2882)
75+ 76 -> KWorld PlusTV 340U or UB435-Q (ATSC) (em2870) [1b80:a340]
Documentation/video4linux/CARDLIST.saa7134+2−1
@@ -178,4 +178,5 @@ · 177 unmodified lines
178178 177 -> Hawell HW-404M7
179179 178 -> Beholder BeholdTV H7 [5ace:7190]
180180 179 -> Beholder BeholdTV A7 [5ace:7090]
181−180 -> Avermedia M733A [1461:4155,1461:4255]
181+180 -> Avermedia PCI M733A [1461:4155,1461:4255]
182+181 -> TechoTrend TT-budget T-3000 [13c2:2804]
Documentation/video4linux/CQcam.txt+2−2
@@ -203,11 +203,11 @@ The V4L2 API spec: · 202 unmodified lines
203203 http://v4l2spec.bytesex.org/
204204
205205 Some web pages about the quickcams:
206− http://www.dkfz-heidelberg.de/Macromol/wedemann/mini-HOWTO-cqcam.html
206+ http://www.pingouin-land.com/howto/QuickCam-HOWTO.html
207207
208208 http://www.crynwr.com/qcpc/ QuickCam Third-Party Drivers
209209 http://www.crynwr.com/qcpc/re.html Some Reverse Engineering
210− http://cse.unl.edu/~cluening/gqcam/ v4l client
210+ http://www.wirelesscouch.net/software/gqcam/ v4l client
211211 http://phobos.illtel.denver.co.us/pub/qcread/ doesn't use v4l
212212 ftp://ftp.cs.unm.edu/pub/chris/quickcam/ Has lots of drivers
213213 http://www.cs.duke.edu/~reynolds/quickcam/ Has lots of information
Documentation/video4linux/README.cpia+1−1
@@ -185,7 +185,7 @@ THANKS (in no particular order): · 184 unmodified lines
185185 ---------------------------------------------------------------------------
186186 REFERENCES
187187
188− 1. http://www.risc.uni-linz.ac.at/people/ppregler
188+ 1. http://www.risc.uni-linz.ac.at/
189189 mailto:Peter_Pregler@email.com
190190 2. see the file COPYING in the top directory of the kernel tree
191191 3. http://webcam.sourceforge.net/
Documentation/video4linux/README.ivtv+1−1
@@ -10,7 +10,7 @@ Hauppauge PVR-350. · 9 unmodified lines
1010 NOTE: this driver requires the latest encoder firmware (version 2.06.039, size
1111 376836 bytes). Get the firmware from here:
1212
13−http://dl.ivtvdriver.org/ivtv/firmware/firmware.tar.gz
13+http://dl.ivtvdriver.org/ivtv/firmware/
1414
1515 NOTE: 'normal' TV applications do not work with this driver, you need
1616 an application that can handle MPEG input such as mplayer, xine, MythTV,
Documentation/video4linux/Zoran+3−3
@@ -174,7 +174,7 @@ and is used in Argentinia, Uruguay, an a few others · 173 unmodified lines
174174 We do not talk about how the audio is broadcast !
175175
176176 A rather good sites about the TV standards are:
177−http://www.sony.jp/ServiceArea/Voltage_map/
177+http://www.sony.jp/support/
178178 http://info.electronicwerkstatt.de/bereiche/fernsehtechnik/frequenzen_und_normen/Fernsehnormen/
179179 and http://www.cabl.com/restaurant/channel.html
180180
@@ -330,7 +330,7 @@ These extensions are known as the v4l/mjpeg extensions. See zoran.h for · 149 unmodified lines
330330 details (structs/ioctls).
331331
332332 Information - video4linux:
333−http://roadrunner.swansea.linux.org.uk/v4lapi.shtml
333+http://linux.bytesex.org/v4l2/API.html
334334 Documentation/video4linux/API.html
335335 /usr/include/linux/videodev.h
336336
@@ -390,7 +390,7 @@ BUZIOC_G_STATUS · 53 unmodified lines
390390 Get the status of the input lines (video source connected/norm).
391391
392392 For programming example, please, look at lavrec.c and lavplay.c code in
393−lavtools-1.2p2 package (URL: http://www.cicese.mx/~mirsev/DC10plus/)
393+lavtools-1.2p2 package (URL: http://www.cicese.mx/)
394394 and the 'examples' directory in the original Buz driver distribution.
395395
396396 Additional notes for software developers:
Documentation/video4linux/bttv/Cards+3−3
@@ -802,7 +802,7 @@ Kworld (www.kworld.com.tw) · 801 unmodified lines
802802
803803
804804
805−JTT/ Justy Corp.http://www.justy.co.jp/ (www.jtt.com.jp website down)
805+JTT/ Justy Corp.(http://www.jtt.ne.jp/)
806806 ---------------------------------------------------------------------
807807 JTT-02 (JTT TV) "TV watchmate pro" (bt848)
808808
@@ -828,7 +828,7 @@ Eline www.eline-net.com/ · 19 unmodified lines
828828 Eline Vision TVMaster / TVMaster FM (ELV-TVM/ ELV-TVM-FM) = LR26 (bt878)
829829 Eline Vision TVMaster-2000 (ELV-TVM-2000, ELV-TVM-2000-FM)= LR138 (saa713x)
830830
831−Spirit http://www.spiritmodems.com.au/
831+Spirit
832832 ------
833833 Spirit TV Tuner/Video Capture Card (bt848)
834834
@@ -959,6 +959,6 @@ Asus www.asuscom.com · 124 unmodified lines
959959
960960 Hoontech
961961 --------
962−http://www.hoontech.com/korean/download/down_driver_list03.html
962+http://www.hoontech.de/
963963 HART Vision 848 (H-ART Vision 848)
964964 HART Vision 878 (H-Art Vision 878)
Documentation/video4linux/bttv/MAKEDEV+1−1
@@ -14,7 +14,7 @@ function makedev () { · 13 unmodified lines
1414 ln -s /dev/${1}0 /dev/$1
1515 }
1616
17−# see http://roadrunner.swansea.uk.linux.org/v4lapi.shtml
17+# see http://linux.bytesex.org/v4l2/API.html
1818
1919 echo "*** new device names ***"
2020 makedev video 0
Documentation/video4linux/bttv/Specs+2−2
@@ -1,3 +1,3 @@
11 Philips http://www.Semiconductors.COM/pip/
2−Conexant http://www.conexant.com/techinfo/default.asp
3−Micronas http://www.micronas.de/pages/product_documentation/index.html
2+Conexant http://www.conexant.com/
3+Micronas http://www.micronas.com/en/home/index.html
Documentation/video4linux/cx88/hauppauge-wintv-cx88-ir.txt+1−1
@@ -44,7 +44,7 @@ http://www.atmel.com/dyn/resources/prod_documents/doc2817.pdf · 43 unmodified lines
4444 This data sheet (google search) seems to have a lovely description of the
4545 RC5 basics
4646
47−http://users.pandora.be/nenya/electronics/rc5/ and more data
47+http://www.nenya.be/beor/electronics/rc5.htm and more data
4848
4949 http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt
5050 and even a reference to how to decode a bi-phase data stream.
Documentation/video4linux/gspca.txt+8−0
@@ -29,8 +29,12 @@ zc3xx 041e:4029 Creative WebCam Vista Pro · 28 unmodified lines
2929 zc3xx 041e:4034 Creative Instant P0620
3030 zc3xx 041e:4035 Creative Instant P0620D
3131 zc3xx 041e:4036 Creative Live !
32+sq930x 041e:4038 Creative Joy-IT
3233 zc3xx 041e:403a Creative Nx Pro 2
3334 spca561 041e:403b Creative Webcam Vista (VF0010)
35+sq930x 041e:403c Creative Live! Ultra
36+sq930x 041e:403d Creative Live! Ultra for Notebooks
37+sq930x 041e:4041 Creative Live! Motion
3438 zc3xx 041e:4051 Creative Live!Cam Notebook Pro (VF0250)
3539 ov519 041e:4052 Creative Live! VISTA IM
3640 zc3xx 041e:4053 Creative Live!Cam Video IM
@@ -138,6 +142,7 @@ finepix 04cb:013d Fujifilm FinePix unknown model · 101 unmodified lines
138142 finepix 04cb:013f Fujifilm FinePix F420
139143 sunplus 04f1:1001 JVC GC A50
140144 spca561 04fc:0561 Flexcam 100
145+spca1528 04fc:1528 Sunplus MD80 clone
141146 sunplus 04fc:500c Sunplus CA500C
142147 sunplus 04fc:504a Aiptek Mini PenCam 1.3
143148 sunplus 04fc:504b Maxell MaxPocket LE 1.3
@@ -253,6 +258,7 @@ pac7302 093a:2620 Apollo AC-905 · 109 unmodified lines
253258 pac7302 093a:2621 PAC731x
254259 pac7302 093a:2622 Genius Eye 312
255260 pac7302 093a:2624 PAC7302
261+pac7302 093a:2625 Genius iSlim 310
256262 pac7302 093a:2626 Labtec 2200
257263 pac7302 093a:2628 Genius iLook 300
258264 pac7302 093a:2629 Genious iSlim 300
@@ -362,6 +368,8 @@ sq905c 2770:9052 Disney pix micro 2 (VGA) · 103 unmodified lines
362368 sq905c 2770:905c All 11 known cameras with this ID
363369 sq905 2770:9120 All 24 known cameras with this ID
364370 sq905c 2770:913d All 4 known cameras with this ID
371+sq930x 2770:930b Sweex Motion Tracking / I-Tec iCam Tracer
372+sq930x 2770:930c Trust WB-3500T / NSG Robbie 2.0
365373 spca500 2899:012c Toptro Industrial
366374 ov519 8020:ef04 ov519
367375 spca508 8086:0110 Intel Easy PC Camera
Documentation/video4linux/hauppauge-wintv-cx88-ir.txt+1−1
@@ -44,7 +44,7 @@ http://www.atmel.com/dyn/resources/prod_documents/doc2817.pdf · 43 unmodified lines
4444 This data sheet (google search) seems to have a lovely description of the
4545 RC5 basics
4646
47−http://users.pandora.be/nenya/electronics/rc5/ and more data
47+http://www.nenya.be/beor/electronics/rc5.htm and more data
4848
4949 http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt
5050 and even a reference to how to decode a bi-phase data stream.
Documentation/video4linux/ibmcam.txt+2−3
@@ -27,9 +27,8 @@ SUPPORTED CAMERAS: · 26 unmodified lines
2727
2828 Xirlink "C-It" camera, also known as "IBM PC Camera".
2929 The device uses proprietary ASIC (and compression method);
30−it is manufactured by Xirlink. See http://www.xirlink.com/
31−(renamed to http://www.veo.com), http://www.ibmpccamera.com,
32−or http://www.c-itnow.com/ for details and pictures.
30+it is manufactured by Xirlink. See http://xirlinkwebcam.sourceforge.net,
31+http://www.ibmpccamera.com, or http://www.c-itnow.com/ for details and pictures.
3332
3433 This very chipset ("X Chip", as marked at the factory)
3534 is used in several other cameras, and they are supported
Documentation/video4linux/se401.txt+1−1
@@ -49,6 +49,6 @@ order to increase the throughput (and thus framerate). · 48 unmodified lines
4949 HELP:
5050
5151 The latest info on this driver can be found at:
52−http://www.chello.nl/~j.vreeken/se401/
52+http://members.chello.nl/~j.vreeken/se401/
5353 And questions to me can be send to:
5454 pe1rxq@amsat.org
Documentation/video4linux/v4l2-controls.txt+648−0
@@ -0,0 +1,648 @@
1+Introduction
2+============
3+
4+The V4L2 control API seems simple enough, but quickly becomes very hard to
5+implement correctly in drivers. But much of the code needed to handle controls
6+is actually not driver specific and can be moved to the V4L core framework.
7+
8+After all, the only part that a driver developer is interested in is:
9+
10+1) How do I add a control?
11+2) How do I set the control's value? (i.e. s_ctrl)
12+
13+And occasionally:
14+
15+3) How do I get the control's value? (i.e. g_volatile_ctrl)
16+4) How do I validate the user's proposed control value? (i.e. try_ctrl)
17+
18+All the rest is something that can be done centrally.
19+
20+The control framework was created in order to implement all the rules of the
21+V4L2 specification with respect to controls in a central place. And to make
22+life as easy as possible for the driver developer.
23+
24+Note that the control framework relies on the presence of a struct v4l2_device
25+for V4L2 drivers and struct v4l2_subdev for sub-device drivers.
26+
27+
28+Objects in the framework
29+========================
30+
31+There are two main objects:
32+
33+The v4l2_ctrl object describes the control properties and keeps track of the
34+control's value (both the current value and the proposed new value).
35+
36+v4l2_ctrl_handler is the object that keeps track of controls. It maintains a
37+list of v4l2_ctrl objects that it owns and another list of references to
38+controls, possibly to controls owned by other handlers.
39+
40+
41+Basic usage for V4L2 and sub-device drivers
42+===========================================
43+
44+1) Prepare the driver:
45+
46+1.1) Add the handler to your driver's top-level struct:
47+
48+ struct foo_dev {
49+ ...
50+ struct v4l2_ctrl_handler ctrl_handler;
51+ ...
52+ };
53+
54+ struct foo_dev *foo;
55+
56+1.2) Initialize the handler:
57+
58+ v4l2_ctrl_handler_init(&foo->ctrl_handler, nr_of_controls);
59+
60+ The second argument is a hint telling the function how many controls this
61+ handler is expected to handle. It will allocate a hashtable based on this
62+ information. It is a hint only.
63+
64+1.3) Hook the control handler into the driver:
65+
66+1.3.1) For V4L2 drivers do this:
67+
68+ struct foo_dev {
69+ ...
70+ struct v4l2_device v4l2_dev;
71+ ...
72+ struct v4l2_ctrl_handler ctrl_handler;
73+ ...
74+ };
75+
76+ foo->v4l2_dev.ctrl_handler = &foo->ctrl_handler;
77+
78+ Where foo->v4l2_dev is of type struct v4l2_device.
79+
80+ Finally, remove all control functions from your v4l2_ioctl_ops:
81+ vidioc_queryctrl, vidioc_querymenu, vidioc_g_ctrl, vidioc_s_ctrl,
82+ vidioc_g_ext_ctrls, vidioc_try_ext_ctrls and vidioc_s_ext_ctrls.
83+ Those are now no longer needed.
84+
85+1.3.2) For sub-device drivers do this:
86+
87+ struct foo_dev {
88+ ...
89+ struct v4l2_subdev sd;
90+ ...
91+ struct v4l2_ctrl_handler ctrl_handler;
92+ ...
93+ };
94+
95+ foo->sd.ctrl_handler = &foo->ctrl_handler;
96+
97+ Where foo->sd is of type struct v4l2_subdev.
98+
99+ And set all core control ops in your struct v4l2_subdev_core_ops to these
100+ helpers:
101+
102+ .queryctrl = v4l2_subdev_queryctrl,
103+ .querymenu = v4l2_subdev_querymenu,
104+ .g_ctrl = v4l2_subdev_g_ctrl,
105+ .s_ctrl = v4l2_subdev_s_ctrl,
106+ .g_ext_ctrls = v4l2_subdev_g_ext_ctrls,
107+ .try_ext_ctrls = v4l2_subdev_try_ext_ctrls,
108+ .s_ext_ctrls = v4l2_subdev_s_ext_ctrls,
109+
110+ Note: this is a temporary solution only. Once all V4L2 drivers that depend
111+ on subdev drivers are converted to the control framework these helpers will
112+ no longer be needed.
113+
114+1.4) Clean up the handler at the end:
115+
116+ v4l2_ctrl_handler_free(&foo->ctrl_handler);
117+
118+
119+2) Add controls:
120+
121+You add non-menu controls by calling v4l2_ctrl_new_std:
122+
123+ struct v4l2_ctrl *v4l2_ctrl_new_std(struct v4l2_ctrl_handler *hdl,
124+ const struct v4l2_ctrl_ops *ops,
125+ u32 id, s32 min, s32 max, u32 step, s32 def);
126+
127+Menu controls are added by calling v4l2_ctrl_new_std_menu:
128+
129+ struct v4l2_ctrl *v4l2_ctrl_new_std_menu(struct v4l2_ctrl_handler *hdl,
130+ const struct v4l2_ctrl_ops *ops,
131+ u32 id, s32 max, s32 skip_mask, s32 def);
132+
133+These functions are typically called right after the v4l2_ctrl_handler_init:
134+
135+ v4l2_ctrl_handler_init(&foo->ctrl_handler, nr_of_controls);
136+ v4l2_ctrl_new_std(&foo->ctrl_handler, &foo_ctrl_ops,
137+ V4L2_CID_BRIGHTNESS, 0, 255, 1, 128);
138+ v4l2_ctrl_new_std(&foo->ctrl_handler, &foo_ctrl_ops,
139+ V4L2_CID_CONTRAST, 0, 255, 1, 128);
140+ v4l2_ctrl_new_std_menu(&foo->ctrl_handler, &foo_ctrl_ops,
141+ V4L2_CID_POWER_LINE_FREQUENCY,
142+ V4L2_CID_POWER_LINE_FREQUENCY_60HZ, 0,
143+ V4L2_CID_POWER_LINE_FREQUENCY_DISABLED);
144+ ...
145+ if (foo->ctrl_handler.error) {
146+ int err = foo->ctrl_handler.error;
147+
148+ v4l2_ctrl_handler_free(&foo->ctrl_handler);
149+ return err;
150+ }
151+
152+The v4l2_ctrl_new_std function returns the v4l2_ctrl pointer to the new
153+control, but if you do not need to access the pointer outside the control ops,
154+then there is no need to store it.
155+
156+The v4l2_ctrl_new_std function will fill in most fields based on the control
157+ID except for the min, max, step and default values. These are passed in the
158+last four arguments. These values are driver specific while control attributes
159+like type, name, flags are all global. The control's current value will be set
160+to the default value.
161+
162+The v4l2_ctrl_new_std_menu function is very similar but it is used for menu
163+controls. There is no min argument since that is always 0 for menu controls,
164+and instead of a step there is a skip_mask argument: if bit X is 1, then menu
165+item X is skipped.
166+
167+Note that if something fails, the function will return NULL or an error and
168+set ctrl_handler->error to the error code. If ctrl_handler->error was already
169+set, then it will just return and do nothing. This is also true for
170+v4l2_ctrl_handler_init if it cannot allocate the internal data structure.
171+
172+This makes it easy to init the handler and just add all controls and only check
173+the error code at the end. Saves a lot of repetitive error checking.
174+
175+It is recommended to add controls in ascending control ID order: it will be
176+a bit faster that way.
177+
178+3) Optionally force initial control setup:
179+
180+ v4l2_ctrl_handler_setup(&foo->ctrl_handler);
181+
182+This will call s_ctrl for all controls unconditionally. Effectively this
183+initializes the hardware to the default control values. It is recommended
184+that you do this as this ensures that both the internal data structures and
185+the hardware are in sync.
186+
187+4) Finally: implement the v4l2_ctrl_ops
188+
189+ static const struct v4l2_ctrl_ops foo_ctrl_ops = {
190+ .s_ctrl = foo_s_ctrl,
191+ };
192+
193+Usually all you need is s_ctrl:
194+
195+ static int foo_s_ctrl(struct v4l2_ctrl *ctrl)
196+ {
197+ struct foo *state = container_of(ctrl->handler, struct foo, ctrl_handler);
198+
199+ switch (ctrl->id) {
200+ case V4L2_CID_BRIGHTNESS:
201+ write_reg(0x123, ctrl->val);
202+ break;
203+ case V4L2_CID_CONTRAST:
204+ write_reg(0x456, ctrl->val);
205+ break;
206+ }
207+ return 0;
208+ }
209+
210+The control ops are called with the v4l2_ctrl pointer as argument.
211+The new control value has already been validated, so all you need to do is
212+to actually update the hardware registers.
213+
214+You're done! And this is sufficient for most of the drivers we have. No need
215+to do any validation of control values, or implement QUERYCTRL/QUERYMENU. And
216+G/S_CTRL as well as G/TRY/S_EXT_CTRLS are automatically supported.
217+
218+
219+==============================================================================
220+
221+The remainder of this document deals with more advanced topics and scenarios.
222+In practice the basic usage as described above is sufficient for most drivers.
223+
224+===============================================================================
225+
226+
227+Inheriting Controls
228+===================
229+
230+When a sub-device is registered with a V4L2 driver by calling
231+v4l2_device_register_subdev() and the ctrl_handler fields of both v4l2_subdev
232+and v4l2_device are set, then the controls of the subdev will become
233+automatically available in the V4L2 driver as well. If the subdev driver
234+contains controls that already exist in the V4L2 driver, then those will be
235+skipped (so a V4L2 driver can always override a subdev control).
236+
237+What happens here is that v4l2_device_register_subdev() calls
238+v4l2_ctrl_add_handler() adding the controls of the subdev to the controls
239+of v4l2_device.
240+
241+
242+Accessing Control Values
243+========================
244+
245+The v4l2_ctrl struct contains these two unions:
246+
247+ /* The current control value. */
248+ union {
249+ s32 val;
250+ s64 val64;
251+ char *string;
252+ } cur;
253+
254+ /* The new control value. */
255+ union {
256+ s32 val;
257+ s64 val64;
258+ char *string;
259+ };
260+
261+Within the control ops you can freely use these. The val and val64 speak for
262+themselves. The string pointers point to character buffers of length
263+ctrl->maximum + 1, and are always 0-terminated.
264+
265+In most cases 'cur' contains the current cached control value. When you create
266+a new control this value is made identical to the default value. After calling
267+v4l2_ctrl_handler_setup() this value is passed to the hardware. It is generally
268+a good idea to call this function.
269+
270+Whenever a new value is set that new value is automatically cached. This means
271+that most drivers do not need to implement the g_volatile_ctrl() op. The
272+exception is for controls that return a volatile register such as a signal
273+strength read-out that changes continuously. In that case you will need to
274+implement g_volatile_ctrl like this:
275+
276+ static int foo_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
277+ {
278+ switch (ctrl->id) {
279+ case V4L2_CID_BRIGHTNESS:
280+ ctrl->cur.val = read_reg(0x123);
281+ break;
282+ }
283+ }
284+
285+The 'new value' union is not used in g_volatile_ctrl. In general controls
286+that need to implement g_volatile_ctrl are read-only controls.
287+
288+To mark a control as volatile you have to set the is_volatile flag:
289+
290+ ctrl = v4l2_ctrl_new_std(&sd->ctrl_handler, ...);
291+ if (ctrl)
292+ ctrl->is_volatile = 1;
293+
294+For try/s_ctrl the new values (i.e. as passed by the user) are filled in and
295+you can modify them in try_ctrl or set them in s_ctrl. The 'cur' union
296+contains the current value, which you can use (but not change!) as well.
297+
298+If s_ctrl returns 0 (OK), then the control framework will copy the new final
299+values to the 'cur' union.
300+
301+While in g_volatile/s/try_ctrl you can access the value of all controls owned
302+by the same handler since the handler's lock is held. If you need to access
303+the value of controls owned by other handlers, then you have to be very careful
304+not to introduce deadlocks.
305+
306+Outside of the control ops you have to go through to helper functions to get
307+or set a single control value safely in your driver:
308+
309+ s32 v4l2_ctrl_g_ctrl(struct v4l2_ctrl *ctrl);
310+ int v4l2_ctrl_s_ctrl(struct v4l2_ctrl *ctrl, s32 val);
311+
312+These functions go through the control framework just as VIDIOC_G/S_CTRL ioctls
313+do. Don't use these inside the control ops g_volatile/s/try_ctrl, though, that
314+will result in a deadlock since these helpers lock the handler as well.
315+
316+You can also take the handler lock yourself:
317+
318+ mutex_lock(&state->ctrl_handler.lock);
319+ printk(KERN_INFO "String value is '%s'\n", ctrl1->cur.string);
320+ printk(KERN_INFO "Integer value is '%s'\n", ctrl2->cur.val);
321+ mutex_unlock(&state->ctrl_handler.lock);
322+
323+
324+Menu Controls
325+=============
326+
327+The v4l2_ctrl struct contains this union:
328+
329+ union {
330+ u32 step;
331+ u32 menu_skip_mask;
332+ };
333+
334+For menu controls menu_skip_mask is used. What it does is that it allows you
335+to easily exclude certain menu items. This is used in the VIDIOC_QUERYMENU
336+implementation where you can return -EINVAL if a certain menu item is not
337+present. Note that VIDIOC_QUERYCTRL always returns a step value of 1 for
338+menu controls.
339+
340+A good example is the MPEG Audio Layer II Bitrate menu control where the
341+menu is a list of standardized possible bitrates. But in practice hardware
342+implementations will only support a subset of those. By setting the skip
343+mask you can tell the framework which menu items should be skipped. Setting
344+it to 0 means that all menu items are supported.
345+
346+You set this mask either through the v4l2_ctrl_config struct for a custom
347+control, or by calling v4l2_ctrl_new_std_menu().
348+
349+
350+Custom Controls
351+===============
352+
353+Driver specific controls can be created using v4l2_ctrl_new_custom():
354+
355+ static const struct v4l2_ctrl_config ctrl_filter = {
356+ .ops = &ctrl_custom_ops,
357+ .id = V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER,
358+ .name = "Spatial Filter",
359+ .type = V4L2_CTRL_TYPE_INTEGER,
360+ .flags = V4L2_CTRL_FLAG_SLIDER,
361+ .max = 15,
362+ .step = 1,
363+ };
364+
365+ ctrl = v4l2_ctrl_new_custom(&foo->ctrl_handler, &ctrl_filter, NULL);
366+
367+The last argument is the priv pointer which can be set to driver-specific
368+private data.
369+
370+The v4l2_ctrl_config struct also has fields to set the is_private and is_volatile
371+flags.
372+
373+If the name field is not set, then the framework will assume this is a standard
374+control and will fill in the name, type and flags fields accordingly.
375+
376+
377+Active and Grabbed Controls
378+===========================
379+
380+If you get more complex relationships between controls, then you may have to
381+activate and deactivate controls. For example, if the Chroma AGC control is
382+on, then the Chroma Gain control is inactive. That is, you may set it, but
383+the value will not be used by the hardware as long as the automatic gain
384+control is on. Typically user interfaces can disable such input fields.
385+
386+You can set the 'active' status using v4l2_ctrl_activate(). By default all
387+controls are active. Note that the framework does not check for this flag.
388+It is meant purely for GUIs. The function is typically called from within
389+s_ctrl.
390+
391+The other flag is the 'grabbed' flag. A grabbed control means that you cannot
392+change it because it is in use by some resource. Typical examples are MPEG
393+bitrate controls that cannot be changed while capturing is in progress.
394+
395+If a control is set to 'grabbed' using v4l2_ctrl_grab(), then the framework
396+will return -EBUSY if an attempt is made to set this control. The
397+v4l2_ctrl_grab() function is typically called from the driver when it
398+starts or stops streaming.
399+
400+
401+Control Clusters
402+================
403+
404+By default all controls are independent from the others. But in more
405+complex scenarios you can get dependencies from one control to another.
406+In that case you need to 'cluster' them:
407+
408+ struct foo {
409+ struct v4l2_ctrl_handler ctrl_handler;
410+#define AUDIO_CL_VOLUME (0)
411+#define AUDIO_CL_MUTE (1)
412+ struct v4l2_ctrl *audio_cluster[2];
413+ ...
414+ };
415+
416+ state->audio_cluster[AUDIO_CL_VOLUME] =
417+ v4l2_ctrl_new_std(&state->ctrl_handler, ...);
418+ state->audio_cluster[AUDIO_CL_MUTE] =
419+ v4l2_ctrl_new_std(&state->ctrl_handler, ...);
420+ v4l2_ctrl_cluster(ARRAY_SIZE(state->audio_cluster), state->audio_cluster);
421+
422+From now on whenever one or more of the controls belonging to the same
423+cluster is set (or 'gotten', or 'tried'), only the control ops of the first
424+control ('volume' in this example) is called. You effectively create a new
425+composite control. Similar to how a 'struct' works in C.
426+
427+So when s_ctrl is called with V4L2_CID_AUDIO_VOLUME as argument, you should set
428+all two controls belonging to the audio_cluster:
429+
430+ static int foo_s_ctrl(struct v4l2_ctrl *ctrl)
431+ {
432+ struct foo *state = container_of(ctrl->handler, struct foo, ctrl_handler);
433+
434+ switch (ctrl->id) {
435+ case V4L2_CID_AUDIO_VOLUME: {
436+ struct v4l2_ctrl *mute = ctrl->cluster[AUDIO_CL_MUTE];
437+
438+ write_reg(0x123, mute->val ? 0 : ctrl->val);
439+ break;
440+ }
441+ case V4L2_CID_CONTRAST:
442+ write_reg(0x456, ctrl->val);
443+ break;
444+ }
445+ return 0;
446+ }
447+
448+In the example above the following are equivalent for the VOLUME case:
449+
450+ ctrl == ctrl->cluster[AUDIO_CL_VOLUME] == state->audio_cluster[AUDIO_CL_VOLUME]
451+ ctrl->cluster[AUDIO_CL_MUTE] == state->audio_cluster[AUDIO_CL_MUTE]
452+
453+Note that controls in a cluster may be NULL. For example, if for some
454+reason mute was never added (because the hardware doesn't support that
455+particular feature), then mute will be NULL. So in that case we have a
456+cluster of 2 controls, of which only 1 is actually instantiated. The
457+only restriction is that the first control of the cluster must always be
458+present, since that is the 'master' control of the cluster. The master
459+control is the one that identifies the cluster and that provides the
460+pointer to the v4l2_ctrl_ops struct that is used for that cluster.
461+
462+Obviously, all controls in the cluster array must be initialized to either
463+a valid control or to NULL.
464+
465+
466+VIDIOC_LOG_STATUS Support
467+=========================
468+
469+This ioctl allow you to dump the current status of a driver to the kernel log.
470+The v4l2_ctrl_handler_log_status(ctrl_handler, prefix) can be used to dump the
471+value of the controls owned by the given handler to the log. You can supply a
472+prefix as well. If the prefix didn't end with a space, then ': ' will be added
473+for you.
474+
475+
476+Different Handlers for Different Video Nodes
477+============================================
478+
479+Usually the V4L2 driver has just one control handler that is global for
480+all video nodes. But you can also specify different control handlers for
481+different video nodes. You can do that by manually setting the ctrl_handler
482+field of struct video_device.
483+
484+That is no problem if there are no subdevs involved but if there are, then
485+you need to block the automatic merging of subdev controls to the global
486+control handler. You do that by simply setting the ctrl_handler field in
487+struct v4l2_device to NULL. Now v4l2_device_register_subdev() will no longer
488+merge subdev controls.
489+
490+After each subdev was added, you will then have to call v4l2_ctrl_add_handler
491+manually to add the subdev's control handler (sd->ctrl_handler) to the desired
492+control handler. This control handler may be specific to the video_device or
493+for a subset of video_device's. For example: the radio device nodes only have
494+audio controls, while the video and vbi device nodes share the same control
495+handler for the audio and video controls.
496+
497+If you want to have one handler (e.g. for a radio device node) have a subset
498+of another handler (e.g. for a video device node), then you should first add
499+the controls to the first handler, add the other controls to the second
500+handler and finally add the first handler to the second. For example:
501+
502+ v4l2_ctrl_new_std(&radio_ctrl_handler, &radio_ops, V4L2_CID_AUDIO_VOLUME, ...);
503+ v4l2_ctrl_new_std(&radio_ctrl_handler, &radio_ops, V4L2_CID_AUDIO_MUTE, ...);
504+ v4l2_ctrl_new_std(&video_ctrl_handler, &video_ops, V4L2_CID_BRIGHTNESS, ...);
505+ v4l2_ctrl_new_std(&video_ctrl_handler, &video_ops, V4L2_CID_CONTRAST, ...);
506+ v4l2_ctrl_add_handler(&video_ctrl_handler, &radio_ctrl_handler);
507+
508+Or you can add specific controls to a handler:
509+
510+ volume = v4l2_ctrl_new_std(&video_ctrl_handler, &ops, V4L2_CID_AUDIO_VOLUME, ...);
511+ v4l2_ctrl_new_std(&video_ctrl_handler, &ops, V4L2_CID_BRIGHTNESS, ...);
512+ v4l2_ctrl_new_std(&video_ctrl_handler, &ops, V4L2_CID_CONTRAST, ...);
513+ v4l2_ctrl_add_ctrl(&radio_ctrl_handler, volume);
514+
515+What you should not do is make two identical controls for two handlers.
516+For example:
517+
518+ v4l2_ctrl_new_std(&radio_ctrl_handler, &radio_ops, V4L2_CID_AUDIO_MUTE, ...);
519+ v4l2_ctrl_new_std(&video_ctrl_handler, &video_ops, V4L2_CID_AUDIO_MUTE, ...);
520+
521+This would be bad since muting the radio would not change the video mute
522+control. The rule is to have one control for each hardware 'knob' that you
523+can twiddle.
524+
525+
526+Finding Controls
527+================
528+
529+Normally you have created the controls yourself and you can store the struct
530+v4l2_ctrl pointer into your own struct.
531+
532+But sometimes you need to find a control from another handler that you do
533+not own. For example, if you have to find a volume control from a subdev.
534+
535+You can do that by calling v4l2_ctrl_find:
536+
537+ struct v4l2_ctrl *volume;
538+
539+ volume = v4l2_ctrl_find(sd->ctrl_handler, V4L2_CID_AUDIO_VOLUME);
540+
541+Since v4l2_ctrl_find will lock the handler you have to be careful where you
542+use it. For example, this is not a good idea:
543+
544+ struct v4l2_ctrl_handler ctrl_handler;
545+
546+ v4l2_ctrl_new_std(&ctrl_handler, &video_ops, V4L2_CID_BRIGHTNESS, ...);
547+ v4l2_ctrl_new_std(&ctrl_handler, &video_ops, V4L2_CID_CONTRAST, ...);
548+
549+...and in video_ops.s_ctrl:
550+
551+ case V4L2_CID_BRIGHTNESS:
552+ contrast = v4l2_find_ctrl(&ctrl_handler, V4L2_CID_CONTRAST);
553+ ...
554+
555+When s_ctrl is called by the framework the ctrl_handler.lock is already taken, so
556+attempting to find another control from the same handler will deadlock.
557+
558+It is recommended not to use this function from inside the control ops.
559+
560+
561+Inheriting Controls
562+===================
563+
564+When one control handler is added to another using v4l2_ctrl_add_handler, then
565+by default all controls from one are merged to the other. But a subdev might
566+have low-level controls that make sense for some advanced embedded system, but
567+not when it is used in consumer-level hardware. In that case you want to keep
568+those low-level controls local to the subdev. You can do this by simply
569+setting the 'is_private' flag of the control to 1:
570+
571+ static const struct v4l2_ctrl_config ctrl_private = {
572+ .ops = &ctrl_custom_ops,
573+ .id = V4L2_CID_...,
574+ .name = "Some Private Control",
575+ .type = V4L2_CTRL_TYPE_INTEGER,
576+ .max = 15,
577+ .step = 1,
578+ .is_private = 1,
579+ };
580+
581+ ctrl = v4l2_ctrl_new_custom(&foo->ctrl_handler, &ctrl_private, NULL);
582+
583+These controls will now be skipped when v4l2_ctrl_add_handler is called.
584+
585+
586+V4L2_CTRL_TYPE_CTRL_CLASS Controls
587+==================================
588+
589+Controls of this type can be used by GUIs to get the name of the control class.
590+A fully featured GUI can make a dialog with multiple tabs with each tab
591+containing the controls belonging to a particular control class. The name of
592+each tab can be found by querying a special control with ID <control class | 1>.
593+
594+Drivers do not have to care about this. The framework will automatically add
595+a control of this type whenever the first control belonging to a new control
596+class is added.
597+
598+
599+Differences from the Spec
600+=========================
601+
602+There are a few places where the framework acts slightly differently from the
603+V4L2 Specification. Those differences are described in this section. We will
604+have to see whether we need to adjust the spec or not.
605+
606+1) It is no longer required to have all controls contained in a
607+v4l2_ext_control array be from the same control class. The framework will be
608+able to handle any type of control in the array. You need to set ctrl_class
609+to 0 in order to enable this. If ctrl_class is non-zero, then it will still
610+check that all controls belong to that control class.
611+
612+If you set ctrl_class to 0 and count to 0, then it will only return an error
613+if there are no controls at all.
614+
615+2) Clarified the way error_idx works. For get and set it will be equal to
616+count if nothing was done yet. If it is less than count then only the controls
617+up to error_idx-1 were successfully applied.
618+
619+3) When attempting to read a button control the framework will return -EACCES
620+instead of -EINVAL as stated in the spec. It seems to make more sense since
621+button controls are write-only controls.
622+
623+4) Attempting to write to a read-only control will return -EACCES instead of
624+-EINVAL as the spec says.
625+
626+5) The spec does not mention what should happen when you try to set/get a
627+control class controls. ivtv currently returns -EINVAL (indicating that the
628+control ID does not exist) while the framework will return -EACCES, which
629+makes more sense.
630+
631+
632+Proposals for Extensions
633+========================
634+
635+Some ideas for future extensions to the spec:
636+
637+1) Add a V4L2_CTRL_FLAG_HEX to have values shown as hexadecimal instead of
638+decimal. Useful for e.g. video_mute_yuv.
639+
640+2) It is possible to mark in the controls array which controls have been
641+successfully written and which failed by for example adding a bit to the
642+control ID. Not sure if it is worth the effort, though.
643+
644+3) Trying to set volatile inactive controls should result in -EACCESS.
645+
646+4) Add a new flag to mark volatile controls. Any application that wants
647+to store the state of the controls can then skip volatile inactive controls.
648+Currently it is not possible to detect such controls.
Documentation/video4linux/w9966.txt+1−1
@@ -24,7 +24,7 @@ where every two pixels take 4 bytes. In SDL (www.libsdl.org) this format · 23 unmodified lines
2424 is called VIDEO_PALETTE_YUV422 (16 bpp).
2525
2626 A minimal test application (with source) is available from:
27− http://hem.fyristorg.com/mogul/w9966.html
27+ http://www.slackwaresupport.com/howtos/Webcam-HOWTO
2828
2929 The slow framerate is due to missing DMA ECP read support in the
3030 parport drivers. I might add working EPP support later.
Documentation/vm/page-types.c+1−1
@@ -694,7 +694,7 @@ static void usage(void) · 693 unmodified lines
694694 #endif
695695 " -l|--list Show page details in ranges\n"
696696 " -L|--list-each Show page details one by one\n"
697−" -N|--no-summary Don't show summay info\n"
697+" -N|--no-summary Don't show summary info\n"
698698 " -X|--hwpoison hwpoison pages\n"
699699 " -x|--unpoison unpoison pages\n"
700700 " -h|--help Show this usage message\n"
Documentation/w1/masters/ds2482+2−2
@@ -6,8 +6,8 @@ Supported chips: · 5 unmodified lines
66 Prefix: 'ds2482'
77 Addresses scanned: None
88 Datasheets:
9− http://pdfserv.maxim-ic.com/en/ds/DS2482-100-DS2482S-100.pdf
10− http://pdfserv.maxim-ic.com/en/ds/DS2482-800-DS2482S-800.pdf
9+ http://datasheets.maxim-ic.com/en/ds/DS2482-100.pdf
10+ http://datasheets.maxim-ic.com/en/ds/DS2482-800.pdf
1111
1212 Author: Ben Gardner <bgardner@wabtec.com>
1313
Documentation/w1/masters/mxc-w1+2−1
@@ -5,7 +5,8 @@ Supported chips: · 4 unmodified lines
55 * Freescale MX27, MX31 and probably other i.MX SoCs
66 Datasheets:
77 http://www.freescale.com/files/32bit/doc/data_sheet/MCIMX31.pdf?fpsp=1
8− http://www.freescale.com/files/dsp/MCIMX27.pdf?fpsp=1
8+ http://cache.freescale.com/files/dsp/doc/archive/MCIMX27.pdf?fsrch=1&WT_TYPE=
9+ Data%20Sheets&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation
910
1011 Author: Originally based on Freescale code, prepared for mainline by
1112 Sascha Hauer <s.hauer@pengutronix.de>
Documentation/w1/masters/omap-hdq+1−1
@@ -7,7 +7,7 @@ Supported chips: · 6 unmodified lines
77
88 A useful link about HDQ basics:
99 ===============================
10−http://focus.ti.com/lit/an/slua408/slua408.pdf
10+http://focus.ti.com/lit/an/slua408a/slua408a.pdf
1111
1212 Description:
1313 ============
Documentation/x86/zero-page.txt+1−0
@@ -18,6 +18,7 @@ Offset Proto Name Meaning · 17 unmodified lines
1818 080/010 ALL hd0_info hd0 disk parameter, OBSOLETE!!
1919 090/010 ALL hd1_info hd1 disk parameter, OBSOLETE!!
2020 0A0/010 ALL sys_desc_table System description table (struct sys_desc_table)
21+0B0/010 ALL olpc_ofw_header OLPC's OpenFirmware CIF and friends
2122 140/080 ALL edid_info Video mode setup (struct edid_info)
2223 1C0/020 ALL efi_info EFI 32 information (struct efi_info)
2324 1E0/004 ALL alk_mem_k Alternative mem check, in KB
Documentation/zh_CN/HOWTO+4−4
@@ -112,7 +112,7 @@ Linux内核代码中包含有大量的文档。这些文档对于学习如何与 · 111 unmodified lines
112112
113113 其他关于如何正确地生成补丁的优秀文档包括:
114114 "The Perfect Patch"
115− http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
115+ http://userweb.kernel.org/~akpm/stuff/tpp.txt
116116 "Linux kernel patch submission format"
117117 http://linux.yyz.us/patch-format.html
118118
@@ -168,7 +168,7 @@ Linux内核代码中包含有大量的文档。这些文档对于学习如何与 · 49 unmodified lines
168168
169169 如果你想加入内核开发社区并协助完成一些任务,却找不到从哪里开始,可以访问
170170 “Linux内核房管员”计划:
171− http://janitor.kernelnewbies.org/
171+ http://kernelnewbies.org/KernelJanitors
172172 这是极佳的起点。它提供一个相对简单的任务列表,列出内核代码中需要被重新
173173 整理或者改正的地方。通过和负责这个计划的开发者们一同工作,你会学到将补丁
174174 集成进内核的基本原理。如果还没有决定下一步要做什么的话,你还可能会得到方
@@ -515,7 +515,7 @@ Linux内核社区并不喜欢一下接收大段的代码。修改需要被恰当 · 340 unmodified lines
515515
516516 想了解它具体应该看起来像什么,请查阅以下文档中的“ChangeLog”章节:
517517 “The Perfect Patch”
518− http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
518+ http://userweb.kernel.org/~akpm/stuff/tpp.txt
519519
520520
521521 这些事情有时候做起来很难。要在任何方面都做到完美可能需要好几年时间。这是
@@ -525,7 +525,7 @@ Linux内核社区并不喜欢一下接收大段的代码。修改需要被恰当 · 3 unmodified lines
525525
526526 ---------------
527527 感谢Paolo Ciarrocchi允许“开发流程”部分基于他所写的文章
528−(http://linux.tar.bz/articles/2.6-development_process),感谢Randy
528+(http://www.kerneltravel.net/newbie/2.6-development_process),感谢Randy
529529 Dunlap和Gerrit Huizenga完善了应该说和不该说的列表。感谢Pat Mochel, Hanna
530530 Linder, Randy Dunlap, Kay Sievers, Vojtech Pavlik, Jan Kara, Josh Boyer,
531531 Kees Cook, Andrew Morton, Andi Kleen, Vadim Lobanov, Jesper Juhl, Adrian
Documentation/zh_CN/SubmittingDrivers+1−1
@@ -165,4 +165,4 @@ Linux USB项目: · 164 unmodified lines
165165 http://www.fenrus.org/how-to-not-write-a-device-driver-paper.pdf
166166
167167 内核清洁工 (Kernel Janitor):
168− http://janitor.kernelnewbies.org/
168+ http://kernelnewbies.org/KernelJanitors
Documentation/zh_CN/SubmittingPatches+3−3
@@ -83,7 +83,7 @@ Quilt: · 82 unmodified lines
8383 http://savannah.nongnu.org/projects/quilt
8484
8585 Andrew Morton 的补丁脚本:
86−http://www.zip.com.au/~akpm/linux/patches/
86+http://userweb.kernel.org/~akpm/stuff/patch-scripts.tar.gz
8787 作为这些脚本的替代,quilt 是值得推荐的补丁管理工具(看上面的链接)。
8888
8989 2)描述你的改动。
@@ -166,7 +166,7 @@ MAITAINERS 文件里的)发送一个手册页(man-pages)补丁,或者至 · 76 unmodified lines
166166 人拷贝,只要它是琐碎的)
167167 任何文件的作者/维护者对该文件的改动(例如 patch monkey 在重传模式下)
168168
169−URL: <http://www.kernel.org/pub/linux/kernel/people/bunk/trivial/>
169+EMAIL: trivial@kernel.org
170170
171171 (译注,关于“琐碎补丁”的一些说明:因为原文的这一部分写得比较简单,所以不得不
172172 违例写一下译注。"trivial"这个英文单词的本意是“琐碎的,不重要的。”但是在这里
@@ -394,7 +394,7 @@ Static inline 函数相比宏来说,是好得多的选择。Static inline 函 · 221 unmodified lines
394394 ----------------
395395
396396 Andrew Morton, "The perfect patch" (tpp).
397− <http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt>
397+ <http://userweb.kernel.org/~akpm/stuff/tpp.txt>
398398
399399 Jeff Garzik, "Linux kernel patch submission format".
400400 <http://linux.yyz.us/patch-format.html>
Documentation/zh_CN/sparse.txt+1−1
@@ -22,7 +22,7 @@ Documentation/sparse.txt 的中文翻译 · 21 unmodified lines
2222 ---------------------------------------------------------------------
2323
2424 Copyright 2004 Linus Torvalds
25−Copyright 2004 Pavel Machek <pavel@suse.cz>
25+Copyright 2004 Pavel Machek <pavel@ucw.cz>
2626 Copyright 2006 Bob Copeland <me@bobcopeland.com>
2727
2828 使用 sparse 工具做类型检查
MAINTAINERS+142−79
@@ -313,11 +313,9 @@ S: Maintained · 312 unmodified lines
313313 F: drivers/hwmon/adm1029.c
314314
315315 ADM8211 WIRELESS DRIVER
316−M: Michael Wu <flamingice@sourmilk.net>
317316 L: linux-wireless@vger.kernel.org
318317 W: http://linuxwireless.org/
319−T: git git://git.kernel.org/pub/scm/linux/kernel/git/mwu/mac80211-drivers.git
320−S: Maintained
318+S: Orphan
321319 F: drivers/net/wireless/adm8211.*
322320
323321 ADT746X FAN DRIVER
@@ -576,7 +574,6 @@ L: linux-mtd@lists.infradead.org · 252 unmodified lines
576574 S: Maintained
577575 F: drivers/mtd/nand/bcm_umi_nand.c
578576 F: drivers/mtd/nand/bcm_umi_bch.c
579−F: drivers/mtd/nand/bcm_umi_hamming.c
580577 F: drivers/mtd/nand/nand_bcm_umi.h
581578
582579 ARM/CAVIUM NETWORKS CNS3XXX MACHINE SUPPORT
@@ -619,10 +616,10 @@ M: Richard Purdie <rpurdie@rpsys.net> · 36 unmodified lines
619616 S: Maintained
620617
621618 ARM/CORTINA SYSTEMS GEMINI ARM ARCHITECTURE
622−M: Paulius Zaleckas <paulius.zaleckas@gmail.com>
619+M: Hans Ulli Kroll <ulli.kroll@googlemail.com>
623620 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
624−T: git git://gitorious.org/linux-gemini/mainline.git
625−S: Odd Fixes
621+T: git git://git.berlios.de/gemini-board
622+S: Maintained
626623 F: arch/arm/mach-gemini/
627624
628625 ARM/EBSA110 MACHINE SUPPORT
@@ -644,9 +641,10 @@ T: topgit git://git.openezx.org/openezx.git · 15 unmodified lines
644641 F: arch/arm/mach-pxa/ezx.c
645642
646643 ARM/FARADAY FA526 PORT
647−M: Paulius Zaleckas <paulius.zaleckas@gmail.com>
644+M: Hans Ulli Kroll <ulli.kroll@googlemail.com>
648645 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
649−S: Odd Fixes
646+S: Maintained
647+T: git://git.berlios.de/gemini-board
650648 F: arch/arm/mm/*-fa*
651649
652650 ARM/FOOTBRIDGE ARCHITECTURE
@@ -695,6 +693,13 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git · 42 unmodified lines
695693 F: arch/arm/mach-sa1100/jornada720.c
696694 F: arch/arm/mach-sa1100/include/mach/jornada720.h
697695
696+ARM/INCOME PXA270 SUPPORT
697+M: Marek Vasut <marek.vasut@gmail.com>
698+L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
699+S: Maintained
700+F: arch/arm/mach-pxa/income.c
701+F: arch/arm/mach-pxa/include/mach-pxa/income.h
702+
698703 ARM/INTEL IOP32X ARM ARCHITECTURE
699704 M: Lennert Buytenhek <kernel@wantstofly.org>
700705 M: Dan Williams <dan.j.williams@intel.com>
@@ -950,8 +955,9 @@ ARM/SHMOBILE ARM ARCHITECTURE · 249 unmodified lines
950955 M: Paul Mundt <lethal@linux-sh.org>
951956 M: Magnus Damm <magnus.damm@gmail.com>
952957 L: linux-sh@vger.kernel.org
953−T: git git://git.kernel.org/pub/scm/linux/kernel/git/lethal/genesis-2.6.git
954958 W: http://oss.renesas.com
959+Q: http://patchwork.kernel.org/project/linux-sh/list/
960+T: git git://git.kernel.org/pub/scm/linux/kernel/git/lethal/genesis-2.6.git
955961 S: Supported
956962 F: arch/arm/mach-shmobile/
957963 F: drivers/sh/
@@ -977,12 +983,11 @@ F: drivers/input/keyboard/w90p910_keypad.c · 19 unmodified lines
977983 F: drivers/input/touchscreen/w90p910_ts.c
978984 F: drivers/watchdog/nuc900_wdt.c
979985 F: drivers/net/arm/w90p910_ether.c
980−F: drivers/mtd/nand/w90p910_nand.c
986+F: drivers/mtd/nand/nuc900_nand.c
981987 F: drivers/rtc/rtc-nuc900.c
982988 F: drivers/spi/spi_nuc900.c
983989 F: drivers/usb/host/ehci-w90x900.c
984990 F: drivers/video/nuc900fb.c
985−F: drivers/sound/soc/nuc900/
986991
987992 ARM/U300 MACHINE SUPPORT
988993 M: Linus Walleij <linus.walleij@stericsson.com>
@@ -1012,14 +1017,14 @@ M: Marek Vasut <marek.vasut@gmail.com> · 23 unmodified lines
10121017 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
10131018 S: Maintained
10141019 F: arch/arm/mach-pxa/vpac270.c
1015−F: arch/arm/mach-pxa/include/mach-pxa/vpac270.h
1020+F: arch/arm/mach-pxa/include/mach/vpac270.h
10161021
10171022 ARM/ZIPIT Z2 SUPPORT
10181023 M: Marek Vasut <marek.vasut@gmail.com>
10191024 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
10201025 S: Maintained
10211026 F: arch/arm/mach-pxa/z2.c
1022−F: arch/arm/mach-pxa/include/mach-pxa/z2.h
1027+F: arch/arm/mach-pxa/include/mach/z2.h
10231028
10241029 ASC7621 HARDWARE MONITOR DRIVER
10251030 M: George Joseph <george.joseph@fairview5.com>
@@ -1089,7 +1094,6 @@ F: drivers/net/wireless/ath/ath5k/ · 63 unmodified lines
10891094 ATHEROS ATH9K WIRELESS DRIVER
10901095 M: "Luis R. Rodriguez" <lrodriguez@atheros.com>
10911096 M: Jouni Malinen <jmalinen@atheros.com>
1092−M: Sujith Manoharan <Sujith.Manoharan@atheros.com>
10931097 M: Vasanthakumar Thiagarajan <vasanth@atheros.com>
10941098 M: Senthil Balasubramanian <senthilkumar@atheros.com>
10951099 L: linux-wireless@vger.kernel.org
@@ -1255,8 +1259,7 @@ S: Maintained · 159 unmodified lines
12551259 F: drivers/net/hamradio/baycom*
12561260
12571261 BEFS FILE SYSTEM
1258−M: "Sergey S. Kostyliov" <rathamahata@php4.ru>
1259−S: Maintained
1262+S: Orphan
12601263 F: Documentation/filesystems/befs.txt
12611264 F: fs/befs/
12621265
@@ -1369,7 +1372,7 @@ BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER · 106 unmodified lines
13691372 M: Eilon Greenstein <eilong@broadcom.com>
13701373 L: netdev@vger.kernel.org
13711374 S: Supported
1372−F: drivers/net/bnx2x*
1375+F: drivers/net/bnx2x/
13731376
13741377 BROADCOM TG3 GIGABIT ETHERNET DRIVER
13751378 M: Matt Carlson <mcarlson@broadcom.com>
@@ -1571,6 +1574,16 @@ L: platform-driver-x86@vger.kernel.org · 195 unmodified lines
15711574 S: Supported
15721575 F: drivers/platform/x86/classmate-laptop.c
15731576
1577+COCCINELLE/Semantic Patches (SmPL)
1578+M: Julia Lawall <julia@diku.dk>
1579+M: Gilles Muller <Gilles.Muller@lip6.fr>
1580+M: Nicolas Palix <npalix@diku.dk>
1581+L: cocci@diku.dk (moderated for non-subscribers)
1582+W: http://coccinelle.lip6.fr/
1583+S: Supported
1584+F: scripts/coccinelle/
1585+F: scripts/coccicheck
1586+
15741587 CODA FILE SYSTEM
15751588 M: Jan Harkes <jaharkes@cs.cmu.edu>
15761589 M: coda@cs.cmu.edu
@@ -1726,6 +1739,8 @@ CRYPTOGRAPHIC RANDOM NUMBER GENERATOR · 149 unmodified lines
17261739 M: Neil Horman <nhorman@tuxdriver.com>
17271740 L: linux-crypto@vger.kernel.org
17281741 S: Maintained
1742+F: crypto/ansi_cprng.c
1743+F: crypto/rng.c
17291744
17301745 CS5535 Audio ALSA driver
17311746 M: Jaya Kumar <jayakumar.alsa@gmail.com>
@@ -1771,6 +1786,13 @@ W: http://www.openfabrics.org · 39 unmodified lines
17711786 S: Supported
17721787 F: drivers/infiniband/hw/cxgb4/
17731788
1789+CXGB4VF ETHERNET DRIVER (CXGB4VF)
1790+M: Casey Leedom <leedom@chelsio.com>
1791+L: netdev@vger.kernel.org
1792+W: http://www.chelsio.com
1793+S: Supported
1794+F: drivers/net/cxgb4vf/
1795+
17741796 CYBERPRO FB DRIVER
17751797 M: Russell King <linux@arm.linux.org.uk>
17761798 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@ -1877,6 +1899,7 @@ F: drivers/firmware/dcdbas.* · 100 unmodified lines
18771899 DELL WMI EXTRAS DRIVER
18781900 M: Matthew Garrett <mjg59@srcf.ucam.org>
18791901 S: Maintained
1902+F: drivers/platform/x86/dell-wmi.c
18801903
18811904 DEVICE NUMBER REGISTRY
18821905 M: Torben Mathiasen <device@lanana.org>
@@ -2006,6 +2029,7 @@ L: dri-devel@lists.freedesktop.org · 123 unmodified lines
20062029 T: git git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
20072030 S: Maintained
20082031 F: drivers/gpu/drm/
2032+F: include/drm/
20092033
20102034 DSCC4 DRIVER
20112035 M: Francois Romieu <romieu@fr.zoreil.com>
@@ -2188,6 +2212,12 @@ F: drivers/misc/cb710/ · 176 unmodified lines
21882212 F: drivers/mmc/host/cb710-mmc.*
21892213 F: include/linux/cb710.h
21902214
2215+ENE KB2426 (ENE0100/ENE020XX) INFRARED RECEIVER
2216+M: Maxim Levitsky <maximlevitsky@gmail.com>
2217+S: Maintained
2218+F: drivers/media/IR/ene_ir.c
2219+F: drivers/media/IR/ene_ir.h
2220+
21912221 EPSON 1355 FRAMEBUFFER DRIVER
21922222 M: Christopher Hoover <ch@murgatroid.com>
21932223 M: Christopher Hoover <ch@hpl.hp.com>
@@ -2222,6 +2252,7 @@ S: Maintained · 28 unmodified lines
22222252 F: drivers/net/eth16i.c
22232253
22242254 EXT2 FILE SYSTEM
2255+M: Jan Kara <jack@suse.cz>
22252256 L: linux-ext4@vger.kernel.org
22262257 S: Maintained
22272258 F: Documentation/filesystems/ext2.txt
@@ -2229,8 +2260,9 @@ F: fs/ext2/ · 1 unmodified line
22292260 F: include/linux/ext2*
22302261
22312262 EXT3 FILE SYSTEM
2263+M: Jan Kara <jack@suse.cz>
22322264 M: Andrew Morton <akpm@linux-foundation.org>
2233−M: Andreas Dilger <adilger@sun.com>
2265+M: Andreas Dilger <adilger.kernel@dilger.ca>
22342266 L: linux-ext4@vger.kernel.org
22352267 S: Maintained
22362268 F: Documentation/filesystems/ext3.txt
@@ -2239,7 +2271,7 @@ F: include/linux/ext3* · 2 unmodified lines
22392271
22402272 EXT4 FILE SYSTEM
22412273 M: "Theodore Ts'o" <tytso@mit.edu>
2242−M: Andreas Dilger <adilger@sun.com>
2274+M: Andreas Dilger <adilger.kernel@dilger.ca>
22432275 L: linux-ext4@vger.kernel.org
22442276 W: http://ext4.wiki.kernel.org
22452277 Q: http://patchwork.ozlabs.org/project/linux-ext4/list/
@@ -2307,6 +2339,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git · 61 unmodified lines
23072339 S: Maintained
23082340 F: drivers/firewire/
23092341 F: include/linux/firewire*.h
2342+F: tools/firewire/
23102343
23112344 FIRMWARE LOADER (request_firmware)
23122345 S: Orphan
@@ -2620,6 +2653,14 @@ S: Maintained · 307 unmodified lines
26202653 F: Documentation/blockdev/cpqarray.txt
26212654 F: drivers/block/cpqarray.*
26222655
2656+HEWLETT-PACKARD SMART ARRAY RAID DRIVER (hpsa)
2657+M: Stephen M. Cameron <scameron@beardog.cce.hp.com>
2658+L: iss_storagedev@hp.com
2659+S: Supported
2660+F: Documentation/scsi/hpsa.txt
2661+F: drivers/scsi/hpsa*.[ch]
2662+F: include/linux/cciss*.h
2663+
26232664 HEWLETT-PACKARD SMART CISS RAID DRIVER (cciss)
26242665 M: Mike Miller <mike.miller@hp.com>
26252666 L: iss_storagedev@hp.com
@@ -3184,6 +3225,13 @@ F: Documentation/video4linux/*.ivtv · 558 unmodified lines
31843225 F: drivers/media/video/ivtv/
31853226 F: include/linux/ivtv*
31863227
3228+JC42.4 TEMPERATURE SENSOR DRIVER
3229+M: Guenter Roeck <linux@roeck-us.net>
3230+L: lm-sensors@lm-sensors.org
3231+S: Maintained
3232+F: drivers/hwmon/jc42.c
3233+F: Documentation/hwmon/jc42
3234+
31873235 JFS FILESYSTEM
31883236 M: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
31893237 L: jfs-discussion@lists.sourceforge.net
@@ -3253,8 +3301,8 @@ F: fs/autofs4/ · 63 unmodified lines
32533301
32543302 KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
32553303 M: Michal Marek <mmarek@suse.cz>
3256−T: git git://repo.or.cz/linux-kbuild.git for-next
3257−T: git git://repo.or.cz/linux-kbuild.git for-linus
3304+T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6.git for-next
3305+T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6.git rc-fixes
32583306 L: linux-kbuild@vger.kernel.org
32593307 S: Maintained
32603308 F: Documentation/kbuild/
@@ -3380,13 +3428,6 @@ F: include/linux/kmemleak.h · 119 unmodified lines
33803428 F: mm/kmemleak.c
33813429 F: mm/kmemleak-test.c
33823430
3383−KMEMTRACE
3384−M: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
3385−S: Maintained
3386−F: Documentation/trace/kmemtrace.txt
3387−F: include/linux/kmemtrace.h
3388−F: kernel/trace/kmemtrace.c
3389−
33903431 KPROBES
33913432 M: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
33923433 M: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
@@ -3502,6 +3543,7 @@ M: Marcelo Tosatti <marcelo@kvack.org> · 109 unmodified lines
35023543 W: http://www.penguinppc.org/
35033544 L: linuxppc-dev@ozlabs.org
35043545 S: Maintained
3546+F: arch/powerpc/platforms/8xx/
35053547
35063548 LINUX FOR POWERPC EMBEDDED PPC83XX AND PPC85XX
35073549 M: Kumar Gala <galak@kernel.crashing.org>
@@ -3604,7 +3646,7 @@ M: Mike Frysinger <vapier@gentoo.org> · 96 unmodified lines
36043646 M: Subrata Modak <subrata@linux.vnet.ibm.com>
36053647 L: ltp-list@lists.sourceforge.net (subscribers-only)
36063648 W: http://ltp.sourceforge.net/
3607−T: git git://git.kernel.org/pub/scm/linux/kernel/git/galak/ltp.git
3649+T: git git://ltp.git.sourceforge.net/gitroot/ltp/ltp-dev
36083650 S: Maintained
36093651
36103652 M32R ARCHITECTURE
@@ -3686,7 +3728,7 @@ F: include/linux/mv643xx.h · 75 unmodified lines
36863728 MARVELL MWL8K WIRELESS DRIVER
36873729 M: Lennert Buytenhek <buytenh@wantstofly.org>
36883730 L: linux-wireless@vger.kernel.org
3689−S: Maintained
3731+S: Odd Fixes
36903732 F: drivers/net/wireless/mwl8k.c
36913733
36923734 MARVELL SOC MMC/SD/SDIO CONTROLLER DRIVER
@@ -3915,17 +3957,19 @@ L: netem@lists.linux-foundation.org · 222 unmodified lines
39153957 S: Maintained
39163958 F: net/sched/sch_netem.c
39173959
3918−NETERION (S2IO) 10GbE DRIVER (xframe/vxge)
3919−M: Ramkrishna Vepa <ram.vepa@neterion.com>
3920−M: Rastapur Santosh <santosh.rastapur@neterion.com>
3921−M: Sivakumar Subramani <sivakumar.subramani@neterion.com>
3922−M: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
3960+NETERION 10GbE DRIVERS (s2io/vxge)
3961+M: Ramkrishna Vepa <ramkrishna.vepa@exar.com>
3962+M: Sivakumar Subramani <sivakumar.subramani@exar.com>
3963+M: Sreenivasa Honnur <sreenivasa.honnur@exar.com>
3964+M: Jon Mason <jon.mason@exar.com>
39233965 L: netdev@vger.kernel.org
39243966 W: http://trac.neterion.com/cgi-bin/trac.cgi/wiki/Linux?Anonymous
39253967 W: http://trac.neterion.com/cgi-bin/trac.cgi/wiki/X3100Linux?Anonymous
39263968 S: Supported
39273969 F: Documentation/networking/s2io.txt
39283970 F: drivers/net/s2io*
3971+F: Documentation/networking/vxge.txt
3972+F: drivers/net/vxge/
39293973
39303974 NETFILTER/IPTABLES/IPCHAINS
39313975 P: Rusty Russell
@@ -4024,7 +4068,7 @@ F: net/rfkill/ · 92 unmodified lines
40244068 F: net/wireless/
40254069 F: include/net/ieee80211*
40264070 F: include/linux/wireless.h
4027−F: include/linux/iw_handler.h
4071+F: include/net/iw_handler.h
40284072 F: drivers/net/wireless/
40294073
40304074 NETWORKING DRIVERS
@@ -4172,6 +4216,8 @@ M: David Brownell <dbrownell@users.sourceforge.net> · 141 unmodified lines
41724216 L: linux-usb@vger.kernel.org
41734217 L: linux-omap@vger.kernel.org
41744218 S: Maintained
4219+F: drivers/usb/*/*omap*
4220+F: arch/arm/*omap*/usb*
41754221
41764222 OMFS FILESYSTEM
41774223 M: Bob Copeland <me@bobcopeland.com>
@@ -4272,10 +4318,9 @@ F: include/scsi/osd_* · 94 unmodified lines
42724318 F: fs/exofs/
42734319
42744320 P54 WIRELESS DRIVER
4275−M: Michael Wu <flamingice@sourmilk.net>
4321+M: Christian Lamparter <chunkeey@googlemail.com>
42764322 L: linux-wireless@vger.kernel.org
4277−W: http://prism54.org
4278−T: git git://git.kernel.org/pub/scm/linux/kernel/git/mwu/mac80211-drivers.git
4323+W: http://wireless.kernel.org/en/users/Drivers/p54
42794324 S: Maintained
42804325 F: drivers/net/wireless/p54/
42814326
@@ -4513,7 +4558,7 @@ F: drivers/net/pppox.c · 231 unmodified lines
45134558 PPP OVER L2TP
45144559 M: James Chapman <jchapman@katalix.com>
45154560 S: Maintained
4516−F: drivers/net/pppol2tp.c
4561+F: net/l2tp/l2tp_ppp.c
45174562 F: include/linux/if_pppol2tp.h
45184563
45194564 PPS SUPPORT
@@ -4537,14 +4582,9 @@ PRISM54 WIRELESS DRIVER · 17 unmodified lines
45374582 M: "Luis R. Rodriguez" <mcgrof@gmail.com>
45384583 L: linux-wireless@vger.kernel.org
45394584 W: http://prism54.org
4540−S: Maintained
4585+S: Obsolete
45414586 F: drivers/net/wireless/prism54/
45424587
4543−PROMISE DC4030 CACHING DISK CONTROLLER DRIVER
4544−M: Peter Denison <promise@pnd-pc.demon.co.uk>
4545−W: http://www.pnd-pc.demon.co.uk/promise/
4546−S: Maintained
4547−
45484588 PROMISE SATA TX2/TX4 CONTROLLER LIBATA DRIVER
45494589 M: Mikael Pettersson <mikpe@it.uu.se>
45504590 L: linux-ide@vger.kernel.org
@@ -4577,6 +4617,7 @@ PS3VRAM DRIVER · 26 unmodified lines
45774617 M: Jim Paris <jim@jtan.com>
45784618 L: cbe-oss-dev@ozlabs.org
45794619 S: Maintained
4620+F: drivers/block/ps3vram.c
45804621
45814622 PTRACE SUPPORT
45824623 M: Roland McGrath <roland@redhat.com>
@@ -4717,7 +4758,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/ivd/rt2x00.git · 134 unmodified lines
47174758 F: drivers/net/wireless/rt2x00/
47184759
47194760 RAMDISK RAM BLOCK DEVICE DRIVER
4720−M: Nick Piggin <npiggin@suse.de>
4761+M: Nick Piggin <npiggin@kernel.dk>
47214762 S: Maintained
47224763 F: Documentation/blockdev/ramdisk.txt
47234764 F: drivers/block/brd.c
@@ -4733,9 +4774,8 @@ S: Maintained · 9 unmodified lines
47334774 F: drivers/rapidio/
47344775
47354776 RAYLINK/WEBGEAR 802.11 WIRELESS LAN DRIVER
4736−M: Corey Thomas <coreythomas@charter.net>
47374777 L: linux-wireless@vger.kernel.org
4738−S: Maintained
4778+S: Orphan
47394779 F: drivers/net/wireless/ray*
47404780
47414781 RCUTORTURE MODULE
@@ -4804,8 +4844,8 @@ F: net/rfkill/ · 62 unmodified lines
48044844 RICOH SMARTMEDIA/XD DRIVER
48054845 M: Maxim Levitsky <maximlevitsky@gmail.com>
48064846 S: Maintained
4807−F: drivers/mtd/nand/r822.c
4808−F: drivers/mtd/nand/r822.h
4847+F: drivers/mtd/nand/r852.c
4848+F: drivers/mtd/nand/r852.h
48094849
48104850 RISCOM8 DRIVER
48114851 S: Orphan
@@ -5061,6 +5101,14 @@ S: Supported · 249 unmodified lines
50615101 F: include/linux/selinux*
50625102 F: security/selinux/
50635103
5104+APPARMOR SECURITY MODULE
5105+M: John Johansen <john.johansen@canonical.com>
5106+L: apparmor@lists.ubuntu.com (subscribers-only, general discussion)
5107+W: apparmor.wiki.kernel.org
5108+T: git git://git.kernel.org/pub/scm/linux/kernel/git/jj/apparmor-dev.git
5109+S: Supported
5110+F: security/apparmor/
5111+
50645112 SENSABLE PHANTOM
50655113 M: Jiri Slaby <jirislaby@gmail.com>
50665114 S: Maintained
@@ -5224,6 +5272,13 @@ M: Nicolas Pitre <nico@fluxnic.net> · 157 unmodified lines
52245272 S: Odd Fixes
52255273 F: drivers/net/smc91x.*
52265274
5275+SMM665 HARDWARE MONITOR DRIVER
5276+M: Guenter Roeck <linux@roeck-us.net>
5277+L: lm-sensors@lm-sensors.org
5278+S: Maintained
5279+F: Documentation/hwmon/smm665
5280+F: drivers/hwmon/smm665.c
5281+
52275282 SMSC47B397 HARDWARE MONITOR DRIVER
52285283 M: "Mark M. Hoffman" <mhoffman@lightlink.com>
52295284 L: lm-sensors@lm-sensors.org
@@ -5244,11 +5299,6 @@ L: netdev@vger.kernel.org · 14 unmodified lines
52445299 S: Supported
52455300 F: drivers/net/smsc9420.*
52465301
5247−SMX UIO Interface
5248−M: Ben Nizette <bn@niasdigital.com>
5249−S: Maintained
5250−F: drivers/uio/uio_smx.c
5251−
52525302 SN-IA64 (Itanium) SUB-PLATFORM
52535303 M: Jes Sorensen <jes@sgi.com>
52545304 L: linux-altix@sgi.com
@@ -5336,7 +5386,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git · 81 unmodified lines
53365386 T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git
53375387 S: Maintained
53385388 F: arch/sparc/
5339−F: drivers/sbus
5389+F: drivers/sbus/
53405390
53415391 SPARC SERIAL DRIVERS
53425392 M: "David S. Miller" <davem@davemloft.net>
@@ -5378,7 +5428,8 @@ S: Maintained · 35 unmodified lines
53785428 F: arch/arm/mach-spear*/clock.c
53795429 F: arch/arm/mach-spear*/include/mach/clkdev.h
53805430 F: arch/arm/plat-spear/clock.c
5381−F: arch/arm/plat-spear/include/plat/clock.h and clkdev.h
5431+F: arch/arm/plat-spear/include/plat/clkdev.h
5432+F: arch/arm/plat-spear/include/plat/clock.h
53825433
53835434 SPEAR PAD MULTIPLEXING SUPPORT
53845435 M: Viresh Kumar <viresh.kumar@st.com>
@@ -5458,11 +5509,6 @@ M: Ion Badulescu <ionut@badula.org> · 73 unmodified lines
54585509 S: Odd Fixes
54595510 F: drivers/net/starfire*
54605511
5461−STARMODE RADIO IP (STRIP) PROTOCOL DRIVER
5462−S: Orphan
5463−F: drivers/staging/strip/strip.c
5464−F: include/linux/if_strip.h
5465−
54665512 STRADIS MPEG-2 DECODER DRIVER
54675513 M: Nathan Laredo <laredo@gnu.org>
54685514 W: http://www.stradis.com/
@@ -5538,6 +5584,15 @@ W: http://tcp-lp-mod.sourceforge.net/ · 69 unmodified lines
55385584 S: Maintained
55395585 F: net/ipv4/tcp_lp.c
55405586
5587+TEGRA SUPPORT
5588+M: Colin Cross <ccross@android.com>
5589+M: Erik Gilling <konkers@android.com>
5590+M: Olof Johansson <olof@lixom.net>
5591+L: linux-tegra@vger.kernel.org
5592+T: git git://android.git.kernel.org/kernel/tegra.git
5593+S: Supported
5594+F: arch/arm/mach-tegra
5595+
55415596 TEHUTI ETHERNET DRIVER
55425597 M: Alexander Indenbaum <baum@tehutinetworks.net>
55435598 M: Andy Gospodarek <andy@greyhouse.net>
@@ -5590,6 +5645,12 @@ F: include/linux/tipc*.h · 46 unmodified lines
55905645 F: include/net/tipc/
55915646 F: net/tipc/
55925647
5648+TILE ARCHITECTURE
5649+M: Chris Metcalf <cmetcalf@tilera.com>
5650+W: http://www.tilera.com/scm/
5651+S: Supported
5652+F: arch/tile/
5653+
55935654 TLAN NETWORK DRIVER
55945655 M: Samuel Chessman <chessman@tux.org>
55955656 L: tlan-devel@lists.sourceforge.net (subscribers-only)
@@ -5605,7 +5666,7 @@ L: tomoyo-users-en@lists.sourceforge.jp (subscribers-only, for developers and us · 9 unmodified lines
56055666 L: tomoyo-dev@lists.sourceforge.jp (subscribers-only, for developers in Japanese)
56065667 L: tomoyo-users@lists.sourceforge.jp (subscribers-only, for users in Japanese)
56075668 W: http://tomoyo.sourceforge.jp/
5608−T: quilt http://svn.sourceforge.jp/svnroot/tomoyo/trunk/2.2.x/tomoyo-lsm/patches/
5669+T: quilt http://svn.sourceforge.jp/svnroot/tomoyo/trunk/2.3.x/tomoyo-lsm/patches/
56095670 S: Maintained
56105671 F: security/tomoyo/
56115672
@@ -5654,7 +5715,7 @@ TRACING · 42 unmodified lines
56545715 M: Steven Rostedt <rostedt@goodmis.org>
56555716 M: Frederic Weisbecker <fweisbec@gmail.com>
56565717 M: Ingo Molnar <mingo@redhat.com>
5657−T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git tracing/core
5718+T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git perf/core
56585719 S: Maintained
56595720 F: Documentation/trace/ftrace.txt
56605721 F: arch/*/*/*/ftrace.h
@@ -5727,6 +5788,9 @@ UCLINUX FOR RENESAS H8/300 (H8300) · 66 unmodified lines
57275788 M: Yoshinori Sato <ysato@users.sourceforge.jp>
57285789 W: http://uclinux-h8.sourceforge.jp/
57295790 S: Supported
5791+F: arch/h8300/
5792+F: drivers/ide/ide-h8300.c
5793+F: drivers/net/ne-h8300.c
57305794
57315795 UDF FILESYSTEM
57325796 M: Jan Kara <jack@suse.cz>
@@ -6018,7 +6082,7 @@ F: drivers/net/usb/usbnet.c · 285 unmodified lines
60186082 F: include/linux/usb/usbnet.h
60196083
60206084 USB VIDEO CLASS
6021−M: Laurent Pinchart <laurent.pinchart@skynet.be>
6085+M: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
60226086 L: linux-uvc-devel@lists.berlios.de (subscribers-only)
60236087 L: linux-media@vger.kernel.org
60246088 T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
@@ -6060,10 +6124,9 @@ F: Documentation/video4linux/zc0301.txt · 35 unmodified lines
60606124 F: drivers/media/video/zc0301/
60616125
60626126 USB ZD1201 DRIVER
6063−M: Jeroen Vreeken <pe1rxq@amsat.org>
6064−L: linux-usb@vger.kernel.org
6127+L: linux-wireless@vger.kernel.org
60656128 W: http://linux-lc100020.sourceforge.net
6066−S: Maintained
6129+S: Orphan
60676130 F: drivers/net/wireless/zd1201.*
60686131
60696132 USB ZR364XX DRIVER
@@ -6152,9 +6215,12 @@ F: drivers/mmc/host/via-sdmmc.c · 82 unmodified lines
61526215
61536216 VIA UNICHROME(PRO)/CHROME9 FRAMEBUFFER DRIVER
61546217 M: Joseph Chan <JosephChan@via.com.tw>
6155−M: Scott Fang <ScottFang@viatech.com.cn>
6218+M: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
61566219 L: linux-fbdev@vger.kernel.org
61576220 S: Maintained
6221+F: include/linux/via-core.h
6222+F: include/linux/via-gpio.h
6223+F: include/linux/via_i2c.h
61586224 F: drivers/video/via/
61596225
61606226 VIA VELOCITY NETWORK DRIVER
@@ -6251,14 +6317,6 @@ F: Documentation/watchdog/ · 90 unmodified lines
62516317 F: drivers/watchdog/
62526318 F: include/linux/watchdog.h
62536319
6254−WAVELAN NETWORK DRIVER & WIRELESS EXTENSIONS
6255−M: Jean Tourrilhes <jt@hpl.hp.com>
6256−L: linux-wireless@vger.kernel.org
6257−W: http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/
6258−S: Maintained
6259−F: Documentation/networking/wavelan.txt
6260−F: drivers/staging/wavelan/
6261−
62626320 WD7000 SCSI DRIVER
62636321 M: Miroslav Zagorac <zaga@fly.cc.fer.hr>
62646322 L: linux-scsi@vger.kernel.org
@@ -6276,6 +6334,11 @@ M: linux-wimax@intel.com · 11 unmodified lines
62766334 L: wimax@linuxwimax.org
62776335 S: Supported
62786336 W: http://linuxwimax.org
6337+F: Documentation/wimax/README.wimax
6338+F: include/linux/wimax.h
6339+F: include/linux/wimax/debug.h
6340+F: include/net/wimax.h
6341+F: net/wimax/
62796342
62806343 WIMEDIA LLC PROTOCOL (WLP) SUBSYSTEM
62816344 M: David Vrabel <david.vrabel@csr.com>
Makefile+30−14
@@ -189,7 +189,6 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \ · 188 unmodified lines
189189 # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
190190 export KBUILD_BUILDHOST := $(SUBARCH)
191191 ARCH ?= $(SUBARCH)
192−CROSS_COMPILE ?=
193192 CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
194193
195194 # Architecture as present in compile.h
@@ -332,10 +331,9 @@ CHECK = sparse · 136 unmodified lines
332331
333332 CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
334333 -Wbitwise -Wno-return-void $(CF)
335−MODFLAGS = -DMODULE
336−CFLAGS_MODULE = $(MODFLAGS)
337−AFLAGS_MODULE = $(MODFLAGS)
338−LDFLAGS_MODULE = -T $(srctree)/scripts/module-common.lds
334+CFLAGS_MODULE =
335+AFLAGS_MODULE =
336+LDFLAGS_MODULE =
339337 CFLAGS_KERNEL =
340338 AFLAGS_KERNEL =
341339 CFLAGS_GCOV = -fprofile-arcs -ftest-coverage
@@ -354,7 +352,12 @@ KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ · 12 unmodified lines
354352 -Werror-implicit-function-declaration \
355353 -Wno-format-security \
356354 -fno-delete-null-pointer-checks
355+KBUILD_AFLAGS_KERNEL :=
356+KBUILD_CFLAGS_KERNEL :=
357357 KBUILD_AFLAGS := -D__ASSEMBLY__
358+KBUILD_AFLAGS_MODULE := -DMODULE
359+KBUILD_CFLAGS_MODULE := -DMODULE
360+KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
358361
359362 # Read KERNELRELEASE from include/config/kernel.release (if it exists)
360363 KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
@@ -369,6 +372,8 @@ export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS · 8 unmodified lines
369372 export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
370373 export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE CFLAGS_GCOV
371374 export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
375+export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
376+export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
372377
373378 # When compiling out-of-tree modules, put MODVERDIR in the module
374379 # tree rather than in the kernel tree. The kernel tree might
@@ -412,9 +417,9 @@ endif · 37 unmodified lines
412417 # of make so .config is not included in this case either (for *config).
413418
414419 no-dot-config-targets := clean mrproper distclean \
415− cscope TAGS tags help %docs check% \
420+ cscope TAGS tags help %docs check% coccicheck \
416421 include/linux/version.h headers_% \
417− kernelrelease kernelversion
422+ kernelversion %src-pkg
418423
419424 config-targets := 0
420425 mixed-targets := 0
@@ -526,7 +531,7 @@ endif # $(dot-config) · 105 unmodified lines
526531 # The all: target is the default when no target is given on the
527532 # command line.
528533 # This allow a user to issue only 'make' to build a kernel including modules
529−# Defaults vmlinux but it is usually overridden in the arch makefile
534+# Defaults to vmlinux, but the arch makefile usually adds further targets
530535 all: vmlinux
531536
532537 ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
@@ -557,6 +562,10 @@ KBUILD_CFLAGS += -g · 24 unmodified lines
557562 KBUILD_AFLAGS += -gdwarf-2
558563 endif
559564
565+ifdef CONFIG_DEBUG_INFO_REDUCED
566+KBUILD_CFLAGS += $(call cc-option, -femit-struct-debug-baseonly)
567+endif
568+
560569 ifdef CONFIG_FUNCTION_TRACER
561570 KBUILD_CFLAGS += -pg
562571 endif
@@ -603,7 +612,7 @@ endif · 40 unmodified lines
603612 # Use --build-id when available.
604613 LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\
605614 $(call cc-ldoption, -Wl$(comma)--build-id,))
606−LDFLAGS_MODULE += $(LDFLAGS_BUILD_ID)
615+KBUILD_LDFLAGS_MODULE += $(LDFLAGS_BUILD_ID)
607616 LDFLAGS_vmlinux += $(LDFLAGS_BUILD_ID)
608617
609618 ifeq ($(CONFIG_STRIP_ASM_SYMS),y)
@@ -1158,6 +1167,8 @@ distclean: mrproper · 548 unmodified lines
11581167 # rpm target kept for backward compatibility
11591168 package-dir := $(srctree)/scripts/package
11601169
1170+%src-pkg: FORCE
1171+ $(Q)$(MAKE) $(build)=$(package-dir) $@
11611172 %pkg: include/config/kernel.release FORCE
11621173 $(Q)$(MAKE) $(build)=$(package-dir) $@
11631174 rpm: include/config/kernel.release FORCE
@@ -1209,8 +1220,9 @@ help: · 45 unmodified lines
12091220 @echo ' includecheck - Check for duplicate included header files'
12101221 @echo ' export_report - List the usages of all exported symbols'
12111222 @echo ' headers_check - Sanity check on exported headers'
1212− @echo ' headerdep - Detect inclusion cycles in headers'; \
1213− echo ''
1223+ @echo ' headerdep - Detect inclusion cycles in headers'
1224+ @$(MAKE) -f $(srctree)/scripts/Makefile.help checker-help
1225+ @echo ''
12141226 @echo 'Kernel packaging:'
12151227 @$(MAKE) $(build)=$(package-dir) help
12161228 @echo ''
@@ -1369,6 +1381,9 @@ versioncheck: · 152 unmodified lines
13691381 -name '*.[hcS]' -type f -print | sort \
13701382 | xargs $(PERL) -w $(srctree)/scripts/checkversion.pl
13711383
1384+coccicheck:
1385+ $(Q)$(CONFIG_SHELL) $(srctree)/scripts/$@
1386+
13721387 namespacecheck:
13731388 $(PERL) $(srctree)/scripts/namespace.pl
13741389
@@ -1393,9 +1408,9 @@ checkstack: · 18 unmodified lines
13931408 $(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \
13941409 $(PERL) $(src)/scripts/checkstack.pl $(CHECKSTACK_ARCH)
13951410
1396−kernelrelease:
1397− $(if $(wildcard include/config/kernel.release), $(Q)echo $(KERNELRELEASE), \
1398− $(error kernelrelease not valid - run 'make prepare' to update it))
1411+kernelrelease: include/config/kernel.release
1412+ @echo $(KERNELRELEASE)
1413+
13991414 kernelversion:
14001415 @echo $(KERNELVERSION)
14011416
@@ -1472,6 +1487,7 @@ cmd_crmodverdir = $(Q)mkdir -p $(MODVERDIR) \ · 70 unmodified lines
14721487 $(if $(KBUILD_MODULES),; rm -f $(MODVERDIR)/*)
14731488
14741489 a_flags = -Wp,-MD,$(depfile) $(KBUILD_AFLAGS) $(AFLAGS_KERNEL) \
1490+ $(KBUILD_AFLAGS_KERNEL) \
14751491 $(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(KBUILD_CPPFLAGS) \
14761492 $(modkern_aflags) $(EXTRA_AFLAGS) $(AFLAGS_$(basetarget).o)
14771493
arch/Kconfig+7−0
@@ -151,4 +151,11 @@ config HAVE_MIXED_BREAKPOINTS_REGS · 150 unmodified lines
151151 config HAVE_USER_RETURN_NOTIFIER
152152 bool
153153
154+config HAVE_PERF_EVENTS_NMI
155+ bool
156+ help
157+ System hardware can generate an NMI using the perf event
158+ subsystem. Also has support for calculating CPU cycle events
159+ to determine how many clock cycles in a given period.
160+
154161 source "kernel/gcov/Kconfig"
arch/alpha/Kconfig+0−4
@@ -47,10 +47,6 @@ config GENERIC_CALIBRATE_DELAY · 46 unmodified lines
4747 bool
4848 default y
4949
50−config GENERIC_TIME
51− bool
52− default y
53−
5450 config GENERIC_CMOS_UPDATE
5551 def_bool y
5652
arch/alpha/include/asm/dma-mapping.h+0−2
@@ -41,9 +41,7 @@ static inline int dma_set_mask(struct device *dev, u64 mask) · 40 unmodified lines
4141
4242 #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f)
4343 #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h)
44−#define dma_is_consistent(d, h) (1)
4544
4645 #define dma_cache_sync(dev, va, size, dir) ((void)0)
47−#define dma_get_cache_alignment() L1_CACHE_BYTES
4846
4947 #endif /* _ALPHA_DMA_MAPPING_H */
arch/alpha/include/asm/hw_irq.h+1−0
@@ -3,6 +3,7 @@ · 2 unmodified lines
33
44
55 extern volatile unsigned long irq_err_count;
6+DECLARE_PER_CPU(unsigned long, irq_pmi_count);
67
78 #ifdef CONFIG_ALPHA_GENERIC
89 #define ACTUAL_NR_IRQS alpha_mv.nr_irqs
arch/alpha/include/asm/ioctls.h+2−2
@@ -80,6 +80,7 @@ · 79 unmodified lines
8080 # define TIOCPKT_START 8
8181 # define TIOCPKT_NOSTOP 16
8282 # define TIOCPKT_DOSTOP 32
83+# define TIOCPKT_IOCTL 64
8384
8485
8586 #define TIOCNOTTY 0x5422
@@ -91,6 +92,7 @@ · 5 unmodified lines
9192 #define TIOCGSID 0x5429 /* Return the session ID of FD */
9293 #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
9394 #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
95+#define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */
9496
9597 #define TIOCSERCONFIG 0x5453
9698 #define TIOCSERGWILD 0x5454
@@ -106,7 +108,5 @@ · 9 unmodified lines
106108
107109 #define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
108110 #define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
109−#define TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
110−#define TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
111111
112112 #endif /* _ASM_ALPHA_IOCTLS_H */
arch/alpha/include/asm/local64.h+1−0
@@ -0,0 +1 @@
1+#include <asm-generic/local64.h>
arch/alpha/include/asm/md.h+0−13
@@ -1,13 +0,0 @@
1−/* $Id: md.h,v 1.1 1997/12/15 15:11:48 jj Exp $
2− * md.h: High speed xor_block operation for RAID4/5
3− *
4− */
5−
6−#ifndef __ASM_MD_H
7−#define __ASM_MD_H
8−
9−/* #define HAVE_ARCH_XORBLOCK */
10−
11−#define MD_XORBLOCK_ALIGNMENT sizeof(long)
12−
13−#endif /* __ASM_MD_H */
arch/alpha/include/asm/perf_event.h+7−1
@@ -2,8 +2,14 @@ · 1 unmodified line
22 #define __ASM_ALPHA_PERF_EVENT_H
33
44 /* Alpha only supports software events through this interface. */
5−static inline void set_perf_event_pending(void) { }
5+extern void set_perf_event_pending(void);
66
77 #define PERF_EVENT_INDEX_OFFSET 0
88
9+#ifdef CONFIG_PERF_EVENTS
10+extern void init_hw_perf_events(void);
11+#else
12+static inline void init_hw_perf_events(void) { }
13+#endif
14+
915 #endif /* __ASM_ALPHA_PERF_EVENT_H */
arch/alpha/include/asm/scatterlist.h+0−2
@@ -3,6 +3,4 @@ · 2 unmodified lines
33
44 #include <asm-generic/scatterlist.h>
55
6−#define ISA_DMA_THRESHOLD (~0UL)
7−
86 #endif /* !(_ALPHA_SCATTERLIST_H) */
arch/alpha/include/asm/termbits.h+1−0
@@ -180,6 +180,7 @@ struct ktermios { · 179 unmodified lines
180180 #define FLUSHO 0x00800000
181181 #define PENDIN 0x20000000
182182 #define IEXTEN 0x00000400
183+#define EXTPROC 0x10000000
183184
184185 /* Values for the ACTION argument to `tcflow'. */
185186 #define TCOOFF 0
arch/alpha/include/asm/wrperfmon.h+93−0
@@ -0,0 +1,93 @@
1+/*
2+ * Definitions for use with the Alpha wrperfmon PAL call.
3+ */
4+
5+#ifndef __ALPHA_WRPERFMON_H
6+#define __ALPHA_WRPERFMON_H
7+
8+/* Following commands are implemented on all CPUs */
9+#define PERFMON_CMD_DISABLE 0
10+#define PERFMON_CMD_ENABLE 1
11+#define PERFMON_CMD_DESIRED_EVENTS 2
12+#define PERFMON_CMD_LOGGING_OPTIONS 3
13+/* Following commands on EV5/EV56/PCA56 only */
14+#define PERFMON_CMD_INT_FREQ 4
15+#define PERFMON_CMD_ENABLE_CLEAR 7
16+/* Following commands are on EV5 and better CPUs */
17+#define PERFMON_CMD_READ 5
18+#define PERFMON_CMD_WRITE 6
19+/* Following command are on EV6 and better CPUs */
20+#define PERFMON_CMD_ENABLE_WRITE 7
21+/* Following command are on EV67 and better CPUs */
22+#define PERFMON_CMD_I_STAT 8
23+#define PERFMON_CMD_PMPC 9
24+
25+
26+/* EV5/EV56/PCA56 Counters */
27+#define EV5_PCTR_0 (1UL<<0)
28+#define EV5_PCTR_1 (1UL<<1)
29+#define EV5_PCTR_2 (1UL<<2)
30+
31+#define EV5_PCTR_0_COUNT_SHIFT 48
32+#define EV5_PCTR_1_COUNT_SHIFT 32
33+#define EV5_PCTR_2_COUNT_SHIFT 16
34+
35+#define EV5_PCTR_0_COUNT_MASK 0xffffUL
36+#define EV5_PCTR_1_COUNT_MASK 0xffffUL
37+#define EV5_PCTR_2_COUNT_MASK 0x3fffUL
38+
39+/* EV6 Counters */
40+#define EV6_PCTR_0 (1UL<<0)
41+#define EV6_PCTR_1 (1UL<<1)
42+
43+#define EV6_PCTR_0_COUNT_SHIFT 28
44+#define EV6_PCTR_1_COUNT_SHIFT 6
45+
46+#define EV6_PCTR_0_COUNT_MASK 0xfffffUL
47+#define EV6_PCTR_1_COUNT_MASK 0xfffffUL
48+
49+/* EV67 (and subsequent) counters */
50+#define EV67_PCTR_0 (1UL<<0)
51+#define EV67_PCTR_1 (1UL<<1)
52+
53+#define EV67_PCTR_0_COUNT_SHIFT 28
54+#define EV67_PCTR_1_COUNT_SHIFT 6
55+
56+#define EV67_PCTR_0_COUNT_MASK 0xfffffUL
57+#define EV67_PCTR_1_COUNT_MASK 0xfffffUL
58+
59+
60+/*
61+ * The Alpha Architecure Handbook, vers. 4 (1998) appears to have a misprint
62+ * in Table E-23 regarding the bits that set the event PCTR 1 counts.
63+ * Hopefully what we have here is correct.
64+ */
65+#define EV6_PCTR_0_EVENT_MASK 0x10UL
66+#define EV6_PCTR_1_EVENT_MASK 0x0fUL
67+
68+/* EV6 Events */
69+#define EV6_PCTR_0_CYCLES (0UL << 4)
70+#define EV6_PCTR_0_INSTRUCTIONS (1UL << 4)
71+
72+#define EV6_PCTR_1_CYCLES 0
73+#define EV6_PCTR_1_BRANCHES 1
74+#define EV6_PCTR_1_BRANCH_MISPREDICTS 2
75+#define EV6_PCTR_1_DTB_SINGLE_MISSES 3
76+#define EV6_PCTR_1_DTB_DOUBLE_MISSES 4
77+#define EV6_PCTR_1_ITB_MISSES 5
78+#define EV6_PCTR_1_UNALIGNED_TRAPS 6
79+#define EV6_PCTR_1_REPLY_TRAPS 7
80+
81+/* From the Alpha Architecture Reference Manual, 4th edn., 2002 */
82+#define EV67_PCTR_MODE_MASK 0x10UL
83+#define EV67_PCTR_EVENT_MASK 0x0CUL
84+
85+#define EV67_PCTR_MODE_PROFILEME (1UL<<4)
86+#define EV67_PCTR_MODE_AGGREGATE (0UL<<4)
87+
88+#define EV67_PCTR_INSTR_CYCLES (0UL<<2)
89+#define EV67_PCTR_CYCLES_UNDEF (1UL<<2)
90+#define EV67_PCTR_INSTR_BCACHEMISS (2UL<<2)
91+#define EV67_PCTR_CYCLES_MBOX (3UL<<2)
92+
93+#endif
arch/alpha/kernel/Makefile+1−0
@@ -15,6 +15,7 @@ obj-$(CONFIG_SMP) += smp.o · 14 unmodified lines
1515 obj-$(CONFIG_PCI) += pci.o pci_iommu.o pci-sysfs.o
1616 obj-$(CONFIG_SRM_ENV) += srm_env.o
1717 obj-$(CONFIG_MODULES) += module.o
18+obj-$(CONFIG_PERF_EVENTS) += perf_event.o
1819
1920 ifdef CONFIG_ALPHA_GENERIC
2021
arch/alpha/kernel/irq.c+5−2
@@ -31,6 +31,7 @@ · 30 unmodified lines
3131 #include <asm/uaccess.h>
3232
3333 volatile unsigned long irq_err_count;
34+DEFINE_PER_CPU(unsigned long, irq_pmi_count);
3435
3536 void ack_bad_irq(unsigned int irq)
3637 {
@@ -63,9 +64,7 @@ int irq_select_affinity(unsigned int irq) · 26 unmodified lines
6364 int
6465 show_interrupts(struct seq_file *p, void *v)
6566 {
66−#ifdef CONFIG_SMP
6767 int j;
68−#endif
6968 int irq = *(loff_t *) v;
7069 struct irqaction * action;
7170 unsigned long flags;
@@ -112,6 +111,10 @@ unlock: · 40 unmodified lines
112111 seq_printf(p, "%10lu ", cpu_data[j].ipi_count);
113112 seq_putc(p, '\n');
114113 #endif
114+ seq_puts(p, "PMI: ");
115+ for_each_online_cpu(j)
116+ seq_printf(p, "%10lu ", per_cpu(irq_pmi_count, j));
117+ seq_puts(p, " Performance Monitoring\n");
115118 seq_printf(p, "ERR: %10lu\n", irq_err_count);
116119 }
117120 return 0;
arch/alpha/kernel/irq_alpha.c+3−0
@@ -10,6 +10,7 @@ · 9 unmodified lines
1010
1111 #include <asm/machvec.h>
1212 #include <asm/dma.h>
13+#include <asm/perf_event.h>
1314
1415 #include "proto.h"
1516 #include "irq_impl.h"
@@ -111,6 +112,8 @@ init_IRQ(void) · 95 unmodified lines
111112 wrent(entInt, 0);
112113
113114 alpha_mv.init_irq();
115+
116+ init_hw_perf_events();
114117 }
115118
116119 /*
arch/alpha/kernel/osf_sys.c+7−7
@@ -234,17 +234,17 @@ linux_to_osf_statfs(struct kstatfs *linux_stat, struct osf_statfs __user *osf_st · 233 unmodified lines
234234 }
235235
236236 static int
237−do_osf_statfs(struct dentry * dentry, struct osf_statfs __user *buffer,
237+do_osf_statfs(struct path *path, struct osf_statfs __user *buffer,
238238 unsigned long bufsiz)
239239 {
240240 struct kstatfs linux_stat;
241− int error = vfs_statfs(dentry, &linux_stat);
241+ int error = vfs_statfs(path, &linux_stat);
242242 if (!error)
243243 error = linux_to_osf_statfs(&linux_stat, buffer, bufsiz);
244244 return error;
245245 }
246246
247−SYSCALL_DEFINE3(osf_statfs, char __user *, pathname,
247+SYSCALL_DEFINE3(osf_statfs, const char __user *, pathname,
248248 struct osf_statfs __user *, buffer, unsigned long, bufsiz)
249249 {
250250 struct path path;
@@ -252,7 +252,7 @@ SYSCALL_DEFINE3(osf_statfs, char __user *, pathname, · 1 unmodified line
252252
253253 retval = user_path(pathname, &path);
254254 if (!retval) {
255− retval = do_osf_statfs(path.dentry, buffer, bufsiz);
255+ retval = do_osf_statfs(&path buffer, bufsiz);
256256 path_put(&path);
257257 }
258258 return retval;
@@ -267,7 +267,7 @@ SYSCALL_DEFINE3(osf_fstatfs, unsigned long, fd, · 8 unmodified lines
267267 retval = -EBADF;
268268 file = fget(fd);
269269 if (file) {
270− retval = do_osf_statfs(file->f_path.dentry, buffer, bufsiz);
270+ retval = do_osf_statfs(&file->f_path, buffer, bufsiz);
271271 fput(file);
272272 }
273273 return retval;
@@ -358,7 +358,7 @@ osf_procfs_mount(char *dirname, struct procfs_args __user *args, int flags) · 84 unmodified lines
358358 return do_mount("", dirname, "proc", flags, NULL);
359359 }
360360
361−SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, char __user *, path,
361+SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, const char __user *, path,
362362 int, flag, void __user *, data)
363363 {
364364 int retval;
@@ -932,7 +932,7 @@ SYSCALL_DEFINE3(osf_setitimer, int, which, struct itimerval32 __user *, in, · 567 unmodified lines
932932
933933 }
934934
935−SYSCALL_DEFINE2(osf_utimes, char __user *, filename,
935+SYSCALL_DEFINE2(osf_utimes, const char __user *, filename,
936936 struct timeval32 __user *, tvs)
937937 {
938938 struct timespec tv[2];
arch/alpha/kernel/perf_event.c+842−0
@@ -0,0 +1,842 @@
1+/*
2+ * Hardware performance events for the Alpha.
3+ *
4+ * We implement HW counts on the EV67 and subsequent CPUs only.
5+ *
6+ * (C) 2010 Michael J. Cree
7+ *
8+ * Somewhat based on the Sparc code, and to a lesser extent the PowerPC and
9+ * ARM code, which are copyright by their respective authors.
10+ */
11+
12+#include <linux/perf_event.h>
13+#include <linux/kprobes.h>
14+#include <linux/kernel.h>
15+#include <linux/kdebug.h>
16+#include <linux/mutex.h>
17+
18+#include <asm/hwrpb.h>
19+#include <asm/atomic.h>
20+#include <asm/irq.h>
21+#include <asm/irq_regs.h>
22+#include <asm/pal.h>
23+#include <asm/wrperfmon.h>
24+#include <asm/hw_irq.h>
25+
26+
27+/* The maximum number of PMCs on any Alpha CPU whatsoever. */
28+#define MAX_HWEVENTS 3
29+#define PMC_NO_INDEX -1
30+
31+/* For tracking PMCs and the hw events they monitor on each CPU. */
32+struct cpu_hw_events {
33+ int enabled;
34+ /* Number of events scheduled; also number entries valid in arrays below. */
35+ int n_events;
36+ /* Number events added since last hw_perf_disable(). */
37+ int n_added;
38+ /* Events currently scheduled. */
39+ struct perf_event *event[MAX_HWEVENTS];
40+ /* Event type of each scheduled event. */
41+ unsigned long evtype[MAX_HWEVENTS];
42+ /* Current index of each scheduled event; if not yet determined
43+ * contains PMC_NO_INDEX.
44+ */
45+ int current_idx[MAX_HWEVENTS];
46+ /* The active PMCs' config for easy use with wrperfmon(). */
47+ unsigned long config;
48+ /* The active counters' indices for easy use with wrperfmon(). */
49+ unsigned long idx_mask;
50+};
51+DEFINE_PER_CPU(struct cpu_hw_events, cpu_hw_events);
52+
53+
54+
55+/*
56+ * A structure to hold the description of the PMCs available on a particular
57+ * type of Alpha CPU.
58+ */
59+struct alpha_pmu_t {
60+ /* Mapping of the perf system hw event types to indigenous event types */
61+ const int *event_map;
62+ /* The number of entries in the event_map */
63+ int max_events;
64+ /* The number of PMCs on this Alpha */
65+ int num_pmcs;
66+ /*
67+ * All PMC counters reside in the IBOX register PCTR. This is the
68+ * LSB of the counter.
69+ */
70+ int pmc_count_shift[MAX_HWEVENTS];
71+ /*
72+ * The mask that isolates the PMC bits when the LSB of the counter
73+ * is shifted to bit 0.
74+ */
75+ unsigned long pmc_count_mask[MAX_HWEVENTS];
76+ /* The maximum period the PMC can count. */
77+ unsigned long pmc_max_period[MAX_HWEVENTS];
78+ /*
79+ * The maximum value that may be written to the counter due to
80+ * hardware restrictions is pmc_max_period - pmc_left.
81+ */
82+ long pmc_left[3];
83+ /* Subroutine for allocation of PMCs. Enforces constraints. */
84+ int (*check_constraints)(struct perf_event **, unsigned long *, int);
85+};
86+
87+/*
88+ * The Alpha CPU PMU description currently in operation. This is set during
89+ * the boot process to the specific CPU of the machine.
90+ */
91+static const struct alpha_pmu_t *alpha_pmu;
92+
93+
94+#define HW_OP_UNSUPPORTED -1
95+
96+/*
97+ * The hardware description of the EV67, EV68, EV69, EV7 and EV79 PMUs
98+ * follow. Since they are identical we refer to them collectively as the
99+ * EV67 henceforth.
100+ */
101+
102+/*
103+ * EV67 PMC event types
104+ *
105+ * There is no one-to-one mapping of the possible hw event types to the
106+ * actual codes that are used to program the PMCs hence we introduce our
107+ * own hw event type identifiers.
108+ */
109+enum ev67_pmc_event_type {
110+ EV67_CYCLES = 1,
111+ EV67_INSTRUCTIONS,
112+ EV67_BCACHEMISS,
113+ EV67_MBOXREPLAY,
114+ EV67_LAST_ET
115+};
116+#define EV67_NUM_EVENT_TYPES (EV67_LAST_ET-EV67_CYCLES)
117+
118+
119+/* Mapping of the hw event types to the perf tool interface */
120+static const int ev67_perfmon_event_map[] = {
121+ [PERF_COUNT_HW_CPU_CYCLES] = EV67_CYCLES,
122+ [PERF_COUNT_HW_INSTRUCTIONS] = EV67_INSTRUCTIONS,
123+ [PERF_COUNT_HW_CACHE_REFERENCES] = HW_OP_UNSUPPORTED,
124+ [PERF_COUNT_HW_CACHE_MISSES] = EV67_BCACHEMISS,
125+};
126+
127+struct ev67_mapping_t {
128+ int config;
129+ int idx;
130+};
131+
132+/*
133+ * The mapping used for one event only - these must be in same order as enum
134+ * ev67_pmc_event_type definition.
135+ */
136+static const struct ev67_mapping_t ev67_mapping[] = {
137+ {EV67_PCTR_INSTR_CYCLES, 1}, /* EV67_CYCLES, */
138+ {EV67_PCTR_INSTR_CYCLES, 0}, /* EV67_INSTRUCTIONS */
139+ {EV67_PCTR_INSTR_BCACHEMISS, 1}, /* EV67_BCACHEMISS */
140+ {EV67_PCTR_CYCLES_MBOX, 1} /* EV67_MBOXREPLAY */
141+};
142+
143+
144+/*
145+ * Check that a group of events can be simultaneously scheduled on to the
146+ * EV67 PMU. Also allocate counter indices and config.
147+ */
148+static int ev67_check_constraints(struct perf_event **event,
149+ unsigned long *evtype, int n_ev)
150+{
151+ int idx0;
152+ unsigned long config;
153+
154+ idx0 = ev67_mapping[evtype[0]-1].idx;
155+ config = ev67_mapping[evtype[0]-1].config;
156+ if (n_ev == 1)
157+ goto success;
158+
159+ BUG_ON(n_ev != 2);
160+
161+ if (evtype[0] == EV67_MBOXREPLAY || evtype[1] == EV67_MBOXREPLAY) {
162+ /* MBOX replay traps must be on PMC 1 */
163+ idx0 = (evtype[0] == EV67_MBOXREPLAY) ? 1 : 0;
164+ /* Only cycles can accompany MBOX replay traps */
165+ if (evtype[idx0] == EV67_CYCLES) {
166+ config = EV67_PCTR_CYCLES_MBOX;
167+ goto success;
168+ }
169+ }
170+
171+ if (evtype[0] == EV67_BCACHEMISS || evtype[1] == EV67_BCACHEMISS) {
172+ /* Bcache misses must be on PMC 1 */
173+ idx0 = (evtype[0] == EV67_BCACHEMISS) ? 1 : 0;
174+ /* Only instructions can accompany Bcache misses */
175+ if (evtype[idx0] == EV67_INSTRUCTIONS) {
176+ config = EV67_PCTR_INSTR_BCACHEMISS;
177+ goto success;
178+ }
179+ }
180+
181+ if (evtype[0] == EV67_INSTRUCTIONS || evtype[1] == EV67_INSTRUCTIONS) {
182+ /* Instructions must be on PMC 0 */
183+ idx0 = (evtype[0] == EV67_INSTRUCTIONS) ? 0 : 1;
184+ /* By this point only cycles can accompany instructions */
185+ if (evtype[idx0^1] == EV67_CYCLES) {
186+ config = EV67_PCTR_INSTR_CYCLES;
187+ goto success;
188+ }
189+ }
190+
191+ /* Otherwise, darn it, there is a conflict. */
192+ return -1;
193+
194+success:
195+ event[0]->hw.idx = idx0;
196+ event[0]->hw.config_base = config;
197+ if (n_ev == 2) {
198+ event[1]->hw.idx = idx0 ^ 1;
199+ event[1]->hw.config_base = config;
200+ }
201+ return 0;
202+}
203+
204+
205+static const struct alpha_pmu_t ev67_pmu = {
206+ .event_map = ev67_perfmon_event_map,
207+ .max_events = ARRAY_SIZE(ev67_perfmon_event_map),
208+ .num_pmcs = 2,
209+ .pmc_count_shift = {EV67_PCTR_0_COUNT_SHIFT, EV67_PCTR_1_COUNT_SHIFT, 0},
210+ .pmc_count_mask = {EV67_PCTR_0_COUNT_MASK, EV67_PCTR_1_COUNT_MASK, 0},
211+ .pmc_max_period = {(1UL<<20) - 1, (1UL<<20) - 1, 0},
212+ .pmc_left = {16, 4, 0},
213+ .check_constraints = ev67_check_constraints
214+};
215+
216+
217+
218+/*
219+ * Helper routines to ensure that we read/write only the correct PMC bits
220+ * when calling the wrperfmon PALcall.
221+ */
222+static inline void alpha_write_pmc(int idx, unsigned long val)
223+{
224+ val &= alpha_pmu->pmc_count_mask[idx];
225+ val <<= alpha_pmu->pmc_count_shift[idx];
226+ val |= (1<<idx);
227+ wrperfmon(PERFMON_CMD_WRITE, val);
228+}
229+
230+static inline unsigned long alpha_read_pmc(int idx)
231+{
232+ unsigned long val;
233+
234+ val = wrperfmon(PERFMON_CMD_READ, 0);
235+ val >>= alpha_pmu->pmc_count_shift[idx];
236+ val &= alpha_pmu->pmc_count_mask[idx];
237+ return val;
238+}
239+
240+/* Set a new period to sample over */
241+static int alpha_perf_event_set_period(struct perf_event *event,
242+ struct hw_perf_event *hwc, int idx)
243+{
244+ long left = atomic64_read(&hwc->period_left);
245+ long period = hwc->sample_period;
246+ int ret = 0;
247+
248+ if (unlikely(left <= -period)) {
249+ left = period;
250+ atomic64_set(&hwc->period_left, left);
251+ hwc->last_period = period;
252+ ret = 1;
253+ }
254+
255+ if (unlikely(left <= 0)) {
256+ left += period;
257+ atomic64_set(&hwc->period_left, left);
258+ hwc->last_period = period;
259+ ret = 1;
260+ }
261+
262+ /*
263+ * Hardware restrictions require that the counters must not be
264+ * written with values that are too close to the maximum period.
265+ */
266+ if (unlikely(left < alpha_pmu->pmc_left[idx]))
267+ left = alpha_pmu->pmc_left[idx];
268+
269+ if (left > (long)alpha_pmu->pmc_max_period[idx])
270+ left = alpha_pmu->pmc_max_period[idx];
271+
272+ atomic64_set(&hwc->prev_count, (unsigned long)(-left));
273+
274+ alpha_write_pmc(idx, (unsigned long)(-left));
275+
276+ perf_event_update_userpage(event);
277+
278+ return ret;
279+}
280+
281+
282+/*
283+ * Calculates the count (the 'delta') since the last time the PMC was read.
284+ *
285+ * As the PMCs' full period can easily be exceeded within the perf system
286+ * sampling period we cannot use any high order bits as a guard bit in the
287+ * PMCs to detect overflow as is done by other architectures. The code here
288+ * calculates the delta on the basis that there is no overflow when ovf is
289+ * zero. The value passed via ovf by the interrupt handler corrects for
290+ * overflow.
291+ *
292+ * This can be racey on rare occasions -- a call to this routine can occur
293+ * with an overflowed counter just before the PMI service routine is called.
294+ * The check for delta negative hopefully always rectifies this situation.
295+ */
296+static unsigned long alpha_perf_event_update(struct perf_event *event,
297+ struct hw_perf_event *hwc, int idx, long ovf)
298+{
299+ long prev_raw_count, new_raw_count;
300+ long delta;
301+
302+again:
303+ prev_raw_count = atomic64_read(&hwc->prev_count);
304+ new_raw_count = alpha_read_pmc(idx);
305+
306+ if (atomic64_cmpxchg(&hwc->prev_count, prev_raw_count,
307+ new_raw_count) != prev_raw_count)
308+ goto again;
309+
310+ delta = (new_raw_count - (prev_raw_count & alpha_pmu->pmc_count_mask[idx])) + ovf;
311+
312+ /* It is possible on very rare occasions that the PMC has overflowed
313+ * but the interrupt is yet to come. Detect and fix this situation.
314+ */
315+ if (unlikely(delta < 0)) {
316+ delta += alpha_pmu->pmc_max_period[idx] + 1;
317+ }
318+
319+ atomic64_add(delta, &event->count);
320+ atomic64_sub(delta, &hwc->period_left);
321+
322+ return new_raw_count;
323+}
324+
325+
326+/*
327+ * Collect all HW events into the array event[].
328+ */
329+static int collect_events(struct perf_event *group, int max_count,
330+ struct perf_event *event[], unsigned long *evtype,
331+ int *current_idx)
332+{
333+ struct perf_event *pe;
334+ int n = 0;
335+
336+ if (!is_software_event(group)) {
337+ if (n >= max_count)
338+ return -1;
339+ event[n] = group;
340+ evtype[n] = group->hw.event_base;
341+ current_idx[n++] = PMC_NO_INDEX;
342+ }
343+ list_for_each_entry(pe, &group->sibling_list, group_entry) {
344+ if (!is_software_event(pe) && pe->state != PERF_EVENT_STATE_OFF) {
345+ if (n >= max_count)
346+ return -1;
347+ event[n] = pe;
348+ evtype[n] = pe->hw.event_base;
349+ current_idx[n++] = PMC_NO_INDEX;
350+ }
351+ }
352+ return n;
353+}
354+
355+
356+
357+/*
358+ * Check that a group of events can be simultaneously scheduled on to the PMU.
359+ */
360+static int alpha_check_constraints(struct perf_event **events,
361+ unsigned long *evtypes, int n_ev)
362+{
363+
364+ /* No HW events is possible from hw_perf_group_sched_in(). */
365+ if (n_ev == 0)
366+ return 0;
367+
368+ if (n_ev > alpha_pmu->num_pmcs)
369+ return -1;
370+
371+ return alpha_pmu->check_constraints(events, evtypes, n_ev);
372+}
373+
374+
375+/*
376+ * If new events have been scheduled then update cpuc with the new
377+ * configuration. This may involve shifting cycle counts from one PMC to
378+ * another.
379+ */
380+static void maybe_change_configuration(struct cpu_hw_events *cpuc)
381+{
382+ int j;
383+
384+ if (cpuc->n_added == 0)
385+ return;
386+
387+ /* Find counters that are moving to another PMC and update */
388+ for (j = 0; j < cpuc->n_events; j++) {
389+ struct perf_event *pe = cpuc->event[j];
390+
391+ if (cpuc->current_idx[j] != PMC_NO_INDEX &&
392+ cpuc->current_idx[j] != pe->hw.idx) {
393+ alpha_perf_event_update(pe, &pe->hw, cpuc->current_idx[j], 0);
394+ cpuc->current_idx[j] = PMC_NO_INDEX;
395+ }
396+ }
397+
398+ /* Assign to counters all unassigned events. */
399+ cpuc->idx_mask = 0;
400+ for (j = 0; j < cpuc->n_events; j++) {
401+ struct perf_event *pe = cpuc->event[j];
402+ struct hw_perf_event *hwc = &pe->hw;
403+ int idx = hwc->idx;
404+
405+ if (cpuc->current_idx[j] != PMC_NO_INDEX) {
406+ cpuc->idx_mask |= (1<<cpuc->current_idx[j]);
407+ continue;
408+ }
409+
410+ alpha_perf_event_set_period(pe, hwc, idx);
411+ cpuc->current_idx[j] = idx;
412+ cpuc->idx_mask |= (1<<cpuc->current_idx[j]);
413+ }
414+ cpuc->config = cpuc->event[0]->hw.config_base;
415+}
416+
417+
418+
419+/* Schedule perf HW event on to PMU.
420+ * - this function is called from outside this module via the pmu struct
421+ * returned from perf event initialisation.
422+ */
423+static int alpha_pmu_enable(struct perf_event *event)
424+{
425+ struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
426+ int n0;
427+ int ret;
428+ unsigned long flags;
429+
430+ /*
431+ * The Sparc code has the IRQ disable first followed by the perf
432+ * disable, however this can lead to an overflowed counter with the
433+ * PMI disabled on rare occasions. The alpha_perf_event_update()
434+ * routine should detect this situation by noting a negative delta,
435+ * nevertheless we disable the PMCs first to enable a potential
436+ * final PMI to occur before we disable interrupts.
437+ */
438+ perf_disable();
439+ local_irq_save(flags);
440+
441+ /* Default to error to be returned */
442+ ret = -EAGAIN;
443+
444+ /* Insert event on to PMU and if successful modify ret to valid return */
445+ n0 = cpuc->n_events;
446+ if (n0 < alpha_pmu->num_pmcs) {
447+ cpuc->event[n0] = event;
448+ cpuc->evtype[n0] = event->hw.event_base;
449+ cpuc->current_idx[n0] = PMC_NO_INDEX;
450+
451+ if (!alpha_check_constraints(cpuc->event, cpuc->evtype, n0+1)) {
452+ cpuc->n_events++;
453+ cpuc->n_added++;
454+ ret = 0;
455+ }
456+ }
457+
458+ local_irq_restore(flags);
459+ perf_enable();
460+
461+ return ret;
462+}
463+
464+
465+
466+/* Disable performance monitoring unit
467+ * - this function is called from outside this module via the pmu struct
468+ * returned from perf event initialisation.
469+ */
470+static void alpha_pmu_disable(struct perf_event *event)
471+{
472+ struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
473+ struct hw_perf_event *hwc = &event->hw;
474+ unsigned long flags;
475+ int j;
476+
477+ perf_disable();
478+ local_irq_save(flags);
479+
480+ for (j = 0; j < cpuc->n_events; j++) {
481+ if (event == cpuc->event[j]) {
482+ int idx = cpuc->current_idx[j];
483+
484+ /* Shift remaining entries down into the existing
485+ * slot.
486+ */
487+ while (++j < cpuc->n_events) {
488+ cpuc->event[j - 1] = cpuc->event[j];
489+ cpuc->evtype[j - 1] = cpuc->evtype[j];
490+ cpuc->current_idx[j - 1] =
491+ cpuc->current_idx[j];
492+ }
493+
494+ /* Absorb the final count and turn off the event. */
495+ alpha_perf_event_update(event, hwc, idx, 0);
496+ perf_event_update_userpage(event);
497+
498+ cpuc->idx_mask &= ~(1UL<<idx);
499+ cpuc->n_events--;
500+ break;
501+ }
502+ }
503+
504+ local_irq_restore(flags);
505+ perf_enable();
506+}
507+
508+
509+static void alpha_pmu_read(struct perf_event *event)
510+{
511+ struct hw_perf_event *hwc = &event->hw;
512+
513+ alpha_perf_event_update(event, hwc, hwc->idx, 0);
514+}
515+
516+
517+static void alpha_pmu_unthrottle(struct perf_event *event)
518+{
519+ struct hw_perf_event *hwc = &event->hw;
520+ struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
521+
522+ cpuc->idx_mask |= 1UL<<hwc->idx;
523+ wrperfmon(PERFMON_CMD_ENABLE, (1UL<<hwc->idx));
524+}
525+
526+
527+/*
528+ * Check that CPU performance counters are supported.
529+ * - currently support EV67 and later CPUs.
530+ * - actually some later revisions of the EV6 have the same PMC model as the
531+ * EV67 but we don't do suffiently deep CPU detection to detect them.
532+ * Bad luck to the very few people who might have one, I guess.
533+ */
534+static int supported_cpu(void)
535+{
536+ struct percpu_struct *cpu;
537+ unsigned long cputype;
538+
539+ /* Get cpu type from HW */
540+ cpu = (struct percpu_struct *)((char *)hwrpb + hwrpb->processor_offset);
541+ cputype = cpu->type & 0xffffffff;
542+ /* Include all of EV67, EV68, EV7, EV79 and EV69 as supported. */
543+ return (cputype >= EV67_CPU) && (cputype <= EV69_CPU);
544+}
545+
546+
547+
548+static void hw_perf_event_destroy(struct perf_event *event)
549+{
550+ /* Nothing to be done! */
551+ return;
552+}
553+
554+
555+
556+static int __hw_perf_event_init(struct perf_event *event)
557+{
558+ struct perf_event_attr *attr = &event->attr;
559+ struct hw_perf_event *hwc = &event->hw;
560+ struct perf_event *evts[MAX_HWEVENTS];
561+ unsigned long evtypes[MAX_HWEVENTS];
562+ int idx_rubbish_bin[MAX_HWEVENTS];
563+ int ev;
564+ int n;
565+
566+ /* We only support a limited range of HARDWARE event types with one
567+ * only programmable via a RAW event type.
568+ */
569+ if (attr->type == PERF_TYPE_HARDWARE) {
570+ if (attr->config >= alpha_pmu->max_events)
571+ return -EINVAL;
572+ ev = alpha_pmu->event_map[attr->config];
573+ } else if (attr->type == PERF_TYPE_HW_CACHE) {
574+ return -EOPNOTSUPP;
575+ } else if (attr->type == PERF_TYPE_RAW) {
576+ ev = attr->config & 0xff;
577+ } else {
578+ return -EOPNOTSUPP;
579+ }
580+
581+ if (ev < 0) {
582+ return ev;
583+ }
584+
585+ /* The EV67 does not support mode exclusion */
586+ if (attr->exclude_kernel || attr->exclude_user
587+ || attr->exclude_hv || attr->exclude_idle) {
588+ return -EPERM;
589+ }
590+
591+ /*
592+ * We place the event type in event_base here and leave calculation
593+ * of the codes to programme the PMU for alpha_pmu_enable() because
594+ * it is only then we will know what HW events are actually
595+ * scheduled on to the PMU. At that point the code to programme the
596+ * PMU is put into config_base and the PMC to use is placed into
597+ * idx. We initialise idx (below) to PMC_NO_INDEX to indicate that
598+ * it is yet to be determined.
599+ */
600+ hwc->event_base = ev;
601+
602+ /* Collect events in a group together suitable for calling
603+ * alpha_check_constraints() to verify that the group as a whole can
604+ * be scheduled on to the PMU.
605+ */
606+ n = 0;
607+ if (event->group_leader != event) {
608+ n = collect_events(event->group_leader,
609+ alpha_pmu->num_pmcs - 1,
610+ evts, evtypes, idx_rubbish_bin);
611+ if (n < 0)
612+ return -EINVAL;
613+ }
614+ evtypes[n] = hwc->event_base;
615+ evts[n] = event;
616+
617+ if (alpha_check_constraints(evts, evtypes, n + 1))
618+ return -EINVAL;
619+
620+ /* Indicate that PMU config and idx are yet to be determined. */
621+ hwc->config_base = 0;
622+ hwc->idx = PMC_NO_INDEX;
623+
624+ event->destroy = hw_perf_event_destroy;
625+
626+ /*
627+ * Most architectures reserve the PMU for their use at this point.
628+ * As there is no existing mechanism to arbitrate usage and there
629+ * appears to be no other user of the Alpha PMU we just assume
630+ * that we can just use it, hence a NO-OP here.
631+ *
632+ * Maybe an alpha_reserve_pmu() routine should be implemented but is
633+ * anything else ever going to use it?
634+ */
635+
636+ if (!hwc->sample_period) {
637+ hwc->sample_period = alpha_pmu->pmc_max_period[0];
638+ hwc->last_period = hwc->sample_period;
639+ atomic64_set(&hwc->period_left, hwc->sample_period);
640+ }
641+
642+ return 0;
643+}
644+
645+static const struct pmu pmu = {
646+ .enable = alpha_pmu_enable,
647+ .disable = alpha_pmu_disable,
648+ .read = alpha_pmu_read,
649+ .unthrottle = alpha_pmu_unthrottle,
650+};
651+
652+
653+/*
654+ * Main entry point to initialise a HW performance event.
655+ */
656+const struct pmu *hw_perf_event_init(struct perf_event *event)
657+{
658+ int err;
659+
660+ if (!alpha_pmu)
661+ return ERR_PTR(-ENODEV);
662+
663+ /* Do the real initialisation work. */
664+ err = __hw_perf_event_init(event);
665+
666+ if (err)
667+ return ERR_PTR(err);
668+
669+ return &pmu;
670+}
671+
672+
673+
674+/*
675+ * Main entry point - enable HW performance counters.
676+ */
677+void hw_perf_enable(void)
678+{
679+ struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
680+
681+ if (cpuc->enabled)
682+ return;
683+
684+ cpuc->enabled = 1;
685+ barrier();
686+
687+ if (cpuc->n_events > 0) {
688+ /* Update cpuc with information from any new scheduled events. */
689+ maybe_change_configuration(cpuc);
690+
691+ /* Start counting the desired events. */
692+ wrperfmon(PERFMON_CMD_LOGGING_OPTIONS, EV67_PCTR_MODE_AGGREGATE);
693+ wrperfmon(PERFMON_CMD_DESIRED_EVENTS, cpuc->config);
694+ wrperfmon(PERFMON_CMD_ENABLE, cpuc->idx_mask);
695+ }
696+}
697+
698+
699+/*
700+ * Main entry point - disable HW performance counters.
701+ */
702+
703+void hw_perf_disable(void)
704+{
705+ struct cpu_hw_events *cpuc = &__get_cpu_var(cpu_hw_events);
706+
707+ if (!cpuc->enabled)
708+ return;
709+
710+ cpuc->enabled = 0;
711+ cpuc->n_added = 0;
712+
713+ wrperfmon(PERFMON_CMD_DISABLE, cpuc->idx_mask);
714+}
715+
716+
717+/*
718+ * Main entry point - don't know when this is called but it
719+ * obviously dumps debug info.
720+ */
721+void perf_event_print_debug(void)
722+{
723+ unsigned long flags;
724+ unsigned long pcr;
725+ int pcr0, pcr1;
726+ int cpu;
727+
728+ if (!supported_cpu())
729+ return;
730+
731+ local_irq_save(flags);
732+
733+ cpu = smp_processor_id();
734+
735+ pcr = wrperfmon(PERFMON_CMD_READ, 0);
736+ pcr0 = (pcr >> alpha_pmu->pmc_count_shift[0]) & alpha_pmu->pmc_count_mask[0];
737+ pcr1 = (pcr >> alpha_pmu->pmc_count_shift[1]) & alpha_pmu->pmc_count_mask[1];
738+
739+ pr_info("CPU#%d: PCTR0[%06x] PCTR1[%06x]\n", cpu, pcr0, pcr1);
740+
741+ local_irq_restore(flags);
742+}
743+
744+
745+/*
746+ * Performance Monitoring Interrupt Service Routine called when a PMC
747+ * overflows. The PMC that overflowed is passed in la_ptr.
748+ */
749+static void alpha_perf_event_irq_handler(unsigned long la_ptr,
750+ struct pt_regs *regs)
751+{
752+ struct cpu_hw_events *cpuc;
753+ struct perf_sample_data data;
754+ struct perf_event *event;
755+ struct hw_perf_event *hwc;
756+ int idx, j;
757+
758+ __get_cpu_var(irq_pmi_count)++;
759+ cpuc = &__get_cpu_var(cpu_hw_events);
760+
761+ /* Completely counting through the PMC's period to trigger a new PMC
762+ * overflow interrupt while in this interrupt routine is utterly
763+ * disastrous! The EV6 and EV67 counters are sufficiently large to
764+ * prevent this but to be really sure disable the PMCs.
765+ */
766+ wrperfmon(PERFMON_CMD_DISABLE, cpuc->idx_mask);
767+
768+ /* la_ptr is the counter that overflowed. */
769+ if (unlikely(la_ptr >= perf_max_events)) {
770+ /* This should never occur! */
771+ irq_err_count++;
772+ pr_warning("PMI: silly index %ld\n", la_ptr);
773+ wrperfmon(PERFMON_CMD_ENABLE, cpuc->idx_mask);
774+ return;
775+ }
776+
777+ idx = la_ptr;
778+
779+ perf_sample_data_init(&data, 0);
780+ for (j = 0; j < cpuc->n_events; j++) {
781+ if (cpuc->current_idx[j] == idx)
782+ break;
783+ }
784+
785+ if (unlikely(j == cpuc->n_events)) {
786+ /* This can occur if the event is disabled right on a PMC overflow. */
787+ wrperfmon(PERFMON_CMD_ENABLE, cpuc->idx_mask);
788+ return;
789+ }
790+
791+ event = cpuc->event[j];
792+
793+ if (unlikely(!event)) {
794+ /* This should never occur! */
795+ irq_err_count++;
796+ pr_warning("PMI: No event at index %d!\n", idx);
797+ wrperfmon(PERFMON_CMD_ENABLE, cpuc->idx_mask);
798+ return;
799+ }
800+
801+ hwc = &event->hw;
802+ alpha_perf_event_update(event, hwc, idx, alpha_pmu->pmc_max_period[idx]+1);
803+ data.period = event->hw.last_period;
804+
805+ if (alpha_perf_event_set_period(event, hwc, idx)) {
806+ if (perf_event_overflow(event, 1, &data, regs)) {
807+ /* Interrupts coming too quickly; "throttle" the
808+ * counter, i.e., disable it for a little while.
809+ */
810+ cpuc->idx_mask &= ~(1UL<<idx);
811+ }
812+ }
813+ wrperfmon(PERFMON_CMD_ENABLE, cpuc->idx_mask);
814+
815+ return;
816+}
817+
818+
819+
820+/*
821+ * Init call to initialise performance events at kernel startup.
822+ */
823+void __init init_hw_perf_events(void)
824+{
825+ pr_info("Performance events: ");
826+
827+ if (!supported_cpu()) {
828+ pr_cont("No support for your CPU.\n");
829+ return;
830+ }
831+
832+ pr_cont("Supported CPU type!\n");
833+
834+ /* Override performance counter IRQ vector */
835+
836+ perf_irq = alpha_perf_event_irq_handler;
837+
838+ /* And set up PMU specification */
839+ alpha_pmu = &ev67_pmu;
840+ perf_max_events = alpha_pmu->num_pmcs;
841+}
842+
arch/alpha/kernel/process.c+1−1
@@ -387,7 +387,7 @@ EXPORT_SYMBOL(dump_elf_task_fp); · 386 unmodified lines
387387 * sys_execve() executes a new program.
388388 */
389389 asmlinkage int
390−do_sys_execve(char __user *ufilename, char __user * __user *argv,
390+do_sys_execve(const char __user *ufilename, char __user * __user *argv,
391391 char __user * __user *envp, struct pt_regs *regs)
392392 {
393393 int error;
arch/alpha/kernel/time.c+26−0
@@ -41,6 +41,7 @@ · 40 unmodified lines
4141 #include <linux/init.h>
4242 #include <linux/bcd.h>
4343 #include <linux/profile.h>
44+#include <linux/perf_event.h>
4445
4546 #include <asm/uaccess.h>
4647 #include <asm/io.h>
@@ -82,6 +83,26 @@ static struct { · 35 unmodified lines
8283
8384 unsigned long est_cycle_freq;
8485
86+#ifdef CONFIG_PERF_EVENTS
87+
88+DEFINE_PER_CPU(u8, perf_event_pending);
89+
90+#define set_perf_event_pending_flag() __get_cpu_var(perf_event_pending) = 1
91+#define test_perf_event_pending() __get_cpu_var(perf_event_pending)
92+#define clear_perf_event_pending() __get_cpu_var(perf_event_pending) = 0
93+
94+void set_perf_event_pending(void)
95+{
96+ set_perf_event_pending_flag();
97+}
98+
99+#else /* CONFIG_PERF_EVENTS */
100+
101+#define test_perf_event_pending() 0
102+#define clear_perf_event_pending()
103+
104+#endif /* CONFIG_PERF_EVENTS */
105+
85106
86107 static inline __u32 rpcc(void)
87108 {
@@ -175,6 +196,11 @@ irqreturn_t timer_interrupt(int irq, void *dev) · 87 unmodified lines
175196 update_process_times(user_mode(get_irq_regs()));
176197 #endif
177198
199+ if (test_perf_event_pending()) {
200+ clear_perf_event_pending();
201+ perf_event_do_pending();
202+ }
203+
178204 return IRQ_HANDLED;
179205 }
180206
arch/arm/Kconfig+224−44
@@ -10,6 +10,7 @@ config ARM · 9 unmodified lines
1010 default y
1111 select HAVE_AOUT
1212 select HAVE_IDE
13+ select HAVE_MEMBLOCK
1314 select RTC_LIB
1415 select SYS_SUPPORTS_APM_EMULATION
1516 select GENERIC_ATOMIC64 if (!CPU_32v6K)
@@ -24,6 +25,7 @@ config ARM · 8 unmodified lines
2425 select HAVE_KERNEL_LZMA
2526 select HAVE_PERF_EVENTS
2627 select PERF_USE_VMALLOC
28+ select HAVE_REGS_AND_STACK_ACCESS_API
2729 help
2830 The ARM series is a line of low-power-consumption RISC chip designs
2931 licensed by ARM Ltd and targeted at embedded applications and
@@ -41,10 +43,6 @@ config SYS_SUPPORTS_APM_EMULATION · 11 unmodified lines
4143 config GENERIC_GPIO
4244 bool
4345
44−config GENERIC_TIME
45− bool
46− default y
47−
4846 config ARCH_USES_GETTIMEOFFSET
4947 bool
5048 default n
@@ -55,7 +53,7 @@ config GENERIC_CLOCKEVENTS · 4 unmodified lines
5553 config GENERIC_CLOCKEVENTS_BROADCAST
5654 bool
5755 depends on GENERIC_CLOCKEVENTS
58− default y if SMP && !LOCAL_TIMERS
56+ default y if SMP
5957
6058 config HAVE_TCM
6159 bool
@@ -301,6 +299,7 @@ config ARCH_CNS3XXX · 239 unmodified lines
301299 select CPU_V6
302300 select GENERIC_CLOCKEVENTS
303301 select ARM_GIC
302+ select PCI_DOMAINS if PCI
304303 help
305304 Support for Cavium Networks CNS3XXX platform.
306305
@@ -439,21 +438,6 @@ config ARCH_IXP4XX · 132 unmodified lines
439438 help
440439 Support for Intel's IXP4XX (XScale) family of processors.
441440
442−config ARCH_L7200
443− bool "LinkUp-L7200"
444− select CPU_ARM720T
445− select FIQ
446− select ARCH_USES_GETTIMEOFFSET
447− help
448− Say Y here if you intend to run this kernel on a LinkUp Systems
449− L7200 Software Development Board which uses an ARM720T processor.
450− Information on this board can be obtained at:
451−
452− <http://www.linkupsys.com/>
453−
454− If you have any questions or comments about the Linux kernel port
455− to this board, send e-mail to <sjhill@cotw.com>.
456−
457441 config ARCH_DOVE
458442 bool "Marvell Dove"
459443 select PCI
@@ -482,6 +466,19 @@ config ARCH_LOKI · 22 unmodified lines
482466 help
483467 Support for the Marvell Loki (88RC8480) SoC.
484468
469+config ARCH_LPC32XX
470+ bool "NXP LPC32XX"
471+ select CPU_ARM926T
472+ select ARCH_REQUIRE_GPIOLIB
473+ select HAVE_IDE
474+ select ARM_AMBA
475+ select USB_ARCH_HAS_OHCI
476+ select COMMON_CLKDEV
477+ select GENERIC_TIME
478+ select GENERIC_CLOCKEVENTS
479+ help
480+ Support for the NXP LPC32XX family of processors
481+
485482 config ARCH_MV78XX0
486483 bool "Marvell MV78xx0"
487484 select CPU_FEROCEON
@@ -561,6 +558,18 @@ config ARCH_NUC93X · 73 unmodified lines
561558 Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a
562559 low-power and high performance MPEG-4/JPEG multimedia controller chip.
563560
561+config ARCH_TEGRA
562+ bool "NVIDIA Tegra"
563+ select GENERIC_TIME
564+ select GENERIC_CLOCKEVENTS
565+ select GENERIC_GPIO
566+ select HAVE_CLK
567+ select COMMON_CLKDEV
568+ select ARCH_HAS_BARRIERS if CACHE_L2X0
569+ help
570+ This enables support for NVIDIA Tegra based systems (Tegra APX,
571+ Tegra 6xx and Tegra 2 series).
572+
564573 config ARCH_PNX4008
565574 bool "Philips Nexperia PNX4008 Mobile"
566575 select CPU_ARM926T
@@ -586,6 +595,7 @@ config ARCH_MSM · 19 unmodified lines
586595 bool "Qualcomm MSM"
587596 select HAVE_CLK
588597 select GENERIC_CLOCKEVENTS
598+ select ARCH_REQUIRE_GPIOLIB
589599 help
590600 Support for Qualcomm MSM/QSD based systems. This runs on the
591601 apps processor of the MSM/QSD and depends on a shared memory
@@ -634,6 +644,7 @@ config ARCH_S3C2410 · 42 unmodified lines
634644 select ARCH_HAS_CPUFREQ
635645 select HAVE_CLK
636646 select ARCH_USES_GETTIMEOFFSET
647+ select HAVE_S3C2410_I2C
637648 help
638649 Samsung S3C2410X CPU based systems, such as the Simtec Electronics
639650 BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
@@ -663,6 +674,8 @@ config ARCH_S3C64XX · 23 unmodified lines
663674 select S3C_DEV_NAND
664675 select USB_ARCH_HAS_OHCI
665676 select SAMSUNG_GPIOLIB_4BIT
677+ select HAVE_S3C2410_I2C
678+ select HAVE_S3C2410_WATCHDOG
666679 help
667680 Samsung S3C64XX series based systems
668681
@@ -671,7 +684,10 @@ config ARCH_S5P6440 · 2 unmodified lines
671684 select CPU_V6
672685 select GENERIC_GPIO
673686 select HAVE_CLK
687+ select HAVE_S3C2410_WATCHDOG
674688 select ARCH_USES_GETTIMEOFFSET
689+ select HAVE_S3C2410_I2C
690+ select HAVE_S3C_RTC
675691 help
676692 Samsung S5P6440 CPU based systems
677693
@@ -681,6 +697,7 @@ config ARCH_S5P6442 · 3 unmodified lines
681697 select GENERIC_GPIO
682698 select HAVE_CLK
683699 select ARCH_USES_GETTIMEOFFSET
700+ select HAVE_S3C2410_WATCHDOG
684701 help
685702 Samsung S5P6442 CPU based systems
686703
@@ -691,6 +708,9 @@ config ARCH_S5PC100 · 4 unmodified lines
691708 select CPU_V7
692709 select ARM_L1_CACHE_SHIFT_6
693710 select ARCH_USES_GETTIMEOFFSET
711+ select HAVE_S3C2410_I2C
712+ select HAVE_S3C_RTC
713+ select HAVE_S3C2410_WATCHDOG
694714 help
695715 Samsung S5PC100 series based systems
696716
@@ -701,9 +721,21 @@ config ARCH_S5PV210 · 4 unmodified lines
701721 select HAVE_CLK
702722 select ARM_L1_CACHE_SHIFT_6
703723 select ARCH_USES_GETTIMEOFFSET
724+ select HAVE_S3C2410_I2C
725+ select HAVE_S3C_RTC
726+ select HAVE_S3C2410_WATCHDOG
704727 help
705728 Samsung S5PV210/S5PC110 series based systems
706729
730+config ARCH_S5PV310
731+ bool "Samsung S5PV310/S5PC210"
732+ select CPU_V7
733+ select GENERIC_GPIO
734+ select HAVE_CLK
735+ select GENERIC_CLOCKEVENTS
736+ help
737+ Samsung S5PV310 series based systems
738+
707739 config ARCH_SHARK
708740 bool "Shark"
709741 select CPU_SA110
@@ -719,7 +751,6 @@ config ARCH_SHARK · 9 unmodified lines
719751 config ARCH_LH7A40X
720752 bool "Sharp LH7A40X"
721753 select CPU_ARM922T
722− select ARCH_DISCONTIGMEM_ENABLE if !LH7A40X_CONTIGMEM
723754 select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM
724755 select ARCH_USES_GETTIMEOFFSET
725756 help
@@ -845,6 +876,8 @@ source "arch/arm/mach-lh7a40x/Kconfig" · 119 unmodified lines
845876
846877 source "arch/arm/mach-loki/Kconfig"
847878
879+source "arch/arm/mach-lpc32xx/Kconfig"
880+
848881 source "arch/arm/mach-msm/Kconfig"
849882
850883 source "arch/arm/mach-mv78xx0/Kconfig"
@@ -904,10 +937,14 @@ source "arch/arm/mach-s5pc100/Kconfig" · 53 unmodified lines
904937
905938 source "arch/arm/mach-s5pv210/Kconfig"
906939
940+source "arch/arm/mach-s5pv310/Kconfig"
941+
907942 source "arch/arm/mach-shmobile/Kconfig"
908943
909944 source "arch/arm/plat-stmp3xxx/Kconfig"
910945
946+source "arch/arm/mach-tegra/Kconfig"
947+
911948 source "arch/arm/mach-u300/Kconfig"
912949
913950 source "arch/arm/mach-ux500/Kconfig"
@@ -1027,15 +1064,22 @@ config PL310_ERRATA_588369 · 113 unmodified lines
10271064 is not correctly implemented in PL310 as clean lines are not
10281065 invalidated as a result of these operations. Note that this errata
10291066 uses Texas Instrument's secure monitor api.
1067+
1068+config ARM_ERRATA_720789
1069+ bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID"
1070+ depends on CPU_V7 && SMP
1071+ help
1072+ This option enables the workaround for the 720789 Cortex-A9 (prior to
1073+ r2p0) erratum. A faulty ASID can be sent to the other CPUs for the
1074+ broadcasted CP15 TLB maintenance operations TLBIASIDIS and TLBIMVAIS.
1075+ As a consequence of this erratum, some TLB entries which should be
1076+ invalidated are not, resulting in an incoherency in the system page
1077+ tables. The workaround changes the TLB flushing routines to invalidate
1078+ entries regardless of the ASID.
10301079 endmenu
10311080
10321081 source "arch/arm/common/Kconfig"
10331082
1034−config FORCE_MAX_ZONEORDER
1035− int
1036− depends on SA1111
1037− default "9"
1038−
10391083 menu "Bus support"
10401084
10411085 config ARM_AMBA
@@ -1060,7 +1104,7 @@ config ISA_DMA_API · 18 unmodified lines
10601104 bool
10611105
10621106 config PCI
1063− bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE
1107+ bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE || ARCH_CNS3XXX
10641108 help
10651109 Find out whether you have a PCI motherboard. PCI is the name of a
10661110 bus system, i.e. the way the CPU talks to the other stuff inside
@@ -1100,10 +1144,11 @@ config SMP · 33 unmodified lines
11001144 bool "Symmetric Multi-Processing (EXPERIMENTAL)"
11011145 depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\
11021146 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 ||\
1103− ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
1147+ ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
11041148 depends on GENERIC_CLOCKEVENTS
11051149 select USE_GENERIC_SMP_HELPERS
1106− select HAVE_ARM_SCU if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
1150+ select HAVE_ARM_SCU if ARCH_REALVIEW || ARCH_OMAP4 || ARCH_S5PV310 ||\
1151+ ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4
11071152 help
11081153 This enables support for systems with more than one CPU. If you have
11091154 a system with only one CPU, like most personal computers, say N. If
@@ -1172,9 +1217,11 @@ config HOTPLUG_CPU · 62 unmodified lines
11721217 config LOCAL_TIMERS
11731218 bool "Use local timer interrupts"
11741219 depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || \
1175− REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || ARCH_U8500)
1220+ REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || \
1221+ ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
11761222 default y
1177− select HAVE_ARM_TWD if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500)
1223+ select HAVE_ARM_TWD if ARCH_REALVIEW || ARCH_OMAP4 || ARCH_S5PV310 || \
1224+ ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS
11781225 help
11791226 Enable support for local timers on SMP platforms, rather then the
11801227 legacy IPI broadcast method. Local timers allows the system
@@ -1185,10 +1232,11 @@ source kernel/Kconfig.preempt · 4 unmodified lines
11851232
11861233 config HZ
11871234 int
1188− default 128 if ARCH_L7200
1189− default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P6440 || ARCH_S5P6442 || ARCH_S5PV210
1235+ default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P6440 || \
1236+ ARCH_S5P6442 || ARCH_S5PV210 || ARCH_S5PV310
11901237 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
11911238 default AT91_TIMER_HZ if ARCH_AT91
1239+ default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
11921240 default 100
11931241
11941242 config THUMB2_KERNEL
@@ -1241,10 +1289,6 @@ config OABI_COMPAT · 46 unmodified lines
12411289 config ARCH_HAS_HOLES_MEMORYMODEL
12421290 bool
12431291
1244−# Discontigmem is deprecated
1245−config ARCH_DISCONTIGMEM_ENABLE
1246− bool
1247−
12481292 config ARCH_SPARSEMEM_ENABLE
12491293 bool
12501294
@@ -1252,13 +1296,7 @@ config ARCH_SPARSEMEM_DEFAULT · 1 unmodified line
12521296 def_bool ARCH_SPARSEMEM_ENABLE
12531297
12541298 config ARCH_SELECT_MEMORY_MODEL
1255− def_bool ARCH_DISCONTIGMEM_ENABLE && ARCH_SPARSEMEM_ENABLE
1256−
1257−config NODES_SHIFT
1258− int
1259− default "4" if ARCH_LH7A40X
1260− default "2"
1261− depends on NEED_MULTIPLE_NODES
1299+ def_bool ARCH_SPARSEMEM_ENABLE
12621300
12631301 config HIGHMEM
12641302 bool "High Memory Support (EXPERIMENTAL)"
@@ -1290,8 +1328,33 @@ config HW_PERF_EVENTS · 25 unmodified lines
12901328 Enable hardware performance counter support for perf events. If
12911329 disabled, perf events will use software events only.
12921330
1331+config SPARSE_IRQ
1332+ def_bool n
1333+ help
1334+ This enables support for sparse irqs. This is useful in general
1335+ as most CPUs have a fairly sparse array of IRQ vectors, which
1336+ the irq_desc then maps directly on to. Systems with a high
1337+ number of off-chip IRQs will want to treat this as
1338+ experimental until they have been independently verified.
1339+
12931340 source "mm/Kconfig"
12941341
1342+config FORCE_MAX_ZONEORDER
1343+ int "Maximum zone order" if ARCH_SHMOBILE
1344+ range 11 64 if ARCH_SHMOBILE
1345+ default "9" if SA1111
1346+ default "11"
1347+ help
1348+ The kernel memory allocator divides physically contiguous memory
1349+ blocks into "zones", where each zone is a power of two number of
1350+ pages. This option selects the largest power of two that the kernel
1351+ keeps in the memory allocator. If you need to allocate very large
1352+ blocks of physically contiguous memory, then you may need to
1353+ increase this value.
1354+
1355+ This config option is actually maximum order plus one. For example,
1356+ a value of 11 means that the largest free memory block is 2^10 pages.
1357+
12951358 config LEDS
12961359 bool "Timer and CPU usage LEDs"
12971360 depends on ARCH_CDB89712 || ARCH_EBSA110 || \
@@ -1375,6 +1438,24 @@ config UACCESS_WITH_MEMCPY · 77 unmodified lines
13751438 However, if the CPU data cache is using a write-allocate mode,
13761439 this option is unlikely to provide any performance gain.
13771440
1441+config CC_STACKPROTECTOR
1442+ bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
1443+ help
1444+ This option turns on the -fstack-protector GCC feature. This
1445+ feature puts, at the beginning of functions, a canary value on
1446+ the stack just before the return address, and validates
1447+ the value just before actually returning. Stack based buffer
1448+ overflows (that need to overwrite this return address) now also
1449+ overwrite the canary, which gets detected and the attack is then
1450+ neutralized via a kernel panic.
1451+ This feature requires gcc version 4.2 or above.
1452+
1453+config DEPRECATED_PARAM_STRUCT
1454+ bool "Provide old way to pass kernel parameters"
1455+ help
1456+ This was deprecated in 2001 and announced to live on for 5 years.
1457+ Some old boot loaders still use this way.
1458+
13781459 endmenu
13791460
13801461 menu "Boot options"
@@ -1485,6 +1566,105 @@ config ATAGS_PROC · 104 unmodified lines
14851566 Should the atags used to boot the kernel be exported in an "atags"
14861567 file in procfs. Useful with kexec.
14871568
1569+config AUTO_ZRELADDR
1570+ bool "Auto calculation of the decompressed kernel image address"
1571+ depends on !ZBOOT_ROM && !ARCH_U300
1572+ help
1573+ ZRELADDR is the physical address where the decompressed kernel
1574+ image will be placed. If AUTO_ZRELADDR is selected, the address
1575+ will be determined at run-time by masking the current IP with
1576+ 0xf8000000. This assumes the zImage being placed in the first 128MB
1577+ from start of memory.
1578+
1579+config ZRELADDR
1580+ hex "Physical address of the decompressed kernel image"
1581+ depends on !AUTO_ZRELADDR
1582+ default 0x00008000 if ARCH_BCMRING ||\
1583+ ARCH_CNS3XXX ||\
1584+ ARCH_DOVE ||\
1585+ ARCH_EBSA110 ||\
1586+ ARCH_FOOTBRIDGE ||\
1587+ ARCH_INTEGRATOR ||\
1588+ ARCH_IOP13XX ||\
1589+ ARCH_IOP33X ||\
1590+ ARCH_IXP2000 ||\
1591+ ARCH_IXP23XX ||\
1592+ ARCH_IXP4XX ||\
1593+ ARCH_KIRKWOOD ||\
1594+ ARCH_KS8695 ||\
1595+ ARCH_LOKI ||\
1596+ ARCH_MMP ||\
1597+ ARCH_MV78XX0 ||\
1598+ ARCH_NOMADIK ||\
1599+ ARCH_NUC93X ||\
1600+ ARCH_NS9XXX ||\
1601+ ARCH_ORION5X ||\
1602+ ARCH_SPEAR3XX ||\
1603+ ARCH_SPEAR6XX ||\
1604+ ARCH_U8500 ||\
1605+ ARCH_VERSATILE ||\
1606+ ARCH_W90X900
1607+ default 0x08008000 if ARCH_MX1 ||\
1608+ ARCH_SHARK
1609+ default 0x10008000 if ARCH_MSM ||\
1610+ ARCH_OMAP1 ||\
1611+ ARCH_RPC
1612+ default 0x20008000 if ARCH_S5P6440 ||\
1613+ ARCH_S5P6442 ||\
1614+ ARCH_S5PC100 ||\
1615+ ARCH_S5PV210
1616+ default 0x30008000 if ARCH_S3C2410 ||\
1617+ ARCH_S3C2400 ||\
1618+ ARCH_S3C2412 ||\
1619+ ARCH_S3C2416 ||\
1620+ ARCH_S3C2440 ||\
1621+ ARCH_S3C2443
1622+ default 0x40008000 if ARCH_STMP378X ||\
1623+ ARCH_STMP37XX ||\
1624+ ARCH_SH7372 ||\
1625+ ARCH_SH7377
1626+ default 0x50008000 if ARCH_S3C64XX ||\
1627+ ARCH_SH7367
1628+ default 0x60008000 if ARCH_VEXPRESS
1629+ default 0x80008000 if ARCH_MX25 ||\
1630+ ARCH_MX3 ||\
1631+ ARCH_NETX ||\
1632+ ARCH_OMAP2PLUS ||\
1633+ ARCH_PNX4008
1634+ default 0x90008000 if ARCH_MX5 ||\
1635+ ARCH_MX91231
1636+ default 0xa0008000 if ARCH_IOP32X ||\
1637+ ARCH_PXA ||\
1638+ MACH_MX27
1639+ default 0xc0008000 if ARCH_LH7A40X ||\
1640+ MACH_MX21
1641+ default 0xf0008000 if ARCH_AAEC2000 ||\
1642+ ARCH_L7200
1643+ default 0xc0028000 if ARCH_CLPS711X
1644+ default 0x70008000 if ARCH_AT91 && (ARCH_AT91CAP9 || ARCH_AT91SAM9G45)
1645+ default 0x20008000 if ARCH_AT91 && !(ARCH_AT91CAP9 || ARCH_AT91SAM9G45)
1646+ default 0xc0008000 if ARCH_DAVINCI && ARCH_DAVINCI_DA8XX
1647+ default 0x80008000 if ARCH_DAVINCI && !ARCH_DAVINCI_DA8XX
1648+ default 0x00008000 if ARCH_EP93XX && EP93XX_SDCE3_SYNC_PHYS_OFFSET
1649+ default 0xc0008000 if ARCH_EP93XX && EP93XX_SDCE0_PHYS_OFFSET
1650+ default 0xd0008000 if ARCH_EP93XX && EP93XX_SDCE1_PHYS_OFFSET
1651+ default 0xe0008000 if ARCH_EP93XX && EP93XX_SDCE2_PHYS_OFFSET
1652+ default 0xf0008000 if ARCH_EP93XX && EP93XX_SDCE3_ASYNC_PHYS_OFFSET
1653+ default 0x00008000 if ARCH_GEMINI && GEMINI_MEM_SWAP
1654+ default 0x10008000 if ARCH_GEMINI && !GEMINI_MEM_SWAP
1655+ default 0x70008000 if ARCH_REALVIEW && REALVIEW_HIGH_PHYS_OFFSET
1656+ default 0x00008000 if ARCH_REALVIEW && !REALVIEW_HIGH_PHYS_OFFSET
1657+ default 0xc0208000 if ARCH_SA1100 && SA1111
1658+ default 0xc0008000 if ARCH_SA1100 && !SA1111
1659+ default 0x30108000 if ARCH_S3C2410 && PM_H1940
1660+ default 0x28E08000 if ARCH_U300 && MACH_U300_SINGLE_RAM
1661+ default 0x48008000 if ARCH_U300 && !MACH_U300_SINGLE_RAM
1662+ help
1663+ ZRELADDR is the physical address where the decompressed kernel
1664+ image will be placed. ZRELADDR has to be specified when the
1665+ assumption of AUTO_ZRELADDR is not valid, or when ZBOOT_ROM is
1666+ selected.
1667+
14881668 endmenu
14891669
14901670 menu "CPU Power Management"
arch/arm/Makefile+9−3
@@ -34,6 +34,10 @@ ifeq ($(CONFIG_FRAME_POINTER),y) · 33 unmodified lines
3434 KBUILD_CFLAGS +=-fno-omit-frame-pointer -mapcs -mno-sched-prolog
3535 endif
3636
37+ifeq ($(CONFIG_CC_STACKPROTECTOR),y)
38+KBUILD_CFLAGS +=-fstack-protector
39+endif
40+
3741 ifeq ($(CONFIG_CPU_BIG_ENDIAN),y)
3842 KBUILD_CPPFLAGS += -mbig-endian
3943 AS += -EB
@@ -139,14 +143,14 @@ machine-$(CONFIG_ARCH_IXP23XX) := ixp23xx · 99 unmodified lines
139143 machine-$(CONFIG_ARCH_IXP4XX) := ixp4xx
140144 machine-$(CONFIG_ARCH_KIRKWOOD) := kirkwood
141145 machine-$(CONFIG_ARCH_KS8695) := ks8695
142−machine-$(CONFIG_ARCH_L7200) := l7200
143146 machine-$(CONFIG_ARCH_LH7A40X) := lh7a40x
144147 machine-$(CONFIG_ARCH_LOKI) := loki
148+machine-$(CONFIG_ARCH_LPC32XX) := lpc32xx
145149 machine-$(CONFIG_ARCH_MMP) := mmp
146150 machine-$(CONFIG_ARCH_MSM) := msm
147151 machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0
148−machine-$(CONFIG_ARCH_MX1) := mx1
149−machine-$(CONFIG_ARCH_MX2) := mx2
152+machine-$(CONFIG_ARCH_MX1) := imx
153+machine-$(CONFIG_ARCH_MX2) := imx
150154 machine-$(CONFIG_ARCH_MX25) := mx25
151155 machine-$(CONFIG_ARCH_MX3) := mx3
152156 machine-$(CONFIG_ARCH_MX5) := mx5
@@ -170,11 +174,13 @@ machine-$(CONFIG_ARCH_S5P6440) := s5p6440 · 17 unmodified lines
170174 machine-$(CONFIG_ARCH_S5P6442) := s5p6442
171175 machine-$(CONFIG_ARCH_S5PC100) := s5pc100
172176 machine-$(CONFIG_ARCH_S5PV210) := s5pv210
177+machine-$(CONFIG_ARCH_S5PV310) := s5pv310
173178 machine-$(CONFIG_ARCH_SA1100) := sa1100
174179 machine-$(CONFIG_ARCH_SHARK) := shark
175180 machine-$(CONFIG_ARCH_SHMOBILE) := shmobile
176181 machine-$(CONFIG_ARCH_STMP378X) := stmp378x
177182 machine-$(CONFIG_ARCH_STMP37XX) := stmp37xx
183+machine-$(CONFIG_ARCH_TEGRA) := tegra
178184 machine-$(CONFIG_ARCH_U300) := u300
179185 machine-$(CONFIG_ARCH_U8500) := ux500
180186 machine-$(CONFIG_ARCH_VERSATILE) := versatile
arch/arm/boot/Makefile+3−5
@@ -14,18 +14,16 @@ · 13 unmodified lines
1414 MKIMAGE := $(srctree)/scripts/mkuboot.sh
1515
1616 ifneq ($(MACHINE),)
17−include $(srctree)/$(MACHINE)/Makefile.boot
17+-include $(srctree)/$(MACHINE)/Makefile.boot
1818 endif
1919
2020 # Note: the following conditions must always be true:
21−# ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
2221 # PARAMS_PHYS must be within 4MB of ZRELADDR
2322 # INITRD_PHYS must be in RAM
24−ZRELADDR := $(zreladdr-y)
2523 PARAMS_PHYS := $(params_phys-y)
2624 INITRD_PHYS := $(initrd_phys-y)
2725
28−export ZRELADDR INITRD_PHYS PARAMS_PHYS
26+export INITRD_PHYS PARAMS_PHYS
2927
3028 targets := Image zImage xipImage bootpImage uImage
3129
@@ -67,7 +65,7 @@ quiet_cmd_uimage = UIMAGE $@ · 35 unmodified lines
6765 ifeq ($(CONFIG_ZBOOT_ROM),y)
6866 $(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
6967 else
70−$(obj)/uImage: LOADADDR=$(ZRELADDR)
68+$(obj)/uImage: LOADADDR=$(CONFIG_ZRELADDR)
7169 endif
7270
7371 ifeq ($(CONFIG_THUMB2_KERNEL),y)
arch/arm/boot/compressed/Makefile+2−15
@@ -4,6 +4,7 @@ · 3 unmodified lines
44 # create a compressed vmlinuz image from the original vmlinux
55 #
66
7+AFLAGS_head.o += -DTEXT_OFFSET=$(TEXT_OFFSET)
78 HEAD = head.o
89 OBJS = misc.o decompress.o
910 FONTC = $(srctree)/drivers/video/console/font_acorn_8x8.c
@@ -19,10 +20,6 @@ ifeq ($(CONFIG_ARCH_SHARK),y) · 9 unmodified lines
1920 OBJS += head-shark.o ofw-shark.o
2021 endif
2122
22−ifeq ($(CONFIG_ARCH_L7200),y)
23−OBJS += head-l7200.o
24−endif
25−
2623 ifeq ($(CONFIG_ARCH_P720T),y)
2724 # Borrow this code from SA1100
2825 OBJS += head-sa1100.o
@@ -36,7 +33,7 @@ ifeq ($(CONFIG_CPU_XSCALE),y) · 7 unmodified lines
3633 OBJS += head-xscale.o
3734 endif
3835
39−ifeq ($(CONFIG_PXA_SHARPSL),y)
36+ifeq ($(CONFIG_PXA_SHARPSL_DETECT_MACH_ID),y)
4037 OBJS += head-sharpsl.o
4138 endif
4239
@@ -82,19 +79,9 @@ endif · 39 unmodified lines
8279 EXTRA_CFLAGS := -fpic -fno-builtin
8380 EXTRA_AFLAGS := -Wa,-march=all
8481
85−# Supply ZRELADDR, INITRD_PHYS and PARAMS_PHYS to the decompressor via
86−# linker symbols. We only define initrd_phys and params_phys if the
87−# machine class defined the corresponding makefile variable.
88−LDFLAGS_vmlinux := --defsym zreladdr=$(ZRELADDR)
8982 ifeq ($(CONFIG_CPU_ENDIAN_BE8),y)
9083 LDFLAGS_vmlinux += --be8
9184 endif
92−ifneq ($(INITRD_PHYS),)
93−LDFLAGS_vmlinux += --defsym initrd_phys=$(INITRD_PHYS)
94−endif
95−ifneq ($(PARAMS_PHYS),)
96−LDFLAGS_vmlinux += --defsym params_phys=$(PARAMS_PHYS)
97−endif
9885 # ?
9986 LDFLAGS_vmlinux += -p
10087 # Report unresolved symbol references
arch/arm/boot/compressed/Makefile.debug+0−23
@@ -1,23 +0,0 @@
1−#
2−# linux/arch/arm/boot/compressed/Makefile
3−#
4−# create a compressed vmlinux image from the original vmlinux
5−#
6−
7−COMPRESSED_EXTRA=../../lib/ll_char_wr.o
8−OBJECTS=misc-debug.o ll_char_wr.aout.o
9−
10−CFLAGS=-D__KERNEL__ -O2 -DSTDC_HEADERS -DSTANDALONE_DEBUG -Wall -I../../../../include -c
11−
12−test-gzip: piggy.aout.o $(OBJECTS)
13− $(CC) -o $@ $(OBJECTS) piggy.aout.o
14−
15−misc-debug.o: misc.c
16− $(CC) $(CFLAGS) -o $@ misc.c
17−
18−piggy.aout.o: piggy.o
19− arm-linuxelf-objcopy --change-leading-char -I elf32-arm -O arm-aout32-linux piggy.o piggy.aout.o
20−
21−ll_char_wr.aout.o: $(COMPRESSED_EXTRA)
22− arm-linuxelf-objcopy --change-leading-char -I elf32-arm -O arm-aout32-linux $(COMPRESSED_EXTRA) ll_char_wr.aout.o
23−
arch/arm/boot/compressed/head-l7200.S+0−29
@@ -1,29 +0,0 @@
1−/*
2− * linux/arch/arm/boot/compressed/head-l7200.S
3− *
4− * Copyright (C) 2000 Steve Hill <sjhill@cotw.com>
5− *
6− * Some code borrowed from Nicolas Pitre's 'head-sa1100.S' file. This
7− * is merged with head.S by the linker.
8− */
9−
10−#include <asm/mach-types.h>
11−
12−#ifndef CONFIG_ARCH_L7200
13−#error What am I doing here...
14−#endif
15−
16− .section ".start", "ax"
17−
18−__L7200_start:
19− mov r0, #0x00100000 @ FLASH address of initrd
20− mov r2, #0xf1000000 @ RAM address of initrd
21− add r3, r2, #0x00700000 @ Size of initrd
22−1:
23− ldmia r0!, {r4, r5, r6, r7}
24− stmia r2!, {r4, r5, r6, r7}
25− cmp r2, r3
26− ble 1b
27−
28− mov r8, #0 @ Zero it out
29− mov r7, #MACH_TYPE_L7200 @ Set architecture ID
arch/arm/boot/compressed/head.S+29−12
@@ -170,9 +170,15 @@ not_angel: · 169 unmodified lines
170170
171171 .text
172172 adr r0, LC0
173− ARM( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip, sp})
174− THUMB( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip} )
175− THUMB( ldr sp, [r0, #32] )
173+ ldmia r0, {r1, r2, r3, r5, r6, r11, ip}
174+ ldr sp, [r0, #28]
175+#ifdef CONFIG_AUTO_ZRELADDR
176+ @ determine final kernel image address
177+ and r4, pc, #0xf8000000
178+ add r4, r4, #TEXT_OFFSET
179+#else
180+ ldr r4, =CONFIG_ZRELADDR
181+#endif
176182 subs r0, r0, r1 @ calculate the delta offset
177183
178184 @ if delta is zero, we are
@@ -310,18 +316,17 @@ wont_overwrite: mov r0, r4 · 131 unmodified lines
310316 LC0: .word LC0 @ r1
311317 .word __bss_start @ r2
312318 .word _end @ r3
313− .word zreladdr @ r4
314319 .word _start @ r5
315320 .word _image_size @ r6
316321 .word _got_start @ r11
317322 .word _got_end @ ip
318− .word user_stack+4096 @ sp
323+ .word user_stack_end @ sp
319324 LC1: .word reloc_end - reloc_start
320325 .size LC0, . - LC0
321326
322327 #ifdef CONFIG_ARCH_RPC
323328 .globl params
324−params: ldr r0, =params_phys
329+params: ldr r0, =0x10000100 @ params_phys for RPC
325330 mov pc, lr
326331 .ltorg
327332 .align
@@ -339,9 +344,8 @@ params: ldr r0, =params_phys · 11 unmodified lines
339344 * r4 = kernel execution address
340345 * r7 = architecture number
341346 * r8 = atags pointer
342− * r9 = run-time address of "start" (???)
343347 * On exit,
344− * r1, r2, r3, r9, r10, r12 corrupted
348+ * r0, r1, r2, r3, r9, r10, r12 corrupted
345349 * This routine must preserve:
346350 * r4, r5, r6, r7, r8
347351 */
@@ -396,12 +400,18 @@ __armv3_mpu_cache_on: · 48 unmodified lines
396400
397401 mov r0, #0
398402 mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3
403+ /*
404+ * ?? ARMv3 MMU does not allow reading the control register,
405+ * does this really work on ARMv3 MPU?
406+ */
399407 mrc p15, 0, r0, c1, c0, 0 @ read control reg
400408 @ .... .... .... WC.M
401409 orr r0, r0, #0x000d @ .... .... .... 11.1
410+ /* ?? this overwrites the value constructed above? */
402411 mov r0, #0
403412 mcr p15, 0, r0, c1, c0, 0 @ write control reg
404413
414+ /* ?? invalidate for the second time? */
405415 mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3
406416 mov pc, lr
407417
@@ -771,8 +781,10 @@ proc_types: · 363 unmodified lines
771781 * Turn off the Cache and MMU. ARMv3 does not support
772782 * reading the control register, but ARMv4 does.
773783 *
774− * On exit, r0, r1, r2, r3, r9, r12 corrupted
775− * This routine must preserve: r4, r6, r7
784+ * On exit,
785+ * r0, r1, r2, r3, r9, r12 corrupted
786+ * This routine must preserve:
787+ * r4, r6, r7
776788 */
777789 .align 5
778790 cache_off: mov r3, #12 @ cache_off function
@@ -845,7 +857,7 @@ __armv3_mmu_cache_off: · 66 unmodified lines
845857 * Clean and flush the cache to maintain consistency.
846858 *
847859 * On exit,
848− * r1, r2, r3, r9, r11, r12 corrupted
860+ * r1, r2, r3, r9, r10, r11, r12 corrupted
849861 * This routine must preserve:
850862 * r0, r4, r5, r6, r7
851863 */
@@ -988,7 +1000,7 @@ no_cache_id: · 136 unmodified lines
9881000 __armv3_mmu_cache_flush:
9891001 __armv3_mpu_cache_flush:
9901002 mov r1, #0
991− mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3
1003+ mcr p15, 0, r1, c7, c0, 0 @ invalidate whole cache v3
9921004 mov pc, lr
9931005
9941006 /*
@@ -1001,6 +1013,7 @@ __armv3_mpu_cache_flush: · 6 unmodified lines
10011013 phexbuf: .space 12
10021014 .size phexbuf, . - phexbuf
10031015
1016+@ phex corrupts {r0, r1, r2, r3}
10041017 phex: adr r3, phexbuf
10051018 mov r2, #0
10061019 strb r2, [r3, r1]
@@ -1015,6 +1028,7 @@ phex: adr r3, phexbuf · 8 unmodified lines
10151028 strb r2, [r3, r1]
10161029 b 1b
10171030
1031+@ puts corrupts {r0, r1, r2, r3}
10181032 puts: loadsp r3, r1
10191033 1: ldrb r2, [r0], #1
10201034 teq r2, #0
@@ -1029,12 +1043,14 @@ puts: loadsp r3, r1 · 8 unmodified lines
10291043 teq r0, #0
10301044 bne 1b
10311045 mov pc, lr
1046+@ putc corrupts {r0, r1, r2, r3}
10321047 putc:
10331048 mov r2, r0
10341049 mov r0, #0
10351050 loadsp r3, r1
10361051 b 2b
10371052
1053+@ memdump corrupts {r0, r1, r2, r3, r10, r11, r12, lr}
10381054 memdump: mov r12, r0
10391055 mov r10, lr
10401056 mov r11, #0
@@ -1070,3 +1086,4 @@ reloc_end: · 29 unmodified lines
10701086 .align
10711087 .section ".stack", "w"
10721088 user_stack: .space 4096
1089+user_stack_end:
arch/arm/boot/compressed/misc.c+0−20
@@ -28,9 +28,6 @@ unsigned int __machine_arch_type; · 27 unmodified lines
2828
2929 #include <asm/unaligned.h>
3030
31−#ifdef STANDALONE_DEBUG
32−#define putstr printf
33−#else
3431
3532 static void putstr(const char *ptr);
3633 extern void error(char *x);
@@ -116,7 +113,6 @@ static void putstr(const char *ptr) · 79 unmodified lines
116113 flush();
117114 }
118115
119−#endif
120116
121117 void *memcpy(void *__dest, __const void *__src, size_t __n)
122118 {
@@ -186,7 +182,6 @@ asmlinkage void __div0(void) · 63 unmodified lines
186182
187183 extern void do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x));
188184
189−#ifndef STANDALONE_DEBUG
190185
191186 unsigned long
192187 decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p,
@@ -211,18 +206,3 @@ decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p, · 18 unmodified lines
211206 putstr(" done, booting the kernel.\n");
212207 return output_ptr;
213208 }
214−#else
215−
216−char output_buffer[1500*1024];
217−
218−int main()
219−{
220− output_data = output_buffer;
221−
222− putstr("Uncompressing Linux...");
223− decompress(input_data, input_data_end - input_data,
224− NULL, NULL, output_data, NULL, error);
225− putstr("done.\n");
226− return 0;
227−}
228−#endif
arch/arm/common/gic.c+46−0
@@ -108,6 +108,51 @@ static void gic_unmask_irq(unsigned int irq) · 107 unmodified lines
108108 spin_unlock(&irq_controller_lock);
109109 }
110110
111+static int gic_set_type(unsigned int irq, unsigned int type)
112+{
113+ void __iomem *base = gic_dist_base(irq);
114+ unsigned int gicirq = gic_irq(irq);
115+ u32 enablemask = 1 << (gicirq % 32);
116+ u32 enableoff = (gicirq / 32) * 4;
117+ u32 confmask = 0x2 << ((gicirq % 16) * 2);
118+ u32 confoff = (gicirq / 16) * 4;
119+ bool enabled = false;
120+ u32 val;
121+
122+ /* Interrupt configuration for SGIs can't be changed */
123+ if (gicirq < 16)
124+ return -EINVAL;
125+
126+ if (type != IRQ_TYPE_LEVEL_HIGH && type != IRQ_TYPE_EDGE_RISING)
127+ return -EINVAL;
128+
129+ spin_lock(&irq_controller_lock);
130+
131+ val = readl(base + GIC_DIST_CONFIG + confoff);
132+ if (type == IRQ_TYPE_LEVEL_HIGH)
133+ val &= ~confmask;
134+ else if (type == IRQ_TYPE_EDGE_RISING)
135+ val |= confmask;
136+
137+ /*
138+ * As recommended by the spec, disable the interrupt before changing
139+ * the configuration
140+ */
141+ if (readl(base + GIC_DIST_ENABLE_SET + enableoff) & enablemask) {
142+ writel(enablemask, base + GIC_DIST_ENABLE_CLEAR + enableoff);
143+ enabled = true;
144+ }
145+
146+ writel(val, base + GIC_DIST_CONFIG + confoff);
147+
148+ if (enabled)
149+ writel(enablemask, base + GIC_DIST_ENABLE_SET + enableoff);
150+
151+ spin_unlock(&irq_controller_lock);
152+
153+ return 0;
154+}
155+
111156 #ifdef CONFIG_SMP
112157 static int gic_set_cpu(unsigned int irq, const struct cpumask *mask_val)
113158 {
@@ -161,6 +206,7 @@ static struct irq_chip gic_chip = { · 47 unmodified lines
161206 .ack = gic_ack_irq,
162207 .mask = gic_mask_irq,
163208 .unmask = gic_unmask_irq,
209+ .set_type = gic_set_type,
164210 #ifdef CONFIG_SMP
165211 .set_affinity = gic_set_cpu,
166212 #endif
arch/arm/common/it8152.c+0−8
@@ -263,14 +263,6 @@ static int it8152_pci_platform_notify_remove(struct device *dev) · 262 unmodified lines
263263 return 0;
264264 }
265265
266−int dma_needs_bounce(struct device *dev, dma_addr_t dma_addr, size_t size)
267−{
268− dev_dbg(dev, "%s: dma_addr %08x, size %08x\n",
269− __func__, dma_addr, size);
270− return (dev->bus == &pci_bus_type) &&
271− ((dma_addr + size - PHYS_OFFSET) >= SZ_64M);
272−}
273−
274266 int __init it8152_pci_setup(int nr, struct pci_sys_data *sys)
275267 {
276268 it8152_io.start = IT8152_IO_BASE + 0x12000;
arch/arm/common/sa1111.c+1−4
@@ -185,13 +185,10 @@ static struct sa1111_dev_info sa1111_devices[] = { · 184 unmodified lines
185185 },
186186 };
187187
188−void __init sa1111_adjust_zones(int node, unsigned long *size, unsigned long *holes)
188+void __init sa1111_adjust_zones(unsigned long *size, unsigned long *holes)
189189 {
190190 unsigned int sz = SZ_1M >> PAGE_SHIFT;
191191
192− if (node != 0)
193− sz = 0;
194−
195192 size[1] = size[0] - sz;
196193 size[0] = sz;
197194 }
arch/arm/configs/am3517_evm_defconfig+0−127
@@ -1,127 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_LOG_BUF_SHIFT=14
5−CONFIG_SYSFS_DEPRECATED_V2=y
6−CONFIG_BLK_DEV_INITRD=y
7−CONFIG_EMBEDDED=y
8−# CONFIG_SYSCTL_SYSCALL is not set
9−CONFIG_KALLSYMS_EXTRA_PASS=y
10−CONFIG_SLAB=y
11−CONFIG_MODULES=y
12−CONFIG_MODULE_UNLOAD=y
13−CONFIG_MODVERSIONS=y
14−CONFIG_MODULE_SRCVERSION_ALL=y
15−# CONFIG_BLK_DEV_BSG is not set
16−CONFIG_ARCH_OMAP=y
17−CONFIG_ARCH_OMAP3=y
18−CONFIG_OMAP_RESET_CLOCKS=y
19−# CONFIG_OMAP_MCBSP is not set
20−CONFIG_OMAP_32K_TIMER=y
21−CONFIG_OMAP_DM_TIMER=y
22−CONFIG_ARCH_OMAP3430=y
23−CONFIG_MACH_OMAP3517EVM=y
24−CONFIG_NO_HZ=y
25−CONFIG_HIGH_RES_TIMERS=y
26−CONFIG_AEABI=y
27−CONFIG_ZBOOT_ROM_TEXT=0x0
28−CONFIG_ZBOOT_ROM_BSS=0x0
29−CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:tgt:eth0:off rw console=ttyS2,115200n8"
30−CONFIG_FPE_NWFPE=y
31−CONFIG_VFP=y
32−CONFIG_NEON=y
33−CONFIG_BINFMT_MISC=y
34−CONFIG_NET=y
35−CONFIG_PACKET=y
36−CONFIG_UNIX=y
37−CONFIG_NET_KEY=y
38−CONFIG_INET=y
39−CONFIG_IP_PNP=y
40−CONFIG_IP_PNP_DHCP=y
41−CONFIG_IP_PNP_BOOTP=y
42−CONFIG_IP_PNP_RARP=y
43−# CONFIG_INET_LRO is not set
44−# CONFIG_IPV6 is not set
45−CONFIG_CAN=y
46−CONFIG_CAN_RAW=y
47−CONFIG_CAN_BCM=y
48−CONFIG_CAN_VCAN=y
49−CONFIG_CAN_DEV=y
50−CONFIG_CAN_CALC_BITTIMING=y
51−CONFIG_CAN_TI_HECC=y
52−CONFIG_CAN_DEBUG_DEVICES=y
53−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
54−# CONFIG_FW_LOADER is not set
55−CONFIG_BLK_DEV_LOOP=y
56−CONFIG_BLK_DEV_RAM=y
57−CONFIG_BLK_DEV_RAM_SIZE=16384
58−# CONFIG_MISC_DEVICES is not set
59−CONFIG_SCSI=y
60−CONFIG_BLK_DEV_SD=y
61−CONFIG_NETDEVICES=y
62−CONFIG_NET_ETHERNET=y
63−CONFIG_TI_DAVINCI_EMAC=y
64−# CONFIG_NETDEV_1000 is not set
65−# CONFIG_NETDEV_10000 is not set
66−# CONFIG_WLAN is not set
67−# CONFIG_INPUT_MOUSEDEV is not set
68−CONFIG_INPUT_EVDEV=y
69−# CONFIG_INPUT_KEYBOARD is not set
70−# CONFIG_INPUT_MOUSE is not set
71−# CONFIG_SERIO is not set
72−CONFIG_SERIAL_8250=y
73−CONFIG_SERIAL_8250_CONSOLE=y
74−CONFIG_SERIAL_8250_NR_UARTS=32
75−CONFIG_SERIAL_8250_EXTENDED=y
76−CONFIG_SERIAL_8250_MANY_PORTS=y
77−CONFIG_SERIAL_8250_SHARE_IRQ=y
78−CONFIG_SERIAL_8250_DETECT_IRQ=y
79−CONFIG_SERIAL_8250_RSA=y
80−# CONFIG_LEGACY_PTYS is not set
81−CONFIG_HW_RANDOM=y
82−CONFIG_I2C=y
83−CONFIG_I2C_CHARDEV=y
84−CONFIG_I2C_OMAP=y
85−# CONFIG_HWMON is not set
86−CONFIG_FB=y
87−CONFIG_OMAP2_DSS=y
88−CONFIG_OMAP2_VRAM_SIZE=4
89−CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=4
90−CONFIG_FB_OMAP2=y
91−CONFIG_PANEL_GENERIC=y
92−CONFIG_PANEL_SHARP_LQ043T1DG01=y
93−# CONFIG_VGA_CONSOLE is not set
94−CONFIG_USB=y
95−CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
96−# CONFIG_USB_DEVICE_CLASS is not set
97−CONFIG_USB_EHCI_HCD=y
98−CONFIG_USB_STORAGE=y
99−CONFIG_EXT2_FS=y
100−CONFIG_EXT3_FS=y
101−# CONFIG_EXT3_FS_XATTR is not set
102−CONFIG_INOTIFY=y
103−CONFIG_QUOTA=y
104−CONFIG_QFMT_V2=y
105−CONFIG_MSDOS_FS=y
106−CONFIG_VFAT_FS=y
107−CONFIG_TMPFS=y
108−CONFIG_NFS_FS=y
109−CONFIG_NFS_V3=y
110−CONFIG_NFS_V4=y
111−CONFIG_ROOT_NFS=y
112−CONFIG_PARTITION_ADVANCED=y
113−CONFIG_NLS_CODEPAGE_437=y
114−CONFIG_NLS_ISO8859_1=y
115−CONFIG_MAGIC_SYSRQ=y
116−CONFIG_DEBUG_KERNEL=y
117−# CONFIG_SCHED_DEBUG is not set
118−CONFIG_DEBUG_MUTEXES=y
119−# CONFIG_DEBUG_BUGVERBOSE is not set
120−CONFIG_DEBUG_INFO=y
121−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
122−CONFIG_DEBUG_LL=y
123−CONFIG_CRYPTO_ECB=m
124−CONFIG_CRYPTO_PCBC=m
125−# CONFIG_CRYPTO_ANSI_CPRNG is not set
126−CONFIG_CRC_CCITT=y
127−CONFIG_LIBCRC32C=y
arch/arm/configs/cm_t35_defconfig+0−157
@@ -1,157 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_IKCONFIG=y
5−CONFIG_IKCONFIG_PROC=y
6−CONFIG_SYSFS_DEPRECATED_V2=y
7−CONFIG_BLK_DEV_INITRD=y
8−CONFIG_EMBEDDED=y
9−# CONFIG_SYSCTL_SYSCALL is not set
10−CONFIG_KALLSYMS_EXTRA_PASS=y
11−CONFIG_SLAB=y
12−CONFIG_MODULES=y
13−CONFIG_MODULE_UNLOAD=y
14−CONFIG_MODVERSIONS=y
15−# CONFIG_BLK_DEV_BSG is not set
16−CONFIG_ARCH_OMAP=y
17−CONFIG_ARCH_OMAP3=y
18−CONFIG_OMAP_RESET_CLOCKS=y
19−CONFIG_OMAP_32K_TIMER=y
20−CONFIG_OMAP_DM_TIMER=y
21−CONFIG_ARCH_OMAP3430=y
22−CONFIG_MACH_CM_T35=y
23−CONFIG_NO_HZ=y
24−CONFIG_HIGH_RES_TIMERS=y
25−CONFIG_AEABI=y
26−CONFIG_ZBOOT_ROM_TEXT=0x0
27−CONFIG_ZBOOT_ROM_BSS=0x0
28−CONFIG_FPE_NWFPE=y
29−CONFIG_VFP=y
30−CONFIG_NEON=y
31−CONFIG_BINFMT_MISC=y
32−CONFIG_PM=y
33−CONFIG_PM_RUNTIME=y
34−CONFIG_NET=y
35−CONFIG_PACKET=y
36−CONFIG_UNIX=y
37−CONFIG_NET_KEY=y
38−CONFIG_INET=y
39−CONFIG_IP_PNP=y
40−CONFIG_IP_PNP_DHCP=y
41−CONFIG_IP_PNP_BOOTP=y
42−CONFIG_IP_PNP_RARP=y
43−# CONFIG_INET_LRO is not set
44−# CONFIG_IPV6 is not set
45−CONFIG_LIB80211=m
46−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
47−CONFIG_FW_LOADER=m
48−CONFIG_MTD=y
49−CONFIG_MTD_CONCAT=y
50−CONFIG_MTD_PARTITIONS=y
51−CONFIG_MTD_CMDLINE_PARTS=y
52−CONFIG_MTD_CHAR=y
53−CONFIG_MTD_BLOCK=y
54−CONFIG_MTD_CFI=y
55−CONFIG_MTD_CFI_INTELEXT=y
56−CONFIG_MTD_NAND=y
57−CONFIG_MTD_NAND_OMAP2=y
58−CONFIG_BLK_DEV_LOOP=y
59−CONFIG_BLK_DEV_RAM=y
60−CONFIG_BLK_DEV_RAM_SIZE=16384
61−CONFIG_SCSI=y
62−CONFIG_BLK_DEV_SD=y
63−CONFIG_NETDEVICES=y
64−CONFIG_NET_ETHERNET=y
65−CONFIG_SMSC911X=y
66−# CONFIG_NETDEV_1000 is not set
67−# CONFIG_NETDEV_10000 is not set
68−CONFIG_INPUT_EVDEV=y
69−CONFIG_KEYBOARD_TWL4030=m
70−# CONFIG_INPUT_MOUSE is not set
71−CONFIG_INPUT_TOUCHSCREEN=y
72−CONFIG_TOUCHSCREEN_ADS7846=m
73−CONFIG_SERIAL_8250=y
74−CONFIG_SERIAL_8250_CONSOLE=y
75−CONFIG_SERIAL_8250_NR_UARTS=32
76−CONFIG_SERIAL_8250_EXTENDED=y
77−CONFIG_SERIAL_8250_MANY_PORTS=y
78−CONFIG_SERIAL_8250_SHARE_IRQ=y
79−CONFIG_SERIAL_8250_DETECT_IRQ=y
80−CONFIG_SERIAL_8250_RSA=y
81−# CONFIG_LEGACY_PTYS is not set
82−CONFIG_HW_RANDOM=y
83−CONFIG_I2C=y
84−CONFIG_I2C_CHARDEV=y
85−CONFIG_I2C_OMAP=y
86−CONFIG_SPI=y
87−CONFIG_SPI_OMAP24XX=y
88−CONFIG_GPIO_SYSFS=y
89−CONFIG_GPIO_TWL4030=y
90−# CONFIG_HWMON is not set
91−CONFIG_WATCHDOG=y
92−CONFIG_WATCHDOG_NOWAYOUT=y
93−CONFIG_OMAP_WATCHDOG=y
94−CONFIG_TWL4030_CORE=y
95−CONFIG_REGULATOR=y
96−CONFIG_REGULATOR_TWL4030=y
97−# CONFIG_VGA_CONSOLE is not set
98−CONFIG_USB=y
99−CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
100−CONFIG_USB_DEVICEFS=y
101−# CONFIG_USB_DEVICE_CLASS is not set
102−CONFIG_USB_SUSPEND=y
103−# CONFIG_USB_OTG_WHITELIST is not set
104−CONFIG_USB_MON=y
105−CONFIG_USB_EHCI_HCD=y
106−CONFIG_USB_MUSB_HDRC=y
107−CONFIG_USB_MUSB_OTG=y
108−CONFIG_USB_GADGET_MUSB_HDRC=y
109−CONFIG_USB_STORAGE=y
110−CONFIG_USB_TEST=y
111−CONFIG_USB_GADGET=y
112−CONFIG_USB_ETH=m
113−CONFIG_TWL4030_USB=y
114−CONFIG_MMC=y
115−CONFIG_MMC_OMAP_HS=y
116−CONFIG_NEW_LEDS=y
117−CONFIG_LEDS_CLASS=y
118−CONFIG_LEDS_GPIO=y
119−CONFIG_LEDS_TRIGGERS=y
120−CONFIG_LEDS_TRIGGER_HEARTBEAT=y
121−CONFIG_RTC_CLASS=y
122−CONFIG_RTC_DRV_TWL4030=y
123−CONFIG_EXT2_FS=y
124−CONFIG_EXT3_FS=y
125−# CONFIG_EXT3_FS_XATTR is not set
126−CONFIG_INOTIFY=y
127−CONFIG_QUOTA=y
128−CONFIG_QFMT_V2=y
129−CONFIG_MSDOS_FS=y
130−CONFIG_VFAT_FS=y
131−CONFIG_NTFS_FS=m
132−CONFIG_TMPFS=y
133−CONFIG_JFFS2_FS=y
134−CONFIG_JFFS2_SUMMARY=y
135−CONFIG_JFFS2_COMPRESSION_OPTIONS=y
136−CONFIG_NFS_FS=y
137−CONFIG_NFS_V3=y
138−CONFIG_NFS_V4=y
139−CONFIG_ROOT_NFS=y
140−CONFIG_PARTITION_ADVANCED=y
141−CONFIG_NLS_CODEPAGE_437=y
142−CONFIG_NLS_ISO8859_1=y
143−CONFIG_NLS_UTF8=m
144−CONFIG_MAGIC_SYSRQ=y
145−CONFIG_DEBUG_FS=y
146−CONFIG_DEBUG_KERNEL=y
147−# CONFIG_SCHED_DEBUG is not set
148−CONFIG_DEBUG_MUTEXES=y
149−# CONFIG_DEBUG_BUGVERBOSE is not set
150−CONFIG_DEBUG_INFO=y
151−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
152−CONFIG_DEBUG_LL=y
153−CONFIG_CRYPTO_ECB=m
154−CONFIG_CRYPTO_PCBC=m
155−# CONFIG_CRYPTO_ANSI_CPRNG is not set
156−CONFIG_CRC_CCITT=y
157−CONFIG_LIBCRC32C=y
arch/arm/configs/devkit8000_defconfig+0−184
@@ -1,184 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_IKCONFIG=y
5−CONFIG_IKCONFIG_PROC=y
6−CONFIG_LOG_BUF_SHIFT=14
7−CONFIG_BLK_DEV_INITRD=y
8−CONFIG_RD_BZIP2=y
9−CONFIG_RD_LZMA=y
10−CONFIG_EMBEDDED=y
11−# CONFIG_SYSCTL_SYSCALL is not set
12−CONFIG_KALLSYMS_EXTRA_PASS=y
13−CONFIG_SLAB=y
14−CONFIG_MODULES=y
15−CONFIG_MODULE_FORCE_LOAD=y
16−CONFIG_MODULE_UNLOAD=y
17−CONFIG_MODVERSIONS=y
18−# CONFIG_BLK_DEV_BSG is not set
19−CONFIG_ARCH_OMAP=y
20−CONFIG_ARCH_OMAP3=y
21−CONFIG_OMAP_32K_TIMER=y
22−CONFIG_OMAP_DM_TIMER=y
23−CONFIG_ARCH_OMAP3430=y
24−CONFIG_MACH_DEVKIT8000=y
25−CONFIG_NO_HZ=y
26−CONFIG_HIGH_RES_TIMERS=y
27−CONFIG_AEABI=y
28−CONFIG_ZBOOT_ROM_TEXT=0x0
29−CONFIG_ZBOOT_ROM_BSS=0x0
30−CONFIG_CMDLINE="console=ttyS2,115200n8 root=/dev/nfs nfsroot=192.168.1.1:home/nfsroot/current,home/nfsroot/current ip=dhcp rw noinitrd root delay=3"
31−CONFIG_FPE_NWFPE=y
32−CONFIG_VFP=y
33−CONFIG_NEON=y
34−CONFIG_PM=y
35−CONFIG_NET=y
36−CONFIG_PACKET=y
37−CONFIG_UNIX=y
38−CONFIG_NET_KEY=y
39−CONFIG_INET=y
40−CONFIG_IP_MULTICAST=y
41−CONFIG_IP_PNP=y
42−CONFIG_IP_PNP_DHCP=y
43−CONFIG_IP_PNP_BOOTP=y
44−CONFIG_IP_PNP_RARP=y
45−# CONFIG_INET_LRO is not set
46−# CONFIG_IPV6 is not set
47−CONFIG_IRDA=y
48−CONFIG_BT=y
49−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
50−# CONFIG_PREVENT_FIRMWARE_BUILD is not set
51−# CONFIG_FW_LOADER is not set
52−CONFIG_MTD=y
53−CONFIG_MTD_PARTITIONS=y
54−CONFIG_MTD_CHAR=y
55−CONFIG_MTD_BLOCK=y
56−CONFIG_MTD_RAM=y
57−CONFIG_MTD_ROM=y
58−CONFIG_MTD_NAND=y
59−CONFIG_MTD_NAND_OMAP2=y
60−CONFIG_MTD_UBI=y
61−CONFIG_BLK_DEV_LOOP=y
62−CONFIG_BLK_DEV_RAM=y
63−CONFIG_BLK_DEV_RAM_SIZE=40960
64−# CONFIG_MISC_DEVICES is not set
65−CONFIG_SCSI=y
66−CONFIG_BLK_DEV_SD=y
67−CONFIG_NETDEVICES=y
68−CONFIG_NET_ETHERNET=y
69−CONFIG_DM9000=y
70−CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL=y
71−# CONFIG_NETDEV_1000 is not set
72−# CONFIG_NETDEV_10000 is not set
73−# CONFIG_WLAN is not set
74−# CONFIG_INPUT_MOUSEDEV is not set
75−CONFIG_INPUT_EVDEV=y
76−CONFIG_KEYBOARD_MATRIX=y
77−CONFIG_KEYBOARD_TWL4030=y
78−# CONFIG_INPUT_MOUSE is not set
79−CONFIG_INPUT_TOUCHSCREEN=y
80−CONFIG_TOUCHSCREEN_ADS7846=y
81−CONFIG_SERIO_RAW=y
82−CONFIG_SERIAL_8250=y
83−CONFIG_SERIAL_8250_CONSOLE=y
84−CONFIG_SERIAL_8250_NR_UARTS=32
85−CONFIG_SERIAL_8250_EXTENDED=y
86−CONFIG_SERIAL_8250_MANY_PORTS=y
87−CONFIG_SERIAL_8250_SHARE_IRQ=y
88−CONFIG_SERIAL_8250_DETECT_IRQ=y
89−CONFIG_SERIAL_8250_RSA=y
90−# CONFIG_LEGACY_PTYS is not set
91−CONFIG_HW_RANDOM=y
92−CONFIG_RAW_DRIVER=y
93−CONFIG_I2C=y
94−CONFIG_I2C_CHARDEV=y
95−CONFIG_I2C_OMAP=y
96−CONFIG_SPI=y
97−CONFIG_SPI_OMAP24XX=y
98−CONFIG_GPIO_TWL4030=y
99−# CONFIG_HWMON is not set
100−CONFIG_TWL4030_CORE=y
101−CONFIG_TWL4030_POWER=y
102−CONFIG_REGULATOR=y
103−CONFIG_REGULATOR_TWL4030=y
104−CONFIG_FB=y
105−CONFIG_FB_FOREIGN_ENDIAN=y
106−CONFIG_FB_OMAP_BOOTLOADER_INIT=y
107−CONFIG_OMAP2_DSS=y
108−CONFIG_FB_OMAP2=y
109−CONFIG_PANEL_GENERIC=y
110−CONFIG_DISPLAY_SUPPORT=y
111−# CONFIG_VGA_CONSOLE is not set
112−CONFIG_FRAMEBUFFER_CONSOLE=y
113−CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
114−CONFIG_LOGO=y
115−# CONFIG_LOGO_LINUX_MONO is not set
116−# CONFIG_LOGO_LINUX_VGA16 is not set
117−CONFIG_SOUND=y
118−CONFIG_SND=y
119−CONFIG_SND_SOC=y
120−CONFIG_SND_OMAP_SOC=y
121−CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE=y
122−CONFIG_USB=y
123−CONFIG_USB_DEBUG=y
124−CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
125−# CONFIG_USB_DEVICE_CLASS is not set
126−# CONFIG_USB_OTG_WHITELIST is not set
127−CONFIG_USB_MON=y
128−CONFIG_USB_EHCI_HCD=y
129−CONFIG_USB_EHCI_ROOT_HUB_TT=y
130−CONFIG_USB_MUSB_HDRC=y
131−CONFIG_USB_MUSB_OTG=y
132−CONFIG_USB_GADGET_MUSB_HDRC=y
133−CONFIG_USB_MUSB_DEBUG=y
134−CONFIG_USB_STORAGE=m
135−CONFIG_USB_GADGET=y
136−CONFIG_USB_GADGET_DEBUG=y
137−CONFIG_USB_ETH=m
138−# CONFIG_USB_ETH_RNDIS is not set
139−CONFIG_TWL4030_USB=y
140−CONFIG_MMC=y
141−CONFIG_MMC_SDHCI=y
142−CONFIG_MMC_SDHCI_PLTFM=m
143−CONFIG_MMC_OMAP_HS=y
144−CONFIG_MMC_SPI=m
145−CONFIG_NEW_LEDS=y
146−CONFIG_LEDS_CLASS=y
147−CONFIG_LEDS_GPIO=y
148−CONFIG_LEDS_TRIGGERS=y
149−CONFIG_LEDS_TRIGGER_HEARTBEAT=y
150−CONFIG_RTC_CLASS=y
151−CONFIG_RTC_DRV_TWL4030=y
152−CONFIG_EXT2_FS=y
153−CONFIG_EXT3_FS=y
154−# CONFIG_EXT3_FS_XATTR is not set
155−CONFIG_INOTIFY=y
156−CONFIG_QUOTA=y
157−CONFIG_QFMT_V2=y
158−CONFIG_MSDOS_FS=y
159−CONFIG_VFAT_FS=y
160−CONFIG_TMPFS=y
161−CONFIG_JFFS2_FS=y
162−CONFIG_UBIFS_FS=y
163−CONFIG_CRAMFS=y
164−CONFIG_NFS_FS=y
165−CONFIG_NFS_V3=y
166−CONFIG_NFS_V4=y
167−CONFIG_ROOT_NFS=y
168−CONFIG_PARTITION_ADVANCED=y
169−CONFIG_NLS_CODEPAGE_437=y
170−CONFIG_NLS_ISO8859_1=y
171−CONFIG_PRINTK_TIME=y
172−CONFIG_MAGIC_SYSRQ=y
173−CONFIG_DEBUG_KERNEL=y
174−CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
175−CONFIG_DEBUG_MUTEXES=y
176−# CONFIG_DEBUG_BUGVERBOSE is not set
177−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
178−CONFIG_DEBUG_USER=y
179−CONFIG_DEBUG_ERRORS=y
180−CONFIG_CRYPTO_ECB=m
181−CONFIG_CRYPTO_PCBC=m
182−# CONFIG_CRYPTO_ANSI_CPRNG is not set
183−CONFIG_CRC_T10DIF=m
184−CONFIG_LIBCRC32C=y
arch/arm/configs/igep0020_defconfig+0−179
@@ -1,179 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−# CONFIG_LOCALVERSION_AUTO is not set
3−CONFIG_SYSVIPC=y
4−CONFIG_BSD_PROCESS_ACCT=y
5−CONFIG_BLK_DEV_INITRD=y
6−CONFIG_EMBEDDED=y
7−# CONFIG_SYSCTL_SYSCALL is not set
8−CONFIG_KALLSYMS_EXTRA_PASS=y
9−CONFIG_SLAB=y
10−CONFIG_MODULES=y
11−CONFIG_MODULE_UNLOAD=y
12−# CONFIG_BLK_DEV_BSG is not set
13−CONFIG_ARCH_OMAP=y
14−CONFIG_ARCH_OMAP3=y
15−CONFIG_OMAP_RESET_CLOCKS=y
16−# CONFIG_OMAP_MUX is not set
17−CONFIG_OMAP_32K_TIMER=y
18−CONFIG_OMAP_DM_TIMER=y
19−CONFIG_ARCH_OMAP3430=y
20−CONFIG_MACH_IGEP0020=y
21−CONFIG_ARM_THUMBEE=y
22−CONFIG_NO_HZ=y
23−CONFIG_HIGH_RES_TIMERS=y
24−CONFIG_AEABI=y
25−# CONFIG_OABI_COMPAT is not set
26−CONFIG_ZBOOT_ROM_TEXT=0x0
27−CONFIG_ZBOOT_ROM_BSS=0x0
28−CONFIG_VFP=y
29−CONFIG_NEON=y
30−CONFIG_BINFMT_MISC=y
31−CONFIG_NET=y
32−CONFIG_PACKET=y
33−CONFIG_UNIX=y
34−CONFIG_XFRM_USER=y
35−CONFIG_NET_KEY=y
36−CONFIG_NET_KEY_MIGRATE=y
37−CONFIG_INET=y
38−CONFIG_IP_MULTICAST=y
39−CONFIG_IP_PNP=y
40−CONFIG_IP_PNP_DHCP=y
41−CONFIG_IP_PNP_BOOTP=y
42−CONFIG_IP_PNP_RARP=y
43−# CONFIG_INET_LRO is not set
44−# CONFIG_IPV6 is not set
45−CONFIG_BT=m
46−CONFIG_BT_L2CAP=m
47−CONFIG_BT_SCO=m
48−CONFIG_BT_RFCOMM=m
49−CONFIG_BT_RFCOMM_TTY=y
50−CONFIG_BT_BNEP=m
51−CONFIG_BT_BNEP_MC_FILTER=y
52−CONFIG_BT_BNEP_PROTO_FILTER=y
53−CONFIG_BT_HIDP=m
54−CONFIG_BT_HCIUART=m
55−CONFIG_BT_HCIUART_H4=y
56−CONFIG_BT_HCIUART_BCSP=y
57−CONFIG_BT_HCIUART_LL=y
58−CONFIG_BT_HCIVHCI=m
59−CONFIG_BT_MRVL=m
60−CONFIG_BT_MRVL_SDIO=m
61−CONFIG_CFG80211=y
62−CONFIG_MAC80211=y
63−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
64−# CONFIG_STANDALONE is not set
65−CONFIG_CONNECTOR=y
66−CONFIG_MTD=y
67−CONFIG_MTD_CMDLINE_PARTS=y
68−CONFIG_MTD_CHAR=y
69−CONFIG_MTD_BLOCK=y
70−CONFIG_MTD_ONENAND=y
71−CONFIG_MTD_ONENAND_OMAP2=y
72−CONFIG_MTD_ONENAND_2X_PROGRAM=y
73−CONFIG_BLK_DEV_LOOP=y
74−CONFIG_BLK_DEV_RAM=y
75−CONFIG_BLK_DEV_RAM_SIZE=16384
76−# CONFIG_MISC_DEVICES is not set
77−CONFIG_SCSI=y
78−CONFIG_BLK_DEV_SD=y
79−CONFIG_NETDEVICES=y
80−CONFIG_NET_ETHERNET=y
81−CONFIG_SMSC911X=y
82−# CONFIG_NETDEV_1000 is not set
83−# CONFIG_NETDEV_10000 is not set
84−CONFIG_LIBERTAS=y
85−CONFIG_LIBERTAS_SDIO=y
86−# CONFIG_INPUT_MOUSEDEV is not set
87−CONFIG_INPUT_EVDEV=y
88−# CONFIG_INPUT_KEYBOARD is not set
89−# CONFIG_INPUT_MOUSE is not set
90−# CONFIG_SERIO is not set
91−CONFIG_SERIAL_8250=y
92−CONFIG_SERIAL_8250_CONSOLE=y
93−CONFIG_SERIAL_8250_NR_UARTS=32
94−CONFIG_SERIAL_8250_EXTENDED=y
95−CONFIG_SERIAL_8250_MANY_PORTS=y
96−CONFIG_SERIAL_8250_SHARE_IRQ=y
97−CONFIG_SERIAL_8250_DETECT_IRQ=y
98−CONFIG_SERIAL_8250_RSA=y
99−# CONFIG_LEGACY_PTYS is not set
100−CONFIG_HW_RANDOM=y
101−CONFIG_I2C=y
102−CONFIG_I2C_CHARDEV=y
103−CONFIG_I2C_OMAP=y
104−CONFIG_SPI=y
105−CONFIG_SPI_OMAP24XX=y
106−CONFIG_GPIO_SYSFS=y
107−CONFIG_GPIO_TWL4030=y
108−CONFIG_POWER_SUPPLY=y
109−# CONFIG_HWMON is not set
110−CONFIG_SSB=m
111−CONFIG_TWL4030_CORE=y
112−CONFIG_REGULATOR=y
113−CONFIG_REGULATOR_TWL4030=y
114−CONFIG_FB=y
115−CONFIG_FB_MODE_HELPERS=y
116−CONFIG_OMAP2_DSS=y
117−CONFIG_OMAP2_VRAM_SIZE=14
118−# CONFIG_OMAP2_DSS_DEBUG_SUPPORT is not set
119−# CONFIG_OMAP2_DSS_VENC is not set
120−CONFIG_OMAP2_DSS_DSI=y
121−CONFIG_OMAP2_DSS_USE_DSI_PLL=y
122−CONFIG_FB_OMAP2=y
123−# CONFIG_FB_OMAP2_DEBUG_SUPPORT is not set
124−CONFIG_PANEL_GENERIC=y
125−CONFIG_DISPLAY_SUPPORT=y
126−# CONFIG_VGA_CONSOLE is not set
127−CONFIG_FRAMEBUFFER_CONSOLE=y
128−CONFIG_LOGO=y
129−# CONFIG_LOGO_LINUX_MONO is not set
130−# CONFIG_LOGO_LINUX_VGA16 is not set
131−CONFIG_SOUND=y
132−CONFIG_SND=y
133−# CONFIG_SND_SUPPORT_OLD_API is not set
134−# CONFIG_SND_VERBOSE_PROCFS is not set
135−CONFIG_SND_SOC=y
136−CONFIG_SND_OMAP_SOC=y
137−CONFIG_SND_OMAP_SOC_IGEP0020=y
138−# CONFIG_HID_SUPPORT is not set
139−CONFIG_USB=y
140−CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
141−CONFIG_USB_EHCI_HCD=y
142−CONFIG_USB_EHCI_ROOT_HUB_TT=y
143−CONFIG_USB_OHCI_HCD=y
144−CONFIG_MMC=y
145−CONFIG_MMC_DEBUG=y
146−CONFIG_MMC_SDHCI=y
147−CONFIG_MMC_OMAP_HS=y
148−CONFIG_EXT2_FS=y
149−CONFIG_EXT3_FS=y
150−# CONFIG_EXT3_FS_XATTR is not set
151−CONFIG_INOTIFY=y
152−CONFIG_QUOTA=y
153−CONFIG_QFMT_V2=y
154−CONFIG_MSDOS_FS=y
155−CONFIG_VFAT_FS=y
156−CONFIG_TMPFS=y
157−CONFIG_NFS_FS=y
158−CONFIG_NFS_V3=y
159−CONFIG_NFS_V3_ACL=y
160−CONFIG_NFS_V4=y
161−CONFIG_ROOT_NFS=y
162−CONFIG_PARTITION_ADVANCED=y
163−CONFIG_NLS_CODEPAGE_437=y
164−CONFIG_NLS_ISO8859_1=y
165−CONFIG_PRINTK_TIME=y
166−CONFIG_MAGIC_SYSRQ=y
167−CONFIG_DEBUG_KERNEL=y
168−CONFIG_DEBUG_MUTEXES=y
169−# CONFIG_DEBUG_BUGVERBOSE is not set
170−CONFIG_DEBUG_INFO=y
171−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
172−CONFIG_DEBUG_LL=y
173−CONFIG_CRYPTO_PCBC=m
174−CONFIG_CRYPTO_MICHAEL_MIC=m
175−# CONFIG_CRYPTO_ANSI_CPRNG is not set
176−CONFIG_CRC_CCITT=y
177−CONFIG_CRC_T10DIF=y
178−CONFIG_CRC_ITU_T=m
179−CONFIG_LIBCRC32C=y
arch/arm/configs/kirkwood_defconfig+8−0
@@ -13,11 +13,19 @@ CONFIG_MACH_RD88F6192_NAS=y · 12 unmodified lines
1313 CONFIG_MACH_RD88F6281=y
1414 CONFIG_MACH_MV88F6281GTW_GE=y
1515 CONFIG_MACH_SHEEVAPLUG=y
16+CONFIG_MACH_ESATA_SHEEVAPLUG=y
17+CONFIG_MACH_GURUPLUG=y
1618 CONFIG_MACH_TS219=y
1719 CONFIG_MACH_TS41X=y
1820 CONFIG_MACH_OPENRD_BASE=y
1921 CONFIG_MACH_OPENRD_CLIENT=y
22+CONFIG_MACH_OPENRD_ULTIMATE=y
2023 CONFIG_MACH_NETSPACE_V2=y
24+CONFIG_MACH_INETSPACE_V2=y
25+CONFIG_MACH_NETSPACE_MAX_V2=y
26+CONFIG_MACH_NET2BIG_V2=y
27+CONFIG_MACH_NET5BIG_V2=y
28+CONFIG_MACH_T5325=y
2129 # CONFIG_CPU_FEROCEON_OLD_ID is not set
2230 CONFIG_NO_HZ=y
2331 CONFIG_HIGH_RES_TIMERS=y
arch/arm/configs/lusl7200_defconfig+0−23
@@ -1,23 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_LOG_BUF_SHIFT=14
5−CONFIG_BLK_DEV_INITRD=y
6−CONFIG_EMBEDDED=y
7−# CONFIG_HOTPLUG is not set
8−CONFIG_MODULES=y
9−CONFIG_ARCH_L7200=y
10−# CONFIG_ARM_THUMB is not set
11−CONFIG_ZBOOT_ROM_TEXT=0x00010000
12−CONFIG_ZBOOT_ROM_BSS=0xf03e0000
13−CONFIG_ZBOOT_ROM=y
14−CONFIG_CMDLINE="console=tty0 console=ttyLU1,115200 root=/dev/ram initrd=0xf1000000,0x005dac7b mem=32M"
15−CONFIG_BINFMT_AOUT=y
16−CONFIG_BLK_DEV_RAM=y
17−# CONFIG_INPUT is not set
18−# CONFIG_SERIO_SERPORT is not set
19−# CONFIG_VT is not set
20−CONFIG_SERIAL_NONSTANDARD=y
21−CONFIG_EXT2_FS=y
22−CONFIG_DEBUG_USER=y
23−# CONFIG_CRC32 is not set
arch/arm/configs/omap3_beagle_defconfig+0−134
@@ -1,134 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_LOG_BUF_SHIFT=14
5−CONFIG_BLK_DEV_INITRD=y
6−CONFIG_EMBEDDED=y
7−# CONFIG_SYSCTL_SYSCALL is not set
8−CONFIG_KALLSYMS_EXTRA_PASS=y
9−CONFIG_SLAB=y
10−CONFIG_MODULES=y
11−CONFIG_MODULE_UNLOAD=y
12−CONFIG_MODVERSIONS=y
13−CONFIG_MODULE_SRCVERSION_ALL=y
14−# CONFIG_BLK_DEV_BSG is not set
15−CONFIG_ARCH_OMAP=y
16−CONFIG_ARCH_OMAP3=y
17−# CONFIG_OMAP_MUX is not set
18−# CONFIG_OMAP_MCBSP is not set
19−CONFIG_OMAP_32K_TIMER=y
20−CONFIG_OMAP_DM_TIMER=y
21−CONFIG_ARCH_OMAP3430=y
22−CONFIG_MACH_OMAP3_BEAGLE=y
23−CONFIG_NO_HZ=y
24−CONFIG_HIGH_RES_TIMERS=y
25−CONFIG_AEABI=y
26−CONFIG_ZBOOT_ROM_TEXT=0x0
27−CONFIG_ZBOOT_ROM_BSS=0x0
28−CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:tgt:eth0:off rw console=ttyS2,115200n8"
29−CONFIG_FPE_NWFPE=y
30−CONFIG_VFP=y
31−CONFIG_BINFMT_MISC=y
32−CONFIG_PM=y
33−CONFIG_PM_RUNTIME=y
34−CONFIG_NET=y
35−CONFIG_PACKET=y
36−CONFIG_UNIX=y
37−CONFIG_NET_KEY=y
38−CONFIG_INET=y
39−CONFIG_IP_PNP=y
40−CONFIG_IP_PNP_DHCP=y
41−CONFIG_IP_PNP_BOOTP=y
42−CONFIG_IP_PNP_RARP=y
43−# CONFIG_INET_LRO is not set
44−# CONFIG_IPV6 is not set
45−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
46−# CONFIG_FW_LOADER is not set
47−CONFIG_MTD=y
48−CONFIG_MTD_PARTITIONS=y
49−CONFIG_MTD_CHAR=y
50−CONFIG_MTD_BLOCK=y
51−CONFIG_MTD_NAND=y
52−CONFIG_BLK_DEV_LOOP=y
53−CONFIG_BLK_DEV_RAM=y
54−CONFIG_BLK_DEV_RAM_SIZE=16384
55−# CONFIG_MISC_DEVICES is not set
56−CONFIG_SCSI=y
57−CONFIG_BLK_DEV_SD=y
58−CONFIG_NETDEVICES=y
59−# CONFIG_NETDEV_1000 is not set
60−# CONFIG_NETDEV_10000 is not set
61−# CONFIG_INPUT_MOUSEDEV is not set
62−# CONFIG_INPUT_KEYBOARD is not set
63−# CONFIG_INPUT_MOUSE is not set
64−# CONFIG_SERIO is not set
65−CONFIG_SERIAL_8250=y
66−CONFIG_SERIAL_8250_CONSOLE=y
67−CONFIG_SERIAL_8250_NR_UARTS=32
68−CONFIG_SERIAL_8250_EXTENDED=y
69−CONFIG_SERIAL_8250_MANY_PORTS=y
70−CONFIG_SERIAL_8250_SHARE_IRQ=y
71−CONFIG_SERIAL_8250_DETECT_IRQ=y
72−CONFIG_SERIAL_8250_RSA=y
73−# CONFIG_LEGACY_PTYS is not set
74−CONFIG_HW_RANDOM=y
75−CONFIG_I2C=y
76−CONFIG_I2C_CHARDEV=y
77−CONFIG_I2C_OMAP=y
78−CONFIG_GPIO_TWL4030=y
79−# CONFIG_HWMON is not set
80−CONFIG_TWL4030_CORE=y
81−CONFIG_REGULATOR=y
82−CONFIG_REGULATOR_TWL4030=y
83−CONFIG_FB=y
84−CONFIG_FB_OMAP=y
85−# CONFIG_VGA_CONSOLE is not set
86−CONFIG_FRAMEBUFFER_CONSOLE=y
87−CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
88−CONFIG_FONTS=y
89−CONFIG_FONT_8x8=y
90−CONFIG_FONT_8x16=y
91−# CONFIG_HID_SUPPORT is not set
92−CONFIG_USB=y
93−CONFIG_USB_DEVICEFS=y
94−CONFIG_USB_SUSPEND=y
95−# CONFIG_USB_OTG_WHITELIST is not set
96−CONFIG_USB_MON=y
97−CONFIG_USB_EHCI_HCD=y
98−CONFIG_USB_EHCI_ROOT_HUB_TT=y
99−CONFIG_USB_MUSB_HDRC=y
100−CONFIG_USB_MUSB_OTG=y
101−CONFIG_USB_GADGET_MUSB_HDRC=y
102−CONFIG_USB_GADGET=y
103−CONFIG_USB_ETH=m
104−CONFIG_TWL4030_USB=y
105−CONFIG_MMC=y
106−CONFIG_MMC_OMAP_HS=y
107−CONFIG_RTC_CLASS=y
108−CONFIG_EXT2_FS=y
109−CONFIG_EXT3_FS=y
110−# CONFIG_EXT3_FS_XATTR is not set
111−CONFIG_INOTIFY=y
112−CONFIG_QUOTA=y
113−CONFIG_QFMT_V2=y
114−CONFIG_MSDOS_FS=y
115−CONFIG_VFAT_FS=y
116−CONFIG_TMPFS=y
117−CONFIG_JFFS2_FS=y
118−CONFIG_NFS_FS=y
119−CONFIG_NFS_V3=y
120−CONFIG_NFS_V4=y
121−CONFIG_ROOT_NFS=y
122−CONFIG_PARTITION_ADVANCED=y
123−CONFIG_NLS_CODEPAGE_437=y
124−CONFIG_NLS_ISO8859_1=y
125−CONFIG_MAGIC_SYSRQ=y
126−CONFIG_DEBUG_KERNEL=y
127−CONFIG_DEBUG_MUTEXES=y
128−# CONFIG_DEBUG_BUGVERBOSE is not set
129−CONFIG_DEBUG_INFO=y
130−# CONFIG_FTRACE is not set
131−CONFIG_CRYPTO_ECB=m
132−CONFIG_CRYPTO_PCBC=m
133−CONFIG_CRC_CCITT=y
134−CONFIG_LIBCRC32C=y
arch/arm/configs/omap3_evm_defconfig+0−160
@@ -1,160 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_LOG_BUF_SHIFT=14
5−CONFIG_BLK_DEV_INITRD=y
6−CONFIG_EMBEDDED=y
7−# CONFIG_SYSCTL_SYSCALL is not set
8−CONFIG_KALLSYMS_EXTRA_PASS=y
9−CONFIG_SLAB=y
10−CONFIG_MODULES=y
11−CONFIG_MODULE_UNLOAD=y
12−CONFIG_MODVERSIONS=y
13−CONFIG_MODULE_SRCVERSION_ALL=y
14−# CONFIG_BLK_DEV_BSG is not set
15−CONFIG_ARCH_OMAP=y
16−CONFIG_ARCH_OMAP3=y
17−CONFIG_OMAP_RESET_CLOCKS=y
18−# CONFIG_OMAP_MCBSP is not set
19−CONFIG_OMAP_32K_TIMER=y
20−CONFIG_OMAP_DM_TIMER=y
21−CONFIG_ARCH_OMAP3430=y
22−CONFIG_MACH_OMAP3EVM=y
23−CONFIG_NO_HZ=y
24−CONFIG_HIGH_RES_TIMERS=y
25−CONFIG_AEABI=y
26−CONFIG_ZBOOT_ROM_TEXT=0x0
27−CONFIG_ZBOOT_ROM_BSS=0x0
28−CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:tgt:eth0:off rw console=ttyS2,115200n8"
29−CONFIG_FPE_NWFPE=y
30−CONFIG_VFP=y
31−CONFIG_NEON=y
32−CONFIG_BINFMT_MISC=y
33−CONFIG_PM=y
34−CONFIG_PM_DEBUG=y
35−CONFIG_PM_RUNTIME=y
36−CONFIG_NET=y
37−CONFIG_PACKET=y
38−CONFIG_UNIX=y
39−CONFIG_NET_KEY=y
40−CONFIG_INET=y
41−CONFIG_IP_PNP=y
42−CONFIG_IP_PNP_DHCP=y
43−CONFIG_IP_PNP_BOOTP=y
44−CONFIG_IP_PNP_RARP=y
45−# CONFIG_INET_LRO is not set
46−# CONFIG_IPV6 is not set
47−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
48−# CONFIG_FW_LOADER is not set
49−CONFIG_MTD=y
50−CONFIG_MTD_CONCAT=y
51−CONFIG_MTD_CMDLINE_PARTS=y
52−CONFIG_MTD_CHAR=y
53−CONFIG_MTD_BLOCK=y
54−CONFIG_MTD_CFI=y
55−CONFIG_MTD_CFI_INTELEXT=y
56−CONFIG_MTD_NAND=y
57−CONFIG_MTD_ONENAND=y
58−CONFIG_MTD_ONENAND_VERIFY_WRITE=y
59−CONFIG_MTD_ONENAND_OMAP2=y
60−CONFIG_BLK_DEV_LOOP=y
61−CONFIG_BLK_DEV_RAM=y
62−CONFIG_BLK_DEV_RAM_SIZE=16384
63−# CONFIG_MISC_DEVICES is not set
64−CONFIG_SCSI=y
65−CONFIG_BLK_DEV_SD=y
66−CONFIG_NETDEVICES=y
67−CONFIG_NET_ETHERNET=y
68−CONFIG_SMSC911X=y
69−# CONFIG_NETDEV_1000 is not set
70−# CONFIG_NETDEV_10000 is not set
71−# CONFIG_INPUT_MOUSEDEV is not set
72−CONFIG_INPUT_EVDEV=y
73−# CONFIG_KEYBOARD_ATKBD is not set
74−CONFIG_KEYBOARD_TWL4030=y
75−# CONFIG_INPUT_MOUSE is not set
76−CONFIG_INPUT_TOUCHSCREEN=y
77−CONFIG_TOUCHSCREEN_ADS7846=y
78−# CONFIG_SERIO is not set
79−CONFIG_SERIAL_8250=y
80−CONFIG_SERIAL_8250_CONSOLE=y
81−CONFIG_SERIAL_8250_NR_UARTS=32
82−CONFIG_SERIAL_8250_EXTENDED=y
83−CONFIG_SERIAL_8250_MANY_PORTS=y
84−CONFIG_SERIAL_8250_SHARE_IRQ=y
85−CONFIG_SERIAL_8250_DETECT_IRQ=y
86−CONFIG_SERIAL_8250_RSA=y
87−# CONFIG_LEGACY_PTYS is not set
88−CONFIG_HW_RANDOM=y
89−CONFIG_I2C=y
90−CONFIG_I2C_CHARDEV=y
91−CONFIG_I2C_OMAP=y
92−CONFIG_SPI=y
93−CONFIG_SPI_OMAP24XX=y
94−CONFIG_GPIO_TWL4030=y
95−# CONFIG_HWMON is not set
96−CONFIG_WATCHDOG=y
97−CONFIG_WATCHDOG_NOWAYOUT=y
98−CONFIG_OMAP_WATCHDOG=y
99−CONFIG_TWL4030_CORE=y
100−CONFIG_REGULATOR=y
101−CONFIG_REGULATOR_TWL4030=y
102−CONFIG_VIDEO_OUTPUT_CONTROL=m
103−CONFIG_FB=y
104−CONFIG_OMAP2_DSS=y
105−CONFIG_OMAP2_VRAM_SIZE=4
106−# CONFIG_OMAP2_DSS_DEBUG_SUPPORT is not set
107−CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=4
108−CONFIG_FB_OMAP2=y
109−# CONFIG_FB_OMAP2_DEBUG_SUPPORT is not set
110−CONFIG_PANEL_GENERIC=y
111−CONFIG_PANEL_SHARP_LS037V7DW01=y
112−# CONFIG_VGA_CONSOLE is not set
113−CONFIG_USB=y
114−CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
115−CONFIG_USB_DEVICEFS=y
116−# CONFIG_USB_DEVICE_CLASS is not set
117−CONFIG_USB_SUSPEND=y
118−# CONFIG_USB_OTG_WHITELIST is not set
119−CONFIG_USB_MON=y
120−CONFIG_USB_MUSB_HDRC=y
121−CONFIG_USB_MUSB_OTG=y
122−CONFIG_USB_GADGET_MUSB_HDRC=y
123−CONFIG_USB_STORAGE=y
124−CONFIG_USB_TEST=y
125−CONFIG_USB_GADGET=y
126−CONFIG_USB_ZERO=m
127−CONFIG_MMC=y
128−CONFIG_MMC_OMAP_HS=y
129−CONFIG_EXT2_FS=y
130−CONFIG_EXT3_FS=y
131−# CONFIG_EXT3_FS_XATTR is not set
132−CONFIG_INOTIFY=y
133−CONFIG_QUOTA=y
134−CONFIG_QFMT_V2=y
135−CONFIG_MSDOS_FS=y
136−CONFIG_VFAT_FS=y
137−CONFIG_TMPFS=y
138−CONFIG_JFFS2_FS=y
139−CONFIG_JFFS2_COMPRESSION_OPTIONS=y
140−CONFIG_NFS_FS=y
141−CONFIG_NFS_V3=y
142−CONFIG_NFS_V4=y
143−CONFIG_ROOT_NFS=y
144−CONFIG_PARTITION_ADVANCED=y
145−CONFIG_NLS_CODEPAGE_437=y
146−CONFIG_NLS_ISO8859_1=y
147−CONFIG_MAGIC_SYSRQ=y
148−CONFIG_DEBUG_FS=y
149−CONFIG_DEBUG_KERNEL=y
150−# CONFIG_SCHED_DEBUG is not set
151−CONFIG_DEBUG_MUTEXES=y
152−# CONFIG_DEBUG_BUGVERBOSE is not set
153−CONFIG_DEBUG_INFO=y
154−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
155−CONFIG_DEBUG_LL=y
156−CONFIG_CRYPTO_ECB=m
157−CONFIG_CRYPTO_PCBC=m
158−# CONFIG_CRYPTO_ANSI_CPRNG is not set
159−CONFIG_CRC_CCITT=y
160−CONFIG_LIBCRC32C=y
arch/arm/configs/omap3_pandora_defconfig+0−158
@@ -1,158 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_IKCONFIG=y
5−CONFIG_IKCONFIG_PROC=y
6−CONFIG_LOG_BUF_SHIFT=14
7−CONFIG_BLK_DEV_INITRD=y
8−CONFIG_EMBEDDED=y
9−# CONFIG_SYSCTL_SYSCALL is not set
10−CONFIG_KALLSYMS_EXTRA_PASS=y
11−CONFIG_SLAB=y
12−CONFIG_MODULES=y
13−CONFIG_MODULE_UNLOAD=y
14−CONFIG_MODVERSIONS=y
15−CONFIG_MODULE_SRCVERSION_ALL=y
16−# CONFIG_BLK_DEV_BSG is not set
17−CONFIG_ARCH_OMAP=y
18−CONFIG_ARCH_OMAP3=y
19−# CONFIG_OMAP_MUX is not set
20−CONFIG_OMAP_32K_TIMER=y
21−CONFIG_OMAP_DM_TIMER=y
22−CONFIG_ARCH_OMAP3430=y
23−CONFIG_MACH_OMAP3_PANDORA=y
24−CONFIG_ARM_THUMBEE=y
25−CONFIG_NO_HZ=y
26−CONFIG_HIGH_RES_TIMERS=y
27−CONFIG_PREEMPT_VOLUNTARY=y
28−CONFIG_AEABI=y
29−CONFIG_ZBOOT_ROM_TEXT=0x0
30−CONFIG_ZBOOT_ROM_BSS=0x0
31−CONFIG_CMDLINE=" debug "
32−CONFIG_FPE_NWFPE=y
33−CONFIG_VFP=y
34−CONFIG_NEON=y
35−CONFIG_BINFMT_MISC=y
36−CONFIG_NET=y
37−CONFIG_PACKET=y
38−CONFIG_UNIX=y
39−CONFIG_NET_KEY=y
40−CONFIG_INET=y
41−CONFIG_IP_PNP=y
42−CONFIG_IP_PNP_DHCP=y
43−CONFIG_IP_PNP_BOOTP=y
44−CONFIG_IP_PNP_RARP=y
45−# CONFIG_INET_LRO is not set
46−# CONFIG_IPV6 is not set
47−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
48−CONFIG_DEVTMPFS=y
49−CONFIG_DEVTMPFS_MOUNT=y
50−# CONFIG_FW_LOADER is not set
51−CONFIG_MTD=y
52−CONFIG_MTD_PARTITIONS=y
53−CONFIG_MTD_CHAR=y
54−CONFIG_MTD_BLOCK=y
55−CONFIG_MTD_NAND=y
56−CONFIG_MTD_NAND_OMAP2=y
57−CONFIG_BLK_DEV_LOOP=y
58−CONFIG_BLK_DEV_RAM=y
59−CONFIG_BLK_DEV_RAM_SIZE=16384
60−CONFIG_SCSI=y
61−CONFIG_BLK_DEV_SD=y
62−CONFIG_NETDEVICES=y
63−# CONFIG_NETDEV_1000 is not set
64−# CONFIG_NETDEV_10000 is not set
65−CONFIG_INPUT_MOUSEDEV_SCREEN_X=800
66−CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
67−CONFIG_INPUT_JOYDEV=y
68−CONFIG_INPUT_EVDEV=y
69−# CONFIG_KEYBOARD_ATKBD is not set
70−CONFIG_KEYBOARD_GPIO=y
71−CONFIG_KEYBOARD_TWL4030=y
72−# CONFIG_MOUSE_PS2 is not set
73−CONFIG_INPUT_TOUCHSCREEN=y
74−CONFIG_TOUCHSCREEN_ADS7846=y
75−CONFIG_INPUT_MISC=y
76−CONFIG_INPUT_TWL4030_PWRBUTTON=y
77−# CONFIG_SERIO is not set
78−CONFIG_SERIAL_8250=y
79−CONFIG_SERIAL_8250_CONSOLE=y
80−CONFIG_SERIAL_8250_NR_UARTS=32
81−CONFIG_SERIAL_8250_EXTENDED=y
82−CONFIG_SERIAL_8250_MANY_PORTS=y
83−CONFIG_SERIAL_8250_SHARE_IRQ=y
84−CONFIG_SERIAL_8250_DETECT_IRQ=y
85−CONFIG_SERIAL_8250_RSA=y
86−# CONFIG_LEGACY_PTYS is not set
87−CONFIG_HW_RANDOM=y
88−CONFIG_I2C=y
89−CONFIG_I2C_CHARDEV=y
90−CONFIG_I2C_OMAP=y
91−CONFIG_SPI=y
92−CONFIG_SPI_OMAP24XX=y
93−CONFIG_GPIO_TWL4030=y
94−# CONFIG_HWMON is not set
95−CONFIG_TWL4030_CORE=y
96−CONFIG_TWL4030_POWER=y
97−CONFIG_REGULATOR=y
98−CONFIG_REGULATOR_DEBUG=y
99−CONFIG_REGULATOR_TWL4030=y
100−CONFIG_VIDEO_OUTPUT_CONTROL=y
101−CONFIG_FB=y
102−CONFIG_OMAP2_DSS=y
103−CONFIG_FB_OMAP2=y
104−CONFIG_PANEL_TPO_TD043MTEA1=y
105−CONFIG_BACKLIGHT_LCD_SUPPORT=y
106−# CONFIG_LCD_CLASS_DEVICE is not set
107−CONFIG_BACKLIGHT_CLASS_DEVICE=y
108−# CONFIG_VGA_CONSOLE is not set
109−CONFIG_FRAMEBUFFER_CONSOLE=y
110−CONFIG_LOGO=y
111−CONFIG_SOUND=y
112−CONFIG_SND=y
113−CONFIG_SND_MIXER_OSS=y
114−CONFIG_SND_PCM_OSS=y
115−CONFIG_SND_VERBOSE_PRINTK=y
116−CONFIG_SND_SOC=y
117−CONFIG_SND_OMAP_SOC=y
118−CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=y
119−CONFIG_USB=y
120−CONFIG_USB_DEVICEFS=y
121−CONFIG_USB_EHCI_HCD=y
122−CONFIG_USB_MUSB_HDRC=y
123−CONFIG_USB_MUSB_PERIPHERAL=y
124−CONFIG_USB_GADGET_MUSB_HDRC=y
125−CONFIG_USB_GADGET=y
126−CONFIG_USB_ETH=m
127−CONFIG_TWL4030_USB=y
128−CONFIG_MMC=y
129−CONFIG_MMC_OMAP_HS=y
130−CONFIG_NEW_LEDS=y
131−CONFIG_LEDS_CLASS=y
132−CONFIG_LEDS_GPIO=y
133−CONFIG_LEDS_TRIGGERS=y
134−CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
135−CONFIG_RTC_CLASS=y
136−CONFIG_RTC_DRV_TWL4030=y
137−CONFIG_EXT2_FS=y
138−CONFIG_EXT3_FS=y
139−# CONFIG_EXT3_FS_XATTR is not set
140−CONFIG_QUOTA=y
141−CONFIG_QFMT_V2=y
142−CONFIG_MSDOS_FS=y
143−CONFIG_VFAT_FS=y
144−CONFIG_TMPFS=y
145−CONFIG_CIFS=y
146−CONFIG_PARTITION_ADVANCED=y
147−CONFIG_NLS_CODEPAGE_437=y
148−CONFIG_NLS_ISO8859_1=y
149−CONFIG_MAGIC_SYSRQ=y
150−CONFIG_DEBUG_KERNEL=y
151−CONFIG_DEBUG_MUTEXES=y
152−# CONFIG_DEBUG_BUGVERBOSE is not set
153−CONFIG_DEBUG_INFO=y
154−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
155−CONFIG_CRYPTO_CRC32C=y
156−# CONFIG_CRYPTO_ANSI_CPRNG is not set
157−# CONFIG_CRYPTO_HW is not set
158−CONFIG_CRC_CCITT=y
arch/arm/configs/omap3_stalker_lks_defconfig+0−150
@@ -1,150 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_LOG_BUF_SHIFT=14
5−CONFIG_BLK_DEV_INITRD=y
6−CONFIG_EMBEDDED=y
7−# CONFIG_SYSCTL_SYSCALL is not set
8−CONFIG_KALLSYMS_EXTRA_PASS=y
9−CONFIG_SLAB=y
10−CONFIG_MODULES=y
11−CONFIG_MODULE_UNLOAD=y
12−CONFIG_MODVERSIONS=y
13−CONFIG_MODULE_SRCVERSION_ALL=y
14−# CONFIG_BLK_DEV_BSG is not set
15−CONFIG_ARCH_OMAP=y
16−CONFIG_ARCH_OMAP3=y
17−CONFIG_OMAP_RESET_CLOCKS=y
18−# CONFIG_OMAP_MCBSP is not set
19−CONFIG_OMAP_32K_TIMER=y
20−CONFIG_OMAP_DM_TIMER=y
21−CONFIG_ARCH_OMAP3430=y
22−CONFIG_MACH_SBC3530=y
23−CONFIG_NO_HZ=y
24−CONFIG_HIGH_RES_TIMERS=y
25−CONFIG_AEABI=y
26−CONFIG_ZBOOT_ROM_TEXT=0x0
27−CONFIG_ZBOOT_ROM_BSS=0x0
28−CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:tgt:eth0:off rw console=ttyS2,115200n8"
29−CONFIG_FPE_NWFPE=y
30−CONFIG_VFP=y
31−CONFIG_NEON=y
32−CONFIG_BINFMT_MISC=y
33−CONFIG_PM=y
34−CONFIG_PM_DEBUG=y
35−CONFIG_NET=y
36−CONFIG_PACKET=y
37−CONFIG_UNIX=y
38−CONFIG_NET_KEY=y
39−CONFIG_INET=y
40−CONFIG_IP_PNP=y
41−CONFIG_IP_PNP_DHCP=y
42−CONFIG_IP_PNP_BOOTP=y
43−CONFIG_IP_PNP_RARP=y
44−# CONFIG_INET_LRO is not set
45−# CONFIG_IPV6 is not set
46−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
47−# CONFIG_FW_LOADER is not set
48−CONFIG_MTD=y
49−CONFIG_MTD_CONCAT=y
50−CONFIG_MTD_CMDLINE_PARTS=y
51−CONFIG_MTD_CHAR=y
52−CONFIG_MTD_BLOCK=y
53−CONFIG_MTD_CFI=y
54−CONFIG_MTD_CFI_INTELEXT=y
55−CONFIG_MTD_NAND=y
56−CONFIG_MTD_ONENAND=y
57−CONFIG_MTD_ONENAND_VERIFY_WRITE=y
58−CONFIG_MTD_ONENAND_OMAP2=y
59−CONFIG_BLK_DEV_LOOP=y
60−CONFIG_BLK_DEV_RAM=y
61−CONFIG_BLK_DEV_RAM_SIZE=16384
62−# CONFIG_MISC_DEVICES is not set
63−CONFIG_SCSI=y
64−CONFIG_BLK_DEV_SD=y
65−CONFIG_NETDEVICES=y
66−CONFIG_NET_ETHERNET=y
67−CONFIG_SMSC911X=y
68−# CONFIG_NETDEV_1000 is not set
69−# CONFIG_NETDEV_10000 is not set
70−# CONFIG_INPUT_MOUSEDEV is not set
71−CONFIG_INPUT_EVDEV=y
72−# CONFIG_KEYBOARD_ATKBD is not set
73−CONFIG_KEYBOARD_TWL4030=y
74−# CONFIG_INPUT_MOUSE is not set
75−CONFIG_INPUT_TOUCHSCREEN=y
76−CONFIG_TOUCHSCREEN_ADS7846=y
77−# CONFIG_SERIO is not set
78−CONFIG_SERIAL_8250=y
79−CONFIG_SERIAL_8250_CONSOLE=y
80−CONFIG_SERIAL_8250_NR_UARTS=32
81−CONFIG_SERIAL_8250_EXTENDED=y
82−CONFIG_SERIAL_8250_MANY_PORTS=y
83−CONFIG_SERIAL_8250_SHARE_IRQ=y
84−CONFIG_SERIAL_8250_DETECT_IRQ=y
85−CONFIG_SERIAL_8250_RSA=y
86−# CONFIG_LEGACY_PTYS is not set
87−CONFIG_HW_RANDOM=y
88−CONFIG_I2C=y
89−CONFIG_I2C_CHARDEV=y
90−CONFIG_I2C_OMAP=y
91−CONFIG_SPI=y
92−CONFIG_SPI_OMAP24XX=y
93−CONFIG_GPIO_TWL4030=y
94−# CONFIG_HWMON is not set
95−CONFIG_WATCHDOG=y
96−CONFIG_WATCHDOG_NOWAYOUT=y
97−CONFIG_OMAP_WATCHDOG=y
98−CONFIG_TWL4030_CORE=y
99−CONFIG_REGULATOR=y
100−CONFIG_REGULATOR_TWL4030=y
101−CONFIG_VIDEO_OUTPUT_CONTROL=m
102−# CONFIG_VGA_CONSOLE is not set
103−CONFIG_USB=y
104−CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
105−CONFIG_USB_DEVICEFS=y
106−# CONFIG_USB_DEVICE_CLASS is not set
107−# CONFIG_USB_OTG_WHITELIST is not set
108−CONFIG_USB_MON=y
109−CONFIG_USB_MUSB_HDRC=y
110−CONFIG_USB_MUSB_OTG=y
111−CONFIG_USB_GADGET_MUSB_HDRC=y
112−CONFIG_USB_STORAGE=y
113−CONFIG_USB_TEST=y
114−CONFIG_USB_GADGET=y
115−CONFIG_USB_ZERO=m
116−CONFIG_TWL4030_USB=y
117−CONFIG_MMC=y
118−CONFIG_MMC_OMAP_HS=y
119−CONFIG_EXT2_FS=y
120−CONFIG_EXT3_FS=y
121−# CONFIG_EXT3_FS_XATTR is not set
122−CONFIG_INOTIFY=y
123−CONFIG_QUOTA=y
124−CONFIG_QFMT_V2=y
125−CONFIG_MSDOS_FS=y
126−CONFIG_VFAT_FS=y
127−CONFIG_TMPFS=y
128−CONFIG_JFFS2_FS=y
129−CONFIG_JFFS2_COMPRESSION_OPTIONS=y
130−CONFIG_NFS_FS=y
131−CONFIG_NFS_V3=y
132−CONFIG_NFS_V4=y
133−CONFIG_ROOT_NFS=y
134−CONFIG_PARTITION_ADVANCED=y
135−CONFIG_NLS_CODEPAGE_437=y
136−CONFIG_NLS_ISO8859_1=y
137−CONFIG_MAGIC_SYSRQ=y
138−CONFIG_DEBUG_FS=y
139−CONFIG_DEBUG_KERNEL=y
140−# CONFIG_SCHED_DEBUG is not set
141−CONFIG_DEBUG_MUTEXES=y
142−# CONFIG_DEBUG_BUGVERBOSE is not set
143−CONFIG_DEBUG_INFO=y
144−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
145−CONFIG_DEBUG_LL=y
146−CONFIG_CRYPTO_ECB=m
147−CONFIG_CRYPTO_PCBC=m
148−# CONFIG_CRYPTO_ANSI_CPRNG is not set
149−CONFIG_CRC_CCITT=y
150−CONFIG_LIBCRC32C=y
arch/arm/configs/omap3_touchbook_defconfig+0−621
@@ -1,621 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−# CONFIG_LOCALVERSION_AUTO is not set
3−CONFIG_SYSVIPC=y
4−CONFIG_BSD_PROCESS_ACCT=y
5−CONFIG_TASKSTATS=y
6−CONFIG_TASK_DELAY_ACCT=y
7−CONFIG_TASK_XACCT=y
8−CONFIG_TASK_IO_ACCOUNTING=y
9−CONFIG_IKCONFIG=y
10−CONFIG_IKCONFIG_PROC=y
11−CONFIG_LOG_BUF_SHIFT=15
12−CONFIG_BLK_DEV_INITRD=y
13−CONFIG_EMBEDDED=y
14−# CONFIG_SYSCTL_SYSCALL is not set
15−# CONFIG_ELF_CORE is not set
16−# CONFIG_COMPAT_BRK is not set
17−CONFIG_SLAB=y
18−CONFIG_PROFILING=y
19−CONFIG_OPROFILE=y
20−CONFIG_MODULES=y
21−CONFIG_MODULE_FORCE_LOAD=y
22−CONFIG_MODULE_UNLOAD=y
23−CONFIG_MODULE_FORCE_UNLOAD=y
24−CONFIG_MODVERSIONS=y
25−CONFIG_MODULE_SRCVERSION_ALL=y
26−# CONFIG_BLK_DEV_BSG is not set
27−CONFIG_ARCH_OMAP=y
28−CONFIG_ARCH_OMAP3=y
29−CONFIG_OMAP_RESET_CLOCKS=y
30−# CONFIG_OMAP_MUX is not set
31−CONFIG_OMAP_32K_TIMER=y
32−CONFIG_OMAP_DM_TIMER=y
33−CONFIG_ARCH_OMAP3430=y
34−CONFIG_MACH_OMAP3_TOUCHBOOK=y
35−CONFIG_ARM_THUMBEE=y
36−CONFIG_NO_HZ=y
37−CONFIG_HIGH_RES_TIMERS=y
38−CONFIG_PREEMPT=y
39−CONFIG_AEABI=y
40−# CONFIG_OABI_COMPAT is not set
41−CONFIG_LEDS=y
42−CONFIG_ZBOOT_ROM_TEXT=0x0
43−CONFIG_ZBOOT_ROM_BSS=0x0
44−CONFIG_CMDLINE=" debug "
45−CONFIG_KEXEC=y
46−CONFIG_VFP=y
47−CONFIG_NEON=y
48−CONFIG_BINFMT_AOUT=m
49−CONFIG_BINFMT_MISC=y
50−CONFIG_PM=y
51−CONFIG_PM_DEBUG=y
52−CONFIG_PM_RUNTIME=y
53−CONFIG_NET=y
54−CONFIG_PACKET=y
55−CONFIG_UNIX=y
56−CONFIG_NET_KEY=y
57−CONFIG_INET=y
58−CONFIG_IP_PNP=y
59−CONFIG_IP_PNP_DHCP=y
60−CONFIG_IP_PNP_BOOTP=y
61−CONFIG_IP_PNP_RARP=y
62−CONFIG_NET_IPIP=m
63−CONFIG_NET_IPGRE=m
64−CONFIG_INET_AH=m
65−CONFIG_INET_ESP=m
66−CONFIG_INET_IPCOMP=m
67−CONFIG_INET_DIAG=m
68−CONFIG_TCP_CONG_ADVANCED=y
69−CONFIG_TCP_CONG_HSTCP=m
70−CONFIG_TCP_CONG_HYBLA=m
71−CONFIG_TCP_CONG_SCALABLE=m
72−CONFIG_TCP_CONG_LP=m
73−CONFIG_TCP_CONG_VENO=m
74−CONFIG_TCP_CONG_YEAH=m
75−CONFIG_TCP_CONG_ILLINOIS=m
76−CONFIG_INET6_AH=m
77−CONFIG_INET6_ESP=m
78−CONFIG_INET6_IPCOMP=m
79−CONFIG_IPV6_MIP6=m
80−CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
81−CONFIG_IPV6_TUNNEL=m
82−CONFIG_IPV6_MULTIPLE_TABLES=y
83−CONFIG_IPV6_SUBTREES=y
84−CONFIG_IPV6_MROUTE=y
85−CONFIG_NETFILTER=y
86−CONFIG_NETFILTER_NETLINK_QUEUE=m
87−CONFIG_NF_CONNTRACK=m
88−CONFIG_NF_CONNTRACK_EVENTS=y
89−CONFIG_NF_CT_PROTO_UDPLITE=m
90−CONFIG_NF_CONNTRACK_AMANDA=m
91−CONFIG_NF_CONNTRACK_FTP=m
92−CONFIG_NF_CONNTRACK_H323=m
93−CONFIG_NF_CONNTRACK_IRC=m
94−CONFIG_NF_CONNTRACK_NETBIOS_NS=m
95−CONFIG_NF_CONNTRACK_PPTP=m
96−CONFIG_NF_CONNTRACK_SANE=m
97−CONFIG_NF_CONNTRACK_SIP=m
98−CONFIG_NF_CONNTRACK_TFTP=m
99−CONFIG_NF_CT_NETLINK=m
100−CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
101−CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
102−CONFIG_NETFILTER_XT_TARGET_MARK=m
103−CONFIG_NETFILTER_XT_TARGET_NFLOG=m
104−CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
105−CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
106−CONFIG_NETFILTER_XT_MATCH_COMMENT=m
107−CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
108−CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
109−CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
110−CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
111−CONFIG_NETFILTER_XT_MATCH_DSCP=m
112−CONFIG_NETFILTER_XT_MATCH_ESP=m
113−CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
114−CONFIG_NETFILTER_XT_MATCH_HELPER=m
115−CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
116−CONFIG_NETFILTER_XT_MATCH_LENGTH=m
117−CONFIG_NETFILTER_XT_MATCH_LIMIT=m
118−CONFIG_NETFILTER_XT_MATCH_MAC=m
119−CONFIG_NETFILTER_XT_MATCH_MARK=m
120−CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
121−CONFIG_NETFILTER_XT_MATCH_OWNER=m
122−CONFIG_NETFILTER_XT_MATCH_POLICY=m
123−CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
124−CONFIG_NETFILTER_XT_MATCH_QUOTA=m
125−CONFIG_NETFILTER_XT_MATCH_RATEEST=m
126−CONFIG_NETFILTER_XT_MATCH_REALM=m
127−CONFIG_NETFILTER_XT_MATCH_RECENT=m
128−CONFIG_NETFILTER_XT_MATCH_STATE=m
129−CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
130−CONFIG_NETFILTER_XT_MATCH_STRING=m
131−CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
132−CONFIG_NETFILTER_XT_MATCH_TIME=m
133−CONFIG_NETFILTER_XT_MATCH_U32=m
134−CONFIG_IP_VS=m
135−CONFIG_IP_VS_IPV6=y
136−CONFIG_IP_VS_DEBUG=y
137−CONFIG_IP_VS_PROTO_TCP=y
138−CONFIG_IP_VS_PROTO_UDP=y
139−CONFIG_IP_VS_PROTO_ESP=y
140−CONFIG_IP_VS_PROTO_AH=y
141−CONFIG_IP_VS_RR=m
142−CONFIG_IP_VS_WRR=m
143−CONFIG_IP_VS_LC=m
144−CONFIG_IP_VS_WLC=m
145−CONFIG_IP_VS_LBLC=m
146−CONFIG_IP_VS_LBLCR=m
147−CONFIG_IP_VS_DH=m
148−CONFIG_IP_VS_SH=m
149−CONFIG_IP_VS_SED=m
150−CONFIG_IP_VS_NQ=m
151−CONFIG_IP_VS_FTP=m
152−CONFIG_NF_CONNTRACK_IPV4=m
153−CONFIG_IP_NF_QUEUE=m
154−CONFIG_IP_NF_IPTABLES=m
155−CONFIG_IP_NF_MATCH_ADDRTYPE=m
156−CONFIG_IP_NF_MATCH_AH=m
157−CONFIG_IP_NF_MATCH_ECN=m
158−CONFIG_IP_NF_MATCH_TTL=m
159−CONFIG_IP_NF_FILTER=m
160−CONFIG_IP_NF_TARGET_REJECT=m
161−CONFIG_IP_NF_TARGET_LOG=m
162−CONFIG_IP_NF_TARGET_ULOG=m
163−CONFIG_NF_NAT=m
164−CONFIG_IP_NF_TARGET_MASQUERADE=m
165−CONFIG_IP_NF_TARGET_NETMAP=m
166−CONFIG_IP_NF_TARGET_REDIRECT=m
167−CONFIG_NF_NAT_SNMP_BASIC=m
168−CONFIG_IP_NF_MANGLE=m
169−CONFIG_IP_NF_TARGET_CLUSTERIP=m
170−CONFIG_IP_NF_TARGET_ECN=m
171−CONFIG_IP_NF_TARGET_TTL=m
172−CONFIG_IP_NF_RAW=m
173−CONFIG_IP_NF_ARPTABLES=m
174−CONFIG_IP_NF_ARPFILTER=m
175−CONFIG_IP_NF_ARP_MANGLE=m
176−CONFIG_NF_CONNTRACK_IPV6=m
177−CONFIG_IP6_NF_QUEUE=m
178−CONFIG_IP6_NF_IPTABLES=m
179−CONFIG_IP6_NF_MATCH_AH=m
180−CONFIG_IP6_NF_MATCH_EUI64=m
181−CONFIG_IP6_NF_MATCH_FRAG=m
182−CONFIG_IP6_NF_MATCH_OPTS=m
183−CONFIG_IP6_NF_MATCH_HL=m
184−CONFIG_IP6_NF_MATCH_IPV6HEADER=m
185−CONFIG_IP6_NF_MATCH_MH=m
186−CONFIG_IP6_NF_MATCH_RT=m
187−CONFIG_IP6_NF_TARGET_HL=m
188−CONFIG_IP6_NF_TARGET_LOG=m
189−CONFIG_IP6_NF_FILTER=m
190−CONFIG_IP6_NF_TARGET_REJECT=m
191−CONFIG_IP6_NF_MANGLE=m
192−CONFIG_IP6_NF_RAW=m
193−CONFIG_IP_DCCP=m
194−CONFIG_IP_SCTP=m
195−CONFIG_TIPC=m
196−CONFIG_ATM=m
197−CONFIG_ATM_CLIP=m
198−CONFIG_ATM_LANE=m
199−CONFIG_ATM_MPOA=m
200−CONFIG_ATM_BR2684=m
201−CONFIG_BRIDGE=m
202−CONFIG_VLAN_8021Q=m
203−CONFIG_VLAN_8021Q_GVRP=y
204−CONFIG_WAN_ROUTER=m
205−CONFIG_NET_SCHED=y
206−CONFIG_NET_SCH_CBQ=m
207−CONFIG_NET_SCH_HTB=m
208−CONFIG_NET_SCH_HFSC=m
209−CONFIG_NET_SCH_ATM=m
210−CONFIG_NET_SCH_PRIO=m
211−CONFIG_NET_SCH_MULTIQ=m
212−CONFIG_NET_SCH_RED=m
213−CONFIG_NET_SCH_SFQ=m
214−CONFIG_NET_SCH_TEQL=m
215−CONFIG_NET_SCH_TBF=m
216−CONFIG_NET_SCH_GRED=m
217−CONFIG_NET_SCH_DSMARK=m
218−CONFIG_NET_SCH_NETEM=m
219−CONFIG_NET_SCH_DRR=m
220−CONFIG_NET_CLS_BASIC=m
221−CONFIG_NET_CLS_TCINDEX=m
222−CONFIG_NET_CLS_ROUTE4=m
223−CONFIG_NET_CLS_FW=m
224−CONFIG_NET_CLS_U32=m
225−CONFIG_CLS_U32_PERF=y
226−CONFIG_CLS_U32_MARK=y
227−CONFIG_NET_CLS_RSVP=m
228−CONFIG_NET_CLS_RSVP6=m
229−CONFIG_NET_CLS_FLOW=m
230−CONFIG_NET_CLS_IND=y
231−CONFIG_BT=y
232−CONFIG_BT_L2CAP=y
233−CONFIG_BT_SCO=y
234−CONFIG_BT_RFCOMM=y
235−CONFIG_BT_RFCOMM_TTY=y
236−CONFIG_BT_BNEP=y
237−CONFIG_BT_BNEP_MC_FILTER=y
238−CONFIG_BT_BNEP_PROTO_FILTER=y
239−CONFIG_BT_HIDP=y
240−CONFIG_BT_HCIBTUSB=y
241−CONFIG_BT_HCIBTSDIO=y
242−CONFIG_BT_HCIUART=y
243−CONFIG_BT_HCIUART_H4=y
244−CONFIG_BT_HCIUART_BCSP=y
245−CONFIG_BT_HCIUART_LL=y
246−CONFIG_BT_HCIBCM203X=y
247−CONFIG_BT_HCIBPA10X=y
248−CONFIG_BT_HCIBFUSB=y
249−CONFIG_AF_RXRPC=m
250−CONFIG_CFG80211=m
251−CONFIG_LIB80211=y
252−CONFIG_MAC80211=m
253−CONFIG_MAC80211_RC_PID=y
254−# CONFIG_MAC80211_RC_MINSTREL is not set
255−CONFIG_WIMAX=m
256−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
257−CONFIG_MTD=y
258−CONFIG_MTD_CONCAT=y
259−CONFIG_MTD_PARTITIONS=y
260−CONFIG_MTD_CHAR=y
261−CONFIG_MTD_BLOCK=y
262−CONFIG_MTD_NAND=y
263−CONFIG_MTD_NAND_OMAP2=y
264−CONFIG_MTD_NAND_PLATFORM=y
265−CONFIG_MTD_UBI=y
266−CONFIG_BLK_DEV_LOOP=y
267−CONFIG_BLK_DEV_CRYPTOLOOP=m
268−CONFIG_BLK_DEV_RAM=y
269−CONFIG_BLK_DEV_RAM_SIZE=16384
270−CONFIG_CDROM_PKTCDVD=m
271−CONFIG_EEPROM_93CX6=y
272−CONFIG_RAID_ATTRS=m
273−CONFIG_SCSI=y
274−CONFIG_BLK_DEV_SD=y
275−CONFIG_BLK_DEV_SR=y
276−CONFIG_BLK_DEV_SR_VENDOR=y
277−CONFIG_CHR_DEV_SG=y
278−CONFIG_CHR_DEV_SCH=m
279−CONFIG_SCSI_MULTI_LUN=y
280−CONFIG_ISCSI_TCP=m
281−CONFIG_MD=y
282−CONFIG_BLK_DEV_MD=m
283−CONFIG_MD_LINEAR=m
284−CONFIG_MD_RAID0=m
285−CONFIG_MD_RAID1=m
286−CONFIG_MD_RAID10=m
287−CONFIG_MD_RAID456=m
288−CONFIG_MD_MULTIPATH=m
289−CONFIG_MD_FAULTY=m
290−CONFIG_BLK_DEV_DM=m
291−CONFIG_DM_CRYPT=m
292−CONFIG_DM_SNAPSHOT=m
293−CONFIG_DM_MIRROR=m
294−CONFIG_DM_ZERO=m
295−CONFIG_DM_MULTIPATH=m
296−CONFIG_DM_DELAY=m
297−CONFIG_NETDEVICES=y
298−CONFIG_DUMMY=m
299−CONFIG_BONDING=m
300−CONFIG_MACVLAN=m
301−CONFIG_EQUALIZER=m
302−CONFIG_TUN=m
303−CONFIG_VETH=m
304−# CONFIG_NETDEV_1000 is not set
305−# CONFIG_NETDEV_10000 is not set
306−# CONFIG_ATM_DRIVERS is not set
307−CONFIG_PPP=m
308−CONFIG_PPP_MULTILINK=y
309−CONFIG_PPP_FILTER=y
310−CONFIG_PPP_ASYNC=m
311−CONFIG_PPP_SYNC_TTY=m
312−CONFIG_PPP_DEFLATE=m
313−CONFIG_PPP_BSDCOMP=m
314−CONFIG_PPP_MPPE=m
315−CONFIG_PPPOE=m
316−CONFIG_NETCONSOLE=m
317−CONFIG_NETCONSOLE_DYNAMIC=y
318−CONFIG_NETPOLL_TRAP=y
319−CONFIG_INPUT_FF_MEMLESS=y
320−CONFIG_INPUT_EVDEV=y
321−# CONFIG_KEYBOARD_ATKBD is not set
322−CONFIG_KEYBOARD_GPIO=y
323−CONFIG_INPUT_TOUCHSCREEN=y
324−CONFIG_TOUCHSCREEN_ADS7846=y
325−CONFIG_INPUT_MISC=y
326−CONFIG_INPUT_TWL4030_PWRBUTTON=y
327−CONFIG_INPUT_UINPUT=y
328−CONFIG_VT_HW_CONSOLE_BINDING=y
329−CONFIG_SERIAL_8250=y
330−CONFIG_SERIAL_8250_CONSOLE=y
331−CONFIG_SERIAL_8250_NR_UARTS=32
332−CONFIG_SERIAL_8250_EXTENDED=y
333−CONFIG_SERIAL_8250_MANY_PORTS=y
334−CONFIG_SERIAL_8250_SHARE_IRQ=y
335−CONFIG_SERIAL_8250_DETECT_IRQ=y
336−CONFIG_SERIAL_8250_RSA=y
337−# CONFIG_LEGACY_PTYS is not set
338−CONFIG_HW_RANDOM=y
339−CONFIG_I2C=y
340−CONFIG_I2C_CHARDEV=y
341−CONFIG_I2C_OMAP=y
342−CONFIG_SPI=y
343−CONFIG_SPI_OMAP24XX=y
344−CONFIG_SPI_SPIDEV=y
345−CONFIG_GPIO_SYSFS=y
346−CONFIG_GPIO_TWL4030=y
347−CONFIG_POWER_SUPPLY=y
348−CONFIG_BATTERY_BQ27x00=y
349−CONFIG_THERMAL=y
350−CONFIG_THERMAL_HWMON=y
351−CONFIG_WATCHDOG=y
352−CONFIG_WATCHDOG_NOWAYOUT=y
353−CONFIG_OMAP_WATCHDOG=y
354−CONFIG_TWL4030_CORE=y
355−CONFIG_REGULATOR=y
356−CONFIG_REGULATOR_TWL4030=y
357−CONFIG_FB=y
358−CONFIG_DISPLAY_SUPPORT=y
359−# CONFIG_VGA_CONSOLE is not set
360−CONFIG_FRAMEBUFFER_CONSOLE=y
361−CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
362−CONFIG_LOGO=y
363−CONFIG_SOUND=y
364−CONFIG_SND=y
365−CONFIG_SND_SEQUENCER=m
366−CONFIG_SND_MIXER_OSS=y
367−CONFIG_SND_PCM_OSS=y
368−CONFIG_SND_SEQUENCER_OSS=y
369−CONFIG_SND_HRTIMER=m
370−# CONFIG_SND_ARM is not set
371−CONFIG_SND_USB_AUDIO=y
372−CONFIG_SND_USB_CAIAQ=m
373−CONFIG_SND_USB_CAIAQ_INPUT=y
374−CONFIG_SND_SOC=y
375−CONFIG_SND_OMAP_SOC=y
376−CONFIG_USB=y
377−CONFIG_USB_DEVICEFS=y
378−CONFIG_USB_SUSPEND=y
379−# CONFIG_USB_OTG_WHITELIST is not set
380−CONFIG_USB_MON=y
381−CONFIG_USB_OXU210HP_HCD=y
382−CONFIG_USB_MUSB_HDRC=y
383−CONFIG_USB_MUSB_OTG=y
384−CONFIG_USB_GADGET_MUSB_HDRC=y
385−CONFIG_USB_ACM=m
386−CONFIG_USB_PRINTER=m
387−CONFIG_USB_WDM=m
388−CONFIG_USB_TMC=m
389−CONFIG_USB_STORAGE=y
390−CONFIG_USB_SERIAL=m
391−CONFIG_USB_SERIAL_GENERIC=y
392−CONFIG_USB_SERIAL_AIRCABLE=m
393−CONFIG_USB_SERIAL_ARK3116=m
394−CONFIG_USB_SERIAL_BELKIN=m
395−CONFIG_USB_SERIAL_CH341=m
396−CONFIG_USB_SERIAL_WHITEHEAT=m
397−CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
398−CONFIG_USB_SERIAL_CYPRESS_M8=m
399−CONFIG_USB_SERIAL_EMPEG=m
400−CONFIG_USB_SERIAL_FTDI_SIO=m
401−CONFIG_USB_SERIAL_FUNSOFT=m
402−CONFIG_USB_SERIAL_VISOR=m
403−CONFIG_USB_SERIAL_IPAQ=m
404−CONFIG_USB_SERIAL_IR=m
405−CONFIG_USB_SERIAL_EDGEPORT=m
406−CONFIG_USB_SERIAL_EDGEPORT_TI=m
407−CONFIG_USB_SERIAL_GARMIN=m
408−CONFIG_USB_SERIAL_IPW=m
409−CONFIG_USB_SERIAL_IUU=m
410−CONFIG_USB_SERIAL_KEYSPAN_PDA=m
411−CONFIG_USB_SERIAL_KEYSPAN=m
412−CONFIG_USB_SERIAL_KEYSPAN_MPR=y
413−CONFIG_USB_SERIAL_KEYSPAN_USA28=y
414−CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
415−CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
416−CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
417−CONFIG_USB_SERIAL_KEYSPAN_USA19=y
418−CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
419−CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
420−CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
421−CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
422−CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
423−CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
424−CONFIG_USB_SERIAL_KLSI=m
425−CONFIG_USB_SERIAL_KOBIL_SCT=m
426−CONFIG_USB_SERIAL_MCT_U232=m
427−CONFIG_USB_SERIAL_MOS7720=m
428−CONFIG_USB_SERIAL_MOS7840=m
429−CONFIG_USB_SERIAL_MOTOROLA=m
430−CONFIG_USB_SERIAL_NAVMAN=m
431−CONFIG_USB_SERIAL_PL2303=m
432−CONFIG_USB_SERIAL_OTI6858=m
433−CONFIG_USB_SERIAL_SPCP8X5=m
434−CONFIG_USB_SERIAL_HP4X=m
435−CONFIG_USB_SERIAL_SAFE=m
436−CONFIG_USB_SERIAL_SIEMENS_MPI=m
437−CONFIG_USB_SERIAL_SIERRAWIRELESS=m
438−CONFIG_USB_SERIAL_TI=m
439−CONFIG_USB_SERIAL_CYBERJACK=m
440−CONFIG_USB_SERIAL_XIRCOM=m
441−CONFIG_USB_SERIAL_OPTION=m
442−CONFIG_USB_SERIAL_OMNINET=m
443−CONFIG_USB_SERIAL_OPTICON=m
444−CONFIG_USB_SERIAL_DEBUG=m
445−CONFIG_USB_EMI62=m
446−CONFIG_USB_EMI26=m
447−CONFIG_USB_SISUSBVGA=m
448−CONFIG_USB_SISUSBVGA_CON=y
449−CONFIG_USB_TEST=m
450−CONFIG_USB_GADGET=m
451−CONFIG_USB_GADGET_DEBUG_FS=y
452−CONFIG_USB_ZERO=m
453−CONFIG_USB_ZERO_HNPTEST=y
454−CONFIG_USB_ETH=m
455−CONFIG_USB_GADGETFS=m
456−CONFIG_USB_FILE_STORAGE=m
457−CONFIG_USB_G_SERIAL=m
458−CONFIG_USB_MIDI_GADGET=m
459−CONFIG_USB_G_PRINTER=m
460−CONFIG_USB_CDC_COMPOSITE=m
461−CONFIG_USB_GPIO_VBUS=y
462−CONFIG_TWL4030_USB=y
463−CONFIG_MMC=y
464−CONFIG_MMC_UNSAFE_RESUME=y
465−CONFIG_SDIO_UART=y
466−CONFIG_MMC_OMAP_HS=y
467−CONFIG_MMC_SPI=m
468−CONFIG_NEW_LEDS=y
469−CONFIG_LEDS_CLASS=y
470−CONFIG_LEDS_GPIO=y
471−CONFIG_LEDS_TRIGGERS=y
472−CONFIG_LEDS_TRIGGER_TIMER=m
473−CONFIG_LEDS_TRIGGER_HEARTBEAT=y
474−CONFIG_LEDS_TRIGGER_BACKLIGHT=m
475−CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
476−CONFIG_RTC_CLASS=y
477−CONFIG_RTC_DRV_TWL4030=y
478−CONFIG_UIO=m
479−CONFIG_UIO_PDRV=m
480−CONFIG_UIO_PDRV_GENIRQ=m
481−CONFIG_STAGING=y
482−# CONFIG_STAGING_EXCLUDE_BUILD is not set
483−CONFIG_EXT2_FS=y
484−CONFIG_EXT3_FS=y
485−# CONFIG_EXT3_FS_XATTR is not set
486−CONFIG_EXT4_FS=m
487−CONFIG_REISERFS_FS=m
488−CONFIG_REISERFS_PROC_INFO=y
489−CONFIG_REISERFS_FS_XATTR=y
490−CONFIG_JFS_FS=m
491−CONFIG_XFS_FS=m
492−CONFIG_INOTIFY=y
493−CONFIG_QUOTA=y
494−CONFIG_QFMT_V2=y
495−CONFIG_AUTOFS4_FS=m
496−CONFIG_FUSE_FS=y
497−CONFIG_ISO9660_FS=m
498−CONFIG_JOLIET=y
499−CONFIG_ZISOFS=y
500−CONFIG_UDF_FS=m
501−CONFIG_MSDOS_FS=y
502−CONFIG_VFAT_FS=y
503−CONFIG_NTFS_FS=m
504−CONFIG_NTFS_RW=y
505−CONFIG_TMPFS=y
506−CONFIG_JFFS2_FS=y
507−CONFIG_JFFS2_SUMMARY=y
508−CONFIG_JFFS2_FS_XATTR=y
509−CONFIG_JFFS2_COMPRESSION_OPTIONS=y
510−CONFIG_JFFS2_LZO=y
511−CONFIG_JFFS2_RUBIN=y
512−CONFIG_JFFS2_CMODE_FAVOURLZO=y
513−CONFIG_UBIFS_FS=y
514−CONFIG_UBIFS_FS_XATTR=y
515−CONFIG_UBIFS_FS_ADVANCED_COMPR=y
516−CONFIG_SQUASHFS=y
517−CONFIG_NFS_FS=y
518−CONFIG_NFS_V3=y
519−CONFIG_NFS_V4=y
520−CONFIG_ROOT_NFS=y
521−CONFIG_NFSD=m
522−CONFIG_NFSD_V3_ACL=y
523−CONFIG_NFSD_V4=y
524−CONFIG_CIFS=m
525−CONFIG_CIFS_STATS=y
526−CONFIG_CIFS_STATS2=y
527−CONFIG_CIFS_EXPERIMENTAL=y
528−CONFIG_PARTITION_ADVANCED=y
529−CONFIG_BSD_DISKLABEL=y
530−CONFIG_MINIX_SUBPARTITION=y
531−CONFIG_SOLARIS_X86_PARTITION=y
532−CONFIG_UNIXWARE_DISKLABEL=y
533−CONFIG_EFI_PARTITION=y
534−CONFIG_NLS_CODEPAGE_437=y
535−CONFIG_NLS_CODEPAGE_737=m
536−CONFIG_NLS_CODEPAGE_775=m
537−CONFIG_NLS_CODEPAGE_850=m
538−CONFIG_NLS_CODEPAGE_852=m
539−CONFIG_NLS_CODEPAGE_855=m
540−CONFIG_NLS_CODEPAGE_857=m
541−CONFIG_NLS_CODEPAGE_860=m
542−CONFIG_NLS_CODEPAGE_861=m
543−CONFIG_NLS_CODEPAGE_862=m
544−CONFIG_NLS_CODEPAGE_863=m
545−CONFIG_NLS_CODEPAGE_864=m
546−CONFIG_NLS_CODEPAGE_865=m
547−CONFIG_NLS_CODEPAGE_866=m
548−CONFIG_NLS_CODEPAGE_869=m
549−CONFIG_NLS_CODEPAGE_936=m
550−CONFIG_NLS_CODEPAGE_950=m
551−CONFIG_NLS_CODEPAGE_932=m
552−CONFIG_NLS_CODEPAGE_949=m
553−CONFIG_NLS_CODEPAGE_874=m
554−CONFIG_NLS_ISO8859_8=m
555−CONFIG_NLS_CODEPAGE_1250=m
556−CONFIG_NLS_CODEPAGE_1251=m
557−CONFIG_NLS_ASCII=m
558−CONFIG_NLS_ISO8859_1=m
559−CONFIG_NLS_ISO8859_2=m
560−CONFIG_NLS_ISO8859_3=m
561−CONFIG_NLS_ISO8859_4=m
562−CONFIG_NLS_ISO8859_5=m
563−CONFIG_NLS_ISO8859_6=m
564−CONFIG_NLS_ISO8859_7=m
565−CONFIG_NLS_ISO8859_9=m
566−CONFIG_NLS_ISO8859_13=m
567−CONFIG_NLS_ISO8859_14=m
568−CONFIG_NLS_ISO8859_15=m
569−CONFIG_NLS_KOI8_R=m
570−CONFIG_NLS_KOI8_U=m
571−CONFIG_NLS_UTF8=y
572−CONFIG_PRINTK_TIME=y
573−CONFIG_MAGIC_SYSRQ=y
574−CONFIG_DEBUG_FS=y
575−CONFIG_DEBUG_KERNEL=y
576−CONFIG_SCHEDSTATS=y
577−CONFIG_TIMER_STATS=y
578−CONFIG_DEBUG_MUTEXES=y
579−# CONFIG_DEBUG_BUGVERBOSE is not set
580−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
581−CONFIG_CRYPTO_FIPS=y
582−CONFIG_CRYPTO_NULL=m
583−CONFIG_CRYPTO_CRYPTD=m
584−CONFIG_CRYPTO_TEST=m
585−CONFIG_CRYPTO_CCM=m
586−CONFIG_CRYPTO_GCM=m
587−CONFIG_CRYPTO_CTS=m
588−CONFIG_CRYPTO_ECB=y
589−CONFIG_CRYPTO_LRW=m
590−CONFIG_CRYPTO_PCBC=m
591−CONFIG_CRYPTO_XTS=m
592−CONFIG_CRYPTO_XCBC=m
593−CONFIG_CRYPTO_MD4=m
594−CONFIG_CRYPTO_MICHAEL_MIC=y
595−CONFIG_CRYPTO_RMD128=m
596−CONFIG_CRYPTO_RMD160=m
597−CONFIG_CRYPTO_RMD256=m
598−CONFIG_CRYPTO_RMD320=m
599−CONFIG_CRYPTO_SHA256=m
600−CONFIG_CRYPTO_SHA512=m
601−CONFIG_CRYPTO_TGR192=m
602−CONFIG_CRYPTO_WP512=m
603−CONFIG_CRYPTO_AES=y
604−CONFIG_CRYPTO_ANUBIS=m
605−CONFIG_CRYPTO_ARC4=y
606−CONFIG_CRYPTO_BLOWFISH=m
607−CONFIG_CRYPTO_CAMELLIA=m
608−CONFIG_CRYPTO_CAST5=m
609−CONFIG_CRYPTO_CAST6=m
610−CONFIG_CRYPTO_FCRYPT=m
611−CONFIG_CRYPTO_KHAZAD=m
612−CONFIG_CRYPTO_SALSA20=m
613−CONFIG_CRYPTO_SEED=m
614−CONFIG_CRYPTO_SERPENT=m
615−CONFIG_CRYPTO_TEA=m
616−CONFIG_CRYPTO_TWOFISH=m
617−CONFIG_CRC_CCITT=y
618−CONFIG_CRC_T10DIF=y
619−CONFIG_CRC_ITU_T=y
620−CONFIG_CRC7=y
621−CONFIG_LIBCRC32C=y
arch/arm/configs/omap_2430sdp_defconfig+0−136
@@ -1,136 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_LOG_BUF_SHIFT=14
5−CONFIG_BLK_DEV_INITRD=y
6−CONFIG_EMBEDDED=y
7−# CONFIG_SYSCTL_SYSCALL is not set
8−CONFIG_KALLSYMS_EXTRA_PASS=y
9−CONFIG_SLAB=y
10−CONFIG_MODULES=y
11−CONFIG_MODULE_UNLOAD=y
12−CONFIG_MODVERSIONS=y
13−CONFIG_MODULE_SRCVERSION_ALL=y
14−# CONFIG_BLK_DEV_BSG is not set
15−CONFIG_ARCH_OMAP=y
16−CONFIG_ARCH_OMAP2=y
17−# CONFIG_OMAP_MUX_WARNINGS is not set
18−CONFIG_OMAP_DM_TIMER=y
19−CONFIG_ARCH_OMAP2430=y
20−CONFIG_MACH_OMAP_2430SDP=y
21−CONFIG_PREEMPT=y
22−CONFIG_AEABI=y
23−CONFIG_ZBOOT_ROM_TEXT=0x0
24−CONFIG_ZBOOT_ROM_BSS=0x0
25−CONFIG_CMDLINE="root=/dev/ram0 rw console=ttyS0,115200n8 initrd=0x80600000,8M ramdisk_size=8192"
26−CONFIG_FPE_NWFPE=y
27−CONFIG_BINFMT_MISC=y
28−CONFIG_PM=y
29−CONFIG_NET=y
30−CONFIG_PACKET=y
31−CONFIG_UNIX=y
32−CONFIG_NET_KEY=y
33−CONFIG_INET=y
34−CONFIG_IP_PNP=y
35−CONFIG_IP_PNP_DHCP=y
36−# CONFIG_IPV6 is not set
37−# CONFIG_FW_LOADER is not set
38−CONFIG_MTD=y
39−CONFIG_MTD_CONCAT=y
40−CONFIG_MTD_CMDLINE_PARTS=y
41−CONFIG_MTD_CHAR=y
42−CONFIG_MTD_BLOCK=y
43−CONFIG_MTD_CFI=y
44−CONFIG_MTD_CFI_INTELEXT=y
45−CONFIG_MTD_ONENAND=y
46−CONFIG_MTD_ONENAND_VERIFY_WRITE=y
47−CONFIG_MTD_ONENAND_OMAP2=y
48−CONFIG_BLK_DEV_LOOP=y
49−CONFIG_BLK_DEV_RAM=y
50−CONFIG_BLK_DEV_RAM_SIZE=16384
51−CONFIG_SCSI=m
52−CONFIG_BLK_DEV_SD=m
53−CONFIG_CHR_DEV_SG=m
54−CONFIG_NETDEVICES=y
55−CONFIG_NET_ETHERNET=y
56−CONFIG_SMC91X=y
57−# CONFIG_INPUT_MOUSEDEV is not set
58−CONFIG_INPUT_EVDEV=y
59−# CONFIG_KEYBOARD_ATKBD is not set
60−CONFIG_KEYBOARD_TWL4030=y
61−# CONFIG_INPUT_MOUSE is not set
62−CONFIG_INPUT_TOUCHSCREEN=y
63−CONFIG_TOUCHSCREEN_ADS7846=y
64−# CONFIG_SERIO is not set
65−CONFIG_SERIAL_8250=y
66−CONFIG_SERIAL_8250_CONSOLE=y
67−CONFIG_SERIAL_8250_NR_UARTS=32
68−CONFIG_SERIAL_8250_EXTENDED=y
69−CONFIG_SERIAL_8250_MANY_PORTS=y
70−CONFIG_SERIAL_8250_SHARE_IRQ=y
71−CONFIG_SERIAL_8250_DETECT_IRQ=y
72−CONFIG_SERIAL_8250_RSA=y
73−# CONFIG_LEGACY_PTYS is not set
74−CONFIG_HW_RANDOM=y
75−CONFIG_I2C=y
76−CONFIG_I2C_CHARDEV=y
77−CONFIG_I2C_OMAP=y
78−CONFIG_SPI=y
79−# CONFIG_HWMON is not set
80−CONFIG_WATCHDOG=y
81−CONFIG_WATCHDOG_NOWAYOUT=y
82−CONFIG_OMAP_WATCHDOG=y
83−CONFIG_TWL4030_CORE=y
84−CONFIG_VIDEO_OUTPUT_CONTROL=m
85−CONFIG_FB=y
86−CONFIG_FIRMWARE_EDID=y
87−CONFIG_FB_OMAP=y
88−# CONFIG_VGA_CONSOLE is not set
89−CONFIG_FRAMEBUFFER_CONSOLE=y
90−CONFIG_LOGO=y
91−# CONFIG_LOGO_LINUX_MONO is not set
92−# CONFIG_LOGO_LINUX_VGA16 is not set
93−CONFIG_USB=m
94−# CONFIG_USB_DEVICE_CLASS is not set
95−CONFIG_USB_MON=m
96−CONFIG_USB_MUSB_HDRC=m
97−CONFIG_USB_MUSB_OTG=y
98−CONFIG_USB_GADGET_MUSB_HDRC=y
99−CONFIG_USB_STORAGE=m
100−CONFIG_USB_GADGET=m
101−CONFIG_USB_GADGET_DEBUG_FILES=y
102−CONFIG_USB_ZERO=m
103−CONFIG_USB_ETH=m
104−CONFIG_USB_GADGETFS=m
105−CONFIG_USB_FILE_STORAGE=m
106−CONFIG_USB_G_SERIAL=m
107−CONFIG_MMC=y
108−CONFIG_MMC_OMAP_HS=y
109−CONFIG_EXT2_FS=y
110−CONFIG_EXT3_FS=y
111−# CONFIG_EXT3_FS_XATTR is not set
112−CONFIG_INOTIFY=y
113−CONFIG_QUOTA=y
114−CONFIG_QFMT_V2=y
115−CONFIG_MSDOS_FS=y
116−CONFIG_VFAT_FS=y
117−CONFIG_TMPFS=y
118−CONFIG_JFFS2_FS=y
119−CONFIG_JFFS2_COMPRESSION_OPTIONS=y
120−CONFIG_NFS_FS=y
121−CONFIG_NFS_V3=y
122−CONFIG_ROOT_NFS=y
123−CONFIG_PARTITION_ADVANCED=y
124−CONFIG_NLS_CODEPAGE_437=y
125−CONFIG_MAGIC_SYSRQ=y
126−CONFIG_DEBUG_KERNEL=y
127−CONFIG_TIMER_STATS=y
128−CONFIG_DEBUG_MUTEXES=y
129−# CONFIG_DEBUG_BUGVERBOSE is not set
130−CONFIG_CRYPTO_CBC=y
131−CONFIG_CRYPTO_ECB=m
132−CONFIG_CRYPTO_PCBC=m
133−CONFIG_CRYPTO_MD5=y
134−CONFIG_CRYPTO_DES=y
135−CONFIG_CRC_CCITT=y
136−CONFIG_LIBCRC32C=y
arch/arm/configs/omap_3430sdp_defconfig+0−178
@@ -1,178 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_IKCONFIG=y
5−CONFIG_IKCONFIG_PROC=y
6−CONFIG_LOG_BUF_SHIFT=14
7−CONFIG_BLK_DEV_INITRD=y
8−CONFIG_EMBEDDED=y
9−# CONFIG_SYSCTL_SYSCALL is not set
10−CONFIG_SLAB=y
11−CONFIG_MODULES=y
12−CONFIG_MODULE_UNLOAD=y
13−CONFIG_MODVERSIONS=y
14−CONFIG_MODULE_SRCVERSION_ALL=y
15−# CONFIG_BLK_DEV_BSG is not set
16−CONFIG_ARCH_OMAP=y
17−CONFIG_ARCH_OMAP3=y
18−CONFIG_OMAP_RESET_CLOCKS=y
19−CONFIG_OMAP_MUX_DEBUG=y
20−CONFIG_OMAP_32K_TIMER=y
21−CONFIG_OMAP_DM_TIMER=y
22−CONFIG_ARCH_OMAP3430=y
23−CONFIG_MACH_OMAP_3430SDP=y
24−CONFIG_NO_HZ=y
25−CONFIG_HIGH_RES_TIMERS=y
26−CONFIG_AEABI=y
27−CONFIG_ZBOOT_ROM_TEXT=0x0
28−CONFIG_ZBOOT_ROM_BSS=0x0
29−CONFIG_CMDLINE="console=ttyS2,115200 root=/dev/mmcblk0p3 rootwait debug"
30−CONFIG_CPU_FREQ=y
31−CONFIG_CPU_FREQ_STAT_DETAILS=y
32−CONFIG_CPU_FREQ_GOV_USERSPACE=y
33−CONFIG_CPU_FREQ_GOV_ONDEMAND=y
34−CONFIG_FPE_NWFPE=y
35−CONFIG_VFP=y
36−CONFIG_NEON=y
37−CONFIG_BINFMT_MISC=y
38−CONFIG_PM=y
39−CONFIG_PM_RUNTIME=y
40−CONFIG_NET=y
41−CONFIG_PACKET=y
42−CONFIG_UNIX=y
43−CONFIG_NET_KEY=y
44−CONFIG_INET=y
45−CONFIG_IP_PNP=y
46−CONFIG_IP_PNP_DHCP=y
47−CONFIG_IP_PNP_BOOTP=y
48−CONFIG_IP_PNP_RARP=y
49−# CONFIG_INET_LRO is not set
50−# CONFIG_IPV6 is not set
51−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
52−# CONFIG_FW_LOADER is not set
53−CONFIG_MTD=y
54−CONFIG_MTD_CONCAT=y
55−CONFIG_MTD_PARTITIONS=y
56−CONFIG_MTD_CMDLINE_PARTS=y
57−CONFIG_MTD_CHAR=y
58−CONFIG_MTD_BLOCK=y
59−CONFIG_MTD_CFI=y
60−CONFIG_MTD_CFI_INTELEXT=y
61−CONFIG_MTD_NAND=y
62−CONFIG_BLK_DEV_LOOP=y
63−CONFIG_BLK_DEV_RAM=y
64−CONFIG_BLK_DEV_RAM_SIZE=16384
65−CONFIG_SCSI=y
66−CONFIG_BLK_DEV_SD=y
67−CONFIG_SCSI_MULTI_LUN=y
68−CONFIG_NETDEVICES=y
69−CONFIG_PHYLIB=y
70−CONFIG_NET_ETHERNET=y
71−CONFIG_SMC91X=y
72−# CONFIG_INPUT_MOUSEDEV is not set
73−CONFIG_INPUT_EVDEV=y
74−# CONFIG_KEYBOARD_ATKBD is not set
75−# CONFIG_INPUT_MOUSE is not set
76−CONFIG_INPUT_TOUCHSCREEN=y
77−CONFIG_TOUCHSCREEN_ADS7846=y
78−# CONFIG_SERIO is not set
79−# CONFIG_CONSOLE_TRANSLATIONS is not set
80−CONFIG_SERIAL_8250=y
81−CONFIG_SERIAL_8250_CONSOLE=y
82−CONFIG_SERIAL_8250_NR_UARTS=32
83−CONFIG_SERIAL_8250_EXTENDED=y
84−CONFIG_SERIAL_8250_MANY_PORTS=y
85−CONFIG_SERIAL_8250_SHARE_IRQ=y
86−CONFIG_SERIAL_8250_DETECT_IRQ=y
87−CONFIG_SERIAL_8250_RSA=y
88−# CONFIG_LEGACY_PTYS is not set
89−CONFIG_HW_RANDOM=y
90−CONFIG_I2C=y
91−CONFIG_I2C_CHARDEV=y
92−CONFIG_I2C_OMAP=y
93−CONFIG_SPI=y
94−CONFIG_SPI_OMAP24XX=y
95−CONFIG_GPIO_SYSFS=y
96−CONFIG_GPIO_TWL4030=y
97−# CONFIG_HWMON is not set
98−CONFIG_WATCHDOG=y
99−CONFIG_WATCHDOG_NOWAYOUT=y
100−CONFIG_OMAP_WATCHDOG=y
101−CONFIG_TWL4030_WATCHDOG=y
102−CONFIG_TWL4030_CORE=y
103−CONFIG_REGULATOR=y
104−CONFIG_REGULATOR_TWL4030=y
105−CONFIG_FB=y
106−CONFIG_OMAP2_DSS=y
107−CONFIG_OMAP2_VRAM_SIZE=4
108−CONFIG_FB_OMAP2=y
109−CONFIG_PANEL_GENERIC=y
110−CONFIG_PANEL_SHARP_LS037V7DW01=y
111−CONFIG_DISPLAY_SUPPORT=y
112−# CONFIG_VGA_CONSOLE is not set
113−CONFIG_FRAMEBUFFER_CONSOLE=y
114−CONFIG_LOGO=y
115−CONFIG_USB=y
116−CONFIG_USB_DEBUG=y
117−CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
118−# CONFIG_USB_DEVICE_CLASS is not set
119−CONFIG_USB_SUSPEND=y
120−# CONFIG_USB_OTG_WHITELIST is not set
121−CONFIG_USB_MON=y
122−CONFIG_USB_EHCI_HCD=m
123−CONFIG_USB_MUSB_HDRC=y
124−CONFIG_USB_MUSB_OTG=y
125−CONFIG_USB_GADGET_MUSB_HDRC=y
126−CONFIG_USB_STORAGE=y
127−CONFIG_USB_TEST=y
128−CONFIG_USB_GADGET=y
129−CONFIG_USB_ETH=m
130−CONFIG_USB_GADGETFS=m
131−CONFIG_USB_FILE_STORAGE=m
132−CONFIG_USB_G_SERIAL=m
133−CONFIG_USB_CDC_COMPOSITE=m
134−CONFIG_MMC=y
135−CONFIG_MMC_UNSAFE_RESUME=y
136−CONFIG_SDIO_UART=y
137−CONFIG_MMC_OMAP_HS=y
138−CONFIG_NEW_LEDS=y
139−CONFIG_LEDS_CLASS=y
140−CONFIG_LEDS_GPIO=y
141−CONFIG_LEDS_TRIGGERS=y
142−CONFIG_LEDS_TRIGGER_TIMER=y
143−CONFIG_LEDS_TRIGGER_HEARTBEAT=y
144−CONFIG_RTC_CLASS=y
145−CONFIG_RTC_DRV_TWL4030=y
146−CONFIG_EXT2_FS=y
147−CONFIG_EXT3_FS=y
148−# CONFIG_EXT3_FS_XATTR is not set
149−CONFIG_INOTIFY=y
150−CONFIG_QUOTA=y
151−CONFIG_QFMT_V2=y
152−CONFIG_MSDOS_FS=y
153−CONFIG_VFAT_FS=y
154−CONFIG_TMPFS=y
155−CONFIG_JFFS2_FS=y
156−CONFIG_JFFS2_COMPRESSION_OPTIONS=y
157−CONFIG_NFS_FS=y
158−CONFIG_NFS_V3=y
159−CONFIG_NFS_V4=y
160−CONFIG_ROOT_NFS=y
161−CONFIG_PARTITION_ADVANCED=y
162−CONFIG_NLS_CODEPAGE_437=y
163−CONFIG_NLS_ISO8859_1=y
164−CONFIG_MAGIC_SYSRQ=y
165−CONFIG_DEBUG_FS=y
166−CONFIG_DEBUG_KERNEL=y
167−CONFIG_DEBUG_MUTEXES=y
168−# CONFIG_DEBUG_BUGVERBOSE is not set
169−CONFIG_DEBUG_INFO=y
170−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
171−# CONFIG_FTRACE is not set
172−# CONFIG_ARM_UNWIND is not set
173−CONFIG_DEBUG_LL=y
174−CONFIG_CRYPTO_ECB=m
175−CONFIG_CRYPTO_PCBC=m
176−# CONFIG_CRYPTO_ANSI_CPRNG is not set
177−CONFIG_CRC_CCITT=y
178−CONFIG_LIBCRC32C=y
arch/arm/configs/omap_3630sdp_defconfig+0−154
@@ -1,154 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_LOG_BUF_SHIFT=14
5−CONFIG_BLK_DEV_INITRD=y
6−CONFIG_EMBEDDED=y
7−# CONFIG_SYSCTL_SYSCALL is not set
8−CONFIG_KALLSYMS_EXTRA_PASS=y
9−CONFIG_SLAB=y
10−CONFIG_MODULES=y
11−CONFIG_MODULE_UNLOAD=y
12−CONFIG_MODVERSIONS=y
13−CONFIG_MODULE_SRCVERSION_ALL=y
14−# CONFIG_BLK_DEV_BSG is not set
15−CONFIG_ARCH_OMAP=y
16−CONFIG_ARCH_OMAP3=y
17−CONFIG_OMAP_MUX_DEBUG=y
18−CONFIG_OMAP_32K_TIMER=y
19−CONFIG_OMAP_DM_TIMER=y
20−CONFIG_ARCH_OMAP3430=y
21−CONFIG_MACH_OMAP_3630SDP=y
22−CONFIG_NO_HZ=y
23−CONFIG_HIGH_RES_TIMERS=y
24−CONFIG_AEABI=y
25−CONFIG_ZBOOT_ROM_TEXT=0x0
26−CONFIG_ZBOOT_ROM_BSS=0x0
27−CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:tgt:eth0:off rw console=ttyS2,115200n8"
28−CONFIG_FPE_NWFPE=y
29−CONFIG_VFP=y
30−CONFIG_BINFMT_MISC=y
31−CONFIG_PM=y
32−CONFIG_PM_DEBUG=y
33−CONFIG_PM_VERBOSE=y
34−CONFIG_PM_RUNTIME=y
35−CONFIG_NET=y
36−CONFIG_PACKET=y
37−CONFIG_UNIX=y
38−CONFIG_XFRM_USER=y
39−CONFIG_NET_KEY=y
40−CONFIG_NET_KEY_MIGRATE=y
41−CONFIG_INET=y
42−CONFIG_IP_MULTICAST=y
43−CONFIG_IP_PNP=y
44−CONFIG_IP_PNP_DHCP=y
45−CONFIG_IP_PNP_BOOTP=y
46−CONFIG_IP_PNP_RARP=y
47−# CONFIG_INET_LRO is not set
48−# CONFIG_IPV6 is not set
49−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
50−# CONFIG_FW_LOADER is not set
51−CONFIG_CONNECTOR=y
52−CONFIG_BLK_DEV_LOOP=y
53−CONFIG_BLK_DEV_RAM=y
54−CONFIG_BLK_DEV_RAM_SIZE=16384
55−CONFIG_SCSI=y
56−CONFIG_BLK_DEV_SD=y
57−CONFIG_NETDEVICES=y
58−CONFIG_PHYLIB=y
59−CONFIG_SMSC_PHY=y
60−CONFIG_NET_ETHERNET=y
61−CONFIG_SMC91X=y
62−# CONFIG_INPUT_MOUSEDEV is not set
63−CONFIG_INPUT_EVDEV=y
64−# CONFIG_INPUT_KEYBOARD is not set
65−# CONFIG_INPUT_MOUSE is not set
66−CONFIG_INPUT_TOUCHSCREEN=y
67−CONFIG_TOUCHSCREEN_ADS7846=y
68−# CONFIG_SERIO is not set
69−CONFIG_SERIAL_8250=y
70−CONFIG_SERIAL_8250_CONSOLE=y
71−CONFIG_SERIAL_8250_NR_UARTS=32
72−CONFIG_SERIAL_8250_EXTENDED=y
73−CONFIG_SERIAL_8250_MANY_PORTS=y
74−CONFIG_SERIAL_8250_SHARE_IRQ=y
75−CONFIG_SERIAL_8250_DETECT_IRQ=y
76−CONFIG_SERIAL_8250_RSA=y
77−# CONFIG_LEGACY_PTYS is not set
78−CONFIG_HW_RANDOM=y
79−CONFIG_I2C=y
80−CONFIG_I2C_CHARDEV=y
81−CONFIG_I2C_OMAP=y
82−CONFIG_SPI=y
83−CONFIG_SPI_OMAP24XX=y
84−CONFIG_GPIO_TWL4030=y
85−CONFIG_W1=y
86−CONFIG_POWER_SUPPLY=y
87−# CONFIG_HWMON is not set
88−CONFIG_WATCHDOG=y
89−CONFIG_WATCHDOG_NOWAYOUT=y
90−CONFIG_TWL4030_CORE=y
91−CONFIG_REGULATOR=y
92−CONFIG_REGULATOR_TWL4030=y
93−CONFIG_VIDEO_OUTPUT_CONTROL=m
94−# CONFIG_VGA_CONSOLE is not set
95−CONFIG_SOUND=y
96−CONFIG_SND=y
97−CONFIG_USB=y
98−CONFIG_USB_DEBUG=y
99−CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
100−CONFIG_USB_DEVICEFS=y
101−# CONFIG_USB_DEVICE_CLASS is not set
102−CONFIG_USB_SUSPEND=y
103−# CONFIG_USB_OTG_WHITELIST is not set
104−CONFIG_USB_MON=y
105−CONFIG_USB_MUSB_HDRC=y
106−CONFIG_USB_MUSB_OTG=y
107−CONFIG_USB_GADGET_MUSB_HDRC=y
108−CONFIG_USB_MUSB_DEBUG=y
109−CONFIG_USB_STORAGE=y
110−CONFIG_USB_TEST=m
111−CONFIG_USB_GADGET=m
112−CONFIG_USB_GADGET_DEBUG=y
113−CONFIG_USB_GADGET_DEBUG_FILES=y
114−CONFIG_USB_ZERO=m
115−CONFIG_USB_AUDIO=m
116−CONFIG_USB_ETH=m
117−CONFIG_USB_GADGETFS=m
118−CONFIG_USB_FILE_STORAGE=m
119−CONFIG_USB_G_SERIAL=m
120−CONFIG_USB_CDC_COMPOSITE=m
121−CONFIG_TWL4030_USB=y
122−CONFIG_MMC=y
123−CONFIG_MMC_OMAP_HS=y
124−CONFIG_RTC_CLASS=y
125−CONFIG_EXT2_FS=y
126−CONFIG_EXT3_FS=y
127−# CONFIG_EXT3_FS_XATTR is not set
128−CONFIG_INOTIFY=y
129−CONFIG_QUOTA=y
130−CONFIG_QFMT_V2=y
131−CONFIG_MSDOS_FS=y
132−CONFIG_VFAT_FS=y
133−CONFIG_TMPFS=y
134−CONFIG_NFS_FS=y
135−CONFIG_NFS_V3=y
136−CONFIG_NFS_V3_ACL=y
137−CONFIG_NFS_V4=y
138−CONFIG_ROOT_NFS=y
139−CONFIG_PARTITION_ADVANCED=y
140−CONFIG_NLS_CODEPAGE_437=y
141−CONFIG_NLS_ISO8859_1=y
142−CONFIG_MAGIC_SYSRQ=y
143−CONFIG_DEBUG_KERNEL=y
144−CONFIG_DEBUG_MUTEXES=y
145−# CONFIG_DEBUG_BUGVERBOSE is not set
146−CONFIG_DEBUG_INFO=y
147−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
148−CONFIG_DEBUG_LL=y
149−CONFIG_CRYPTO_ECB=m
150−CONFIG_CRYPTO_PCBC=m
151−# CONFIG_CRYPTO_ANSI_CPRNG is not set
152−CONFIG_CRC_CCITT=y
153−CONFIG_CRC_T10DIF=y
154−CONFIG_LIBCRC32C=y
arch/arm/configs/omap_apollon_2420_defconfig+0−92
@@ -1,92 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−# CONFIG_LOCALVERSION_AUTO is not set
3−CONFIG_SYSVIPC=y
4−CONFIG_BSD_PROCESS_ACCT=y
5−CONFIG_LOG_BUF_SHIFT=14
6−CONFIG_KALLSYMS_EXTRA_PASS=y
7−CONFIG_SLAB=y
8−CONFIG_MODULES=y
9−CONFIG_MODULE_UNLOAD=y
10−# CONFIG_BLK_DEV_BSG is not set
11−CONFIG_ARCH_OMAP=y
12−CONFIG_ARCH_OMAP2=y
13−# CONFIG_OMAP_MCBSP is not set
14−CONFIG_OMAP_32K_TIMER=y
15−CONFIG_ARCH_OMAP2420=y
16−CONFIG_MACH_OMAP_APOLLON=y
17−# CONFIG_ARM_THUMB is not set
18−CONFIG_PREEMPT=y
19−CONFIG_ZBOOT_ROM_TEXT=0x0
20−CONFIG_ZBOOT_ROM_BSS=0x0
21−CONFIG_CMDLINE="root=/dev/ram0 rw mem=128M console=ttyS0,115200n8 initrd=0x80600000,8M ramdisk_size=8192"
22−CONFIG_VFP=y
23−CONFIG_NET=y
24−CONFIG_PACKET=y
25−CONFIG_UNIX=y
26−CONFIG_INET=y
27−CONFIG_IP_PNP=y
28−CONFIG_IP_PNP_DHCP=y
29−CONFIG_IP_PNP_BOOTP=y
30−# CONFIG_IPV6 is not set
31−CONFIG_MTD=y
32−CONFIG_MTD_CONCAT=y
33−CONFIG_MTD_CMDLINE_PARTS=y
34−CONFIG_MTD_CHAR=y
35−CONFIG_MTD_BLOCK=y
36−CONFIG_MTD_ONENAND=y
37−CONFIG_MTD_ONENAND_GENERIC=y
38−CONFIG_BLK_DEV_LOOP=y
39−CONFIG_NETDEVICES=y
40−CONFIG_NET_ETHERNET=y
41−CONFIG_SMC91X=y
42−# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
43−# CONFIG_INPUT_KEYBOARD is not set
44−# CONFIG_INPUT_MOUSE is not set
45−# CONFIG_SERIO is not set
46−CONFIG_SERIAL_8250=y
47−CONFIG_SERIAL_8250_CONSOLE=y
48−CONFIG_SERIAL_8250_NR_UARTS=32
49−CONFIG_SERIAL_8250_EXTENDED=y
50−CONFIG_SERIAL_8250_MANY_PORTS=y
51−CONFIG_SERIAL_8250_SHARE_IRQ=y
52−CONFIG_SERIAL_8250_DETECT_IRQ=y
53−CONFIG_SERIAL_8250_RSA=y
54−# CONFIG_LEGACY_PTYS is not set
55−CONFIG_HW_RANDOM=y
56−CONFIG_SPI=y
57−CONFIG_SPI_OMAP24XX=y
58−# CONFIG_HWMON is not set
59−CONFIG_WATCHDOG=y
60−CONFIG_OMAP_WATCHDOG=y
61−CONFIG_VIDEO_OUTPUT_CONTROL=m
62−CONFIG_FB=y
63−CONFIG_FIRMWARE_EDID=y
64−CONFIG_FB_OMAP=y
65−# CONFIG_VGA_CONSOLE is not set
66−CONFIG_FRAMEBUFFER_CONSOLE=y
67−CONFIG_FONTS=y
68−CONFIG_FONT_8x8=y
69−CONFIG_FONT_8x16=y
70−CONFIG_LOGO=y
71−# CONFIG_LOGO_LINUX_MONO is not set
72−# CONFIG_LOGO_LINUX_VGA16 is not set
73−# CONFIG_HID is not set
74−CONFIG_USB_GADGET=y
75−CONFIG_USB_ETH=m
76−CONFIG_USB_FILE_STORAGE=m
77−CONFIG_MMC=y
78−CONFIG_MMC_OMAP=y
79−CONFIG_EXT2_FS=y
80−CONFIG_AUTOFS4_FS=y
81−CONFIG_TMPFS=y
82−CONFIG_JFFS2_FS=y
83−CONFIG_CRAMFS=y
84−CONFIG_NFS_FS=y
85−CONFIG_NFS_V3=y
86−CONFIG_ROOT_NFS=y
87−CONFIG_DEBUG_KERNEL=y
88−CONFIG_DEBUG_SPINLOCK=y
89−CONFIG_DEBUG_MUTEXES=y
90−CONFIG_DEBUG_SPINLOCK_SLEEP=y
91−CONFIG_CRC_CCITT=y
92−CONFIG_LIBCRC32C=y
arch/arm/configs/omap_h4_2420_defconfig+0−107
@@ -1,107 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_LOG_BUF_SHIFT=14
5−CONFIG_BLK_DEV_INITRD=y
6−CONFIG_EMBEDDED=y
7−CONFIG_KALLSYMS_EXTRA_PASS=y
8−CONFIG_SLAB=y
9−CONFIG_MODULES=y
10−CONFIG_MODULE_UNLOAD=y
11−CONFIG_MODVERSIONS=y
12−CONFIG_MODULE_SRCVERSION_ALL=y
13−# CONFIG_BLK_DEV_BSG is not set
14−CONFIG_ARCH_OMAP=y
15−CONFIG_ARCH_OMAP2=y
16−CONFIG_OMAP_MUX_DEBUG=y
17−CONFIG_ARCH_OMAP2420=y
18−CONFIG_MACH_OMAP_H4=y
19−CONFIG_AEABI=y
20−CONFIG_ZBOOT_ROM_TEXT=0x0
21−CONFIG_ZBOOT_ROM_BSS=0x0
22−CONFIG_CMDLINE="root=/dev/ram0 rw console=ttyS0,115200n8 initrd=0x80600000,8M ramdisk_size=8192"
23−CONFIG_FPE_NWFPE=y
24−CONFIG_BINFMT_MISC=y
25−CONFIG_NET=y
26−CONFIG_PACKET=y
27−CONFIG_UNIX=y
28−CONFIG_NET_KEY=y
29−CONFIG_INET=y
30−CONFIG_IP_PNP=y
31−CONFIG_IP_PNP_DHCP=y
32−# CONFIG_IPV6 is not set
33−CONFIG_IRDA=y
34−CONFIG_IRLAN=y
35−CONFIG_IRCOMM=y
36−# CONFIG_FW_LOADER is not set
37−CONFIG_MTD=y
38−CONFIG_MTD_CONCAT=y
39−CONFIG_MTD_PARTITIONS=y
40−CONFIG_MTD_CMDLINE_PARTS=y
41−CONFIG_MTD_CHAR=y
42−CONFIG_MTD_BLOCK=y
43−CONFIG_MTD_CFI=y
44−CONFIG_MTD_CFI_INTELEXT=y
45−CONFIG_BLK_DEV_LOOP=y
46−CONFIG_BLK_DEV_RAM=y
47−CONFIG_BLK_DEV_RAM_SIZE=16384
48−CONFIG_NETDEVICES=y
49−CONFIG_NET_ETHERNET=y
50−CONFIG_SMC91X=y
51−# CONFIG_INPUT_MOUSEDEV is not set
52−CONFIG_INPUT_EVDEV=y
53−# CONFIG_KEYBOARD_ATKBD is not set
54−CONFIG_KEYBOARD_OMAP=y
55−# CONFIG_INPUT_MOUSE is not set
56−# CONFIG_SERIO is not set
57−CONFIG_SERIAL_8250=y
58−CONFIG_SERIAL_8250_CONSOLE=y
59−CONFIG_SERIAL_8250_NR_UARTS=32
60−CONFIG_SERIAL_8250_EXTENDED=y
61−CONFIG_SERIAL_8250_MANY_PORTS=y
62−CONFIG_SERIAL_8250_SHARE_IRQ=y
63−CONFIG_SERIAL_8250_DETECT_IRQ=y
64−CONFIG_SERIAL_8250_RSA=y
65−# CONFIG_LEGACY_PTYS is not set
66−CONFIG_I2C=y
67−CONFIG_I2C_OMAP=y
68−# CONFIG_HWMON is not set
69−CONFIG_WATCHDOG=y
70−CONFIG_WATCHDOG_NOWAYOUT=y
71−CONFIG_OMAP_WATCHDOG=y
72−CONFIG_MENELAUS=y
73−CONFIG_VIDEO_OUTPUT_CONTROL=m
74−CONFIG_FB=y
75−CONFIG_FIRMWARE_EDID=y
76−CONFIG_FB_OMAP=y
77−# CONFIG_VGA_CONSOLE is not set
78−CONFIG_FRAMEBUFFER_CONSOLE=y
79−CONFIG_LOGO=y
80−# CONFIG_LOGO_LINUX_MONO is not set
81−# CONFIG_LOGO_LINUX_VGA16 is not set
82−CONFIG_MMC=y
83−CONFIG_MMC_OMAP=y
84−CONFIG_EXT2_FS=y
85−CONFIG_EXT3_FS=y
86−# CONFIG_EXT3_FS_XATTR is not set
87−CONFIG_INOTIFY=y
88−CONFIG_QUOTA=y
89−CONFIG_QFMT_V2=y
90−CONFIG_MSDOS_FS=y
91−CONFIG_VFAT_FS=y
92−CONFIG_TMPFS=y
93−CONFIG_JFFS2_FS=y
94−CONFIG_NFS_FS=y
95−CONFIG_NFS_V3=y
96−CONFIG_NFS_V4=y
97−CONFIG_ROOT_NFS=y
98−CONFIG_PARTITION_ADVANCED=y
99−CONFIG_NLS_CODEPAGE_437=y
100−CONFIG_MAGIC_SYSRQ=y
101−CONFIG_DEBUG_KERNEL=y
102−CONFIG_DEBUG_MUTEXES=y
103−# CONFIG_DEBUG_BUGVERBOSE is not set
104−CONFIG_DEBUG_LL=y
105−CONFIG_CRYPTO_ECB=m
106−CONFIG_CRYPTO_PCBC=m
107−CONFIG_LIBCRC32C=y
arch/arm/configs/omap_ldp_defconfig+0−135
@@ -1,135 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_LOG_BUF_SHIFT=14
5−CONFIG_BLK_DEV_INITRD=y
6−CONFIG_EMBEDDED=y
7−# CONFIG_SYSCTL_SYSCALL is not set
8−CONFIG_KALLSYMS_EXTRA_PASS=y
9−CONFIG_SLAB=y
10−CONFIG_MODULES=y
11−CONFIG_MODULE_UNLOAD=y
12−CONFIG_MODVERSIONS=y
13−CONFIG_MODULE_SRCVERSION_ALL=y
14−# CONFIG_BLK_DEV_BSG is not set
15−CONFIG_ARCH_OMAP=y
16−CONFIG_ARCH_OMAP3=y
17−CONFIG_OMAP_MUX_DEBUG=y
18−CONFIG_OMAP_32K_TIMER=y
19−CONFIG_OMAP_DM_TIMER=y
20−CONFIG_ARCH_OMAP3430=y
21−CONFIG_MACH_OMAP_LDP=y
22−CONFIG_NO_HZ=y
23−CONFIG_HIGH_RES_TIMERS=y
24−CONFIG_AEABI=y
25−CONFIG_ZBOOT_ROM_TEXT=0x0
26−CONFIG_ZBOOT_ROM_BSS=0x0
27−CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:tgt:eth0:off rw console=ttyS2,115200n8"
28−CONFIG_FPE_NWFPE=y
29−CONFIG_VFP=y
30−CONFIG_BINFMT_MISC=y
31−CONFIG_NET=y
32−CONFIG_PACKET=y
33−CONFIG_UNIX=y
34−CONFIG_XFRM_USER=y
35−CONFIG_NET_KEY=y
36−CONFIG_NET_KEY_MIGRATE=y
37−CONFIG_INET=y
38−CONFIG_IP_MULTICAST=y
39−CONFIG_IP_PNP=y
40−CONFIG_IP_PNP_DHCP=y
41−CONFIG_IP_PNP_BOOTP=y
42−CONFIG_IP_PNP_RARP=y
43−# CONFIG_INET_LRO is not set
44−# CONFIG_IPV6 is not set
45−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
46−# CONFIG_FW_LOADER is not set
47−CONFIG_CONNECTOR=y
48−CONFIG_BLK_DEV_LOOP=y
49−CONFIG_BLK_DEV_RAM=y
50−CONFIG_BLK_DEV_RAM_SIZE=16384
51−CONFIG_SCSI=y
52−CONFIG_BLK_DEV_SD=y
53−CONFIG_NETDEVICES=y
54−CONFIG_SMSC_PHY=y
55−CONFIG_NET_ETHERNET=y
56−CONFIG_SMSC911X=y
57−# CONFIG_INPUT_MOUSEDEV is not set
58−CONFIG_INPUT_EVDEV=y
59−# CONFIG_INPUT_KEYBOARD is not set
60−# CONFIG_INPUT_MOUSE is not set
61−CONFIG_INPUT_TOUCHSCREEN=y
62−CONFIG_TOUCHSCREEN_ADS7846=y
63−# CONFIG_SERIO is not set
64−CONFIG_SERIAL_8250=y
65−CONFIG_SERIAL_8250_CONSOLE=y
66−CONFIG_SERIAL_8250_NR_UARTS=32
67−CONFIG_SERIAL_8250_EXTENDED=y
68−CONFIG_SERIAL_8250_MANY_PORTS=y
69−CONFIG_SERIAL_8250_SHARE_IRQ=y
70−CONFIG_SERIAL_8250_DETECT_IRQ=y
71−CONFIG_SERIAL_8250_RSA=y
72−# CONFIG_LEGACY_PTYS is not set
73−CONFIG_HW_RANDOM=y
74−CONFIG_I2C=y
75−CONFIG_I2C_CHARDEV=y
76−CONFIG_I2C_OMAP=y
77−CONFIG_SPI=y
78−CONFIG_SPI_OMAP24XX=y
79−CONFIG_GPIO_TWL4030=y
80−CONFIG_W1=y
81−CONFIG_POWER_SUPPLY=y
82−# CONFIG_HWMON is not set
83−CONFIG_WATCHDOG=y
84−CONFIG_WATCHDOG_NOWAYOUT=y
85−CONFIG_TWL4030_CORE=y
86−CONFIG_VIDEO_OUTPUT_CONTROL=m
87−CONFIG_FB=y
88−CONFIG_FIRMWARE_EDID=y
89−CONFIG_FB_MODE_HELPERS=y
90−CONFIG_FB_TILEBLITTING=y
91−CONFIG_FB_OMAP=y
92−CONFIG_FB_OMAP_LCD_VGA=y
93−CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=4
94−CONFIG_BACKLIGHT_LCD_SUPPORT=y
95−CONFIG_LCD_CLASS_DEVICE=y
96−CONFIG_LCD_PLATFORM=y
97−CONFIG_BACKLIGHT_CLASS_DEVICE=y
98−# CONFIG_BACKLIGHT_GENERIC is not set
99−# CONFIG_VGA_CONSOLE is not set
100−CONFIG_FRAMEBUFFER_CONSOLE=y
101−CONFIG_LOGO=y
102−CONFIG_SOUND=y
103−CONFIG_SND=y
104−# CONFIG_USB_SUPPORT is not set
105−CONFIG_MMC=y
106−CONFIG_RTC_CLASS=y
107−CONFIG_EXT2_FS=y
108−CONFIG_EXT3_FS=y
109−# CONFIG_EXT3_FS_XATTR is not set
110−CONFIG_INOTIFY=y
111−CONFIG_QUOTA=y
112−CONFIG_QFMT_V2=y
113−CONFIG_MSDOS_FS=y
114−CONFIG_VFAT_FS=y
115−CONFIG_TMPFS=y
116−CONFIG_NFS_FS=y
117−CONFIG_NFS_V3=y
118−CONFIG_NFS_V3_ACL=y
119−CONFIG_NFS_V4=y
120−CONFIG_ROOT_NFS=y
121−CONFIG_PARTITION_ADVANCED=y
122−CONFIG_NLS_CODEPAGE_437=y
123−CONFIG_NLS_ISO8859_1=y
124−CONFIG_MAGIC_SYSRQ=y
125−CONFIG_DEBUG_KERNEL=y
126−CONFIG_DEBUG_MUTEXES=y
127−# CONFIG_DEBUG_BUGVERBOSE is not set
128−CONFIG_DEBUG_INFO=y
129−# CONFIG_FTRACE is not set
130−CONFIG_DEBUG_LL=y
131−CONFIG_CRYPTO_ECB=m
132−CONFIG_CRYPTO_PCBC=m
133−CONFIG_CRC_CCITT=y
134−CONFIG_CRC_T10DIF=y
135−CONFIG_LIBCRC32C=y
arch/arm/configs/omap_zoom2_defconfig+0−143
@@ -1,143 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_LOG_BUF_SHIFT=14
5−CONFIG_BLK_DEV_INITRD=y
6−CONFIG_EMBEDDED=y
7−# CONFIG_SYSCTL_SYSCALL is not set
8−CONFIG_KALLSYMS_EXTRA_PASS=y
9−CONFIG_SLAB=y
10−CONFIG_MODULES=y
11−CONFIG_MODULE_UNLOAD=y
12−CONFIG_MODVERSIONS=y
13−CONFIG_MODULE_SRCVERSION_ALL=y
14−# CONFIG_BLK_DEV_BSG is not set
15−CONFIG_ARCH_OMAP=y
16−CONFIG_ARCH_OMAP3=y
17−CONFIG_OMAP_MUX_DEBUG=y
18−CONFIG_OMAP_32K_TIMER=y
19−CONFIG_OMAP_DM_TIMER=y
20−CONFIG_ARCH_OMAP3430=y
21−CONFIG_MACH_OMAP_ZOOM2=y
22−CONFIG_NO_HZ=y
23−CONFIG_HIGH_RES_TIMERS=y
24−CONFIG_AEABI=y
25−CONFIG_ZBOOT_ROM_TEXT=0x0
26−CONFIG_ZBOOT_ROM_BSS=0x0
27−CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:tgt:eth0:off rw console=ttyS2,115200n8"
28−CONFIG_FPE_NWFPE=y
29−CONFIG_VFP=y
30−CONFIG_BINFMT_MISC=y
31−CONFIG_PM=y
32−CONFIG_PM_DEBUG=y
33−CONFIG_PM_VERBOSE=y
34−CONFIG_PM_RUNTIME=y
35−CONFIG_NET=y
36−CONFIG_PACKET=y
37−CONFIG_UNIX=y
38−CONFIG_XFRM_USER=y
39−CONFIG_NET_KEY=y
40−CONFIG_NET_KEY_MIGRATE=y
41−CONFIG_INET=y
42−CONFIG_IP_MULTICAST=y
43−CONFIG_IP_PNP=y
44−CONFIG_IP_PNP_DHCP=y
45−CONFIG_IP_PNP_BOOTP=y
46−CONFIG_IP_PNP_RARP=y
47−# CONFIG_INET_LRO is not set
48−# CONFIG_IPV6 is not set
49−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
50−# CONFIG_FW_LOADER is not set
51−CONFIG_CONNECTOR=y
52−CONFIG_BLK_DEV_LOOP=y
53−CONFIG_BLK_DEV_RAM=y
54−CONFIG_BLK_DEV_RAM_SIZE=16384
55−CONFIG_SCSI=y
56−CONFIG_BLK_DEV_SD=y
57−CONFIG_NETDEVICES=y
58−CONFIG_SMSC_PHY=y
59−CONFIG_NET_ETHERNET=y
60−CONFIG_SMSC911X=y
61−# CONFIG_INPUT_MOUSEDEV is not set
62−CONFIG_INPUT_EVDEV=y
63−CONFIG_KEYBOARD_TWL4030=y
64−# CONFIG_INPUT_MOUSE is not set
65−CONFIG_INPUT_TOUCHSCREEN=y
66−CONFIG_TOUCHSCREEN_ADS7846=y
67−CONFIG_SERIAL_8250=y
68−CONFIG_SERIAL_8250_CONSOLE=y
69−CONFIG_SERIAL_8250_NR_UARTS=32
70−CONFIG_SERIAL_8250_RUNTIME_UARTS=1
71−CONFIG_SERIAL_8250_EXTENDED=y
72−CONFIG_SERIAL_8250_MANY_PORTS=y
73−CONFIG_SERIAL_8250_SHARE_IRQ=y
74−CONFIG_SERIAL_8250_DETECT_IRQ=y
75−CONFIG_SERIAL_8250_RSA=y
76−# CONFIG_LEGACY_PTYS is not set
77−CONFIG_HW_RANDOM=y
78−CONFIG_I2C=y
79−CONFIG_I2C_CHARDEV=y
80−CONFIG_I2C_OMAP=y
81−CONFIG_SPI=y
82−CONFIG_SPI_OMAP24XX=y
83−CONFIG_GPIO_TWL4030=y
84−CONFIG_W1=y
85−CONFIG_POWER_SUPPLY=y
86−# CONFIG_HWMON is not set
87−CONFIG_WATCHDOG=y
88−CONFIG_WATCHDOG_NOWAYOUT=y
89−CONFIG_TWL4030_CORE=y
90−CONFIG_REGULATOR=y
91−CONFIG_REGULATOR_TWL4030=y
92−CONFIG_VIDEO_OUTPUT_CONTROL=m
93−# CONFIG_VGA_CONSOLE is not set
94−CONFIG_SOUND=y
95−CONFIG_SND=y
96−CONFIG_USB=y
97−CONFIG_USB_DEBUG=y
98−CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
99−CONFIG_USB_SUSPEND=y
100−# CONFIG_USB_OTG_WHITELIST is not set
101−CONFIG_USB_MON=y
102−CONFIG_USB_MUSB_HDRC=y
103−CONFIG_USB_MUSB_OTG=y
104−CONFIG_USB_GADGET_MUSB_HDRC=y
105−CONFIG_USB_MUSB_DEBUG=y
106−CONFIG_USB_GADGET=y
107−CONFIG_USB_GADGET_DEBUG=y
108−CONFIG_USB_GADGET_DEBUG_FILES=y
109−CONFIG_USB_ZERO=m
110−CONFIG_TWL4030_USB=y
111−CONFIG_MMC=y
112−CONFIG_MMC_OMAP_HS=y
113−CONFIG_RTC_CLASS=y
114−CONFIG_EXT2_FS=y
115−CONFIG_EXT3_FS=y
116−# CONFIG_EXT3_FS_XATTR is not set
117−CONFIG_INOTIFY=y
118−CONFIG_QUOTA=y
119−CONFIG_QFMT_V2=y
120−CONFIG_MSDOS_FS=y
121−CONFIG_VFAT_FS=y
122−CONFIG_TMPFS=y
123−CONFIG_NFS_FS=y
124−CONFIG_NFS_V3=y
125−CONFIG_NFS_V3_ACL=y
126−CONFIG_NFS_V4=y
127−CONFIG_ROOT_NFS=y
128−CONFIG_PARTITION_ADVANCED=y
129−CONFIG_NLS_CODEPAGE_437=y
130−CONFIG_NLS_ISO8859_1=y
131−CONFIG_MAGIC_SYSRQ=y
132−CONFIG_DEBUG_KERNEL=y
133−CONFIG_DEBUG_MUTEXES=y
134−# CONFIG_DEBUG_BUGVERBOSE is not set
135−CONFIG_DEBUG_INFO=y
136−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
137−CONFIG_DEBUG_LL=y
138−CONFIG_CRYPTO_ECB=m
139−CONFIG_CRYPTO_PCBC=m
140−# CONFIG_CRYPTO_ANSI_CPRNG is not set
141−CONFIG_CRC_CCITT=y
142−CONFIG_CRC_T10DIF=y
143−CONFIG_LIBCRC32C=y
arch/arm/configs/omap_zoom3_defconfig+0−155
@@ -1,155 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_LOG_BUF_SHIFT=14
5−CONFIG_BLK_DEV_INITRD=y
6−CONFIG_EMBEDDED=y
7−# CONFIG_SYSCTL_SYSCALL is not set
8−CONFIG_KALLSYMS_EXTRA_PASS=y
9−CONFIG_SLAB=y
10−CONFIG_MODULES=y
11−CONFIG_MODULE_UNLOAD=y
12−CONFIG_MODVERSIONS=y
13−CONFIG_MODULE_SRCVERSION_ALL=y
14−# CONFIG_BLK_DEV_BSG is not set
15−CONFIG_ARCH_OMAP=y
16−CONFIG_ARCH_OMAP3=y
17−CONFIG_OMAP_MUX_DEBUG=y
18−CONFIG_OMAP_32K_TIMER=y
19−CONFIG_OMAP_DM_TIMER=y
20−CONFIG_ARCH_OMAP3430=y
21−CONFIG_MACH_OMAP_ZOOM3=y
22−CONFIG_NO_HZ=y
23−CONFIG_HIGH_RES_TIMERS=y
24−CONFIG_AEABI=y
25−CONFIG_ZBOOT_ROM_TEXT=0x0
26−CONFIG_ZBOOT_ROM_BSS=0x0
27−CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:tgt:eth0:off rw console=ttyS2,115200n8"
28−CONFIG_FPE_NWFPE=y
29−CONFIG_VFP=y
30−CONFIG_BINFMT_MISC=y
31−CONFIG_PM=y
32−CONFIG_PM_DEBUG=y
33−CONFIG_PM_VERBOSE=y
34−CONFIG_PM_RUNTIME=y
35−CONFIG_NET=y
36−CONFIG_PACKET=y
37−CONFIG_UNIX=y
38−CONFIG_XFRM_USER=y
39−CONFIG_NET_KEY=y
40−CONFIG_NET_KEY_MIGRATE=y
41−CONFIG_INET=y
42−CONFIG_IP_MULTICAST=y
43−CONFIG_IP_PNP=y
44−CONFIG_IP_PNP_DHCP=y
45−CONFIG_IP_PNP_BOOTP=y
46−CONFIG_IP_PNP_RARP=y
47−# CONFIG_INET_LRO is not set
48−# CONFIG_IPV6 is not set
49−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
50−# CONFIG_FW_LOADER is not set
51−CONFIG_CONNECTOR=y
52−CONFIG_BLK_DEV_LOOP=y
53−CONFIG_BLK_DEV_RAM=y
54−CONFIG_BLK_DEV_RAM_SIZE=16384
55−CONFIG_SCSI=y
56−CONFIG_BLK_DEV_SD=y
57−CONFIG_NETDEVICES=y
58−CONFIG_SMSC_PHY=y
59−CONFIG_NET_ETHERNET=y
60−CONFIG_SMSC911X=y
61−# CONFIG_INPUT_MOUSEDEV is not set
62−CONFIG_INPUT_EVDEV=y
63−CONFIG_KEYBOARD_TWL4030=y
64−# CONFIG_INPUT_MOUSE is not set
65−CONFIG_INPUT_TOUCHSCREEN=y
66−CONFIG_TOUCHSCREEN_ADS7846=y
67−CONFIG_SERIAL_8250=y
68−CONFIG_SERIAL_8250_CONSOLE=y
69−CONFIG_SERIAL_8250_NR_UARTS=32
70−CONFIG_SERIAL_8250_RUNTIME_UARTS=1
71−CONFIG_SERIAL_8250_EXTENDED=y
72−CONFIG_SERIAL_8250_MANY_PORTS=y
73−CONFIG_SERIAL_8250_SHARE_IRQ=y
74−CONFIG_SERIAL_8250_DETECT_IRQ=y
75−CONFIG_SERIAL_8250_RSA=y
76−# CONFIG_LEGACY_PTYS is not set
77−CONFIG_HW_RANDOM=y
78−CONFIG_I2C=y
79−CONFIG_I2C_CHARDEV=y
80−CONFIG_I2C_OMAP=y
81−CONFIG_SPI=y
82−CONFIG_SPI_OMAP24XX=y
83−CONFIG_GPIO_TWL4030=y
84−CONFIG_W1=y
85−CONFIG_POWER_SUPPLY=y
86−# CONFIG_HWMON is not set
87−CONFIG_WATCHDOG=y
88−CONFIG_WATCHDOG_NOWAYOUT=y
89−CONFIG_TWL4030_CORE=y
90−CONFIG_REGULATOR=y
91−CONFIG_REGULATOR_TWL4030=y
92−CONFIG_VIDEO_OUTPUT_CONTROL=m
93−# CONFIG_VGA_CONSOLE is not set
94−CONFIG_SOUND=y
95−CONFIG_SND=y
96−CONFIG_USB=y
97−CONFIG_USB_DEBUG=y
98−CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
99−CONFIG_USB_DEVICEFS=y
100−# CONFIG_USB_DEVICE_CLASS is not set
101−CONFIG_USB_SUSPEND=y
102−# CONFIG_USB_OTG_WHITELIST is not set
103−CONFIG_USB_MON=y
104−CONFIG_USB_MUSB_HDRC=y
105−CONFIG_USB_MUSB_OTG=y
106−CONFIG_USB_GADGET_MUSB_HDRC=y
107−CONFIG_USB_MUSB_DEBUG=y
108−CONFIG_USB_STORAGE=y
109−CONFIG_USB_TEST=m
110−CONFIG_USB_GADGET=m
111−CONFIG_USB_GADGET_DEBUG=y
112−CONFIG_USB_GADGET_DEBUG_FILES=y
113−CONFIG_USB_ZERO=m
114−CONFIG_USB_AUDIO=m
115−CONFIG_USB_ETH=m
116−CONFIG_USB_GADGETFS=m
117−CONFIG_USB_FILE_STORAGE=m
118−CONFIG_USB_G_SERIAL=m
119−CONFIG_USB_CDC_COMPOSITE=m
120−CONFIG_TWL4030_USB=y
121−CONFIG_MMC=y
122−CONFIG_MMC_UNSAFE_RESUME=y
123−CONFIG_MMC_OMAP_HS=y
124−CONFIG_RTC_CLASS=y
125−CONFIG_RTC_DRV_TWL4030=y
126−CONFIG_EXT2_FS=y
127−CONFIG_EXT3_FS=y
128−# CONFIG_EXT3_FS_XATTR is not set
129−CONFIG_INOTIFY=y
130−CONFIG_QUOTA=y
131−CONFIG_QFMT_V2=y
132−CONFIG_MSDOS_FS=y
133−CONFIG_VFAT_FS=y
134−CONFIG_TMPFS=y
135−CONFIG_NFS_FS=y
136−CONFIG_NFS_V3=y
137−CONFIG_NFS_V3_ACL=y
138−CONFIG_NFS_V4=y
139−CONFIG_ROOT_NFS=y
140−CONFIG_PARTITION_ADVANCED=y
141−CONFIG_NLS_CODEPAGE_437=y
142−CONFIG_NLS_ISO8859_1=y
143−CONFIG_MAGIC_SYSRQ=y
144−CONFIG_DEBUG_FS=y
145−CONFIG_DEBUG_KERNEL=y
146−CONFIG_DEBUG_MUTEXES=y
147−# CONFIG_DEBUG_BUGVERBOSE is not set
148−CONFIG_DEBUG_INFO=y
149−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
150−CONFIG_CRYPTO_ECB=m
151−CONFIG_CRYPTO_PCBC=m
152−# CONFIG_CRYPTO_ANSI_CPRNG is not set
153−CONFIG_CRC_CCITT=y
154−CONFIG_CRC_T10DIF=y
155−CONFIG_LIBCRC32C=y
arch/arm/configs/overo_defconfig+0−275
@@ -1,275 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_IKCONFIG=y
5−CONFIG_IKCONFIG_PROC=y
6−CONFIG_LOG_BUF_SHIFT=14
7−CONFIG_BLK_DEV_INITRD=y
8−CONFIG_EMBEDDED=y
9−# CONFIG_SYSCTL_SYSCALL is not set
10−# CONFIG_ELF_CORE is not set
11−# CONFIG_COMPAT_BRK is not set
12−CONFIG_PROFILING=y
13−CONFIG_OPROFILE=y
14−CONFIG_MODULES=y
15−CONFIG_MODULE_UNLOAD=y
16−CONFIG_MODULE_FORCE_UNLOAD=y
17−CONFIG_MODVERSIONS=y
18−CONFIG_MODULE_SRCVERSION_ALL=y
19−# CONFIG_BLK_DEV_BSG is not set
20−CONFIG_ARCH_OMAP=y
21−CONFIG_ARCH_OMAP3=y
22−# CONFIG_OMAP_MUX is not set
23−CONFIG_OMAP_32K_TIMER=y
24−CONFIG_OMAP_DM_TIMER=y
25−CONFIG_ARCH_OMAP3430=y
26−CONFIG_MACH_OVERO=y
27−CONFIG_ARM_THUMBEE=y
28−CONFIG_NO_HZ=y
29−CONFIG_HIGH_RES_TIMERS=y
30−CONFIG_AEABI=y
31−# CONFIG_OABI_COMPAT is not set
32−CONFIG_LEDS=y
33−CONFIG_ZBOOT_ROM_TEXT=0x0
34−CONFIG_ZBOOT_ROM_BSS=0x0
35−CONFIG_CMDLINE=" debug "
36−CONFIG_KEXEC=y
37−CONFIG_CPU_FREQ=y
38−CONFIG_CPU_FREQ_STAT_DETAILS=y
39−CONFIG_CPU_FREQ_GOV_USERSPACE=y
40−CONFIG_CPU_FREQ_GOV_ONDEMAND=y
41−CONFIG_VFP=y
42−CONFIG_NEON=y
43−CONFIG_BINFMT_AOUT=m
44−CONFIG_BINFMT_MISC=y
45−CONFIG_NET=y
46−CONFIG_PACKET=y
47−CONFIG_UNIX=y
48−CONFIG_NET_KEY=y
49−CONFIG_INET=y
50−CONFIG_IP_PNP=y
51−CONFIG_IP_PNP_DHCP=y
52−CONFIG_IP_PNP_BOOTP=y
53−CONFIG_IP_PNP_RARP=y
54−# CONFIG_INET_LRO is not set
55−CONFIG_BT=y
56−CONFIG_BT_L2CAP=y
57−CONFIG_BT_SCO=y
58−CONFIG_BT_RFCOMM=y
59−CONFIG_BT_RFCOMM_TTY=y
60−CONFIG_BT_BNEP=y
61−CONFIG_BT_BNEP_MC_FILTER=y
62−CONFIG_BT_BNEP_PROTO_FILTER=y
63−CONFIG_BT_HIDP=y
64−CONFIG_BT_HCIUART=y
65−CONFIG_BT_HCIUART_H4=y
66−CONFIG_BT_HCIUART_BCSP=y
67−CONFIG_BT_HCIBCM203X=y
68−CONFIG_BT_HCIBPA10X=y
69−CONFIG_CFG80211=y
70−CONFIG_MAC80211=y
71−CONFIG_MAC80211_RC_PID=y
72−CONFIG_MAC80211_RC_DEFAULT_PID=y
73−CONFIG_MAC80211_LEDS=y
74−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
75−CONFIG_MTD=y
76−CONFIG_MTD_CONCAT=y
77−CONFIG_MTD_PARTITIONS=y
78−CONFIG_MTD_CHAR=y
79−CONFIG_MTD_BLOCK=y
80−CONFIG_MTD_NAND=y
81−CONFIG_BLK_DEV_LOOP=y
82−CONFIG_BLK_DEV_CRYPTOLOOP=m
83−CONFIG_BLK_DEV_RAM=y
84−CONFIG_BLK_DEV_RAM_SIZE=16384
85−CONFIG_CDROM_PKTCDVD=m
86−CONFIG_EEPROM_LEGACY=y
87−CONFIG_RAID_ATTRS=m
88−CONFIG_SCSI=y
89−CONFIG_BLK_DEV_SD=y
90−CONFIG_CHR_DEV_SG=m
91−CONFIG_SCSI_MULTI_LUN=y
92−CONFIG_MD=y
93−CONFIG_BLK_DEV_MD=m
94−CONFIG_MD_LINEAR=m
95−CONFIG_MD_RAID0=m
96−CONFIG_MD_RAID1=m
97−CONFIG_MD_RAID10=m
98−CONFIG_MD_RAID456=m
99−CONFIG_MD_MULTIPATH=m
100−CONFIG_MD_FAULTY=m
101−CONFIG_BLK_DEV_DM=m
102−CONFIG_DM_CRYPT=m
103−CONFIG_DM_SNAPSHOT=m
104−CONFIG_DM_MIRROR=m
105−CONFIG_DM_ZERO=m
106−CONFIG_DM_MULTIPATH=m
107−CONFIG_DM_DELAY=m
108−CONFIG_NETDEVICES=y
109−CONFIG_DUMMY=m
110−CONFIG_TUN=m
111−# CONFIG_NETDEV_1000 is not set
112−# CONFIG_NETDEV_10000 is not set
113−CONFIG_USB_ZD1201=m
114−CONFIG_RTL8187=m
115−CONFIG_HOSTAP=m
116−CONFIG_HOSTAP_FIRMWARE=y
117−CONFIG_HOSTAP_FIRMWARE_NVRAM=y
118−CONFIG_LIBERTAS=y
119−CONFIG_LIBERTAS_USB=y
120−CONFIG_LIBERTAS_SDIO=y
121−CONFIG_LIBERTAS_DEBUG=y
122−CONFIG_P54_COMMON=m
123−CONFIG_P54_USB=m
124−CONFIG_USB_CATC=m
125−CONFIG_USB_KAWETH=m
126−CONFIG_USB_PEGASUS=m
127−CONFIG_USB_RTL8150=m
128−CONFIG_USB_USBNET=y
129−CONFIG_USB_NET_DM9601=m
130−CONFIG_USB_NET_GL620A=m
131−CONFIG_USB_NET_NET1080=m
132−CONFIG_USB_NET_PLUSB=m
133−CONFIG_USB_NET_MCS7830=m
134−CONFIG_USB_NET_RNDIS_HOST=m
135−CONFIG_USB_NET_CDC_SUBSET=m
136−CONFIG_USB_ALI_M5632=y
137−CONFIG_USB_AN2720=y
138−CONFIG_USB_EPSON2888=y
139−CONFIG_USB_KC2190=y
140−CONFIG_USB_NET_ZAURUS=m
141−CONFIG_PPP=m
142−CONFIG_PPP_ASYNC=m
143−CONFIG_PPP_SYNC_TTY=m
144−CONFIG_PPP_DEFLATE=m
145−CONFIG_PPP_BSDCOMP=m
146−CONFIG_PPP_MPPE=m
147−CONFIG_PPPOE=m
148−CONFIG_INPUT_EVDEV=y
149−# CONFIG_KEYBOARD_ATKBD is not set
150−CONFIG_VT_HW_CONSOLE_BINDING=y
151−CONFIG_SERIAL_8250=y
152−CONFIG_SERIAL_8250_CONSOLE=y
153−CONFIG_SERIAL_8250_NR_UARTS=32
154−CONFIG_SERIAL_8250_EXTENDED=y
155−CONFIG_SERIAL_8250_MANY_PORTS=y
156−CONFIG_SERIAL_8250_SHARE_IRQ=y
157−CONFIG_SERIAL_8250_DETECT_IRQ=y
158−CONFIG_SERIAL_8250_RSA=y
159−# CONFIG_LEGACY_PTYS is not set
160−CONFIG_HW_RANDOM=y
161−CONFIG_I2C=y
162−CONFIG_I2C_CHARDEV=y
163−CONFIG_I2C_OMAP=y
164−CONFIG_SPI=y
165−CONFIG_SPI_OMAP24XX=y
166−CONFIG_DEBUG_GPIO=y
167−CONFIG_GPIO_SYSFS=y
168−CONFIG_POWER_SUPPLY=m
169−CONFIG_WATCHDOG=y
170−CONFIG_WATCHDOG_NOWAYOUT=y
171−CONFIG_DISPLAY_SUPPORT=y
172−# CONFIG_VGA_CONSOLE is not set
173−CONFIG_SOUND=y
174−CONFIG_SND=y
175−CONFIG_SND_SEQUENCER=m
176−CONFIG_SND_MIXER_OSS=y
177−CONFIG_SND_PCM_OSS=y
178−CONFIG_SND_SEQUENCER_OSS=y
179−CONFIG_SND_VERBOSE_PRINTK=y
180−CONFIG_SND_DEBUG=y
181−CONFIG_SND_USB_AUDIO=y
182−CONFIG_SND_USB_CAIAQ=m
183−CONFIG_SND_USB_CAIAQ_INPUT=y
184−CONFIG_SND_SOC=y
185−CONFIG_SND_OMAP_SOC=y
186−CONFIG_USB=y
187−CONFIG_USB_DEBUG=y
188−CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
189−CONFIG_USB_DEVICEFS=y
190−CONFIG_USB_MON=y
191−CONFIG_USB_MUSB_HDRC=y
192−CONFIG_MUSB_PIO_ONLY=y
193−CONFIG_USB_ACM=m
194−CONFIG_USB_PRINTER=m
195−CONFIG_USB_WDM=y
196−CONFIG_USB_STORAGE=y
197−CONFIG_USB_SERIAL=m
198−CONFIG_USB_EMI62=m
199−CONFIG_USB_EMI26=m
200−CONFIG_USB_LEGOTOWER=m
201−CONFIG_USB_LCD=m
202−CONFIG_USB_LED=m
203−CONFIG_MMC=y
204−CONFIG_MMC_UNSAFE_RESUME=y
205−CONFIG_SDIO_UART=y
206−CONFIG_LEDS_CLASS=y
207−CONFIG_LEDS_GPIO=y
208−CONFIG_LEDS_TRIGGER_TIMER=y
209−CONFIG_LEDS_TRIGGER_HEARTBEAT=y
210−CONFIG_RTC_CLASS=y
211−CONFIG_EXT2_FS=y
212−CONFIG_EXT3_FS=y
213−# CONFIG_EXT3_FS_XATTR is not set
214−CONFIG_XFS_FS=m
215−CONFIG_INOTIFY=y
216−CONFIG_QUOTA=y
217−CONFIG_QFMT_V2=y
218−CONFIG_FUSE_FS=m
219−CONFIG_ISO9660_FS=m
220−CONFIG_JOLIET=y
221−CONFIG_ZISOFS=y
222−CONFIG_UDF_FS=m
223−CONFIG_MSDOS_FS=y
224−CONFIG_VFAT_FS=y
225−CONFIG_TMPFS=y
226−CONFIG_JFFS2_FS=y
227−CONFIG_JFFS2_SUMMARY=y
228−CONFIG_JFFS2_FS_XATTR=y
229−CONFIG_JFFS2_COMPRESSION_OPTIONS=y
230−CONFIG_JFFS2_LZO=y
231−CONFIG_JFFS2_RUBIN=y
232−CONFIG_NFS_FS=y
233−CONFIG_NFS_V3=y
234−CONFIG_NFS_V4=y
235−CONFIG_ROOT_NFS=y
236−CONFIG_PARTITION_ADVANCED=y
237−CONFIG_NLS_CODEPAGE_437=y
238−CONFIG_NLS_ISO8859_1=y
239−CONFIG_MAGIC_SYSRQ=y
240−CONFIG_DEBUG_FS=y
241−CONFIG_DEBUG_KERNEL=y
242−CONFIG_SCHEDSTATS=y
243−CONFIG_TIMER_STATS=y
244−CONFIG_DEBUG_MUTEXES=y
245−# CONFIG_DEBUG_BUGVERBOSE is not set
246−# CONFIG_FTRACE is not set
247−CONFIG_CRYPTO_NULL=m
248−CONFIG_CRYPTO_CRYPTD=m
249−CONFIG_CRYPTO_TEST=m
250−CONFIG_CRYPTO_LRW=m
251−CONFIG_CRYPTO_PCBC=m
252−CONFIG_CRYPTO_HMAC=m
253−CONFIG_CRYPTO_XCBC=m
254−CONFIG_CRYPTO_MD4=m
255−CONFIG_CRYPTO_MICHAEL_MIC=y
256−CONFIG_CRYPTO_SHA256=m
257−CONFIG_CRYPTO_SHA512=m
258−CONFIG_CRYPTO_TGR192=m
259−CONFIG_CRYPTO_WP512=m
260−CONFIG_CRYPTO_ANUBIS=m
261−CONFIG_CRYPTO_BLOWFISH=m
262−CONFIG_CRYPTO_CAMELLIA=m
263−CONFIG_CRYPTO_CAST5=m
264−CONFIG_CRYPTO_CAST6=m
265−CONFIG_CRYPTO_FCRYPT=m
266−CONFIG_CRYPTO_KHAZAD=m
267−CONFIG_CRYPTO_SERPENT=m
268−CONFIG_CRYPTO_TEA=m
269−CONFIG_CRYPTO_TWOFISH=m
270−CONFIG_CRYPTO_DEFLATE=m
271−CONFIG_CRC_CCITT=y
272−CONFIG_CRC_T10DIF=y
273−CONFIG_CRC_ITU_T=y
274−CONFIG_CRC7=y
275−CONFIG_LIBCRC32C=y
arch/arm/configs/rx51_defconfig+0−222
@@ -1,222 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_POSIX_MQUEUE=y
4−CONFIG_BSD_PROCESS_ACCT=y
5−CONFIG_BLK_DEV_INITRD=y
6−CONFIG_EMBEDDED=y
7−# CONFIG_SYSCTL_SYSCALL is not set
8−CONFIG_KALLSYMS_EXTRA_PASS=y
9−CONFIG_SLAB=y
10−CONFIG_KPROBES=y
11−CONFIG_MODULES=y
12−CONFIG_MODULE_FORCE_LOAD=y
13−CONFIG_MODULE_UNLOAD=y
14−CONFIG_MODULE_FORCE_UNLOAD=y
15−CONFIG_MODVERSIONS=y
16−CONFIG_MODULE_SRCVERSION_ALL=y
17−# CONFIG_BLK_DEV_BSG is not set
18−# CONFIG_IOSCHED_DEADLINE is not set
19−CONFIG_ARCH_OMAP=y
20−CONFIG_ARCH_OMAP3=y
21−CONFIG_OMAP_RESET_CLOCKS=y
22−CONFIG_OMAP_MUX_DEBUG=y
23−CONFIG_OMAP_32K_TIMER=y
24−CONFIG_OMAP_DM_TIMER=y
25−CONFIG_ARCH_OMAP3430=y
26−CONFIG_MACH_NOKIA_RX51=y
27−CONFIG_NO_HZ=y
28−CONFIG_HIGH_RES_TIMERS=y
29−CONFIG_AEABI=y
30−# CONFIG_OABI_COMPAT is not set
31−CONFIG_ZBOOT_ROM_TEXT=0x0
32−CONFIG_ZBOOT_ROM_BSS=0x0
33−CONFIG_CMDLINE="init=/sbin/preinit ubi.mtd=rootfs root=ubi0:rootfs rootfstype=ubifs rootflags=bulk_read,no_chk_data_crc rw console=ttyMTD,log console=tty0 console=ttyS2,115200n8"
34−CONFIG_VFP=y
35−CONFIG_NEON=y
36−CONFIG_BINFMT_MISC=y
37−CONFIG_PM=y
38−CONFIG_PM_DEBUG=y
39−CONFIG_PM_RUNTIME=y
40−CONFIG_NET=y
41−CONFIG_PACKET=y
42−CONFIG_UNIX=y
43−CONFIG_NET_KEY=y
44−CONFIG_INET=y
45−CONFIG_IP_PNP=y
46−CONFIG_IP_PNP_DHCP=y
47−CONFIG_IP_PNP_BOOTP=y
48−CONFIG_IP_PNP_RARP=y
49−# CONFIG_INET_LRO is not set
50−# CONFIG_IPV6 is not set
51−CONFIG_NETFILTER=y
52−CONFIG_IP_NF_IPTABLES=m
53−CONFIG_IP_NF_FILTER=m
54−CONFIG_PHONET=y
55−CONFIG_BT=m
56−CONFIG_BT_L2CAP=m
57−CONFIG_BT_SCO=m
58−CONFIG_BT_RFCOMM=m
59−CONFIG_BT_RFCOMM_TTY=y
60−CONFIG_BT_BNEP=m
61−CONFIG_BT_BNEP_MC_FILTER=y
62−CONFIG_BT_BNEP_PROTO_FILTER=y
63−CONFIG_BT_HIDP=m
64−CONFIG_CFG80211=y
65−CONFIG_MAC80211=m
66−CONFIG_MAC80211_RC_PID=y
67−# CONFIG_MAC80211_RC_MINSTREL is not set
68−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
69−CONFIG_MTD=y
70−CONFIG_MTD_CONCAT=y
71−CONFIG_MTD_CMDLINE_PARTS=y
72−CONFIG_MTD_CHAR=y
73−CONFIG_MTD_BLOCK=y
74−CONFIG_MTD_OOPS=y
75−CONFIG_MTD_CFI=y
76−CONFIG_MTD_CFI_INTELEXT=y
77−CONFIG_MTD_ONENAND=y
78−CONFIG_MTD_ONENAND_OMAP2=y
79−CONFIG_MTD_UBI=y
80−CONFIG_BLK_DEV_LOOP=y
81−CONFIG_BLK_DEV_RAM=y
82−CONFIG_SCSI=m
83−CONFIG_BLK_DEV_SD=m
84−CONFIG_SCSI_MULTI_LUN=y
85−CONFIG_SCSI_SCAN_ASYNC=y
86−CONFIG_NETDEVICES=y
87−CONFIG_TUN=m
88−CONFIG_NET_ETHERNET=y
89−CONFIG_SMC91X=m
90−# CONFIG_NETDEV_1000 is not set
91−# CONFIG_NETDEV_10000 is not set
92−# CONFIG_INPUT_MOUSEDEV is not set
93−CONFIG_INPUT_EVDEV=y
94−# CONFIG_KEYBOARD_ATKBD is not set
95−CONFIG_KEYBOARD_GPIO=m
96−CONFIG_KEYBOARD_TWL4030=y
97−# CONFIG_INPUT_MOUSE is not set
98−CONFIG_INPUT_TOUCHSCREEN=y
99−CONFIG_INPUT_MISC=y
100−CONFIG_INPUT_TWL4030_PWRBUTTON=y
101−CONFIG_INPUT_UINPUT=m
102−# CONFIG_SERIO is not set
103−CONFIG_SERIAL_8250=y
104−CONFIG_SERIAL_8250_CONSOLE=y
105−# CONFIG_LEGACY_PTYS is not set
106−CONFIG_I2C=y
107−CONFIG_I2C_CHARDEV=y
108−CONFIG_I2C_OMAP=y
109−CONFIG_SPI=y
110−CONFIG_SPI_OMAP24XX=y
111−CONFIG_GPIO_SYSFS=y
112−CONFIG_GPIO_TWL4030=y
113−CONFIG_WATCHDOG=y
114−CONFIG_OMAP_WATCHDOG=m
115−CONFIG_TWL4030_WATCHDOG=m
116−CONFIG_TWL4030_CORE=y
117−CONFIG_REGULATOR=y
118−CONFIG_REGULATOR_TWL4030=y
119−CONFIG_FB=y
120−CONFIG_OMAP2_DSS=y
121−# CONFIG_OMAP2_DSS_DEBUG_SUPPORT is not set
122−# CONFIG_OMAP2_DSS_DPI is not set
123−# CONFIG_OMAP2_DSS_VENC is not set
124−CONFIG_OMAP2_DSS_SDI=y
125−CONFIG_FB_OMAP2=y
126−CONFIG_PANEL_ACX565AKM=y
127−CONFIG_DISPLAY_SUPPORT=y
128−# CONFIG_VGA_CONSOLE is not set
129−CONFIG_FRAMEBUFFER_CONSOLE=y
130−CONFIG_LOGO=y
131−CONFIG_SOUND=y
132−CONFIG_SND=y
133−# CONFIG_SND_USB is not set
134−CONFIG_SND_SOC=y
135−CONFIG_SND_OMAP_SOC=y
136−CONFIG_HID=m
137−CONFIG_USB_HID=m
138−CONFIG_HID_A4TECH=m
139−CONFIG_HID_APPLE=m
140−CONFIG_HID_BELKIN=m
141−CONFIG_HID_CHERRY=m
142−CONFIG_HID_CHICONY=m
143−CONFIG_HID_CYPRESS=m
144−CONFIG_HID_EZKEY=m
145−CONFIG_HID_GYRATION=m
146−CONFIG_HID_LOGITECH=m
147−CONFIG_HID_MICROSOFT=m
148−CONFIG_HID_MONTEREY=m
149−CONFIG_HID_PANTHERLORD=m
150−CONFIG_HID_PETALYNX=m
151−CONFIG_HID_SAMSUNG=m
152−CONFIG_HID_SONY=m
153−CONFIG_HID_SUNPLUS=m
154−CONFIG_USB=y
155−CONFIG_USB_DEBUG=y
156−CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
157−CONFIG_USB_DEVICEFS=y
158−CONFIG_USB_SUSPEND=y
159−CONFIG_USB_OTG_BLACKLIST_HUB=y
160−CONFIG_USB_MON=y
161−CONFIG_USB_MUSB_HDRC=y
162−CONFIG_USB_MUSB_OTG=y
163−CONFIG_USB_GADGET_MUSB_HDRC=y
164−CONFIG_USB_STORAGE=m
165−CONFIG_USB_LIBUSUAL=y
166−CONFIG_USB_TEST=m
167−CONFIG_USB_GADGET=m
168−CONFIG_USB_GADGET_DEBUG=y
169−CONFIG_USB_GADGET_DEBUG_FILES=y
170−CONFIG_USB_GADGET_DEBUG_FS=y
171−CONFIG_USB_ZERO=m
172−CONFIG_USB_FILE_STORAGE=m
173−CONFIG_USB_G_NOKIA=m
174−CONFIG_TWL4030_USB=y
175−CONFIG_MMC=m
176−# CONFIG_MMC_BLOCK_BOUNCE is not set
177−CONFIG_MMC_OMAP_HS=m
178−CONFIG_NEW_LEDS=y
179−CONFIG_LEDS_CLASS=m
180−CONFIG_RTC_CLASS=m
181−CONFIG_RTC_DRV_TWL4030=m
182−CONFIG_EXT2_FS=m
183−CONFIG_EXT3_FS=m
184−# CONFIG_EXT3_FS_XATTR is not set
185−CONFIG_INOTIFY=y
186−CONFIG_QUOTA=y
187−CONFIG_QFMT_V2=y
188−CONFIG_FUSE_FS=m
189−CONFIG_MSDOS_FS=m
190−CONFIG_VFAT_FS=m
191−CONFIG_TMPFS=y
192−CONFIG_UBIFS_FS=y
193−CONFIG_CRAMFS=y
194−CONFIG_NFS_FS=m
195−CONFIG_NFS_V3=y
196−CONFIG_NFS_V4=y
197−CONFIG_PARTITION_ADVANCED=y
198−CONFIG_NLS_CODEPAGE_437=y
199−CONFIG_NLS_ISO8859_1=y
200−CONFIG_PRINTK_TIME=y
201−CONFIG_MAGIC_SYSRQ=y
202−CONFIG_DEBUG_FS=y
203−CONFIG_DEBUG_KERNEL=y
204−CONFIG_TIMER_STATS=y
205−CONFIG_PROVE_LOCKING=y
206−CONFIG_LOCK_STAT=y
207−CONFIG_DEBUG_SPINLOCK_SLEEP=y
208−# CONFIG_DEBUG_BUGVERBOSE is not set
209−CONFIG_DEBUG_INFO=y
210−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
211−CONFIG_SECURITY=y
212−CONFIG_CRYPTO_CBC=y
213−CONFIG_CRYPTO_ECB=y
214−CONFIG_CRYPTO_PCBC=m
215−CONFIG_CRYPTO_MD5=y
216−CONFIG_CRYPTO_AES=y
217−CONFIG_CRYPTO_ARC4=y
218−CONFIG_CRYPTO_DES=y
219−# CONFIG_CRYPTO_ANSI_CPRNG is not set
220−CONFIG_CRC_CCITT=y
221−CONFIG_CRC7=m
222−CONFIG_LIBCRC32C=y
arch/arm/configs/s5pc110_defconfig+0−66
@@ -1,66 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSFS_DEPRECATED_V2=y
3−CONFIG_BLK_DEV_INITRD=y
4−CONFIG_KALLSYMS_ALL=y
5−CONFIG_MODULES=y
6−CONFIG_MODULE_UNLOAD=y
7−# CONFIG_BLK_DEV_BSG is not set
8−CONFIG_ARCH_S5PV210=y
9−CONFIG_S3C_LOWLEVEL_UART_PORT=1
10−CONFIG_MACH_SMDKC110=y
11−CONFIG_VMSPLIT_2G=y
12−CONFIG_PREEMPT=y
13−CONFIG_AEABI=y
14−CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x20800000,8M console=ttySAC1,115200 init=/linuxrc"
15−CONFIG_VFP=y
16−CONFIG_NEON=y
17−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
18−CONFIG_BLK_DEV_LOOP=y
19−CONFIG_BLK_DEV_RAM=y
20−CONFIG_BLK_DEV_RAM_SIZE=8192
21−# CONFIG_MISC_DEVICES is not set
22−CONFIG_SCSI=y
23−CONFIG_BLK_DEV_SD=y
24−CONFIG_CHR_DEV_SG=y
25−CONFIG_INPUT_EVDEV=y
26−# CONFIG_INPUT_KEYBOARD is not set
27−# CONFIG_INPUT_MOUSE is not set
28−CONFIG_INPUT_TOUCHSCREEN=y
29−CONFIG_SERIAL_8250=y
30−CONFIG_SERIAL_SAMSUNG=y
31−CONFIG_SERIAL_SAMSUNG_CONSOLE=y
32−CONFIG_HW_RANDOM=y
33−# CONFIG_HWMON is not set
34−# CONFIG_VGA_CONSOLE is not set
35−# CONFIG_HID_SUPPORT is not set
36−# CONFIG_USB_SUPPORT is not set
37−CONFIG_EXT2_FS=y
38−CONFIG_INOTIFY=y
39−CONFIG_MSDOS_FS=y
40−CONFIG_VFAT_FS=y
41−CONFIG_TMPFS=y
42−CONFIG_TMPFS_POSIX_ACL=y
43−CONFIG_CRAMFS=y
44−CONFIG_ROMFS_FS=y
45−CONFIG_PARTITION_ADVANCED=y
46−CONFIG_BSD_DISKLABEL=y
47−CONFIG_SOLARIS_X86_PARTITION=y
48−CONFIG_NLS_CODEPAGE_437=y
49−CONFIG_NLS_ASCII=y
50−CONFIG_NLS_ISO8859_1=y
51−CONFIG_MAGIC_SYSRQ=y
52−CONFIG_DEBUG_KERNEL=y
53−# CONFIG_DEBUG_PREEMPT is not set
54−CONFIG_DEBUG_RT_MUTEXES=y
55−CONFIG_DEBUG_SPINLOCK=y
56−CONFIG_DEBUG_MUTEXES=y
57−CONFIG_DEBUG_SPINLOCK_SLEEP=y
58−CONFIG_DEBUG_INFO=y
59−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
60−CONFIG_SYSCTL_SYSCALL_CHECK=y
61−CONFIG_DEBUG_USER=y
62−CONFIG_DEBUG_ERRORS=y
63−CONFIG_DEBUG_LL=y
64−CONFIG_EARLY_PRINTK=y
65−CONFIG_DEBUG_S3C_UART=1
66−CONFIG_CRC_CCITT=y
arch/arm/configs/s5pv210_defconfig+5−0
@@ -7,6 +7,11 @@ CONFIG_MODULE_UNLOAD=y · 6 unmodified lines
77 # CONFIG_BLK_DEV_BSG is not set
88 CONFIG_ARCH_S5PV210=y
99 CONFIG_S3C_LOWLEVEL_UART_PORT=1
10+CONFIG_S3C_DEV_FB=y
11+CONFIG_S5PV210_SETUP_FB_24BPP=y
12+CONFIG_MACH_AQUILA=y
13+CONFIG_MACH_GONI=y
14+CONFIG_MACH_SMDKC110=y
1015 CONFIG_MACH_SMDKV210=y
1116 CONFIG_VMSPLIT_2G=y
1217 CONFIG_PREEMPT=y
arch/arm/include/asm/cache.h+1−1
@@ -14,7 +14,7 @@ · 13 unmodified lines
1414 * cache before the transfer is done, causing old data to be seen by
1515 * the CPU.
1616 */
17−#define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES
17+#define ARCH_DMA_MINALIGN L1_CACHE_BYTES
1818
1919 /*
2020 * With EABI on ARMv5 and above we must have 64-bit aligned slab pointers.
arch/arm/include/asm/dma-mapping.h+8−10
@@ -144,16 +144,6 @@ static inline int dma_set_mask(struct device *dev, u64 dma_mask) · 143 unmodified lines
144144 return 0;
145145 }
146146
147−static inline int dma_get_cache_alignment(void)
148−{
149− return 32;
150−}
151−
152−static inline int dma_is_consistent(struct device *dev, dma_addr_t handle)
153−{
154− return !!arch_is_coherent();
155−}
156−
157147 /*
158148 * DMA errors are defined by all-bits-set in the DMA address.
159149 */
@@ -298,7 +288,15 @@ extern void dmabounce_unregister_dev(struct device *); · 138 unmodified lines
298288 * DMA access and 1 if the buffer needs to be bounced.
299289 *
300290 */
291+#ifdef CONFIG_SA1111
301292 extern int dma_needs_bounce(struct device*, dma_addr_t, size_t);
293+#else
294+static inline int dma_needs_bounce(struct device *dev, dma_addr_t addr,
295+ size_t size)
296+{
297+ return 0;
298+}
299+#endif
302300
303301 /*
304302 * The DMA API, implemented by dmabounce.c. See below for descriptions.
arch/arm/include/asm/elf.h+6−0
@@ -59,6 +59,8 @@ typedef struct user_fp elf_fpregset_t; · 58 unmodified lines
5959
6060 #define R_ARM_THM_CALL 10
6161 #define R_ARM_THM_JUMP24 30
62+#define R_ARM_THM_MOVW_ABS_NC 47
63+#define R_ARM_THM_MOVT_ABS 48
6264
6365 /*
6466 * These are used to set parameters in the core dumps.
@@ -121,4 +123,8 @@ int dump_task_regs(struct task_struct *t, elf_gregset_t *elfregs); · 56 unmodified lines
121123 extern void elf_set_personality(const struct elf32_hdr *);
122124 #define SET_PERSONALITY(ex) elf_set_personality(&(ex))
123125
126+struct mm_struct;
127+extern unsigned long arch_randomize_brk(struct mm_struct *mm);
128+#define arch_randomize_brk arch_randomize_brk
129+
124130 #endif
arch/arm/include/asm/hardware/coresight.h+6−2
@@ -48,8 +48,6 @@ struct tracectx { · 47 unmodified lines
4848 /* CoreSight Component Registers */
4949 #define CSCR_CLASS 0xff4
5050
51−#define CSCR_PRSR 0x314
52−
5351 #define UNLOCK_MAGIC 0xc5acce55
5452
5553 /* ETM control register, "ETM Architecture", 3.3.1 */
@@ -132,6 +130,12 @@ struct tracectx { · 76 unmodified lines
132130 ETMCTRL_BRANCH_OUTPUT | \
133131 ETMCTRL_DO_CONTEXTID)
134132
133+/* ETM management registers, "ETM Architecture", 3.5.24 */
134+#define ETMMR_OSLAR 0x300
135+#define ETMMR_OSLSR 0x304
136+#define ETMMR_OSSRR 0x308
137+#define ETMMR_PDSR 0x314
138+
135139 /* ETB registers, "CoreSight Components TRM", 9.3 */
136140 #define ETBR_DEPTH 0x04
137141 #define ETBR_STATUS 0x0c
arch/arm/include/asm/hardware/scoop.h+17−12
@@ -22,18 +22,23 @@ · 21 unmodified lines
2222 #define SCOOP_GPWR 0x24
2323 #define SCOOP_GPRR 0x28
2424
25−#define SCOOP_GPCR_PA22 ( 1 << 12 )
26−#define SCOOP_GPCR_PA21 ( 1 << 11 )
27−#define SCOOP_GPCR_PA20 ( 1 << 10 )
28−#define SCOOP_GPCR_PA19 ( 1 << 9 )
29−#define SCOOP_GPCR_PA18 ( 1 << 8 )
30−#define SCOOP_GPCR_PA17 ( 1 << 7 )
31−#define SCOOP_GPCR_PA16 ( 1 << 6 )
32−#define SCOOP_GPCR_PA15 ( 1 << 5 )
33−#define SCOOP_GPCR_PA14 ( 1 << 4 )
34−#define SCOOP_GPCR_PA13 ( 1 << 3 )
35−#define SCOOP_GPCR_PA12 ( 1 << 2 )
36−#define SCOOP_GPCR_PA11 ( 1 << 1 )
25+#define SCOOP_CPR_OUT (1 << 7)
26+#define SCOOP_CPR_SD_3V (1 << 2)
27+#define SCOOP_CPR_CF_XV (1 << 1)
28+#define SCOOP_CPR_CF_3V (1 << 0)
29+
30+#define SCOOP_GPCR_PA22 (1 << 12)
31+#define SCOOP_GPCR_PA21 (1 << 11)
32+#define SCOOP_GPCR_PA20 (1 << 10)
33+#define SCOOP_GPCR_PA19 (1 << 9)
34+#define SCOOP_GPCR_PA18 (1 << 8)
35+#define SCOOP_GPCR_PA17 (1 << 7)
36+#define SCOOP_GPCR_PA16 (1 << 6)
37+#define SCOOP_GPCR_PA15 (1 << 5)
38+#define SCOOP_GPCR_PA14 (1 << 4)
39+#define SCOOP_GPCR_PA13 (1 << 3)
40+#define SCOOP_GPCR_PA12 (1 << 2)
41+#define SCOOP_GPCR_PA11 (1 << 1)
3742
3843 struct scoop_config {
3944 unsigned short io_out;
arch/arm/include/asm/highmem.h+1−1
@@ -36,7 +36,7 @@ extern void kunmap_high_l1_vipt(struct page *page, pte_t saved_pte); · 35 unmodified lines
3636 extern void *kmap(struct page *page);
3737 extern void kunmap(struct page *page);
3838 extern void *kmap_atomic(struct page *page, enum km_type type);
39−extern void kunmap_atomic(void *kvaddr, enum km_type type);
39+extern void kunmap_atomic_notypecheck(void *kvaddr, enum km_type type);
4040 extern void *kmap_atomic_pfn(unsigned long pfn, enum km_type type);
4141 extern struct page *kmap_atomic_to_page(const void *ptr);
4242 #endif
arch/arm/include/asm/hwcap.h+1−0
@@ -19,6 +19,7 @@ · 18 unmodified lines
1919 #define HWCAP_NEON 4096
2020 #define HWCAP_VFPv3 8192
2121 #define HWCAP_VFPv3D16 16384
22+#define HWCAP_TLS 32768
2223
2324 #if defined(__KERNEL__) && !defined(__ASSEMBLY__)
2425 /*
arch/arm/include/asm/ioctls.h+2−0
@@ -52,6 +52,7 @@ · 51 unmodified lines
5252 #define TCSETSF2 _IOW('T',0x2D, struct termios2)
5353 #define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
5454 #define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
55+#define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */
5556
5657 #define TIOCGRS485 0x542E
5758 #define TIOCSRS485 0x542F
@@ -81,6 +82,7 @@ · 23 unmodified lines
8182 #define TIOCPKT_START 8
8283 #define TIOCPKT_NOSTOP 16
8384 #define TIOCPKT_DOSTOP 32
85+#define TIOCPKT_IOCTL 64
8486
8587 #define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
8688
arch/arm/include/asm/irq.h+2−0
@@ -7,6 +7,8 @@ · 6 unmodified lines
77 #define irq_canonicalize(i) (i)
88 #endif
99
10+#define NR_IRQS_LEGACY 16
11+
1012 /*
1113 * Use this value to indicate lack of interrupt
1214 * capability
arch/arm/include/asm/kexec.h+19−3
@@ -19,10 +19,26 @@ · 18 unmodified lines
1919
2020 #ifndef __ASSEMBLY__
2121
22−struct kimage;
23−/* Provide a dummy definition to avoid build failures. */
22+/**
23+ * crash_setup_regs() - save registers for the panic kernel
24+ * @newregs: registers are saved here
25+ * @oldregs: registers to be saved (may be %NULL)
26+ *
27+ * Function copies machine registers from @oldregs to @newregs. If @oldregs is
28+ * %NULL then current registers are stored there.
29+ */
2430 static inline void crash_setup_regs(struct pt_regs *newregs,
25− struct pt_regs *oldregs) { }
31+ struct pt_regs *oldregs)
32+{
33+ if (oldregs) {
34+ memcpy(newregs, oldregs, sizeof(*newregs));
35+ } else {
36+ __asm__ __volatile__ ("stmia %0, {r0 - r15}"
37+ : : "r" (&newregs->ARM_r0));
38+ __asm__ __volatile__ ("mrs %0, cpsr"
39+ : "=r" (newregs->ARM_cpsr));
40+ }
41+}
2642
2743 #endif /* __ASSEMBLY__ */
2844
arch/arm/include/asm/kgdb.h+3−3
@@ -70,11 +70,11 @@ extern int kgdb_fault_expected; · 69 unmodified lines
7070 #define _GP_REGS 16
7171 #define _FP_REGS 8
7272 #define _EXTRA_REGS 2
73−#define GDB_MAX_REGS (_GP_REGS + (_FP_REGS * 3) + _EXTRA_REGS)
73+#define DBG_MAX_REG_NUM (_GP_REGS + (_FP_REGS * 3) + _EXTRA_REGS)
7474
7575 #define KGDB_MAX_NO_CPUS 1
7676 #define BUFMAX 400
77−#define NUMREGBYTES (GDB_MAX_REGS << 2)
77+#define NUMREGBYTES (DBG_MAX_REG_NUM << 2)
7878 #define NUMCRITREGBYTES (32 << 2)
7979
8080 #define _R0 0
@@ -93,7 +93,7 @@ extern int kgdb_fault_expected; · 12 unmodified lines
9393 #define _SPT 13
9494 #define _LR 14
9595 #define _PC 15
96−#define _CPSR (GDB_MAX_REGS - 1)
96+#define _CPSR (DBG_MAX_REG_NUM - 1)
9797
9898 /*
9999 * So that we can denote the end of a frame for tracing,
arch/arm/include/asm/local64.h+1−0
@@ -0,0 +1 @@
1+#include <asm-generic/local64.h>
arch/arm/include/asm/mach/arch.h+2−0
@@ -20,6 +20,7 @@ struct machine_desc { · 19 unmodified lines
2020 * by assembler code in head.S, head-common.S
2121 */
2222 unsigned int nr; /* architecture number */
23+ unsigned int nr_irqs; /* number of IRQs */
2324 unsigned int phys_io; /* start of physical io */
2425 unsigned int io_pg_offst; /* byte offset for io
2526 * page tabe entry */
@@ -37,6 +38,7 @@ struct machine_desc { · 11 unmodified lines
3738 void (*fixup)(struct machine_desc *,
3839 struct tag *, char **,
3940 struct meminfo *);
41+ void (*reserve)(void);/* reserve mem blocks */
4042 void (*map_io)(void);/* IO mapping function */
4143 void (*init_irq)(void);
4244 struct sys_timer *timer; /* system tick timer */
arch/arm/include/asm/mach/irq.h+1−0
@@ -17,6 +17,7 @@ struct seq_file; · 16 unmodified lines
1717 /*
1818 * This is internal. Do not use it.
1919 */
20+extern unsigned int arch_nr_irqs;
2021 extern void (*init_arch_irq)(void);
2122 extern void init_FIQ(void);
2223 extern int show_fiq_list(struct seq_file *, void *);
arch/arm/include/asm/mach/map.h+2−0
@@ -27,6 +27,8 @@ struct map_desc { · 26 unmodified lines
2727 #define MT_MEMORY 9
2828 #define MT_ROM 10
2929 #define MT_MEMORY_NONCACHED 11
30+#define MT_MEMORY_DTCM 12
31+#define MT_MEMORY_ITCM 13
3032
3133 #ifdef CONFIG_MMU
3234 extern void iotable_init(struct map_desc *, int);
arch/arm/include/asm/mach/pci.h+1−0
@@ -46,6 +46,7 @@ struct pci_sys_data { · 45 unmodified lines
4646 /* IRQ mapping */
4747 int (*map_irq)(struct pci_dev *, u8, u8);
4848 struct hw_pci *hw;
49+ void *private_data; /* platform controller private data */
4950 };
5051
5152 /*
arch/arm/include/asm/memblock.h+16−0
@@ -0,0 +1,16 @@
1+#ifndef _ASM_ARM_MEMBLOCK_H
2+#define _ASM_ARM_MEMBLOCK_H
3+
4+#ifdef CONFIG_MMU
5+extern phys_addr_t lowmem_end_addr;
6+#define MEMBLOCK_REAL_LIMIT lowmem_end_addr
7+#else
8+#define MEMBLOCK_REAL_LIMIT 0
9+#endif
10+
11+struct meminfo;
12+struct machine_desc;
13+
14+extern void arm_memblock_init(struct meminfo *, struct machine_desc *);
15+
16+#endif
arch/arm/include/asm/memory.h+10−66
@@ -123,6 +123,15 @@ · 122 unmodified lines
123123
124124 #endif /* !CONFIG_MMU */
125125
126+/*
127+ * We fix the TCM memories max 32 KiB ITCM resp DTCM at these
128+ * locations
129+ */
130+#ifdef CONFIG_HAVE_TCM
131+#define ITCM_OFFSET UL(0xfffe0000)
132+#define DTCM_OFFSET UL(0xfffe8000)
133+#endif
134+
126135 /*
127136 * Physical vs virtual RAM address space conversion. These are
128137 * private definitions which should NOT be used outside memory.h
@@ -158,7 +167,7 @@ · 29 unmodified lines
158167 #endif
159168
160169 #ifndef arch_adjust_zones
161−#define arch_adjust_zones(node,size,holes) do { } while (0)
170+#define arch_adjust_zones(size,holes) do { } while (0)
162171 #elif !defined(CONFIG_ZONE_DMA)
163172 #error "custom arch_adjust_zones() requires CONFIG_ZONE_DMA"
164173 #endif
@@ -234,76 +243,11 @@ static inline __deprecated void *bus_to_virt(unsigned long x) · 69 unmodified lines
234243 * virt_to_page(k) convert a _valid_ virtual address to struct page *
235244 * virt_addr_valid(k) indicates whether a virtual address is valid
236245 */
237−#ifndef CONFIG_DISCONTIGMEM
238−
239246 #define ARCH_PFN_OFFSET PHYS_PFN_OFFSET
240247
241248 #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)
242249 #define virt_addr_valid(kaddr) ((unsigned long)(kaddr) >= PAGE_OFFSET && (unsigned long)(kaddr) < (unsigned long)high_memory)
243250
244−#define PHYS_TO_NID(addr) (0)
245−
246−#else /* CONFIG_DISCONTIGMEM */
247−
248−/*
249− * This is more complex. We have a set of mem_map arrays spread
250− * around in memory.
251− */
252−#include <linux/numa.h>
253−
254−#define arch_pfn_to_nid(pfn) PFN_TO_NID(pfn)
255−#define arch_local_page_offset(pfn, nid) LOCAL_MAP_NR((pfn) << PAGE_SHIFT)
256−
257−#define virt_to_page(kaddr) \
258− (ADDR_TO_MAPBASE(kaddr) + LOCAL_MAP_NR(kaddr))
259−
260−#define virt_addr_valid(kaddr) (KVADDR_TO_NID(kaddr) < MAX_NUMNODES)
261−
262−/*
263− * Common discontigmem stuff.
264− * PHYS_TO_NID is used by the ARM kernel/setup.c
265− */
266−#define PHYS_TO_NID(addr) PFN_TO_NID((addr) >> PAGE_SHIFT)
267−
268−/*
269− * Given a kaddr, ADDR_TO_MAPBASE finds the owning node of the memory
270− * and returns the mem_map of that node.
271− */
272−#define ADDR_TO_MAPBASE(kaddr) NODE_MEM_MAP(KVADDR_TO_NID(kaddr))
273−
274−/*
275− * Given a page frame number, find the owning node of the memory
276− * and returns the mem_map of that node.
277− */
278−#define PFN_TO_MAPBASE(pfn) NODE_MEM_MAP(PFN_TO_NID(pfn))
279−
280−#ifdef NODE_MEM_SIZE_BITS
281−#define NODE_MEM_SIZE_MASK ((1 << NODE_MEM_SIZE_BITS) - 1)
282−
283−/*
284− * Given a kernel address, find the home node of the underlying memory.
285− */
286−#define KVADDR_TO_NID(addr) \
287− (((unsigned long)(addr) - PAGE_OFFSET) >> NODE_MEM_SIZE_BITS)
288−
289−/*
290− * Given a page frame number, convert it to a node id.
291− */
292−#define PFN_TO_NID(pfn) \
293− (((pfn) - PHYS_PFN_OFFSET) >> (NODE_MEM_SIZE_BITS - PAGE_SHIFT))
294−
295−/*
296− * Given a kaddr, LOCAL_MEM_MAP finds the owning node of the memory
297− * and returns the index corresponding to the appropriate page in the
298− * node's mem_map.
299− */
300−#define LOCAL_MAP_NR(addr) \
301− (((unsigned long)(addr) & NODE_MEM_SIZE_MASK) >> PAGE_SHIFT)
302−
303−#endif /* NODE_MEM_SIZE_BITS */
304−
305−#endif /* !CONFIG_DISCONTIGMEM */
306−
307251 /*
308252 * Optional coherency support. Currently used only by selected
309253 * Intel XSC3-based systems.
arch/arm/include/asm/mmzone.h+0−30
@@ -1,30 +0,0 @@
1−/*
2− * arch/arm/include/asm/mmzone.h
3− *
4− * 1999-12-29 Nicolas Pitre Created
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−#ifndef __ASM_MMZONE_H
11−#define __ASM_MMZONE_H
12−
13−/*
14− * Currently defined in arch/arm/mm/discontig.c
15− */
16−extern pg_data_t discontig_node_data[];
17−
18−/*
19− * Return a pointer to the node data for node n.
20− */
21−#define NODE_DATA(nid) (&discontig_node_data[nid])
22−
23−/*
24− * NODE_MEM_MAP gives the kaddr for the mem_map of the node.
25− */
26−#define NODE_MEM_MAP(nid) (NODE_DATA(nid)->node_mem_map)
27−
28−#include <mach/memory.h>
29−
30−#endif
arch/arm/include/asm/ptrace.h+36−0
@@ -184,6 +184,42 @@ extern unsigned long profile_pc(struct pt_regs *regs); · 183 unmodified lines
184184 #define predicate(x) ((x) & 0xf0000000)
185185 #define PREDICATE_ALWAYS 0xe0000000
186186
187+/*
188+ * kprobe-based event tracer support
189+ */
190+#include <linux/stddef.h>
191+#include <linux/types.h>
192+#define MAX_REG_OFFSET (offsetof(struct pt_regs, ARM_ORIG_r0))
193+
194+extern int regs_query_register_offset(const char *name);
195+extern const char *regs_query_register_name(unsigned int offset);
196+extern bool regs_within_kernel_stack(struct pt_regs *regs, unsigned long addr);
197+extern unsigned long regs_get_kernel_stack_nth(struct pt_regs *regs,
198+ unsigned int n);
199+
200+/**
201+ * regs_get_register() - get register value from its offset
202+ * @regs: pt_regs from which register value is gotten
203+ * @offset: offset number of the register.
204+ *
205+ * regs_get_register returns the value of a register whose offset from @regs.
206+ * The @offset is the offset of the register in struct pt_regs.
207+ * If @offset is bigger than MAX_REG_OFFSET, this returns 0.
208+ */
209+static inline unsigned long regs_get_register(struct pt_regs *regs,
210+ unsigned int offset)
211+{
212+ if (unlikely(offset > MAX_REG_OFFSET))
213+ return 0;
214+ return *(unsigned long *)((unsigned long)regs + offset);
215+}
216+
217+/* Valid only for Kernel mode traps. */
218+static inline unsigned long kernel_stack_pointer(struct pt_regs *regs)
219+{
220+ return regs->ARM_sp;
221+}
222+
187223 #endif /* __KERNEL__ */
188224
189225 #endif /* __ASSEMBLY__ */
arch/arm/include/asm/setup.h+3−5
@@ -201,8 +201,7 @@ static struct tagtable __tagtable_##fn __tag = { tag, fn } · 200 unmodified lines
201201 struct membank {
202202 unsigned long start;
203203 unsigned long size;
204− unsigned short node;
205− unsigned short highmem;
204+ unsigned int highmem;
206205 };
207206
208207 struct meminfo {
@@ -212,9 +211,8 @@ struct meminfo { · 3 unmodified lines
212211
213212 extern struct meminfo meminfo;
214213
215−#define for_each_nodebank(iter,mi,no) \
216− for (iter = 0; iter < (mi)->nr_banks; iter++) \
217− if ((mi)->bank[iter].node == no)
214+#define for_each_bank(iter,mi) \
215+ for (iter = 0; iter < (mi)->nr_banks; iter++)
218216
219217 #define bank_pfn_start(bank) __phys_to_pfn((bank)->start)
220218 #define bank_pfn_end(bank) __phys_to_pfn((bank)->start + (bank)->size)
arch/arm/include/asm/stackprotector.h+38−0
@@ -0,0 +1,38 @@
1+/*
2+ * GCC stack protector support.
3+ *
4+ * Stack protector works by putting predefined pattern at the start of
5+ * the stack frame and verifying that it hasn't been overwritten when
6+ * returning from the function. The pattern is called stack canary
7+ * and gcc expects it to be defined by a global variable called
8+ * "__stack_chk_guard" on ARM. This unfortunately means that on SMP
9+ * we cannot have a different canary value per task.
10+ */
11+
12+#ifndef _ASM_STACKPROTECTOR_H
13+#define _ASM_STACKPROTECTOR_H 1
14+
15+#include <linux/random.h>
16+#include <linux/version.h>
17+
18+extern unsigned long __stack_chk_guard;
19+
20+/*
21+ * Initialize the stackprotector canary value.
22+ *
23+ * NOTE: this must only be called from functions that never return,
24+ * and it must always be inlined.
25+ */
26+static __always_inline void boot_init_stack_canary(void)
27+{
28+ unsigned long canary;
29+
30+ /* Try to get a semi random initial value. */
31+ get_random_bytes(&canary, sizeof(canary));
32+ canary ^= LINUX_VERSION_CODE;
33+
34+ current->stack_canary = canary;
35+ __stack_chk_guard = current->stack_canary;
36+}
37+
38+#endif /* _ASM_STACKPROTECTOR_H */
arch/arm/include/asm/system.h+1−1
@@ -83,7 +83,7 @@ void arm_notify_die(const char *str, struct pt_regs *regs, struct siginfo *info, · 82 unmodified lines
8383
8484 void hook_fault_code(int nr, int (*fn)(unsigned long, unsigned int,
8585 struct pt_regs *),
86− int sig, const char *name);
86+ int sig, int code, const char *name);
8787
8888 #define xchg(ptr,x) \
8989 ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
arch/arm/include/asm/termbits.h+1−0
@@ -177,6 +177,7 @@ struct ktermios { · 176 unmodified lines
177177 #define FLUSHO 0010000
178178 #define PENDIN 0040000
179179 #define IEXTEN 0100000
180+#define EXTPROC 0200000
180181
181182 /* tcflow() and TCXONC use these */
182183 #define TCOOFF 0
arch/arm/include/asm/tlbflush.h+8−0
@@ -378,7 +378,11 @@ static inline void local_flush_tlb_mm(struct mm_struct *mm) · 377 unmodified lines
378378 if (tlb_flag(TLB_V6_I_ASID))
379379 asm("mcr p15, 0, %0, c8, c5, 2" : : "r" (asid) : "cc");
380380 if (tlb_flag(TLB_V7_UIS_ASID))
381+#ifdef CONFIG_ARM_ERRATA_720789
382+ asm("mcr p15, 0, %0, c8, c3, 0" : : "r" (zero) : "cc");
383+#else
381384 asm("mcr p15, 0, %0, c8, c3, 2" : : "r" (asid) : "cc");
385+#endif
382386
383387 if (tlb_flag(TLB_BTB)) {
384388 /* flush the branch target cache */
@@ -424,7 +428,11 @@ local_flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) · 39 unmodified lines
424428 if (tlb_flag(TLB_V6_I_PAGE))
425429 asm("mcr p15, 0, %0, c8, c5, 1" : : "r" (uaddr) : "cc");
426430 if (tlb_flag(TLB_V7_UIS_PAGE))
431+#ifdef CONFIG_ARM_ERRATA_720789
432+ asm("mcr p15, 0, %0, c8, c3, 3" : : "r" (uaddr & PAGE_MASK) : "cc");
433+#else
427434 asm("mcr p15, 0, %0, c8, c3, 1" : : "r" (uaddr) : "cc");
435+#endif
428436
429437 if (tlb_flag(TLB_BTB)) {
430438 /* flush the branch target cache */
arch/arm/include/asm/tls.h+46−0
@@ -0,0 +1,46 @@
1+#ifndef __ASMARM_TLS_H
2+#define __ASMARM_TLS_H
3+
4+#ifdef __ASSEMBLY__
5+ .macro set_tls_none, tp, tmp1, tmp2
6+ .endm
7+
8+ .macro set_tls_v6k, tp, tmp1, tmp2
9+ mcr p15, 0, \tp, c13, c0, 3 @ set TLS register
10+ .endm
11+
12+ .macro set_tls_v6, tp, tmp1, tmp2
13+ ldr \tmp1, =elf_hwcap
14+ ldr \tmp1, [\tmp1, #0]
15+ mov \tmp2, #0xffff0fff
16+ tst \tmp1, #HWCAP_TLS @ hardware TLS available?
17+ mcrne p15, 0, \tp, c13, c0, 3 @ yes, set TLS register
18+ streq \tp, [\tmp2, #-15] @ set TLS value at 0xffff0ff0
19+ .endm
20+
21+ .macro set_tls_software, tp, tmp1, tmp2
22+ mov \tmp1, #0xffff0fff
23+ str \tp, [\tmp1, #-15] @ set TLS value at 0xffff0ff0
24+ .endm
25+#endif
26+
27+#ifdef CONFIG_TLS_REG_EMUL
28+#define tls_emu 1
29+#define has_tls_reg 1
30+#define set_tls set_tls_none
31+#elif __LINUX_ARM_ARCH__ >= 7 || \
32+ (__LINUX_ARM_ARCH__ == 6 && defined(CONFIG_CPU_32v6K))
33+#define tls_emu 0
34+#define has_tls_reg 1
35+#define set_tls set_tls_v6k
36+#elif __LINUX_ARM_ARCH__ == 6
37+#define tls_emu 0
38+#define has_tls_reg (elf_hwcap & HWCAP_TLS)
39+#define set_tls set_tls_v6
40+#else
41+#define tls_emu 0
42+#define has_tls_reg 0
43+#define set_tls set_tls_software
44+#endif
45+
46+#endif /* __ASMARM_TLS_H */
arch/arm/include/asm/vfpmacros.h+18−0
@@ -3,6 +3,8 @@ · 2 unmodified lines
33 *
44 * Assembler-only file containing VFP macros and register definitions.
55 */
6+#include <asm/hwcap.h>
7+
68 #include "vfp.h"
79
810 @ Macros to allow building with old toolkits (with no VFP support)
@@ -22,11 +24,19 @@ · 13 unmodified lines
2224 LDC p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d0-d15}
2325 #endif
2426 #ifdef CONFIG_VFPv3
27+#if __LINUX_ARM_ARCH__ <= 6
28+ ldr \tmp, =elf_hwcap @ may not have MVFR regs
29+ ldr \tmp, [\tmp, #0]
30+ tst \tmp, #HWCAP_VFPv3D16
31+ ldceq p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d16-d31}
32+ addne \base, \base, #32*4 @ step over unused register space
33+#else
2534 VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 0
2635 and \tmp, \tmp, #MVFR0_A_SIMD_MASK @ A_SIMD field
2736 cmp \tmp, #2 @ 32 x 64bit registers?
2837 ldceql p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d16-d31}
2938 addne \base, \base, #32*4 @ step over unused register space
39+#endif
3040 #endif
3141 .endm
3242
@@ -38,10 +48,18 @@ · 5 unmodified lines
3848 STC p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d0-d15}
3949 #endif
4050 #ifdef CONFIG_VFPv3
51+#if __LINUX_ARM_ARCH__ <= 6
52+ ldr \tmp, =elf_hwcap @ may not have MVFR regs
53+ ldr \tmp, [\tmp, #0]
54+ tst \tmp, #HWCAP_VFPv3D16
55+ stceq p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d16-d31}
56+ addne \base, \base, #32*4 @ step over unused register space
57+#else
4158 VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 0
4259 and \tmp, \tmp, #MVFR0_A_SIMD_MASK @ A_SIMD field
4360 cmp \tmp, #2 @ 32 x 64bit registers?
4461 stceql p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d16-d31}
4562 addne \base, \base, #32*4 @ step over unused register space
63+#endif
4664 #endif
4765 .endm
arch/arm/kernel/Makefile+4−1
@@ -13,10 +13,12 @@ CFLAGS_REMOVE_return_address.o = -pg · 12 unmodified lines
1313
1414 # Object file lists.
1515
16−obj-y := compat.o elf.o entry-armv.o entry-common.o irq.o \
16+obj-y := elf.o entry-armv.o entry-common.o irq.o \
1717 process.o ptrace.o return_address.o setup.o signal.o \
1818 sys_arm.o stacktrace.o time.o traps.o
1919
20+obj-$(CONFIG_DEPRECATED_PARAM_STRUCT) += compat.o
21+
2022 obj-$(CONFIG_LEDS) += leds.o
2123 obj-$(CONFIG_OC_ETM) += etm.o
2224
@@ -39,6 +41,7 @@ obj-$(CONFIG_ARM_THUMBEE) += thumbee.o · 16 unmodified lines
3941 obj-$(CONFIG_KGDB) += kgdb.o
4042 obj-$(CONFIG_ARM_UNWIND) += unwind.o
4143 obj-$(CONFIG_HAVE_TCM) += tcm.o
44+obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
4245
4346 obj-$(CONFIG_CRUNCH) += crunch.o crunch-bits.o
4447 AFLAGS_crunch-bits.o := -Wa,-mcpu=ep9312
arch/arm/kernel/asm-offsets.c+3−0
@@ -40,6 +40,9 @@ · 39 unmodified lines
4040 int main(void)
4141 {
4242 DEFINE(TSK_ACTIVE_MM, offsetof(struct task_struct, active_mm));
43+#ifdef CONFIG_CC_STACKPROTECTOR
44+ DEFINE(TSK_STACK_CANARY, offsetof(struct task_struct, stack_canary));
45+#endif
4346 BLANK();
4447 DEFINE(TI_FLAGS, offsetof(struct thread_info, flags));
4548 DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count));
arch/arm/kernel/compat.c+0−7
@@ -217,10 +217,3 @@ void __init convert_to_tag_list(struct tag *tags) · 216 unmodified lines
217217 struct param_struct *params = (struct param_struct *)tags;
218218 build_tag_list(params, &params->u2);
219219 }
220−
221−void __init squash_mem_tags(struct tag *tag)
222−{
223− for (; tag->hdr.size; tag = tag_next(tag))
224− if (tag->hdr.tag == ATAG_MEM)
225− tag->hdr.tag = ATAG_NONE;
226−}
arch/arm/kernel/compat.h+0−2
@@ -9,5 +9,3 @@ · 8 unmodified lines
99 */
1010
1111 extern void convert_to_tag_list(struct tag *tags);
12−
13−extern void squash_mem_tags(struct tag *tag);
arch/arm/kernel/crash_dump.c+60−0
@@ -0,0 +1,60 @@
1+/*
2+ * arch/arm/kernel/crash_dump.c
3+ *
4+ * Copyright (C) 2010 Nokia Corporation.
5+ * Author: Mika Westerberg
6+ *
7+ * This code is taken from arch/x86/kernel/crash_dump_64.c
8+ * Created by: Hariprasad Nellitheertha (hari@in.ibm.com)
9+ * Copyright (C) IBM Corporation, 2004. All rights reserved
10+ *
11+ * This program is free software; you can redistribute it and/or modify
12+ * it under the terms of the GNU General Public License version 2 as
13+ * published by the Free Software Foundation.
14+ */
15+
16+#include <linux/errno.h>
17+#include <linux/crash_dump.h>
18+#include <linux/uaccess.h>
19+#include <linux/io.h>
20+
21+/* stores the physical address of elf header of crash image */
22+unsigned long long elfcorehdr_addr = ELFCORE_ADDR_MAX;
23+
24+/**
25+ * copy_oldmem_page() - copy one page from old kernel memory
26+ * @pfn: page frame number to be copied
27+ * @buf: buffer where the copied page is placed
28+ * @csize: number of bytes to copy
29+ * @offset: offset in bytes into the page
30+ * @userbuf: if set, @buf is int he user address space
31+ *
32+ * This function copies one page from old kernel memory into buffer pointed by
33+ * @buf. If @buf is in userspace, set @userbuf to %1. Returns number of bytes
34+ * copied or negative error in case of failure.
35+ */
36+ssize_t copy_oldmem_page(unsigned long pfn, char *buf,
37+ size_t csize, unsigned long offset,
38+ int userbuf)
39+{
40+ void *vaddr;
41+
42+ if (!csize)
43+ return 0;
44+
45+ vaddr = ioremap(pfn << PAGE_SHIFT, PAGE_SIZE);
46+ if (!vaddr)
47+ return -ENOMEM;
48+
49+ if (userbuf) {
50+ if (copy_to_user(buf, vaddr + offset, csize)) {
51+ iounmap(vaddr);
52+ return -EFAULT;
53+ }
54+ } else {
55+ memcpy(buf, vaddr + offset, csize);
56+ }
57+
58+ iounmap(vaddr);
59+ return csize;
60+}
arch/arm/kernel/entry-armv.S+14−15
@@ -22,6 +22,7 @@ · 21 unmodified lines
2222 #include <asm/thread_notify.h>
2323 #include <asm/unwind.h>
2424 #include <asm/unistd.h>
25+#include <asm/tls.h>
2526
2627 #include "entry-header.S"
2728
@@ -735,11 +736,11 @@ ENTRY(__switch_to) · 707 unmodified lines
735736 #ifdef CONFIG_MMU
736737 ldr r6, [r2, #TI_CPU_DOMAIN]
737738 #endif
738−#if defined(CONFIG_HAS_TLS_REG)
739− mcr p15, 0, r3, c13, c0, 3 @ set TLS register
740−#elif !defined(CONFIG_TLS_REG_EMUL)
741− mov r4, #0xffff0fff
742− str r3, [r4, #-15] @ TLS val at 0xffff0ff0
739+ set_tls r3, r4, r5
740+#if defined(CONFIG_CC_STACKPROTECTOR) && !defined(CONFIG_SMP)
741+ ldr r7, [r2, #TI_TASK]
742+ ldr r8, =__stack_chk_guard
743+ ldr r7, [r7, #TSK_STACK_CANARY]
743744 #endif
744745 #ifdef CONFIG_MMU
745746 mcr p15, 0, r6, c3, c0, 0 @ Set domain register
@@ -749,6 +750,9 @@ ENTRY(__switch_to) · 3 unmodified lines
749750 ldr r0, =thread_notify_head
750751 mov r1, #THREAD_NOTIFY_SWITCH
751752 bl atomic_notifier_call_chain
753+#if defined(CONFIG_CC_STACKPROTECTOR) && !defined(CONFIG_SMP)
754+ str r7, [r8]
755+#endif
752756 THUMB( mov ip, r4 )
753757 mov r0, r5
754758 ARM( ldmia r4, {r4 - sl, fp, sp, pc} ) @ Load all regs saved previously
@@ -1005,17 +1009,12 @@ kuser_cmpxchg_fixup: · 250 unmodified lines
10051009 */
10061010
10071011 __kuser_get_tls: @ 0xffff0fe0
1008−
1009−#if !defined(CONFIG_HAS_TLS_REG) && !defined(CONFIG_TLS_REG_EMUL)
1010− ldr r0, [pc, #(16 - 8)] @ TLS stored at 0xffff0ff0
1011−#else
1012− mrc p15, 0, r0, c13, c0, 3 @ read TLS register
1013−#endif
1012+ ldr r0, [pc, #(16 - 8)] @ read TLS, set in kuser_get_tls_init
10141013 usr_ret lr
1015−
1016− .rep 5
1017− .word 0 @ pad up to __kuser_helper_version
1018− .endr
1014+ mrc p15, 0, r0, c13, c0, 3 @ 0xffff0fe8 hardware TLS code
1015+ .rep 4
1016+ .word 0 @ 0xffff0ff0 software TLS value, then
1017+ .endr @ pad up to __kuser_helper_version
10191018
10201019 /*
10211020 * Reference declaration:
arch/arm/kernel/entry-common.S+80−44
@@ -92,75 +92,111 @@ ENDPROC(ret_from_fork) · 91 unmodified lines
9292 #define CALL(x) .long x
9393
9494 #ifdef CONFIG_FUNCTION_TRACER
95+/*
96+ * When compiling with -pg, gcc inserts a call to the mcount routine at the
97+ * start of every function. In mcount, apart from the function's address (in
98+ * lr), we need to get hold of the function's caller's address.
99+ *
100+ * Older GCCs (pre-4.4) inserted a call to a routine called mcount like this:
101+ *
102+ * bl mcount
103+ *
104+ * These versions have the limitation that in order for the mcount routine to
105+ * be able to determine the function's caller's address, an APCS-style frame
106+ * pointer (which is set up with something like the code below) is required.
107+ *
108+ * mov ip, sp
109+ * push {fp, ip, lr, pc}
110+ * sub fp, ip, #4
111+ *
112+ * With EABI, these frame pointers are not available unless -mapcs-frame is
113+ * specified, and if building as Thumb-2, not even then.
114+ *
115+ * Newer GCCs (4.4+) solve this problem by introducing a new version of mcount,
116+ * with call sites like:
117+ *
118+ * push {lr}
119+ * bl __gnu_mcount_nc
120+ *
121+ * With these compilers, frame pointers are not necessary.
122+ *
123+ * mcount can be thought of as a function called in the middle of a subroutine
124+ * call. As such, it needs to be transparent for both the caller and the
125+ * callee: the original lr needs to be restored when leaving mcount, and no
126+ * registers should be clobbered. (In the __gnu_mcount_nc implementation, we
127+ * clobber the ip register. This is OK because the ARM calling convention
128+ * allows it to be clobbered in subroutines and doesn't use it to hold
129+ * parameters.)
130+ */
95131 #ifdef CONFIG_DYNAMIC_FTRACE
96132 ENTRY(mcount)
97− stmdb sp!, {r0-r3, lr}
98− mov r0, lr
99− sub r0, r0, #MCOUNT_INSN_SIZE
133+ stmdb sp!, {r0-r3, lr}
134+ mov r0, lr
135+ sub r0, r0, #MCOUNT_INSN_SIZE
100136
101137 .globl mcount_call
102138 mcount_call:
103− bl ftrace_stub
104− ldr lr, [fp, #-4] @ restore lr
105− ldmia sp!, {r0-r3, pc}
139+ bl ftrace_stub
140+ ldr lr, [fp, #-4] @ restore lr
141+ ldmia sp!, {r0-r3, pc}
106142
107143 ENTRY(ftrace_caller)
108− stmdb sp!, {r0-r3, lr}
109− ldr r1, [fp, #-4]
110− mov r0, lr
111− sub r0, r0, #MCOUNT_INSN_SIZE
144+ stmdb sp!, {r0-r3, lr}
145+ ldr r1, [fp, #-4]
146+ mov r0, lr
147+ sub r0, r0, #MCOUNT_INSN_SIZE
112148
113149 .globl ftrace_call
114150 ftrace_call:
115− bl ftrace_stub
116− ldr lr, [fp, #-4] @ restore lr
117− ldmia sp!, {r0-r3, pc}
151+ bl ftrace_stub
152+ ldr lr, [fp, #-4] @ restore lr
153+ ldmia sp!, {r0-r3, pc}
118154
119155 #else
120156
121157 ENTRY(__gnu_mcount_nc)
122− stmdb sp!, {r0-r3, lr}
123− ldr r0, =ftrace_trace_function
124− ldr r2, [r0]
125− adr r0, ftrace_stub
126− cmp r0, r2
127− bne gnu_trace
128− ldmia sp!, {r0-r3, ip, lr}
129− mov pc, ip
158+ stmdb sp!, {r0-r3, lr}
159+ ldr r0, =ftrace_trace_function
160+ ldr r2, [r0]
161+ adr r0, ftrace_stub
162+ cmp r0, r2
163+ bne gnu_trace
164+ ldmia sp!, {r0-r3, ip, lr}
165+ mov pc, ip
130166
131167 gnu_trace:
132− ldr r1, [sp, #20] @ lr of instrumented routine
133− mov r0, lr
134− sub r0, r0, #MCOUNT_INSN_SIZE
135− mov lr, pc
136− mov pc, r2
137− ldmia sp!, {r0-r3, ip, lr}
138− mov pc, ip
168+ ldr r1, [sp, #20] @ lr of instrumented routine
169+ mov r0, lr
170+ sub r0, r0, #MCOUNT_INSN_SIZE
171+ mov lr, pc
172+ mov pc, r2
173+ ldmia sp!, {r0-r3, ip, lr}
174+ mov pc, ip
139175
140176 ENTRY(mcount)
141− stmdb sp!, {r0-r3, lr}
142− ldr r0, =ftrace_trace_function
143− ldr r2, [r0]
144− adr r0, ftrace_stub
145− cmp r0, r2
146− bne trace
147− ldr lr, [fp, #-4] @ restore lr
148− ldmia sp!, {r0-r3, pc}
177+ stmdb sp!, {r0-r3, lr}
178+ ldr r0, =ftrace_trace_function
179+ ldr r2, [r0]
180+ adr r0, ftrace_stub
181+ cmp r0, r2
182+ bne trace
183+ ldr lr, [fp, #-4] @ restore lr
184+ ldmia sp!, {r0-r3, pc}
149185
150186 trace:
151− ldr r1, [fp, #-4] @ lr of instrumented routine
152− mov r0, lr
153− sub r0, r0, #MCOUNT_INSN_SIZE
154− mov lr, pc
155− mov pc, r2
156− ldr lr, [fp, #-4] @ restore lr
157− ldmia sp!, {r0-r3, pc}
187+ ldr r1, [fp, #-4] @ lr of instrumented routine
188+ mov r0, lr
189+ sub r0, r0, #MCOUNT_INSN_SIZE
190+ mov lr, pc
191+ mov pc, r2
192+ ldr lr, [fp, #-4] @ restore lr
193+ ldmia sp!, {r0-r3, pc}
158194
159195 #endif /* CONFIG_DYNAMIC_FTRACE */
160196
161197 .globl ftrace_stub
162198 ftrace_stub:
163− mov pc, lr
199+ mov pc, lr
164200
165201 #endif /* CONFIG_FUNCTION_TRACER */
166202
arch/arm/kernel/etm.c+3−1
@@ -543,7 +543,9 @@ static int __init etm_probe(struct amba_device *dev, struct amba_id *id) · 542 unmodified lines
543543 t->etm_portsz = 1;
544544
545545 etm_unlock(t);
546− ret = etm_readl(t, CSCR_PRSR);
546+ (void)etm_readl(t, ETMMR_PDSR);
547+ /* dummy first read */
548+ (void)etm_readl(&tracer, ETMMR_OSSRR);
547549
548550 t->ncmppairs = etm_readl(t, ETMR_CONFCODE) & 0xf;
549551 etm_writel(t, 0x440, ETMR_CTRL);
arch/arm/kernel/irq.c+27−14
@@ -47,12 +47,14 @@ · 46 unmodified lines
4747 #define irq_finish(irq) do { } while (0)
4848 #endif
4949
50+unsigned int arch_nr_irqs;
5051 void (*init_arch_irq)(void) __initdata = NULL;
5152 unsigned long irq_err_count;
5253
5354 int show_interrupts(struct seq_file *p, void *v)
5455 {
5556 int i = *(loff_t *) v, cpu;
57+ struct irq_desc *desc;
5658 struct irqaction * action;
5759 unsigned long flags;
5860
@@ -67,24 +69,25 @@ int show_interrupts(struct seq_file *p, void *v) · 8 unmodified lines
6769 seq_putc(p, '\n');
6870 }
6971
70− if (i < NR_IRQS) {
71− raw_spin_lock_irqsave(&irq_desc[i].lock, flags);
72− action = irq_desc[i].action;
72+ if (i < nr_irqs) {
73+ desc = irq_to_desc(i);
74+ raw_spin_lock_irqsave(&desc->lock, flags);
75+ action = desc->action;
7376 if (!action)
7477 goto unlock;
7578
7679 seq_printf(p, "%3d: ", i);
7780 for_each_present_cpu(cpu)
7881 seq_printf(p, "%10u ", kstat_irqs_cpu(i, cpu));
79− seq_printf(p, " %10s", irq_desc[i].chip->name ? : "-");
82+ seq_printf(p, " %10s", desc->chip->name ? : "-");
8083 seq_printf(p, " %s", action->name);
8184 for (action = action->next; action; action = action->next)
8285 seq_printf(p, ", %s", action->name);
8386
8487 seq_putc(p, '\n');
8588 unlock:
86− raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags);
87− } else if (i == NR_IRQS) {
89+ raw_spin_unlock_irqrestore(&desc->lock, flags);
90+ } else if (i == nr_irqs) {
8891 #ifdef CONFIG_FIQ
8992 show_fiq_list(p, v);
9093 #endif
@@ -112,7 +115,7 @@ asmlinkage void __exception asm_do_IRQ(unsigned int irq, struct pt_regs *regs) · 21 unmodified lines
112115 * Some hardware gives randomly wrong interrupts. Rather
113116 * than crashing, do something sensible.
114117 */
115− if (unlikely(irq >= NR_IRQS)) {
118+ if (unlikely(irq >= nr_irqs)) {
116119 if (printk_ratelimit())
117120 printk(KERN_WARNING "Bad IRQ%u\n", irq);
118121 ack_bad_irq(irq);
@@ -132,12 +135,12 @@ void set_irq_flags(unsigned int irq, unsigned int iflags) · 13 unmodified lines
132135 struct irq_desc *desc;
133136 unsigned long flags;
134137
135− if (irq >= NR_IRQS) {
138+ if (irq >= nr_irqs) {
136139 printk(KERN_ERR "Trying to set irq flags for IRQ%d\n", irq);
137140 return;
138141 }
139142
140− desc = irq_desc + irq;
143+ desc = irq_to_desc(irq);
141144 raw_spin_lock_irqsave(&desc->lock, flags);
142145 desc->status |= IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN;
143146 if (iflags & IRQF_VALID)
@@ -151,14 +154,25 @@ void set_irq_flags(unsigned int irq, unsigned int iflags) · 7 unmodified lines
151154
152155 void __init init_IRQ(void)
153156 {
157+ struct irq_desc *desc;
154158 int irq;
155159
156− for (irq = 0; irq < NR_IRQS; irq++)
157− irq_desc[irq].status |= IRQ_NOREQUEST | IRQ_NOPROBE;
160+ for (irq = 0; irq < nr_irqs; irq++) {
161+ desc = irq_to_desc_alloc_node(irq, 0);
162+ desc->status |= IRQ_NOREQUEST | IRQ_NOPROBE;
163+ }
158164
159165 init_arch_irq();
160166 }
161167
168+#ifdef CONFIG_SPARSE_IRQ
169+int __init arch_probe_nr_irqs(void)
170+{
171+ nr_irqs = arch_nr_irqs ? arch_nr_irqs : NR_IRQS;
172+ return 0;
173+}
174+#endif
175+
162176 #ifdef CONFIG_HOTPLUG_CPU
163177
164178 static void route_irq(struct irq_desc *desc, unsigned int irq, unsigned int cpu)
@@ -178,10 +192,9 @@ static void route_irq(struct irq_desc *desc, unsigned int irq, unsigned int cpu) · 13 unmodified lines
178192 void migrate_irqs(void)
179193 {
180194 unsigned int i, cpu = smp_processor_id();
195+ struct irq_desc *desc;
181196
182− for (i = 0; i < NR_IRQS; i++) {
183− struct irq_desc *desc = irq_desc + i;
184−
197+ for_each_irq_desc(i, desc) {
185198 if (desc->node == cpu) {
186199 unsigned int newcpu = cpumask_any_and(desc->affinity,
187200 cpu_online_mask);
arch/arm/kernel/kgdb.c+81−43
@@ -10,57 +10,62 @@ · 9 unmodified lines
1010 * Deepak Saxena <dsaxena@plexity.net>
1111 */
1212 #include <linux/irq.h>
13+#include <linux/kdebug.h>
1314 #include <linux/kgdb.h>
1415 #include <asm/traps.h>
1516
16−/* Make a local copy of the registers passed into the handler (bletch) */
17−void pt_regs_to_gdb_regs(unsigned long *gdb_regs, struct pt_regs *kernel_regs)
17+struct dbg_reg_def_t dbg_reg_def[DBG_MAX_REG_NUM] =
1818 {
19− int regno;
20−
21− /* Initialize all to zero. */
22− for (regno = 0; regno < GDB_MAX_REGS; regno++)
23− gdb_regs[regno] = 0;
19+ { "r0", 4, offsetof(struct pt_regs, ARM_r0)},
20+ { "r1", 4, offsetof(struct pt_regs, ARM_r1)},
21+ { "r2", 4, offsetof(struct pt_regs, ARM_r2)},
22+ { "r3", 4, offsetof(struct pt_regs, ARM_r3)},
23+ { "r4", 4, offsetof(struct pt_regs, ARM_r4)},
24+ { "r5", 4, offsetof(struct pt_regs, ARM_r5)},
25+ { "r6", 4, offsetof(struct pt_regs, ARM_r6)},
26+ { "r7", 4, offsetof(struct pt_regs, ARM_r7)},
27+ { "r8", 4, offsetof(struct pt_regs, ARM_r8)},
28+ { "r9", 4, offsetof(struct pt_regs, ARM_r9)},
29+ { "r10", 4, offsetof(struct pt_regs, ARM_r10)},
30+ { "fp", 4, offsetof(struct pt_regs, ARM_fp)},
31+ { "ip", 4, offsetof(struct pt_regs, ARM_ip)},
32+ { "sp", 4, offsetof(struct pt_regs, ARM_sp)},
33+ { "lr", 4, offsetof(struct pt_regs, ARM_lr)},
34+ { "pc", 4, offsetof(struct pt_regs, ARM_pc)},
35+ { "f0", 12, -1 },
36+ { "f1", 12, -1 },
37+ { "f2", 12, -1 },
38+ { "f3", 12, -1 },
39+ { "f4", 12, -1 },
40+ { "f5", 12, -1 },
41+ { "f6", 12, -1 },
42+ { "f7", 12, -1 },
43+ { "fps", 4, -1 },
44+ { "cpsr", 4, offsetof(struct pt_regs, ARM_cpsr)},
45+};
2446
25− gdb_regs[_R0] = kernel_regs->ARM_r0;
26− gdb_regs[_R1] = kernel_regs->ARM_r1;
27− gdb_regs[_R2] = kernel_regs->ARM_r2;
28− gdb_regs[_R3] = kernel_regs->ARM_r3;
29− gdb_regs[_R4] = kernel_regs->ARM_r4;
30− gdb_regs[_R5] = kernel_regs->ARM_r5;
31− gdb_regs[_R6] = kernel_regs->ARM_r6;
32− gdb_regs[_R7] = kernel_regs->ARM_r7;
33− gdb_regs[_R8] = kernel_regs->ARM_r8;
34− gdb_regs[_R9] = kernel_regs->ARM_r9;
35− gdb_regs[_R10] = kernel_regs->ARM_r10;
36− gdb_regs[_FP] = kernel_regs->ARM_fp;
37− gdb_regs[_IP] = kernel_regs->ARM_ip;
38− gdb_regs[_SPT] = kernel_regs->ARM_sp;
39− gdb_regs[_LR] = kernel_regs->ARM_lr;
40− gdb_regs[_PC] = kernel_regs->ARM_pc;
41− gdb_regs[_CPSR] = kernel_regs->ARM_cpsr;
47+char *dbg_get_reg(int regno, void *mem, struct pt_regs *regs)
48+{
49+ if (regno >= DBG_MAX_REG_NUM || regno < 0)
50+ return NULL;
51+
52+ if (dbg_reg_def[regno].offset != -1)
53+ memcpy(mem, (void *)regs + dbg_reg_def[regno].offset,
54+ dbg_reg_def[regno].size);
55+ else
56+ memset(mem, 0, dbg_reg_def[regno].size);
57+ return dbg_reg_def[regno].name;
4258 }
4359
44−/* Copy local gdb registers back to kgdb regs, for later copy to kernel */
45−void gdb_regs_to_pt_regs(unsigned long *gdb_regs, struct pt_regs *kernel_regs)
60+int dbg_set_reg(int regno, void *mem, struct pt_regs *regs)
4661 {
47− kernel_regs->ARM_r0 = gdb_regs[_R0];
48− kernel_regs->ARM_r1 = gdb_regs[_R1];
49− kernel_regs->ARM_r2 = gdb_regs[_R2];
50− kernel_regs->ARM_r3 = gdb_regs[_R3];
51− kernel_regs->ARM_r4 = gdb_regs[_R4];
52− kernel_regs->ARM_r5 = gdb_regs[_R5];
53− kernel_regs->ARM_r6 = gdb_regs[_R6];
54− kernel_regs->ARM_r7 = gdb_regs[_R7];
55− kernel_regs->ARM_r8 = gdb_regs[_R8];
56− kernel_regs->ARM_r9 = gdb_regs[_R9];
57− kernel_regs->ARM_r10 = gdb_regs[_R10];
58− kernel_regs->ARM_fp = gdb_regs[_FP];
59− kernel_regs->ARM_ip = gdb_regs[_IP];
60− kernel_regs->ARM_sp = gdb_regs[_SPT];
61− kernel_regs->ARM_lr = gdb_regs[_LR];
62− kernel_regs->ARM_pc = gdb_regs[_PC];
63− kernel_regs->ARM_cpsr = gdb_regs[_CPSR];
62+ if (regno >= DBG_MAX_REG_NUM || regno < 0)
63+ return -EINVAL;
64+
65+ if (dbg_reg_def[regno].offset != -1)
66+ memcpy((void *)regs + dbg_reg_def[regno].offset, mem,
67+ dbg_reg_def[regno].size);
68+ return 0;
6469 }
6570
6671 void
@@ -176,6 +181,33 @@ void kgdb_roundup_cpus(unsigned long flags) · 109 unmodified lines
176181 local_irq_disable();
177182 }
178183
184+static int __kgdb_notify(struct die_args *args, unsigned long cmd)
185+{
186+ struct pt_regs *regs = args->regs;
187+
188+ if (kgdb_handle_exception(1, args->signr, cmd, regs))
189+ return NOTIFY_DONE;
190+ return NOTIFY_STOP;
191+}
192+static int
193+kgdb_notify(struct notifier_block *self, unsigned long cmd, void *ptr)
194+{
195+ unsigned long flags;
196+ int ret;
197+
198+ local_irq_save(flags);
199+ ret = __kgdb_notify(ptr, cmd);
200+ local_irq_restore(flags);
201+
202+ return ret;
203+}
204+
205+static struct notifier_block kgdb_notifier = {
206+ .notifier_call = kgdb_notify,
207+ .priority = -INT_MAX,
208+};
209+
210+
179211 /**
180212 * kgdb_arch_init - Perform any architecture specific initalization.
181213 *
@@ -184,6 +216,11 @@ void kgdb_roundup_cpus(unsigned long flags) · 2 unmodified lines
184216 */
185217 int kgdb_arch_init(void)
186218 {
219+ int ret = register_die_notifier(&kgdb_notifier);
220+
221+ if (ret != 0)
222+ return ret;
223+
187224 register_undef_hook(&kgdb_brkpt_hook);
188225 register_undef_hook(&kgdb_compiled_brkpt_hook);
189226
@@ -200,6 +237,7 @@ void kgdb_arch_exit(void) · 10 unmodified lines
200237 {
201238 unregister_undef_hook(&kgdb_brkpt_hook);
202239 unregister_undef_hook(&kgdb_compiled_brkpt_hook);
240+ unregister_die_notifier(&kgdb_notifier);
203241 }
204242
205243 /*
arch/arm/kernel/machine_kexec.c+9−5
@@ -37,12 +37,12 @@ void machine_kexec_cleanup(struct kimage *image) · 36 unmodified lines
3737 {
3838 }
3939
40−void machine_shutdown(void)
41−{
42−}
43−
4440 void machine_crash_shutdown(struct pt_regs *regs)
4541 {
42+ local_irq_disable();
43+ crash_save_cpu(regs, smp_processor_id());
44+
45+ printk(KERN_INFO "Loading crashdump kernel...\n");
4646 }
4747
4848 void machine_kexec(struct kimage *image)
@@ -74,7 +74,11 @@ void machine_kexec(struct kimage *image) · 25 unmodified lines
7474 (unsigned long) reboot_code_buffer + KEXEC_CONTROL_PAGE_SIZE);
7575 printk(KERN_INFO "Bye!\n");
7676
77− cpu_proc_fin();
77+ local_irq_disable();
78+ local_fiq_disable();
7879 setup_mm_for_reboot(0); /* mode is not used, so just pass 0*/
80+ flush_cache_all();
81+ cpu_proc_fin();
82+ flush_cache_all();
7983 cpu_reset(reboot_code_buffer_phys);
8084 }
arch/arm/kernel/module.c+34−0
@@ -102,7 +102,9 @@ apply_relocate(Elf32_Shdr *sechdrs, const char *strtab, unsigned int symindex, · 101 unmodified lines
102102 unsigned long loc;
103103 Elf32_Sym *sym;
104104 s32 offset;
105+#ifdef CONFIG_THUMB2_KERNEL
105106 u32 upper, lower, sign, j1, j2;
107+#endif
106108
107109 offset = ELF32_R_SYM(rel->r_info);
108110 if (offset < 0 || offset > (symsec->sh_size / sizeof(Elf32_Sym))) {
@@ -185,6 +187,7 @@ apply_relocate(Elf32_Shdr *sechdrs, const char *strtab, unsigned int symindex, · 76 unmodified lines
185187 (offset & 0x0fff);
186188 break;
187189
190+#ifdef CONFIG_THUMB2_KERNEL
188191 case R_ARM_THM_CALL:
189192 case R_ARM_THM_JUMP24:
190193 upper = *(u16 *)loc;
@@ -233,9 +236,40 @@ apply_relocate(Elf32_Shdr *sechdrs, const char *strtab, unsigned int symindex, · 42 unmodified lines
233236 *(u16 *)(loc + 2) = (u16)((lower & 0xd000) |
234237 (j1 << 13) | (j2 << 11) |
235238 ((offset >> 1) & 0x07ff));
239+ break;
240+
241+ case R_ARM_THM_MOVW_ABS_NC:
242+ case R_ARM_THM_MOVT_ABS:
236243 upper = *(u16 *)loc;
237244 lower = *(u16 *)(loc + 2);
245+
246+ /*
247+ * MOVT/MOVW instructions encoding in Thumb-2:
248+ *
249+ * i = upper[10]
250+ * imm4 = upper[3:0]
251+ * imm3 = lower[14:12]
252+ * imm8 = lower[7:0]
253+ *
254+ * imm16 = imm4:i:imm3:imm8
255+ */
256+ offset = ((upper & 0x000f) << 12) |
257+ ((upper & 0x0400) << 1) |
258+ ((lower & 0x7000) >> 4) | (lower & 0x00ff);
259+ offset = (offset ^ 0x8000) - 0x8000;
260+ offset += sym->st_value;
261+
262+ if (ELF32_R_TYPE(rel->r_info) == R_ARM_THM_MOVT_ABS)
263+ offset >>= 16;
264+
265+ *(u16 *)loc = (u16)((upper & 0xfbf0) |
266+ ((offset & 0xf000) >> 12) |
267+ ((offset & 0x0800) >> 1));
268+ *(u16 *)(loc + 2) = (u16)((lower & 0x8f00) |
269+ ((offset & 0x0700) << 4) |
270+ (offset & 0x00ff));
238271 break;
272+#endif
239273
240274 default:
241275 printk(KERN_ERR "%s: unknown relocation: %u\n",
arch/arm/kernel/perf_event.c+9−9
@@ -164,20 +164,20 @@ armpmu_event_set_period(struct perf_event *event, · 163 unmodified lines
164164 struct hw_perf_event *hwc,
165165 int idx)
166166 {
167− s64 left = atomic64_read(&hwc->period_left);
167+ s64 left = local64_read(&hwc->period_left);
168168 s64 period = hwc->sample_period;
169169 int ret = 0;
170170
171171 if (unlikely(left <= -period)) {
172172 left = period;
173− atomic64_set(&hwc->period_left, left);
173+ local64_set(&hwc->period_left, left);
174174 hwc->last_period = period;
175175 ret = 1;
176176 }
177177
178178 if (unlikely(left <= 0)) {
179179 left += period;
180− atomic64_set(&hwc->period_left, left);
180+ local64_set(&hwc->period_left, left);
181181 hwc->last_period = period;
182182 ret = 1;
183183 }
@@ -185,7 +185,7 @@ armpmu_event_set_period(struct perf_event *event, · 1 unmodified line
185185 if (left > (s64)armpmu->max_period)
186186 left = armpmu->max_period;
187187
188− atomic64_set(&hwc->prev_count, (u64)-left);
188+ local64_set(&hwc->prev_count, (u64)-left);
189189
190190 armpmu->write_counter(idx, (u64)(-left) & 0xffffffff);
191191
@@ -204,18 +204,18 @@ armpmu_event_update(struct perf_event *event, · 12 unmodified lines
204204 u64 delta;
205205
206206 again:
207− prev_raw_count = atomic64_read(&hwc->prev_count);
207+ prev_raw_count = local64_read(&hwc->prev_count);
208208 new_raw_count = armpmu->read_counter(idx);
209209
210− if (atomic64_cmpxchg(&hwc->prev_count, prev_raw_count,
210+ if (local64_cmpxchg(&hwc->prev_count, prev_raw_count,
211211 new_raw_count) != prev_raw_count)
212212 goto again;
213213
214214 delta = (new_raw_count << shift) - (prev_raw_count << shift);
215215 delta >>= shift;
216216
217− atomic64_add(delta, &event->count);
218− atomic64_sub(delta, &hwc->period_left);
217+ local64_add(delta, &event->count);
218+ local64_sub(delta, &hwc->period_left);
219219
220220 return new_raw_count;
221221 }
@@ -478,7 +478,7 @@ __hw_perf_event_init(struct perf_event *event) · 256 unmodified lines
478478 if (!hwc->sample_period) {
479479 hwc->sample_period = armpmu->max_period;
480480 hwc->last_period = hwc->sample_period;
481− atomic64_set(&hwc->period_left, hwc->sample_period);
481+ local64_set(&hwc->period_left, hwc->sample_period);
482482 }
483483
484484 err = 0;
arch/arm/kernel/process.c+37−5
@@ -28,7 +28,9 @@ · 27 unmodified lines
2828 #include <linux/tick.h>
2929 #include <linux/utsname.h>
3030 #include <linux/uaccess.h>
31+#include <linux/random.h>
3132
33+#include <asm/cacheflush.h>
3234 #include <asm/leds.h>
3335 #include <asm/processor.h>
3436 #include <asm/system.h>
@@ -36,6 +38,12 @@ · 1 unmodified line
3638 #include <asm/stacktrace.h>
3739 #include <asm/mach/time.h>
3840
41+#ifdef CONFIG_CC_STACKPROTECTOR
42+#include <linux/stackprotector.h>
43+unsigned long __stack_chk_guard __read_mostly;
44+EXPORT_SYMBOL(__stack_chk_guard);
45+#endif
46+
3947 static const char *processor_modes[] = {
4048 "USER_26", "FIQ_26" , "IRQ_26" , "SVC_26" , "UK4_26" , "UK5_26" , "UK6_26" , "UK7_26" ,
4149 "UK8_26" , "UK9_26" , "UK10_26", "UK11_26", "UK12_26", "UK13_26", "UK14_26", "UK15_26",
@@ -84,10 +92,9 @@ __setup("hlt", hlt_setup); · 42 unmodified lines
8492
8593 void arm_machine_restart(char mode, const char *cmd)
8694 {
87− /*
88− * Clean and disable cache, and turn off interrupts
89− */
90− cpu_proc_fin();
95+ /* Disable interrupts first */
96+ local_irq_disable();
97+ local_fiq_disable();
9198
9299 /*
93100 * Tell the mm system that we are going to reboot -
@@ -96,6 +103,15 @@ void arm_machine_restart(char mode, const char *cmd) · 2 unmodified lines
96103 */
97104 setup_mm_for_reboot(mode);
98105
106+ /* Clean and invalidate caches */
107+ flush_cache_all();
108+
109+ /* Turn off caching */
110+ cpu_proc_fin();
111+
112+ /* Push out any further dirty data, and ensure cache is empty */
113+ flush_cache_all();
114+
99115 /*
100116 * Now call the architecture specific reboot code.
101117 */
@@ -189,19 +205,29 @@ int __init reboot_setup(char *str) · 87 unmodified lines
189205
190206 __setup("reboot=", reboot_setup);
191207
192−void machine_halt(void)
208+void machine_shutdown(void)
193209 {
210+#ifdef CONFIG_SMP
211+ smp_send_stop();
212+#endif
194213 }
195214
215+void machine_halt(void)
216+{
217+ machine_shutdown();
218+ while (1);
219+}
196220
197221 void machine_power_off(void)
198222 {
223+ machine_shutdown();
199224 if (pm_power_off)
200225 pm_power_off();
201226 }
202227
203228 void machine_restart(char *cmd)
204229 {
230+ machine_shutdown();
205231 arm_pm_restart(reboot_mode, cmd);
206232 }
207233
@@ -426,3 +452,9 @@ unsigned long get_wchan(struct task_struct *p) · 218 unmodified lines
426452 } while (count ++ < 16);
427453 return 0;
428454 }
455+
456+unsigned long arch_randomize_brk(struct mm_struct *mm)
457+{
458+ unsigned long range_end = mm->brk + 0x02000000;
459+ return randomize_range(mm->brk, range_end, 0) ? : mm->brk;
460+}
arch/arm/kernel/ptrace.c+96−0
@@ -52,6 +52,102 @@ · 51 unmodified lines
5252 #define BREAKINST_THUMB 0xde01
5353 #endif
5454
55+struct pt_regs_offset {
56+ const char *name;
57+ int offset;
58+};
59+
60+#define REG_OFFSET_NAME(r) \
61+ {.name = #r, .offset = offsetof(struct pt_regs, ARM_##r)}
62+#define REG_OFFSET_END {.name = NULL, .offset = 0}
63+
64+static const struct pt_regs_offset regoffset_table[] = {
65+ REG_OFFSET_NAME(r0),
66+ REG_OFFSET_NAME(r1),
67+ REG_OFFSET_NAME(r2),
68+ REG_OFFSET_NAME(r3),
69+ REG_OFFSET_NAME(r4),
70+ REG_OFFSET_NAME(r5),
71+ REG_OFFSET_NAME(r6),
72+ REG_OFFSET_NAME(r7),
73+ REG_OFFSET_NAME(r8),
74+ REG_OFFSET_NAME(r9),
75+ REG_OFFSET_NAME(r10),
76+ REG_OFFSET_NAME(fp),
77+ REG_OFFSET_NAME(ip),
78+ REG_OFFSET_NAME(sp),
79+ REG_OFFSET_NAME(lr),
80+ REG_OFFSET_NAME(pc),
81+ REG_OFFSET_NAME(cpsr),
82+ REG_OFFSET_NAME(ORIG_r0),
83+ REG_OFFSET_END,
84+};
85+
86+/**
87+ * regs_query_register_offset() - query register offset from its name
88+ * @name: the name of a register
89+ *
90+ * regs_query_register_offset() returns the offset of a register in struct
91+ * pt_regs from its name. If the name is invalid, this returns -EINVAL;
92+ */
93+int regs_query_register_offset(const char *name)
94+{
95+ const struct pt_regs_offset *roff;
96+ for (roff = regoffset_table; roff->name != NULL; roff++)
97+ if (!strcmp(roff->name, name))
98+ return roff->offset;
99+ return -EINVAL;
100+}
101+
102+/**
103+ * regs_query_register_name() - query register name from its offset
104+ * @offset: the offset of a register in struct pt_regs.
105+ *
106+ * regs_query_register_name() returns the name of a register from its
107+ * offset in struct pt_regs. If the @offset is invalid, this returns NULL;
108+ */
109+const char *regs_query_register_name(unsigned int offset)
110+{
111+ const struct pt_regs_offset *roff;
112+ for (roff = regoffset_table; roff->name != NULL; roff++)
113+ if (roff->offset == offset)
114+ return roff->name;
115+ return NULL;
116+}
117+
118+/**
119+ * regs_within_kernel_stack() - check the address in the stack
120+ * @regs: pt_regs which contains kernel stack pointer.
121+ * @addr: address which is checked.
122+ *
123+ * regs_within_kernel_stack() checks @addr is within the kernel stack page(s).
124+ * If @addr is within the kernel stack, it returns true. If not, returns false.
125+ */
126+bool regs_within_kernel_stack(struct pt_regs *regs, unsigned long addr)
127+{
128+ return ((addr & ~(THREAD_SIZE - 1)) ==
129+ (kernel_stack_pointer(regs) & ~(THREAD_SIZE - 1)));
130+}
131+
132+/**
133+ * regs_get_kernel_stack_nth() - get Nth entry of the stack
134+ * @regs: pt_regs which contains kernel stack pointer.
135+ * @n: stack entry number.
136+ *
137+ * regs_get_kernel_stack_nth() returns @n th entry of the kernel stack which
138+ * is specified by @regs. If the @n th entry is NOT in the kernel stack,
139+ * this returns 0.
140+ */
141+unsigned long regs_get_kernel_stack_nth(struct pt_regs *regs, unsigned int n)
142+{
143+ unsigned long *addr = (unsigned long *)kernel_stack_pointer(regs);
144+ addr += n;
145+ if (regs_within_kernel_stack(regs, (unsigned long)addr))
146+ return *addr;
147+ else
148+ return 0;
149+}
150+
55151 /*
56152 * this routine will get a word off of the processes privileged stack.
57153 * the offset is how far from the base addr as stored in the THREAD.
arch/arm/kernel/relocate_kernel.S+6−0
@@ -10,6 +10,12 @@ relocate_new_kernel: · 9 unmodified lines
1010 ldr r0,kexec_indirection_page
1111 ldr r1,kexec_start_address
1212
13+ /*
14+ * If there is no indirection page (we are doing crashdumps)
15+ * skip any relocation.
16+ */
17+ cmp r0, #0
18+ beq 2f
1319
1420 0: /* top, read another word for the indirection page */
1521 ldr r3, [r0],#4
arch/arm/kernel/setup.c+109−2
@@ -19,12 +19,15 @@ · 18 unmodified lines
1919 #include <linux/seq_file.h>
2020 #include <linux/screen_info.h>
2121 #include <linux/init.h>
22+#include <linux/kexec.h>
23+#include <linux/crash_dump.h>
2224 #include <linux/root_dev.h>
2325 #include <linux/cpu.h>
2426 #include <linux/interrupt.h>
2527 #include <linux/smp.h>
2628 #include <linux/fs.h>
2729 #include <linux/proc_fs.h>
30+#include <linux/memblock.h>
2831
2932 #include <asm/unified.h>
3033 #include <asm/cpu.h>
@@ -44,7 +47,9 @@ · 13 unmodified lines
4447 #include <asm/traps.h>
4548 #include <asm/unwind.h>
4649
50+#if defined(CONFIG_DEPRECATED_PARAM_STRUCT)
4751 #include "compat.h"
52+#endif
4853 #include "atags.h"
4954 #include "tcm.h"
5055
@@ -269,6 +274,21 @@ static void __init cacheid_init(void) · 218 unmodified lines
269274 extern struct proc_info_list *lookup_processor_type(unsigned int);
270275 extern struct machine_desc *lookup_machine_type(unsigned int);
271276
277+static void __init feat_v6_fixup(void)
278+{
279+ int id = read_cpuid_id();
280+
281+ if ((id & 0xff0f0000) != 0x41070000)
282+ return;
283+
284+ /*
285+ * HWCAP_TLS is available only on 1136 r1p0 and later,
286+ * see also kuser_get_tls_init.
287+ */
288+ if ((((id >> 4) & 0xfff) == 0xb36) && (((id >> 20) & 3) == 0))
289+ elf_hwcap &= ~HWCAP_TLS;
290+}
291+
272292 static void __init setup_processor(void)
273293 {
274294 struct proc_info_list *list;
@@ -311,6 +331,8 @@ static void __init setup_processor(void) · 36 unmodified lines
311331 elf_hwcap &= ~HWCAP_THUMB;
312332 #endif
313333
334+ feat_v6_fixup();
335+
314336 cacheid_init();
315337 cpu_proc_init();
316338 }
@@ -402,13 +424,12 @@ static int __init arm_add_memory(unsigned long start, unsigned long size) · 85 unmodified lines
402424 size -= start & ~PAGE_MASK;
403425 bank->start = PAGE_ALIGN(start);
404426 bank->size = size & PAGE_MASK;
405− bank->node = PHYS_TO_NID(start);
406427
407428 /*
408429 * Check whether this memory region has non-zero size or
409430 * invalid node number.
410431 */
411− if (bank->size == 0 || bank->node >= MAX_NUMNODES)
432+ if (bank->size == 0)
412433 return -EINVAL;
413434
414435 meminfo.nr_banks++;
@@ -663,6 +684,86 @@ static int __init customize_machine(void) · 248 unmodified lines
663684 }
664685 arch_initcall(customize_machine);
665686
687+#ifdef CONFIG_KEXEC
688+static inline unsigned long long get_total_mem(void)
689+{
690+ unsigned long total;
691+
692+ total = max_low_pfn - min_low_pfn;
693+ return total << PAGE_SHIFT;
694+}
695+
696+/**
697+ * reserve_crashkernel() - reserves memory are for crash kernel
698+ *
699+ * This function reserves memory area given in "crashkernel=" kernel command
700+ * line parameter. The memory reserved is used by a dump capture kernel when
701+ * primary kernel is crashing.
702+ */
703+static void __init reserve_crashkernel(void)
704+{
705+ unsigned long long crash_size, crash_base;
706+ unsigned long long total_mem;
707+ int ret;
708+
709+ total_mem = get_total_mem();
710+ ret = parse_crashkernel(boot_command_line, total_mem,
711+ &crash_size, &crash_base);
712+ if (ret)
713+ return;
714+
715+ ret = reserve_bootmem(crash_base, crash_size, BOOTMEM_EXCLUSIVE);
716+ if (ret < 0) {
717+ printk(KERN_WARNING "crashkernel reservation failed - "
718+ "memory is in use (0x%lx)\n", (unsigned long)crash_base);
719+ return;
720+ }
721+
722+ printk(KERN_INFO "Reserving %ldMB of memory at %ldMB "
723+ "for crashkernel (System RAM: %ldMB)\n",
724+ (unsigned long)(crash_size >> 20),
725+ (unsigned long)(crash_base >> 20),
726+ (unsigned long)(total_mem >> 20));
727+
728+ crashk_res.start = crash_base;
729+ crashk_res.end = crash_base + crash_size - 1;
730+ insert_resource(&iomem_resource, &crashk_res);
731+}
732+#else
733+static inline void reserve_crashkernel(void) {}
734+#endif /* CONFIG_KEXEC */
735+
736+/*
737+ * Note: elfcorehdr_addr is not just limited to vmcore. It is also used by
738+ * is_kdump_kernel() to determine if we are booting after a panic. Hence
739+ * ifdef it under CONFIG_CRASH_DUMP and not CONFIG_PROC_VMCORE.
740+ */
741+
742+#ifdef CONFIG_CRASH_DUMP
743+/*
744+ * elfcorehdr= specifies the location of elf core header stored by the crashed
745+ * kernel. This option will be passed by kexec loader to the capture kernel.
746+ */
747+static int __init setup_elfcorehdr(char *arg)
748+{
749+ char *end;
750+
751+ if (!arg)
752+ return -EINVAL;
753+
754+ elfcorehdr_addr = memparse(arg, &end);
755+ return end > arg ? 0 : -EINVAL;
756+}
757+early_param("elfcorehdr", setup_elfcorehdr);
758+#endif /* CONFIG_CRASH_DUMP */
759+
760+static void __init squash_mem_tags(struct tag *tag)
761+{
762+ for (; tag->hdr.size; tag = tag_next(tag))
763+ if (tag->hdr.tag == ATAG_MEM)
764+ tag->hdr.tag = ATAG_NONE;
765+}
766+
666767 void __init setup_arch(char **cmdline_p)
667768 {
668769 struct tag *tags = (struct tag *)&init_tags;
@@ -683,12 +784,14 @@ void __init setup_arch(char **cmdline_p) · 14 unmodified lines
683784 else if (mdesc->boot_params)
684785 tags = phys_to_virt(mdesc->boot_params);
685786
787+#if defined(CONFIG_DEPRECATED_PARAM_STRUCT)
686788 /*
687789 * If we have the old style parameters, convert them to
688790 * a tag list.
689791 */
690792 if (tags->hdr.tag != ATAG_CORE)
691793 convert_to_tag_list(tags);
794+#endif
692795 if (tags->hdr.tag != ATAG_CORE)
693796 tags = (struct tag *)&init_tags;
694797
@@ -716,12 +819,15 @@ void __init setup_arch(char **cmdline_p) · 21 unmodified lines
716819
717820 parse_early_param();
718821
822+ arm_memblock_init(&meminfo, mdesc);
823+
719824 paging_init(mdesc);
720825 request_standard_resources(&meminfo, mdesc);
721826
722827 #ifdef CONFIG_SMP
723828 smp_init_cpus();
724829 #endif
830+ reserve_crashkernel();
725831
726832 cpu_init();
727833 tcm_init();
@@ -729,6 +835,7 @@ void __init setup_arch(char **cmdline_p) · 1 unmodified line
729835 /*
730836 * Set up various architecture-specific pointers
731837 */
838+ arch_nr_irqs = mdesc->nr_irqs;
732839 init_arch_irq = mdesc->init_irq;
733840 system_timer = mdesc->timer;
734841 init_machine = mdesc->init_machine;
arch/arm/kernel/smp.c+12−5
@@ -429,7 +429,11 @@ static void smp_timer_broadcast(const struct cpumask *mask) · 428 unmodified lines
429429 {
430430 send_ipi_message(mask, IPI_TIMER);
431431 }
432+#else
433+#define smp_timer_broadcast NULL
434+#endif
432435
436+#ifndef CONFIG_LOCAL_TIMERS
433437 static void broadcast_timer_set_mode(enum clock_event_mode mode,
434438 struct clock_event_device *evt)
435439 {
@@ -444,7 +448,6 @@ static void local_timer_setup(struct clock_event_device *evt) · 8 unmodified lines
444448 evt->rating = 400;
445449 evt->mult = 1;
446450 evt->set_mode = broadcast_timer_set_mode;
447− evt->broadcast = smp_timer_broadcast;
448451
449452 clockevents_register_device(evt);
450453 }
@@ -456,6 +459,7 @@ void __cpuinit percpu_timer_setup(void) · 5 unmodified lines
456459 struct clock_event_device *evt = &per_cpu(percpu_clockevent, cpu);
457460
458461 evt->cpumask = cpumask_of(cpu);
462+ evt->broadcast = smp_timer_broadcast;
459463
460464 local_timer_setup(evt);
461465 }
@@ -467,10 +471,13 @@ static DEFINE_SPINLOCK(stop_lock); · 5 unmodified lines
467471 */
468472 static void ipi_cpu_stop(unsigned int cpu)
469473 {
470− spin_lock(&stop_lock);
471− printk(KERN_CRIT "CPU%u: stopping\n", cpu);
472− dump_stack();
473− spin_unlock(&stop_lock);
474+ if (system_state == SYSTEM_BOOTING ||
475+ system_state == SYSTEM_RUNNING) {
476+ spin_lock(&stop_lock);
477+ printk(KERN_CRIT "CPU%u: stopping\n", cpu);
478+ dump_stack();
479+ spin_unlock(&stop_lock);
480+ }
474481
475482 set_cpu_online(cpu, false);
476483
arch/arm/kernel/smp_twd.c+2−1
@@ -132,7 +132,8 @@ void __cpuinit twd_timer_setup(struct clock_event_device *clk) · 131 unmodified lines
132132 twd_calibrate_rate();
133133
134134 clk->name = "local_timer";
135− clk->features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT;
135+ clk->features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT |
136+ CLOCK_EVT_FEAT_C3STOP;
136137 clk->rating = 350;
137138 clk->set_mode = twd_set_mode;
138139 clk->set_next_event = twd_set_next_event;
arch/arm/kernel/sys_arm.c+2−2
@@ -62,7 +62,7 @@ asmlinkage int sys_vfork(struct pt_regs *regs) · 61 unmodified lines
6262 /* sys_execve() executes a new program.
6363 * This is called indirectly via a small wrapper
6464 */
65−asmlinkage int sys_execve(char __user *filenamei, char __user * __user *argv,
65+asmlinkage int sys_execve(const char __user *filenamei, char __user * __user *argv,
6666 char __user * __user *envp, struct pt_regs *regs)
6767 {
6868 int error;
@@ -84,7 +84,7 @@ int kernel_execve(const char *filename, char *const argv[], char *const envp[]) · 15 unmodified lines
8484 int ret;
8585
8686 memset(&regs, 0, sizeof(struct pt_regs));
87− ret = do_execve((char *)filename, (char __user * __user *)argv,
87+ ret = do_execve(filename, (char __user * __user *)argv,
8888 (char __user * __user *)envp, &regs);
8989 if (ret < 0)
9090 goto out;
arch/arm/kernel/sys_oabi-compat.c+3−3
@@ -141,7 +141,7 @@ static long cp_oldabi_stat64(struct kstat *stat, · 140 unmodified lines
141141 return copy_to_user(statbuf,&tmp,sizeof(tmp)) ? -EFAULT : 0;
142142 }
143143
144−asmlinkage long sys_oabi_stat64(char __user * filename,
144+asmlinkage long sys_oabi_stat64(const char __user * filename,
145145 struct oldabi_stat64 __user * statbuf)
146146 {
147147 struct kstat stat;
@@ -151,7 +151,7 @@ asmlinkage long sys_oabi_stat64(char __user * filename, · 3 unmodified lines
151151 return error;
152152 }
153153
154−asmlinkage long sys_oabi_lstat64(char __user * filename,
154+asmlinkage long sys_oabi_lstat64(const char __user * filename,
155155 struct oldabi_stat64 __user * statbuf)
156156 {
157157 struct kstat stat;
@@ -172,7 +172,7 @@ asmlinkage long sys_oabi_fstat64(unsigned long fd, · 14 unmodified lines
172172 }
173173
174174 asmlinkage long sys_oabi_fstatat64(int dfd,
175− char __user *filename,
175+ const char __user *filename,
176176 struct oldabi_stat64 __user *statbuf,
177177 int flag)
178178 {
arch/arm/kernel/tcm.c+73−45
@@ -13,38 +13,35 @@ · 12 unmodified lines
1313 #include <linux/ioport.h>
1414 #include <linux/genalloc.h>
1515 #include <linux/string.h> /* memcpy */
16−#include <asm/page.h> /* PAGE_SHIFT */
1716 #include <asm/cputype.h>
1817 #include <asm/mach/map.h>
1918 #include <mach/memory.h>
2019 #include "tcm.h"
2120
22−/* Scream and warn about misuse */
23−#if !defined(ITCM_OFFSET) || !defined(ITCM_END) || \
24− !defined(DTCM_OFFSET) || !defined(DTCM_END)
25−#error "TCM support selected but offsets not defined!"
26−#endif
27−
2821 static struct gen_pool *tcm_pool;
2922
3023 /* TCM section definitions from the linker */
3124 extern char __itcm_start, __sitcm_text, __eitcm_text;
3225 extern char __dtcm_start, __sdtcm_data, __edtcm_data;
3326
27+/* These will be increased as we run */
28+u32 dtcm_end = DTCM_OFFSET;
29+u32 itcm_end = ITCM_OFFSET;
30+
3431 /*
3532 * TCM memory resources
3633 */
3734 static struct resource dtcm_res = {
3835 .name = "DTCM RAM",
3936 .start = DTCM_OFFSET,
40− .end = DTCM_END,
37+ .end = DTCM_OFFSET,
4138 .flags = IORESOURCE_MEM
4239 };
4340
4441 static struct resource itcm_res = {
4542 .name = "ITCM RAM",
4643 .start = ITCM_OFFSET,
47− .end = ITCM_END,
44+ .end = ITCM_OFFSET,
4845 .flags = IORESOURCE_MEM
4946 };
5047
@@ -52,8 +49,8 @@ static struct map_desc dtcm_iomap[] __initdata = { · 1 unmodified line
5249 {
5350 .virtual = DTCM_OFFSET,
5451 .pfn = __phys_to_pfn(DTCM_OFFSET),
55− .length = (DTCM_END - DTCM_OFFSET + 1),
56− .type = MT_UNCACHED
52+ .length = 0,
53+ .type = MT_MEMORY_DTCM
5754 }
5855 };
5956
@@ -61,8 +58,8 @@ static struct map_desc itcm_iomap[] __initdata = { · 1 unmodified line
6158 {
6259 .virtual = ITCM_OFFSET,
6360 .pfn = __phys_to_pfn(ITCM_OFFSET),
64− .length = (ITCM_END - ITCM_OFFSET + 1),
65− .type = MT_UNCACHED
61+ .length = 0,
62+ .type = MT_MEMORY_ITCM
6663 }
6764 };
6865
@@ -93,14 +90,24 @@ void tcm_free(void *addr, size_t len) · 24 unmodified lines
9390 }
9491 EXPORT_SYMBOL(tcm_free);
9592
96−
97−static void __init setup_tcm_bank(u8 type, u32 offset, u32 expected_size)
93+static int __init setup_tcm_bank(u8 type, u8 bank, u8 banks,
94+ u32 *offset)
9895 {
9996 const int tcm_sizes[16] = { 0, -1, -1, 4, 8, 16, 32, 64, 128,
10097 256, 512, 1024, -1, -1, -1, -1 };
10198 u32 tcm_region;
10299 int tcm_size;
103100
101+ /*
102+ * If there are more than one TCM bank of this type,
103+ * select the TCM bank to operate on in the TCM selection
104+ * register.
105+ */
106+ if (banks > 1)
107+ asm("mcr p15, 0, %0, c9, c2, 0"
108+ : /* No output operands */
109+ : "r" (bank));
110+
104111 /* Read the special TCM region register c9, 0 */
105112 if (!type)
106113 asm("mrc p15, 0, %0, c9, c1, 0"
@@ -111,26 +118,24 @@ static void __init setup_tcm_bank(u8 type, u32 offset, u32 expected_size) · 4 unmodified lines
111118
112119 tcm_size = tcm_sizes[(tcm_region >> 2) & 0x0f];
113120 if (tcm_size < 0) {
114− pr_err("CPU: %sTCM of unknown size!\n",
115− type ? "I" : "D");
121+ pr_err("CPU: %sTCM%d of unknown size\n",
122+ type ? "I" : "D", bank);
123+ return -EINVAL;
124+ } else if (tcm_size > 32) {
125+ pr_err("CPU: %sTCM%d larger than 32k found\n",
126+ type ? "I" : "D", bank);
127+ return -EINVAL;
116128 } else {
117− pr_info("CPU: found %sTCM %dk @ %08x, %senabled\n",
129+ pr_info("CPU: found %sTCM%d %dk @ %08x, %senabled\n",
118130 type ? "I" : "D",
131+ bank,
119132 tcm_size,
120133 (tcm_region & 0xfffff000U),
121134 (tcm_region & 1) ? "" : "not ");
122135 }
123136
124− if (tcm_size != expected_size) {
125− pr_crit("CPU: %sTCM was detected %dk but expected %dk!\n",
126− type ? "I" : "D",
127− tcm_size,
128− expected_size);
129− /* Adjust to the expected size? what can we do... */
130− }
131−
132137 /* Force move the TCM bank to where we want it, enable */
133− tcm_region = offset | (tcm_region & 0x00000ffeU) | 1;
138+ tcm_region = *offset | (tcm_region & 0x00000ffeU) | 1;
134139
135140 if (!type)
136141 asm("mcr p15, 0, %0, c9, c1, 0"
@@ -141,10 +146,15 @@ static void __init setup_tcm_bank(u8 type, u32 offset, u32 expected_size) · 4 unmodified lines
141146 : /* No output operands */
142147 : "r" (tcm_region));
143148
144− pr_debug("CPU: moved %sTCM %dk to %08x, enabled\n",
145− type ? "I" : "D",
146− tcm_size,
147− (tcm_region & 0xfffff000U));
149+ /* Increase offset */
150+ *offset += (tcm_size << 10);
151+
152+ pr_info("CPU: moved %sTCM%d %dk to %08x, enabled\n",
153+ type ? "I" : "D",
154+ bank,
155+ tcm_size,
156+ (tcm_region & 0xfffff000U));
157+ return 0;
148158 }
149159
150160 /*
@@ -153,34 +163,52 @@ static void __init setup_tcm_bank(u8 type, u32 offset, u32 expected_size) · 2 unmodified lines
153163 void __init tcm_init(void)
154164 {
155165 u32 tcm_status = read_cpuid_tcmstatus();
166+ u8 dtcm_banks = (tcm_status >> 16) & 0x03;
167+ u8 itcm_banks = (tcm_status & 0x03);
156168 char *start;
157169 char *end;
158170 char *ram;
171+ int ret;
172+ int i;
159173
160174 /* Setup DTCM if present */
161− if (tcm_status & (1 << 16)) {
162− setup_tcm_bank(0, DTCM_OFFSET,
163− (DTCM_END - DTCM_OFFSET + 1) >> 10);
175+ if (dtcm_banks > 0) {
176+ for (i = 0; i < dtcm_banks; i++) {
177+ ret = setup_tcm_bank(0, i, dtcm_banks, &dtcm_end);
178+ if (ret)
179+ return;
180+ }
181+ dtcm_res.end = dtcm_end - 1;
164182 request_resource(&iomem_resource, &dtcm_res);
183+ dtcm_iomap[0].length = dtcm_end - DTCM_OFFSET;
165184 iotable_init(dtcm_iomap, 1);
166185 /* Copy data from RAM to DTCM */
167186 start = &__sdtcm_data;
168187 end = &__edtcm_data;
169188 ram = &__dtcm_start;
189+ /* This means you compiled more code than fits into DTCM */
190+ BUG_ON((end - start) > (dtcm_end - DTCM_OFFSET));
170191 memcpy(start, ram, (end-start));
171192 pr_debug("CPU DTCM: copied data from %p - %p\n", start, end);
172193 }
173194
174195 /* Setup ITCM if present */
175− if (tcm_status & 1) {
176− setup_tcm_bank(1, ITCM_OFFSET,
177− (ITCM_END - ITCM_OFFSET + 1) >> 10);
196+ if (itcm_banks > 0) {
197+ for (i = 0; i < itcm_banks; i++) {
198+ ret = setup_tcm_bank(1, i, itcm_banks, &itcm_end);
199+ if (ret)
200+ return;
201+ }
202+ itcm_res.end = itcm_end - 1;
178203 request_resource(&iomem_resource, &itcm_res);
204+ itcm_iomap[0].length = itcm_end - ITCM_OFFSET;
179205 iotable_init(itcm_iomap, 1);
180206 /* Copy code from RAM to ITCM */
181207 start = &__sitcm_text;
182208 end = &__eitcm_text;
183209 ram = &__itcm_start;
210+ /* This means you compiled more code than fits into ITCM */
211+ BUG_ON((end - start) > (itcm_end - ITCM_OFFSET));
184212 memcpy(start, ram, (end-start));
185213 pr_debug("CPU ITCM: copied code from %p - %p\n", start, end);
186214 }
@@ -208,10 +236,10 @@ static int __init setup_tcm_pool(void) · 21 unmodified lines
208236 pr_debug("Setting up TCM memory pool\n");
209237
210238 /* Add the rest of DTCM to the TCM pool */
211− if (tcm_status & (1 << 16)) {
212− if (dtcm_pool_start < DTCM_END) {
239+ if (tcm_status & (0x03 << 16)) {
240+ if (dtcm_pool_start < dtcm_end) {
213241 ret = gen_pool_add(tcm_pool, dtcm_pool_start,
214− DTCM_END - dtcm_pool_start + 1, -1);
242+ dtcm_end - dtcm_pool_start, -1);
215243 if (ret) {
216244 pr_err("CPU DTCM: could not add DTCM " \
217245 "remainder to pool!\n");
@@ -219,16 +247,16 @@ static int __init setup_tcm_pool(void) · 1 unmodified line
219247 }
220248 pr_debug("CPU DTCM: Added %08x bytes @ %08x to " \
221249 "the TCM memory pool\n",
222− DTCM_END - dtcm_pool_start + 1,
250+ dtcm_end - dtcm_pool_start,
223251 dtcm_pool_start);
224252 }
225253 }
226254
227255 /* Add the rest of ITCM to the TCM pool */
228− if (tcm_status & 1) {
229− if (itcm_pool_start < ITCM_END) {
256+ if (tcm_status & 0x03) {
257+ if (itcm_pool_start < itcm_end) {
230258 ret = gen_pool_add(tcm_pool, itcm_pool_start,
231− ITCM_END - itcm_pool_start + 1, -1);
259+ itcm_end - itcm_pool_start, -1);
232260 if (ret) {
233261 pr_err("CPU ITCM: could not add ITCM " \
234262 "remainder to pool!\n");
@@ -236,7 +264,7 @@ static int __init setup_tcm_pool(void) · 1 unmodified line
236264 }
237265 pr_debug("CPU ITCM: Added %08x bytes @ %08x to " \
238266 "the TCM memory pool\n",
239− ITCM_END - itcm_pool_start + 1,
267+ itcm_end - itcm_pool_start,
240268 itcm_pool_start);
241269 }
242270 }
arch/arm/kernel/traps.c+30−11
@@ -30,6 +30,7 @@ · 29 unmodified lines
3030 #include <asm/unistd.h>
3131 #include <asm/traps.h>
3232 #include <asm/unwind.h>
33+#include <asm/tls.h>
3334
3435 #include "ptrace.h"
3536 #include "signal.h"
@@ -518,17 +519,20 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs) · 482 unmodified lines
518519
519520 case NR(set_tls):
520521 thread->tp_value = regs->ARM_r0;
521−#if defined(CONFIG_HAS_TLS_REG)
522− asm ("mcr p15, 0, %0, c13, c0, 3" : : "r" (regs->ARM_r0) );
523−#elif !defined(CONFIG_TLS_REG_EMUL)
524− /*
525− * User space must never try to access this directly.
526− * Expect your app to break eventually if you do so.
527− * The user helper at 0xffff0fe0 must be used instead.
528− * (see entry-armv.S for details)
529− */
530− *((unsigned int *)0xffff0ff0) = regs->ARM_r0;
531−#endif
522+ if (tls_emu)
523+ return 0;
524+ if (has_tls_reg) {
525+ asm ("mcr p15, 0, %0, c13, c0, 3"
526+ : : "r" (regs->ARM_r0));
527+ } else {
528+ /*
529+ * User space must never try to access this directly.
530+ * Expect your app to break eventually if you do so.
531+ * The user helper at 0xffff0fe0 must be used instead.
532+ * (see entry-armv.S for details)
533+ */
534+ *((unsigned int *)0xffff0ff0) = regs->ARM_r0;
535+ }
532536 return 0;
533537
534538 #ifdef CONFIG_NEEDS_SYSCALL_FOR_CMPXCHG
@@ -743,6 +747,16 @@ void __init trap_init(void) · 208 unmodified lines
743747 return;
744748 }
745749
750+static void __init kuser_get_tls_init(unsigned long vectors)
751+{
752+ /*
753+ * vectors + 0xfe0 = __kuser_get_tls
754+ * vectors + 0xfe8 = hardware TLS instruction at 0xffff0fe8
755+ */
756+ if (tls_emu || has_tls_reg)
757+ memcpy((void *)vectors + 0xfe0, (void *)vectors + 0xfe8, 4);
758+}
759+
746760 void __init early_trap_init(void)
747761 {
748762 unsigned long vectors = CONFIG_VECTORS_BASE;
@@ -760,6 +774,11 @@ void __init early_trap_init(void) · 11 unmodified lines
760774 memcpy((void *)vectors + 0x200, __stubs_start, __stubs_end - __stubs_start);
761775 memcpy((void *)vectors + 0x1000 - kuser_sz, __kuser_helper_start, kuser_sz);
762776
777+ /*
778+ * Do processor specific fixups for the kuser helpers
779+ */
780+ kuser_get_tls_init(vectors);
781+
763782 /*
764783 * Copy signal return handlers into the vector page, and
765784 * set sigreturn to be a pointer to these.
arch/arm/lib/Makefile+0−1
@@ -41,7 +41,6 @@ else · 40 unmodified lines
4141 endif
4242
4343 lib-$(CONFIG_ARCH_RPC) += ecard.o io-acorn.o floppydma.o
44−lib-$(CONFIG_ARCH_L7200) += io-acorn.o
4544 lib-$(CONFIG_ARCH_SHARK) += io-shark.o
4645
4746 $(obj)/csumpartialcopy.o: $(obj)/csumpartialcopygeneric.S
arch/arm/mach-aaec2000/include/mach/memory.h+0−10
@@ -14,14 +14,4 @@ · 13 unmodified lines
1414
1515 #define PHYS_OFFSET UL(0xf0000000)
1616
17−/*
18− * The nodes are the followings:
19− *
20− * node 0: 0xf000.0000 - 0xf3ff.ffff
21− * node 1: 0xf400.0000 - 0xf7ff.ffff
22− * node 2: 0xf800.0000 - 0xfbff.ffff
23− * node 3: 0xfc00.0000 - 0xffff.ffff
24− */
25−#define NODE_MEM_SIZE_BITS 26
26−
2717 #endif /* __ASM_ARCH_MEMORY_H */
arch/arm/mach-at91/Kconfig+11−0
@@ -366,6 +366,17 @@ config MACH_STAMP9G20 · 365 unmodified lines
366366
367367 endif
368368
369+if (ARCH_AT91SAM9260 || ARCH_AT91SAM9G20)
370+comment "AT91SAM9260/AT91SAM9G20 boards"
371+
372+config MACH_SNAPPER_9260
373+ bool "Bluewater Systems Snapper 9260/9G20 module"
374+ help
375+ Select this if you are using the Bluewater Systems Snapper 9260 or
376+ Snapper 9G20 modules.
377+ <http://www.bluewatersys.com/>
378+endif
379+
369380 # ----------------------------------------------------------
370381
371382 if ARCH_AT91SAM9G45
arch/arm/mach-at91/Makefile+3−0
@@ -66,6 +66,9 @@ obj-$(CONFIG_MACH_CPU9G20) += board-cpu9krea.o · 65 unmodified lines
6666 obj-$(CONFIG_MACH_STAMP9G20) += board-stamp9g20.o
6767 obj-$(CONFIG_MACH_PORTUXG20) += board-stamp9g20.o
6868
69+# AT91SAM9260/AT91SAM9G20 board-specific support
70+obj-$(CONFIG_MACH_SNAPPER_9260) += board-snapper9260.o
71+
6972 # AT91SAM9G45 board-specific support
7073 obj-$(CONFIG_MACH_AT91SAM9G45EKES) += board-sam9m10g45ek.o
7174
arch/arm/mach-at91/at91sam9g45.c+11−0
@@ -20,6 +20,7 @@ · 19 unmodified lines
2020 #include <mach/at91_pmc.h>
2121 #include <mach/at91_rstc.h>
2222 #include <mach/at91_shdwc.h>
23+#include <mach/cpu.h>
2324
2425 #include "generic.h"
2526 #include "clock.h"
@@ -176,6 +177,13 @@ static struct clk mmc1_clk = { · 150 unmodified lines
176177 .type = CLK_TYPE_PERIPHERAL,
177178 };
178179
180+/* Video decoder clock - Only for sam9m10/sam9m11 */
181+static struct clk vdec_clk = {
182+ .name = "vdec_clk",
183+ .pmc_mask = 1 << AT91SAM9G45_ID_VDEC,
184+ .type = CLK_TYPE_PERIPHERAL,
185+};
186+
179187 /* One additional fake clock for ohci */
180188 static struct clk ohci_clk = {
181189 .name = "ohci_clk",
@@ -239,6 +247,9 @@ static void __init at91sam9g45_register_clocks(void) · 57 unmodified lines
239247 for (i = 0; i < ARRAY_SIZE(periph_clocks); i++)
240248 clk_register(periph_clocks[i]);
241249
250+ if (cpu_is_at91sam9m10() || cpu_is_at91sam9m11())
251+ clk_register(&vdec_clk);
252+
242253 clk_register(&pck0);
243254 clk_register(&pck1);
244255 }
arch/arm/mach-at91/board-cam60.c+3−3
@@ -75,7 +75,7 @@ static struct at91_usbh_data __initdata cam60_usbh_data = { · 74 unmodified lines
7575 * SPI devices.
7676 */
7777 #if defined(CONFIG_MTD_DATAFLASH)
78−static struct mtd_partition __initdata cam60_spi_partitions[] = {
78+static struct mtd_partition cam60_spi_partitions[] = {
7979 {
8080 .name = "BOOT1",
8181 .offset = 0,
@@ -98,14 +98,14 @@ static struct mtd_partition __initdata cam60_spi_partitions[] = { · 16 unmodified lines
9898 },
9999 };
100100
101−static struct flash_platform_data __initdata cam60_spi_flash_platform_data = {
101+static struct flash_platform_data cam60_spi_flash_platform_data = {
102102 .name = "spi_flash",
103103 .parts = cam60_spi_partitions,
104104 .nr_parts = ARRAY_SIZE(cam60_spi_partitions)
105105 };
106106 #endif
107107
108−static struct spi_board_info cam60_spi_devices[] = {
108+static struct spi_board_info cam60_spi_devices[] __initdata = {
109109 #if defined(CONFIG_MTD_DATAFLASH)
110110 { /* DataFlash chip */
111111 .modalias = "mtd_dataflash",
arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c+45−0
@@ -26,6 +26,9 @@ · 25 unmodified lines
2626 #include <linux/spi/spi.h>
2727 #include <linux/spi/at73c213.h>
2828 #include <linux/clk.h>
29+#include <linux/regulator/machine.h>
30+#include <linux/regulator/fixed.h>
31+#include <linux/regulator/consumer.h>
2932
3033 #include <mach/hardware.h>
3134 #include <asm/setup.h>
@@ -235,6 +238,46 @@ static struct gpio_led ek_leds[] = { · 203 unmodified lines
235238 }
236239 };
237240
241+#if defined(CONFIG_REGULATOR_FIXED_VOLTAGE) || defined(CONFIG_REGULATOR_FIXED_VOLTAGE_MODULE)
242+static struct regulator_consumer_supply ek_audio_consumer_supplies[] = {
243+ REGULATOR_SUPPLY("AVDD", "0-001b"),
244+ REGULATOR_SUPPLY("HPVDD", "0-001b"),
245+ REGULATOR_SUPPLY("DBVDD", "0-001b"),
246+ REGULATOR_SUPPLY("DCVDD", "0-001b"),
247+};
248+
249+static struct regulator_init_data ek_avdd_reg_init_data = {
250+ .constraints = {
251+ .name = "3V3",
252+ .valid_ops_mask = REGULATOR_CHANGE_STATUS,
253+ },
254+ .consumer_supplies = ek_audio_consumer_supplies,
255+ .num_consumer_supplies = ARRAY_SIZE(ek_audio_consumer_supplies),
256+};
257+
258+static struct fixed_voltage_config ek_vdd_pdata = {
259+ .supply_name = "board-3V3",
260+ .microvolts = 3300000,
261+ .gpio = -EINVAL,
262+ .enabled_at_boot = 0,
263+ .init_data = &ek_avdd_reg_init_data,
264+};
265+static struct platform_device ek_voltage_regulator = {
266+ .name = "reg-fixed-voltage",
267+ .id = -1,
268+ .num_resources = 0,
269+ .dev = {
270+ .platform_data = &ek_vdd_pdata,
271+ },
272+};
273+static void __init ek_add_regulators(void)
274+{
275+ platform_device_register(&ek_voltage_regulator);
276+}
277+#else
278+static void __init ek_add_regulators(void) {}
279+#endif
280+
238281 static struct i2c_board_info __initdata ek_i2c_devices[] = {
239282 {
240283 I2C_BOARD_INFO("24c512", 0x50),
@@ -256,6 +299,8 @@ static void __init ek_board_init(void) · 15 unmodified lines

8 more lines aren’t shown here.

arch/arm/mach-at91/board-sam9g20ek.c+45−0

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

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

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

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

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

arch/arm/mach-at91/include/mach/at91cap9_ddrsdr.h+14−8

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

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

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

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

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

arch/arm/mach-at91/include/mach/at91sam9_ddrsdr.h+130−0

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

arch/arm/mach-at91/include/mach/at91sam9_sdramc.h+14−9

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

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

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

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

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

arch/arm/mach-at91/include/mach/cpu.h+10−0

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

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

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

arch/arm/mach-at91/pm.h+42−7

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

arch/arm/mach-at91/pm_slowclock.S+54−20

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

arch/arm/mach-bcmring/core.c+16−7

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

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

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

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

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

arch/arm/mach-clps711x/edb7211-arch.c+8−2

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

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

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

arch/arm/mach-clps711x/include/mach/hardware.h+0−7

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

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

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

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

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

arch/arm/mach-cns3xxx/cns3420vb.c+4−0

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

arch/arm/mach-cns3xxx/devices.c+111−0

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

arch/arm/mach-cns3xxx/devices.h+20−0

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

arch/arm/mach-cns3xxx/include/mach/cns3xxx.h+45−46

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

arch/arm/mach-cns3xxx/pcie.c+389−0

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

arch/arm/mach-cns3xxx/pm.c+23−8

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

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

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

arch/arm/mach-davinci/Makefile+3−0

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

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

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

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

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

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

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

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

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

arch/arm/mach-davinci/da830.c+0−5

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

arch/arm/mach-davinci/da850.c+0−25

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

arch/arm/mach-davinci/devices-da8xx.c+30−20

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

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

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

arch/arm/mach-davinci/dm355.c+12−10

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

arch/arm/mach-davinci/dm365.c+16−12

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

arch/arm/mach-davinci/dm644x.c+12−10

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

arch/arm/mach-davinci/dm646x.c+19−11

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

arch/arm/mach-davinci/dma.c+50−12

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

arch/arm/mach-davinci/gpio-tnetv107x.c+205−0

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

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

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

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

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

arch/arm/mach-davinci/include/mach/debug-macro.S+39−11

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

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

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

arch/arm/mach-davinci/include/mach/edma.h+11−0

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

arch/arm/mach-davinci/include/mach/gpio.h+15−7

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

arch/arm/mach-davinci/include/mach/memory.h+3−6

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

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

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

arch/arm/mach-davinci/include/mach/tnetv107x.h+55−0

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

arch/arm/mach-davinci/include/mach/uncompress.h+66−21

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

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

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

arch/arm/mach-dove/common.c+61−0

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

arch/arm/mach-dove/common.h+2−0

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

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

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

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

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

arch/arm/mach-ep93xx/clock.c+67−2

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

arch/arm/mach-ep93xx/core.c+112−1

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

arch/arm/mach-ep93xx/edb93xx.c+2−29

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

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

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

arch/arm/mach-ep93xx/include/mach/ep93xx-regs.h+10−0

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

arch/arm/mach-ep93xx/include/mach/platform.h+6−0

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

arch/arm/mach-ep93xx/micro9.c+9−28

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

arch/arm/mach-ep93xx/simone.c+1−23

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

arch/arm/mach-ep93xx/snappercl15.c+1−0

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

arch/arm/mach-ep93xx/ts72xx.c+4−23

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

arch/arm/mach-gemini/Kconfig+21−0

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

arch/arm/mach-gemini/Makefile+3−0

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

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

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

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

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

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

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

arch/arm/mach-h720x/include/mach/hardware.h+0−2

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

arch/arm/mach-imx/Kconfigrenamed from arch/arm/mach-mx2/Kconfig+89−12

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

arch/arm/mach-imx/Makefilerenamed from arch/arm/mach-mx2/Makefile+14−4

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

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

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

arch/arm/mach-imx/clock-imx1.crenamed from arch/arm/mach-mx1/clock.c+42−8

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

arch/arm/mach-imx/clock-imx21.crenamed from arch/arm/mach-mx2/clock_imx21.c+0−0

File renamed without changes.

arch/arm/mach-imx/clock-imx27.crenamed from arch/arm/mach-mx2/clock_imx27.c+1−1

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

arch/arm/mach-imx/cpu-imx27.crenamed from arch/arm/mach-mx2/cpu_imx27.c+0−0

File renamed without changes.

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

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

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

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

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

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

arch/arm/mach-imx/devices.crenamed from arch/arm/mach-mx2/devices.c+201−95

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

arch/arm/mach-imx/devices.hrenamed from arch/arm/mach-mx2/devices.h+11−21

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

arch/arm/mach-imx/dma-v1.crenamed from arch/arm/plat-mxc/dma-mx1-mx2.c+3−4

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

arch/arm/mach-imx/eukrea_mbimx27-baseboard.crenamed from arch/arm/mach-mx2/eukrea_mbimx27-baseboard.c+170−27

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

arch/arm/mach-imx/include/mach/dma-mx1-mx2.h+10−0

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

arch/arm/mach-imx/include/mach/dma-v1.hrenamed from arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h+6−4

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

arch/arm/mach-imx/mach-cpuimx27.crenamed from arch/arm/mach-mx2/mach-cpuimx27.c+102−20

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

arch/arm/mach-imx/mach-imx27lite.crenamed from arch/arm/mach-mx2/mach-imx27lite.c+3−8

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

arch/arm/mach-imx/mach-mx1ads.crenamed from arch/arm/mach-mx1/mach-mx1ads.c+17−17

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

arch/arm/mach-imx/mach-mx21ads.crenamed from arch/arm/mach-mx2/mach-mx21ads.c+44−14

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

arch/arm/mach-imx/mach-mx27_3ds.crenamed from arch/arm/mach-mx2/mach-mx27_3ds.c+32−8

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

arch/arm/mach-imx/mach-mx27ads.crenamed from arch/arm/mach-mx2/mach-mx27ads.c+44−32

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

arch/arm/mach-imx/mach-mxt_td60.crenamed from arch/arm/mach-mx2/mach-mxt_td60.c+13−23

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

arch/arm/mach-imx/mach-pca100.crenamed from arch/arm/mach-mx2/mach-pca100.c+89−25

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

arch/arm/mach-imx/mach-pcm038.crenamed from arch/arm/mach-mx2/mach-pcm038.c+13−20

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

arch/arm/mach-imx/mach-scb9328.crenamed from arch/arm/mach-mx1/mach-scb9328.c+10−11

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

arch/arm/mach-imx/mm-imx1.crenamed from arch/arm/mach-mx1/generic.c+10−13

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

arch/arm/mach-imx/mm-imx21.crenamed from arch/arm/mach-mx2/mm-imx21.c+4−1

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

arch/arm/mach-imx/mm-imx27.crenamed from arch/arm/mach-mx2/mm-imx27.c+4−1

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

arch/arm/mach-imx/mx1-camera-fiq-ksym.crenamed from arch/arm/mach-mx1/ksym_mx1.c+0−0

File renamed without changes.

arch/arm/mach-imx/mx1-camera-fiq.Srenamed from arch/arm/mach-mx1/mx1_camera_fiq.S+0−0

File renamed without changes.

arch/arm/mach-imx/pcm970-baseboard.crenamed from arch/arm/mach-mx2/pcm970-baseboard.c+0−0

File renamed without changes.

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

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

arch/arm/mach-integrator/common.h+1−0

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

arch/arm/mach-integrator/core.c+18−1

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

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

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

arch/arm/mach-integrator/integrator_ap.c+3−0

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

arch/arm/mach-integrator/integrator_cp.c+3−0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

arch/arm/mach-ixp4xx/common-pci.c+4−3

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

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

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

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

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

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

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

arch/arm/mach-ixp4xx/vulcan-pci.c+73−0

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

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

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

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

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

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

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

arch/arm/mach-kirkwood/addr-map.c+8−2

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

arch/arm/mach-kirkwood/common.c+72−4

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

arch/arm/mach-kirkwood/common.h+6−1

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

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

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

arch/arm/mach-kirkwood/include/mach/bridge-regs.h+2−1

This diff is large: its 11 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/include/mach/kirkwood.h+32−10

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

arch/arm/mach-kirkwood/include/mach/leds-ns2.h+26−0

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

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

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

arch/arm/mach-kirkwood/mpp.h+323−273

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

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

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

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

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

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

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

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

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

arch/arm/mach-kirkwood/pcie.c+128−46

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

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

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

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

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

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

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

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

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

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

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

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

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

arch/arm/mach-l7200/Makefile+0−11

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

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

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

arch/arm/mach-l7200/core.c+0−100

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

arch/arm/mach-l7200/include/mach/aux_reg.h+0−28

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

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

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

arch/arm/mach-l7200/include/mach/entry-macro.S+0−35

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

arch/arm/mach-l7200/include/mach/gp_timers.h+0−42

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

arch/arm/mach-l7200/include/mach/gpio.h+0−105

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

arch/arm/mach-l7200/include/mach/hardware.h+0−57

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

arch/arm/mach-l7200/include/mach/io.h+0−21

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

arch/arm/mach-l7200/include/mach/irqs.h+0−56

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

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

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

arch/arm/mach-l7200/include/mach/pmpcon.h+0−46

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

arch/arm/mach-l7200/include/mach/pmu.h+0−125

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

arch/arm/mach-l7200/include/mach/serial.h+0−37

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

arch/arm/mach-l7200/include/mach/serial_l7200.h+0−101

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

arch/arm/mach-l7200/include/mach/sib.h+0−119

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

arch/arm/mach-l7200/include/mach/sys-clock.h+0−67

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

arch/arm/mach-l7200/include/mach/system.h+0−29

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

arch/arm/mach-l7200/include/mach/time.h+0−73

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

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

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

arch/arm/mach-l7200/include/mach/uncompress.h+0−39

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

arch/arm/mach-l7200/include/mach/vmalloc.h+0−4

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

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

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

arch/arm/mach-lpc32xx/Kconfig+33−0

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

arch/arm/mach-lpc32xx/Makefile+8−0

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

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

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

arch/arm/mach-lpc32xx/clock.c+1137−0

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

arch/arm/mach-lpc32xx/clock.h+38−0

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

arch/arm/mach-lpc32xx/common.c+271−0

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

arch/arm/mach-lpc32xx/common.h+73−0

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

arch/arm/mach-lpc32xx/gpiolib.c+446−0

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

arch/arm/mach-lpc32xx/include/mach/clkdev.hrenamed from arch/arm/plat-mxc/include/mach/board-pcm043.h+11−8

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

arch/arm/mach-lpc32xx/include/mach/debug-macro.Srenamed from arch/arm/plat-mxc/include/mach/board-mx35pdk.h+17−8

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

arch/arm/mach-lpc32xx/include/mach/entry-macro.S+47−0

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

arch/arm/mach-lpc32xx/include/mach/gpio.h+74−0

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

arch/arm/mach-lpc32xx/include/mach/hardware.h+34−0

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

arch/arm/mach-lpc32xx/include/mach/i2c.h+63−0

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

arch/arm/mach-lpc32xx/include/mach/io.hrenamed from arch/arm/plat-mxc/include/mach/board-pcm037.h+13−8

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

arch/arm/mach-lpc32xx/include/mach/irqs.h+117−0

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

arch/arm/mach-lpc32xx/include/mach/memory.h+27−0

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

arch/arm/mach-lpc32xx/include/mach/platform.h+694−0

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

arch/arm/mach-lpc32xx/include/mach/system.h+52−0

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

arch/arm/mach-lpc32xx/include/mach/timex.h+28−0

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

arch/arm/mach-lpc32xx/include/mach/uncompress.h+60−0

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

arch/arm/mach-lpc32xx/include/mach/vmalloc.h+24−0

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

arch/arm/mach-lpc32xx/irq.c+432−0

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

arch/arm/mach-lpc32xx/phy3250.c+397−0

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

arch/arm/mach-lpc32xx/pm.c+146−0

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

arch/arm/mach-lpc32xx/serial.c+190−0

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

arch/arm/mach-lpc32xx/suspend.S+151−0

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

arch/arm/mach-lpc32xx/timer.c+182−0

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

arch/arm/mach-mmp/aspenite.c+2−4

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

arch/arm/mach-mmp/avengers_lite.c+1−2

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

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

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

arch/arm/mach-mmp/common.h+1−10

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

arch/arm/mach-mmp/flint.c+1−2

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

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

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

arch/arm/mach-mmp/include/mach/mmp2.h+7−0

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

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

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

arch/arm/mach-mmp/include/mach/pxa910.h+5−0

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

arch/arm/mach-mmp/irq-mmp2.c+1−0

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

arch/arm/mach-mmp/jasper.c+1−2

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

arch/arm/mach-mmp/mmp2.c+22−0

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

arch/arm/mach-mmp/tavorevb.c+1−2

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

arch/arm/mach-mmp/time.c+0−21

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

arch/arm/mach-mmp/ttc_dkb.c+1−2

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

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

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

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

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

arch/arm/mach-msm/board-trout-gpio.c+227−0

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

arch/arm/mach-msm/board-trout-mmc.c+186−0

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

arch/arm/mach-msm/board-trout.c+11−1

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

arch/arm/mach-msm/board-trout.h+157−0

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

arch/arm/mach-msm/clock.c+0−1

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

arch/arm/mach-msm/devices-msm7x00.c+2−1

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

arch/arm/mach-msm/include/mach/board.h+4−0

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

arch/arm/mach-msm/include/mach/gpio.h+7−0

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

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

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

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

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

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

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

arch/arm/mach-mx1/Makefile+0−15

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

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

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

arch/arm/mach-mx1/crm_regs.h+0−55

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

arch/arm/mach-mx1/devices.c+0−242

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

arch/arm/mach-mx1/devices.h+0−7

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

arch/arm/mach-mx2/serial.c+0−141

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

arch/arm/mach-mx25/Kconfig+23−0

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

arch/arm/mach-mx25/Makefile+3−1

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

arch/arm/mach-mx25/clock.c+66−4

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

arch/arm/mach-mx25/devices-imx25.h+43−0

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

arch/arm/mach-mx25/devices.c+81−232

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

arch/arm/mach-mx25/devices.h+4−12

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

arch/arm/mach-mx25/eukrea_mbimxsd-baseboard.c+260−0

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

arch/arm/mach-mx25/mach-cpuimx25.c+173−0

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

arch/arm/mach-mx25/mach-mx25_3ds.crenamed from arch/arm/mach-mx25/mach-mx25pdk.c+51−7

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

arch/arm/mach-mx25/mm.c+3−4

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

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

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

arch/arm/mach-mx3/Makefile+3−1

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

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

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

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

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

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

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

arch/arm/mach-mx3/devices.c+6−241

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

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

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

arch/arm/mach-mx3/eukrea_mbimxsd-baseboard.c+263−0

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

arch/arm/mach-mx3/mach-armadillo5x0.c+10−11

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

arch/arm/mach-mx3/mach-cpuimx35.c+227−0

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

arch/arm/mach-mx3/mach-kzm_arm11_01.c+21−10

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

arch/arm/mach-mx3/mach-mx31_3ds.c+68−188

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

arch/arm/mach-mx3/mach-mx31ads.c+40−15

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

arch/arm/mach-mx3/mach-mx31lilly.c+8−11

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

arch/arm/mach-mx3/mach-mx31lite.c+7−12

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

arch/arm/mach-mx3/mach-mx31moboard.c+29−23

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

arch/arm/mach-mx3/mach-mx35_3ds.crenamed from arch/arm/mach-mx3/mach-mx35pdk.c+9−7

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

arch/arm/mach-mx3/mach-pcm037.c+17−21

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

arch/arm/mach-mx3/mach-pcm037_eet.c+2−5

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

arch/arm/mach-mx3/mach-pcm043.c+16−17

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

arch/arm/mach-mx3/mach-qong.c+6−10

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

arch/arm/mach-mx3/mm.c+3−4

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

arch/arm/mach-mx3/mx31lilly-db.c+5−9

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

arch/arm/mach-mx3/mx31lite-db.c+5−10

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

arch/arm/mach-mx3/mx31moboard-devboard.c+3−7

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

arch/arm/mach-mx3/mx31moboard-marxbot.c+0−4

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

arch/arm/mach-mx3/mx31moboard-smartbot.c+4−9

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

arch/arm/mach-mx5/Kconfig+27−0

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

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

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

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

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

arch/arm/mach-mx5/board-mx51_3ds.c+164−0

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

arch/arm/mach-mx5/board-mx51_babbage.c+27−1

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

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

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

arch/arm/mach-mx5/devices.c+82−1

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

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

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

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

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

arch/arm/mach-mx5/mm.c+3−0

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

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

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

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

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

arch/arm/mach-mxc91231/mm.c+3−5

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

arch/arm/mach-nomadik/clock.c+4−0

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

arch/arm/mach-omap1/Kconfig+13−0

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

arch/arm/mach-omap1/Makefile+3−0

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

arch/arm/mach-omap1/board-ams-delta.c+2−1

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

arch/arm/mach-omap1/board-fsample.c+13−0

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

arch/arm/mach-omap1/board-generic.c+3−2

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

arch/arm/mach-omap1/board-h2.c+14−18

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

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

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

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

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

arch/arm/mach-omap1/board-innovator.c+3−2

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

arch/arm/mach-omap1/board-nokia770.c+2−135

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

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

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

arch/arm/mach-omap1/board-palmte.c+2−85

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

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

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

arch/arm/mach-omap1/board-palmz71.c+9−7

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

arch/arm/mach-omap1/board-perseus2.c+13−0

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

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

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

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

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

arch/arm/mach-omap1/clock.c+12−10

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

arch/arm/mach-omap1/clock.h+1−1

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

arch/arm/mach-omap1/clock_data.c+123−26

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

arch/arm/mach-omap1/devices.c+0−72

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

arch/arm/mach-omap1/include/mach/debug-macro.S+7−3

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

arch/arm/mach-omap1/io.c+0−2

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

arch/arm/mach-omap1/mailbox.c+21−34

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

arch/arm/mach-omap1/mcbsp.c+0−3

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

arch/arm/mach-omap1/mux.c+5−1

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

arch/arm/mach-omap1/serial.c+7−0

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

arch/arm/mach-omap1/usb.c+530−0

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

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

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

arch/arm/mach-omap2/Makefile+19−4

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

arch/arm/mach-omap2/board-2430sdp.c+17−7

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

arch/arm/mach-omap2/board-3430sdp.c+16−9

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

arch/arm/mach-omap2/board-3630sdp.c+122−8

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

arch/arm/mach-omap2/board-4430sdp.c+66−5

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

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

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

arch/arm/mach-omap2/board-apollon.c+23−8

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

arch/arm/mach-omap2/board-cm-t35.c+3−26

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

arch/arm/mach-omap2/board-devkit8000.c+75−95

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

arch/arm/mach-omap2/board-flash.crenamed from arch/arm/mach-omap2/board-sdp-flash.c+37−56

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

arch/arm/mach-omap2/board-generic.c+1−1

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

arch/arm/mach-omap2/board-h4.c+32−29

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

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

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

arch/arm/mach-omap2/board-ldp.c+37−7

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

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

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

arch/arm/mach-omap2/board-omap3beagle.c+3−30

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

arch/arm/mach-omap2/board-omap3evm.c+4−12

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

arch/arm/mach-omap2/board-omap3pandora.c+147−26

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

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

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

arch/arm/mach-omap2/board-omap3touchbook.c+3−31

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

arch/arm/mach-omap2/board-omap4panda.c+304−0

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

arch/arm/mach-omap2/board-overo.c+43−32

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

arch/arm/mach-omap2/board-rx51-peripherals.c+45−33

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

arch/arm/mach-omap2/board-rx51-video.c+0−1

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

arch/arm/mach-omap2/board-rx51.c+2−1

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

arch/arm/mach-omap2/board-zoom2.c+58−7

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

arch/arm/mach-omap2/board-zoom3.c+58−7

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

arch/arm/mach-omap2/clock3xxx_data.c+6−1

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

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

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

arch/arm/mach-omap2/devices.c+17−71

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

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

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

arch/arm/mach-omap2/gpmc-nand.c+9−28

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

arch/arm/mach-omap2/gpmc.c+263−21

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

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

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

arch/arm/mach-omap2/hsmmc.h+4−0

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

arch/arm/mach-omap2/i2c.c+7−20

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

arch/arm/mach-omap2/id.c+48−16

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

arch/arm/mach-omap2/include/mach/board-flash.hrenamed from arch/arm/mach-omap2/include/mach/board-sdp.h+8−1

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

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

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

arch/arm/mach-omap2/include/mach/debug-macro.S+21−8

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

arch/arm/mach-omap2/include/mach/id.h+22−0

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

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

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

arch/arm/mach-omap2/io.c+9−7

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

arch/arm/mach-omap2/iommu2.c+35−9

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

arch/arm/mach-omap2/mailbox.c+82−100

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

arch/arm/mach-omap2/mcbsp.c+12−11

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

arch/arm/mach-omap2/mux.c+25−313

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

arch/arm/mach-omap2/mux.h+23−5

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

arch/arm/mach-omap2/mux2420.c+688−0

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

arch/arm/mach-omap2/mux2420.h+282−0

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

arch/arm/mach-omap2/mux2430.c+791−0

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

arch/arm/mach-omap2/mux2430.h+370−0

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

arch/arm/mach-omap2/mux34xx.c+4−4

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

arch/arm/mach-omap2/omap-headsmp.S+0−16

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

arch/arm/mach-omap2/omap-hotplug.c+79−0

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

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

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

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

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

arch/arm/mach-omap2/omap44xx-smc.S+25−0

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

arch/arm/mach-omap2/omap_hwmod.c+79−27

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

arch/arm/mach-omap2/omap_hwmod_2420_data.c+56−23

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

arch/arm/mach-omap2/omap_hwmod_2430_data.c+56−25

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

arch/arm/mach-omap2/omap_hwmod_3xxx_data.c+63−29

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

arch/arm/mach-omap2/omap_hwmod_common_data.c+3−0

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

arch/arm/mach-omap2/omap_hwmod_common_data.h+1−0

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

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

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

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

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

arch/arm/mach-omap2/pm34xx.c+4−3

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

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

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

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

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

arch/arm/mach-omap2/powerdomains34xx.h+10−2

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

arch/arm/mach-omap2/serial.c+69−11

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

arch/arm/mach-omap2/sleep34xx.S+1−1

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

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

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

arch/arm/mach-omap2/usb-fs.c+359−0

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

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

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

arch/arm/mach-omap2/usb-tusb6010.c+7−7

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

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

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

arch/arm/mach-orion5x/dns323-setup.c+306−64

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

arch/arm/mach-orion5x/include/mach/system.h+2−0

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

arch/arm/mach-pxa/Kconfig+52−28

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

arch/arm/mach-pxa/Makefile+5−8

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

arch/arm/mach-pxa/balloon3.c+581−151

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

arch/arm/mach-pxa/cm-x2xx-pci.c+2−2

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

arch/arm/mach-pxa/cm-x300.c+3−1

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

arch/arm/mach-pxa/colibri-pxa270-evalboard.c+111−0

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

arch/arm/mach-pxa/colibri-pxa270-income.c+272−0

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

arch/arm/mach-pxa/colibri-pxa270.c+128−48

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

arch/arm/mach-pxa/colibri-pxa320.c+40−0

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

arch/arm/mach-pxa/corgi.c+1−5

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

arch/arm/mach-pxa/corgi_pm.c+4−7

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

arch/arm/mach-pxa/devices.c+14−0

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

arch/arm/mach-pxa/devices.h+1−0

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

arch/arm/mach-pxa/e330.c+0−78

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

arch/arm/mach-pxa/e350.c+0−79

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

arch/arm/mach-pxa/e400.c+0−155

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

arch/arm/mach-pxa/e740.c+0−225

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

arch/arm/mach-pxa/e750.c+0−226

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

arch/arm/mach-pxa/e800.c+0−229

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

arch/arm/mach-pxa/eseries.c+809−1

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

arch/arm/mach-pxa/generic.h+1−2

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

arch/arm/mach-pxa/imote2.c+0−590

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

arch/arm/mach-pxa/include/mach/balloon3.h+55−20

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

arch/arm/mach-pxa/include/mach/colibri.h+25−7

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

arch/arm/mach-pxa/include/mach/corgi.h+0−5

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

arch/arm/mach-pxa/include/mach/gumstix.h+1−11

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

arch/arm/mach-pxa/include/mach/hardware.h+0−5

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

arch/arm/mach-pxa/include/mach/memory.h+3−16

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

arch/arm/mach-pxa/include/mach/palm27x.h+81−0

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

arch/arm/mach-pxa/include/mach/pata_pxa.h+33−0

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

arch/arm/mach-pxa/include/mach/sharpsl.h+0−35

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

arch/arm/mach-pxa/include/mach/sharpsl_pm.h+9−0

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

arch/arm/mach-pxa/include/mach/spitz.h+0−2

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

arch/arm/mach-pxa/mioa701.c+7−3

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

arch/arm/mach-pxa/palm27x.c+477−0

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

arch/arm/mach-pxa/palmld.c+54−238

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

arch/arm/mach-pxa/palmt5.c+35−249

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

arch/arm/mach-pxa/palmte2.c+12−8

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

arch/arm/mach-pxa/palmtreo.c+61−296

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

arch/arm/mach-pxa/palmtx.c+47−252

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

arch/arm/mach-pxa/palmz72.c+27−237

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

arch/arm/mach-pxa/poodle.c+0−3

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

arch/arm/mach-pxa/pxa25x.c+1−0

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

arch/arm/mach-pxa/pxa27x.c+1−0

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

arch/arm/mach-pxa/pxa3xx.c+14−1

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

arch/arm/mach-pxa/raumfeld.c+21−8

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

arch/arm/mach-pxa/sharpsl.h+0−26

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

arch/arm/mach-pxa/sharpsl_pm.c+0−23

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

arch/arm/mach-pxa/sleep.S+0−7

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

arch/arm/mach-pxa/spitz.c+427−301

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

arch/arm/mach-pxa/spitz_pm.c+4−7

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

arch/arm/mach-pxa/stargate2.c+473−246

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

arch/arm/mach-pxa/tosa.c+0−1

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

arch/arm/mach-pxa/trizeps4.c+1−5

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

arch/arm/mach-pxa/vpac270.c+119−7

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

arch/arm/mach-pxa/z2.c+114−4

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

arch/arm/mach-realview/core.c+34−6

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

arch/arm/mach-realview/include/mach/board-pb1176.h+1−0

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

arch/arm/mach-realview/include/mach/irqs-pb1176.h+1−1

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

arch/arm/mach-realview/include/mach/memory.h+3−4

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

arch/arm/mach-realview/realview_eb.c+29−1

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

arch/arm/mach-realview/realview_pb1176.c+36−10

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

arch/arm/mach-realview/realview_pb11mp.c+8−1

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

arch/arm/mach-realview/realview_pba8.c+8−1

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

arch/arm/mach-realview/realview_pbx.c+8−1

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

arch/arm/mach-s3c2410/mach-h1940.c+9−0

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

arch/arm/mach-s3c2412/mach-smdk2413.c+0−1

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

arch/arm/mach-s3c2412/mach-vstms.c+0−1

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

arch/arm/mach-s3c2416/s3c2416.c+2−1

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

arch/arm/mach-s3c2440/mach-gta02.c+5−12

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

arch/arm/mach-s3c2440/mach-rx1950.c+9−0

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

arch/arm/mach-s3c2440/mach-rx3715.c+9−0

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

arch/arm/mach-s3c2443/s3c2443.c+2−0

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

arch/arm/mach-s3c64xx/Kconfig+15−0

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

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

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

arch/arm/mach-s3c64xx/clock.c+18−6

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

arch/arm/mach-s3c64xx/dev-audio.c+1−1

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

arch/arm/mach-s3c64xx/dev-spi.c+1−1

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

arch/arm/mach-s3c64xx/gpiolib.c+1−1

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

arch/arm/mach-s3c64xx/include/mach/map.h+6−0

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

arch/arm/mach-s3c64xx/include/mach/regs-clock.h+5−0

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

arch/arm/mach-s3c64xx/include/mach/regs-fb.h+0−20

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

arch/arm/mach-s3c64xx/mach-anw6410.c+0−1

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

arch/arm/mach-s3c64xx/mach-hmt.c+0−1

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

arch/arm/mach-s3c64xx/mach-smartq5.c+1−2

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

arch/arm/mach-s3c64xx/mach-smartq7.c+1−2

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

arch/arm/mach-s3c64xx/mach-smdk6410.c+33−1

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

arch/arm/mach-s3c64xx/s3c6410.c+4−2

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

arch/arm/mach-s3c64xx/setup-fb-24bpp.c+1−1

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

arch/arm/mach-s3c64xx/setup-i2c0.c+1−1

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

arch/arm/mach-s3c64xx/setup-i2c1.c+1−1

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

arch/arm/mach-s3c64xx/setup-ide.c+46−0

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

arch/arm/mach-s3c64xx/setup-keypad.c+34−0

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

arch/arm/mach-s3c64xx/setup-sdhci-gpio.c+12−5

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

arch/arm/mach-s5p6440/Kconfig+10−3

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

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

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

arch/arm/mach-s5p6440/cpu.c+2−1

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

arch/arm/mach-s5p6440/dev-audio.c+1−1

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

arch/arm/mach-s5p6440/dev-spi.c+1−1

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

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

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

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

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

arch/arm/mach-s5p6440/include/mach/map.h+3−1

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

arch/arm/mach-s5p6440/include/mach/system.h+2−5

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

arch/arm/mach-s5p6440/mach-smdk6440.c+36−15

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

arch/arm/mach-s5p6440/setup-i2c0.c+6−1

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

arch/arm/mach-s5p6440/setup-i2c1.c+30−0

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

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

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

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

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

arch/arm/mach-s5p6442/dev-audio.c+1−1

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

arch/arm/mach-s5p6442/dev-spi.c+1−1

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

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

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

arch/arm/mach-s5p6442/include/mach/map.h+3−0

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

arch/arm/mach-s5p6442/include/mach/system.h+2−5

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

arch/arm/mach-s5p6442/mach-smdk6442.c+13−12

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

arch/arm/mach-s5pc100/Kconfig+22−1

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

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

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

arch/arm/mach-s5pc100/clock.c+4−4

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

arch/arm/mach-s5pc100/cpu.c+7−0

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

arch/arm/mach-s5pc100/dev-audio.c+1−1

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

arch/arm/mach-s5pc100/dev-spi.c+1−1

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

arch/arm/mach-s5pc100/include/mach/irqs.h+2−2

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

arch/arm/mach-s5pc100/include/mach/map.h+21−0

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

arch/arm/mach-s5pc100/include/mach/regs-clock.h+3−0

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

arch/arm/mach-s5pc100/include/mach/regs-fb.h+0−34

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

arch/arm/mach-s5pc100/include/mach/system.h+1−8

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

arch/arm/mach-s5pc100/mach-smdkc100.c+64−16

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

arch/arm/mach-s5pc100/setup-ide.c+70−0

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

arch/arm/mach-s5pc100/setup-keypad.c+34−0

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

arch/arm/mach-s5pc100/setup-sdhci-gpio.c+16−6

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

arch/arm/mach-s5pc100/setup-sdhci.c+4−4

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

arch/arm/mach-s5pv210/Kconfig+70−17

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

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

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

arch/arm/mach-s5pv210/cpu.c+28−4

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

arch/arm/mach-s5pv210/dev-audio.c+1−1

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

arch/arm/mach-s5pv210/dev-onenand.c+6−1

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

arch/arm/mach-s5pv210/dev-spi.c+1−1

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

arch/arm/mach-s5pv210/gpiolib.c+14−0

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

arch/arm/mach-s5pv210/include/mach/gpio.h+9−3

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

arch/arm/mach-s5pv210/include/mach/irqs.h+2−2

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

arch/arm/mach-s5pv210/include/mach/map.h+16−0

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

arch/arm/mach-s5pv210/include/mach/memory.h+7−2

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

arch/arm/mach-s5pv210/include/mach/regs-clock.h+2−0

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

arch/arm/mach-s5pv210/include/mach/system.h+2−5

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

arch/arm/mach-s5pv210/mach-aquila.c+398−21

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

arch/arm/mach-s5pv210/mach-goni.c+420−17

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

arch/arm/mach-s5pv210/mach-smdkc110.c+51−15

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

arch/arm/mach-s5pv210/mach-smdkv210.c+78−15

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

arch/arm/mach-s5pv210/setup-fb-24bpp.c+1−1

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

arch/arm/mach-s5pv210/setup-i2c0.c+1−1

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

arch/arm/mach-s5pv210/setup-i2c1.c+1−1

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

arch/arm/mach-s5pv210/setup-i2c2.c+1−1

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

arch/arm/mach-s5pv210/setup-ide.c+50−0

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

arch/arm/mach-s5pv210/setup-keypad.c+34−0

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

arch/arm/mach-s5pv210/setup-sdhci-gpio.c+40−7

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

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

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

arch/arm/mach-s5pv310/Kconfig+45−0

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

arch/arm/mach-s5pv310/Makefile+30−0

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

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

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

arch/arm/mach-s5pv310/clock.c+544−0

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

arch/arm/mach-s5pv310/cpu.c+122−0

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

arch/arm/mach-s5pv310/headsmp.S+41−0

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

arch/arm/mach-s5pv310/include/mach/debug-macro.S+36−0

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

arch/arm/mach-s5pv310/include/mach/entry-macro.S+84−0

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

arch/arm/mach-s5pv310/include/mach/gpio.h+135−0

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

arch/arm/mach-s5pv310/include/mach/hardware.h+18−0

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

arch/arm/mach-s5pv310/include/mach/io.h+26−0

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

arch/arm/mach-s5pv310/include/mach/irqs.h+74−0

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

arch/arm/mach-s5pv310/include/mach/map.h+69−0

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

arch/arm/mach-s5pv310/include/mach/memory.h+22−0

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

arch/arm/mach-s5pv310/include/mach/pwm-clock.h+70−0

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

arch/arm/mach-s5pv310/include/mach/regs-clock.h+62−0

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

arch/arm/mach-s5pv310/include/mach/regs-irq.h+19−0

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

arch/arm/mach-s5pv310/include/mach/smp.h+29−0

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

arch/arm/mach-s5pv310/include/mach/system.h+22−0

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

arch/arm/mach-s5pv310/include/mach/timex.h+29−0

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

arch/arm/mach-s5pv310/include/mach/uncompress.h+30−0

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

arch/arm/mach-s5pv310/include/mach/vmalloc.h+22−0

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

arch/arm/mach-s5pv310/init.c+41−0

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

arch/arm/mach-s5pv310/irq-combiner.c+125−0

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

arch/arm/mach-s5pv310/localtimer.c+25−0

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

arch/arm/mach-s5pv310/mach-smdkv310.c+92−0

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

arch/arm/mach-s5pv310/mach-universal_c210.c+86−0

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

arch/arm/mach-s5pv310/platsmp.c+192−0

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

arch/arm/mach-s5pv310/setup-i2c0.c+28−0

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

arch/arm/mach-s5pv310/setup-i2c1.c+25−0

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

arch/arm/mach-s5pv310/setup-i2c2.c+25−0

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

arch/arm/mach-s5pv310/time.c+287−0

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

arch/arm/mach-sa1100/collie.c+1−1

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

arch/arm/mach-sa1100/generic.h+1−2

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

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

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

arch/arm/mach-sa1100/include/mach/memory.h+3−3

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

arch/arm/mach-shark/include/mach/memory.h+3−4

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

arch/arm/mach-shmobile/Kconfig+38−0

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

arch/arm/mach-shmobile/Makefile+3−3

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

arch/arm/mach-shmobile/board-ap4evb.c+786−31

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

arch/arm/mach-shmobile/board-g3evm.c+50−9

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

arch/arm/mach-shmobile/board-g4evm.c+143−10

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

arch/arm/mach-shmobile/clock-sh7367.c+306−51

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

arch/arm/mach-shmobile/clock-sh7372.c+560−0

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

arch/arm/mach-shmobile/clock-sh7377.c+369−0

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

arch/arm/mach-shmobile/clock.c+44−0

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

arch/arm/mach-shmobile/include/mach/common.h+10−0

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

arch/arm/mach-shmobile/include/mach/irqs.h+6−1

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

arch/arm/mach-shmobile/include/mach/memory.h+3−0

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

arch/arm/mach-shmobile/include/mach/sh7372.h+30−0

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

arch/arm/mach-shmobile/include/mach/vmalloc.h+2−1

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

arch/arm/mach-shmobile/intc-sh7367.c+174−4

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

arch/arm/mach-shmobile/intc-sh7372.c+226−6

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

arch/arm/mach-shmobile/intc-sh7377.c+297−3

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

arch/arm/mach-shmobile/pfc-sh7372.c+3−0

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

arch/arm/mach-shmobile/setup-sh7367.c+22−8

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

arch/arm/mach-shmobile/setup-sh7372.c+369−22

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

arch/arm/mach-shmobile/setup-sh7377.c+25−9

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

arch/arm/mach-spear3xx/clock.c+3−0

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

arch/arm/mach-spear6xx/clock.c+3−0

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

arch/arm/mach-tegra/Kconfig+50−0

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

arch/arm/mach-tegra/Makefile+14−0

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

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

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

arch/arm/mach-tegra/board-harmony-pinmux.c+144−0

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

arch/arm/mach-tegra/board-harmony.c+127−0

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

arch/arm/mach-tegra/board-harmony.h+22−0

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

arch/arm/mach-tegra/board.h+32−0

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

arch/arm/mach-tegra/clock.c+488−0

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

arch/arm/mach-tegra/clock.h+147−0

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

arch/arm/mach-tegra/common.c+61−0

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

arch/arm/mach-tegra/gpio-names.h+247−0

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

arch/arm/mach-tegra/gpio.c+348−0

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

arch/arm/mach-tegra/headsmp.S+61−0

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

arch/arm/mach-tegra/hotplug.c+140−0

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

arch/arm/mach-tegra/include/mach/barriers.h+30−0

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

arch/arm/mach-tegra/include/mach/clk.h+26−0

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

arch/arm/mach-tegra/include/mach/clkdev.h+32−0

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

arch/arm/mach-tegra/include/mach/debug-macro.S+46−0

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

arch/arm/mach-tegra/include/mach/entry-macro.S+118−0

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

arch/arm/mach-tegra/include/mach/gpio.h+53−0

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

arch/arm/mach-tegra/include/mach/hardware.h+24−0

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

arch/arm/mach-tegra/include/mach/io.h+79−0

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

arch/arm/mach-tegra/include/mach/iomap.h+203−0

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

arch/arm/mach-tegra/include/mach/irqs.h+173−0

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

arch/arm/mach-tegra/include/mach/memory.h+28−0

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

arch/arm/mach-tegra/include/mach/pinmux.h+348−0

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

arch/arm/mach-tegra/include/mach/smp.h+30−0

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

arch/arm/mach-tegra/include/mach/system.h+39−0

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

arch/arm/mach-tegra/include/mach/timex.h+26−0

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

arch/arm/mach-tegra/include/mach/uncompress.h+78−0

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

arch/arm/mach-tegra/include/mach/vmalloc.h+28−0

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

arch/arm/mach-tegra/io.c+78−0

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

arch/arm/mach-tegra/irq.c+34−0

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

arch/arm/mach-tegra/localtimer.c+25−0

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

arch/arm/mach-tegra/pinmux.c+945−0

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

arch/arm/mach-tegra/platsmp.c+156−0

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

arch/arm/mach-tegra/tegra2_clocks.c+1359−0

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

arch/arm/mach-tegra/timer.c+187−0

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

arch/arm/mach-u300/clock.c+57−76

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

arch/arm/mach-u300/clock.h+1−4

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

arch/arm/mach-u300/core.c+11−10

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

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

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

arch/arm/mach-u300/include/mach/memory.h+0−8

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

arch/arm/mach-u300/mmc.c+4−4

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

arch/arm/mach-u300/timer.c+17−11

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

arch/arm/mach-u300/u300.c+17−0

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

arch/arm/mach-ux500/board-mop500.c+33−3

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

arch/arm/mach-ux500/clock.c+4−0

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

arch/arm/mach-ux500/devices-db8500.c+22−20

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

arch/arm/mach-ux500/include/mach/db8500-regs.h+3−3

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

arch/arm/mach-ux500/include/mach/irqs-board-mop500.h+23−0

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

arch/arm/mach-ux500/include/mach/irqs-db5500.h+85−0

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

arch/arm/mach-ux500/include/mach/irqs-db8500.h+96−0

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

arch/arm/mach-ux500/include/mach/irqs.h+16−6

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

arch/arm/mach-ux500/pins-db8500.h+742−0

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

arch/arm/mach-ux500/ste-dma40-db8500.h+1−1

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

arch/arm/mach-versatile/core.c+33−2

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

arch/arm/mach-versatile/include/mach/hardware.h+0−9

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

arch/arm/mach-versatile/pci.c+1−1

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

arch/arm/mach-vexpress/ct-ca9x4.c+2−0

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

arch/arm/mach-vexpress/include/mach/ct-ca9x4.h+1−0

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

arch/arm/mach-vexpress/v2m.c+6−1

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

arch/arm/mach-w90x900/dev.c+79−17

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

arch/arm/mach-w90x900/include/mach/regs-gcr.h+39−0

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

arch/arm/mach-w90x900/mach-nuc950evb.c+0−44

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

arch/arm/mach-w90x900/nuc910.c+2−0

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

arch/arm/mach-w90x900/nuc950.c+0−2

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

arch/arm/mm/Kconfig+2−12

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

arch/arm/mm/Makefile+0−1

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

arch/arm/mm/alignment.c+14−2

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

arch/arm/mm/discontig.c+0−45

This diff is large: its 46 lines aren’t shown here.

arch/arm/mm/dma-mapping.c+14−1

This diff is large: its 32 lines aren’t shown here.

arch/arm/mm/fault.c+42−14

This diff is large: its 84 lines aren’t shown here.

arch/arm/mm/highmem.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mm/init.c+164−260

This diff is large: its 631 lines aren’t shown here.

arch/arm/mm/ioremap.c+10−70

This diff is large: its 104 lines aren’t shown here.

arch/arm/mm/mm.h+1−3

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/mmap.c+4−0

This diff is large: its 18 lines aren’t shown here.

arch/arm/mm/mmu.c+59−115

This diff is large: its 318 lines aren’t shown here.

arch/arm/mm/nommu.c+3−19

This diff is large: its 43 lines aren’t shown here.

arch/arm/mm/proc-arm1020.S+1−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mm/proc-arm1020e.S+1−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mm/proc-arm1022.S+1−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mm/proc-arm1026.S+1−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mm/proc-arm6_7.S+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-arm720.S+1−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mm/proc-arm740.S+1−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mm/proc-arm7tdmi.S+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-arm920.S+1−9

This diff is large: its 21 lines aren’t shown here.

arch/arm/mm/proc-arm922.S+1−9

This diff is large: its 21 lines aren’t shown here.

arch/arm/mm/proc-arm925.S+1−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mm/proc-arm926.S+1−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mm/proc-arm940.S+1−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mm/proc-arm946.S+1−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mm/proc-arm9tdmi.S+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-fa526.S+1−5

This diff is large: its 19 lines aren’t shown here.

arch/arm/mm/proc-feroceon.S+1−6

This diff is large: its 21 lines aren’t shown here.

arch/arm/mm/proc-mohawk.S+1−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mm/proc-sa110.S+2−6

This diff is large: its 20 lines aren’t shown here.

arch/arm/mm/proc-sa1100.S+1−5

This diff is large: its 18 lines aren’t shown here.

arch/arm/mm/proc-v6.S+4−6

This diff is large: its 35 lines aren’t shown here.

arch/arm/mm/proc-v7.S+2−5

This diff is large: its 25 lines aren’t shown here.

arch/arm/mm/proc-xsc3.S+1−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mm/proc-xscale.S+1−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mm/vmregion.c+3−2

This diff is large: its 19 lines aren’t shown here.

arch/arm/mm/vmregion.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-iop/pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-iop/time.c+9−44

This diff is large: its 87 lines aren’t shown here.

arch/arm/plat-mxc/3ds_debugboard.c+202−0

This diff is large: its 203 lines aren’t shown here.

arch/arm/plat-mxc/Kconfig+16−6

This diff is large: its 61 lines aren’t shown here.

arch/arm/plat-mxc/Makefile+3−2

This diff is large: its 20 lines aren’t shown here.

arch/arm/plat-mxc/audmux-v1.c+0−4

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-mxc/audmux-v2.c+14−5

This diff is large: its 40 lines aren’t shown here.

arch/arm/plat-mxc/clock.c+25−12

This diff is large: its 70 lines aren’t shown here.

arch/arm/plat-mxc/devices.c+33−0

This diff is large: its 44 lines aren’t shown here.

arch/arm/plat-mxc/devices/Kconfig+15−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/plat-mxc/devices/Makefile+8−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-flexcan.c+30−0

This diff is large: its 31 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-imx-i2c.c+29−0

This diff is large: its 30 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-imx-uart.c+60−0

This diff is large: its 61 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-mxc_nand.c+44−0

This diff is large: its 45 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-spi_imx.c+30−0

This diff is large: its 31 lines aren’t shown here.

arch/arm/plat-mxc/ehci.c+45−5

This diff is large: its 64 lines aren’t shown here.

arch/arm/plat-mxc/gpio.c+14−0

This diff is large: its 52 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/3ds_debugboard.h+18−0

This diff is large: its 19 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/board-armadillo5x0.h+0−15

This diff is large: its 16 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/board-kzmarm11.h+0−39

This diff is large: its 40 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/board-mx21ads.h+0−52

This diff is large: its 53 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/board-mx27ads.h+0−344

This diff is large: its 345 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/board-mx27lite.h+0−14

This diff is large: its 15 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/board-mx27pdk.h+0−14

This diff is large: its 15 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/board-mx31_3ds.h+0−59

This diff is large: its 60 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/board-mx31ads.h+0−117

This diff is large: its 118 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/board-mx31lilly.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/board-mx31lite.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/board-mx31moboard.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/board-pcm038.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/board-qong.h+0−17

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/debug-macro.S+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/devices-common.h+60−0

This diff is large: its 61 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/eukrea-baseboards.hrenamed from arch/arm/plat-mxc/include/mach/board-eukrea_cpuimx27.h+13−6

This diff is large: its 42 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/gpio.h+3−0

This diff is large: its 20 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/iomux-mx25.h+20−8

This diff is large: its 58 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/iomux-mx51.h+275−284

This diff is large: its 581 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/iomux-mxc91231.h+0−4

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/iomux-v3.h+15−0

This diff is large: its 22 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/memory.h+2−2

This diff is large: its 15 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mmc.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx1.h+14−14

This diff is large: its 47 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx25.h+41−9

This diff is large: its 71 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx27.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx2_cam.h+46−0

This diff is large: its 47 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx31.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx35.h+4−2

This diff is large: its 27 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx3_camera.h+0−4

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mxc91231.h+0−4

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mxc_nand.h+7−3

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/ssi.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/system.h+0−4

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/timex.h+0−4

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/uncompress.h+0−4

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/vmalloc.h+0−4

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-mxc/irq.c+0−3

This diff is large: its 10 lines aren’t shown here.

arch/arm/plat-mxc/system.c+0−4

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-mxc/tzic.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-nomadik/gpio.c+262−54

This diff is large: its 450 lines aren’t shown here.

arch/arm/plat-nomadik/include/plat/gpio.h+15−0

This diff is large: its 22 lines aren’t shown here.

arch/arm/plat-nomadik/include/plat/mtu.h+6−0

This diff is large: its 13 lines aren’t shown here.

arch/arm/plat-nomadik/include/plat/pincfg.h+72−0

This diff is large: its 73 lines aren’t shown here.

arch/arm/plat-nomadik/include/plat/ste_dma40.h+3−1

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-nomadik/timer.c+10−4

This diff is large: its 57 lines aren’t shown here.

arch/arm/plat-omap/Kconfig+12−21

This diff is large: its 67 lines aren’t shown here.

arch/arm/plat-omap/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-omap/common.c+13−5

This diff is large: its 53 lines aren’t shown here.

arch/arm/plat-omap/debug-leds.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/devices.c+0−124

This diff is large: its 145 lines aren’t shown here.

arch/arm/plat-omap/dma.c+7−4

This diff is large: its 27 lines aren’t shown here.

arch/arm/plat-omap/fb.c+56−21

This diff is large: its 130 lines aren’t shown here.

arch/arm/plat-omap/gpio.c+3−1

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-omap/i2c.c+11−1

This diff is large: its 26 lines aren’t shown here.

arch/arm/plat-omap/include/plat/board.h+8−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/plat-omap/include/plat/clock.h+107−23

This diff is large: its 176 lines aren’t shown here.

arch/arm/plat-omap/include/plat/common.h+9−2

This diff is large: its 37 lines aren’t shown here.

arch/arm/plat-omap/include/plat/cpu.h+13−4

This diff is large: its 59 lines aren’t shown here.

arch/arm/plat-omap/include/plat/display.h+5−4

This diff is large: its 30 lines aren’t shown here.

arch/arm/plat-omap/include/plat/dma.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-omap/include/plat/gpmc.h+35−7

This diff is large: its 72 lines aren’t shown here.

arch/arm/plat-omap/include/plat/iommu.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/plat-omap/include/plat/mailbox.h+6−14

This diff is large: its 54 lines aren’t shown here.

arch/arm/plat-omap/include/plat/mcbsp.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/plat-omap/include/plat/mmc.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/include/plat/mux.h+4−220

This diff is large: its 257 lines aren’t shown here.

arch/arm/plat-omap/include/plat/nand.h+2−4

This diff is large: its 16 lines aren’t shown here.

arch/arm/plat-omap/include/plat/nokia-dsi-panel.h+31−0

This diff is large: its 32 lines aren’t shown here.

arch/arm/plat-omap/include/plat/omap-pm.h+100−30

This diff is large: its 201 lines aren’t shown here.

arch/arm/plat-omap/include/plat/omap_device.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/include/plat/omap_hwmod.h+9−5

This diff is large: its 52 lines aren’t shown here.

arch/arm/plat-omap/include/plat/smp.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-omap/include/plat/uncompress.h+6−0

This diff is large: its 20 lines aren’t shown here.

arch/arm/plat-omap/include/plat/usb.h+48−1

This diff is large: its 61 lines aren’t shown here.

arch/arm/plat-omap/include/plat/vram.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-omap/iommu.c+23−4

This diff is large: its 64 lines aren’t shown here.

arch/arm/plat-omap/iopgtable.h+5−3

This diff is large: its 25 lines aren’t shown here.

arch/arm/plat-omap/mailbox.c+118−130

This diff is large: its 447 lines aren’t shown here.

arch/arm/plat-omap/mcbsp.c+35−16

This diff is large: its 97 lines aren’t shown here.

arch/arm/plat-omap/mux.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/omap-pm-noop.c+48−13

This diff is large: its 112 lines aren’t shown here.

arch/arm/plat-omap/omap_device.c+32−5

This diff is large: its 79 lines aren’t shown here.

arch/arm/plat-omap/usb.c+16−628

This diff is large: its 694 lines aren’t shown here.

arch/arm/plat-orion/include/plat/audio.h+11−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-orion/pcie.c+34−0

This diff is large: its 62 lines aren’t shown here.

arch/arm/plat-pxa/Makefile+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-pxa/pmu.c+0−33

This diff is large: its 34 lines aren’t shown here.

arch/arm/plat-s3c24xx/clock.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-s5p/Kconfig+18−2

This diff is large: its 32 lines aren’t shown here.

arch/arm/plat-s5p/Makefile+6−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/plat-s5p/cpu.c+18−1

This diff is large: its 62 lines aren’t shown here.

arch/arm/plat-s5p/dev-fimc0.c+36−0

This diff is large: its 37 lines aren’t shown here.

arch/arm/plat-s5p/dev-fimc1.c+36−0

This diff is large: its 37 lines aren’t shown here.

arch/arm/plat-s5p/dev-fimc2.c+36−0

This diff is large: its 37 lines aren’t shown here.

arch/arm/plat-s5p/dev-pmu.c+36−0

This diff is large: its 37 lines aren’t shown here.

arch/arm/plat-s5p/include/plat/map-s5p.h+19−4

This diff is large: its 32 lines aren’t shown here.

arch/arm/plat-s5p/include/plat/pll.h+41−0

This diff is large: its 48 lines aren’t shown here.

arch/arm/plat-s5p/include/plat/reset.h+16−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-s5p/include/plat/s5pv310.h+34−0

This diff is large: its 35 lines aren’t shown here.

arch/arm/plat-s5p/include/plat/system-reset.h+31−0

This diff is large: its 32 lines aren’t shown here.

arch/arm/plat-s5p/irq.c+2−0

This diff is large: its 14 lines aren’t shown here.

arch/arm/plat-samsung/Kconfig+15−0

This diff is large: its 36 lines aren’t shown here.

arch/arm/plat-samsung/Makefile+6−1

This diff is large: its 32 lines aren’t shown here.

arch/arm/plat-samsung/clock.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-samsung/dev-hsmmc.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-samsung/dev-hsmmc1.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-samsung/dev-hsmmc2.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-samsung/dev-hsmmc3.c+77−0

This diff is large: its 78 lines aren’t shown here.

arch/arm/plat-samsung/dev-ide.c+44−0

This diff is large: its 45 lines aren’t shown here.

arch/arm/plat-samsung/dev-keypad.c+50−0

This diff is large: its 51 lines aren’t shown here.

arch/arm/plat-samsung/dev-wdt.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-samsung/gpiolib.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/adc-core.h+28−0

This diff is large: its 29 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/ata-core.h+28−0

This diff is large: its 29 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/ata.h+36−0

This diff is large: its 37 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/devs.h+20−0

This diff is large: its 38 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/fb-core.h+29−0

This diff is large: its 30 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/fb.h+3−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/fimc-core.h+44−0

This diff is large: its 45 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/keypad-core.h+31−0

This diff is large: its 32 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/keypad.h+56−0

This diff is large: its 57 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-ata.h+56−0

This diff is large: its 57 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-fb-v4.h+1−77

This diff is large: its 95 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-fb.h+25−5

This diff is large: its 65 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-rtc.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-serial.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-usb-hsotg.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/sdhci.h+70−57

This diff is large: its 292 lines aren’t shown here.

arch/arm/plat-samsung/platformdata.c+37−0

This diff is large: its 38 lines aren’t shown here.

arch/arm/plat-spear/padmux.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-spear/time.c+7−40

This diff is large: its 75 lines aren’t shown here.

arch/arm/plat-versatile/Makefile+4−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-versatile/leds.c+103−0

This diff is large: its 104 lines aren’t shown here.

arch/arm/vfp/vfpmodule.c+7−3

This diff is large: its 25 lines aren’t shown here.

arch/avr32/Kconfig+0−3

This diff is large: its 10 lines aren’t shown here.

arch/avr32/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/avr32/include/asm/cache.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/avr32/include/asm/dma-mapping.h+0−10

This diff is large: its 15 lines aren’t shown here.

arch/avr32/include/asm/ioctls.h+2−2

This diff is large: its 25 lines aren’t shown here.

arch/avr32/include/asm/local64.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/avr32/include/asm/scatterlist.h+0−2

This diff is large: its 7 lines aren’t shown here.

arch/avr32/include/asm/syscalls.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/avr32/include/asm/termbits.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/avr32/kernel/process.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/avr32/mm/fault.c+4−10

This diff is large: its 28 lines aren’t shown here.

arch/blackfin/Kconfig+15−8

This diff is large: its 58 lines aren’t shown here.

arch/blackfin/Makefile+4−3

This diff is large: its 28 lines aren’t shown here.

arch/blackfin/boot/Makefile+9−2

This diff is large: its 39 lines aren’t shown here.

arch/blackfin/configs/BF518F-EZBRD_defconfig+103−60

This diff is large: its 484 lines aren’t shown here.

arch/blackfin/configs/BF526-EZBRD_defconfig+102−27

This diff is large: its 502 lines aren’t shown here.

arch/blackfin/configs/BF527-EZKIT-V2_defconfig+111−38

This diff is large: its 536 lines aren’t shown here.

arch/blackfin/configs/BF527-EZKIT_defconfig+106−33

This diff is large: its 510 lines aren’t shown here.

arch/blackfin/configs/BF533-EZKIT_defconfig+78−15

This diff is large: its 300 lines aren’t shown here.

arch/blackfin/configs/BF533-STAMP_defconfig+94−37

This diff is large: its 408 lines aren’t shown here.

arch/blackfin/configs/BF537-STAMP_defconfig+98−43

This diff is large: its 460 lines aren’t shown here.

arch/blackfin/configs/BF538-EZKIT_defconfig+89−32

This diff is large: its 390 lines aren’t shown here.

arch/blackfin/configs/BF548-EZKIT_defconfig+112−44

This diff is large: its 534 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/BF561-EZKIT_defconfig+75−10

This diff is large: its 264 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-BF537E_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/CM-BF537U_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/CM-BF561_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/PNAV-10_defconfig+94−29

This diff is large: its 433 lines aren’t shown here.

arch/blackfin/configs/TCM-BF518_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/TCM-BF537_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/include/asm/bfin_rotary.h+73−1

This diff is large: its 86 lines aren’t shown here.

arch/blackfin/include/asm/bfin_sdh.h+117−2

This diff is large: its 137 lines aren’t shown here.

arch/blackfin/include/asm/bitops.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/include/asm/cache.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/include/asm/cdef_LPBlackfin.h+4−4

This diff is large: its 26 lines aren’t shown here.

arch/blackfin/include/asm/def_LPBlackfin.h+18−0

This diff is large: its 32 lines aren’t shown here.

arch/blackfin/include/asm/dma-mapping.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/include/asm/dma.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/include/asm/elf.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/include/asm/ftrace.h+16−0

This diff is large: its 23 lines aren’t shown here.

arch/blackfin/include/asm/gpio.h+58−53

This diff is large: its 129 lines aren’t shown here.

arch/blackfin/include/asm/io.h+7−1

This diff is large: its 15 lines aren’t shown here.

arch/blackfin/include/asm/local64.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/blackfin/include/asm/mem_init.h+0−18

This diff is large: its 39 lines aren’t shown here.

arch/blackfin/include/asm/nand.h+0−3

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/include/asm/portmux.h+5−5

This diff is large: its 24 lines aren’t shown here.

arch/blackfin/include/asm/scatterlist.h+0−2

This diff is large: its 7 lines aren’t shown here.

arch/blackfin/kernel/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/kernel/bfin_dma_5xx.c+17−2

This diff is large: its 40 lines aren’t shown here.

arch/blackfin/kernel/bfin_gpio.c+58−53

This diff is large: its 334 lines aren’t shown here.

arch/blackfin/kernel/cplb-mpu/cplbinit.c+0−4

This diff is large: its 11 lines aren’t shown here.

arch/blackfin/kernel/ftrace-entry.S+77−8

This diff is large: its 150 lines aren’t shown here.

arch/blackfin/kernel/ftrace.c+85−1

This diff is large: its 103 lines aren’t shown here.

arch/blackfin/kernel/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/kernel/setup.c+7−0

This diff is large: its 14 lines aren’t shown here.

arch/blackfin/kernel/vmlinux.lds.S+1−6

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/mach-bf518/Kconfig+61−0

This diff is large: its 68 lines aren’t shown here.

arch/blackfin/mach-bf518/include/mach/anomaly.h+17−4

This diff is large: its 73 lines aren’t shown here.

arch/blackfin/mach-bf518/include/mach/bf518.h+105−0

This diff is large: its 112 lines aren’t shown here.

arch/blackfin/mach-bf518/include/mach/defBF514.h+0−135

This diff is large: its 140 lines aren’t shown here.

arch/blackfin/mach-bf518/include/mach/defBF51x_base.h+18−126

This diff is large: its 172 lines aren’t shown here.

arch/blackfin/mach-bf518/include/mach/gpio.h+42−41

This diff is large: its 91 lines aren’t shown here.

arch/blackfin/mach-bf518/include/mach/portmux.h+4−3

This diff is large: its 34 lines aren’t shown here.

arch/blackfin/mach-bf527/Kconfig+66−0

This diff is large: its 73 lines aren’t shown here.

arch/blackfin/mach-bf527/include/mach/anomaly.h+18−4

This diff is large: its 72 lines aren’t shown here.

arch/blackfin/mach-bf527/include/mach/bf527.h+120−0

This diff is large: its 127 lines aren’t shown here.

arch/blackfin/mach-bf527/include/mach/defBF52x_base.h+18−207

This diff is large: its 258 lines aren’t shown here.

arch/blackfin/mach-bf527/include/mach/gpio.h+48−48

This diff is large: its 103 lines aren’t shown here.

arch/blackfin/mach-bf527/include/mach/portmux.h+2−1

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/mach-bf533/include/mach/anomaly.h+8−2

This diff is large: its 32 lines aren’t shown here.

arch/blackfin/mach-bf533/include/mach/gpio.h+16−16

This diff is large: its 39 lines aren’t shown here.

arch/blackfin/mach-bf533/include/mach/portmux.h+2−1

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/mach-bf537/include/mach/anomaly.h+9−2

This diff is large: its 40 lines aren’t shown here.

arch/blackfin/mach-bf537/include/mach/defBF534.h+18−18

This diff is large: its 57 lines aren’t shown here.

arch/blackfin/mach-bf537/include/mach/gpio.h+48−48

This diff is large: its 103 lines aren’t shown here.

arch/blackfin/mach-bf537/include/mach/portmux.h+4−3

This diff is large: its 32 lines aren’t shown here.

arch/blackfin/mach-bf538/include/mach/anomaly.h+12−4

This diff is large: its 45 lines aren’t shown here.

arch/blackfin/mach-bf538/include/mach/cdefBF538.h+0−64

This diff is large: its 71 lines aren’t shown here.

arch/blackfin/mach-bf538/include/mach/defBF539.h+7−7

This diff is large: its 47 lines aren’t shown here.

arch/blackfin/mach-bf538/include/mach/gpio.h+54−54

This diff is large: its 115 lines aren’t shown here.

arch/blackfin/mach-bf538/include/mach/portmux.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/mach-bf548/include/mach/anomaly.h+12−4

This diff is large: its 52 lines aren’t shown here.

arch/blackfin/mach-bf548/include/mach/cdefBF54x_base.h+8−8

This diff is large: its 30 lines aren’t shown here.

arch/blackfin/mach-bf548/include/mach/defBF542.h+0−130

This diff is large: its 137 lines aren’t shown here.

arch/blackfin/mach-bf548/include/mach/defBF544.h+3−3

This diff is large: its 19 lines aren’t shown here.

arch/blackfin/mach-bf548/include/mach/defBF547.h+3−133

This diff is large: its 156 lines aren’t shown here.

arch/blackfin/mach-bf548/include/mach/defBF54x_base.h+7−145

This diff is large: its 200 lines aren’t shown here.

arch/blackfin/mach-bf548/include/mach/gpio.h+10−0

This diff is large: its 28 lines aren’t shown here.

arch/blackfin/mach-bf548/include/mach/portmux.h+2−1

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/mach-bf561/include/mach/anomaly.h+9−4

This diff is large: its 43 lines aren’t shown here.

arch/blackfin/mach-bf561/include/mach/gpio.h+48−48

This diff is large: its 103 lines aren’t shown here.

arch/blackfin/mach-bf561/include/mach/portmux.h+2−1

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/mach-common/arch_checks.c+9−7

This diff is large: its 36 lines aren’t shown here.

arch/blackfin/mach-common/cache.S+4−11

This diff is large: its 30 lines aren’t shown here.

arch/blackfin/mach-common/dpmc_modes.S+0−24

This diff is large: its 52 lines aren’t shown here.

arch/blackfin/mach-common/pm.c+9−8

This diff is large: its 39 lines aren’t shown here.

arch/cris/Kconfig+4−4

This diff is large: its 36 lines aren’t shown here.

arch/cris/Kconfig.debug+6−0

This diff is large: its 11 lines aren’t shown here.

arch/cris/arch-v10/drivers/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v10/drivers/eeprom.c+0−2

This diff is large: its 16 lines aren’t shown here.

arch/cris/arch-v10/drivers/gpio.c+54−28

This diff is large: its 264 lines aren’t shown here.

arch/cris/arch-v10/drivers/i2c.c+17−22

This diff is large: its 135 lines aren’t shown here.

arch/cris/arch-v10/drivers/i2c.h+1−2

This diff is large: its 7 lines aren’t shown here.

arch/cris/arch-v10/drivers/sync_serial.c+21−9

This diff is large: its 58 lines aren’t shown here.

arch/cris/arch-v10/kernel/fasttimer.c+1−5

This diff is large: its 13 lines aren’t shown here.

arch/cris/arch-v10/kernel/head.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v10/kernel/time.c+2−52

This diff is large: its 69 lines aren’t shown here.

arch/cris/arch-v32/drivers/cryptocop.c+20−8

This diff is large: its 70 lines aren’t shown here.

arch/cris/arch-v32/drivers/i2c.c+6−6

This diff is large: its 51 lines aren’t shown here.

arch/cris/arch-v32/drivers/mach-a3/gpio.c+19−9

This diff is large: its 56 lines aren’t shown here.

arch/cris/arch-v32/drivers/mach-fs/gpio.c+25−17

This diff is large: its 104 lines aren’t shown here.

arch/cris/arch-v32/drivers/sync_serial.c+21−9

This diff is large: its 58 lines aren’t shown here.

arch/cris/arch-v32/kernel/cacheflush.S+5−0

This diff is large: its 23 lines aren’t shown here.

arch/cris/arch-v32/kernel/entry.S+50−30

This diff is large: its 228 lines aren’t shown here.

arch/cris/arch-v32/kernel/head.S+41−3

This diff is large: its 65 lines aren’t shown here.

arch/cris/arch-v32/kernel/irq.c+22−25

This diff is large: its 91 lines aren’t shown here.

arch/cris/arch-v32/kernel/kgdb.c+8−8

This diff is large: its 46 lines aren’t shown here.

arch/cris/arch-v32/kernel/kgdb_asm.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v32/kernel/pinmux.c+0−229

This diff is large: its 230 lines aren’t shown here.

arch/cris/arch-v32/kernel/setup.c+66−8

This diff is large: its 98 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/time.c+34−51

This diff is large: its 161 lines aren’t shown here.

arch/cris/arch-v32/kernel/traps.c+2−4

This diff is large: its 20 lines aren’t shown here.

arch/cris/arch-v32/lib/checksum.S+3−0

This diff is large: its 14 lines aren’t shown here.

arch/cris/arch-v32/lib/checksumcopy.S+3−0

This diff is large: its 14 lines aren’t shown here.

arch/cris/arch-v32/lib/spinlock.S+7−0

This diff is large: its 26 lines aren’t shown here.

arch/cris/arch-v32/mach-a3/Kconfig+4−0

This diff is large: its 11 lines aren’t shown here.

arch/cris/arch-v32/mach-a3/dram_init.S+15−1

This diff is large: its 42 lines aren’t shown here.

arch/cris/arch-v32/mach-a3/hw_settings.S+2−0

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v32/mm/init.c+18−5

This diff is large: its 61 lines aren’t shown here.

arch/cris/arch-v32/mm/intmem.c+5−8

This diff is large: its 34 lines aren’t shown here.

arch/cris/arch-v32/mm/mmu.S+4−0

This diff is large: its 32 lines aren’t shown here.

arch/cris/boot/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/boot/compressed/misc.c+25−40

This diff is large: its 111 lines aren’t shown here.

arch/cris/include/arch-v32/arch/cache.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/cris/include/arch-v32/arch/dma.h+1−79

This diff is large: its 81 lines aren’t shown here.

arch/cris/include/arch-v32/arch/io.h+12−8

This diff is large: its 34 lines aren’t shown here.

arch/cris/include/arch-v32/arch/memmap.h+1−24

This diff is large: its 26 lines aren’t shown here.

arch/cris/include/arch-v32/arch/pgtable.h+8−0

This diff is large: its 17 lines aren’t shown here.

arch/cris/include/arch-v32/arch/uaccess.h+3−4

This diff is large: its 27 lines aren’t shown here.

arch/cris/include/arch-v32/mach-a3/mach/dma.h+27−0

This diff is large: its 34 lines aren’t shown here.

arch/cris/include/arch-v32/mach-a3/mach/startup.inc+26−2

This diff is large: its 51 lines aren’t shown here.

arch/cris/include/arch-v32/mach-fs/mach/dma.h+79−0

This diff is large: its 80 lines aren’t shown here.

arch/cris/include/arch-v32/mach-fs/mach/memmap.h+24−0

This diff is large: its 25 lines aren’t shown here.

arch/cris/include/arch-v32/mach-fs/mach/startup.inc+5−0

This diff is large: its 13 lines aren’t shown here.

arch/cris/include/asm/dma-mapping.h+0−8

This diff is large: its 15 lines aren’t shown here.

arch/cris/include/asm/etraxgpio.h+78−18

This diff is large: its 160 lines aren’t shown here.

arch/cris/include/asm/ioctls.h+3−2

This diff is large: its 31 lines aren’t shown here.

arch/cris/include/asm/local64.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/cris/include/asm/pgtable.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/cris/include/asm/scatterlist.h+0−2

This diff is large: its 7 lines aren’t shown here.

arch/cris/include/asm/sync_serial.h+26−1

This diff is large: its 62 lines aren’t shown here.

arch/cris/include/asm/termbits.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/cris/kernel/profile.c+7−8

This diff is large: its 50 lines aren’t shown here.

arch/cris/kernel/time.c+5−2

This diff is large: its 27 lines aren’t shown here.

arch/cris/kernel/vmlinux.lds.S+13−1

This diff is large: its 35 lines aren’t shown here.

arch/cris/mm/fault.c+29−16

This diff is large: its 96 lines aren’t shown here.

arch/frv/Kconfig+0−4

This diff is large: its 11 lines aren’t shown here.

arch/frv/Makefile+2−20

This diff is large: its 75 lines aren’t shown here.

arch/frv/include/asm/dma-mapping.h+0−8

This diff is large: its 15 lines aren’t shown here.

arch/frv/include/asm/highmem.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/frv/include/asm/ioctls.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/frv/include/asm/local64.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/frv/include/asm/mem-layout.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/frv/include/asm/scatterlist.h+0−2

This diff is large: its 7 lines aren’t shown here.

arch/frv/include/asm/termbits.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/frv/kernel/local64.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/frv/kernel/process.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/h8300/Kconfig+0−4

This diff is large: its 11 lines aren’t shown here.

arch/h8300/include/asm/ioctls.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/h8300/include/asm/local64.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/h8300/include/asm/md.h+0−13

This diff is large: its 14 lines aren’t shown here.

arch/h8300/include/asm/scatterlist.h+0−2

This diff is large: its 7 lines aren’t shown here.

arch/h8300/include/asm/termbits.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/h8300/kernel/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/h8300/kernel/timer/itu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/h8300/kernel/timer/timer16.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/h8300/kernel/timer/timer8.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/Kconfig+1−6

This diff is large: its 21 lines aren’t shown here.

arch/ia64/Makefile+3−3

This diff is large: its 17 lines aren’t shown here.

arch/ia64/configs/bigsur_defconfig+94−1334

This diff is large: its 1453 lines aren’t shown here.

arch/ia64/configs/generic_defconfig+175−1613

This diff is large: its 1842 lines aren’t shown here.

arch/ia64/configs/gensparse_defconfig+156−1337

This diff is large: its 1541 lines aren’t shown here.

arch/ia64/configs/sim_defconfig+45−711

This diff is large: its 769 lines aren’t shown here.

arch/ia64/configs/tiger_defconfig+132−1224

This diff is large: its 1404 lines aren’t shown here.

arch/ia64/configs/xen_domu_defconfig+139−1539

This diff is large: its 1731 lines aren’t shown here.

arch/ia64/configs/zx1_defconfig+116−1565

This diff is large: its 1719 lines aren’t shown here.

arch/ia64/include/asm/atomic.h+4−4

This diff is large: its 36 lines aren’t shown here.

arch/ia64/include/asm/dma-mapping.h+0−4

This diff is large: its 16 lines aren’t shown here.

arch/ia64/include/asm/ioctls.h+2−2

This diff is large: its 25 lines aren’t shown here.

arch/ia64/include/asm/kvm_host.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/include/asm/local64.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/ia64/include/asm/page.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/include/asm/rwsem.h+3−3

This diff is large: its 13 lines aren’t shown here.

arch/ia64/include/asm/scatterlist.h+0−9

This diff is large: its 16 lines aren’t shown here.

arch/ia64/include/asm/termbits.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/include/asm/unistd.h+5−2

This diff is large: its 25 lines aren’t shown here.

arch/ia64/kernel/entry.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/ia64/kernel/msi_ia64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/kernel/perfmon.c+19−18

This diff is large: its 74 lines aren’t shown here.

arch/ia64/kernel/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/kernel/setup.c+0−6

This diff is large: its 13 lines aren’t shown here.

arch/ia64/kernel/smpboot.c+6−13

This diff is large: its 52 lines aren’t shown here.

arch/ia64/kernel/time.c+4−3

This diff is large: its 22 lines aren’t shown here.

arch/ia64/kernel/vmlinux.lds.S+189−173

This diff is large: its 421 lines aren’t shown here.

arch/ia64/kvm/kvm-ia64.c+16−40

This diff is large: its 172 lines aren’t shown here.

arch/ia64/sn/kernel/msi_sn.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/sn/kernel/setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m32r/Kconfig+0−3

This diff is large: its 10 lines aren’t shown here.

arch/m32r/Makefile+2−2

This diff is large: its 11 lines aren’t shown here.

arch/m32r/include/asm/ioctls.h+2−2

This diff is large: its 25 lines aren’t shown here.

arch/m32r/include/asm/local64.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/m32r/include/asm/scatterlist.h+0−2

This diff is large: its 7 lines aren’t shown here.

arch/m32r/include/asm/termbits.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/m32r/kernel/process.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/m68k/Kconfig+0−3

This diff is large: its 10 lines aren’t shown here.

arch/m68k/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/cache.h+1−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/include/asm/dma-mapping.h+0−10

This diff is large: its 17 lines aren’t shown here.

arch/m68k/include/asm/ioctls.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/m68k/include/asm/local64.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/m68k/include/asm/md.h+0−13

This diff is large: its 14 lines aren’t shown here.

arch/m68k/include/asm/scatterlist.h+0−3

This diff is large: its 8 lines aren’t shown here.

arch/m68k/include/asm/termbits.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/m68k/kernel/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/mac/config.c+9−0

This diff is large: its 16 lines aren’t shown here.

arch/m68k/mac/misc.c+3−3

This diff is large: its 20 lines aren’t shown here.

arch/m68k/sun3/leds.c+2−2

This diff is large: its 10 lines aren’t shown here.

arch/m68knommu/Kconfig+0−4

This diff is large: its 11 lines aren’t shown here.

arch/m68knommu/kernel/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/Kconfig+33−18

This diff is large: its 89 lines aren’t shown here.

arch/microblaze/Kconfig.debug+1−0

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/boot/Makefile+6−5

This diff is large: its 20 lines aren’t shown here.

arch/microblaze/include/asm/cacheflush.h+13−5

This diff is large: its 47 lines aren’t shown here.

arch/microblaze/include/asm/dma-mapping.h+0−12

This diff is large: its 33 lines aren’t shown here.

arch/microblaze/include/asm/elf.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/include/asm/exceptions.h+5−16

This diff is large: its 35 lines aren’t shown here.

arch/microblaze/include/asm/irq.h+0−24

This diff is large: its 36 lines aren’t shown here.

arch/microblaze/include/asm/kgdb.h+28−0

This diff is large: its 29 lines aren’t shown here.

arch/microblaze/include/asm/local64.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/microblaze/include/asm/of_device.h+0−44

This diff is large: its 45 lines aren’t shown here.

arch/microblaze/include/asm/of_platform.h+0−54

This diff is large: its 55 lines aren’t shown here.

arch/microblaze/include/asm/page.h+11−10

This diff is large: its 41 lines aren’t shown here.

arch/microblaze/include/asm/pci-bridge.h+0−5

This diff is large: its 14 lines aren’t shown here.

arch/microblaze/include/asm/prom.h+14−101

This diff is large: its 145 lines aren’t shown here.

arch/microblaze/include/asm/pvr.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/include/asm/scatterlist.h+0−2

This diff is large: its 4 lines aren’t shown here.

arch/microblaze/include/asm/setup.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/include/asm/system.h+0−4

This diff is large: its 19 lines aren’t shown here.

arch/microblaze/include/asm/topology.h+0−10

This diff is large: its 12 lines aren’t shown here.

arch/microblaze/include/asm/uaccess.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/microblaze/include/asm/unwind.h+29−0

This diff is large: its 30 lines aren’t shown here.

arch/microblaze/kernel/Makefile+4−3

This diff is large: its 20 lines aren’t shown here.

arch/microblaze/kernel/cpu/mb.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/kernel/entry-nommu.S+28−0

This diff is large: its 32 lines aren’t shown here.

arch/microblaze/kernel/entry.S+242−365

This diff is large: its 1048 lines aren’t shown here.

arch/microblaze/kernel/exceptions.c+7−2

This diff is large: its 28 lines aren’t shown here.

arch/microblaze/kernel/head.S+2−2

This diff is large: its 13 lines aren’t shown here.

arch/microblaze/kernel/hw_exception_handler.S+1−3

This diff is large: its 18 lines aren’t shown here.

arch/microblaze/kernel/irq.c+4−12

This diff is large: its 46 lines aren’t shown here.

arch/microblaze/kernel/kgdb.c+147−0

This diff is large: its 148 lines aren’t shown here.

arch/microblaze/kernel/misc.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/kernel/of_device.c+0−112

This diff is large: its 113 lines aren’t shown here.

arch/microblaze/kernel/of_platform.c+0−200

This diff is large: its 201 lines aren’t shown here.

arch/microblaze/kernel/process.c+5−2

This diff is large: its 14 lines aren’t shown here.

arch/microblaze/kernel/prom_parse.c+1−876

This diff is large: its 906 lines aren’t shown here.

arch/microblaze/kernel/ptrace.c+16−1

This diff is large: its 32 lines aren’t shown here.

arch/microblaze/kernel/reset.c+6−6

This diff is large: its 35 lines aren’t shown here.

arch/microblaze/kernel/setup.c+0−6

This diff is large: its 16 lines aren’t shown here.

arch/microblaze/kernel/stacktrace.c+5−39

This diff is large: its 58 lines aren’t shown here.

arch/microblaze/kernel/sys_microblaze.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/kernel/timer.c+21−3

This diff is large: its 64 lines aren’t shown here.

arch/microblaze/kernel/traps.c+40−51

This diff is large: its 121 lines aren’t shown here.

arch/microblaze/kernel/unwind.c+318−0

This diff is large: its 319 lines aren’t shown here.

arch/microblaze/kernel/vmlinux.lds.S+8−8

This diff is large: its 68 lines aren’t shown here.

arch/microblaze/mm/fault.c+0−16

This diff is large: its 44 lines aren’t shown here.

arch/microblaze/mm/init.c+1−6

This diff is large: its 15 lines aren’t shown here.

arch/mips/Kbuild+15−0

This diff is large: its 16 lines aren’t shown here.

arch/mips/Kbuild.platforms+32−0

This diff is large: its 33 lines aren’t shown here.

arch/mips/Kconfig+29−5

This diff is large: its 84 lines aren’t shown here.

arch/mips/Makefile+21−507

This diff is large: its 593 lines aren’t shown here.

arch/mips/alchemy/Kconfig+10−18

This diff is large: its 60 lines aren’t shown here.

arch/mips/alchemy/Platform+114−0

This diff is large: its 115 lines aren’t shown here.

arch/mips/alchemy/common/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/alchemy/common/clocks.c+0−4

This diff is large: its 12 lines aren’t shown here.

arch/mips/alchemy/common/platform.c+14−3

This diff is large: its 62 lines aren’t shown here.

arch/mips/alchemy/devboards/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/alchemy/devboards/db1200/platform.c+4−4

This diff is large: its 32 lines aren’t shown here.

arch/mips/alchemy/devboards/db1x00/board_setup.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/alchemy/devboards/pb1000/board_setup.c+4−2

This diff is large: its 14 lines aren’t shown here.

arch/mips/alchemy/devboards/pb1200/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/alchemy/gpr/Makefile+8−0

This diff is large: its 9 lines aren’t shown here.

arch/mips/alchemy/gpr/board_setup.c+93−0

This diff is large: its 94 lines aren’t shown here.

arch/mips/alchemy/gpr/init.c+63−0

This diff is large: its 64 lines aren’t shown here.

arch/mips/alchemy/gpr/platform.c+183−0

This diff is large: its 184 lines aren’t shown here.

arch/mips/alchemy/mtx-1/Makefile+1−4

This diff is large: its 9 lines aren’t shown here.

arch/mips/alchemy/mtx-1/board_setup.c+8−10

This diff is large: its 33 lines aren’t shown here.

arch/mips/alchemy/xxs1500/Makefile+1−3

This diff is large: its 8 lines aren’t shown here.

arch/mips/alchemy/xxs1500/board_setup.c+4−2

This diff is large: its 14 lines aren’t shown here.

arch/mips/ar7/Makefile+0−1

This diff is large: its 5 lines aren’t shown here.

arch/mips/ar7/Platform+6−0

This diff is large: its 7 lines aren’t shown here.

arch/mips/ar7/platform.c+15−27

This diff is large: its 56 lines aren’t shown here.

arch/mips/bcm47xx/Platform+7−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/bcm47xx/nvram.c+2−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/bcm47xx/prom.c+14−8

This diff is large: its 43 lines aren’t shown here.

arch/mips/bcm63xx/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/bcm63xx/Platform+7−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/boot/.gitignore+1−0

This diff is large: its 5 lines aren’t shown here.

arch/mips/boot/Makefile+23−26

This diff is large: its 59 lines aren’t shown here.

arch/mips/boot/compressed/Makefile+42−39

This diff is large: its 131 lines aren’t shown here.

arch/mips/boot/compressed/calc_vmlinuz_load_addr.c+57−0

This diff is large: its 58 lines aren’t shown here.

arch/mips/boot/compressed/decompress.c+14−24

This diff is large: its 76 lines aren’t shown here.

arch/mips/boot/compressed/ld.script+17−34

This diff is large: its 79 lines aren’t shown here.

arch/mips/cavium-octeon/Makefile+1−2

This diff is large: its 9 lines aren’t shown here.

arch/mips/cavium-octeon/Platform+11−0

This diff is large: its 12 lines aren’t shown here.

arch/mips/cavium-octeon/cpu.c+1−5

This diff is large: its 14 lines aren’t shown here.

arch/mips/cavium-octeon/csrc-octeon.c+55−8

This diff is large: its 81 lines aren’t shown here.

arch/mips/cavium-octeon/dma-octeon.c+10−7

This diff is large: its 24 lines aren’t shown here.

arch/mips/cavium-octeon/octeon-irq.c+323−230

This diff is large: its 840 lines aren’t shown here.

arch/mips/cavium-octeon/octeon_boot.h+9−7

This diff is large: its 40 lines aren’t shown here.

arch/mips/cavium-octeon/serial.c+0−4

This diff is large: its 12 lines aren’t shown here.

arch/mips/cavium-octeon/setup.c+40−8

This diff is large: its 114 lines aren’t shown here.

arch/mips/cavium-octeon/smp.c+85−85

This diff is large: its 286 lines aren’t shown here.

arch/mips/cobalt/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/cobalt/Platform+6−0

This diff is large: its 7 lines aren’t shown here.

arch/mips/configs/db1000_defconfig+1−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/configs/db1100_defconfig+1−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/configs/db1200_defconfig+1−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/configs/db1500_defconfig+1−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/configs/db1550_defconfig+1−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/configs/gpr_defconfig+2060−0

This diff is large: its 2061 lines aren’t shown here.

arch/mips/configs/mtx1_defconfig+1−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/configs/pb1100_defconfig+1−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/configs/pb1200_defconfig+1−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/configs/pb1500_defconfig+1−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/configs/pb1550_defconfig+1−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/configs/powertv_defconfig+198−77

This diff is large: its 815 lines aren’t shown here.

arch/mips/dec/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/dec/Platform+8−0

This diff is large: its 9 lines aren’t shown here.

arch/mips/dec/promcon.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/mips/emma/Makefile+6−0

This diff is large: its 7 lines aren’t shown here.

arch/mips/emma/Platform+4−0

This diff is large: its 5 lines aren’t shown here.

arch/mips/emma/markeins/irq.c+4−4

This diff is large: its 26 lines aren’t shown here.

arch/mips/emma/markeins/setup.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/arch_hweight.h+38−0

This diff is large: its 39 lines aren’t shown here.

arch/mips/include/asm/bitops.h+4−1

This diff is large: its 12 lines aren’t shown here.

arch/mips/include/asm/bootinfo.h+6−0

This diff is large: its 13 lines aren’t shown here.

arch/mips/include/asm/break.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/cacheops.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/cop2.h+12−0

This diff is large: its 24 lines aren’t shown here.

arch/mips/include/asm/cpu-features.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/cpu.h+8−1

This diff is large: its 30 lines aren’t shown here.

arch/mips/include/asm/dma-mapping.h+0−9

This diff is large: its 16 lines aren’t shown here.

arch/mips/include/asm/elf.h+5−0

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/emma/emma2rh.h+9−75

This diff is large: its 98 lines aren’t shown here.

arch/mips/include/asm/emma/markeins.h+3−34

This diff is large: its 48 lines aren’t shown here.

arch/mips/include/asm/hazards.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/highmem.h+2−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/include/asm/inst.h+14−1

This diff is large: its 36 lines aren’t shown here.

arch/mips/include/asm/ioctls.h+2−3

This diff is large: its 25 lines aren’t shown here.

arch/mips/include/asm/kdebug.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/kgdb.h+9−10

This diff is large: its 38 lines aren’t shown here.

arch/mips/include/asm/kprobes.h+92−0

This diff is large: its 93 lines aren’t shown here.

arch/mips/include/asm/local64.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/mips/include/asm/mach-au1x00/au1xxx_eth.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-bcm47xx/nvram.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h+6−9

This diff is large: its 28 lines aren’t shown here.

arch/mips/include/asm/mach-cavium-octeon/irq.h+2−64

This diff is large: its 74 lines aren’t shown here.

arch/mips/include/asm/mach-generic/kmalloc.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/mach-ip27/kmalloc.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/mach-ip32/kmalloc.h+2−2

This diff is large: its 12 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/base.h+26−0

This diff is large: its 27 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/clock.h+28−0

This diff is large: its 29 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h+51−0

This diff is large: its 52 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/dma.h+90−0

This diff is large: its 91 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/gpio.h+398−0

This diff is large: its 399 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/irq.h+57−0

This diff is large: its 58 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/jz4740_fb.h+67−0

This diff is large: its 68 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/jz4740_mmc.h+15−0

This diff is large: its 16 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/jz4740_nand.h+34−0

This diff is large: its 35 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/platform.h+36−0

This diff is large: its 37 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/timer.h+22−0

This diff is large: its 23 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/war.h+25−0

This diff is large: its 26 lines aren’t shown here.

arch/mips/include/asm/mach-loongson/loongson.h+8−1

This diff is large: its 23 lines aren’t shown here.

arch/mips/include/asm/mach-pb1x00/pb1550.h+0−8

This diff is large: its 15 lines aren’t shown here.

arch/mips/include/asm/mach-powertv/asic.h+17−4

This diff is large: its 61 lines aren’t shown here.

arch/mips/include/asm/mach-powertv/asic_reg_map.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/mach-powertv/asic_regs.h+4−1

This diff is large: its 26 lines aren’t shown here.

arch/mips/include/asm/mach-powertv/dma-coherence.h+4−4

This diff is large: its 26 lines aren’t shown here.

arch/mips/include/asm/mach-powertv/ioremap.h+121−44

This diff is large: its 197 lines aren’t shown here.

arch/mips/include/asm/mach-tx49xx/kmalloc.h+1−3

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/mipsregs.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/octeon/octeon.h+3−0

This diff is large: its 15 lines aren’t shown here.

arch/mips/include/asm/octeon/pci-octeon.h+13−0

This diff is large: its 20 lines aren’t shown here.

arch/mips/include/asm/pci.h+5−0

This diff is large: its 12 lines aren’t shown here.

arch/mips/include/asm/pmc-sierra/msp71xx/msp_prom.h+0−4

This diff is large: its 11 lines aren’t shown here.

arch/mips/include/asm/processor.h+11−2

This diff is large: its 48 lines aren’t shown here.

arch/mips/include/asm/ptrace.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/scatterlist.h+0−2

This diff is large: its 7 lines aren’t shown here.

arch/mips/include/asm/sn/agent.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/statfs.h+8−4

This diff is large: its 40 lines aren’t shown here.

arch/mips/include/asm/termbits.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/uasm.h+38−13

This diff is large: its 117 lines aren’t shown here.

arch/mips/jazz/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/jazz/Platform+6−0

This diff is large: its 7 lines aren’t shown here.

arch/mips/jz4740/Kconfig+12−0

This diff is large: its 13 lines aren’t shown here.

arch/mips/jz4740/Makefile+20−0

This diff is large: its 21 lines aren’t shown here.

arch/mips/jz4740/Platform+3−0

This diff is large: its 4 lines aren’t shown here.

arch/mips/jz4740/board-qi_lb60.c+471−0

This diff is large: its 472 lines aren’t shown here.

arch/mips/jz4740/clock-debugfs.c+109−0

This diff is large: its 110 lines aren’t shown here.

arch/mips/jz4740/clock.c+924−0

This diff is large: its 925 lines aren’t shown here.

arch/mips/jz4740/clock.h+76−0

This diff is large: its 77 lines aren’t shown here.

arch/mips/jz4740/dma.c+289−0

This diff is large: its 290 lines aren’t shown here.

arch/mips/jz4740/gpio.c+604−0

This diff is large: its 605 lines aren’t shown here.

arch/mips/jz4740/irq.c+167−0

This diff is large: its 168 lines aren’t shown here.

arch/mips/jz4740/irq.h+21−0

This diff is large: its 22 lines aren’t shown here.

arch/mips/jz4740/platform.c+291−0

This diff is large: its 292 lines aren’t shown here.

arch/mips/jz4740/pm.c+56−0

This diff is large: its 57 lines aren’t shown here.

arch/mips/jz4740/prom.c+68−0

This diff is large: its 69 lines aren’t shown here.

arch/mips/jz4740/pwm.c+177−0

This diff is large: its 178 lines aren’t shown here.

arch/mips/jz4740/reset.c+79−0

This diff is large: its 80 lines aren’t shown here.

arch/mips/jz4740/reset.h+6−0

This diff is large: its 7 lines aren’t shown here.

arch/mips/jz4740/serial.c+33−0

This diff is large: its 34 lines aren’t shown here.

arch/mips/jz4740/serial.h+20−0

This diff is large: its 21 lines aren’t shown here.

arch/mips/jz4740/setup.c+29−0

This diff is large: its 30 lines aren’t shown here.

arch/mips/jz4740/time.c+144−0

This diff is large: its 145 lines aren’t shown here.

arch/mips/jz4740/timer.c+48−0

This diff is large: its 49 lines aren’t shown here.

arch/mips/jz4740/timer.h+136−0

This diff is large: its 137 lines aren’t shown here.

arch/mips/kernel/Makefile+1−2

This diff is large: its 15 lines aren’t shown here.

arch/mips/kernel/asm-offsets.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/cevt-r4k.c+2−3

This diff is large: its 20 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+23−0

This diff is large: its 51 lines aren’t shown here.

arch/mips/kernel/kgdb.c+146−65

This diff is large: its 247 lines aren’t shown here.

arch/mips/kernel/kprobes.c+557−0

This diff is large: its 558 lines aren’t shown here.

arch/mips/kernel/mcount.S+3−3

This diff is large: its 16 lines aren’t shown here.

arch/mips/kernel/scall64-n32.S+4−4

This diff is large: its 27 lines aren’t shown here.

arch/mips/kernel/smp.c+4−0

This diff is large: its 13 lines aren’t shown here.

arch/mips/kernel/smtc.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/mips/kernel/syscall.c+49−2

This diff is large: its 79 lines aren’t shown here.

arch/mips/kernel/traps.c+35−15

This diff is large: its 137 lines aren’t shown here.

arch/mips/lasat/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/lasat/Platform+7−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/loongson/Platform+32−0

This diff is large: its 33 lines aren’t shown here.

arch/mips/loongson/common/cs5536/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/loongson/common/irq.c+4−10

This diff is large: its 34 lines aren’t shown here.

arch/mips/loongson/fuloong-2e/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/loongson/fuloong-2e/irq.c+5−8

This diff is large: its 34 lines aren’t shown here.

arch/mips/loongson/lemote-2f/irq.c+5−11

This diff is large: its 44 lines aren’t shown here.

arch/mips/math-emu/Makefile+0−1

This diff is large: its 5 lines aren’t shown here.

arch/mips/math-emu/dp_modf.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/math-emu/dp_tint.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/mips/math-emu/dp_tlong.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/mips/math-emu/sp_modf.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/math-emu/sp_tint.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/mips/math-emu/sp_tlong.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/mips/mipssim/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/mipssim/Platform+6−0

This diff is large: its 7 lines aren’t shown here.

arch/mips/mm/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/mm/dma-default.c+0−7

This diff is large: its 14 lines aren’t shown here.

arch/mips/mm/fault.c+14−2

This diff is large: its 44 lines aren’t shown here.

arch/mips/mm/highmem.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/mm/sc-rm7k.c+130−33

This diff is large: its 238 lines aren’t shown here.

arch/mips/mm/tlbex.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/mips/mm/uasm.c+109−53

This diff is large: its 497 lines aren’t shown here.

arch/mips/mti-malta/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/mti-malta/Platform+7−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/nxp/pnx833x/stb22x/Makefile+0−3

This diff is large: its 4 lines aren’t shown here.

arch/mips/nxp/pnx8550/jbs/Makefile+0−4

This diff is large: its 5 lines aren’t shown here.

arch/mips/nxp/pnx8550/stb810/Makefile+0−4

This diff is large: its 5 lines aren’t shown here.

arch/mips/pci/msi-octeon.c+210−67

This diff is large: its 402 lines aren’t shown here.

arch/mips/pci/ops-titan-ht.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/pci/pcie-octeon.c+31−6

This diff is large: its 65 lines aren’t shown here.

arch/mips/pmc-sierra/Platform+14−0

This diff is large: its 15 lines aren’t shown here.

arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c+0−11

This diff is large: its 32 lines aren’t shown here.

arch/mips/pmc-sierra/yosemite/ht-irq.c+6−7

This diff is large: its 25 lines aren’t shown here.

arch/mips/pmc-sierra/yosemite/irq.c+0−4

This diff is large: its 9 lines aren’t shown here.

arch/mips/pnx833x/Makefile+3−0

This diff is large: its 4 lines aren’t shown here.

arch/mips/pnx833x/Platform+5−0

This diff is large: its 6 lines aren’t shown here.

arch/mips/pnx833x/common/Makefilerenamed from arch/mips/nxp/pnx833x/common/Makefile+0−2

This diff is large: its 4 lines aren’t shown here.

arch/mips/pnx833x/common/interrupts.crenamed from arch/mips/nxp/pnx833x/common/interrupts.c+0−0

File renamed without changes.

arch/mips/pnx833x/common/platform.crenamed from arch/mips/nxp/pnx833x/common/platform.c+0−0

File renamed without changes.

arch/mips/pnx833x/common/prom.crenamed from arch/mips/nxp/pnx833x/common/prom.c+0−0

File renamed without changes.

arch/mips/pnx833x/common/reset.crenamed from arch/mips/nxp/pnx833x/common/reset.c+0−0

File renamed without changes.

arch/mips/pnx833x/common/setup.crenamed from arch/mips/nxp/pnx833x/common/setup.c+0−0

File renamed without changes.

arch/mips/pnx833x/stb22x/Makefile+1−0

This diff is large: its 2 lines aren’t shown here.

arch/mips/pnx833x/stb22x/board.crenamed from arch/mips/nxp/pnx833x/stb22x/board.c+0−0

File renamed without changes.

arch/mips/pnx8550/Makefile+3−0

This diff is large: its 4 lines aren’t shown here.

arch/mips/pnx8550/Platform+7−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/pnx8550/common/Makefilerenamed from arch/mips/nxp/pnx8550/common/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/pnx8550/common/int.crenamed from arch/mips/nxp/pnx8550/common/int.c+0−0

File renamed without changes.

arch/mips/pnx8550/common/pci.c+134−0

This diff is large: its 135 lines aren’t shown here.

arch/mips/pnx8550/common/platform.crenamed from arch/mips/nxp/pnx8550/common/platform.c+0−0

File renamed without changes.

arch/mips/pnx8550/common/proc.crenamed from arch/mips/nxp/pnx8550/common/proc.c+0−0

File renamed without changes.

arch/mips/pnx8550/common/prom.crenamed from arch/mips/nxp/pnx8550/common/prom.c+0−0

File renamed without changes.

arch/mips/pnx8550/common/reset.crenamed from arch/mips/nxp/pnx8550/common/reset.c+0−0

File renamed without changes.

arch/mips/pnx8550/common/setup.c+145−0

This diff is large: its 146 lines aren’t shown here.

arch/mips/pnx8550/common/time.crenamed from arch/mips/nxp/pnx8550/common/time.c+0−0

File renamed without changes.

arch/mips/pnx8550/jbs/Makefile+4−0

This diff is large: its 5 lines aren’t shown here.

arch/mips/pnx8550/jbs/board_setup.crenamed from arch/mips/nxp/pnx8550/jbs/board_setup.c+0−0

File renamed without changes.

arch/mips/pnx8550/jbs/init.crenamed from arch/mips/nxp/pnx8550/jbs/init.c+0−0

File renamed without changes.

arch/mips/pnx8550/jbs/irqmap.crenamed from arch/mips/nxp/pnx8550/jbs/irqmap.c+0−0

File renamed without changes.

arch/mips/pnx8550/stb810/Makefile+4−0

This diff is large: its 5 lines aren’t shown here.

arch/mips/pnx8550/stb810/board_setup.crenamed from arch/mips/nxp/pnx8550/stb810/board_setup.c+0−0

File renamed without changes.

arch/mips/pnx8550/stb810/irqmap.crenamed from arch/mips/nxp/pnx8550/stb810/irqmap.c+0−0

File renamed without changes.

arch/mips/pnx8550/stb810/prom_init.crenamed from arch/mips/nxp/pnx8550/stb810/prom_init.c+0−0

File renamed without changes.

arch/mips/powertv/Makefile+5−2

This diff is large: its 12 lines aren’t shown here.

arch/mips/powertv/Platform+7−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/powertv/asic/Makefile+3−3

This diff is large: its 12 lines aren’t shown here.

arch/mips/powertv/asic/asic-calliope.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/powertv/asic/asic-cronus.c+2−2

This diff is large: its 16 lines aren’t shown here.

arch/mips/powertv/asic/asic-gaia.c+96−0

This diff is large: its 97 lines aren’t shown here.

arch/mips/powertv/asic/asic-zeus.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/powertv/asic/asic_devices.c+35−241

This diff is large: its 408 lines aren’t shown here.

arch/mips/powertv/asic/prealloc-gaia.c+589−0

This diff is large: its 590 lines aren’t shown here.

arch/mips/powertv/init.c+3−1

This diff is large: its 12 lines aren’t shown here.

arch/mips/powertv/ioremap.c+136−0

This diff is large: its 137 lines aren’t shown here.

arch/mips/powertv/memory.c+257−84

This diff is large: its 383 lines aren’t shown here.

arch/mips/powertv/powertv-usb.c+403−0

This diff is large: its 404 lines aren’t shown here.

arch/mips/powertv/powertv_setup.c+0−6

This diff is large: its 15 lines aren’t shown here.

arch/mips/rb532/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/rb532/Platform+7−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/sgi-ip22/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/sgi-ip22/Platform+34−0

This diff is large: its 35 lines aren’t shown here.

arch/mips/sgi-ip27/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/sgi-ip27/Platform+19−0

This diff is large: its 20 lines aren’t shown here.

arch/mips/sgi-ip27/ip27-klconfig.c+4−4

This diff is large: its 36 lines aren’t shown here.

arch/mips/sgi-ip32/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/sgi-ip32/Platform+11−0

This diff is large: its 12 lines aren’t shown here.

arch/mips/sibyte/Makefile+27−0

This diff is large: its 28 lines aren’t shown here.

arch/mips/sibyte/Platform+43−0

This diff is large: its 44 lines aren’t shown here.

arch/mips/sibyte/bcm1480/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/sibyte/common/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/sibyte/sb1250/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/sni/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/sni/Platform+11−0

This diff is large: its 12 lines aren’t shown here.

arch/mips/txx9/Makefile+17−0

This diff is large: its 18 lines aren’t shown here.

arch/mips/txx9/Platform+10−0

This diff is large: its 11 lines aren’t shown here.

arch/mips/txx9/generic/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/txx9/jmr3927/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/txx9/rbtx4927/Makefile+0−2

This diff is large: its 4 lines aren’t shown here.

arch/mips/txx9/rbtx4938/Makefile+0−2

This diff is large: its 4 lines aren’t shown here.

arch/mips/txx9/rbtx4939/Makefile+0−2

This diff is large: its 4 lines aren’t shown here.

arch/mips/vr41xx/Platform+32−0

This diff is large: its 33 lines aren’t shown here.

arch/mips/vr41xx/common/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/wrppmc/Makefilerenamed from arch/mips/gt64120/wrppmc/Makefile+1−3

This diff is large: its 11 lines aren’t shown here.

arch/mips/wrppmc/Platform+7−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/wrppmc/irq.crenamed from arch/mips/gt64120/wrppmc/irq.c+0−0

File renamed without changes.

arch/mips/wrppmc/pci.crenamed from arch/mips/gt64120/wrppmc/pci.c+0−0

File renamed without changes.

arch/mips/wrppmc/reset.crenamed from arch/mips/gt64120/wrppmc/reset.c+0−0

File renamed without changes.

arch/mips/wrppmc/serial.crenamed from arch/mips/gt64120/wrppmc/serial.c+0−0

File renamed without changes.

arch/mips/wrppmc/setup.crenamed from arch/mips/gt64120/wrppmc/setup.c+0−0

File renamed without changes.

arch/mips/wrppmc/time.crenamed from arch/mips/gt64120/wrppmc/time.c+0−0

File renamed without changes.

arch/mn10300/Kconfig+0−3

This diff is large: its 10 lines aren’t shown here.

arch/mn10300/boot/compressed/misc.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mn10300/include/asm/cache.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mn10300/include/asm/dma-mapping.h+0−8

This diff is large: its 15 lines aren’t shown here.

arch/mn10300/include/asm/gdb-stub.h+4−4

This diff is large: its 30 lines aren’t shown here.

arch/mn10300/include/asm/highmem.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mn10300/include/asm/ioctls.h+2−2

This diff is large: its 25 lines aren’t shown here.

arch/mn10300/include/asm/local64.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/mn10300/include/asm/posix_types.h+6−1

This diff is large: its 15 lines aren’t shown here.

arch/mn10300/include/asm/scatterlist.h+0−2

This diff is large: its 7 lines aren’t shown here.

arch/mn10300/include/asm/termbits.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mn10300/kernel/mn10300-serial.c+0−5

This diff is large: its 12 lines aren’t shown here.

arch/mn10300/kernel/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mn10300/kernel/rtc.c+1−4

This diff is large: its 19 lines aren’t shown here.

arch/parisc/Kconfig+0−4

This diff is large: its 11 lines aren’t shown here.

arch/parisc/hpux/fs.c+4−3

This diff is large: its 28 lines aren’t shown here.

arch/parisc/hpux/sys_hpux.c+5−5

This diff is large: its 42 lines aren’t shown here.

arch/parisc/include/asm/cache.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/parisc/include/asm/cacheflush.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/include/asm/dma-mapping.h+0−12

This diff is large: its 19 lines aren’t shown here.

arch/parisc/include/asm/ioctls.h+2−2

This diff is large: its 25 lines aren’t shown here.

arch/parisc/include/asm/local64.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/parisc/include/asm/scatterlist.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/parisc/include/asm/termbits.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/parisc/kernel/firmware.c+2−10

This diff is large: its 30 lines aren’t shown here.

arch/parisc/kernel/ftrace.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/parisc/mm/ioremap.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/Kconfig+10−26

This diff is large: its 120 lines aren’t shown here.

arch/powerpc/Makefile+13−5

This diff is large: its 42 lines aren’t shown here.

arch/powerpc/boot/dts/canyonlands.dts+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/boot/dts/glacier.dts+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8308rdb.dts+303−0

This diff is large: its 304 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8540ads.dts+2−2

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8541cds.dts+2−2

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8544ds.dts+2−2

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8548cds.dts+2−2

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8555cds.dts+2−2

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8560ads.dts+2−2

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8568mds.dts+2−2

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/boot/dts/p1021mds.dts+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/dts/p1022ds.dts+633−0

This diff is large: its 634 lines aren’t shown here.

arch/powerpc/boot/dts/p4080ds.dts+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/boot/dts/pdm360ng.dts+410−0

This diff is large: its 411 lines aren’t shown here.

arch/powerpc/boot/dts/stxssa8555.dts+380−0

This diff is large: its 381 lines aren’t shown here.

arch/powerpc/boot/dts/tqm8540.dts+8−1

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/boot/dts/tqm8541.dts+8−1

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/boot/dts/tqm8548-bigflash.dts+8−1

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/boot/dts/tqm8548.dts+8−1

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/boot/dts/tqm8555.dts+8−1

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/boot/dts/tqm8560.dts+8−1

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/boot/dts/tqm8xx.dts+172−0

This diff is large: its 173 lines aren’t shown here.

arch/powerpc/configs/40x/acadia_defconfig+1−1002

This diff is large: its 1090 lines aren’t shown here.

arch/powerpc/configs/40x/ep405_defconfig+1−1211

This diff is large: its 1297 lines aren’t shown here.

arch/powerpc/configs/40x/hcu4_defconfig+1−1064

This diff is large: its 1145 lines aren’t shown here.

arch/powerpc/configs/40x/kilauea_defconfig+1−1197

This diff is large: its 1290 lines aren’t shown here.

arch/powerpc/configs/40x/makalu_defconfig+1−1005

This diff is large: its 1090 lines aren’t shown here.

arch/powerpc/configs/40x/virtex_defconfig+1−1106

This diff is large: its 1198 lines aren’t shown here.

arch/powerpc/configs/40x/walnut_defconfig+1−1089

This diff is large: its 1167 lines aren’t shown here.

arch/powerpc/configs/44x/arches_defconfig+1−1059

This diff is large: its 1144 lines aren’t shown here.

arch/powerpc/configs/44x/bamboo_defconfig+1−1020

This diff is large: its 1092 lines aren’t shown here.

arch/powerpc/configs/44x/canyonlands_defconfig+1−1263

This diff is large: its 1358 lines aren’t shown here.

arch/powerpc/configs/44x/ebony_defconfig+1−1103

This diff is large: its 1183 lines aren’t shown here.

arch/powerpc/configs/44x/eiger_defconfig+1−1175

This diff is large: its 1299 lines aren’t shown here.

arch/powerpc/configs/44x/icon_defconfig+1−1333

This diff is large: its 1453 lines aren’t shown here.

arch/powerpc/configs/44x/iss476-smp_defconfig+1−937

This diff is large: its 1028 lines aren’t shown here.

arch/powerpc/configs/44x/katmai_defconfig+1−1088

This diff is large: its 1168 lines aren’t shown here.

arch/powerpc/configs/44x/rainier_defconfig+1−1090

This diff is large: its 1175 lines aren’t shown here.

arch/powerpc/configs/44x/redwood_defconfig+1−1166

This diff is large: its 1289 lines aren’t shown here.

arch/powerpc/configs/44x/sam440ep_defconfig+1−1319

This diff is large: its 1441 lines aren’t shown here.

arch/powerpc/configs/44x/sequoia_defconfig+1−1111

This diff is large: its 1198 lines aren’t shown here.

arch/powerpc/configs/44x/taishan_defconfig+1−1097

This diff is large: its 1177 lines aren’t shown here.

arch/powerpc/configs/44x/virtex5_defconfig+1−1112

This diff is large: its 1203 lines aren’t shown here.

arch/powerpc/configs/44x/warp_defconfig+1−1388

This diff is large: its 1510 lines aren’t shown here.

arch/powerpc/configs/52xx/cm5200_defconfig+1−1231

This diff is large: its 1330 lines aren’t shown here.

arch/powerpc/configs/52xx/lite5200b_defconfig+1−1256

This diff is large: its 1335 lines aren’t shown here.

arch/powerpc/configs/52xx/motionpro_defconfig+1−1264

This diff is large: its 1374 lines aren’t shown here.

arch/powerpc/configs/52xx/pcm030_defconfig+1−1219

This diff is large: its 1323 lines aren’t shown here.

arch/powerpc/configs/52xx/tqm5200_defconfig+1−1366

This diff is large: its 1475 lines aren’t shown here.

arch/powerpc/configs/83xx/asp8347_defconfig+1−1432

This diff is large: its 1524 lines aren’t shown here.

arch/powerpc/configs/83xx/kmeter1_defconfig+1−928

This diff is large: its 1018 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc8313_rdb_defconfig+1−1728

This diff is large: its 1840 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc8315_rdb_defconfig+1−1797

This diff is large: its 1906 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc832x_mds_defconfig+1−1328

This diff is large: its 1404 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc832x_rdb_defconfig+1−1475

This diff is large: its 1571 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc834x_itx_defconfig+1−1567

This diff is large: its 1669 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig+1−1453

This diff is large: its 1544 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc834x_mds_defconfig+1−1262

This diff is large: its 1337 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc836x_mds_defconfig+1−1403

This diff is large: its 1486 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc836x_rdk_defconfig+1−1304

This diff is large: its 1393 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc837x_mds_defconfig+1−1333

This diff is large: its 1408 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc837x_rdb_defconfig+1−1471

This diff is large: its 1576 lines aren’t shown here.

arch/powerpc/configs/83xx/sbc834x_defconfig+1−1397

This diff is large: its 1493 lines aren’t shown here.

arch/powerpc/configs/85xx/ksi8560_defconfig+0−1117

This diff is large: its 1193 lines aren’t shown here.

arch/powerpc/configs/85xx/mpc8540_ads_defconfig+1−991

This diff is large: its 1056 lines aren’t shown here.

arch/powerpc/configs/85xx/mpc8560_ads_defconfig+0−1137

This diff is large: its 1203 lines aren’t shown here.

arch/powerpc/configs/85xx/mpc85xx_cds_defconfig+1−1154

This diff is large: its 1224 lines aren’t shown here.

arch/powerpc/configs/85xx/sbc8548_defconfig+1−1002

This diff is large: its 1060 lines aren’t shown here.

arch/powerpc/configs/85xx/sbc8560_defconfig+1−1028

This diff is large: its 1094 lines aren’t shown here.

arch/powerpc/configs/85xx/socrates_defconfig+0−1643

This diff is large: its 1755 lines aren’t shown here.

arch/powerpc/configs/85xx/stx_gp3_defconfig+1−1527

This diff is large: its 1616 lines aren’t shown here.

arch/powerpc/configs/85xx/tqm8540_defconfig+0−1317

This diff is large: its 1391 lines aren’t shown here.

arch/powerpc/configs/85xx/tqm8541_defconfig+0−1363

This diff is large: its 1439 lines aren’t shown here.

arch/powerpc/configs/85xx/tqm8548_defconfig+2−1353

This diff is large: its 1439 lines aren’t shown here.

arch/powerpc/configs/85xx/tqm8555_defconfig+0−1363

This diff is large: its 1439 lines aren’t shown here.

arch/powerpc/configs/85xx/tqm8560_defconfig+0−1363

This diff is large: its 1439 lines aren’t shown here.

arch/powerpc/configs/85xx/xes_mpc85xx_defconfig+1−1783

This diff is large: its 1954 lines aren’t shown here.

arch/powerpc/configs/86xx/gef_ppc9a_defconfig+0−1733

This diff is large: its 1934 lines aren’t shown here.

arch/powerpc/configs/86xx/gef_sbc310_defconfig+0−1622

This diff is large: its 1820 lines aren’t shown here.

arch/powerpc/configs/86xx/gef_sbc610_defconfig+0−1815

This diff is large: its 2084 lines aren’t shown here.

arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig+1−1631

This diff is large: its 1752 lines aren’t shown here.

arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig+1−1638

This diff is large: its 1808 lines aren’t shown here.

arch/powerpc/configs/86xx/sbc8641d_defconfig+0−1428

This diff is large: its 1672 lines aren’t shown here.

arch/powerpc/configs/adder875_defconfig+0−912

This diff is large: its 985 lines aren’t shown here.

arch/powerpc/configs/amigaone_defconfig+1−1491

This diff is large: its 1635 lines aren’t shown here.

arch/powerpc/configs/c2k_defconfig+0−1622

This diff is large: its 2022 lines aren’t shown here.

arch/powerpc/configs/cell_defconfig+9−1308

This diff is large: its 1536 lines aren’t shown here.

arch/powerpc/configs/celleb_defconfig+13−1184

This diff is large: its 1343 lines aren’t shown here.

arch/powerpc/configs/chrp32_defconfig+1−1470

This diff is large: its 1616 lines aren’t shown here.

arch/powerpc/configs/ep8248e_defconfig+1−1119

This diff is large: its 1208 lines aren’t shown here.

arch/powerpc/configs/ep88xc_defconfig+1−858

This diff is large: its 933 lines aren’t shown here.

arch/powerpc/configs/g5_defconfig+1−1550

This diff is large: its 1849 lines aren’t shown here.

arch/powerpc/configs/gamecube_defconfig+1−947

This diff is large: its 1062 lines aren’t shown here.

arch/powerpc/configs/holly_defconfig+1−880

This diff is large: its 952 lines aren’t shown here.

arch/powerpc/configs/iseries_defconfig+1−1057

This diff is large: its 1293 lines aren’t shown here.

arch/powerpc/configs/linkstation_defconfig+1−1781

This diff is large: its 1952 lines aren’t shown here.

arch/powerpc/configs/maple_defconfig+1−1372

This diff is large: its 1512 lines aren’t shown here.

arch/powerpc/configs/mgcoge_defconfig+1−1159

This diff is large: its 1260 lines aren’t shown here.

arch/powerpc/configs/mgsuvd_defconfig+0−936

This diff is large: its 1018 lines aren’t shown here.

arch/powerpc/configs/mpc512x_defconfig+1−1558

This diff is large: its 1686 lines aren’t shown here.

arch/powerpc/configs/mpc5200_defconfig+1−1848

This diff is large: its 1983 lines aren’t shown here.

arch/powerpc/configs/mpc7448_hpc2_defconfig+1−1194

This diff is large: its 1264 lines aren’t shown here.

arch/powerpc/configs/mpc8272_ads_defconfig+1−1184

This diff is large: its 1280 lines aren’t shown here.

arch/powerpc/configs/mpc83xx_defconfig+1−1662

This diff is large: its 1790 lines aren’t shown here.

arch/powerpc/configs/mpc85xx_defconfig+7−1704

This diff is large: its 1908 lines aren’t shown here.

arch/powerpc/configs/mpc85xx_smp_defconfig+7−1708

This diff is large: its 1914 lines aren’t shown here.

arch/powerpc/configs/mpc866_ads_defconfig+0−949

This diff is large: its 1007 lines aren’t shown here.

arch/powerpc/configs/mpc86xx_defconfig+1−1678

This diff is large: its 1851 lines aren’t shown here.

arch/powerpc/configs/mpc885_ads_defconfig+1−863

This diff is large: its 944 lines aren’t shown here.

arch/powerpc/configs/pasemi_defconfig+2−1929

This diff is large: its 2130 lines aren’t shown here.

arch/powerpc/configs/pmac32_defconfig+3−1883

This diff is large: its 2234 lines aren’t shown here.

arch/powerpc/configs/ppc40x_defconfig+1−1331

This diff is large: its 1438 lines aren’t shown here.

arch/powerpc/configs/ppc44x_defconfig+1−1470

This diff is large: its 1592 lines aren’t shown here.

arch/powerpc/configs/ppc64_defconfig+2−1724

This diff is large: its 2142 lines aren’t shown here.

arch/powerpc/configs/ppc64e_defconfig+1−1802

This diff is large: its 2156 lines aren’t shown here.

arch/powerpc/configs/ppc6xx_defconfig+27−2162

This diff is large: its 3227 lines aren’t shown here.

arch/powerpc/configs/pq2fads_defconfig+1−1303

This diff is large: its 1403 lines aren’t shown here.

arch/powerpc/configs/prpmc2800_defconfig+1−1674

This diff is large: its 1783 lines aren’t shown here.

arch/powerpc/configs/ps3_defconfig+1−1333

This diff is large: its 1524 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.