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
130 - information on EDAC - Error Detection And Correction130 - information on EDAC - Error Detection And Correction
131eisa.txt131eisa.txt
132 - info on EISA bus support.132 - info on EISA bus support.
133exception.txt
134 - how Linux v2.2 handles exceptions without verify_area etc.
135fault-injection/133fault-injection/
136 - dir with docs about the fault injection capabilities infrastructure.134 - dir with docs about the fault injection capabilities infrastructure.
137fb/135fb/
@@ -234,6 +232,8 @@ memory.txt · 96 unmodified lines
234 - info on typical Linux memory problems.232 - info on typical Linux memory problems.
235mips/233mips/
236 - directory with info about Linux on MIPS architecture.234 - directory with info about Linux on MIPS architecture.
235mmc/
236 - directory with info about the MMC subsystem
237mono.txt237mono.txt
238 - how to execute Mono-based .NET binaries with the help of BINFMT_MISC.238 - how to execute Mono-based .NET binaries with the help of BINFMT_MISC.
239mutex-design.txt239mutex-design.txt
Documentation/ABI/testing/debugfs-ec+20−0
@@ -0,0 +1,20 @@
1What: /sys/kernel/debug/ec/*/{gpe,use_global_lock,io}
2Date: July 2010
3Contact: Thomas Renninger <trenn@suse.de>
4Description:
5
6General information like which GPE is assigned to the EC and whether
7the global lock should get used.
8Knowing the EC GPE one can watch the amount of HW events related to
9the EC here (XY -> GPE number from /sys/kernel/debug/ec/*/gpe):
10/sys/firmware/acpi/interrupts/gpeXY
11
12The io file is binary and a userspace tool located here:
13ftp://ftp.suse.com/pub/people/trenn/sources/ec/
14should get used to read out the 256 Embedded Controller registers
15or writing to them.
16
17CAUTION: Do not write to the Embedded Controller if you don't know
18what you are doing! Rebooting afterwards also is a good idea.
19This can influence the way your machine is cooled and fans may
20not get switched on again after you did a wrong write.
Documentation/ABI/testing/debugfs-kmemtrace+0−71
@@ -1,71 +0,0 @@
1What: /sys/kernel/debug/kmemtrace/
2Date: July 2008
3Contact: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
4Description:
5
6In 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
15Each per-CPU file should be read according to the relay interface. That is,
16the reader should set affinity to that specific CPU and, as currently done by
17the userspace application (though there are other methods), use poll() with
18an infinite timeout before every read(). Otherwise, erroneous data may be
19read. 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
42In 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
55The data is made available in the same endianness the machine has.
56
57Other event ids and type ids may be defined and added. Other fields may be
58added by increasing event size, but see below for details.
59Every modification to the ABI, including new id definitions, are followed
60by bumping the ABI version by one.
61
62Adding new data to the packet (features) is done at the end of the mandatory
63data:
64 Feature size (2 byte)
65 Feature ID (1 byte)
66 Feature data (Feature size - 3 bytes)
67
68
69Users:
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 @@
1Where: /sys/bus/i2c/devices/.../heading0_input
2Date: April 2010
3Kernel Version: 2.6.36?
4Contact: alan.cox@intel.com
5Description: Reports the current heading from the compass as a floating
6 point value in degrees.
7
8Where: /sys/bus/i2c/devices/.../power_state
9Date: April 2010
10Kernel Version: 2.6.36?
11Contact: alan.cox@intel.com
12Description: Sets the power state of the device. 0 sets the device into
13 sleep mode, 1 wakes it up.
14
15Where: /sys/bus/i2c/devices/.../calibration
16Date: April 2010
17Kernel Version: 2.6.36?
18Contact: alan.cox@intel.com
19Description: 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
139Description:139Description:
140 This symbolic link points to the PCI hotplug controller driver140 This symbolic link points to the PCI hotplug controller driver
141 module that manages the hotplug slot.141 module that manages the hotplug slot.
142
143What: /sys/bus/pci/devices/.../label
144Date: July 2010
145Contact: Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
146Description:
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.
151Users:
152 Userspace applications interested in knowing the
153 firmware assigned name of the PCI device.
154
155What: /sys/bus/pci/devices/.../index
156Date: July 2010
157Contact: Narendra K <narendra_k@dell.com>, linux-bugs@dell.com
158Description:
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.
164Users:
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
7 added or removed dynamically to represent hot-add/remove7 added or removed dynamically to represent hot-add/remove
8 operations.8 operations.
9Users: hotplug memory add/remove tools9Users: 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
11 11
12What: /sys/devices/system/memory/memoryX/removable12What: /sys/devices/system/memory/memoryX/removable
13Date: June 200813Date: June 2008
@@ -19,7 +19,7 @@ Description: · 5 unmodified lines
19 identify removable sections of the memory before attempting19 identify removable sections of the memory before attempting
20 potentially expensive hot-remove memory operation20 potentially expensive hot-remove memory operation
21Users: hotplug memory remove tools21Users: hotplug memory remove tools
22 https://w3.opensource.ibm.com/projects/powerpc-utils/22 http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils
23 23
24What: /sys/devices/system/memory/memoryX/phys_device24What: /sys/devices/system/memory/memoryX/phys_device
25Date: September 200825Date: September 2008
@@ -58,7 +58,7 @@ Description: · 32 unmodified lines
58 by root to offline that section.58 by root to offline that section.
59 # echo offline > /sys/devices/system/memory/memory22/state59 # echo offline > /sys/devices/system/memory/memory22/state
60Users: hotplug memory remove tools60Users: hotplug memory remove tools
61 https://w3.opensource.ibm.com/projects/powerpc-utils/61 http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils
62 62
63 63
64What: /sys/devices/system/memoryX/nodeY64What: /sys/devices/system/memoryX/nodeY
Documentation/ABI/testing/sysfs-devices-platform-_UDC_-gadget+12−0
@@ -7,3 +7,15 @@ Description: · 6 unmodified lines
7 0 -> resumed7 0 -> resumed
8 8
9 (_UDC_ is the name of the USB Device Controller driver)9 (_UDC_ is the name of the USB Device Controller driver)
10
11What: /sys/devices/platform/_UDC_/gadget/gadget-lunX/nofua
12Date: July 2010
13Contact: Andy Shevchenko <andy.shevchenko@gmail.com>
14Description:
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
197 Currently, only AMD Family 10h Processors support cache index197 Currently, only AMD Family 10h Processors support cache index
198 disable, and only for their L3 caches. See the BIOS and198 disable, and only for their L3 caches. See the BIOS and
199 Kernel Developer's Guide at199 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.pdf200 http://support.amd.com/us/Embedded_TechDocs/31116-Public-GH-BKDG_3-28_5-28-09.pdf
201 for formatting information and other details on the201 for formatting information and other details on the
202 cache index disable.202 cache index disable.
203Users: joachim.deguara@amd.com203Users: 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
33 left. E.g. a returned value of 138 means 1.3833 left. E.g. a returned value of 138 means 1.38
34 This file is readonly.34 This file is readonly.
35 35
36What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/kone_driver_version
37Date: March 2010
38Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
39Description: 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
49What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/profile[1-5]36What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/profile[1-5]
50Date: March 201037Date: March 2010
51Contact: Stefan Achatz <erazor_de@users.sourceforge.net>38Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
Documentation/ABI/testing/sysfs-i2c-bmp085+31−0
@@ -0,0 +1,31 @@
1What: /sys/bus/i2c/devices/<busnum>-<devaddr>/pressure0_input
2Date: June 2010
3Contact: Christoph Mair <christoph.mair@gmail.com>
4Description: 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
10What: /sys/bus/i2c/devices/<busnum>-<devaddr>/temp0_input
11Date: June 2010
12Contact: Christoph Mair <christoph.mair@gmail.com>
13Description: 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
19What: /sys/bus/i2c/devices/<busnum>-<devaddr>/oversampling
20Date: June 2010
21Contact: Christoph Mair <christoph.mair@gmail.com>
22Description: 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
114 if this file contains "1", which is the default. It may be114 if this file contains "1", which is the default. It may be
115 disabled by writing "0" to this file, in which case all devices115 disabled by writing "0" to this file, in which case all devices
116 will be suspended and resumed synchronously.116 will be suspended and resumed synchronously.
117
118What: /sys/power/wakeup_count
119Date: July 2010
120Contact: Rafael J. Wysocki <rjw@sisk.pl>
121Description:
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
331 331
332Mkinitrd332Mkinitrd
333--------333--------
334o <ftp://rawhide.redhat.com/pub/rawhide/SRPMS/SRPMS/>334o <https://code.launchpad.net/initrd-tools/main>
335 335
336E2fsprogs336E2fsprogs
337---------337---------
@@ -343,11 +343,11 @@ o <http://jfs.sourceforge.net/> · 5 unmodified lines
343 343
344Reiserfsprogs344Reiserfsprogs
345-------------345-------------
346o <http://www.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.3.tar.gz>346o <http://www.kernel.org/pub/linux/utils/fs/reiserfs/>
347 347
348Xfsprogs348Xfsprogs
349--------349--------
350o <ftp://oss.sgi.com/projects/xfs/download/>350o <ftp://oss.sgi.com/projects/xfs/>
351 351
352Pcmciautils352Pcmciautils
353-----------353-----------
@@ -387,18 +387,18 @@ o <http://sourceforge.net/projects/fuse> · 33 unmodified lines
387 387
388mcelog388mcelog
389------389------
390o <ftp://ftp.kernel.org/pub/linux/utils/cpu/mce/mcelog/>390o <ftp://ftp.kernel.org/pub/linux/utils/cpu/mce/>
391 391
392Networking392Networking
393**********393**********
394 394
395PPP395PPP
396---396---
397o <ftp://ftp.samba.org/pub/ppp/ppp-2.4.0.tar.gz>397o <ftp://ftp.samba.org/pub/ppp/>
398 398
399Isdn4k-utils399Isdn4k-utils
400------------400------------
401o <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/isdn4k-utils.v3.1pre1.tar.gz>401o <ftp://ftp.isdn4linux.de/pub/isdn4linux/utils/>
402 402
403NFS-utils403NFS-utils
404---------404---------
Documentation/DMA-API-HOWTO.txt+10−0
@@ -753,6 +753,16 @@ to "Closing". · 752 unmodified lines
753 alignment constraints (e.g. the alignment constraints about 64-bit753 alignment constraints (e.g. the alignment constraints about 64-bit
754 objects).754 objects).
755 755
7563) 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
756 Closing766 Closing
757 767
758This document, and the API itself, would not be in its current768This 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
455be identical to those passed in (and returned by455be identical to those passed in (and returned by
456dma_alloc_noncoherent()).456dma_alloc_noncoherent()).
457 457
458int
459dma_is_consistent(struct device *dev, dma_addr_t dma_handle)
460
461Returns true if the device dev is performing consistent DMA on the memory
462area pointed to by the dma_handle.
463
464int458int
465dma_get_cache_alignment(void)459dma_get_cache_alignment(void)
466 460
Documentation/DocBook/Makefile+3−3
@@ -35,7 +35,7 @@ PS_METHOD = $(prefer-db2x) · 34 unmodified lines
35PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs cleandocs xmldoclinks35PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs cleandocs xmldoclinks
36 36
37BOOKS := $(addprefix $(obj)/,$(DOCBOOKS))37BOOKS := $(addprefix $(obj)/,$(DOCBOOKS))
38xmldocs: $(BOOKS) xmldoclinks38xmldocs: $(BOOKS)
39sgmldocs: xmldocs39sgmldocs: xmldocs
40 40
41PS := $(patsubst %.xml, %.ps, $(BOOKS))41PS := $(patsubst %.xml, %.ps, $(BOOKS))
@@ -45,7 +45,7 @@ PDF := $(patsubst %.xml, %.pdf, $(BOOKS)) · 3 unmodified lines
45pdfdocs: $(PDF)45pdfdocs: $(PDF)
46 46
47HTML := $(sort $(patsubst %.xml, %.html, $(BOOKS)))47HTML := $(sort $(patsubst %.xml, %.html, $(BOOKS)))
48htmldocs: $(HTML)48htmldocs: $(HTML) xmldoclinks
49 $(call build_main_index)49 $(call build_main_index)
50 $(call build_images)50 $(call build_images)
51 51
@@ -95,7 +95,7 @@ define rule_docproc · 43 unmodified lines
95 ) > $(dir $@).$(notdir $@).cmd95 ) > $(dir $@).$(notdir $@).cmd
96endef96endef
97 97
98%.xml: %.tmpl FORCE98%.xml: %.tmpl xmldoclinks FORCE
99 $(call if_changed_rule,docproc)99 $(call if_changed_rule,docproc)
100 100
101###101###
Documentation/DocBook/device-drivers.tmpl+1−0
@@ -111,6 +111,7 @@ X!Edrivers/base/attribute_container.c · 110 unmodified lines
111<!--111<!--
112X!Edrivers/base/interface.c112X!Edrivers/base/interface.c
113-->113-->
114!Iinclude/linux/platform_device.h
114!Edrivers/base/platform.c115!Edrivers/base/platform.c
115!Edrivers/base/bus.c116!Edrivers/base/bus.c
116 </sect1>117 </sect1>
Documentation/DocBook/dvb/dvbapi.xml+16−3
@@ -12,10 +12,12 @@ · 11 unmodified lines
12<othername role="mi">O. C.</othername>12<othername role="mi">O. C.</othername>
13<affiliation><address><email>rjkm@metzlerbros.de</email></address></affiliation>13<affiliation><address><email>rjkm@metzlerbros.de</email></address></affiliation>
14</author>14</author>
15</authorgroup>
16<authorgroup>
15<author>17<author>
16<firstname>Mauro</firstname>18<firstname>Mauro</firstname>
17<surname>Chehab</surname>
18<othername role="mi">Carvalho</othername>19<othername role="mi">Carvalho</othername>
20<surname>Chehab</surname>
19<affiliation><address><email>mchehab@redhat.com</email></address></affiliation>21<affiliation><address><email>mchehab@redhat.com</email></address></affiliation>
20<contrib>Ported document to Docbook XML.</contrib>22<contrib>Ported document to Docbook XML.</contrib>
21</author>23</author>
@@ -23,12 +25,23 @@ · 1 unmodified line
23<copyright>25<copyright>
24 <year>2002</year>26 <year>2002</year>
25 <year>2003</year>27 <year>2003</year>
26 <year>2009</year>
27 <holder>Convergence GmbH</holder>28 <holder>Convergence GmbH</holder>
28</copyright>29</copyright>
30<copyright>
31 <year>2009-2010</year>
32 <holder>Mauro Carvalho Chehab</holder>
33</copyright>
29 34
30<revhistory>35<revhistory>
31<!-- Put document revisions here, newest first. -->36<!-- 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>
32<revision>45<revision>
33 <revnumber>2.0.2</revnumber>46 <revnumber>2.0.2</revnumber>
34 <date>2009-10-25</date>47 <date>2009-10-25</date>
@@ -63,7 +76,7 @@ Added ISDB-T test originally written by Patrick Boettcher · 28 unmodified lines
63 76
64 77
65<title>LINUX DVB API</title>78<title>LINUX DVB API</title>
66<subtitle>Version 3</subtitle>79<subtitle>Version 5.2</subtitle>
67<!-- ADD THE CHAPTERS HERE -->80<!-- ADD THE CHAPTERS HERE -->
68 <chapter id="dvb_introdution">81 <chapter id="dvb_introdution">
69 &sub-intro;82 &sub-intro;
Documentation/DocBook/dvb/frontend.h.xml+1−0
@@ -63,6 +63,7 @@ typedef enum fe_caps { · 62 unmodified lines
63 FE_CAN_8VSB = 0x200000,63 FE_CAN_8VSB = 0x200000,
64 FE_CAN_16VSB = 0x400000,64 FE_CAN_16VSB = 0x400000,
65 FE_HAS_EXTENDED_CAPS = 0x800000, /* We need more bitspace for newer APIs, indicate this. */65 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" */
66 FE_CAN_2G_MODULATION = 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */67 FE_CAN_2G_MODULATION = 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */
67 FE_NEEDS_BENDING = 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */68 FE_NEEDS_BENDING = 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */
68 FE_CAN_RECOVER = 0x40000000, /* frontend can recover from a cable unplug automatically */69 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
64 FE_CAN_BANDWIDTH_AUTO = 0x40000,64 FE_CAN_BANDWIDTH_AUTO = 0x40000,
65 FE_CAN_GUARD_INTERVAL_AUTO = 0x80000,65 FE_CAN_GUARD_INTERVAL_AUTO = 0x80000,
66 FE_CAN_HIERARCHY_AUTO = 0x100000,66 FE_CAN_HIERARCHY_AUTO = 0x100000,
67 FE_CAN_MUTE_TS = 0x80000000,67 FE_CAN_8VSB = 0x200000,
68 FE_CAN_CLEAN_SETUP = 0x4000000068 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
69 } fe_caps_t;75 } fe_caps_t;
70</programlisting>76</programlisting>
71</section>77</section>
Documentation/DocBook/kernel-api.tmpl+0−1
@@ -132,7 +132,6 @@ X!Ilib/string.c · 131 unmodified lines
132 <title>FIFO Buffer</title>132 <title>FIFO Buffer</title>
133 <sect1><title>kfifo interface</title>133 <sect1><title>kfifo interface</title>
134!Iinclude/linux/kfifo.h134!Iinclude/linux/kfifo.h
135!Ekernel/kfifo.c
136 </sect1>135 </sect1>
137 </chapter>136 </chapter>
138 137
Documentation/DocBook/kgdb.tmpl+100−8
@@ -199,10 +199,33 @@ · 198 unmodified lines
199 may be configured as a kernel built-in or a kernel loadable module.199 may be configured as a kernel built-in or a kernel loadable module.
200 You can only make use of <constant>kgdbwait</constant> and early200 You can only make use of <constant>kgdbwait</constant> and early
201 debugging if you build kgdboc into the kernel as a built-in.201 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>
202 </para>211 </para>
203 <sect2 id="kgdbocArgs">212 <sect2 id="kgdbocArgs">
204 <title>kgdboc arguments</title>213 <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>
206 <sect3 id="kgdbocArgs1">229 <sect3 id="kgdbocArgs1">
207 <title>Using loadable module or built-in</title>230 <title>Using loadable module or built-in</title>
208 <para>231 <para>
@@ -212,7 +235,7 @@ · 3 unmodified lines
212 <listitem>235 <listitem>
213 <para>As a kernel loadable module:</para>236 <para>As a kernel loadable module:</para>
214 <para>Use the command: <constant>modprobe kgdboc kgdboc=&lt;tty-device&gt;,[baud]</constant></para>237 <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 kgdboc238 <para>Here are two examples of how you might format the kgdboc
216 string. The first is for an x86 target using the first serial port.239 string. The first is for an x86 target using the first serial port.
217 The second example is for the ARM Versatile AB using the second240 The second example is for the ARM Versatile AB using the second
218 serial port.241 serial port.
@@ -240,6 +263,9 @@ · 21 unmodified lines
240 </sect3>263 </sect3>
241 <sect3 id="kgdbocArgs3">264 <sect3 id="kgdbocArgs3">
242 <title>More examples</title>265 <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>
243 <para>You can configure kgdboc to use the keyboard, and or a serial device269 <para>You can configure kgdboc to use the keyboard, and or a serial device
244 depending on if you are using kdb and or kgdb, in one of the270 depending on if you are using kdb and or kgdb, in one of the
245 following scenarios.271 following scenarios.
@@ -255,6 +281,12 @@ · 9 unmodified lines
255 <listitem><para>kdb with a keyboard</para>281 <listitem><para>kdb with a keyboard</para>
256 <para><constant>kgdboc=kbd</constant></para>282 <para><constant>kgdboc=kbd</constant></para>
257 </listitem>283 </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>
258 </orderedlist>290 </orderedlist>
259 </para>291 </para>
260 </sect3>292 </sect3>
@@ -637,6 +669,8 @@ Task Addr Pid Parent [*] cpu State Thread Command · 376 unmodified lines
637 <listitem><para>The logic to perform safe memory reads and writes to memory while using the debugger</para></listitem>669 <listitem><para>The logic to perform safe memory reads and writes to memory while using the debugger</para></listitem>
638 <listitem><para>A full implementation for software breakpoints unless overridden by the arch</para></listitem>670 <listitem><para>A full implementation for software breakpoints unless overridden by the arch</para></listitem>
639 <listitem><para>The API to invoke either the kdb or kgdb frontend to the debug core.</para></listitem>671 <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>
640 </itemizedlist>674 </itemizedlist>
641 </para>675 </para>
642 </listitem>676 </listitem>
@@ -747,6 +781,8 @@ Task Addr Pid Parent [*] cpu State Thread Command · 104 unmodified lines
747 </sect1>781 </sect1>
748 <sect1 id="kgdbocDesign">782 <sect1 id="kgdbocDesign">
749 <title>kgdboc internals</title>783 <title>kgdboc internals</title>
784 <sect2>
785 <title>kgdboc and uarts</title>
750 <para>786 <para>
751 The kgdboc driver is actually a very thin driver that relies on the787 The kgdboc driver is actually a very thin driver that relies on the
752 underlying low level to the hardware driver having "polling hooks"788 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
754 implementation of kgdboc it the serial_core was changed to expose a790 implementation of kgdboc it the serial_core was changed to expose a
755 low level UART hook for doing polled mode reading and writing of a791 low level UART hook for doing polled mode reading and writing of a
756 single character while in an atomic context. When kgdb makes an I/O792 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 serial793 request to the debugger, kgdboc invokes a callback in the serial
758 core which in turn uses the call back in the UART driver. It is794 core which in turn uses the callback in the UART driver.</para>
759 certainly possible to extend kgdboc to work with non-UART based
760 consoles in the future.
761 </para>
762 <para>795 <para>
763 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>796 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>
764#ifdef CONFIG_CONSOLE_POLL797#ifdef CONFIG_CONSOLE_POLL
@@ -772,9 +805,68 @@ Task Addr Pid Parent [*] cpu State Thread Command · 7 unmodified lines
772 that they can be called from an atomic context and have to restore805 that they can be called from an atomic context and have to restore
773 the state of the UART chip on return such that the system can return806 the state of the UART chip on return such that the system can return
774 to normal when the debugger detaches. You need to be very careful807 to normal when the debugger detaches. You need to be very careful
775 with any kind of lock you consider, because failing here is most808 with any kind of lock you consider, because failing here is most likely
776 going to mean pressing the reset button.809 going to mean pressing the reset button.
777 </para>810 </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>
848static 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>
860static 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>
778 </sect1>870 </sect1>
779 </chapter>871 </chapter>
780 <chapter id="credits">872 <chapter id="credits">
Documentation/DocBook/media-entities.tmpl+1−0
@@ -218,6 +218,7 @@ · 217 unmodified lines
218<!ENTITY sub-dev-teletext SYSTEM "v4l/dev-teletext.xml">218<!ENTITY sub-dev-teletext SYSTEM "v4l/dev-teletext.xml">
219<!ENTITY sub-driver SYSTEM "v4l/driver.xml">219<!ENTITY sub-driver SYSTEM "v4l/driver.xml">
220<!ENTITY sub-libv4l SYSTEM "v4l/libv4l.xml">220<!ENTITY sub-libv4l SYSTEM "v4l/libv4l.xml">
221<!ENTITY sub-lirc_device_interface SYSTEM "v4l/lirc_device_interface.xml">
221<!ENTITY sub-remote_controllers SYSTEM "v4l/remote_controllers.xml">222<!ENTITY sub-remote_controllers SYSTEM "v4l/remote_controllers.xml">
222<!ENTITY sub-fdl-appendix SYSTEM "v4l/fdl-appendix.xml">223<!ENTITY sub-fdl-appendix SYSTEM "v4l/fdl-appendix.xml">
223<!ENTITY sub-close SYSTEM "v4l/func-close.xml">224<!ENTITY sub-close SYSTEM "v4l/func-close.xml">
Documentation/DocBook/media.tmpl+4−4
@@ -28,7 +28,7 @@ · 27 unmodified lines
28<title>LINUX MEDIA INFRASTRUCTURE API</title>28<title>LINUX MEDIA INFRASTRUCTURE API</title>
29 29
30<copyright>30<copyright>
31 <year>2009</year>31 <year>2009-2010</year>
32 <holder>LinuxTV Developers</holder>32 <holder>LinuxTV Developers</holder>
33</copyright>33</copyright>
34 34
@@ -61,7 +61,7 @@ Foundation. A copy of the license is included in the chapter entitled · 26 unmodified lines
61 in fact it covers several different video standards including61 in fact it covers several different video standards including
62 DVB-T, DVB-S, DVB-C and ATSC. The API is currently being updated62 DVB-T, DVB-S, DVB-C and ATSC. The API is currently being updated
63 to documment support also for DVB-S2, ISDB-T and ISDB-S.</para>63 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>
65 <para>For additional information and for the latest development code,65 <para>For additional information and for the latest development code,
66 see: <ulink url="http://linuxtv.org">http://linuxtv.org</ulink>.</para>66 see: <ulink url="http://linuxtv.org">http://linuxtv.org</ulink>.</para>
67 <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>67 <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
86</author>86</author>
87</authorgroup>87</authorgroup>
88<copyright>88<copyright>
89 <year>2009</year>89 <year>2009-2010</year>
90 <holder>Mauro Carvalho Chehab</holder>90 <holder>Mauro Carvalho Chehab</holder>
91</copyright>91</copyright>
92 92
@@ -101,7 +101,7 @@ Foundation. A copy of the license is included in the chapter entitled · 8 unmodified lines
101</revhistory>101</revhistory>
102</partinfo>102</partinfo>
103 103
104<title>Other API's used by media infrastructure drivers</title>104<title>Remote Controller API</title>
105<chapter id="remote_controllers">105<chapter id="remote_controllers">
106&sub-remote_controllers;106&sub-remote_controllers;
107</chapter>107</chapter>
Documentation/DocBook/scsi.tmpl+1−1
@@ -393,7 +393,7 @@ · 392 unmodified lines
393 </para>393 </para>
394 <para>394 <para>
395 For documentation see395 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>
397 </para>397 </para>
398<!-- !Edrivers/scsi/scsi_debug.c -->398<!-- !Edrivers/scsi/scsi_debug.c -->
399 </sect2>399 </sect2>
Documentation/DocBook/stylesheet.xsl+1−0
@@ -6,4 +6,5 @@ · 5 unmodified lines
6<param name="callout.graphics">0</param>6<param name="callout.graphics">0</param>
7<!-- <param name="paper.type">A4</param> -->7<!-- <param name="paper.type">A4</param> -->
8<param name="generate.section.toc.level">2</param>8<param name="generate.section.toc.level">2</param>
9<param name="use.id.as.filename">1</param>
9</stylesheet>10</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
1091until the time in the timestamp field has arrived. I would like to1091until the time in the timestamp field has arrived. I would like to
1092follow SGI's lead, and adopt a multimedia timestamping system like1092follow SGI's lead, and adopt a multimedia timestamping system like
1093their UST (Unadjusted System Time). See1093their UST (Unadjusted System Time). See
1094http://reality.sgi.com/cpirazzi_engr/lg/time/intro.html. [This link is1094http://web.archive.org/web/*/http://reality.sgi.com
1095no longer valid.] UST uses timestamps that are 64-bit signed integers1095/cpirazzi_engr/lg/time/intro.html.
1096UST uses timestamps that are 64-bit signed integers
1096(not struct timeval's) and given in nanosecond units. The UST clock1097(not struct timeval's) and given in nanosecond units. The UST clock
1097starts at zero when the system is booted and runs continuously and1098starts at zero when the system is booted and runs continuously and
1098uniformly. It takes a little over 292 years for UST to overflow. There1099uniformly. 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
2 The GNU Free Documentation License 1.1 in DocBook2 The GNU Free Documentation License 1.1 in DocBook
3 Markup by Eric Baudais <baudais@okstate.edu>3 Markup by Eric Baudais <baudais@okstate.edu>
4 Maintained by the GNOME Documentation Project4 Maintained by the GNOME Documentation Project
5 http://developer.gnome.org/projects/gdp5 http://live.gnome.org/DocumentationProject
6 Version: 1.0.16 Version: 1.0.1
7 Last Modified: Nov 16, 20007 Last Modified: Nov 16, 2000
8-->8-->
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
9transporting raw IR data between userspace and kernelspace. Fundamentally,
10it is just a chardev (/dev/lircX, for X = 0, 1, 2, ...), with a number
11of standard struct file_operations defined on it. With respect to
12transporting raw IR data to and fro, the essential fops are read, write
13and 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
33exact format of the data depends on what modes a driver supports, and what
34mode has been selected. lircd obtains supported modes and sets the active mode
35via the ioctl interface, detailed at <xref linkend="lirc_ioctl"/>. The generally
36preferred mode is LIRC_MODE_MODE2, in which packets containing an int value
37describing 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
46values. Pulses and spaces are only marked implicitly by their position. The
47data must start and end with a pulse, therefore, the data must always include
48an unevent number of samples. The write function must block until the data has
49been 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
56definition of struct file_operations, leaving us with an unsigned int
57for the ioctl command and an unsigned long for the arg. For the purposes
58of ioctl portability across 32-bit and 64-bit, these values are capped
59to their 32-bit sizes.</para>
60
61<para>The following ioctls can be used to change specific hardware settings.
62In general each driver should have a default set of settings. The driver
63implementation is expected to re-apply the default settings when the device
64is closed by user-space, so that every application opening the device can rely
65on 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
240 <entry>r<subscript>1</subscript></entry>240 <entry>r<subscript>1</subscript></entry>
241 <entry>r<subscript>0</subscript></entry>241 <entry>r<subscript>0</subscript></entry>
242 </row>242 </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>
243 <row id="V4L2-PIX-FMT-BGR24">282 <row id="V4L2-PIX-FMT-BGR24">
244 <entry><constant>V4L2_PIX_FMT_BGR24</constant></entry>283 <entry><constant>V4L2_PIX_FMT_BGR24</constant></entry>
245 <entry>'BGR3'</entry>284 <entry>'BGR3'</entry>
@@ -700,6 +739,45 @@ defined in error. Drivers may interpret them as in <xref · 454 unmodified lines
700 <entry>b<subscript>1</subscript></entry>739 <entry>b<subscript>1</subscript></entry>
701 <entry>b<subscript>0</subscript></entry>740 <entry>b<subscript>0</subscript></entry>
702 </row>741 </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>
703 <row><!-- id="V4L2-PIX-FMT-BGR24" -->781 <row><!-- id="V4L2-PIX-FMT-BGR24" -->
704 <entry><constant>V4L2_PIX_FMT_BGR24</constant></entry>782 <entry><constant>V4L2_PIX_FMT_BGR24</constant></entry>
705 <entry>'BGR3'</entry>783 <entry>'BGR3'</entry>
Documentation/DocBook/v4l/remote_controllers.xml+2−0
@@ -173,3 +173,5 @@ keymapping.</para> · 172 unmodified lines
173<para>This program demonstrates how to replace the keymap tables.</para>173<para>This program demonstrates how to replace the keymap tables.</para>
174&sub-keytable-c;174&sub-keytable-c;
175</section>175</section>
176
177&sub-lirc_device_interface;
Documentation/HOWTO+3−3
@@ -187,7 +187,7 @@ apply a patch. · 186 unmodified lines
187If you do not know where you want to start, but you want to look for187If you do not know where you want to start, but you want to look for
188some task to start doing to join into the kernel development community,188some task to start doing to join into the kernel development community,
189go to the Linux Kernel Janitor's project:189go to the Linux Kernel Janitor's project:
190 http://janitor.kernelnewbies.org/190 http://kernelnewbies.org/KernelJanitors
191It is a great place to start. It describes a list of relatively simple191It is a great place to start. It describes a list of relatively simple
192problems that need to be cleaned up and fixed within the Linux kernel192problems that need to be cleaned up and fixed within the Linux kernel
193source tree. Working with the developers in charge of this project, you193source 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
315interface which shows patch postings, any comments on a patch or315interface which shows patch postings, any comments on a patch or
316revisions to it, and maintainers can mark patches as under review,316revisions to it, and maintainers can mark patches as under review,
317accepted, or rejected. Most of these patchwork sites are listed at317accepted, or rejected. Most of these patchwork sites are listed at
318http://patchwork.kernel.org/ or http://patchwork.ozlabs.org/.318http://patchwork.kernel.org/.
319 319
3202.6.x -next kernel tree for integration tests3202.6.x -next kernel tree for integration tests
321---------------------------------------------321---------------------------------------------
@@ -595,7 +595,7 @@ start exactly where you are now. · 273 unmodified lines
595 595
596----------596----------
597Thanks to Paolo Ciarrocchi who allowed the "Development Process"597Thanks to Paolo Ciarrocchi who allowed the "Development Process"
598(http://linux.tar.bz/articles/2.6-development_process) section598(http://lwn.net/Articles/94386/) section
599to be based on text he had written, and to Randy Dunlap and Gerrit599to be based on text he had written, and to Randy Dunlap and Gerrit
600Huizenga for some of the list of things you should and should not say.600Huizenga for some of the list of things you should and should not say.
601Also thanks to Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers,601Also 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
5818. Vendor and device identifications5818. Vendor and device identifications
582~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~582~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
583 583
584One is not not required to add new device ids to include/linux/pci_ids.h.584One is not required to add new device ids to include/linux/pci_ids.h.
585Please add PCI_VENDOR_ID_xxx for vendors and a hex constant for device ids.585Please add PCI_VENDOR_ID_xxx for vendors and a hex constant for device ids.
586 586
587PCI_VENDOR_ID_xxx constants are re-used. The device ids are arbitrary587PCI_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
606,Year="2006"606,Year="2006"
607,pages="v2 123-138"607,pages="v2 123-138"
608,note="Available:608,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}
610\url{http://www.rdrop.com/users/paulmck/RCU/OLSrtRCU.2006.08.11a.pdf}610\url{http://www.rdrop.com/users/paulmck/RCU/OLSrtRCU.2006.08.11a.pdf}
611[Viewed January 1, 2007]"611[Viewed January 1, 2007]"
612,annotation="612,annotation="
Documentation/SubmittingDrivers+1−1
@@ -161,7 +161,7 @@ How to NOT write kernel driver by Arjan van de Ven: · 160 unmodified lines
161 http://www.fenrus.org/how-to-not-write-a-device-driver-paper.pdf161 http://www.fenrus.org/how-to-not-write-a-device-driver-paper.pdf
162 162
163Kernel Janitor:163Kernel Janitor:
164 http://janitor.kernelnewbies.org/164 http://kernelnewbies.org/KernelJanitors
165 165
166GIT, Fast Version Control System:166GIT, Fast Version Control System:
167 http://git-scm.com/167 http://git-scm.com/
Documentation/SubmittingPatches+11−0
@@ -98,6 +98,17 @@ system, git, as a "commit log". See #15, below. · 97 unmodified lines
98If your description starts to get long, that's a sign that you probably98If your description starts to get long, that's a sign that you probably
99need to split up your patch. See #3, next.99need to split up your patch. See #3, next.
100 100
101When you submit or resubmit a patch or patch series, include the
102complete patch description and justification for it. Don't just
103say that this is version N of the patch (series). Don't expect the
104patch merger to refer back to earlier patch versions or referenced
105URLs to find the patch description and put that into the patch.
106I.e., the patch (series) and its description should be self-contained.
107This benefits both the patch merger(s) and reviewers. Some reviewers
108probably didn't even receive earlier versions of the patch.
109
110If the patch fixes a logged bug entry, refer to that bug entry by
111number and URL.
101 112
102 113
1033) Separate your changes.1143) Separate your changes.
Documentation/aoe/aoe.txt+1−1
@@ -1,6 +1,6 @@
1The EtherDrive (R) HOWTO for users of 2.6 kernels is found at ...1The EtherDrive (R) HOWTO for users of 2.6 kernels is found at ...
2 2
3 http://www.coraid.com/support/linux/EtherDrive-2.6-HOWTO.html3 http://www.coraid.com/SUPPORT/EtherDrive-HBA
4 4
5 It has many tips and hints!5 It has many tips and hints!
6 6
Documentation/apparmor.txt+39−0
@@ -0,0 +1,39 @@
1--- What is AppArmor? ---
2
3AppArmor is MAC style security extension for the Linux kernel. It implements
4a task centered policy, with task "profiles" being created and loaded
5from user space. Tasks on the system that do not have a profile defined for
6them run in an unconfined state which is equivalent to standard Linux DAC
7permissions.
8
9--- How to enable/disable ---
10
11set CONFIG_SECURITY_APPARMOR=y
12
13If 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
17Build the kernel
18
19If AppArmor is not the default security module it can be enabled by passing
20security=apparmor on the kernel's command line.
21
22If AppArmor is the default security module it can be disabled by passing
23apparmor=0, security=XXXX (where XXX is valid security module), on the
24kernel's command line
25
26For AppArmor to enforce any restrictions beyond standard Linux DAC permissions
27policy must be loaded into the kernel from user space (see the Documentation
28and tools links).
29
30--- Documentation ---
31
32Documentation can be found on the wiki.
33
34--- Links ---
35
36Mailing List - apparmor@lists.ubuntu.com
37Wiki - http://apparmor.wiki.kernel.org/
38User space tools - https://launchpad.net/apparmor
39Kernel 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
14interfaces (UTOPIA, SPI, etc), a PCI host bridge, one serial port,14interfaces (UTOPIA, SPI, etc), a PCI host bridge, one serial port,
15flash interface, and some other odds and ends. For more information, see:15flash interface, and some other odds and ends. For more information, see:
16 16
17http://developer.intel.com/design/network/products/npfamily/ixp2xxx.htm17http://developer.intel.com
18 18
192. Linux Support192. Linux Support
20 20
Documentation/arm/IXP4xx+6−8
@@ -45,7 +45,7 @@ require the use of Intel's propietary CSR softare: · 44 unmodified lines
45If you need to use any of the above, you need to download Intel's45If you need to use any of the above, you need to download Intel's
46software from:46software from:
47 47
48 http://developer.intel.com/design/network/products/npfamily/ixp425swr1.htm48 http://developer.intel.com/design/network/products/npfamily/ixp425.htm
49 49
50DO NOT POST QUESTIONS TO THE LINUX MAILING LISTS REGARDING THE PROPIETARY50DO NOT POST QUESTIONS TO THE LINUX MAILING LISTS REGARDING THE PROPIETARY
51SOFTWARE.51SOFTWARE.
@@ -53,7 +53,7 @@ SOFTWARE. · 1 unmodified line
53There are several websites that provide directions/pointers on using53There are several websites that provide directions/pointers on using
54Intel's software:54Intel's software:
55 55
56http://ixp4xx-osdg.sourceforge.net/ 56 http://sourceforge.net/projects/ixp4xx-osdg/
57 Open Source Developer's Guide for using uClinux and the Intel libraries 57 Open Source Developer's Guide for using uClinux and the Intel libraries
58 58
59http://gatewaymaker.sourceforge.net/ 59http://gatewaymaker.sourceforge.net/
@@ -112,21 +112,21 @@ http://www.adiengineering.com/productsCoyote.html · 52 unmodified lines
112 Finally, there is an IDE port hanging off the expansion bus.112 Finally, there is an IDE port hanging off the expansion bus.
113 113
114Gateworks Avila Network Platform114Gateworks Avila Network Platform
115http://www.gateworks.com/avila_sbc.htm115http://www.gateworks.com/support/overview.php
116 116
117 The Avila platform is basically and IXDP425 with the 4 PCI slots117 The Avila platform is basically and IXDP425 with the 4 PCI slots
118 replaced with mini-PCI slots and a CF IDE interface hanging off118 replaced with mini-PCI slots and a CF IDE interface hanging off
119 the expansion bus.119 the expansion bus.
120 120
121Intel IXDP425 Development Platform121Intel IXDP425 Development Platform
122http://developer.intel.com/design/network/products/npfamily/ixdp425.htm122http://www.intel.com/design/network/products/npfamily/ixdpg425.htm
123 123
124 This is Intel's standard reference platform for the IXDP425 and is 124 This is Intel's standard reference platform for the IXDP425 and is
125 also known as the Richfield board. It contains 4 PCI slots, 16MB125 also known as the Richfield board. It contains 4 PCI slots, 16MB
126 of flash, two 10/100 ports and one ADSL port.126 of flash, two 10/100 ports and one ADSL port.
127 127
128Intel IXDP465 Development Platform128Intel IXDP465 Development Platform
129http://developer.intel.com/design/network/products/npfamily/ixdp465.htm129http://www.intel.com/design/network/products/npfamily/ixdp465.htm
130 130
131 This is basically an IXDP425 with an IXP465 and 32M of flash instead131 This is basically an IXDP425 with an IXP465 and 32M of flash instead
132 of just 16.132 of just 16.
@@ -141,15 +141,13 @@ Intel IXDPG425 Development Platform · 8 unmodified lines
141 a pivot_root to NFS.141 a pivot_root to NFS.
142 142
143Motorola PrPMC1100 Processor Mezanine Card143Motorola PrPMC1100 Processor Mezanine Card
144http://www.fountainsys.com/datasheet/PrPMC1100.pdf144http://www.fountainsys.com
145 145
146 The PrPMC1100 is based on the IXCP1100 and is meant to plug into146 The PrPMC1100 is based on the IXCP1100 and is meant to plug into
147 and IXP2400/2800 system to act as the system controller. It simply147 and IXP2400/2800 system to act as the system controller. It simply
148 contains a CPU and 16MB of flash on the board and needs to be148 contains a CPU and 16MB of flash on the board and needs to be
149 plugged into a carrier board to function. Currently Linux only149 plugged into a carrier board to function. Currently Linux only
150 supports the Motorola PrPMC carrier board for this platform.150 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.
153 151
1545. TODO LIST1525. TODO LIST
155 153
Documentation/arm/README+2−2
@@ -41,12 +41,12 @@ Bug reports etc · 40 unmodified lines
41---------------41---------------
42 42
43 Please send patches to the patch system. For more information, see43 Please send patches to the patch system. For more information, see
44 http://www.arm.linux.org.uk/patches/info.html Always include some44 http://www.arm.linux.org.uk/developer/patches/info.php Always include some
45 explanation as to what the patch does and why it is needed.45 explanation as to what the patch does and why it is needed.
46 46
47 Bug reports should be sent to linux-arm-kernel@lists.arm.linux.org.uk,47 Bug reports should be sent to linux-arm-kernel@lists.arm.linux.org.uk,
48 or submitted through the web form at48 or submitted through the web form at
49 http://www.arm.linux.org.uk/forms/solution.shtml49 http://www.arm.linux.org.uk/developer/
50 50
51 When sending bug reports, please ensure that they contain all relevant51 When sending bug reports, please ensure that they contain all relevant
52 information, eg. the kernel messages that were printed before/during52 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
2============================================2============================================
3 3
4Please see:4Please see:
5http://developer.intel.com/design/strong/quicklist/eval-plat/sa-1110.htm5http://developer.intel.com
6http://developer.intel.com/design/strong/guides/278278.htm
7 6
8Also some notes from John G Dorsey <jd5q@andrew.cmu.edu>:7Also some notes from John G Dorsey <jd5q@andrew.cmu.edu>:
9http://www.cs.cmu.edu/~wearable/software/assabet.html8http://www.cs.cmu.edu/~wearable/software/assabet.html
@@ -64,7 +63,7 @@ Initial RedBoot configuration · 54 unmodified lines
64-----------------------------63-----------------------------
65 64
66The commands used here are explained in The RedBoot User's Guide available65The commands used here are explained in The RedBoot User's Guide available
67on-line at http://sources.redhat.com/ecos/docs-latest/redboot/redboot.html.66on-line at http://sources.redhat.com/ecos/docs.html.
68Please refer to it for explanations.67Please refer to it for explanations.
69 68
70If you have a CF network card (my Assabet kit contained a CF+ LP-E from69If 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 @@
1Brutus is an evaluation platform for the SA1100 manufactured by Intel. 1Brutus is an evaluation platform for the SA1100 manufactured by Intel.
2For more details, see:2For more details, see:
3 3
4http://developer.intel.com/design/strong/applnots/sa1100lx/getstart.htm4http://developer.intel.com
5 5
6To compile for Brutus, you must issue the following commands:6To compile for Brutus, you must issue the following commands:
7 7
Documentation/arm/SA1100/FreeBird+1−1
@@ -1,5 +1,5 @@
1Freebird-1.1 is produced by Legned(C) ,Inc.1Freebird-1.1 is produced by Legned(C) ,Inc.
2(http://www.legend.com.cn)2http://web.archive.org/web/*/http://www.legend.com.cn
3and software/linux mainatined by Coventive(C),Inc.3and software/linux mainatined by Coventive(C),Inc.
4(http://www.coventive.com)4(http://www.coventive.com)
5 5
Documentation/arm/SA1100/GraphicsClient+1−1
@@ -71,7 +71,7 @@ Supported peripherals: · 70 unmodified lines
71- serial ports (ttyS[0-2])71- serial ports (ttyS[0-2])
72 - ttyS0 is default for serial console72 - ttyS0 is default for serial console
73- Smart I/O (ADC, keypad, digital inputs, etc)73- Smart I/O (ADC, keypad, digital inputs, etc)
74 See http://www.applieddata.com/developers/linux for IOCTL documentation74 See http://www.eurotech-inc.com/linux-sbc.asp for IOCTL documentation
75 and example user space code. ps/2 keybd is multiplexed through this driver75 and example user space code. ps/2 keybd is multiplexed through this driver
76 76
77To do:77To do:
Documentation/arm/SA1100/GraphicsMaster+1−1
@@ -28,7 +28,7 @@ Supported peripherals: · 27 unmodified lines
28- serial ports (ttyS[0-2])28- serial ports (ttyS[0-2])
29 - ttyS0 is default for serial console29 - ttyS0 is default for serial console
30- Smart I/O (ADC, keypad, digital inputs, etc)30- Smart I/O (ADC, keypad, digital inputs, etc)
31 See http://www.applieddata.com/developers/linux for IOCTL documentation31 See http://www.eurotech-inc.com/linux-sbc.asp for IOCTL documentation
32 and example user space code. ps/2 keybd is multiplexed through this driver32 and example user space code. ps/2 keybd is multiplexed through this driver
33 33
34To do:34To do:
Documentation/arm/SA1100/Itsy+1−1
@@ -4,7 +4,7 @@ research projects at Compaq that are related to pocket computing. · 3 unmodified lines
4 4
5For more information, see:5For more information, see:
6 6
7 http://www.research.digital.com/wrl/itsy/index.html7 http://www.hpl.hp.com/downloads/crl/itsy/
8 8
9Notes on initial 2.4 Itsy support (8/27/2000) :9Notes on initial 2.4 Itsy support (8/27/2000) :
10The port was done on an Itsy version 1.5 machine with a daughtercard with10The 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
6 6
7For more information, see:7For more information, see:
8 8
9 http://www.cse.unsw.edu.au/~pleb/9 http://www.cse.unsw.edu.au
10 10
11 11
Documentation/arm/SA1100/Victor+1−1
@@ -3,7 +3,7 @@ VisuAide, Inc. to be used by blind people. · 2 unmodified lines
3 3
4For more information related to Victor, see:4For more information related to Victor, see:
5 5
6 http://www.visuaide.com/victor6 http://www.humanware.com/en-usa/products
7 7
8Of course Victor is using Linux as its main operating system.8Of course Victor is using Linux as its main operating system.
9The Victor implementation for Linux is maintained by Nicolas Pitre:9The 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
7(Ref: Stuart Adams <sja@brightstareng.com>)7(Ref: Stuart Adams <sja@brightstareng.com>)
8 8
9Also visit Larry Doolittle's "Linux for the nanoEngine" site:9Also visit Larry Doolittle's "Linux for the nanoEngine" site:
10http://recycle.lbl.gov/~ldoolitt/bse/10http://www.brightstareng.com/arm/nanoeng.htm
11 11
Documentation/arm/memory.txt+7−1
@@ -33,7 +33,13 @@ ffff0000 ffff0fff CPU vector page. · 32 unmodified lines
33 33
34fffe0000 fffeffff XScale cache flush area. This is used34fffe0000 fffeffff XScale cache flush area. This is used
35 in proc-xscale.S to flush the whole data35 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
38fffe8000 fffeffff DTCM mapping area for platforms with
39 DTCM mounted inside the CPU.
40
41fffe0000 fffe7fff ITCM mapping area for platforms with
42 ITCM mounted inside the CPU.
37 43
38fff00000 fffdffff Fixmap mapping region. Addresses provided44fff00000 fffdffff Fixmap mapping region. Addresses provided
39 by fix_to_virt() will be located here.45 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
19system control coprocessor. Documentation from ARM can be found19system control coprocessor. Documentation from ARM can be found
20at http://infocenter.arm.com, search for "TCM Status Register"20at http://infocenter.arm.com, search for "TCM Status Register"
21to see documents for all CPUs. Reading this register you can21to see documents for all CPUs. Reading this register you can
22determine if ITCM (bit 0) and/or DTCM (bit 16) is present in the22determine if ITCM (bits 1-0) and/or DTCM (bit 17-16) is present
23machine.23in the machine.
24 24
25There is further a TCM region register (search for "TCM Region25There is further a TCM region register (search for "TCM Region
26Registers" at the ARM site) that can report and modify the location26Registers" 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
35the MMU, but notice that the TCM if often used in situations where35the MMU, but notice that the TCM if often used in situations where
36the MMU is turned off. To avoid confusion the current Linux36the MMU is turned off. To avoid confusion the current Linux
37implementation will map the TCM 1 to 1 from physical to virtual37implementation will map the TCM 1 to 1 from physical to virtual
38memory in the location specified by the machine.38memory in the location specified by the kernel. Currently Linux
39will map ITCM to 0xfffe0000 and on, and DTCM to 0xfffe8000 and
40on, supporting a maximum of 32KiB of ITCM and 32KiB of DTCM.
41
42Newer versions of the region registers also support dividing these
43TCMs in two separate banks, so for example an 8KiB ITCM is divided
44into two 4KiB banks with its own control registers. The idea is to
45be able to lock and hide one of the banks for use by the secure
46world (TrustZone).
39 47
40TCM is used for a few things:48TCM is used for a few things:
41 49
@@ -65,18 +73,18 @@ in <asm/tcm.h>. Using this interface it is possible to: · 23 unmodified lines
65 memory. Such a heap is great for things like saving73 memory. Such a heap is great for things like saving
66 device state when shutting off device power domains.74 device state when shutting off device power domains.
67 75
68A machine that has TCM memory shall select HAVE_TCM in76A machine that has TCM memory shall select HAVE_TCM from
69arch/arm/Kconfig for itself, and then the77arch/arm/Kconfig for itself. Code that needs to use TCM shall
70rest of the functionality will depend on the physical78#include <asm/tcm.h>
71location and size of ITCM and DTCM to be defined in
72mach/memory.h for the machine. Code that needs to use
73TCM shall #include <asm/tcm.h> If the TCM is not located
74at the place given in memory.h it will be moved using
75the TCM Region registers.
76 79
77Functions to go into itcm can be tagged like this:80Functions to go into itcm can be tagged like this:
78int __tcmfunc foo(int bar);81int __tcmfunc foo(int bar);
79 82
83Since these are marked to become long_calls and you may want
84to have functions called locally inside the TCM without
85wasting space, there is also the __tcmlocalfunc prefix that
86will make the call relative.
87
80Variables to go into dtcm can be tagged like this:88Variables to go into dtcm can be tagged like this:
81int __tcmdata foo;89int __tcmdata foo;
82 90
Documentation/binfmt_misc.txt+1−1
@@ -111,6 +111,6 @@ cause unexpected behaviour and can be a security hazard. · 110 unmodified lines
111 111
112 112
113There is a web page about binfmt_misc at113There is a web page about binfmt_misc at
114http://www.tat.physik.uni-tuebingen.de/~rguenth/linux/binfmt_misc.html114http://www.tat.physik.uni-tuebingen.de
115 115
116Richard Günther <rguenth@tat.physik.uni-tuebingen.de>116Richard Günther <rguenth@tat.physik.uni-tuebingen.de>
Documentation/blackfin/00-INDEX+4−7
@@ -1,11 +1,8 @@
100-INDEX100-INDEX
2 - This file2 - This file
3 3
4cachefeatures.txt4bfin-gpio-notes.txt
5 - Supported cache features.
6
7Filesystems
8 - Requirements for mounting the root file system.
9
10bfin-gpio-note.txt
11 - Notes in developing/using bfin-gpio driver.5 - Notes in developing/using bfin-gpio driver.
6
7bfin-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
211 Mounting EXT3 File system.
22 ------------------------
23
24 Creating an EXT3 File system for uClinux/Blackfin:
25
26
27Please follow the steps to form the EXT3 File system and mount the same as root
28file system.
29
30a 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
35b 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
40c 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
46d 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
49e Now unmount the file system
50
51 umount ./test
52
53f 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
59Now you have to tell the kernel that will be mounting this file system as
60rootfs.
61So do a make menuconfig under kernel and select the Ext3 journaling file system
62support under File system --> submenu.
63
64
652. Mounting EXT2 File system.
66 -------------------------
67
68By default the ext2 file system image will be created if you invoke make from
69the top uClinux-dist directory.
70
71
723. Mounting CRAMFS File System
73 ----------------------------
74
75To 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
824. Mounting ROMFS File System
83 --------------------------
84
85To 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
925. Mounting the JFFS2 Filesystem
93 -----------------------------
94
95To 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
101However, 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
115Through the u-boot boot loader, use the jffs2.img in the corresponding
116partition made in linux-2.6.x/drivers/mtd/maps/bf533_flash.c.
117
118NOTE - Currently the Flash driver is available only for EZKIT. Watch out for a
119 STAMP driver soon.
120
121
1226. 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 @@
1SPI Chip Select behavior:
2
3With the Blackfin on-chip SPI peripheral, there is some logic tied to the CPHA
4bit whether the Slave Select Line is controlled by hardware (CPHA=0) or
5controlled by software (CPHA=1). However, the Linux SPI bus driver assumes that
6the Slave Select is always under software control and being asserted during
7the entire SPI transfer. - And not just bits_per_word duration.
8
9In most cases you can utilize SPI MODE_3 instead of MODE_0 to work-around this
10behavior. If your SPI slave device in question requires SPI MODE_0 or MODE_2
11timing, you can utilize the GPIO controlled SPI Slave Select option instead.
12
13You can even use the same pin whose peripheral role is a SSEL,
14but 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
7 7
8Last Updated May 2, 20028Last Updated May 2, 2002
9September 2003: Updated I/O Scheduler portions9September 2003: Updated I/O Scheduler portions
10 Nick Piggin <piggin@cyberone.com.au>10 Nick Piggin <npiggin@kernel.dk>
11 11
12Introduction:12Introduction:
13 13
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
412You might also find some useful information on the linux-parport412You might also find some useful information on the linux-parport
413web pages (although they are not always up to date) at413web pages (although they are not always up to date) at
414 414
415 http://www.torque.net/parport/415 http://web.archive.org/web/*/http://www.torque.net/parport/
416 416
417 417
Documentation/cdrom/packet-writing.txt+1−1
@@ -95,7 +95,7 @@ Using the pktcdvd sysfs interface · 94 unmodified lines
95 95
96Since Linux 2.6.20, the pktcdvd module has a sysfs interface96Since Linux 2.6.20, the pktcdvd module has a sysfs interface
97and can be controlled by it. For example the "pktcdvd" tool uses97and can be controlled by it. For example the "pktcdvd" tool uses
98this interface. (see http://people.freenet.de/BalaGi#pktcdvd )98this interface. (see http://tom.ist-im-web.de/download/pktcdvd )
99 99
100"pktcdvd" works similar to "pktsetup", e.g.:100"pktcdvd" works similar to "pktsetup", e.g.:
101 101
Documentation/cgroups/cpusets.txt+1−1
@@ -691,7 +691,7 @@ There are ways to query or modify cpusets: · 690 unmodified lines
691 cat, rmdir commands from the shell, or their equivalent from C.691 cat, rmdir commands from the shell, or their equivalent from C.
692 - via the C library libcpuset.692 - via the C library libcpuset.
693 - via the C library libcgroup.693 - via the C library libcgroup.
694 (http://sourceforge.net/proects/libcg/)694 (http://sourceforge.net/projects/libcg/)
695 - via the python application cset.695 - via the python application cset.
696 (http://developer.novell.com/wiki/index.php/Cpuset)696 (http://developer.novell.com/wiki/index.php/Cpuset)
697 697
Documentation/coccinelle.txt+258−0
@@ -0,0 +1,258 @@
1Copyright 2010 Nicolas Palix <npalix@diku.dk>
2Copyright 2010 Julia Lawall <julia@diku.dk>
3Copyright 2010 Gilles Muller <Gilles.Muller@lip6.fr>
4
5
6 Getting Coccinelle
7~~~~~~~~~~~~~~~~~~~~
8
9The semantic patches included in the kernel use the 'virtual rule'
10feature which was introduced in Coccinelle version 0.1.11.
11
12Coccinelle (>=0.2.0) is available through the package manager
13of 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
24You can get the latest version released from the Coccinelle homepage at
25http://coccinelle.lip6.fr/
26
27Once you have it, run the following command:
28
29 ./configure
30 make
31
32as a regular user, and install it with
33
34 sudo make install
35
36
37 Using Coccinelle on the Linux kernel
38~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39
40A Coccinelle-specific target is defined in the top level
41Makefile. This target is named 'coccicheck' and calls the 'coccicheck'
42front-end in the 'scripts' directory.
43
44Four modes are defined: report, patch, context, and org. The mode to
45use 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
53diff-like style.Lines of interest are indicated with '-'.
54
55'org' generates a report in the Org mode format of Emacs.
56
57Note that not all semantic patches implement all modes.
58
59To make a report for every semantic patch, run the following command:
60
61 make coccicheck MODE=report
62
63NB: The 'report' mode is the default one.
64
65To produce patches, run:
66
67 make coccicheck MODE=patch
68
69
70The coccicheck target applies every semantic patch available in the
71subdirectories of 'scripts/coccinelle' to the entire Linux kernel.
72
73For each semantic patch, a changelog message is proposed. It gives a
74description of the problem being checked by the semantic patch, and
75includes a reference to Coccinelle.
76
77As any static code analyzer, Coccinelle produces false
78positives. Thus, reports must be carefully checked, and patches
79reviewed.
80
81
82 Using Coccinelle with a single semantic patch
83~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
84
85The optional make variable COCCI can be used to check a single
86semantic patch. In that case, the variable must be initialized with
87the name of the semantic patch to apply.
88
89For instance:
90
91 make coccicheck COCCI=<my_SP.cocci> MODE=patch
92or
93 make coccicheck COCCI=<my_SP.cocci> MODE=report
94
95
96 Proposing new semantic patches
97~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
98
99New semantic patches can be proposed and submitted by kernel
100developers. For sake of clarity, they should be organized in the
101subdirectories 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
110Example:
111
112Running
113
114 make coccicheck MODE=report COCCI=scripts/coccinelle/err_cast.cocci
115
116will execute the following part of the SmPL script.
117
118<smpl>
119@r depends on !context && !patch && (org || report)@
120expression x;
121position p;
122@@
123
124 ERR_PTR@p(PTR_ERR(x))
125
126@script:python depends on report@
127p << r.p;
128x << r.x;
129@@
130
131msg="ERR_CAST can be used with %s" % (x)
132coccilib.report.print_report(p[0], msg)
133</smpl>
134
135This SmPL excerpt generates entries on the standard output, as
136illustrated 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
146When the 'patch' mode is available, it proposes a fix for each problem
147identified.
148
149Example:
150
151Running
152 make coccicheck MODE=patch COCCI=scripts/coccinelle/err_cast.cocci
153
154will execute the following part of the SmPL script.
155
156<smpl>
157@ depends on !context && patch && !org && !report @
158expression x;
159@@
160
161- ERR_PTR(PTR_ERR(x))
162+ ERR_CAST(x)
163</smpl>
164
165This SmPL excerpt generates patch hunks on the standard output, as
166illustrated below:
167
168diff -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
185in a diff-like style.
186
187NOTE: 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
193Example:
194
195Running
196 make coccicheck MODE=context COCCI=scripts/coccinelle/err_cast.cocci
197
198will execute the following part of the SmPL script.
199
200<smpl>
201@ depends on context && !patch && !org && !report@
202expression x;
203@@
204
205* ERR_PTR(PTR_ERR(x))
206</smpl>
207
208This SmPL excerpt generates diff hunks on the standard output, as
209illustrated below:
210
211diff -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
228Example:
229
230Running
231 make coccicheck MODE=org COCCI=scripts/coccinelle/err_cast.cocci
232
233will execute the following part of the SmPL script.
234
235<smpl>
236@r depends on !context && !patch && (org || report)@
237expression x;
238position p;
239@@
240
241 ERR_PTR@p(PTR_ERR(x))
242
243@script:python depends on org@
244p << r.p;
245x << r.x;
246@@
247
248msg="ERR_CAST can be used with %s" % (x)
249msg_safe=msg.replace("[","@(").replace("]",")")
250coccilib.org.print_todo(p[0], msg_safe)
251</smpl>
252
253This SmPL excerpt generates Org entries on the standard output, as
254illustrated 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
2 2
3 Maintainers:3 Maintainers:
4 CPU Hotplug Core:4 CPU Hotplug Core:
5 Rusty Russell <rusty@rustycorp.com.au>5 Rusty Russell <rusty@rustcorp.com.au>
6 Srivatsa Vaddagiri <vatsa@in.ibm.com>6 Srivatsa Vaddagiri <vatsa@in.ibm.com>
7 i386:7 i386:
8 Zwane Mwaikambo <zwane@arm.linux.org.uk>8 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
281user-space and kernel-space addresses, mixture of big-endian and281user-space and kernel-space addresses, mixture of big-endian and
282small-endian quantities, the passing of integer values where a set of bit282small-endian quantities, the passing of integer values where a set of bit
283flags is expected, and so on. Sparse must be installed separately (it can283flags is expected, and so on. Sparse must be installed separately (it can
284be found at http://www.kernel.org/pub/software/devel/sparse/ if your284be found at https://sparse.wiki.kernel.org/index.php/Main_Page if your
285distributor does not package it); it can then be run on the code by adding285distributor does not package it); it can then be run on the code by adding
286"C=1" to your make command.286"C=1" to your make command.
287 287
Documentation/device-mapper/dm-crypt.txt+1−1
@@ -36,7 +36,7 @@ Example scripts · 35 unmodified lines
36===============36===============
37LUKS (Linux Unified Key Setup) is now the preferred way to set up disk37LUKS (Linux Unified Key Setup) is now the preferred way to set up disk
38encryption with dm-crypt using the 'cryptsetup' utility, see38encryption with dm-crypt using the 'cryptsetup' utility, see
39http://luks.endorphin.org/39http://clemens.endorphin.org/cryptography
40 40
41[[41[[
42#!/bin/sh42#!/bin/sh
Documentation/devices.txt+6−4
@@ -445,6 +445,7 @@ Your cooperation is appreciated. · 444 unmodified lines
445 233 = /dev/kmview View-OS A process with a view445 233 = /dev/kmview View-OS A process with a view
446 234 = /dev/btrfs-control Btrfs control device446 234 = /dev/btrfs-control Btrfs control device
447 235 = /dev/autofs Autofs control device447 235 = /dev/autofs Autofs control device
448 236 = /dev/mapper/control Device-Mapper control device
448 240-254 Reserved for local use449 240-254 Reserved for local use
449 255 Reserved for MISC_DYNAMIC_MINOR450 255 Reserved for MISC_DYNAMIC_MINOR
450 451
@@ -1517,7 +1518,7 @@ Your cooperation is appreciated. · 1066 unmodified lines
1517 ...1518 ...
1518 1519
1519 The driver and documentation may be obtained from1520 The driver and documentation may be obtained from
1520 http://www.proximity.com.au/~brian/winradio/1521 http://www.winradio.com/
1521 1522
1522 82 block I2O hard disk1523 82 block I2O hard disk
1523 0 = /dev/i2o/hdag 33rd I2O hard disk, whole disk1524 0 = /dev/i2o/hdag 33rd I2O hard disk, whole disk
@@ -1723,7 +1724,7 @@ Your cooperation is appreciated. · 199 unmodified lines
1723 1 = /dev/comedi1 Second comedi device1724 1 = /dev/comedi1 Second comedi device
1724 ...1725 ...
1725 1726
1726 See http://stm.lbl.gov/comedi or http://www.llp.fu-berlin.de/.1727 See http://stm.lbl.gov/comedi.
1727 1728
1728 98 block User-mode virtual block device1729 98 block User-mode virtual block device
1729 0 = /dev/ubda First user-mode block device1730 0 = /dev/ubda First user-mode block device
@@ -1984,7 +1985,7 @@ Your cooperation is appreciated. · 254 unmodified lines
1984 256 NetWare volumes can be supported in a single1985 256 NetWare volumes can be supported in a single
1985 machine.1986 machine.
1986 1987
1987 http://www.kernel.org/pub/linux/kernel/people/jmerkey/nwfs1988 http://cgfa.telepac.pt/ftp2/kernel.org/linux/kernel/people/jmerkey/nwfs/
1988 1989
1989 0 = /dev/nwfs/v0 First NetWare (NWFS) Logical Volume1990 0 = /dev/nwfs/v0 First NetWare (NWFS) Logical Volume
1990 1 = /dev/nwfs/v1 Second NetWare (NWFS) Logical Volume1991 1 = /dev/nwfs/v1 Second NetWare (NWFS) Logical Volume
@@ -2591,7 +2592,8 @@ Your cooperation is appreciated. · 600 unmodified lines
2591 1 = /dev/intermezzo1 Second cache manager2592 1 = /dev/intermezzo1 Second cache manager
2592 ...2593 ...
2593 2594
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
2595 2597
2596186 char Object-based storage control device2598186 char Object-based storage control device
2597 0 = /dev/obd0 First obd control device2599 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
76 the TuxBox CVS many interesting DVB applications and the dBox276 the TuxBox CVS many interesting DVB applications and the dBox2
77 DVB source77 DVB source
78 78
79 http://sourceforge.net/projects/dvbsak/79 http://www.linuxtv.org/downloads/
80 DVB Swiss Army Knife library and utilities80 DVB Swiss Army Knife library and utilities
81 81
82 http://www.nenie.org/misc/mpsys/82 http://www.nenie.org/misc/mpsys/
Documentation/dvb/get_dvb_firmware+21−4
@@ -26,7 +26,7 @@ use IO::Handle; · 25 unmodified lines
26 "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004",26 "dec3000s", "vp7041", "dibusb", "nxt2002", "nxt2004",
27 "or51211", "or51132_qam", "or51132_vsb", "bluebird",27 "or51211", "or51132_qam", "or51132_vsb", "bluebird",
28 "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2", "mpc718",28 "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2", "mpc718",
29 "af9015", "ngene");29 "af9015", "ngene", "az6027");
30 30
31# Check args31# Check args
32syntax() if (scalar(@ARGV) != 1);32syntax() if (scalar(@ARGV) != 1);
@@ -518,11 +518,11 @@ sub bluebird { · 485 unmodified lines
518sub af9015 {518sub af9015 {
519 my $sourcefile = "download.ashx?file=57";519 my $sourcefile = "download.ashx?file=57";
520 my $url = "http://www.ite.com.tw/EN/Services/$sourcefile";520 my $url = "http://www.ite.com.tw/EN/Services/$sourcefile";
521 my $hash = "ff5b096ed47c080870eacdab2de33ad6";521 my $hash = "e3f08935158038d385ad382442f4bb2d";
522 my $outfile = "dvb-usb-af9015.fw";522 my $outfile = "dvb-usb-af9015.fw";
523 my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);523 my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
524 my $fwoffset = 0x22708;524 my $fwoffset = 0x25690;
525 my $fwlength = 18225;525 my $fwlength = 18725;
526 my ($chunklength, $buf, $rcount);526 my ($chunklength, $buf, $rcount);
527 527
528 checkstandard();528 checkstandard();
@@ -567,6 +567,23 @@ sub ngene { · 38 unmodified lines
567 "$file1, $file2";567 "$file1, $file2";
568}568}
569 569
570sub 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}
570# ---------------------------------------------------------------587# ---------------------------------------------------------------
571# Utilities588# Utilities
572 589
Documentation/fb/framebuffer.txt+1−1
@@ -330,7 +330,7 @@ and on its mirrors. · 329 unmodified lines
330 330
331The latest version of fbset can be found at331The latest version of fbset can be found at
332 332
333 http://home.tvd.be/cr26864/Linux/fbdev/333 http://www.linux-fbdev.org/
334 334
335 335
33610. Credits 33610. 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
93 inputs. This framework was never widely used, and most attempts to93 inputs. This framework was never widely used, and most attempts to
94 use it were broken. Drivers should instead be exposing domain-specific94 use it were broken. Drivers should instead be exposing domain-specific
95 interfaces either to kernel or to userspace.95 interfaces either to kernel or to userspace.
96Who: Pavel Machek <pavel@suse.cz>96Who: Pavel Machek <pavel@ucw.cz>
97 97
98---------------------------98---------------------------
99 99
@@ -116,29 +116,6 @@ Who: Mauro Carvalho Chehab <mchehab@infradead.org> · 16 unmodified lines
116 116
117---------------------------117---------------------------
118 118
119What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl])
120When: 2.6.35/2.6.36
121Files: drivers/pcmcia/: pcmcia_ioctl.c
122Why: 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.
138Who: Dominik Brodowski <linux@dominikbrodowski.net>
139
140---------------------------
141
142What: sys_sysctl119What: sys_sysctl
143When: September 2010120When: September 2010
144Option: CONFIG_SYSCTL_SYSCALL121Option: CONFIG_SYSCTL_SYSCALL
@@ -174,6 +151,31 @@ Who: Eric Biederman <ebiederm@xmission.com> · 29 unmodified lines
174 151
175---------------------------152---------------------------
176 153
154What: /proc/<pid>/oom_adj
155When: August 2012
156Why: /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
177What: remove EXPORT_SYMBOL(kernel_thread)179What: remove EXPORT_SYMBOL(kernel_thread)
178When: August 2006180When: August 2006
179Files: arch/*/kernel/*_ksyms.c181Files: arch/*/kernel/*_ksyms.c
@@ -303,15 +305,6 @@ Who: Johannes Berg <johannes@sipsolutions.net> · 123 unmodified lines
303 305
304---------------------------306---------------------------
305 307
306What: CONFIG_NF_CT_ACCT
307When: 2.6.29
308Why: 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.
311Who: Krzysztof Piotr Oledzki <ole@ans.pl>
312
313---------------------------
314
315What: sysfs ui for changing p4-clockmod parameters308What: sysfs ui for changing p4-clockmod parameters
316When: September 2009309When: September 2009
317Why: See commits 129f8ae9b1b5be94517da76009ea956e89104ce8 and310Why: See commits 129f8ae9b1b5be94517da76009ea956e89104ce8 and
@@ -367,24 +360,6 @@ When: 2.6.33 · 49 unmodified lines
367Why: Should be implemented in userspace, policy daemon.360Why: Should be implemented in userspace, policy daemon.
368Who: Johannes Berg <johannes@sipsolutions.net>361Who: Johannes Berg <johannes@sipsolutions.net>
369 362
370---------------------------
371
372What: CONFIG_INOTIFY
373When: 2.6.33
374Why: last user (audit) will be converted to the newer more generic
375 and more easily maintained fsnotify subsystem
376Who: Eric Paris <eparis@redhat.com>
377
378----------------------------
379
380What: lock_policy_rwsem_* and unlock_policy_rwsem_* will not be
381 exported interface anymore.
382When: 2.6.33
383Why: 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.
386Who: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
387
388----------------------------363----------------------------
389 364
390What: sound-slot/service-* module aliases and related clutters in365What: sound-slot/service-* module aliases and related clutters in
@@ -459,57 +434,6 @@ Who: Corentin Chary <corentin.chary@gmail.com> · 68 unmodified lines
459 434
460----------------------------435----------------------------
461 436
462What: usbvideo quickcam_messenger driver
463When: 2.6.35
464Files: drivers/media/video/usbvideo/quickcam_messenger.[ch]
465Why: obsolete v4l1 driver replaced by gspca_stv06xx
466Who: Hans de Goede <hdegoede@redhat.com>
467
468----------------------------
469
470What: ov511 v4l1 driver
471When: 2.6.35
472Files: drivers/media/video/ov511.[ch]
473Why: obsolete v4l1 driver replaced by gspca_ov519
474Who: Hans de Goede <hdegoede@redhat.com>
475
476----------------------------
477
478What: w9968cf v4l1 driver
479When: 2.6.35
480Files: drivers/media/video/w9968cf*.[ch]
481Why: obsolete v4l1 driver replaced by gspca_ov519
482Who: Hans de Goede <hdegoede@redhat.com>
483
484----------------------------
485
486What: ovcamchip sensor framework
487When: 2.6.35
488Files: drivers/media/video/ovcamchip/*
489Why: Only used by obsoleted v4l1 drivers
490Who: Hans de Goede <hdegoede@redhat.com>
491
492----------------------------
493
494What: stv680 v4l1 driver
495When: 2.6.35
496Files: drivers/media/video/stv680.[ch]
497Why: obsolete v4l1 driver replaced by gspca_stv0680
498Who: Hans de Goede <hdegoede@redhat.com>
499
500----------------------------
501
502What: zc0301 v4l driver
503When: 2.6.35
504Files: drivers/media/video/zc0301/*
505Why: 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)
509Who: Hans de Goede <hdegoede@redhat.com>
510
511----------------------------
512
513What: sysfs-class-rfkill state file437What: sysfs-class-rfkill state file
514When: Feb 2014438When: Feb 2014
515Files: net/rfkill/core.c439Files: net/rfkill/core.c
@@ -538,37 +462,6 @@ Who: Jan Kiszka <jan.kiszka@web.de> · 22 unmodified lines
538 462
539----------------------------463----------------------------
540 464
541What: KVM memory aliases support
542When: July 2010
543Why: 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.
548Who: Avi Kivity <avi@redhat.com>
549
550----------------------------
551
552What: xtime, wall_to_monotonic
553When: 2.6.36+
554Files: kernel/time/timekeeping.c include/linux/time.h
555Why: Cleaning up timekeeping internal values. Please use
556 existing timekeeping accessor functions to access
557 the equivalent functionality.
558Who: John Stultz <johnstul@us.ibm.com>
559
560----------------------------
561
562What: KVM kernel-allocated memory slots
563When: July 2010
564Why: 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.
568Who: Avi Kivity <avi@redhat.com>
569
570----------------------------
571
572What: KVM paravirt mmu host support465What: KVM paravirt mmu host support
573When: January 2011466When: January 2011
574Why: The paravirt mmu host support is slower than non-paravirt mmu, both467Why: 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
654Who: Rafael J. Wysocki <rjw@sisk.pl>547Who: Rafael J. Wysocki <rjw@sisk.pl>
655 548
656----------------------------549----------------------------
550
551What: PCI DMA unmap state API
552When: August 2012
553Why: 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).
556Who: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
557
558----------------------------
559
560What: DMA_xxBIT_MASK macros
561When: Jun 2011
562Why: DMA_xxBIT_MASK macros were replaced with DMA_BIT_MASK() macros.
563Who: 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
128RESOURCES128RESOURCES
129=========129=========
130 130
131Our current recommendation is to use Inferno (http://www.vitanuova.com/inferno)131Our current recommendation is to use Inferno (http://www.vitanuova.com/nferno/index.html)
132as the 9p server. You can start a 9p server under Inferno by issuing the132as the 9p server. You can start a 9p server under Inferno by issuing the
133following command:133following command:
134 ; styxlisten -A tcp!*!564 export '#U*'134 ; styxlisten -A tcp!*!564 export '#U*'
Documentation/filesystems/Locking+13−17
@@ -92,8 +92,8 @@ prototypes: · 91 unmodified lines
92 void (*destroy_inode)(struct inode *);92 void (*destroy_inode)(struct inode *);
93 void (*dirty_inode) (struct inode *);93 void (*dirty_inode) (struct inode *);
94 int (*write_inode) (struct inode *, int);94 int (*write_inode) (struct inode *, int);
95 void (*drop_inode) (struct inode *);95 int (*drop_inode) (struct inode *);
96 void (*delete_inode) (struct inode *);96 void (*evict_inode) (struct inode *);
97 void (*put_super) (struct super_block *);97 void (*put_super) (struct super_block *);
98 void (*write_super) (struct super_block *);98 void (*write_super) (struct super_block *);
99 int (*sync_fs)(struct super_block *sb, int wait);99 int (*sync_fs)(struct super_block *sb, int wait);
@@ -101,14 +101,13 @@ prototypes: · 1 unmodified line
101 int (*unfreeze_fs) (struct super_block *);101 int (*unfreeze_fs) (struct super_block *);
102 int (*statfs) (struct dentry *, struct kstatfs *);102 int (*statfs) (struct dentry *, struct kstatfs *);
103 int (*remount_fs) (struct super_block *, int *, char *);103 int (*remount_fs) (struct super_block *, int *, char *);
104 void (*clear_inode) (struct inode *);
105 void (*umount_begin) (struct super_block *);104 void (*umount_begin) (struct super_block *);
106 int (*show_options)(struct seq_file *, struct vfsmount *);105 int (*show_options)(struct seq_file *, struct vfsmount *);
107 ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t);106 ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t);
108 ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t);107 ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t);
109 108
110locking rules:109locking rules:
111 All may block.110 All may block [not true, see below]
112 None have BKL111 None have BKL
113 s_umount112 s_umount
114alloc_inode:113alloc_inode:
@@ -116,22 +115,25 @@ destroy_inode: · 1 unmodified line
116dirty_inode: (must not sleep)115dirty_inode: (must not sleep)
117write_inode:116write_inode:
118drop_inode: !!!inode_lock!!!117drop_inode: !!!inode_lock!!!
119delete_inode:118evict_inode:
120put_super: write119put_super: write
121write_super: read120write_super: read
122sync_fs: read121sync_fs: read
123freeze_fs: read122freeze_fs: read
124unfreeze_fs: read123unfreeze_fs: read
125statfs: no124statfs: maybe(read) (see below)
126remount_fs: maybe (see below)125remount_fs: write
127clear_inode:
128umount_begin: no126umount_begin: no
129show_options: no (namespace_sem)127show_options: no (namespace_sem)
130quota_read: no (see below)128quota_read: no (see below)
131quota_write: no (see below)129quota_write: no (see below)
132 130
133->remount_fs() will have the s_umount exclusive lock if it's already mounted.131->statfs() has s_umount (shared) when called by ustat(2) (native or
134When called from get_sb_single, it does NOT have the s_umount lock.132compat), but that's an accident of bad API; s_umount is used to pin
133the superblock down when we only have dev_t given us by userland to
134identify the superblock. Everything else (statfs(), fstatfs(), etc.)
135doesn't hold it when calling ->statfs() - superblock is pinned down
136by resolving the pathname passed to syscall.
135->quota_read() and ->quota_write() functions are both guaranteed to137->quota_read() and ->quota_write() functions are both guaranteed to
136be the only ones operating on the quota file by the quota code (via138be the only ones operating on the quota file by the quota code (via
137dqio_sem) (unless an admin really wants to screw up something and139dqio_sem) (unless an admin really wants to screw up something and
@@ -372,8 +374,6 @@ prototypes: · 234 unmodified lines
372 ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t);374 ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
373 int (*readdir) (struct file *, void *, filldir_t);375 int (*readdir) (struct file *, void *, filldir_t);
374 unsigned int (*poll) (struct file *, struct poll_table_struct *);376 unsigned int (*poll) (struct file *, struct poll_table_struct *);
375 int (*ioctl) (struct inode *, struct file *, unsigned int,
376 unsigned long);
377 long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);377 long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
378 long (*compat_ioctl) (struct file *, unsigned int, unsigned long);378 long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
379 int (*mmap) (struct file *, struct vm_area_struct *);379 int (*mmap) (struct file *, struct vm_area_struct *);
@@ -407,8 +407,7 @@ write: no · 27 unmodified lines
407aio_write: no407aio_write: no
408readdir: no408readdir: no
409poll: no409poll: no
410ioctl: yes (see below)410unlocked_ioctl: no
411unlocked_ioctl: no (see below)
412compat_ioctl: no411compat_ioctl: no
413mmap: no412mmap: no
414open: no413open: no
@@ -451,9 +450,6 @@ move ->readdir() to inode_operations and use a separate method for directory · 36 unmodified lines
451anything that resembles union-mount we won't have a struct file for all450anything that resembles union-mount we won't have a struct file for all
452components. And there are other reasons why the current interface is a mess...451components. And there are other reasons why the current interface is a mess...
453 452
454->ioctl() on regular files is superceded by the ->unlocked_ioctl() that
455doesn't take the BKL.
456
457->read on directories probably must go away - we should just enforce -EISDIR453->read on directories probably must go away - we should just enforce -EISDIR
458in sys_read() and friends.454in sys_read() and friends.
459 455
Documentation/filesystems/affs.txt+1−1
@@ -216,4 +216,4 @@ due to an incompatibility with the Amiga floppy controller. · 215 unmodified lines
216 216
217If you are interested in an Amiga Emulator for Linux, look at217If you are interested in an Amiga Emulator for Linux, look at
218 218
219http://www.freiburg.linux.de/~uae/219http://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
31 31
32WHAT IS THIS DRIVER?32WHAT IS THIS DRIVER?
33==================33==================
34This module implements the native filesystem of BeOS <http://www.be.com/>34This module implements the native filesystem of BeOS http://www.beincorporated.com/
35for the linux 2.4.1 and later kernels. Currently it is a read-only35for the linux 2.4.1 and later kernels. Currently it is a read-only
36implementation.36implementation.
37 37
@@ -61,7 +61,7 @@ step 2. Configuration & make kernel · 23 unmodified lines
61 61
62The linux kernel has many compile-time options. Most of them are beyond the62The linux kernel has many compile-time options. Most of them are beyond the
63scope of this document. I suggest the Kernel-HOWTO document as a good general63scope of this document. I suggest the Kernel-HOWTO document as a good general
64reference on this topic. <http://www.linux.com/howto/Kernel-HOWTO.html>64reference on this topic. http://www.linuxdocs.org/HOWTOs/Kernel-HOWTO-4.html
65 65
66However, to use the BeFS module, you must enable it at configure time.66However, to use the BeFS module, you must enable it at configure time.
67 67
Documentation/filesystems/caching/fscache.txt+5−5
@@ -343,8 +343,8 @@ This will look something like: · 342 unmodified lines
343 [root@andromeda ~]# head /proc/fs/fscache/objects343 [root@andromeda ~]# head /proc/fs/fscache/objects
344 OBJECT PARENT STAT CHLDN OPS OOP IPR EX READS EM EV F S | NETFS_COOKIE_DEF TY FL NETFS_DATA OBJECT_KEY, AUX_DATA344 OBJECT PARENT STAT CHLDN OPS OOP IPR EX READS EM EV F S | NETFS_COOKIE_DEF TY FL NETFS_DATA OBJECT_KEY, AUX_DATA
345 ======== ======== ==== ===== === === === == ===== == == = = | ================ == == ================ ================345 ======== ======== ==== ===== === === === == ===== == == = = | ================ == == ================ ================
346 17e4b 2 ACTV 0 0 0 0 0 0 7b 4 0 8 | NFS.fh DT 0 ffff88001dd82820 010006017edcf8bbc93b43298fdfbe71e50b57b13a172c0117f38472, e567634700000000000000000000000063f2404a000000000000000000000000c9030000000000000000000063f2404a346 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 8 | NFS.fh DT 0 ffff88002db23380 010006017edcf8bbc93b43298fdfbe71e50b57b1e0162c01a2df0ea6, 420ebc4a000000000000000000000000420ebc4a0000000000000000000000000e1801000000000000000000420ebc4a347 1693a 2 ACTV 0 0 0 0 0 0 7b 4 0 0 | NFS.fh DT 0 ffff88002db23380 010006017edcf8bbc93b43298fdfbe71e50b57b1e0162c01a2df0ea6, 420ebc4a000000000000000000000000420ebc4a0000000000000000000000000e1801000000000000000000420ebc4a
348 348
349where the first set of columns before the '|' describe the object:349where the first set of columns before the '|' describe the object:
350 350
@@ -362,7 +362,7 @@ where the first set of columns before the '|' describe the object: · 11 unmodified lines
362 EM Object's event mask362 EM Object's event mask
363 EV Events raised on this object363 EV Events raised on this object
364 F Object flags364 F Object flags
365 S Object slow-work work item flags365 S Object work item busy state mask (1:pending 2:running)
366 366
367and the second set of columns describe the object's cookie, if present:367and the second set of columns describe the object's cookie, if present:
368 368
@@ -395,8 +395,8 @@ and the following paired letters: · 26 unmodified lines
395 w Show objects that don't have pending writes395 w Show objects that don't have pending writes
396 R Show objects that have outstanding reads396 R Show objects that have outstanding reads
397 r Show objects that don't have outstanding reads397 r Show objects that don't have outstanding reads
398 S Show objects that have slow work queued398 S Show objects that have work queued
399 s Show objects that don't have slow work queued399 s Show objects that don't have work queued
400 400
401If neither side of a letter pair is given, then both are implied. For example:401If neither side of a letter pair is given, then both are implied. For example:
402 402
Documentation/filesystems/isofs.txt+1−1
@@ -41,7 +41,7 @@ Mount options unique to the isofs filesystem. · 40 unmodified lines
41 sbsector=xxx Session begins from sector xxx41 sbsector=xxx Session begins from sector xxx
42 42
43Recommended documents about ISO 9660 standard are located at:43Recommended documents about ISO 9660 standard are located at:
44http://www.y-adagio.com/public/standards/iso_cdromr/tocont.htm44http://www.y-adagio.com/
45ftp://ftp.ecma.ch/ecma-st/Ecma-119.pdf45ftp://ftp.ecma.ch/ecma-st/Ecma-119.pdf
46Quoting from the PDF "This 2nd Edition of Standard ECMA-119 is technically 46Quoting from the PDF "This 2nd Edition of Standard ECMA-119 is technically
47identical with ISO 9660.", so it is a valid and gratis substitute of the47identical 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
124 124
125 <hostname> Name of the client. May be supplied by autoconfiguration,125 <hostname> Name of the client. May be supplied by autoconfiguration,
126 but its absence will not trigger autoconfiguration.126 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.
127 129
128 Default: Client IP address is used in ASCII notation.130 Default: Client IP address is used in ASCII notation.
129 131
Documentation/filesystems/nilfs2.txt+8−4
@@ -49,7 +49,10 @@ Mount options · 48 unmodified lines
49NILFS2 supports the following mount options:49NILFS2 supports the following mount options:
50(*) == default50(*) == default
51 51
52nobarrier Disables barriers.52barrier(*) This enables/disables the use of write barriers. This
53nobarrier 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.
53errors=continue Keep going on a filesystem error.56errors=continue Keep going on a filesystem error.
54errors=remount-ro(*) Remount the filesystem read-only on an error.57errors=remount-ro(*) Remount the filesystem read-only on an error.
55errors=panic Panic and halt the machine if an error occurs.58errors=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
74 This disables every write access on the device for77 This disables every write access on the device for
75 read-only mounts or snapshots. This option will fail78 read-only mounts or snapshots. This option will fail
76 for r/w mounts on an unclean volume.79 for r/w mounts on an unclean volume.
77discard Issue discard/TRIM commands to the underlying block80discard This enables/disables the use of discard/TRIM commands.
78 device when blocks are freed. This is useful for SSD81nodiscard(*) The discard/TRIM commands are sent to the underlying
79 devices and sparse/thinly-provisioned LUNs.82 block device when blocks are freed. This is useful
83 for SSD devices and sparse/thinly-provisioned LUNs.
80 84
81NILFS2 usage85NILFS2 usage
82============86============
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
273deliberate; as soon as struct block_device * is propagated in a reasonable273deliberate; as soon as struct block_device * is propagated in a reasonable
274way by that code fixing will become trivial; until then nothing can be274way by that code fixing will become trivial; until then nothing can be
275done.275done.
276
277[mandatory]
278
279 block truncatation on error exit from ->write_begin, and ->direct_IO
280moved from generic methods (block_write_begin, cont_write_begin,
281nobh_write_begin, blockdev_direct_IO*) to callers. Take a look at
282ext2_write_failed and callers for an example.
283
284[mandatory]
285
286 ->truncate is going away. The whole truncate sequence needs to be
287implemented in ->setattr, which is now mandatory for filesystems
288implementing on-disk size changes. Start with a copy of the old inode_setattr
289and vmtruncate, and the reorder the vmtruncate + foofs_vmtruncate sequence to
290be in order of zeroing blocks using block_truncate_page or similar helpers,
291size update and on finally on-disk truncation which should not fail.
292inode_change_ok now includes the size checks for ATTR_SIZE and must be called
293in the beginning of ->setattr unconditionally.
294
295[mandatory]
296
297 ->clear_inode() and ->delete_inode() are gone; ->evict_inode() should
298be used instead. It gets called whenever the inode is evicted, whether it has
299remaining links or not. Caller does *not* evict the pagecache or inode-associated
300metadata buffers; getting rid of those is responsibility of method, as it had
301been for ->delete_inode().
302 ->drop_inode() returns int now; it's called on final iput() with inode_lock
303held and it returns true if filesystems wants the inode to be dropped. As before,
304generic_drop_inode() is still the default and it's been updated appropriately.
305generic_delete_inode() is also alive and it consists simply of return 1. Note that
306all actual eviction work is done by caller after ->drop_inode() returns.
307 clear_inode() is gone; use end_writeback() instead. As before, it must
308be called exactly once on each call of ->evict_inode() (as it used to be for
309each call of ->delete_inode()). Unlike before, if you are using inode-associated
310metadata buffers (i.e. mark_buffer_dirty_inode()), it's your responsibility to
311call invalidate_inode_buffers() before end_writeback().
312 No async writeback (and thus no calls of ->write_inode()) will happen
313after 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
317if it's zero is not *and* *never* *had* *been* enough. Final unlink() and iput()
318may happen while the inode is in the middle of ->write_inode(); e.g. if you blindly
319free the on-disk inode, you may end up doing that while ->write_inode() is writing
320to it.
Documentation/filesystems/proc.txt+62−39
@@ -33,7 +33,8 @@ Table of Contents · 32 unmodified lines
33 2 Modifying System Parameters33 2 Modifying System Parameters
34 34
35 3 Per-Process Parameters35 3 Per-Process Parameters
36 3.1 /proc/<pid>/oom_adj - Adjust the oom-killer score36 3.1 /proc/<pid>/oom_adj & /proc/<pid>/oom_score_adj - Adjust the oom-killer
37 score
37 3.2 /proc/<pid>/oom_score - Display current oom-killer score38 3.2 /proc/<pid>/oom_score - Display current oom-killer score
38 3.3 /proc/<pid>/io - Display the IO accounting fields39 3.3 /proc/<pid>/io - Display the IO accounting fields
39 3.4 /proc/<pid>/coredump_filter - Core dump filtering settings40 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
73document.74document.
74 75
75The latest version of this document is available online at76The latest version of this document is available online at
76http://skaro.nightcrawler.com/~bb/Docs/Proc as HTML version.77http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/proc.html
77 78
78If the above direction does not works for you, ypu could try the kernel79If the above direction does not works for you, you could try the kernel
79mailing list at linux-kernel@vger.kernel.org and/or try to reach me at80mailing list at linux-kernel@vger.kernel.org and/or try to reach me at
80comandante@zaralinux.com.81comandante@zaralinux.com.
81 82
@@ -1234,42 +1235,64 @@ of the kernel. · 1152 unmodified lines
1234CHAPTER 3: PER-PROCESS PARAMETERS1235CHAPTER 3: PER-PROCESS PARAMETERS
1235------------------------------------------------------------------------------1236------------------------------------------------------------------------------
1236 1237
12373.1 /proc/<pid>/oom_adj - Adjust the oom-killer score12383.1 /proc/<pid>/oom_adj & /proc/<pid>/oom_score_adj- Adjust the oom-killer score
1238------------------------------------------------------1239--------------------------------------------------------------------------------
1239 1240
1240This file can be used to adjust the score used to select which processes1241These file can be used to adjust the badness heuristic used to select which
1241should be killed in an out-of-memory situation. Giving it a high score will1242process gets killed in out of memory conditions.
1242increase the likelihood of this process being killed by the oom-killer. Valid1243
1243values are in the range -16 to +15, plus the special value -17, which disables1244The badness heuristic assigns a value to each candidate task ranging from 0
1244oom-killing altogether for this process.1245(never kill) to 1000 (always kill) to determine which process is targeted. The
1245 1246units are roughly a proportion along that range of allowed memory the process
1246The process to be killed in an out-of-memory situation is selected among all others1247may allocate from based on an estimation of its current memory and swap use.
1247based on its badness score. This value equals the original memory size of the process1248For example, if a task is using all allowed memory, its badness score will be
1248and is then updated according to its CPU time (utime + stime) and the12491000. If it is using half of its allowed memory, its score will be 500.
1249run time (uptime - start time). The longer it runs the smaller is the score.1250
1250Badness score is divided by the square root of the CPU time and then by1251There is an additional factor included in the badness score: root
1251the double square root of the run time.1252processes are given 3% extra memory over other tasks.
1252 1253
1253Swapped out tasks are killed first. Half of each child's memory size is added to1254The amount of "allowed" memory depends on the context in which the oom killer
1254the parent's score if they do not share the same memory. Thus forking servers1255was called. If it is due to the memory assigned to the allocating task's cpuset
1255are the prime candidates to be killed. Having only one 'hungry' child will make1256being exhausted, the allowed memory represents the set of mems assigned to that
1256parent less preferable than the child.1257cpuset. If it is due to a mempolicy's node(s) being exhausted, the allowed
1257 1258memory represents the set of mempolicy nodes. If it is due to a memory
1258/proc/<pid>/oom_score shows process' current badness score.1259limit (or swap limit) being reached, the allowed memory is that configured
1259 1260limit. Finally, if it is due to the entire system being out of memory, the
1260The following heuristics are then applied:1261allowed memory represents all allocatable resources.
1261 * if the task was reniced, its score doubles1262
1262 * superuser or direct hardware access tasks (CAP_SYS_ADMIN, CAP_SYS_RESOURCE1263The value of /proc/<pid>/oom_score_adj is added to the badness score before it
1263 or CAP_SYS_RAWIO) have their score divided by 41264is used to determine which task to kill. Acceptable values range from -1000
1264 * if oom condition happened in one cpuset and checked process does not belong1265(OOM_SCORE_ADJ_MIN) to +1000 (OOM_SCORE_ADJ_MAX). This allows userspace to
1265 to it, its score is divided by 81266polarize the preference for oom killing either by always preferring a certain
1266 * the resulting score is multiplied by two to the power of oom_adj, i.e.1267task or completely disabling it. The lowest possible value, -1000, is
1267 points <<= oom_adj when it is positive and1268equivalent to disabling oom killing entirely for that task since it will always
1268 points >>= -(oom_adj) otherwise1269report a badness score of 0.
1269 1270
1270The task with the highest badness score is then selected and its children1271Consequently, it is very simple for userspace to define the amount of memory to
1271are killed, process itself will be killed in an OOM situation when it does1272consider for each task. Setting a /proc/<pid>/oom_score_adj value of +500, for
1272not have children or some of them disabled oom like described above.1273example, is roughly equivalent to allowing the remainder of tasks sharing the
1274same system, cpuset, mempolicy, or memory controller resources to use at least
127550% more memory. A value of -500, on the other hand, would be roughly
1276equivalent to discounting 50% of the task's allowed memory from being considered
1277as scoring against the task.
1278
1279For backwards compatibility with previous kernels, /proc/<pid>/oom_adj may also
1280be 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
1283scaled linearly with /proc/<pid>/oom_score_adj.
1284
1285Writing to /proc/<pid>/oom_score_adj or /proc/<pid>/oom_adj will change the
1286other with its scaled value.
1287
1288NOTICE: /proc/<pid>/oom_adj is deprecated and will be removed, please see
1289Documentation/feature-removal-schedule.txt.
1290
1291Caveat: when a parent task is selected, the oom killer will sacrifice any first
1292generation children with seperate address spaces instead, if possible. This
1293avoids servers and important system daemons from being killed and loses the
1294minimal amount of work.
1295
1273 1296
12743.2 /proc/<pid>/oom_score - Display current oom-killer score12973.2 /proc/<pid>/oom_score - Display current oom-killer score
1275-------------------------------------------------------------1298-------------------------------------------------------------
Documentation/filesystems/squashfs.txt+1−1
@@ -2,7 +2,7 @@ SQUASHFS 4.0 FILESYSTEM · 1 unmodified line
2=======================2=======================
3 3
4Squashfs is a compressed read-only filesystem for Linux.4Squashfs is a compressed read-only filesystem for Linux.
5It uses zlib compression to compress files, inodes and directories.5It uses zlib/lzo compression to compress files, inodes and directories.
6Inodes in the system are very small and all blocks are packed to minimise6Inodes in the system are very small and all blocks are packed to minimise
7data overhead. Block sizes greater than 4K are supported up to a maximum7data overhead. Block sizes greater than 4K are supported up to a maximum
8of 1Mbytes (default block size 128K).8of 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
39 local_cpus nearby CPU mask (cpumask, ro)39 local_cpus nearby CPU mask (cpumask, ro)
40 remove remove device from kernel's list (ascii, wo)40 remove remove device from kernel's list (ascii, wo)
41 resource PCI resource host addresses (ascii, ro)41 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])
43 resource0_wc..N_wc PCI WC map resource N, if prefetchable (binary, mmap)43 resource0_wc..N_wc PCI WC map resource N, if prefetchable (binary, mmap)
44 rom PCI ROM resource, if present (binary, ro)44 rom PCI ROM resource, if present (binary, ro)
45 subsystem_device PCI subsystem device (ascii, ro)45 subsystem_device PCI subsystem device (ascii, ro)
@@ -54,13 +54,16 @@ files, each with their own function. · 8 unmodified lines
54 binary - file contains binary data54 binary - file contains binary data
55 cpumask - file contains a cpumask type55 cpumask - file contains a cpumask type
56 56
57[1] rw for RESOURCE_IO (I/O port) regions only
58
57The read only files are informational, writes to them will be ignored, with59The read only files are informational, writes to them will be ignored, with
58the exception of the 'rom' file. Writable files can be used to perform60the exception of the 'rom' file. Writable files can be used to perform
59actions on the device (e.g. changing config space, detaching a device).61actions on the device (e.g. changing config space, detaching a device).
60mmapable files are available via an mmap of the file at offset 0 and can be62mmapable files are available via an mmap of the file at offset 0 and can be
61used to do actual device programming from userspace. Note that some platforms63used to do actual device programming from userspace. Note that some platforms
62don't support mmapping of certain resources, so be sure to check the return64don't support mmapping of certain resources, so be sure to check the return
63value from any attempted mmap.65value from any attempted mmap. The most notable of these are I/O port
66resources, which also provide read/write access.
64 67
65The 'enable' file provides a counter that indicates how many times the device 68The 'enable' file provides a counter that indicates how many times the device
66has been enabled. If the 'enable' file currently returns '4', and a '1' is69has 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
4Patrick Mochel <mochel@osdl.org>4Patrick Mochel <mochel@osdl.org>
5Mike Murphy <mamurph@cs.clemson.edu>5Mike Murphy <mamurph@cs.clemson.edu>
6 6
7Revised: 22 February 20097Revised: 15 July 2010
8Original: 10 January 20038Original: 10 January 2003
9 9
10 10
@@ -124,7 +124,7 @@ show and store methods of the attribute owners. · 113 unmodified lines
124 124
125struct sysfs_ops {125struct sysfs_ops {
126 ssize_t (*show)(struct kobject *, struct attribute *, char *);126 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);
128};128};
129 129
130[ Subsystems should have already defined a struct kobj_type as a130[ Subsystems should have already defined a struct kobj_type as a
@@ -139,18 +139,22 @@ calls the associated methods. · 8 unmodified lines
139 139
140To illustrate:140To illustrate:
141 141
142#define to_dev(obj) container_of(obj, struct device, kobj)
142#define to_dev_attr(_attr) container_of(_attr, struct device_attribute, attr)143#define to_dev_attr(_attr) container_of(_attr, struct device_attribute, attr)
143#define to_dev(d) container_of(d, struct device, kobj)
144 144
145static ssize_t145static ssize_t dev_attr_show(struct kobject *kobj, struct attribute *attr,
146dev_attr_show(struct kobject * kobj, struct attribute * attr, char * buf)146 char *buf)
147{147{
148 struct device_attribute * dev_attr = to_dev_attr(attr);148 struct device_attribute *dev_attr = to_dev_attr(attr);
149 struct device * dev = to_dev(kobj);149 struct device *dev = to_dev(kobj);
150 ssize_t ret = 0;150 ssize_t ret = -EIO;
151 151
152 if (dev_attr->show)152 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 }
154 return ret;158 return ret;
155}159}
156 160
@@ -163,10 +167,9 @@ To read or write attributes, show() or store() methods must be · 6 unmodified lines
163specified when declaring the attribute. The method types should be as167specified when declaring the attribute. The method types should be as
164simple as those defined for device attributes:168simple as those defined for device attributes:
165 169
166ssize_t (*show)(struct device * dev, struct device_attribute * attr,170ssize_t (*show)(struct device *dev, struct device_attribute *attr, char *buf);
167 char * buf);171ssize_t (*store)(struct device *dev, struct device_attribute *attr,
168ssize_t (*store)(struct device * dev, struct device_attribute * attr,172 const char *buf, size_t count);
169 const char * buf);
170 173
171IOW, they should take only an object, an attribute, and a buffer as parameters.174IOW, they should take only an object, an attribute, and a buffer as parameters.
172 175
@@ -209,8 +212,8 @@ Other notes: · 36 unmodified lines
209 212
210- show() should always use snprintf(). 213- show() should always use snprintf().
211 214
212- store() should return the number of bytes used from the buffer. This215- store() should return the number of bytes used from the buffer. If the
213 can be done using strlen().216 entire buffer has been used, just return the count argument.
214 217
215- show() or store() can always return errors. If a bad value comes218- show() or store() can always return errors. If a bad value comes
216 through, be sure to return an error.219 through, be sure to return an error.
@@ -223,15 +226,18 @@ Other notes: · 6 unmodified lines
223 226
224A very simple (and naive) implementation of a device attribute is:227A very simple (and naive) implementation of a device attribute is:
225 228
226static ssize_t show_name(struct device *dev, struct device_attribute *attr, char *buf)229static ssize_t show_name(struct device *dev, struct device_attribute *attr,
230 char *buf)
227{231{
228 return snprintf(buf, PAGE_SIZE, "%s\n", dev->name);232 return snprintf(buf, PAGE_SIZE, "%s\n", dev->name);
229}233}
230 234
231static ssize_t store_name(struct device * dev, const char * buf)235static ssize_t store_name(struct device *dev, struct device_attribute *attr,
236 const char *buf, size_t count)
232{237{
233 sscanf(buf, "%20s", dev->name);238 snprintf(dev->name, sizeof(dev->name), "%.*s",
234 return strnlen(buf, PAGE_SIZE);239 (int)min(count, sizeof(dev->name) - 1), buf);
240 return count;
235}241}
236 242
237static DEVICE_ATTR(name, S_IRUGO, show_name, store_name);243static DEVICE_ATTR(name, S_IRUGO, show_name, store_name);
@@ -327,7 +333,7 @@ Structure: · 89 unmodified lines
327struct bus_attribute {333struct bus_attribute {
328 struct attribute attr;334 struct attribute attr;
329 ssize_t (*show)(struct bus_type *, char * buf);335 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);
331};337};
332 338
333Declaring:339Declaring:
Documentation/filesystems/vfat.txt+2−1
@@ -165,7 +165,8 @@ TEST SUITE · 164 unmodified lines
165If you plan to make any modifications to the vfat filesystem, please165If you plan to make any modifications to the vfat filesystem, please
166get the test suite that comes with the vfat distribution at166get the test suite that comes with the vfat distribution at
167 167
168 http://bmrc.berkeley.edu/people/chaffee/vfat.html168 http://web.archive.org/web/*/http://bmrc.berkeley.edu/
169 people/chaffee/vfat.html
169 170
170This tests quite a few parts of the vfat filesystem and additional171This tests quite a few parts of the vfat filesystem and additional
171tests for new features or untested features would be appreciated.172tests 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
727 ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t);727 ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
728 int (*readdir) (struct file *, void *, filldir_t);728 int (*readdir) (struct file *, void *, filldir_t);
729 unsigned int (*poll) (struct file *, struct poll_table_struct *);729 unsigned int (*poll) (struct file *, struct poll_table_struct *);
730 int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
731 long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);730 long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
732 long (*compat_ioctl) (struct file *, unsigned int, unsigned long);731 long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
733 int (*mmap) (struct file *, struct vm_area_struct *);732 int (*mmap) (struct file *, struct vm_area_struct *);
@@ -768,10 +767,7 @@ otherwise noted. · 34 unmodified lines
768 activity on this file and (optionally) go to sleep until there767 activity on this file and (optionally) go to sleep until there
769 is activity. Called by the select(2) and poll(2) system calls768 is activity. Called by the select(2) and poll(2) system calls
770 769
771 ioctl: called by the ioctl(2) system call770 unlocked_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.
775 771
776 compat_ioctl: called by the ioctl(2) system call when 32 bit system calls772 compat_ioctl: called by the ioctl(2) system call when 32 bit system calls
777 are used on 64 bit kernels.773 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
131 Don't check for double mounted file systems using the file system uuid.131 Don't check for double mounted file systems using the file system uuid.
132 This is useful to mount LVM snapshot volumes.132 This is useful to mount LVM snapshot volumes.
133 133
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
145 uquota/usrquota/uqnoenforce/quota134 uquota/usrquota/uqnoenforce/quota
146 User disk quota accounting enabled, and limits (optionally)135 User disk quota accounting enabled, and limits (optionally)
147 enforced. Refer to xfs_quota(8) for further details.136 enforced. Refer to xfs_quota(8) for further details.
Documentation/firmware_class/hotplug-script+9−8
@@ -6,11 +6,12 @@ · 5 unmodified lines
6 6
7HOTPLUG_FW_DIR=/usr/lib/hotplug/firmware/7HOTPLUG_FW_DIR=/usr/lib/hotplug/firmware/
8 8
9echo 1 > /sys/$DEVPATH/loading9if [ "$SUBSYSTEM" == "firmware" -a "$ACTION" == "add" ]; then
10cat $HOTPLUG_FW_DIR/$FIRMWARE > /sys/$DEVPATH/data10 if [ -f $HOTPLUG_FW_DIR/$FIRMWARE ]; then
11echo 0 > /sys/$DEVPATH/loading11 echo 1 > /sys/$DEVPATH/loading
12 12 cat $HOTPLUG_FW_DIR/$FIRMWARE > /sys/$DEVPATH/data
13# To cancel the load in case of error:13 echo 0 > /sys/$DEVPATH/loading
14#14 else
15# echo -1 > /sys/$DEVPATH/loading15 echo -1 > /sys/$DEVPATH/loading
16#16 fi
17fi
Documentation/gpio.txt+29−6
@@ -158,10 +158,11 @@ and configure pullups/pulldowns appropriately.) · 157 unmodified lines
158Spinlock-Safe GPIO access158Spinlock-Safe GPIO access
159-------------------------159-------------------------
160Most GPIO controllers can be accessed with memory read/write instructions.160Most GPIO controllers can be accessed with memory read/write instructions.
161That doesn't need to sleep, and can safely be done from inside IRQ handlers.161Those don't need to sleep, and can safely be done from inside hard
162(That includes hardirq contexts on RT kernels.)162(nonthreaded) IRQ handlers and similar contexts.
163 163
164Use these calls to access such GPIOs:164Use the following calls to access such GPIOs,
165for which gpio_cansleep() will always return false (see below):
165 166
166 /* GPIO INPUT: return zero or nonzero */167 /* GPIO INPUT: return zero or nonzero */
167 int gpio_get_value(unsigned gpio);168 int gpio_get_value(unsigned gpio);
@@ -210,9 +211,31 @@ To access such GPIOs, a different set of accessors is defined: · 42 unmodified lines
210 /* GPIO OUTPUT, might sleep */211 /* GPIO OUTPUT, might sleep */
211 void gpio_set_value_cansleep(unsigned gpio, int value);212 void gpio_set_value_cansleep(unsigned gpio, int value);
212 213
213Other than the fact that these calls might sleep, and will not be ignored214
214for GPIOs that can't be accessed from IRQ handlers, these calls act the215Accessing such GPIOs requires a context which may sleep, for example
215same as the spinlock-safe calls.216a threaded IRQ handler, and those accessors must be used instead of
217spinlock-safe accessors without the cansleep() name suffix.
218
219Other than the fact that these accessors might sleep, and will work
220on GPIOs that can't be accessed from hardIRQ handlers, these calls act
221the same as the spinlock-safe calls.
222
223 ** IN ADDITION ** calls to setup and configure such GPIOs must be made
224from contexts which may sleep, since they may need to access the GPIO
225controller chip too: (These setup calls are usually made from board
226setup 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
216 239
217 240
218Claiming and Releasing GPIOs241Claiming and Releasing GPIOs
Documentation/hwmon/adm1026+1−1
@@ -6,7 +6,7 @@ Supported chips: · 5 unmodified lines
6 Prefix: 'adm1026'6 Prefix: 'adm1026'
7 Addresses scanned: I2C 0x2c, 0x2d, 0x2e7 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
8 Datasheet: Publicly available at the Analog Devices website8 Datasheet: Publicly available at the Analog Devices website
9 http://www.analog.com/en/prod/0,,766_825_ADM1026,00.html9 http://www.onsemi.com/PowerSolutions/product.do?id=ADM1026
10 10
11Authors:11Authors:
12 Philip Pokorny <ppokorny@penguincomputing.com> for Penguin Computing12 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
211 degree C. Valid temperatures are from 0 to TjMax degrees C, because211 degree C. Valid temperatures are from 0 to TjMax degrees C, because
22the actual value of temperature register is in fact a delta from TjMax.22the actual value of temperature register is in fact a delta from TjMax.
23 23
24Temperature known as TjMax is the maximum junction temperature of processor.24Temperature known as TjMax is the maximum junction temperature of processor,
25Intel defines this temperature as 85C or 100C. At this temperature, protection25which depends on the CPU model. See table below. At this temperature, protection
26mechanism will perform actions to forcibly cool down the processor. Alarm26mechanism will perform actions to forcibly cool down the processor. Alarm
27may be raised, if the temperature grows enough (more than TjMax) to trigger27may be raised, if the temperature grows enough (more than TjMax) to trigger
28the Out-Of-Spec bit. Following table summarizes the exported sysfs files:28the 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
38The TjMax temperature is set to 85 degrees C if undocumented model specific38The TjMax temperature is set to 85 degrees C if undocumented model specific
39register (UMSR) 0xee has bit 30 set. If not the TjMax is 100 degrees C as39register (UMSR) 0xee has bit 30 set. If not the TjMax is 100 degrees C as
40(sometimes) documented in processor datasheet.40(sometimes) documented in processor datasheet.
41
42Appendix A. Known TjMax lists (TBD):
43Some information comes from ark.intel.com
44
45Process Processor TjMax(C)
46
4732nm 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
5332nm Core i7 Extreme Processors
54 980X 100
55
5632nm Celeron Processors
57 U3400 105
58 P4505/P4500 90
59
6045nm 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
6645nm 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
7345nm 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
8145nm 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
9245nm Core2 Quad Processors
93 Q9100/9000 100
94
9545nm Core2 Extreme Processors
96 X9100/9000 105
97 QX9300 100
98
9945nm Core i3/i5/i7 Processors
100 i7 940XM/920 100
101 i7 840QM/820/740/720 100
102
10345nm Celeron Processors
104 SU2300 100
105 900 105
106
10765nm 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
11665nm Core2 Extreme Processors
117 X7900/7800 100
118
11965nm Core Duo Processors
120 U2500/2400 100
121 T2700/2600/2450/2400/2350/2300E/2300/2250/2050 100
122 L2500/2400/2300 100
123
12465nm Core Solo Processors
125 U1500/1400/1300 100
126 T1400/1350/1300/1250 100
127
12865nm Xeon Processors 5000 Quad-Core
129 X5000 90-95
130 E5000 80
131 L5000 70
132 L5318 95
133
13465nm 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
13965nm 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
2======================2======================
3 3
4Supported chips:4Supported chips:
5 * Fintek F71808E
6 Prefix: 'f71808fg'
7 Addresses scanned: none, address read from Super I/O config space
8 Datasheet: Not public
5 * Fintek F71858FG9 * Fintek F71858FG
6 Prefix: 'f71858fg'10 Prefix: 'f71858fg'
7 Addresses scanned: none, address read from Super I/O config space11 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
5 * Global Mixed-mode Technology Inc. G760A5 * Global Mixed-mode Technology Inc. G760A
6 Prefix: 'g760a'6 Prefix: 'g760a'
7 Datasheet: Publicly available at the GMT website7 Datasheet: Publicly available at the GMT website
8 http://www.gmt.com.tw/datasheet/g760a.pdf8 http://www.gmt.com.tw/product/datasheet/EDS-760A.pdf
9 9
10Author: Herbert Valerio Riedel <hvr@gnu.org>10Author: Herbert Valerio Riedel <hvr@gnu.org>
11 11
Documentation/hwmon/gl518sm+1−2
@@ -5,11 +5,10 @@ Supported chips: · 4 unmodified lines
5 * Genesys Logic GL518SM release 0x005 * Genesys Logic GL518SM release 0x00
6 Prefix: 'gl518sm'6 Prefix: 'gl518sm'
7 Addresses scanned: I2C 0x2c and 0x2d7 Addresses scanned: I2C 0x2c and 0x2d
8 Datasheet: http://www.genesyslogic.com/pdf
9 * Genesys Logic GL518SM release 0x808 * Genesys Logic GL518SM release 0x80
10 Prefix: 'gl518sm'9 Prefix: 'gl518sm'
11 Addresses scanned: I2C 0x2c and 0x2d10 Addresses scanned: I2C 0x2c and 0x2d
12 Datasheet: http://www.genesyslogic.com/pdf11 Datasheet: http://www.genesyslogic.com/
13 12
14Authors:13Authors:
15 Frodo Looijaard <frodol@dds.nl>,14 Frodo Looijaard <frodol@dds.nl>,
Documentation/hwmon/hpfall.c+1−1
@@ -1,7 +1,7 @@
1/* Disk protection for HP machines.1/* Disk protection for HP machines.
2 *2 *
3 * Copyright 2008 Eric Piel3 * Copyright 2008 Eric Piel
4 * Copyright 2009 Pavel Machek <pavel@suse.cz>4 * Copyright 2009 Pavel Machek <pavel@ucw.cz>
5 *5 *
6 * GPLv2.6 * GPLv2.
7 */7 */
Documentation/hwmon/jc42+97−0
@@ -0,0 +1,97 @@
1Kernel driver jc42
2==================
3
4Supported 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
56Author:
57 Guenter Roeck <guenter.roeck@ericsson.com>
58
59
60Description
61-----------
62
63This driver implements support for JEDEC JC 42.4 compliant temperature sensors.
64The driver auto-detects the chips listed above, but can be manually instantiated
65to support other JC 42.4 compliant chips.
66
67Example: the following will load the driver for a generic JC 42.4 compliant
68temperature 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
73A JC 42.4 compliant chip supports a single temperature sensor. Minimum, maximum,
74and critical temperature can be configured. There are alarms for high, low,
75and critical thresholds.
76
77There is also an hysteresis to control the thresholds for resetting alarms.
78Per JC 42.4 specification, the hysteresis threshold can be configured to 0, 1.5,
793.0, and 6.0 degrees C. Configured hysteresis values will be rounded to those
80limits. The chip supports only a single register to configure the hysteresis,
81which applies to all limits. This register can be written by writing into
82temp1_crit_hyst. Other hysteresis attributes are read-only.
83
84Sysfs entries
85-------------
86
87temp1_input Temperature (RO)
88temp1_min Minimum temperature (RW)
89temp1_max Maximum temperature (RW)
90temp1_crit Critical high temperature (RW)
91
92temp1_crit_hyst Critical hysteresis temperature (RW)
93temp1_max_hyst Maximum hysteresis temperature (RO)
94
95temp1_min_alarm Temperature low alarm
96temp1_max_alarm Temperature high alarm
97temp1_crit_alarm Temperature critical alarm
Documentation/hwmon/k8temp+1−1
@@ -5,7 +5,7 @@ Supported chips: · 4 unmodified lines
5 * AMD Athlon64/FX or Opteron CPUs5 * AMD Athlon64/FX or Opteron CPUs
6 Prefix: 'k8temp'6 Prefix: 'k8temp'
7 Addresses scanned: PCI space7 Addresses scanned: PCI space
8 Datasheet: http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/32559.pdf8 Datasheet: http://support.amd.com/us/Processor_TechDocs/32559.pdf
9 9
10Author: Rudolf Marek10Author: Rudolf Marek
11Contact: Rudolf Marek <r.marek@assembler.cz>11Contact: Rudolf Marek <r.marek@assembler.cz>
Documentation/hwmon/lm85+3−3
@@ -9,15 +9,15 @@ Supported chips: · 8 unmodified lines
9 * Analog Devices ADM10279 * Analog Devices ADM1027
10 Prefix: 'adm1027'10 Prefix: 'adm1027'
11 Addresses scanned: I2C 0x2c, 0x2d, 0x2e11 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
12 Datasheet: http://www.analog.com/en/prod/0,,766_825_ADM1027,00.html12 Datasheet: http://www.onsemi.com/PowerSolutions/product.do?id=ADM1027
13 * Analog Devices ADT746313 * Analog Devices ADT7463
14 Prefix: 'adt7463'14 Prefix: 'adt7463'
15 Addresses scanned: I2C 0x2c, 0x2d, 0x2e15 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
16 Datasheet: http://www.analog.com/en/prod/0,,766_825_ADT7463,00.html16 Datasheet: http://www.onsemi.com/PowerSolutions/product.do?id=ADT7463
17 * SMSC EMC6D100, SMSC EMC6D10117 * SMSC EMC6D100, SMSC EMC6D101
18 Prefix: 'emc6d100'18 Prefix: 'emc6d100'
19 Addresses scanned: I2C 0x2c, 0x2d, 0x2e19 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
20 Datasheet: http://www.smsc.com/main/tools/discontinued/6d100.pdf20 Datasheet: http://www.smsc.com/media/Downloads_Public/discontinued/6d100.pdf
21 * SMSC EMC6D10221 * SMSC EMC6D102
22 Prefix: 'emc6d102'22 Prefix: 'emc6d102'
23 Addresses scanned: I2C 0x2c, 0x2d, 0x2e23 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
Documentation/hwmon/pkgtemp+36−0
@@ -0,0 +1,36 @@
1Kernel driver pkgtemp
2======================
3
4Supported chips:
5 * Intel family
6 Prefix: 'pkgtemp'
7 CPUID:
8 Datasheet: Intel 64 and IA-32 Architectures Software Developer's Manual
9 Volume 3A: System Programming Guide
10
11Author: Fenghua Yu
12
13Description
14-----------
15
16This driver permits reading package level temperature sensor embedded inside
17Intel CPU package. The sensors can be in core, uncore, memory controller, or
18other components in a package. The feature is first implemented in Intel Sandy
19Bridge platform.
20
21Temperature is measured in degrees Celsius and measurement resolution is
221 degree C. Valid temperatures are from 0 to TjMax degrees C, because the actual
23value of temperature register is in fact a delta from TjMax.
24
25Temperature known as TjMax is the maximum junction temperature of package.
26We get this from MSR_IA32_TEMPERATURE_TARGET. If the MSR is not accessible,
27we define TjMax as 100 degrees Celsius. At this temperature, protection
28mechanism will perform actions to forcibly cool down the package. Alarm
29may be raised, if the temperature grows enough (more than TjMax) to trigger
30the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
31
32temp1_input - Package temperature (in millidegrees Celsius).
33temp1_max - All cooling devices should be turned on.
34temp1_crit - Maximum junction temperature (in millidegrees Celsius).
35temp1_crit_alarm - Set when Out-of-spec bit is set, never clears.
36 Correct CPU operation is no longer guaranteed.
Documentation/hwmon/smm665+157−0
@@ -0,0 +1,157 @@
1Kernel driver smm665
2====================
3
4Supported 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
32Author: Guenter Roeck <guenter.roeck@ericsson.com>
33
34
35Module 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
44Description
45-----------
46
47[From datasheet] The SMM665 is an Active DC Output power supply Controller
48that monitors, margins and cascade sequences power. The part monitors six
49power supply channels as well as VDD, 12V input, two general-purpose analog
50inputs and an internal temperature sensor using a 10-bit ADC.
51
52Each monitored channel has its own high and low limits, plus a critical
53limit.
54
55Support for SMM465, SMM764, and SMM766 has been implemented but is untested.
56
57
58Usage Notes
59-----------
60
61This driver does not probe for devices, since there is no register which
62can be safely used to identify the chip. You will have to instantiate
63the devices explicitly. When instantiating the device, you have to specify
64its configuration register address.
65
66Example: the following will load the driver for an SMM665 at address 0x57
67on I2C bus #1:
68$ modprobe smm665
69$ echo smm665 0x57 > /sys/bus/i2c/devices/i2c-1/new_device
70
71
72Sysfs entries
73-------------
74
75This driver uses the values in the datasheet to convert ADC register values
76into the values specified in the sysfs-interface document. All attributes are
77read only.
78
79Min, max, lcrit, and crit values are used by the chip to trigger external signals
80and/or other activity. Triggered signals can include HEALTHY, RST, Power Off,
81or Fault depending on the chip configuration. The driver reports values as lcrit
82or crit if exceeding the limits triggers RST, Power Off, or Fault, and as min or
83max otherwise. For details please see the SMM665 datasheet.
84
85For SMM465 and SMM764, values for Channel E and F are reported but undefined.
86
87in1_input 12V input voltage (mV)
88in2_input 3.3V (VDD) input voltage (mV)
89in3_input Channel A voltage (mV)
90in4_input Channel B voltage (mV)
91in5_input Channel C voltage (mV)
92in6_input Channel D voltage (mV)
93in7_input Channel E voltage (mV)
94in8_input Channel F voltage (mV)
95in9_input AIN1 voltage (mV)
96in10_input AIN2 voltage (mV)
97
98in1_min 12v input minimum voltage (mV)
99in2_min 3.3V (VDD) input minimum voltage (mV)
100in3_min Channel A minimum voltage (mV)
101in4_min Channel B minimum voltage (mV)
102in5_min Channel C minimum voltage (mV)
103in6_min Channel D minimum voltage (mV)
104in7_min Channel E minimum voltage (mV)
105in8_min Channel F minimum voltage (mV)
106in9_min AIN1 minimum voltage (mV)
107in10_min AIN2 minimum voltage (mV)
108
109in1_max 12v input maximum voltage (mV)
110in2_max 3.3V (VDD) input maximum voltage (mV)
111in3_max Channel A maximum voltage (mV)
112in4_max Channel B maximum voltage (mV)
113in5_max Channel C maximum voltage (mV)
114in6_max Channel D maximum voltage (mV)
115in7_max Channel E maximum voltage (mV)
116in8_max Channel F maximum voltage (mV)
117in9_max AIN1 maximum voltage (mV)
118in10_max AIN2 maximum voltage (mV)
119
120in1_lcrit 12v input critical minimum voltage (mV)
121in2_lcrit 3.3V (VDD) input critical minimum voltage (mV)
122in3_lcrit Channel A critical minimum voltage (mV)
123in4_lcrit Channel B critical minimum voltage (mV)
124in5_lcrit Channel C critical minimum voltage (mV)
125in6_lcrit Channel D critical minimum voltage (mV)
126in7_lcrit Channel E critical minimum voltage (mV)
127in8_lcrit Channel F critical minimum voltage (mV)
128in9_lcrit AIN1 critical minimum voltage (mV)
129in10_lcrit AIN2 critical minimum voltage (mV)
130
131in1_crit 12v input critical maximum voltage (mV)
132in2_crit 3.3V (VDD) input critical maximum voltage (mV)
133in3_crit Channel A critical maximum voltage (mV)
134in4_crit Channel B critical maximum voltage (mV)
135in5_crit Channel C critical maximum voltage (mV)
136in6_crit Channel D critical maximum voltage (mV)
137in7_crit Channel E critical maximum voltage (mV)
138in8_crit Channel F critical maximum voltage (mV)
139in9_crit AIN1 critical maximum voltage (mV)
140in10_crit AIN2 critical maximum voltage (mV)
141
142in1_crit_alarm 12v input critical alarm
143in2_crit_alarm 3.3V (VDD) input critical alarm
144in3_crit_alarm Channel A critical alarm
145in4_crit_alarm Channel B critical alarm
146in5_crit_alarm Channel C critical alarm
147in6_crit_alarm Channel D critical alarm
148in7_crit_alarm Channel E critical alarm
149in8_crit_alarm Channel F critical alarm
150in9_crit_alarm AIN1 critical alarm
151in10_crit_alarm AIN2 critical alarm
152
153temp1_input Chip tempererature
154temp1_min Mimimum chip tempererature
155temp1_max Maximum chip tempererature
156temp1_crit Critical chip tempererature
157temp1_crit_alarm Temperature critical alarm
Documentation/hwmon/smsc47m1+4−7
@@ -7,13 +7,10 @@ Supported chips: · 6 unmodified lines
7 Addresses scanned: none, address read from Super I/O config space7 Addresses scanned: none, address read from Super I/O config space
8 Prefix: 'smsc47m1'8 Prefix: 'smsc47m1'
9 Datasheets:9 Datasheets:
10 http://www.smsc.com/main/datasheets/47b27x.pdf10 http://www.smsc.com/media/Downloads_Public/Data_Sheets/47b272.pdf
11 http://www.smsc.com/main/datasheets/47m10x.pdf11 http://www.smsc.com/media/Downloads_Public/Data_Sheets/47m10x.pdf
12 http://www.smsc.com/main/datasheets/47m112.pdf12 http://www.smsc.com/media/Downloads_Public/Data_Sheets/47m112.pdf
13 http://www.smsc.com/main/tools/discontinued/47m13x.pdf13 http://www.smsc.com/
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
17 * SMSC LPC47M29214 * SMSC LPC47M292
18 Addresses scanned: none, address read from Super I/O config space15 Addresses scanned: none, address read from Super I/O config space
19 Prefix: 'smsc47m2'16 Prefix: 'smsc47m2'
Documentation/hwmon/thmc50+1−1
@@ -9,7 +9,7 @@ Supported chips: · 8 unmodified lines
9 * Texas Instruments THMC509 * Texas Instruments THMC50
10 Prefix: 'thmc50'10 Prefix: 'thmc50'
11 Addresses scanned: I2C 0x2c - 0x2e11 Addresses scanned: I2C 0x2c - 0x2e
12 Datasheet: http://focus.ti.com/docs/prod/folders/print/thmc50.html12 Datasheet: http://www.ti.com/
13 13
14Author: Krzysztof Helt <krzysztof.h1@wp.pl>14Author: Krzysztof Helt <krzysztof.h1@wp.pl>
15 15
Documentation/hwmon/via686a+1−1
@@ -5,7 +5,7 @@ Supported chips: · 4 unmodified lines
5 * Via VT82C686A, VT82C686B Southbridge Integrated Hardware Monitor5 * Via VT82C686A, VT82C686B Southbridge Integrated Hardware Monitor
6 Prefix: 'via686a'6 Prefix: 'via686a'
7 Addresses scanned: ISA in PCI-space encoded address7 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/)
9 9
10Authors:10Authors:
11 Kyösti Mälkki <kmalkki@cc.hut.fi>,11 Kyösti Mälkki <kmalkki@cc.hut.fi>,
Documentation/hwmon/w83627hf+1−5
@@ -5,23 +5,19 @@ Supported chips: · 4 unmodified lines
5 * Winbond W83627HF (ISA accesses ONLY)5 * Winbond W83627HF (ISA accesses ONLY)
6 Prefix: 'w83627hf'6 Prefix: 'w83627hf'
7 Addresses scanned: ISA address retrieved from Super I/O registers7 Addresses scanned: ISA address retrieved from Super I/O registers
8 Datasheet: http://www.winbond.com/PDF/sheet/w83627hf.pdf
9 * Winbond W83627THF8 * Winbond W83627THF
10 Prefix: 'w83627thf'9 Prefix: 'w83627thf'
11 Addresses scanned: ISA address retrieved from Super I/O registers10 Addresses scanned: ISA address retrieved from Super I/O registers
12 Datasheet: http://www.winbond.com/PDF/sheet/w83627thf.pdf
13 * Winbond W83697HF11 * Winbond W83697HF
14 Prefix: 'w83697hf'12 Prefix: 'w83697hf'
15 Addresses scanned: ISA address retrieved from Super I/O registers13 Addresses scanned: ISA address retrieved from Super I/O registers
16 Datasheet: http://www.winbond.com/PDF/sheet/697hf.pdf
17 * Winbond W83637HF14 * Winbond W83637HF
18 Prefix: 'w83637hf'15 Prefix: 'w83637hf'
19 Addresses scanned: ISA address retrieved from Super I/O registers16 Addresses scanned: ISA address retrieved from Super I/O registers
20 Datasheet: http://www.winbond.com/PDF/sheet/w83637hf.pdf
21 * Winbond W83687THF17 * Winbond W83687THF
22 Prefix: 'w83687thf'18 Prefix: 'w83687thf'
23 Addresses scanned: ISA address retrieved from Super I/O registers19 Addresses scanned: ISA address retrieved from Super I/O registers
24 Datasheet: Provided by Winbond on request20 Datasheet: Provided by Winbond on request(http://www.winbond.com/hq/enu)
25 21
26Authors:22Authors:
27 Frodo Looijaard <frodol@dds.nl>,23 Frodo Looijaard <frodol@dds.nl>,
Documentation/hwmon/w83781d+1−1
@@ -9,7 +9,7 @@ Supported chips: · 8 unmodified lines
9 * Winbond W83782D9 * Winbond W83782D
10 Prefix: 'w83782d'10 Prefix: 'w83782d'
11 Addresses scanned: I2C 0x28 - 0x2f, ISA 0x290 (8 I/O ports)11 Addresses scanned: I2C 0x28 - 0x2f, ISA 0x290 (8 I/O ports)
12 Datasheet: http://www.winbond.com/PDF/sheet/w83782d.pdf12 Datasheet: http://www.winbond.com
13 * Winbond W83783S13 * Winbond W83783S
14 Prefix: 'w83783s'14 Prefix: 'w83783s'
15 Addresses scanned: I2C 0x2d15 Addresses scanned: I2C 0x2d
Documentation/hwmon/w83792d+1−1
@@ -5,7 +5,7 @@ Supported chips: · 4 unmodified lines
5 * Winbond W83792D5 * Winbond W83792D
6 Prefix: 'w83792d'6 Prefix: 'w83792d'
7 Addresses scanned: I2C 0x2c - 0x2f7 Addresses scanned: I2C 0x2c - 0x2f
8 Datasheet: http://www.winbond.com.tw/E-WINBONDHTM/partner/PDFresult.asp?Pname=10358 Datasheet: http://www.winbond.com.tw
9 9
10Author: Chunhao Huang10Author: Chunhao Huang
11Contact: DZShen <DZShen@Winbond.com.tw>11Contact: DZShen <DZShen@Winbond.com.tw>
Documentation/i2c/busses/i2c-ali1535+1−1
@@ -3,7 +3,7 @@ Kernel driver i2c-ali1535 · 2 unmodified lines
3Supported adapters:3Supported adapters:
4 * Acer Labs, Inc. ALI 1535 (south bridge)4 * Acer Labs, Inc. ALI 1535 (south bridge)
5 Datasheet: Now under NDA5 Datasheet: Now under NDA
6 http://www.ali.com.tw/eng/support/datasheet_request.php6 http://www.ali.com.tw/
7 7
8Authors:8Authors:
9 Frodo Looijaard <frodol@dds.nl>,9 Frodo Looijaard <frodol@dds.nl>,
Documentation/i2c/busses/i2c-ali1563+1−1
@@ -3,7 +3,7 @@ Kernel driver i2c-ali1563 · 2 unmodified lines
3Supported adapters:3Supported adapters:
4 * Acer Labs, Inc. ALI 1563 (south bridge)4 * Acer Labs, Inc. ALI 1563 (south bridge)
5 Datasheet: Now under NDA5 Datasheet: Now under NDA
6 http://www.ali.com.tw/eng/support/datasheet_request.php6 http://www.ali.com.tw/
7 7
8Author: Patrick Mochel <mochel@digitalimplant.org>8Author: Patrick Mochel <mochel@digitalimplant.org>
9 9
Documentation/i2c/busses/i2c-ali15x3+1−1
@@ -3,7 +3,7 @@ Kernel driver i2c-ali15x3 · 2 unmodified lines
3Supported adapters:3Supported adapters:
4 * Acer Labs, Inc. ALI 1533 and 1543C (south bridge)4 * Acer Labs, Inc. ALI 1533 and 1543C (south bridge)
5 Datasheet: Now under NDA5 Datasheet: Now under NDA
6 http://www.ali.com.tw/eng/support/datasheet_request.php6 http://www.ali.com.tw/
7 7
8Authors:8Authors:
9 Frodo Looijaard <frodol@dds.nl>,9 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
97the SMBus on all IBM systems (detected using DMI data.)97the SMBus on all IBM systems (detected using DMI data.)
98 98
99For additional information, read:99For additional information, read:
100http://www.lm-sensors.org/browser/lm-sensors/trunk/README.thinkpad100http://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
2 2
3Supported adapters:3Supported adapters:
4 * Silicon Integrated Systems Corp (SiS)4 * 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)
6 730 chipset6 730 chipset
7 * Possible other SiS chipsets ?7 * Possible other SiS chipsets ?
8 8
Documentation/i2c/instantiating-devices+1−1
@@ -102,7 +102,7 @@ static int __devinit usb_hcd_pnx4008_probe(struct platform_device *pdev) · 101 unmodified lines
102 memset(&i2c_info, 0, sizeof(struct i2c_board_info));102 memset(&i2c_info, 0, sizeof(struct i2c_board_info));
103 strlcpy(i2c_info.name, "isp1301_pnx", I2C_NAME_SIZE);103 strlcpy(i2c_info.name, "isp1301_pnx", I2C_NAME_SIZE);
104 isp1301_i2c_client = i2c_new_probed_device(i2c_adap, &i2c_info,104 isp1301_i2c_client = i2c_new_probed_device(i2c_adap, &i2c_info,
105 normal_i2c);105 normal_i2c, NULL);
106 i2c_put_adapter(i2c_adap);106 i2c_put_adapter(i2c_adap);
107 (...)107 (...)
108}108}
Documentation/ia64/aliasing.txt+0−2
@@ -168,8 +168,6 @@ PAST PROBLEM CASES · 167 unmodified lines
168 168
169 mmap of 0x0-0x9FFFF /dev/mem by "hwinfo" on HP sx1000 with VGA enabled169 mmap of 0x0-0x9FFFF /dev/mem by "hwinfo" on HP sx1000 with VGA enabled
170 170
171 See https://bugzilla.novell.com/show_bug.cgi?id=140858.
172
173 The EFI memory map reports the following attributes:171 The EFI memory map reports the following attributes:
174 0x00000-0x9FFFF WB only172 0x00000-0x9FFFF WB only
175 0xA0000-0xBFFFF UC only (VGA frame buffer)173 0xA0000-0xBFFFF UC only (VGA frame buffer)
Documentation/ia64/serial.txt+1−1
@@ -133,7 +133,7 @@ TROUBLESHOOTING SERIAL CONSOLE PROBLEMS · 132 unmodified lines
133 133
134 134
135 135
136[1] http://www.dig64.org/specifications/DIG64_PCDPv20.pdf136[1] http://www.dig64.org/specifications/agreement
137 The table was originally defined as the "HCDP" for "Headless137 The table was originally defined as the "HCDP" for "Headless
138 Console/Debug Port." The current version is the "PCDP" for138 Console/Debug Port." The current version is the "PCDP" for
139 "Primary Console and Debug Port Devices."139 "Primary Console and Debug Port Devices."
Documentation/infiniband/user_verbs.txt+1−1
@@ -5,7 +5,7 @@ USERSPACE VERBS ACCESS · 4 unmodified lines
5 described in chapter 11 of the InfiniBand Architecture Specification.5 described in chapter 11 of the InfiniBand Architecture Specification.
6 6
7 To use the verbs, the libibverbs library, available from7 To use the verbs, the libibverbs library, available from
8 <http://openib.org/>, is required. libibverbs contains a8 http://www.openfabrics.org/, is required. libibverbs contains a
9 device-independent API for using the ib_uverbs interface.9 device-independent API for using the ib_uverbs interface.
10 libibverbs also requires appropriate device-dependent kernel and10 libibverbs also requires appropriate device-dependent kernel and
11 userspace driver for your InfiniBand hardware. For example, to use11 userspace driver for your InfiniBand hardware. For example, to use
Documentation/input/appletouch.txt+1−1
@@ -82,4 +82,4 @@ Links: · 81 unmodified lines
82------82------
83 83
84[1]: http://johannes.sipsolutions.net/PowerBook/touchpad/84[1]: http://johannes.sipsolutions.net/PowerBook/touchpad/
85[2]: http://web.telia.com/~u89404340/touchpad/index.html85[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
62-----62-----
63 63
64[1] http://ubuntuforums.org/showthread.php?t=84004064[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
251 251
252** Author of this document **252** Author of this document **
253Johann Deneux <johann.deneux@gmail.com>253Johann Deneux <johann.deneux@gmail.com>
254Home page at http://www.esil.univ-mrs.fr/~jdeneux/projects/ff/254Home page at http://web.archive.org/web/*/http://www.esil.univ-mrs.fr
255 255
256Additions by Vojtech Pavlik.256Additions by Vojtech Pavlik.
257 257
Documentation/input/multi-touch-protocol.txt+149−69
@@ -6,31 +6,149 @@ Multi-touch (MT) Protocol · 5 unmodified lines
6Introduction6Introduction
7------------7------------
8 8
9In order to utilize the full power of the new multi-touch devices, a way to9In order to utilize the full power of the new multi-touch and multi-user
10report detailed finger data to user space is needed. This document10devices, a way to report detailed data from multiple contacts, i.e.,
11describes the multi-touch (MT) protocol which allows kernel drivers to11objects in direct contact with the device surface, is needed. This
12report details for an arbitrary number of fingers.12document describes the multi-touch (MT) protocol which allows kernel
13drivers to report details for an arbitrary number of contacts.
14
15The protocol is divided into two types, depending on the capabilities of the
16hardware. For devices handling anonymous contacts (type A), the protocol
17describes how to send the raw data for all contacts to the receiver. For
18devices capable of tracking identifiable contacts (type B), the protocol
19describes how to send updates for individual contacts via event slots.
20
21
22Protocol Usage
23--------------
24
25Contact details are sent sequentially as separate packets of ABS_MT
26events. Only the ABS_MT events are recognized as part of a contact
27packet. Since these events are ignored by current single-touch (ST)
28applications, the MT protocol can be implemented on top of the ST protocol
29in an existing driver.
30
31Drivers for type A devices separate contact packets by calling
32input_mt_sync() at the end of each packet. This generates a SYN_MT_REPORT
33event, which instructs the receiver to accept the data for the current
34contact and prepare to receive another.
35
36Drivers for type B devices separate contact packets by calling
37input_mt_slot(), with a slot as argument, at the beginning of each packet.
38This generates an ABS_MT_SLOT event, which instructs the receiver to
39prepare for updates of the given slot.
40
41All drivers mark the end of a multi-touch transfer by calling the usual
42input_sync() function. This instructs the receiver to act upon events
43accumulated since last EV_SYN/SYN_REPORT and prepare to receive a new set
44of events/packets.
45
46The main difference between the stateless type A protocol and the stateful
47type B slot protocol lies in the usage of identifiable contacts to reduce
48the amount of data sent to userspace. The slot protocol requires the use of
49the ABS_MT_TRACKING_ID, either provided by the hardware or computed from
50the raw data [5].
51
52For type A devices, the kernel driver should generate an arbitrary
53enumeration of the full set of anonymous contacts currently on the
54surface. The order in which the packets appear in the event stream is not
55important. Event filtering and finger tracking is left to user space [3].
56
57For type B devices, the kernel driver should associate a slot with each
58identified contact, and use that slot to propagate changes for the contact.
59Creation, replacement and destruction of contacts is achieved by modifying
60the ABS_MT_TRACKING_ID of the associated slot. A non-negative tracking id
61is interpreted as a contact, and the value -1 denotes an unused slot. A
62tracking id not previously present is considered new, and a tracking id no
63longer present is considered removed. Since only changes are propagated,
64the full state of each initiated contact has to reside in the receiving
65end. Upon receiving an MT event, one simply updates the appropriate
66attribute of the current slot.
67
68
69Protocol Example A
70------------------
71
72Here is what a minimal event sequence for a two-contact touch would look
73like 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
13 82
83The sequence after moving one of the contacts looks exactly the same; the
84raw data for all present contacts are sent between every synchronization
85with SYN_REPORT.
14 86
15Usage87Here is the sequence after lifting the first contact:
16-----88
89 ABS_MT_POSITION_X x[1]
90 ABS_MT_POSITION_Y y[1]
91 SYN_MT_REPORT
92 SYN_REPORT
93
94And here is the sequence after lifting the second contact:
95
96 SYN_MT_REPORT
97 SYN_REPORT
98
99If the driver reports one of BTN_TOUCH or ABS_PRESSURE in addition to the
100ABS_MT events, the last SYN_MT_REPORT event may be omitted. Otherwise, the
101last SYN_REPORT will be dropped by the input core, resulting in no
102zero-contact event reaching userland.
17 103
18Anonymous finger details are sent sequentially as separate packets of ABS104
19events. Only the ABS_MT events are recognized as part of a finger105Protocol Example B
20packet. The end of a packet is marked by calling the input_mt_sync()106------------------
21function, which generates a SYN_MT_REPORT event. This instructs the107
22receiver to accept the data for the current finger and prepare to receive108Here is what a minimal event sequence for a two-contact touch would look
23another. The end of a multi-touch transfer is marked by calling the usual109like for a type B device:
24input_sync() function. This instructs the receiver to act upon events110
25accumulated since last EV_SYN/SYN_REPORT and prepare to receive a new111 ABS_MT_SLOT 0
26set of events/packets.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
121Here 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
127Here is the sequence after lifting the contact in slot 0:
128
129 ABS_MT_TRACKING_ID -1
130 SYN_REPORT
131
132The slot being modified is already 0, so the ABS_MT_SLOT is omitted. The
133message removes the association of slot 0 with contact 45, thereby
134destroying contact 45 and freeing slot 0 to be reused for another contact.
135
136Finally, 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
143Event Usage
144-----------
27 145
28A set of ABS_MT events with the desired properties is defined. The events146A set of ABS_MT events with the desired properties is defined. The events
29are divided into categories, to allow for partial implementation. The147are divided into categories, to allow for partial implementation. The
30minimum set consists of ABS_MT_POSITION_X and ABS_MT_POSITION_Y, which148minimum set consists of ABS_MT_POSITION_X and ABS_MT_POSITION_Y, which
31allows for multiple fingers to be tracked. If the device supports it, the149allows for multiple contacts to be tracked. If the device supports it, the
32ABS_MT_TOUCH_MAJOR and ABS_MT_WIDTH_MAJOR may be used to provide the size150ABS_MT_TOUCH_MAJOR and ABS_MT_WIDTH_MAJOR may be used to provide the size
33of the contact area and approaching finger, respectively.151of the contact area and approaching contact, respectively.
34 152
35The TOUCH and WIDTH parameters have a geometrical interpretation; imagine153The TOUCH and WIDTH parameters have a geometrical interpretation; imagine
36looking through a window at someone gently holding a finger against the154looking 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
41ABS_MT_WIDTH_MAJOR. Now imagine the person pressing the finger harder159ABS_MT_WIDTH_MAJOR. Now imagine the person pressing the finger harder
42against the glass. The inner region will increase, and in general, the160against the glass. The inner region will increase, and in general, the
43ratio ABS_MT_TOUCH_MAJOR / ABS_MT_WIDTH_MAJOR, which is always smaller than161ratio ABS_MT_TOUCH_MAJOR / ABS_MT_WIDTH_MAJOR, which is always smaller than
44unity, is related to the finger pressure. For pressure-based devices,162unity, is related to the contact pressure. For pressure-based devices,
45ABS_MT_PRESSURE may be used to provide the pressure on the contact area163ABS_MT_PRESSURE may be used to provide the pressure on the contact area
46instead.164instead.
47 165
48In addition to the MAJOR parameters, the oval shape of the finger can be166In addition to the MAJOR parameters, the oval shape of the contact can be
49described by adding the MINOR parameters, such that MAJOR and MINOR are the167described by adding the MINOR parameters, such that MAJOR and MINOR are the
50major and minor axis of an ellipse. Finally, the orientation of the oval168major and minor axis of an ellipse. Finally, the orientation of the oval
51shape can be describe with the ORIENTATION parameter.169shape can be describe with the ORIENTATION parameter.
52 170
53The ABS_MT_TOOL_TYPE may be used to specify whether the touching tool is a171The ABS_MT_TOOL_TYPE may be used to specify whether the touching tool is a
54finger or a pen or something else. Devices with more granular information172contact or a pen or something else. Devices with more granular information
55may specify general shapes as blobs, i.e., as a sequence of rectangular173may specify general shapes as blobs, i.e., as a sequence of rectangular
56shapes grouped together by an ABS_MT_BLOB_ID. Finally, for the few devices174shapes grouped together by an ABS_MT_BLOB_ID. Finally, for the few devices
57that currently support it, the ABS_MT_TRACKING_ID event may be used to175that currently support it, the ABS_MT_TRACKING_ID event may be used to
58report finger tracking from hardware [5].176report contact tracking from hardware [5].
59 177
60Here is what a minimal event sequence for a two-finger touch would look
61like:
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
71Here 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
78And here is the sequence after lifting the remaining finger:
79
80 SYN_MT_REPORT
81 SYN_REPORT
82
83If the driver reports one of BTN_TOUCH or ABS_PRESSURE in addition to the
84ABS_MT events, the last SYN_MT_REPORT event may be omitted. Otherwise, the
85last SYN_REPORT will be dropped by the input core, resulting in no
86zero-finger event reaching userland.
87 178
88Event Semantics179Event Semantics
89---------------180---------------
90 181
91The word "contact" is used to describe a tool which is in direct contact
92with the surface. A finger, a pen or a rubber all classify as contacts.
93
94ABS_MT_TOUCH_MAJOR182ABS_MT_TOUCH_MAJOR
95 183
96The length of the major axis of the contact. The length should be given in184The 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
157ABS_MT_BLOB_ID245ABS_MT_BLOB_ID
158 246
159The BLOB_ID groups several packets together into one arbitrarily shaped247The BLOB_ID groups several packets together into one arbitrarily shaped
160contact. This is a low-level anonymous grouping, and should not be confused248contact. This is a low-level anonymous grouping for type A devices, and
161with the high-level trackingID [5]. Most kernel drivers will not have blob249should not be confused with the high-level trackingID [5]. Most type A
162capability, and can safely omit the event.250devices do not have blob capability, so drivers can safely omit this event.
163 251
164ABS_MT_TRACKING_ID252ABS_MT_TRACKING_ID
165 253
166The TRACKING_ID identifies an initiated contact throughout its life cycle254The TRACKING_ID identifies an initiated contact throughout its life cycle
167[5]. There are currently only a few devices that support it, so this event255[5]. This event is mandatory for type B devices. The value range of the
168should normally be omitted.256TRACKING_ID should be large enough to ensure unique identification of a
257contact maintained over an extended period of time.
169 258
170 259
171Event Computation260Event Computation
@@ -192,20 +281,11 @@ finger along the X axis (1). · 20 unmodified lines
192Finger Tracking281Finger Tracking
193---------------282---------------
194 283
195The kernel driver should generate an arbitrary enumeration of the set of
196anonymous contacts currently on the surface. The order in which the packets
197appear in the event stream is not important.
198
199The process of finger tracking, i.e., to assign a unique trackingID to each284The process of finger tracking, i.e., to assign a unique trackingID to each
200initiated contact on the surface, is left to user space; preferably the285initiated contact on the surface, is a Euclidian Bipartite Matching
201multi-touch X driver [3]. In that driver, the trackingID stays the same and286problem. At each event synchronization, the set of actual contacts is
202unique until the contact vanishes (when the finger leaves the surface). The287matched to the set of contacts from the previous synchronization. A full
203problem of assigning a set of anonymous fingers to a set of identified288implementation can be found in [3].
204fingers is a euclidian bipartite matching problem at each event update, and
205relies on a sufficiently rapid update rate.
206
207There are a few devices that support trackingID in hardware. User space can
208make use of these native identifiers to reduce bandwidth and cpu usage.
209 289
210 290
211Gestures291Gestures
Documentation/input/sentelic.txt+1−1
@@ -341,7 +341,7 @@ Byte 5~8: Don't care (Absolute packet) · 340 unmodified lines
341FSP supports basic PS/2 commanding set and modes, refer to following URL for341FSP supports basic PS/2 commanding set and modes, refer to following URL for
342details about PS/2 commands:342details about PS/2 commands:
343 343
344http://www.computer-engineering.org/index.php?title=PS/2_Mouse_Interface344http://www.computer-engineering.org/ps2mouse/
345 345
346==============================================================================346==============================================================================
347* Programming Sequence for Determining Packet Parsing Flow347* Programming Sequence for Determining Packet Parsing Flow
Documentation/input/xpad.txt+1−1
@@ -150,7 +150,7 @@ the basic functionality. · 149 unmodified lines
150 150
1511. http://euc.jp/periphs/xbox-controller.ja.html (ITO Takayuki)1511. http://euc.jp/periphs/xbox-controller.ja.html (ITO Takayuki)
1522. http://xpad.xbox-scene.com/1522. http://xpad.xbox-scene.com/
1533. http://www.xboxhackz.com/Hackz-Reference.htm1533. http://www.markosweb.com/www/xboxhackz.com/
154 154
1554. /proc/bus/usb/devices - dump from InterAct PowerPad Pro (Germany):1554. /proc/bus/usb/devices - dump from InterAct PowerPad Pro (Germany):
156 156
Documentation/intel_txt.txt+5−7
@@ -25,20 +25,18 @@ which has been updated for the new released platforms. · 24 unmodified lines
25Intel TXT has been presented at various events over the past few25Intel TXT has been presented at various events over the past few
26years, some of which are:26years, some of which are:
27 LinuxTAG 2008:27 LinuxTAG 2008:
28 http://www.linuxtag.org/2008/en/conf/events/vp-donnerstag/28 http://www.linuxtag.org/2008/en/conf/events/vp-donnerstag.html
29 details.html?talkid=110
30 TRUST2008:29 TRUST2008:
31 http://www.trust2008.eu/downloads/Keynote-Speakers/30 http://www.trust-conference.eu/downloads/Keynote-Speakers/
32 3_David-Grawrock_The-Front-Door-of-Trusted-Computing.pdf31 3_David-Grawrock_The-Front-Door-of-Trusted-Computing.pdf
33 IDF 2008, Shanghai:32 IDF, Shanghai:
34 http://inteldeveloperforum.com.edgesuite.net/shanghai_2008/33 http://www.prcidf.com.cn/index_en.html
35 aep/PROS003/index.html
36 IDFs 2006, 2007 (I'm not sure if/where they are online)34 IDFs 2006, 2007 (I'm not sure if/where they are online)
37 35
38Trusted Boot Project Overview:36Trusted Boot Project Overview:
39=============================37=============================
40 38
41Trusted Boot (tboot) is an open source, pre- kernel/VMM module that39Trusted Boot (tboot) is an open source, pre-kernel/VMM module that
42uses Intel TXT to perform a measured and verified launch of an OS40uses Intel TXT to perform a measured and verified launch of an OS
43kernel/VMM.41kernel/VMM.
44 42
Documentation/ioctl/ioctl-number.txt+6−5
@@ -74,11 +74,12 @@ Code Seq#(hex) Include File Comments · 73 unmodified lines
740x10 00-0F drivers/char/s390/vmcp.h740x10 00-0F drivers/char/s390/vmcp.h
750x12 all linux/fs.h750x12 all linux/fs.h
76 linux/blkpg.h76 linux/blkpg.h
770x1b all InfiniBand Subsystem <http://www.openib.org/>770x1b all InfiniBand Subsystem <http://infiniband.sourceforge.net/>
780x20 all drivers/cdrom/cm206.h780x20 all drivers/cdrom/cm206.h
790x22 all scsi/sg.h790x22 all scsi/sg.h
80'#' 00-3F IEEE 1394 Subsystem Block for the entire subsystem80'#' 00-3F IEEE 1394 Subsystem Block for the entire subsystem
81'$' 00-0F linux/perf_counter.h, linux/perf_event.h81'$' 00-0F linux/perf_counter.h, linux/perf_event.h
82'&' 00-07 drivers/firewire/nosy-user.h
82'1' 00-1F <linux/timepps.h> PPS kit from Ulrich Windl83'1' 00-1F <linux/timepps.h> PPS kit from Ulrich Windl
83 <ftp://ftp.de.kernel.org/pub/linux/daemons/ntp/PPS/>84 <ftp://ftp.de.kernel.org/pub/linux/daemons/ntp/PPS/>
84'2' 01-04 linux/i2o.h85'2' 01-04 linux/i2o.h
@@ -190,7 +191,7 @@ Code Seq#(hex) Include File Comments · 105 unmodified lines
190'[' 00-07 linux/usb/tmc.h USB Test and Measurement Devices191'[' 00-07 linux/usb/tmc.h USB Test and Measurement Devices
191 <mailto:gregkh@suse.de>192 <mailto:gregkh@suse.de>
192'a' all linux/atm*.h, linux/sonet.h ATM on linux193'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/>
194'b' 00-FF conflict! bit3 vme host bridge195'b' 00-FF conflict! bit3 vme host bridge
195 <mailto:natalia@nikhefk.nikhef.nl>196 <mailto:natalia@nikhefk.nikhef.nl>
196'b' 00-0F media/bt819.h conflict!197'b' 00-0F media/bt819.h conflict!
@@ -225,7 +226,7 @@ Code Seq#(hex) Include File Comments · 28 unmodified lines
225'k' 00-0F linux/spi/spidev.h conflict!226'k' 00-0F linux/spi/spidev.h conflict!
226'k' 00-05 video/kyro.h conflict!227'k' 00-05 video/kyro.h conflict!
227'l' 00-3F linux/tcfs_fs.h transparent cryptographic file system228'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>
229'l' 40-7F linux/udf_fs_i.h in development:230'l' 40-7F linux/udf_fs_i.h in development:
230 <http://sourceforge.net/projects/linux-udf/>231 <http://sourceforge.net/projects/linux-udf/>
231'm' 00-09 linux/mmtimer.h conflict!232'm' 00-09 linux/mmtimer.h conflict!
@@ -252,7 +253,7 @@ Code Seq#(hex) Include File Comments · 20 unmodified lines
252 <mailto:giometti@linux.it>253 <mailto:giometti@linux.it>
253'q' 00-1F linux/serio.h254'q' 00-1F linux/serio.h
254'q' 80-FF linux/telephony.h Internet PhoneJACK, Internet LineJACK255'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>
256'r' 00-1F linux/msdos_fs.h and fs/fat/dir.c257'r' 00-1F linux/msdos_fs.h and fs/fat/dir.c
257's' all linux/cdk.h258's' all linux/cdk.h
258't' 00-7F linux/if_ppp.h259't' 00-7F linux/if_ppp.h
@@ -286,7 +287,7 @@ Code Seq#(hex) Include File Comments · 27 unmodified lines
2860x89 F0-FF linux/sockios.h SIOCDEVPRIVATE range2870x89 F0-FF linux/sockios.h SIOCDEVPRIVATE range
2870x8B all linux/wireless.h2880x8B all linux/wireless.h
2880x8C 00-3F WiNRADiO driver2890x8C 00-3F WiNRADiO driver
289 <http://www.proximity.com.au/~brian/winradio/>290 <http://www.winradio.com.au/>
2900x90 00 drivers/cdrom/sbpcd.h2910x90 00 drivers/cdrom/sbpcd.h
2910x92 00-0F drivers/usb/mon/mon_bin.c2920x92 00-0F drivers/usb/mon/mon_bin.c
2920x93 60-7F linux/auto_fs.h2930x93 60-7F linux/auto_fs.h
Documentation/isdn/INTERFACE.CAPI+6−2
@@ -113,12 +113,16 @@ char *driver_name · 112 unmodified lines
113int (*load_firmware)(struct capi_ctr *ctrlr, capiloaddata *ldata)113int (*load_firmware)(struct capi_ctr *ctrlr, capiloaddata *ldata)
114 (optional) pointer to a callback function for sending firmware and114 (optional) pointer to a callback function for sending firmware and
115 configuration data to the device115 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().
116 Return value: 0 on success, error code on error118 Return value: 0 on success, error code on error
117 Called in process context.119 Called in process context.
118 120
119void (*reset_ctr)(struct capi_ctr *ctrlr)121void (*reset_ctr)(struct capi_ctr *ctrlr)
120 (optional) pointer to a callback function for performing a reset on122 (optional) pointer to a callback function for stopping the device,
121 the device, releasing all registered applications123 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().
122 Called in process context.126 Called in process context.
123 127
124void (*register_appl)(struct capi_ctr *ctrlr, u16 applid,128void (*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
36 http://www.mhessler.de/i4lfaq/36 http://www.mhessler.de/i4lfaq/
37 It can be viewed online, or downloaded in sgml/text/html format.37 It can be viewed online, or downloaded in sgml/text/html format.
38 The FAQ can also be viewed online at38 The FAQ can also be viewed online at
39 http://www.isdn4inux.de/faq/39 http://www.isdn4linux.de/faq/
40 or downloaded from40 or downloaded from
41 ftp://ftp.isdn4linux.de/pub/isdn4linux/FAQ/41 ftp://ftp.isdn4linux.de/pub/isdn4linux/FAQ/
42 42
Documentation/isdn/README.HiSax+1−1
@@ -486,7 +486,7 @@ Appendix: Teles PCMCIA driver · 485 unmodified lines
486-----------------------------486-----------------------------
487 487
488See488See
489 http://www.stud.uni-wuppertal.de/~ea0141/pcmcia.html489 http://www.linux.no/teles_cs.txt
490for instructions.490for instructions.
491 491
492Appendix: Linux and ISDN-leased lines492Appendix: Linux and ISDN-leased lines
Documentation/isdn/README.gigaset+69−48
@@ -47,9 +47,9 @@ GigaSet 307x Device Driver · 46 unmodified lines
47 47
481.2. Software481.2. Software
49 --------49 --------
50 The driver works with ISDN4linux and so can be used with any software50 The driver works with the Kernel CAPI subsystem as well as the old
51 which is able to use ISDN4linux for ISDN connections (voice or data).51 ISDN4Linux subsystem, so it can be used with any software which is able
52 Experimental Kernel CAPI support is available as a compilation option.52 to use CAPI 2.0 or ISDN4Linux for ISDN connections (voice or data).
53 53
54 There are some user space tools available at54 There are some user space tools available at
55 http://sourceforge.net/projects/gigaset307x/55 http://sourceforge.net/projects/gigaset307x/
@@ -152,61 +152,42 @@ GigaSet 307x Device Driver · 96 unmodified lines
152 - GIGVER_FWBASE: retrieve the firmware version of the base152 - GIGVER_FWBASE: retrieve the firmware version of the base
153 Upon return, version[] is filled with the requested version information.153 Upon return, version[] is filled with the requested version information.
154 154
1552.3. ISDN4linux1552.3. CAPI
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
1712.4. CAPI
172 ----156 ----
173 If the driver is compiled with CAPI support (kernel configuration option157 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 and158 GIGASET_CAPI) the devices will show up as CAPI controllers as soon as the
175 user space applications. For user space access, the module capi.ko must159 corresponding driver module is loaded, and can then be used with CAPI 2.0
176 be loaded. The capiinit command (included in the capi4k-utils package)160 kernel and user space applications. For user space access, the module
177 does this for you.161 capi.ko must be loaded.
178 162
179 The CAPI variant of the driver supports legacy ISDN4Linux applications163 Legacy ISDN4Linux applications are supported via the capidrv
180 via the capidrv compatibility driver. The kernel module capidrv.ko must164 compatibility driver. The kernel module capidrv.ko must be loaded
181 be loaded explicitly with the command165 explicitly with the command
182 modprobe capidrv166 modprobe capidrv
183 if needed, and cannot be unloaded again without unloading the driver167 if needed, and cannot be unloaded again without unloading the driver
184 first. (These are limitations of capidrv.)168 first. (These are limitations of capidrv.)
185 169
186 The note about unimodem mode in the preceding section applies here, too.170 Most distributions handle loading and unloading of the various CAPI
187 171 modules automatically via the command capiinit(1) from the capi4k-utils
1882.5. Unimodem mode172 package or a similar mechanism. Note that capiinit(1) cannot unload the
189 -------------173 Gigaset drivers because it doesn't support more than one module per
190 This is needed for some devices [e.g. SX100] as they have problems with174 driver.
191 the "normal" commands.
192 175
193 If you have installed the command line tool gigacontr, you can enter1762.4. ISDN4Linux
194 unimodem mode using177 ----------
195 gigacontr --mode unimodem178 If the driver is compiled without CAPI support (native ISDN4Linux
196 You can switch back using179 variant), it registers the device with the legacy ISDN4Linux subsystem
197 gigacontr --mode isdn180 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
198 184
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.
207 185
1862.5. Unimodem mode
187 -------------
208 In this mode the device works like a modem connected to a serial port188 In this mode the device works like a modem connected to a serial port
209 (the /dev/ttyGU0, ... mentioned above) which understands the commands189 (the /dev/ttyGU0, ... mentioned above) which understands the commands
190
210 ATZ init, reset191 ATZ init, reset
211 => OK or ERROR192 => OK or ERROR
212 ATD193 ATD
@@ -234,6 +215,31 @@ GigaSet 307x Device Driver · 21 unmodified lines
234 to an appropriate module configuration file, like /etc/modprobe.d/gigaset215 to an appropriate module configuration file, like /etc/modprobe.d/gigaset
235 or /etc/modprobe.conf.local.216 or /etc/modprobe.conf.local.
236 217
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
2372.6. Call-ID (CID) mode2432.6. Call-ID (CID) mode
238 ------------------244 ------------------
239 Call-IDs are numbers used to tag commands to, and responses from, the245 Call-IDs are numbers used to tag commands to, and responses from, the
@@ -263,7 +269,22 @@ GigaSet 307x Device Driver · 23 unmodified lines
263 change its CID mode while the driver is loaded, eg.269 change its CID mode while the driver is loaded, eg.
264 echo 0 > /sys/class/tty/ttyGU0/cidmode270 echo 0 > /sys/class/tty/ttyGU0/cidmode
265 271
2662.7. Unregistered Wireless Devices (M101/M105)2722.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
2872.8. Unregistered Wireless Devices (M101/M105)
267 -----------------------------------------288 -----------------------------------------
268 The main purpose of the ser_gigaset and usb_gigaset drivers is to allow289 The main purpose of the ser_gigaset and usb_gigaset drivers is to allow
269 the M101 and M105 wireless devices to be used as ISDN devices for ISDN290 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
223あなたがどこからスタートして良いかわからないが、Linux カーネル開発コミュ223あなたがどこからスタートして良いかわからないが、Linux カーネル開発コミュ
224ニティに参加して何かすることをさがしている場合には、Linux kernel224ニティに参加して何かすることをさがしている場合には、Linux kernel
225Janitor's プロジェクトにいけば良いでしょう -225Janitor's プロジェクトにいけば良いでしょう -
226 http://janitor.kernelnewbies.org/226 http://kernelnewbies.org/KernelJanitors
227ここはそのようなスタートをするのにうってつけの場所です。ここには、227ここはそのようなスタートをするのにうってつけの場所です。ここには、
228Linux カーネルソースツリーの中に含まれる、きれいにし、修正しなければな228Linux カーネルソースツリーの中に含まれる、きれいにし、修正しなければな
229らない、単純な問題のリストが記述されています。このプロジェクトに関わる229らない、単純な問題のリストが記述されています。このプロジェクトに関わる
Documentation/ja_JP/SubmittingPatches+3−3
@@ -97,7 +97,7 @@ Quilt: · 96 unmodified lines
97http://savannah.nongnu.org/projects/quilt97http://savannah.nongnu.org/projects/quilt
98 98
99Andrew Morton's patch scripts:99Andrew Morton's patch scripts:
100http://www.zip.com.au/~akpm/linux/patches/100http://userweb.kernel.org/~akpm/stuff/tpp.txt
101このリンクの先のスクリプトの代わりとして、quilt がパッチマネジメント101このリンクの先のスクリプトの代わりとして、quilt がパッチマネジメント
102ツールとして推奨されています(上のリンクを見てください)。102ツールとして推奨されています(上のリンクを見てください)。
103 103
@@ -210,7 +210,7 @@ VGER.KERNEL.ORG でホスティングされているメーリングリストの · 106 unmodified lines
210 ・移植性のないコードから移植性のあるコードへの置き換え(小さい範囲で210 ・移植性のないコードから移植性のあるコードへの置き換え(小さい範囲で
211 あればアーキテクチャ特有のことでも他の人がコピーできます)211 あればアーキテクチャ特有のことでも他の人がコピーできます)
212 ・作者やメンテナによる修正(すなわち patch monkey の再転送モード)212 ・作者やメンテナによる修正(すなわち patch monkey の再転送モード)
213URL: <http://www.kernel.org/pub/linux/kernel/people/bunk/trivial/>213EMAIL: <trivial@kernel.org>
214 214
2157) MIME やリンクや圧縮ファイルや添付ファイルではなくプレインテキストのみ2157) MIME やリンクや圧縮ファイルや添付ファイルではなくプレインテキストのみ
216 216
@@ -534,7 +534,7 @@ gcc においては、マクロと同じくらい軽いです。 · 317 unmodified lines
534----------------------534----------------------
535 535
536Andrew Morton, "The perfect patch" (tpp).536Andrew 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>
538 538
539Jeff Garzik, "Linux kernel patch submission format".539Jeff Garzik, "Linux kernel patch submission format".
540 <http://linux.yyz.us/patch-format.html>540 <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
22 22
23KAFLAGS23KAFLAGS
24--------------------------------------------------24--------------------------------------------------
25Additional options to the assembler.25Additional options to the assembler (for built-in and modules).
26
27AFLAGS_MODULE
28--------------------------------------------------
29Addtional module specific options to use for $(AS).
30
31AFLAGS_KERNEL
32--------------------------------------------------
33Addtional options for $(AS) when used for assembler
34code for code that is compiled as built-in.
26 35
27KCFLAGS36KCFLAGS
28--------------------------------------------------37--------------------------------------------------
29Additional options to the C compiler.38Additional options to the C compiler (for built-in and modules).
39
40CFLAGS_KERNEL
41--------------------------------------------------
42Addtional options for $(CC) when used to compile
43code that is compiled as built-in.
44
45CFLAGS_MODULE
46--------------------------------------------------
47Addtional module specific options to use for $(CC).
48
49LDFLAGS_MODULE
50--------------------------------------------------
51Additional options used for $(LD) when linking modules.
30 52
31KBUILD_VERBOSE53KBUILD_VERBOSE
32--------------------------------------------------54--------------------------------------------------
@@ -40,15 +62,15 @@ Set the directory to look for the kernel source when building external · 7 unmodified lines
40modules.62modules.
41The directory can be specified in several ways:63The directory can be specified in several ways:
421) Use "M=..." on the command line641) Use "M=..." on the command line
432) Environmnet variable KBUILD_EXTMOD652) Environment variable KBUILD_EXTMOD
443) Environmnet variable SUBDIRS663) Environment variable SUBDIRS
45The possibilities are listed in the order they take precedence.67The possibilities are listed in the order they take precedence.
46Using "M=..." will always override the others.68Using "M=..." will always override the others.
47 69
48KBUILD_OUTPUT70KBUILD_OUTPUT
49--------------------------------------------------71--------------------------------------------------
50Specify the output directory when building the kernel.72Specify the output directory when building the kernel.
51The output directory can also be specificed using "O=...".73The output directory can also be specified using "O=...".
52Setting "O=..." takes precedence over KBUILD_OUTPUT.74Setting "O=..." takes precedence over KBUILD_OUTPUT.
53 75
54ARCH76ARCH
@@ -90,7 +112,7 @@ The script will be called with the following arguments: · 35 unmodified lines
90 $3 - kernel map file112 $3 - kernel map file
91 $4 - default install path (use root directory if blank)113 $4 - default install path (use root directory if blank)
92 114
93The implmentation of "make install" is architecture specific115The implementation of "make install" is architecture specific
94and it may differ from the above.116and it may differ from the above.
95 117
96INSTALLKERNEL is provided to enable the possibility to118INSTALLKERNEL 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
65filename that contains config symbols that the user requires to be65filename that contains config symbols that the user requires to be
66set to a specific value. If KCONFIG_ALLCONFIG is used without a66set to a specific value. If KCONFIG_ALLCONFIG is used without a
67filename, "make *config" checks for a file named67filename, "make *config" checks for a file named
68"all{yes/mod/no/random}.config" (corresponding to the *config command68"all{yes/mod/no/def/random}.config" (corresponding to the *config command
69that was used) for symbol values that are to be forced. If this file69that was used) for symbol values that are to be forced. If this file
70is not found, it checks for a file named "all.config" to contain forced70is not found, it checks for a file named "all.config" to contain forced
71values.71values.
Documentation/kbuild/makefiles.txt+71−56
@@ -168,7 +168,7 @@ more details, with real examples. · 167 unmodified lines
168 #drivers/isdn/i4l/Makefile168 #drivers/isdn/i4l/Makefile
169 # Makefile for the kernel ISDN subsystem and device drivers.169 # Makefile for the kernel ISDN subsystem and device drivers.
170 # Each configuration option enables a list of files.170 # Each configuration option enables a list of files.
171 obj-$(CONFIG_ISDN) += isdn.o171 obj-$(CONFIG_ISDN_I4L) += isdn.o
172 obj-$(CONFIG_ISDN_PPP_BSDCOMP) += isdn_bsdcomp.o172 obj-$(CONFIG_ISDN_PPP_BSDCOMP) += isdn_bsdcomp.o
173 173
174--- 3.3 Loadable module goals - obj-m174--- 3.3 Loadable module goals - obj-m
@@ -187,34 +187,35 @@ more details, with real examples. · 12 unmodified lines
187 Note: In this example $(CONFIG_ISDN_PPP_BSDCOMP) evaluates to 'm'187 Note: In this example $(CONFIG_ISDN_PPP_BSDCOMP) evaluates to 'm'
188 188
189 If a kernel module is built from several source files, you specify189 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.190 that you want to build a module in the same way as above; however,
191 191 kbuild needs to know which object files you want to build your
192 Kbuild needs to know which the parts that you want to build your192 module from, so you have to tell it by setting a $(<module_name>-y)
193 module from, so you have to tell it by setting an193 variable.
194 $(<module_name>-objs) variable.
195 194
196 Example:195 Example:
197 #drivers/isdn/i4l/Makefile196 #drivers/isdn/i4l/Makefile
198 obj-$(CONFIG_ISDN) += isdn.o197 obj-$(CONFIG_ISDN_I4L) += isdn.o
199 isdn-objs := isdn_net_lib.o isdn_v110.o isdn_common.o198 isdn-y := isdn_net_lib.o isdn_v110.o isdn_common.o
200 199
201 In this example, the module name will be isdn.o. Kbuild will200 In this example, the module name will be isdn.o. Kbuild will
202 compile the objects listed in $(isdn-objs) and then run201 compile the objects listed in $(isdn-y) and then run
203 "$(LD) -r" on the list of these files to generate isdn.o.202 "$(LD) -r" on the list of these files to generate isdn.o.
204 203
205 Kbuild recognises objects used for composite objects by the suffix204 Due to kbuild recognizing $(<module_name>-y) for composite objects,
206 -objs, and the suffix -y. This allows the Makefiles to use205 you can use the value of a CONFIG_ symbol to optionally include an
207 the value of a CONFIG_ symbol to determine if an object is part206 object file as part of a composite object.
208 of a composite object.
209 207
210 Example:208 Example:
211 #fs/ext2/Makefile209 #fs/ext2/Makefile
212 obj-$(CONFIG_EXT2_FS) += ext2.o210 obj-$(CONFIG_EXT2_FS) += ext2.o
213 ext2-y := balloc.o bitmap.o211 ext2-y := balloc.o dir.o file.o ialloc.o inode.o ioctl.o \
214 ext2-$(CONFIG_EXT2_FS_XATTR) += xattr.o212 namei.o super.o symlink.o
213 ext2-$(CONFIG_EXT2_FS_XATTR) += xattr.o xattr_user.o \
214 xattr_trusted.o
215 215
216 In this example, xattr.o is only part of the composite object216 In this example, xattr.o, xattr_user.o and xattr_trusted.o are only
217 ext2.o if $(CONFIG_EXT2_FS_XATTR) evaluates to 'y'.217 part of the composite object ext2.o if $(CONFIG_EXT2_FS_XATTR)
218 evaluates to 'y'.
218 219
219 Note: Of course, when you are building objects into the kernel,220 Note: Of course, when you are building objects into the kernel,
220 the syntax above will also work. So, if you have CONFIG_EXT2_FS=y,221 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
244 may contain both a built-in.o and a lib.a file.245 may contain both a built-in.o and a lib.a file.
245 246
246 Example:247 Example:
247 #arch/i386/lib/Makefile248 #arch/x86/lib/Makefile
248 lib-y := checksum.o delay.o249 lib-y := delay.o
249 250
250 This will create a library lib.a based on checksum.o and delay.o.251 This will create a library lib.a based on delay.o. For kbuild to
251 For kbuild to actually recognize that there is a lib.a being built,252 actually recognize that there is a lib.a being built, the directory
252 the directory shall be listed in libs-y.253 shall be listed in libs-y.
253 See also "6.3 List directories to visit when descending".254 See also "6.3 List directories to visit when descending".
254 255
255 Use of lib-y is normally restricted to lib/ and arch/*/lib.256 Use of lib-y is normally restricted to lib/ and arch/*/lib.
@@ -284,43 +285,40 @@ more details, with real examples. · 28 unmodified lines
284--- 3.7 Compilation flags285--- 3.7 Compilation flags
285 286
286 ccflags-y, asflags-y and ldflags-y287 ccflags-y, asflags-y and ldflags-y
287 The three flags listed above applies only to the kbuild makefile288 These three flags apply only to the kbuild makefile in which they
288 where they are assigned. They are used for all the normal289 are assigned. They are used for all the normal cc, as and ld
289 cc, as and ld invocation happenign during a recursive build.290 invocations happening during a recursive build.
290 Note: Flags with the same behaviour were previously named:291 Note: Flags with the same behaviour were previously named:
291 EXTRA_CFLAGS, EXTRA_AFLAGS and EXTRA_LDFLAGS.292 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.
293 294
294 ccflags-y specifies options for compiling C files with $(CC).295 ccflags-y specifies options for compiling with $(CC).
295 296
296 Example:297 Example:
297 # drivers/sound/emu10k1/Makefile298 # drivers/acpi/Makefile
298 ccflags-y += -I$(obj)299 ccflags-y := -Os
299 ccflags-$(DEBUG) += -DEMU10K1_DEBUG300 ccflags-$(CONFIG_ACPI_DEBUG) += -DACPI_DEBUG_OUTPUT
300
301 301
302 This variable is necessary because the top Makefile owns the302 This variable is necessary because the top Makefile owns the
303 variable $(KBUILD_CFLAGS) and uses it for compilation flags for the303 variable $(KBUILD_CFLAGS) and uses it for compilation flags for the
304 entire tree.304 entire tree.
305 305
306 asflags-y is a similar string for per-directory options306 asflags-y specifies options for assembling with $(AS).
307 when compiling assembly language source.
308 307
309 Example:308 Example:
310 #arch/x86_64/kernel/Makefile309 #arch/sparc/kernel/Makefile
311 asflags-y := -traditional310 asflags-y := -ansi
312
313 311
314 ldflags-y is a string for per-directory options to $(LD).312 ldflags-y specifies options for linking with $(LD).
315 313
316 Example:314 Example:
317 #arch/m68k/fpsp040/Makefile315 #arch/cris/boot/compressed/Makefile
318 ldflags-y := -x316 ldflags-y += -T $(srctree)/$(src)/decompress_$(arch-y).lds
319 317
320 subdir-ccflags-y, subdir-asflags-y318 subdir-ccflags-y, subdir-asflags-y
321 The two flags listed above are similar to ccflags-y and as-falgs-y.319 The two flags listed above are similar to ccflags-y and asflags-y.
322 The difference is that the subdir- variants has effect for the kbuild320 The difference is that the subdir- variants have effect for the kbuild
323 file where tey are present and all subdirectories.321 file where they are present and all subdirectories.
324 Options specified using subdir-* are added to the commandline before322 Options specified using subdir-* are added to the commandline before
325 the options specified using the non-subdir variants.323 the options specified using the non-subdir variants.
326 324
@@ -340,18 +338,18 @@ more details, with real examples. · 13 unmodified lines
340 CFLAGS_aha152x.o = -DAHA152X_STAT -DAUTOCONF338 CFLAGS_aha152x.o = -DAHA152X_STAT -DAUTOCONF
341 CFLAGS_gdth.o = # -DDEBUG_GDTH=2 -D__SERIAL__ -D__COM2__ \339 CFLAGS_gdth.o = # -DDEBUG_GDTH=2 -D__SERIAL__ -D__COM2__ \
342 -DGDTH_STATISTICS340 -DGDTH_STATISTICS
343 CFLAGS_seagate.o = -DARBITRATE -DPARITY -DSEAGATE_USE_ASM
344 341
345 These three lines specify compilation flags for aha152x.o,342 These two lines specify compilation flags for aha152x.o and gdth.o.
346 gdth.o, and seagate.o
347 343
348 $(AFLAGS_$@) is a similar feature for source files in assembly344 $(AFLAGS_$@) is a similar feature for source files in assembly
349 languages.345 languages.
350 346
351 Example:347 Example:
352 # arch/arm/kernel/Makefile348 # arch/arm/kernel/Makefile
353 AFLAGS_head-armv.o := -DTEXTADDR=$(TEXTADDR) -traditional349 AFLAGS_head.o := -DTEXT_OFFSET=$(TEXT_OFFSET)
354 AFLAGS_head-armo.o := -DTEXTADDR=$(TEXTADDR) -traditional350 AFLAGS_crunch-bits.o := -Wa,-mcpu=ep9312
351 AFLAGS_iwmmxt.o := -Wa,-mcpu=iwmmxt
352
355 353
356--- 3.9 Dependency tracking354--- 3.9 Dependency tracking
357 355
@@ -923,16 +921,33 @@ When kbuild executes, the following steps are followed (roughly): · 565 unmodified lines
923 The first example utilises the trick that a config option expands921 The first example utilises the trick that a config option expands
924 to 'y' when selected.922 to 'y' when selected.
925 923
926 CFLAGS_KERNEL $(CC) options specific for built-in924 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).
927 934
928 $(CFLAGS_KERNEL) contains extra C compiler flags used to compile935 KBUILD_CFLAGS_KERNEL $(CC) options specific for built-in
936
937 $(KBUILD_CFLAGS_KERNEL) contains extra C compiler flags used to compile
929 resident kernel code.938 resident kernel code.
930 939
931 CFLAGS_MODULE $(CC) options specific for modules940 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).
932 945
933 $(CFLAGS_MODULE) contains extra C compiler flags used to compile code946 KBUILD_LDFLAGS_MODULE Options for $(LD) when linking modules
934 for loadable kernel modules.
935 947
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).
936 951
937--- 6.2 Add prerequisites to archprepare:952--- 6.2 Add prerequisites to archprepare:
938 953
@@ -1176,14 +1191,14 @@ When kbuild executes, the following steps are followed (roughly): · 237 unmodified lines
1176=== 7 Kbuild syntax for exported headers1191=== 7 Kbuild syntax for exported headers
1177 1192
1178The kernel include a set of headers that is exported to userspace.1193The kernel include a set of headers that is exported to userspace.
1179Many headers can be exported as-is but other headers requires a1194Many headers can be exported as-is but other headers require a
1180minimal pre-processing before they are ready for user-space.1195minimal pre-processing before they are ready for user-space.
1181The pre-processing does:1196The pre-processing does:
1182- drop kernel specific annotations1197- drop kernel specific annotations
1183- drop include of compiler.h1198- 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__)
1185 1200
1186Each relevant directory contain a file name "Kbuild" which specify the1201Each relevant directory contains a file name "Kbuild" which specifies the
1187headers to be exported.1202headers to be exported.
1188See subsequent chapter for the syntax of the Kbuild file.1203See subsequent chapter for the syntax of the Kbuild file.
1189 1204
Documentation/kernel-docs.txt+18−21
@@ -75,7 +75,7 @@ · 74 unmodified lines
75 75
76 * Title: "Conceptual Architecture of the Linux Kernel"76 * Title: "Conceptual Architecture of the Linux Kernel"
77 Author: Ivan T. Bowman.77 Author: Ivan T. Bowman.
78 URL: http://plg.uwaterloo.ca/~itbowman/papers/CS746G-a1.html78 URL: http://plg.uwaterloo.ca/
79 Keywords: conceptual software architecture, extracted design,79 Keywords: conceptual software architecture, extracted design,
80 reverse engineering, system structure.80 reverse engineering, system structure.
81 Description: Conceptual software architecture of the Linux kernel,81 Description: Conceptual software architecture of the Linux kernel,
@@ -84,7 +84,7 @@ · 2 unmodified lines
84 84
85 * Title: "Concrete Architecture of the Linux Kernel"85 * Title: "Concrete Architecture of the Linux Kernel"
86 Author: Ivan T. Bowman, Saheem Siddiqi, and Meyer C. Tanuan.86 Author: Ivan T. Bowman, Saheem Siddiqi, and Meyer C. Tanuan.
87 URL: http://plg.uwaterloo.ca/~itbowman/papers/CS746G-a2.html87 URL: http://plg.uwaterloo.ca/
88 Keywords: concrete architecture, extracted design, reverse88 Keywords: concrete architecture, extracted design, reverse
89 engineering, system structure, dependencies.89 engineering, system structure, dependencies.
90 Description: Concrete architecture of the Linux kernel,90 Description: Concrete architecture of the Linux kernel,
@@ -95,7 +95,7 @@ · 4 unmodified lines
95 * Title: "Linux as a Case Study: Its Extracted Software95 * Title: "Linux as a Case Study: Its Extracted Software
96 Architecture"96 Architecture"
97 Author: Ivan T. Bowman, Richard C. Holt and Neil V. Brewster.97 Author: Ivan T. Bowman, Richard C. Holt and Neil V. Brewster.
98 URL: http://plg.uwaterloo.ca/~itbowman/papers/linuxcase.html98 URL: http://plg.uwaterloo.ca/
99 Keywords: software architecture, architecture recovery,99 Keywords: software architecture, architecture recovery,
100 redocumentation.100 redocumentation.
101 Description: Paper appeared at ICSE'99, Los Angeles, May 16-22,101 Description: Paper appeared at ICSE'99, Los Angeles, May 16-22,
@@ -104,7 +104,7 @@ · 2 unmodified lines
104 104
105 * Title: "Overview of the Virtual File System"105 * Title: "Overview of the Virtual File System"
106 Author: Richard Gooch.106 Author: Richard Gooch.
107 URL: http://www.atnf.csiro.au/~rgooch/linux/vfs.txt107 URL: http://www.mjmwired.net/kernel/Documentation/filesystems/vfs.txt
108 Keywords: VFS, File System, mounting filesystems, opening files,108 Keywords: VFS, File System, mounting filesystems, opening files,
109 dentries, dcache.109 dentries, dcache.
110 Description: Brief introduction to the Linux Virtual File System.110 Description: Brief introduction to the Linux Virtual File System.
@@ -267,15 +267,13 @@ · 156 unmodified lines
267 * Title: "Kernel API changes from 2.0 to 2.2"267 * Title: "Kernel API changes from 2.0 to 2.2"
268 Author: Richard Gooch.268 Author: Richard Gooch.
269 URL:269 URL:
270 http://www.atnf.csiro.au/~rgooch/linux/docs/porting-to-2.2.html270 http://www.linuxhq.com/guides/LKMPG/node28.html
271 Keywords: 2.2, changes.271 Keywords: 2.2, changes.
272 Description: Kernel functions/structures/variables which changed272 Description: Kernel functions/structures/variables which changed
273 from 2.0.x to 2.2.x.273 from 2.0.x to 2.2.x.
274 274
275 * Title: "Kernel API changes from 2.2 to 2.4"275 * Title: "Kernel API changes from 2.2 to 2.4"
276 Author: Richard Gooch.276 Author: Richard Gooch.
277 URL:
278 http://www.atnf.csiro.au/~rgooch/linux/docs/porting-to-2.4.html
279 Keywords: 2.4, changes.277 Keywords: 2.4, changes.
280 Description: Kernel functions/structures/variables which changed278 Description: Kernel functions/structures/variables which changed
281 from 2.2.x to 2.4.x.279 from 2.2.x to 2.4.x.
@@ -290,7 +288,6 @@ · 8 unmodified lines
290 288
291 * Title: "I/O Event Handling Under Linux"289 * Title: "I/O Event Handling Under Linux"
292 Author: Richard Gooch.290 Author: Richard Gooch.
293 URL: http://www.atnf.csiro.au/~rgooch/linux/docs/io-events.html
294 Keywords: IO, I/O, select(2), poll(2), FDs, aio_read(2), readiness291 Keywords: IO, I/O, select(2), poll(2), FDs, aio_read(2), readiness
295 event queues.292 event queues.
296 Description: From the Introduction: "I/O Event handling is about293 Description: From the Introduction: "I/O Event handling is about
@@ -386,64 +383,64 @@ · 89 unmodified lines
386 383
387 * Title: "Porting Device Drivers To Linux 2.2: part II"384 * Title: "Porting Device Drivers To Linux 2.2: part II"
388 Author: Alan Cox.385 Author: Alan Cox.
389 URL: http://www.linux-mag.com/1999-06/gear_01.html386 URL: http://www.linux-mag.com/id/238
390 Keywords: ports, porting.387 Keywords: ports, porting.
391 Description: Second part on porting from 2.0 to 2.2 kernels.388 Description: Second part on porting from 2.0 to 2.2 kernels.
392 389
393 * Title: "How To Make Sure Your Driver Will Work On The Power390 * Title: "How To Make Sure Your Driver Will Work On The Power
394 Macintosh"391 Macintosh"
395 Author: Paul Mackerras.392 Author: Paul Mackerras.
396 URL: http://www.linux-mag.com/1999-07/gear_01.html393 URL: http://www.linux-mag.com/id/261
397 Keywords: Mac, Power Macintosh, porting, drivers, compatibility.394 Keywords: Mac, Power Macintosh, porting, drivers, compatibility.
398 Description: The title says it all.395 Description: The title says it all.
399 396
400 * Title: "An Introduction to SCSI Drivers"397 * Title: "An Introduction to SCSI Drivers"
401 Author: Alan Cox.398 Author: Alan Cox.
402 URL: http://www.linux-mag.com/1999-08/gear_01.html399 URL: http://www.linux-mag.com/id/284
403 Keywords: SCSI, device, driver.400 Keywords: SCSI, device, driver.
404 Description: The title says it all.401 Description: The title says it all.
405 402
406 * Title: "Advanced SCSI Drivers And Other Tales"403 * Title: "Advanced SCSI Drivers And Other Tales"
407 Author: Alan Cox.404 Author: Alan Cox.
408 URL: http://www.linux-mag.com/1999-09/gear_01.html405 URL: http://www.linux-mag.com/id/307
409 Keywords: SCSI, device, driver, advanced.406 Keywords: SCSI, device, driver, advanced.
410 Description: The title says it all.407 Description: The title says it all.
411 408
412 * Title: "Writing Linux Mouse Drivers"409 * Title: "Writing Linux Mouse Drivers"
413 Author: Alan Cox.410 Author: Alan Cox.
414 URL: http://www.linux-mag.com/1999-10/gear_01.html411 URL: http://www.linux-mag.com/id/330
415 Keywords: mouse, driver, gpm.412 Keywords: mouse, driver, gpm.
416 Description: The title says it all.413 Description: The title says it all.
417 414
418 * Title: "More on Mouse Drivers"415 * Title: "More on Mouse Drivers"
419 Author: Alan Cox.416 Author: Alan Cox.
420 URL: http://www.linux-mag.com/1999-11/gear_01.html417 URL: http://www.linux-mag.com/id/356
421 Keywords: mouse, driver, gpm, races, asynchronous I/O.418 Keywords: mouse, driver, gpm, races, asynchronous I/O.
422 Description: The title still says it all.419 Description: The title still says it all.
423 420
424 * Title: "Writing Video4linux Radio Driver"421 * Title: "Writing Video4linux Radio Driver"
425 Author: Alan Cox.422 Author: Alan Cox.
426 URL: http://www.linux-mag.com/1999-12/gear_01.html423 URL: http://www.linux-mag.com/id/381
427 Keywords: video4linux, driver, radio, radio devices.424 Keywords: video4linux, driver, radio, radio devices.
428 Description: The title says it all.425 Description: The title says it all.
429 426
430 * Title: "Video4linux Drivers, Part 1: Video-Capture Device"427 * Title: "Video4linux Drivers, Part 1: Video-Capture Device"
431 Author: Alan Cox.428 Author: Alan Cox.
432 URL: http://www.linux-mag.com/2000-01/gear_01.html429 URL: http://www.linux-mag.com/id/406
433 Keywords: video4linux, driver, video capture, capture devices,430 Keywords: video4linux, driver, video capture, capture devices,
434 camera driver.431 camera driver.
435 Description: The title says it all.432 Description: The title says it all.
436 433
437 * Title: "Video4linux Drivers, Part 2: Video-capture Devices"434 * Title: "Video4linux Drivers, Part 2: Video-capture Devices"
438 Author: Alan Cox.435 Author: Alan Cox.
439 URL: http://www.linux-mag.com/2000-02/gear_01.html436 URL: http://www.linux-mag.com/id/429
440 Keywords: video4linux, driver, video capture, capture devices,437 Keywords: video4linux, driver, video capture, capture devices,
441 camera driver, control, query capabilities, capability, facility.438 camera driver, control, query capabilities, capability, facility.
442 Description: The title says it all.439 Description: The title says it all.
443 440
444 * Title: "PCI Management in Linux 2.2"441 * Title: "PCI Management in Linux 2.2"
445 Author: Alan Cox.442 Author: Alan Cox.
446 URL: http://www.linux-mag.com/2000-03/gear_01.html443 URL: http://www.linux-mag.com/id/452
447 Keywords: PCI, bus, bus-mastering.444 Keywords: PCI, bus, bus-mastering.
448 Description: The title says it all.445 Description: The title says it all.
449 446
@@ -502,7 +499,7 @@ · 52 unmodified lines
502 499
503 * Title: "A Linux vm README"500 * Title: "A Linux vm README"
504 Author: Kanoj Sarcar.501 Author: Kanoj Sarcar.
505 URL: http://reality.sgi.com/kanoj_engr/vm229.html502 URL: http://kos.enix.org/pub/linux-vmm.html
506 Keywords: virtual memory, mm, pgd, vma, page, page flags, page503 Keywords: virtual memory, mm, pgd, vma, page, page flags, page
507 cache, swap cache, kswapd.504 cache, swap cache, kswapd.
508 Description: Telegraphic, short descriptions and definitions505 Description: Telegraphic, short descriptions and definitions
@@ -659,7 +656,7 @@ · 150 unmodified lines
659 656
660 * Name: "Linux Kernel Source Reference"657 * Name: "Linux Kernel Source Reference"
661 Author: Thomas Graichen.658 Author: Thomas Graichen.
662 URL: http://innominate.org/~graichen/projects/lksr/659 URL: http://marc.info/?l=linux-kernel&m=96446640102205&w=4
663 Keywords: CVS, web, cvsweb, browsing source code.660 Keywords: CVS, web, cvsweb, browsing source code.
664 Description: Web interface to a CVS server with the kernel661 Description: Web interface to a CVS server with the kernel
665 sources. "Here you can have a look at any file of the Linux kernel662 sources. "Here you can have a look at any file of the Linux kernel
@@ -682,7 +679,7 @@ · 16 unmodified lines
682 produced during the week. Published every Thursday.679 produced during the week. Published every Thursday.
683 680
684 * Name: "Kernel Traffic"681 * Name: "Kernel Traffic"
685 URL: http://kt.zork.net/kernel-traffic/682 URL: http://kt.earth.li/kernel-traffic/index.html
686 Keywords: linux-kernel mailing list, weekly kernel news.683 Keywords: linux-kernel mailing list, weekly kernel news.
687 Description: Weekly newsletter covering the most relevant684 Description: Weekly newsletter covering the most relevant
688 discussions of the linux-kernel mailing list.685 discussions of the linux-kernel mailing list.
Documentation/kernel-parameters.txt+40−171
@@ -73,7 +73,6 @@ parameter is applicable: · 72 unmodified lines
73 MTD MTD (Memory Technology Device) support is enabled.73 MTD MTD (Memory Technology Device) support is enabled.
74 NET Appropriate network support is enabled.74 NET Appropriate network support is enabled.
75 NUMA NUMA support is enabled.75 NUMA NUMA support is enabled.
76 GENERIC_TIME The generic timeofday code is enabled.
77 NFS Appropriate NFS support is enabled.76 NFS Appropriate NFS support is enabled.
78 OSS OSS sound support is enabled.77 OSS OSS sound support is enabled.
79 PV_OPS A paravirtualized kernel is enabled.78 PV_OPS A paravirtualized kernel is enabled.
@@ -93,6 +92,7 @@ parameter is applicable: · 13 unmodified lines
93 Documentation/scsi/.92 Documentation/scsi/.
94 SECURITY Different security models are enabled.93 SECURITY Different security models are enabled.
95 SELINUX SELinux support is enabled.94 SELINUX SELinux support is enabled.
95 APPARMOR AppArmor support is enabled.
96 SERIAL Serial support is enabled.96 SERIAL Serial support is enabled.
97 SH SuperH architecture is enabled.97 SH SuperH architecture is enabled.
98 SMP The kernel is an SMP kernel.98 SMP The kernel is an SMP kernel.
@@ -115,6 +115,7 @@ parameter is applicable: · 16 unmodified lines
115 More X86-64 boot options can be found in115 More X86-64 boot options can be found in
116 Documentation/x86/x86_64/boot-options.txt .116 Documentation/x86/x86_64/boot-options.txt .
117 X86 Either 32bit or 64bit x86 (same as X86-32+X86-64)117 X86 Either 32bit or 64bit x86 (same as X86-32+X86-64)
118 XEN Xen support is enabled
118 119
119In addition, the following text indicates that the option:120In addition, the following text indicates that the option:
120 121
@@ -280,19 +281,12 @@ and is between 256 and 4096 characters. It is defined in the file · 159 unmodified lines
280 no: ACPI OperationRegions are not marked as reserved,281 no: ACPI OperationRegions are not marked as reserved,
281 no further checks are performed.282 no further checks are performed.
282 283
283 ad1848= [HW,OSS]
284 Format: <io>,<irq>,<dma>,<dma2>,<type>
285
286 add_efi_memmap [EFI; X86] Include EFI memory map in284 add_efi_memmap [EFI; X86] Include EFI memory map in
287 kernel's map of available physical RAM.285 kernel's map of available physical RAM.
288 286
289 advansys= [HW,SCSI]287 advansys= [HW,SCSI]
290 See header of drivers/scsi/advansys.c.288 See header of drivers/scsi/advansys.c.
291 289
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
296 agp= [AGP]290 agp= [AGP]
297 { off | try_unsupported }291 { off | try_unsupported }
298 off: disable AGP support292 off: disable AGP support
@@ -311,6 +305,9 @@ and is between 256 and 4096 characters. It is defined in the file · 12 unmodified lines
311 aic79xx= [HW,SCSI]305 aic79xx= [HW,SCSI]
312 See Documentation/scsi/aic79xx.txt.306 See Documentation/scsi/aic79xx.txt.
313 307
308 ALSA [HW,ALSA]
309 See Documentation/sound/alsa/alsa-parameters.txt
310
314 alignment= [KNL,ARM]311 alignment= [KNL,ARM]
315 Allow the default userspace alignment fault handler312 Allow the default userspace alignment fault handler
316 behaviour to be specified. Bit 0 enables warnings,313 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
468 clocksource is not available, it defaults to PIT.465 clocksource is not available, it defaults to PIT.
469 Format: { pit | tsc | cyclone | pmtmr }466 Format: { pit | tsc | cyclone | pmtmr }
470 467
471 clocksource= [GENERIC_TIME] Override the default clocksource468 clocksource= Override the default clocksource
472 Format: <string>469 Format: <string>
473 Override the default clocksource and use the clocksource470 Override the default clocksource and use the clocksource
474 with the name specified.471 with the name specified.
@@ -655,8 +652,6 @@ and is between 256 and 4096 characters. It is defined in the file · 180 unmodified lines
655 Disable PIN 1 of APIC timer652 Disable PIN 1 of APIC timer
656 Can be useful to work around chipset bugs.653 Can be useful to work around chipset bugs.
657 654
658 dmasound= [HW,OSS] Sound subsystem buffers
659
660 dma_debug=off If the kernel is compiled with DMA_API_DEBUG support,655 dma_debug=off If the kernel is compiled with DMA_API_DEBUG support,
661 this option disables the debugging code at boot.656 this option disables the debugging code at boot.
662 657
@@ -686,8 +681,11 @@ and is between 256 and 4096 characters. It is defined in the file · 23 unmodified lines
686 earlycon= [KNL] Output early console device and options.681 earlycon= [KNL] Output early console device and options.
687 uart[8250],io,<addr>[,options]682 uart[8250],io,<addr>[,options]
688 uart[8250],mmio,<addr>[,options]683 uart[8250],mmio,<addr>[,options]
684 uart[8250],mmio32,<addr>[,options]
689 Start an early, polled-mode console on the 8250/16550685 Start an early, polled-mode console on the 8250/16550
690 UART at the specified I/O port or MMIO address.686 UART at the specified I/O port or MMIO address.
687 MMIO inter-register address stride is either 8bit (mmio)
688 or 32bit (mmio32).
691 The options are the same as for ttyS, above.689 The options are the same as for ttyS, above.
692 690
693 earlyprintk= [X86,SH,BLACKFIN]691 earlyprintk= [X86,SH,BLACKFIN]
@@ -917,9 +915,6 @@ and is between 256 and 4096 characters. It is defined in the file · 223 unmodified lines
917 controller915 controller
918 i8042.nopnp [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX916 i8042.nopnp [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX
919 controllers917 controllers
920 i8042.panicblink=
921 [HW] Frequency with which keyboard LEDs should blink
922 when kernel panics (default is 0.5 sec)
923 i8042.reset [HW] Reset the controller during init and cleanup918 i8042.reset [HW] Reset the controller during init and cleanup
924 i8042.unlock [HW] Unlock (ignore) the keylock919 i8042.unlock [HW] Unlock (ignore) the keylock
925 920
@@ -1143,9 +1138,12 @@ and is between 256 and 4096 characters. It is defined in the file · 217 unmodified lines
1143 kgdboc= [KGDB,HW] kgdb over consoles.1138 kgdboc= [KGDB,HW] kgdb over consoles.
1144 Requires a tty driver that supports console polling,1139 Requires a tty driver that supports console polling,
1145 or a supported polling keyboard driver (non-usb).1140 or a supported polling keyboard driver (non-usb).
1146 Serial only format: <serial_device>[,baud]1141 Serial only format: <serial_device>[,baud]
1147 keyboard only format: kbd1142 keyboard only format: kbd
1148 keyboard and serial format: kbd,<serial_device>[,baud]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]
1149 1147
1150 kgdbwait [KGDB] Stop kernel execution and enter the1148 kgdbwait [KGDB] Stop kernel execution and enter the
1151 kernel debugger at the earliest opportunity.1149 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
1523 that the amount of memory usable for all allocations1521 that the amount of memory usable for all allocations
1524 is not too small.1522 is not too small.
1525 1523
1526 mpu401= [HW,OSS]
1527 Format: <io>,<irq>
1528
1529 MTD_Partition= [MTD]1524 MTD_Partition= [MTD]
1530 Format: <name>,<region-number>,<size>,<offset>1525 Format: <name>,<region-number>,<size>,<offset>
1531 1526
@@ -1597,8 +1592,7 @@ and is between 256 and 4096 characters. It is defined in the file · 65 unmodified lines
1597 [NETFILTER] Enable connection tracking flow accounting1592 [NETFILTER] Enable connection tracking flow accounting
1598 0 to disable accounting1593 0 to disable accounting
1599 1 to enable accounting1594 1 to enable accounting
1600 Default value depends on CONFIG_NF_CT_ACCT that is1595 Default value is 0.
1601 going to be removed in 2.6.29.
1602 1596
1603 nfsaddrs= [NFS]1597 nfsaddrs= [NFS]
1604 See Documentation/filesystems/nfs/nfsroot.txt.1598 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
1812 1806
1813 nousb [USB] Disable the USB subsystem1807 nousb [USB] Disable the USB subsystem
1814 1808
1809 nowatchdog [KNL] Disable the lockup detector.
1810
1815 nowb [ARM]1811 nowb [ARM]
1816 1812
1817 nox2apic [X86-64,APIC] Do not enable x2APIC mode.1813 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
1849 For example, to override I2C bus2:1845 For example, to override I2C bus2:
1850 omap_mux=i2c2_scl.i2c2_scl=0x100,i2c2_sda.i2c2_sda=0x1001846 omap_mux=i2c2_scl.i2c2_scl=0x100,i2c2_sda.i2c2_sda=0x100
1851 1847
1852 opl3= [HW,OSS]
1853 Format: <io>
1854
1855 oprofile.timer= [HW]1848 oprofile.timer= [HW]
1856 Use timer interrupt instead of performance counters1849 Use timer interrupt instead of performance counters
1857 1850
@@ -1863,6 +1856,9 @@ and is between 256 and 4096 characters. It is defined in the file · 5 unmodified lines
1863 perfmon on Intel CPUs instead of the1856 perfmon on Intel CPUs instead of the
1864 CPU specific event set.1857 CPU specific event set.
1865 1858
1859 OSS [HW,OSS]
1860 See Documentation/sound/oss/oss-parameters.txt
1861
1866 osst= [HW,SCSI] SCSI Tape Driver1862 osst= [HW,SCSI] SCSI Tape Driver
1867 Format: <buffer_size>,<write_threshold>1863 Format: <buffer_size>,<write_threshold>
1868 See also Documentation/scsi/st.txt.1864 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
1899 Currently this function knows 686a and 8231 chips.1895 Currently this function knows 686a and 8231 chips.
1900 Format: [spp|ps2|epp|ecp|ecpepp]1896 Format: [spp|ps2|epp|ecp|ecpepp]
1901 1897
1902 pas2= [HW,OSS] Format:
1903 <io>,<irq>,<dma>,<dma16>,<sb_io>,<sb_irq>,<sb_dma>,<sb_dma16>
1904
1905 pas16= [HW,SCSI]1898 pas16= [HW,SCSI]
1906 See header of drivers/scsi/pas16.c.1899 See header of drivers/scsi/pas16.c.
1907 1900
@@ -1970,6 +1963,8 @@ and is between 256 and 4096 characters. It is defined in the file · 62 unmodified lines
1970 norom [X86] Do not assign address space to1963 norom [X86] Do not assign address space to
1971 expansion ROMs that do not already have1964 expansion ROMs that do not already have
1972 BIOS assigned address ranges.1965 BIOS assigned address ranges.
1966 nobar [X86] Do not assign address space to the
1967 BARs that weren't assigned by the BIOS.
1973 irqmask=0xMMMM [X86] Set a bit mask of IRQs allowed to be1968 irqmask=0xMMMM [X86] Set a bit mask of IRQs allowed to be
1974 assigned automatically to PCI devices. You can1969 assigned automatically to PCI devices. You can
1975 make the kernel exclude IRQs of your ISA cards1970 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
2171 [HW,MOUSE] Controls Logitech smartscroll autorepeat.2166 [HW,MOUSE] Controls Logitech smartscroll autorepeat.
2172 0 = disabled, 1 = enabled (default).2167 0 = disabled, 1 = enabled (default).
2173 2168
2174 pss= [HW,OSS] Personal Sound System (ECHO ESC614)
2175 Format:
2176 <io>,<mss_io>,<mss_irq>,<mss_dma>,<mpu_io>,<mpu_irq>
2177
2178 pt. [PARIDE]2169 pt. [PARIDE]
2179 See Documentation/blockdev/paride.txt.2170 See Documentation/blockdev/paride.txt.
2180 2171
@@ -2312,6 +2303,13 @@ and is between 256 and 4096 characters. It is defined in the file · 131 unmodified lines
2312 If enabled at boot time, /selinux/disable can be used2303 If enabled at boot time, /selinux/disable can be used
2313 later to disable prior to initial policy load.2304 later to disable prior to initial policy load.
2314 2305
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
2315 serialnumber [BUGS=X86-32]2313 serialnumber [BUGS=X86-32]
2316 2314
2317 shapers= [NET]2315 shapers= [NET]
@@ -2383,128 +2381,6 @@ and is between 256 and 4096 characters. It is defined in the file · 65 unmodified lines
2383 1: Fast pin select (default)2381 1: Fast pin select (default)
2384 2: ATC IRMode2382 2: ATC IRMode
2385 2383
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
2508 softlockup_panic=2384 softlockup_panic=
2509 [KNL] Should the soft-lockup detector generate panics.2385 [KNL] Should the soft-lockup detector generate panics.
2510 2386
@@ -2519,9 +2395,6 @@ and is between 256 and 4096 characters. It is defined in the file · 8 unmodified lines
2519 spia_pedr=2395 spia_pedr=
2520 spia_peddr=2396 spia_peddr=
2521 2397
2522 sscape= [HW,OSS]
2523 Format: <io>,<irq>,<dma>,<mpu_io>,<mpu_irq>
2524
2525 st= [HW,SCSI] SCSI tape parameters (buffers, etc.)2398 st= [HW,SCSI] SCSI tape parameters (buffers, etc.)
2526 See Documentation/scsi/st.txt.2399 See Documentation/scsi/st.txt.
2527 2400
@@ -2661,10 +2534,6 @@ and is between 256 and 4096 characters. It is defined in the file · 133 unmodified lines
2661 to facilitate early boot debugging.2534 to facilitate early boot debugging.
2662 See also Documentation/trace/events.txt2535 See also Documentation/trace/events.txt
2663 2536
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
2668 tsc= Disable clocksource-must-verify flag for TSC.2537 tsc= Disable clocksource-must-verify flag for TSC.
2669 Format: <string>2538 Format: <string>
2670 [x86] reliable: mark tsc clocksource as reliable, this2539 [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
2681 u14-34f= [HW,SCSI] UltraStor 14F/34F SCSI host adapter2550 u14-34f= [HW,SCSI] UltraStor 14F/34F SCSI host adapter
2682 See header of drivers/scsi/u14-34f.c.2551 See header of drivers/scsi/u14-34f.c.
2683 2552
2684 uart401= [HW,OSS]
2685 Format: <io>,<irq>
2686
2687 uart6850= [HW,OSS]
2688 Format: <io>,<irq>
2689
2690 uhash_entries= [KNL,NET]2553 uhash_entries= [KNL,NET]
2691 Set number of hash buckets for UDP/UDP-Lite connections2554 Set number of hash buckets for UDP/UDP-Lite connections
2692 2555
@@ -2852,9 +2715,6 @@ and is between 256 and 4096 characters. It is defined in the file · 159 unmodified lines
2852 overridden by individual drivers. 0 will hide2715 overridden by individual drivers. 0 will hide
2853 cursors, 1 will display them.2716 cursors, 1 will display them.
2854 2717
2855 waveartist= [HW,OSS]
2856 Format: <io>,<irq>,<dma>,<dma2>
2857
2858 wd33c93= [HW,SCSI]2718 wd33c93= [HW,SCSI]
2859 See header of drivers/scsi/wd33c93.c.2719 See header of drivers/scsi/wd33c93.c.
2860 2720
@@ -2879,6 +2739,16 @@ and is between 256 and 4096 characters. It is defined in the file · 18 unmodified lines
2879 xd= [HW,XT] Original XT pre-IDE (RLL encoded) disks.2739 xd= [HW,XT] Original XT pre-IDE (RLL encoded) disks.
2880 xd_geo= See header of drivers/block/xd.c.2740 xd_geo= See header of drivers/block/xd.c.
2881 2741
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
2882 xirc2ps_cs= [NET,PCMCIA]2752 xirc2ps_cs= [NET,PCMCIA]
2883 Format:2753 Format:
2884 <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]2754 <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]
@@ -2887,5 +2757,4 @@ ______________________________________________________________________ · 2 unmodified lines
2887 2757
2888TODO:2758TODO:
2889 2759
2890 Add documentation for ALSA options.
2891 Add more DRM drivers.2760 Add more DRM drivers.
Documentation/ko_KR/HOWTO+4−4
@@ -122,7 +122,7 @@ mtk.manpages@gmail.com의 메인테이너에게 보낼 것을 권장한다. · 121 unmodified lines
122 122
123 올바른 패치들을 만드는 법에 관한 훌륭한 다른 문서들이 있다.123 올바른 패치들을 만드는 법에 관한 훌륭한 다른 문서들이 있다.
124 "The Perfect Patch"124 "The Perfect Patch"
125 http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt125 http://userweb.kernel.org/~akpm/stuff/tpp.txt
126 "Linux kernel patch submission format"126 "Linux kernel patch submission format"
127 http://linux.yyz.us/patch-format.html127 http://linux.yyz.us/patch-format.html
128 128
@@ -192,7 +192,7 @@ Documentation/DocBook/ 디렉토리 내에서 만들어지며 PDF, Postscript, H · 63 unmodified lines
192 192
193여러분이 어디서 시작해야 할진 모르지만 커널 개발 커뮤니티에 참여할 수193여러분이 어디서 시작해야 할진 모르지만 커널 개발 커뮤니티에 참여할 수
194있는 일들을 찾길 원한다면 리눅스 커널 Janitor 프로젝트를 살펴봐라.194있는 일들을 찾길 원한다면 리눅스 커널 Janitor 프로젝트를 살펴봐라.
195 http://janitor.kernelnewbies.org/195 http://kernelnewbies.org/KernelJanitors
196그곳은 시작하기에 훌륭한 장소이다. 그곳은 리눅스 커널 소스 트리내에196그곳은 시작하기에 훌륭한 장소이다. 그곳은 리눅스 커널 소스 트리내에
197간단히 정리되고 수정될 수 있는 문제들에 관하여 설명한다. 여러분은 이197간단히 정리되고 수정될 수 있는 문제들에 관하여 설명한다. 여러분은 이
198프로젝트를 대표하는 개발자들과 일하면서 자신의 패치를 리눅스 커널 트리에198프로젝트를 대표하는 개발자들과 일하면서 자신의 패치를 리눅스 커널 트리에
@@ -596,7 +596,7 @@ Pat이라는 이름을 가진 여자가 있을 수도 있는 것이다. 리눅 · 397 unmodified lines
596 596
597이것이 무엇인지 더 자세한 것을 알고 싶다면 다음 문서의 ChageLog 항을 봐라.597이것이 무엇인지 더 자세한 것을 알고 싶다면 다음 문서의 ChageLog 항을 봐라.
598 "The Perfect Patch"598 "The Perfect Patch"
599 http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt599 http://userweb.kernel.org/~akpm/stuff/tpp.txt
600 600
601 601
602 602
@@ -610,7 +610,7 @@ Pat이라는 이름을 가진 여자가 있을 수도 있는 것이다. 리눅 · 7 unmodified lines
610 610
611 611
612----------612----------
613"개발 프로세스"(http://linux.tar.gz/articles/2.6-development_process) 섹션을613"개발 프로세스"(http://lwn.net/Articles/94386/) 섹션을
614작성하는데 있어 참고할 문서를 사용하도록 허락해준 Paolo Ciarrocchi에게614작성하는데 있어 참고할 문서를 사용하도록 허락해준 Paolo Ciarrocchi에게
615감사한다. 여러분들이 말해야 할 것과 말해서는 안되는 것의 목록 중 일부를 제공해준615감사한다. 여러분들이 말해야 할 것과 말해서는 안되는 것의 목록 중 일부를 제공해준
616Randy Dunlap과 Gerrit Huizenga에게 감사한다. 또한 검토와 의견 그리고616Randy Dunlap과 Gerrit Huizenga에게 감사한다. 또한 검토와 의견 그리고
Documentation/kprobes.txt+1−0
@@ -285,6 +285,7 @@ architectures: · 284 unmodified lines
285- sparc64 (Return probes not yet implemented.)285- sparc64 (Return probes not yet implemented.)
286- arm286- arm
287- ppc287- ppc
288- mips
288 289
2893. Configuring Kprobes2903. Configuring Kprobes
290 291
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
126kvm adjusts nmsrs to reflect the actual number of msrs and fills in126kvm adjusts nmsrs to reflect the actual number of msrs and fills in
127the indices array with their numbers.127the indices array with their numbers.
128 128
129Note: if kvm indicates supports MCE (KVM_CAP_MCE), then the MCE bank MSRs are
130not returned in the MSR list, as different vcpus can have a different number
131of banks, as set via the KVM_X86_SETUP_MCE ioctl.
132
1294.4 KVM_CHECK_EXTENSION1334.4 KVM_CHECK_EXTENSION
130 134
131Capability: basic135Capability: basic
@@ -160,29 +164,7 @@ Type: vm ioctl · 28 unmodified lines
160Parameters: struct kvm_memory_region (in)164Parameters: struct kvm_memory_region (in)
161Returns: 0 on success, -1 on error165Returns: 0 on success, -1 on error
162 166
163struct kvm_memory_region {167This ioctl is obsolete and has been removed.
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
173This ioctl allows the user to create or modify a guest physical memory
174slot. When changing an existing slot, it may be moved in the guest
175physical memory space, or its flags may be modified. It may not be
176resized. Slots may not overlap.
177
178The flags field supports just one flag, KVM_MEM_LOG_DIRTY_PAGES, which
179instructs kvm to keep track of writes to memory within the slot. See
180the KVM_GET_DIRTY_LOG ioctl.
181
182It is recommended to use the KVM_SET_USER_MEMORY_REGION ioctl instead
183of this API, if available. This newer API allows placing guest memory
184at specified locations in the host address space, yielding better
185control and easy access.
186 168
1874.6 KVM_CREATE_VCPU1694.6 KVM_CREATE_VCPU
188 170
@@ -226,17 +208,7 @@ Type: vm ioctl · 37 unmodified lines
226Parameters: struct kvm_memory_alias (in)208Parameters: struct kvm_memory_alias (in)
227Returns: 0 (success), -1 (error)209Returns: 0 (success), -1 (error)
228 210
229struct kvm_memory_alias {211This ioctl is obsolete and has been removed.
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
237Defines a guest physical address space region as an alias to another
238region. Useful for aliased address, for example the VGA low memory
239window. Should not be used with userspace memory.
240 212
2414.9 KVM_RUN2134.9 KVM_RUN
242 214
@@ -892,6 +864,174 @@ arguments. · 649 unmodified lines
892This ioctl is only useful after KVM_CREATE_IRQCHIP. Without an in-kernel864This ioctl is only useful after KVM_CREATE_IRQCHIP. Without an in-kernel
893irqchip, the multiprocessing state must be maintained by userspace.865irqchip, the multiprocessing state must be maintained by userspace.
894 866
8674.39 KVM_SET_IDENTITY_MAP_ADDR
868
869Capability: KVM_CAP_SET_IDENTITY_MAP_ADDR
870Architectures: x86
871Type: vm ioctl
872Parameters: unsigned long identity (in)
873Returns: 0 on success, -1 on error
874
875This ioctl defines the physical address of a one-page region in the guest
876physical address space. The region must be within the first 4GB of the
877guest physical address space and must not conflict with any memory slot
878or any mmio address. The guest may malfunction if it accesses this memory
879region.
880
881This ioctl is required on Intel-based hosts. This is needed on Intel hardware
882because of a quirk in the virtualization implementation (see the internals
883documentation when it pops into existence).
884
8854.40 KVM_SET_BOOT_CPU_ID
886
887Capability: KVM_CAP_SET_BOOT_CPU_ID
888Architectures: x86, ia64
889Type: vm ioctl
890Parameters: unsigned long vcpu_id
891Returns: 0 on success, -1 on error
892
893Define which vcpu is the Bootstrap Processor (BSP). Values are the same
894as the vcpu id in KVM_CREATE_VCPU. If this ioctl is not called, the default
895is vcpu 0.
896
8974.41 KVM_GET_XSAVE
898
899Capability: KVM_CAP_XSAVE
900Architectures: x86
901Type: vcpu ioctl
902Parameters: struct kvm_xsave (out)
903Returns: 0 on success, -1 on error
904
905struct kvm_xsave {
906 __u32 region[1024];
907};
908
909This ioctl would copy current vcpu's xsave struct to the userspace.
910
9114.42 KVM_SET_XSAVE
912
913Capability: KVM_CAP_XSAVE
914Architectures: x86
915Type: vcpu ioctl
916Parameters: struct kvm_xsave (in)
917Returns: 0 on success, -1 on error
918
919struct kvm_xsave {
920 __u32 region[1024];
921};
922
923This ioctl would copy userspace's xsave struct to the kernel.
924
9254.43 KVM_GET_XCRS
926
927Capability: KVM_CAP_XCRS
928Architectures: x86
929Type: vcpu ioctl
930Parameters: struct kvm_xcrs (out)
931Returns: 0 on success, -1 on error
932
933struct kvm_xcr {
934 __u32 xcr;
935 __u32 reserved;
936 __u64 value;
937};
938
939struct kvm_xcrs {
940 __u32 nr_xcrs;
941 __u32 flags;
942 struct kvm_xcr xcrs[KVM_MAX_XCRS];
943 __u64 padding[16];
944};
945
946This ioctl would copy current vcpu's xcrs to the userspace.
947
9484.44 KVM_SET_XCRS
949
950Capability: KVM_CAP_XCRS
951Architectures: x86
952Type: vcpu ioctl
953Parameters: struct kvm_xcrs (in)
954Returns: 0 on success, -1 on error
955
956struct kvm_xcr {
957 __u32 xcr;
958 __u32 reserved;
959 __u64 value;
960};
961
962struct kvm_xcrs {
963 __u32 nr_xcrs;
964 __u32 flags;
965 struct kvm_xcr xcrs[KVM_MAX_XCRS];
966 __u64 padding[16];
967};
968
969This ioctl would set vcpu's xcr to the value userspace specified.
970
9714.45 KVM_GET_SUPPORTED_CPUID
972
973Capability: KVM_CAP_EXT_CPUID
974Architectures: x86
975Type: system ioctl
976Parameters: struct kvm_cpuid2 (in/out)
977Returns: 0 on success, -1 on error
978
979struct 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
989struct 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
1000This ioctl returns x86 cpuid features which are supported by both the hardware
1001and kvm. Userspace can use the information returned by this ioctl to
1002construct cpuid information (for KVM_SET_CPUID2) that is consistent with
1003hardware, kernel, and userspace capabilities, and with user requirements (for
1004example, the user may wish to constrain cpuid to emulate older hardware,
1005or for feature consistency across a cluster).
1006
1007Userspace invokes KVM_GET_SUPPORTED_CPUID by passing a kvm_cpuid2 structure
1008with the 'nent' field indicating the number of entries in the variable-size
1009array 'entries'. If the number of entries is too low to describe the cpu
1010capabilities, an error (E2BIG) is returned. If the number is too high,
1011the 'nent' field is adjusted and an error (ENOMEM) is returned. If the
1012number is just right, the 'nent' field is adjusted to the number of valid
1013entries in the 'entries' array, which is then filled.
1014
1015The entries returned are the host cpuid as returned by the cpuid instruction,
1016with unknown or unsupported features masked out. The fields in each entry
1017are 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
8955. The kvm_run structure10355. The kvm_run structure
896 1036
897Application code obtains a pointer to the kvm_run structure by1037Application code obtains a pointer to the kvm_run structure by
Documentation/kvm/mmu.txt+48−4
@@ -77,10 +77,10 @@ Memory · 76 unmodified lines
77 77
78Guest memory (gpa) is part of the user address space of the process that is78Guest memory (gpa) is part of the user address space of the process that is
79using kvm. Userspace defines the translation between guest addresses and user79using kvm. Userspace defines the translation between guest addresses and user
80addresses (gpa->hva); note that two gpas may alias to the same gva, but not80addresses (gpa->hva); note that two gpas may alias to the same hva, but not
81vice versa.81vice versa.
82 82
83These gvas may be backed using any method available to the host: anonymous83These hvas may be backed using any method available to the host: anonymous
84memory, file backed memory, and device memory. Memory might be paged by the84memory, file backed memory, and device memory. Memory might be paged by the
85host at any time.85host at any time.
86 86
@@ -161,7 +161,7 @@ Shadow pages contain the following information: · 74 unmodified lines
161 role.cr4_pae:161 role.cr4_pae:
162 Contains the value of cr4.pae for which the page is valid (e.g. whether162 Contains the value of cr4.pae for which the page is valid (e.g. whether
163 32-bit or 64-bit gptes are in use).163 32-bit or 64-bit gptes are in use).
164 role.cr4_nxe:164 role.nxe:
165 Contains the value of efer.nxe for which the page is valid.165 Contains the value of efer.nxe for which the page is valid.
166 role.cr0_wp:166 role.cr0_wp:
167 Contains the value of cr0.wp for which the page is valid.167 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
180 guest pages as leaves.180 guest pages as leaves.
181 gfns:181 gfns:
182 An array of 512 guest frame numbers, one for each present pte. Used to182 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.
184 slot_bitmap:186 slot_bitmap:
185 A bitmap containing one bit per memory slot. If the page contains a pte187 A bitmap containing one bit per memory slot. If the page contains a pte
186 mapping a page from memory slot n, then bit n of slot_bitmap will be set188 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
296 - look up affected sptes through reverse map298 - look up affected sptes through reverse map
297 - drop (or update) translations299 - drop (or update) translations
298 300
301Emulating cr0.wp
302================
303
304If tdp is not enabled, the host must keep cr0.wp=1 so page write protection
305works for the guest kernel, not guest guest userspace. When the guest
306cr0.wp=1, this does not present a problem. However when the guest cr0.wp=0,
307we cannot map the permissions for gpte.u=1, gpte.w=0 to any spte (the
308semantics require allowing any guest kernel access plus user read access).
309
310We handle this by mapping the permissions to two possible sptes, depending
311on 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
320Large pages
321===========
322
323The mmu supports all combinations of large and small guest and host pages.
324Supported page sizes include 4k, 2M, 4M, and 1G. 4M pages are treated as
325two separate 2M pages, on both guest and host, since the mmu always uses PAE
326paging.
327
328To 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
337To check the last two conditions, the mmu maintains a ->write_count set of
338arrays for each memory slot and large page size. Every write protected page
339causes its write_count to be incremented, thus preventing instantiation of
340a large spte. The frames at the end of an unaligned memory slot have
341artificically inflated ->write_counts so they can never be instantiated.
342
299Further reading343Further reading
300===============344===============
301 345
Documentation/kvm/msr.txt+153−0
@@ -0,0 +1,153 @@
1KVM-specific MSRs.
2Glauber Costa <glommer@redhat.com>, Red Hat Inc, 2010
3=====================================================
4
5KVM makes use of some custom MSRs to service some requests.
6At present, this facility is only used by kvmclock.
7
8Custom MSRs have a range reserved for them, that goes from
90x4b564d00 to 0x4b564dff. There are MSRs outside this area,
10but they are deprecated and their use is discouraged.
11
12Custom MSR list
13--------
14
15The current supported Custom MSR list is:
16
17MSR_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
48MSR_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
118MSR_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
128MSR_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 @@
1Review checklist for kvm patches
2================================
3
41. The patch must follow Documentation/CodingStyle and
5 Documentation/SubmittingPatches.
6
72. Patches should be against kvm.git master branch.
8
93. 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
134. New state must include support for save/restore.
14
155. New features must default to off (userspace should explicitly request them).
16 Performance improvements can and should default to on.
17
186. New cpu features should be exposed via KVM_GET_SUPPORTED_CPUID2
19
207. Emulator changes should be accompanied by unit tests for qemu-kvm.git
21 kvm/test directory.
22
238. Changes should be vendor neutral when possible. Changes to common code
24 are better than duplicating changes to vendor code.
25
269. Similarly, prefer changes to arch independent code than to arch dependent
27 code.
28
2910. 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
3311. New guest visible features must either be documented in a hardware manual
34 or be accompanied by documentation.
35
3612. 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
173*******173*******
174 174
175Olaf Tauber, who did the real hard work when he developed acerhk175Olaf Tauber, who did the real hard work when he developed acerhk
176http://www.informatik.hu-berlin.de/~tauber/acerhk176http://www.cakey.de/acerhk/
177All the authors of laptop ACPI modules in the kernel, whose work177All the authors of laptop ACPI modules in the kernel, whose work
178was an inspiration in the early days of acer_acpi178was an inspiration in the early days of acer_acpi
179Mathieu Segaud, who solved the problem with having to modprobe the driver179Mathieu 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
960 subsystem, and follow all of the hwmon guidelines at960 subsystem, and follow all of the hwmon guidelines at
961 Documentation/hwmon.961 Documentation/hwmon.
962 962
963EXPERIMENTAL: Embedded controller register dump
964-----------------------------------------------
963 965
964EXPERIMENTAL: Embedded controller register dump -- /proc/acpi/ibm/ecdump966This feature is not included in the thinkpad driver anymore.
965------------------------------------------------------------------------967Instead the EC can be accessed through /sys/kernel/debug/ec with
966 968a userspace tool which can be found here:
967This feature is marked EXPERIMENTAL because the implementation969ftp://ftp.suse.com/pub/people/trenn/sources/ec
968directly accesses hardware registers and may not work as expected. USE
969WITH CAUTION! To use this feature, you need to supply the
970experimental=1 parameter when loading the module.
971
972This feature dumps the values of 256 embedded controller
973registers. Values which have changed since the last time the registers
974were dumped are marked with a star:
975
976[root@x40 ibm-acpi]# cat /proc/acpi/ibm/ecdump
977EC +00 +01 +02 +03 +04 +05 +06 +07 +08 +09 +0a +0b +0c +0d +0e +0f
978EC 0x00: a7 47 87 01 fe 96 00 08 01 00 cb 00 00 00 40 00
979EC 0x10: 00 00 ff ff f4 3c 87 09 01 ff 42 01 ff ff 0d 00
980EC 0x20: 00 00 00 00 00 00 00 00 00 00 00 03 43 00 00 80
981EC 0x30: 01 07 1a 00 30 04 00 00 *85 00 00 10 00 50 00 00
982EC 0x40: 00 00 00 00 00 00 14 01 00 04 00 00 00 00 00 00
983EC 0x50: 00 c0 02 0d 00 01 01 02 02 03 03 03 03 *bc *02 *bc
984EC 0x60: *02 *bc *02 00 00 00 00 00 00 00 00 00 00 00 00 00
985EC 0x70: 00 00 00 00 00 12 30 40 *24 *26 *2c *27 *20 80 *1f 80
986EC 0x80: 00 00 00 06 *37 *0e 03 00 00 00 0e 07 00 00 00 00
987EC 0x90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
988EC 0xa0: *ff 09 ff 09 ff ff *64 00 *00 *00 *a2 41 *ff *ff *e0 00
989EC 0xb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
990EC 0xc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
991EC 0xd0: 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
992EC 0xe0: 00 00 00 00 00 00 00 00 11 20 49 04 24 06 55 03
993EC 0xf0: 31 55 48 54 35 38 57 57 08 2f 45 73 07 65 6c 1a
994
995This feature can be used to determine the register holding the fan
996speed on some models. To do that, do the following:
997 970
971Use it to determine the register holding the fan
972speed on some models. To do that, do the following:
998 - make sure the battery is fully charged973 - make sure the battery is fully charged
999 - make sure the fan is running974 - make sure the fan is running
1000 - run 'cat /proc/acpi/ibm/ecdump' several times, once per second or so975 - use above mentioned tool to read out the EC
1001 976
1002The first step makes sure various charging-related values don't977Often fan and temperature values vary between
1003vary. The second ensures that the fan-related values do vary, since
1004the fan speed fluctuates a bit. The third will (hopefully) mark the
1005fan register with a star:
1006
1007[root@x40 ibm-acpi]# cat /proc/acpi/ibm/ecdump
1008EC +00 +01 +02 +03 +04 +05 +06 +07 +08 +09 +0a +0b +0c +0d +0e +0f
1009EC 0x00: a7 47 87 01 fe 96 00 08 01 00 cb 00 00 00 40 00
1010EC 0x10: 00 00 ff ff f4 3c 87 09 01 ff 42 01 ff ff 0d 00
1011EC 0x20: 00 00 00 00 00 00 00 00 00 00 00 03 43 00 00 80
1012EC 0x30: 01 07 1a 00 30 04 00 00 85 00 00 10 00 50 00 00
1013EC 0x40: 00 00 00 00 00 00 14 01 00 04 00 00 00 00 00 00
1014EC 0x50: 00 c0 02 0d 00 01 01 02 02 03 03 03 03 bc 02 bc
1015EC 0x60: 02 bc 02 00 00 00 00 00 00 00 00 00 00 00 00 00
1016EC 0x70: 00 00 00 00 00 12 30 40 24 27 2c 27 21 80 1f 80
1017EC 0x80: 00 00 00 06 *be 0d 03 00 00 00 0e 07 00 00 00 00
1018EC 0x90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1019EC 0xa0: ff 09 ff 09 ff ff 64 00 00 00 a2 41 ff ff e0 00
1020EC 0xb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1021EC 0xc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1022EC 0xd0: 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1023EC 0xe0: 00 00 00 00 00 00 00 00 11 20 49 04 24 06 55 03
1024EC 0xf0: 31 55 48 54 35 38 57 57 08 2f 45 73 07 65 6c 1a
1025
1026Another set of values that varies often is the temperature
1027readings. Since temperatures don't change vary fast, you can take978readings. Since temperatures don't change vary fast, you can take
1028several quick dumps to eliminate them.979several quick dumps to eliminate them.
1029 980
Documentation/ldm.txt+1−1
@@ -98,7 +98,7 @@ More Documentation · 97 unmodified lines
98There is an Overview of the LDM together with complete Technical Documentation.98There is an Overview of the LDM together with complete Technical Documentation.
99It is available for download.99It is available for download.
100 100
101 http://www.linux-ntfs.org/content/view/19/37/101 http://www.linux-ntfs.org/
102 102
103If you have any LDM questions that aren't answered in the documentation, email103If you have any LDM questions that aren't answered in the documentation, email
104me.104me.
Documentation/md.txt+1−1
@@ -1,5 +1,5 @@
1Tools that manage md devices can be found at1Tools 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/
3 3
4 4
5Boot time assembly of RAID arrays5Boot 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
32Silicon Laboratories site], see:32Silicon Laboratories site], see:
33 33
34- AN127: FLASH Programming via the C2 Interface at34- AN127: FLASH Programming via the C2 Interface at
35http://www.silabs.com/public/documents/tpub_doc/anote/Microcontrollers/Small_Form_Factor/en/an127.pdf, and35http://www.silabs.com/Support Documents/TechnicalDocs/an127.pdf
36 36
37- C2 Specification at37- C2 Specification at
38http://www.silabs.com/public/documents/tpub_doc/spec/Microcontrollers/en/C2spec.pdf,38http://www.silabs.com/pages/DownloadDoc.aspx?FILEURL=Support%20Documents/TechnicalDocs/an127.pdf&src=SearchResults
39 39
40however it implements a two wire serial communication protocol (bit40however it implements a two wire serial communication protocol (bit
41banging) designed to enable in-system programming, debugging, and41banging) designed to enable in-system programming, debugging, and
Documentation/mmc/00-INDEX+4−0
@@ -0,0 +1,4 @@
100-INDEX
2 - this file
3mmc-dev-attrs.txt
4 - info on SD and MMC device attributes
Documentation/mmc/mmc-dev-attrs.txt+56−0
@@ -0,0 +1,56 @@
1SD and MMC Device Attributes
2============================
3
4All 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
19Note 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
91ECC 2 cp5 cp4 cp3 cp2 cp1 cp0 1 191ECC 2 cp5 cp4 cp3 cp2 cp1 cp0 1 1
92 92
93I detected after writing this that ST application note AN182393I detected after writing this that ST application note AN1823
94(http://www.st.com/stonline/books/pdf/docs/10123.pdf) gives a much94(http://www.st.com/stonline/) gives a much
95nicer picture.(but they use line parity as term where I use row parity)95nicer picture.(but they use line parity as term where I use row parity)
96Oh well, I'm graphically challenged, so suffer with me for a moment :-)96Oh well, I'm graphically challenged, so suffer with me for a moment :-)
97And I could not reuse the ST picture anyway for copyright reasons.97And 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
31Large portions of this documentation were heavily borrowed from the guide31Large portions of this documentation were heavily borrowed from the guide
32written the original author of the 3c509 driver, Donald Becker. The master32written the original author of the 3c509 driver, Donald Becker. The master
33copy of that document, which contains notes on older versions of the driver,33copy of that document, which contains notes on older versions of the driver,
34currently resides on Scyld web server: http://www.scyld.com/network/3c509.html.34currently resides on Scyld web server: http://www.scyld.com/.
35 35
36 36
37(1) Special Driver Features37(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
72solution intended to be used for purposes other than development, please72solution intended to be used for purposes other than development, please
73obtain a tested driver from Intel Customer Support at:73obtain a tested driver from Intel Customer Support at:
74 74
75http://support.intel.com/support/notebook/sb/CS-006408.htm75http://www.intel.com/support/wireless/sb/CS-006408.htm
76
77 76
781. Introduction771. Introduction
79-----------------------------------------------78-----------------------------------------------
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
85solution intended to be used for purposes other than development, please 85solution intended to be used for purposes other than development, please
86obtain a tested driver from Intel Customer Support at:86obtain a tested driver from Intel Customer Support at:
87 87
88http://support.intel.com/support/notebook/sb/CS-006408.htm88http://support.intel.com
89 89
90 90
911. Introduction911. Introduction
@@ -171,7 +171,7 @@ Where the supported parameter are: · 79 unmodified lines
171 171
172 led172 led
173 Can be used to turn on experimental LED code.173 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.
175 175
176 mode176 mode
177 Can be used to set the default mode of the adapter. 177 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
27 in Franco's original source code distribution .tar.gz file. Support for27 in Franco's original source code distribution .tar.gz file. Support for
28 the sb1000 driver can be found at:28 the sb1000 driver can be found at:
29 29
30 http://home.adelphia.net/~siglercm/sb1000.html30 http://web.archive.org/web/*/http://home.adelphia.net/~siglercm/sb1000.html
31 http://linuxpower.cx/~cable/31 http://web.archive.org/web/*/http://linuxpower.cx/~cable/
32 32
33 along with these utilities.33 along with these utilities.
34 34
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
68list, mail to linux-arcnet@tichy.ch.uj.edu.pl.68list, mail to linux-arcnet@tichy.ch.uj.edu.pl.
69 69
70There are archives of the mailing list at:70There are archives of the mailing list at:
71 http://tichy.ch.uj.edu.pl/lists/linux-arcnet71 http://epistolary.org/mailman/listinfo.cgi/arcnet
72 72
73The people on linux-net@vger.kernel.org have also been known to be very73The people on linux-net@vger.kernel.org have also been known to be very
74helpful, especially when we're talking about ALPHA Linux kernels that may or74helpful, especially when we're talking about ALPHA Linux kernels that may or
@@ -79,7 +79,7 @@ Other Drivers and Info · 4 unmodified lines
79----------------------79----------------------
80 80
81You can try my ARCNET page on the World Wide Web at:81You 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/
83 83
84Also, SMC (one of the companies that makes ARCnet cards) has a WWW site you84Also, SMC (one of the companies that makes ARCnet cards) has a WWW site you
85might be interested in, which includes several drivers for various cards85might 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
493.3 Configuring Bonding Manually with Ifenslave493.3 Configuring Bonding Manually with Ifenslave
503.3.1 Configuring Multiple Bonds Manually503.3.1 Configuring Multiple Bonds Manually
513.4 Configuring Bonding Manually via Sysfs513.4 Configuring Bonding Manually via Sysfs
523.5 Overriding Configuration for Special Cases
52 53
534. Querying Bonding Configuration544. Querying Bonding Configuration
544.1 Bonding Configuration554.1 Bonding Configuration
@@ -1318,8 +1319,87 @@ echo 2000 > /sys/class/net/bond1/bonding/arp_interval · 1263 unmodified lines
1318echo +eth2 > /sys/class/net/bond1/bonding/slaves1319echo +eth2 > /sys/class/net/bond1/bonding/slaves
1319echo +eth3 > /sys/class/net/bond1/bonding/slaves1320echo +eth3 > /sys/class/net/bond1/bonding/slaves
1320 1321
1321 13223.5 Overriding Configuration for Special Cases
13224. Querying Bonding Configuration 1323----------------------------------------------
1324When using the bonding driver, the physical port which transmits a frame is
1325typically selected by the bonding driver, and is not relevant to the user or
1326system administrator. The output port is simply selected using the policies of
1327the selected bonding mode. On occasion however, it is helpful to direct certain
1328classes of traffic to certain physical interfaces on output to implement
1329slightly more complex policies. For example, to reach a web server over a
1330bonded interface in which eth0 connects to a private network, while eth1
1331connects via a public network, it may be desirous to bias the bond to send said
1332traffic over eth0 first, using eth1 only as a fall back, while all other traffic
1333can safely be sent over either interface. Such configurations may be achieved
1334using the traffic control utilities inherent in linux.
1335
1336By default the bonding driver is multiqueue aware and 16 queues are created
1337when the driver initializes (see Documentation/networking/multiqueue.txt
1338for details). If more or less queues are desired the module parameter
1339tx_queues can be used to change this value. There is no sysfs parameter
1340available as the allocation is done at module init time.
1341
1342The output of the file /proc/net/bonding/bondX has changed so the output Queue
1343ID is now printed for each slave:
1344
1345Bonding Mode: fault-tolerance (active-backup)
1346Primary Slave: None
1347Currently Active Slave: eth0
1348MII Status: up
1349MII Polling Interval (ms): 0
1350Up Delay (ms): 0
1351Down Delay (ms): 0
1352
1353Slave Interface: eth0
1354MII Status: up
1355Link Failure Count: 0
1356Permanent HW addr: 00:1a:a0:12:8f:cb
1357Slave queue ID: 0
1358
1359Slave Interface: eth1
1360MII Status: up
1361Link Failure Count: 0
1362Permanent HW addr: 00:1a:a0:12:8f:cc
1363Slave queue ID: 2
1364
1365The queue_id for a slave can be set using the command:
1366
1367# echo "eth1:2" > /sys/class/net/bond0/bonding/queue_id
1368
1369Any interface that needs a queue_id set should set it with multiple calls
1370like the one above until proper priorities are set for all interfaces. On
1371distributions that allow configuration via initscripts, multiple 'queue_id'
1372arguments can be added to BONDING_OPTS to set all needed slave queues.
1373
1374These queue id's can be used in conjunction with the tc utility to configure
1375a multiqueue qdisc and filters to bias certain traffic to transmit on certain
1376slave devices. For instance, say we wanted, in the above configuration to
1377force all traffic bound to 192.168.1.100 to use eth1 in the bond as its output
1378device. 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
1385These commands tell the kernel to attach a multiqueue queue discipline to the
1386bond0 interface and filter traffic enqueued to it, such that packets with a dst
1387ip of 192.168.1.100 have their output queue mapping value overwritten to 2.
1388This value is then passed into the driver, causing the normal output path
1389selection policy to be overridden, selecting instead qid 2, which maps to eth1.
1390
1391Note that qid values begin at 1. Qid 0 is reserved to initiate to the driver
1392that normal output policy selection should take place. One benefit to simply
1393leaving the qid for a slave to 0 is the multiqueue awareness in the bonding
1394driver that is now present. This awareness allows tc filters to be placed on
1395slave devices as well as bond devices and the bonding driver will simply act as
1396a pass-through for selecting output queues on the slave device rather than
1397output port selection.
1398
1399This feature first appeared in bonding driver version 3.7.0 and support for
1400output slave selection was limited to round-robin and active-backup modes.
1401
14024 Querying Bonding Configuration
1323=================================1403=================================
1324 1404
13254.1 Bonding Configuration14054.1 Bonding Configuration
@@ -2432,7 +2512,7 @@ be found at: · 1106 unmodified lines
2432https://lists.sourceforge.net/lists/listinfo/bonding-devel2512https://lists.sourceforge.net/lists/listinfo/bonding-devel
2433 2513
2434Donald Becker's Ethernet Drivers and diag programs may be found at :2514Donald 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/
2436 2516
2437You will also find a lot of information regarding Ethernet, NWay, MII,2517You will also find a lot of information regarding Ethernet, NWay, MII,
2438etc. at www.scyld.com.2518etc. 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
5Running CAIF over SPI needs some extra setup, owing to the nature of SPI.
6Two extra GPIOs have been added in order to negotiate the transfers
7 between the master and the slave. The minimum requirement for running
8CAIF over SPI is a SPI slave chip and two GPIOs (more details below).
9Please note that running as a slave implies that you need to keep up
10with the master clock. An overrun or underrun event is fatal.
11
12- CAIF SPI framework:
13
14To make porting as easy as possible, the CAIF SPI has been divided in
15two parts. The first part (called the interface part) deals with all
16generic functionality such as length framing, SPI frame negotiation
17and SPI frame delivery and transmission. The other part is the CAIF
18SPI slave device part, which is the module that you have to write if
19you want to run SPI CAIF on a new hardware. This part takes care of
20the 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
83In order to optimize throughput, a number of SPI padding options are provided.
84Padding can be enabled independently for uplink and downlink transfers.
85Padding can be enabled for the head, the tail and for the total frame size.
86The padding needs to be correctly configured on both sides of the link.
87The padding can be changed via module parameters in cfspi_sspi.c or via
88the 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
107MODULE_LICENSE("GPL");
108
109struct sspi_struct {
110 struct cfspi_dev sdev;
111 struct cfspi_xfer *xfer;
112};
113
114static struct sspi_struct slave;
115static struct platform_device slave_device;
116
117static 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
128static 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
137static 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
150void 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
161static void sspi_release(struct device *dev)
162{
163 /*
164 * Here you should release your SPI device resources.
165 */
166}
167
168static 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
202static void __exit sspi_exit(void)
203{
204 platform_device_del(&slave_device);
205}
206
207module_init(sspi_init);
208module_exit(sspi_exit);
Documentation/networking/decnet.txt+1−1
@@ -4,7 +4,7 @@ · 3 unmodified lines
41) Other documentation....41) Other documentation....
5 5
6 o Project Home Pages6 o Project Home Pages
7 http://www.chygwyn.com/DECnet/ - Kernel info7 http://www.chygwyn.com/ - Kernel info
8 http://linux-decnet.sourceforge.net/ - Userland tools8 http://linux-decnet.sourceforge.net/ - Userland tools
9 http://www.sourceforge.net/projects/linux-decnet/ - Status page9 http://www.sourceforge.net/projects/linux-decnet/ - Status page
10 10
Documentation/networking/dns_resolver.txt+146−0
@@ -0,0 +1,146 @@
1 ===================
2 DNS Resolver Module
3 ===================
4
5Contents:
6
7 - Overview.
8 - Compilation.
9 - Setting up.
10 - Usage.
11 - Mechanism.
12 - Debugging.
13
14
15========
16OVERVIEW
17========
18
19The DNS resolver module provides a way for kernel services to make DNS queries
20by way of requesting a key of key type dns_resolver. These queries are
21upcalled to userspace through /sbin/request-key.
22
23These routines must be supported by userspace tools dns.upcall, cifs.upcall and
24request-key. It is under development and does not yet provide the full feature
25set. The features it does support include:
26
27 (*) Implements the dns_resolver key_type to contact userspace.
28
29It does not yet support the following AFS features:
30
31 (*) Dns query support for AFSDB resource record.
32
33This code is extracted from the CIFS filesystem.
34
35
36===========
37COMPILATION
38===========
39
40The module should be enabled by turning on the kernel configuration options:
41
42 CONFIG_DNS_RESOLVER - tristate "DNS Resolver support"
43
44
45==========
46SETTING UP
47==========
48
49To 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
51basic dname to IPv4/IPv6 address resolution, the following line should be
52added:
53
54 #OP TYPE DESC CO-INFO PROGRAM ARG1 ARG2 ARG3 ...
55 #====== ============ ======= ======= ==========================
56 create dns_resolver * * /usr/sbin/cifs.upcall %k
57
58To direct a query for query type 'foo', a line of the following should be added
59before 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=====
66USAGE
67=====
68
69To make use of this facility, one of the following functions that are
70implemented 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=========
108MECHANISM
109=========
110
111The dnsresolver module registers a key type called "dns_resolver". Keys of
112this type are used to transport and cache DNS lookup results from userspace.
113
114When dns_query() is invoked, it calls request_key() to search the local
115keyrings for a cached DNS result. If that fails to find one, it upcalls to
116userspace to get a new result.
117
118Upcalls to userspace are made through the request_key() upcall vector, and are
119directed 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
122The upcall handler program is responsible for querying the DNS, processing the
123result into a form suitable for passing to the keyctl_instantiate_key()
124routine. This then passes the data to dns_resolver_instantiate() which strips
125off and processes any options included in the data, and then attaches the
126remainder of the string to the key as its payload.
127
128The upcall handler program should set the expiry time on the key to that of the
129lowest TTL of all the records it has extracted a result from. This means that
130the key will be discarded and recreated when the data it holds has expired.
131
132dns_query() returns a copy of the value attached to the key, or an error if
133that is indicated instead.
134
135See <file:Documentation/keys-request-key.txt> for further information about
136request-key function.
137
138
139=========
140DEBUGGING
141=========
142
143Debugging messages can be turned on dynamically by writing a 1 into the
144following 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
39ForeThought CD-ROM supplied with your adapter by FORE Systems.39ForeThought CD-ROM supplied with your adapter by FORE Systems.
40 40
41You can also get the latest firmware images from FORE Systems at41You can also get the latest firmware images from FORE Systems at
42http://www.fore.com. Register TACTics Online and go to42http://en.wikipedia.org/wiki/FORE_Systems. Register TACTics Online and go to
43the 'software updates' pages. The firmware binaries are part of43the 'software updates' pages. The firmware binaries are part of
44the various ForeThought software distributions.44the various ForeThought software distributions.
45 45
Documentation/networking/igb.txt+132−0
@@ -0,0 +1,132 @@
1Linux* Base Driver for Intel(R) Network Connection
2==================================================
3
4Intel Gigabit Linux driver.
5Copyright(c) 1999 - 2010 Intel Corporation.
6
7Contents
8========
9
10- Identifying Your Adapter
11- Additional Configurations
12- Support
13
14Identifying Your Adapter
15========================
16
17This driver supports all 82575, 82576 and 82580-based Intel (R) gigabit network
18connections.
19
20For specific information on how to identify your adapter, go to the Adapter &
21Driver ID Guide at:
22
23 http://support.intel.com/support/go/network/adapter/idguide.htm
24
25Command Line Parameters
26=======================
27
28The default value for each parameter is generally the recommended setting,
29unless otherwise noted.
30
31max_vfs
32-------
33Valid Range: 0-7
34Default Value: 0
35
36This parameter adds support for SR-IOV. It causes the driver to spawn up to
37max_vfs worth of virtual function.
38
39Additional 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
119Support
120=======
121
122For general information, go to the Intel support website at:
123
124 www.intel.com/support/
125
126or the Intel Wired Networking project hosted by Sourceforge at:
127
128 http://sourceforge.net/projects/e1000
129
130If an issue is identified with the released source code on the supported
131kernel with a supported adapter, email the specific information related
132to the issue to e1000-devel@lists.sf.net
Documentation/networking/igbvf.txt+78−0
@@ -0,0 +1,78 @@
1Linux* Base Driver for Intel(R) Network Connection
2==================================================
3
4Intel Gigabit Linux driver.
5Copyright(c) 1999 - 2010 Intel Corporation.
6
7Contents
8========
9
10- Identifying Your Adapter
11- Additional Configurations
12- Support
13
14This file describes the igbvf Linux* Base Driver for Intel Network Connection.
15
16The igbvf driver supports 82576-based virtual function devices that can only
17be activated on kernels that support SR-IOV. SR-IOV requires the correct
18platform and OS support.
19
20The igbvf driver requires the igb driver, version 2.0 or later. The igbvf
21driver supports virtual functions generated by the igb driver with a max_vfs
22value of 1 or greater. For more information on the max_vfs parameter refer
23to the README included with the igb driver.
24
25The guest OS loading the igbvf driver must support MSI-X interrupts.
26
27This driver is only supported as a loadable module at this time. Intel is
28not supplying patches against the kernel source to allow for static linking
29of the driver. For questions related to hardware requirements, refer to the
30documentation supplied with your Intel Gigabit adapter. All hardware
31requirements listed apply to use with Linux.
32
33Instructions on updating ethtool can be found in the section "Additional
34Configurations" later in this document.
35
36VLANs: There is a limit of a total of 32 shared VLANs to 1 or more VFs.
37
38Identifying Your Adapter
39========================
40
41The igbvf driver supports 82576-based virtual function devices that can only
42be activated on kernels that support SR-IOV.
43
44For more information on how to identify your adapter, go to the Adapter &
45Driver ID Guide at:
46
47 http://support.intel.com/support/go/network/adapter/idguide.htm
48
49For the latest Intel network drivers for Linux, refer to the following
50website. In the search field, enter your adapter name or type, or use the
51networking link on the left to search for your adapter:
52
53 http://downloadcenter.intel.com/scripts-df-external/Support_Intel.aspx
54
55Additional 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
65Support
66=======
67
68For general information, go to the Intel support website at:
69
70 http://support.intel.com
71
72or the Intel Wired Networking project hosted by Sourceforge at:
73
74 http://sourceforge.net/projects/e1000
75
76If an issue is identified with the released source code on the supported
77kernel with a supported adapter, email the specific information related
78to 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
903arp_notify - BOOLEAN903arp_notify - BOOLEAN
904 Define mode for notification of address and device changes.904 Define mode for notification of address and device changes.
905 0 - (default): do nothing905 0 - (default): do nothing
906 1 - Generate gratuitous arp replies when device is brought up906 1 - Generate gratuitous arp requests when device is brought up
907 or hardware address changes.907 or hardware address changes.
908 908
909arp_accept - BOOLEAN909arp_accept - BOOLEAN
Documentation/networking/ipddp.txt+0−5
@@ -36,11 +36,6 @@ AppleTalk-IP to IP decapsulation. · 35 unmodified lines
36Basic instructions for user space tools36Basic instructions for user space tools
37=======================================37=======================================
38 38
39To enable AppleTalk-IP decapsulation/encapsulation you will need the
40proper tools. You can get the tools for decapsulation from
41http://spacs1.spacs.k12.wi.us/~jschlst/index.html and for encapsulation
42from http://www.maths.unm.edu/~bradford/ltpc.html
43
44I will briefly describe the operation of the tools, but you will39I will briefly describe the operation of the tools, but you will
45need to consult the supporting documentation for each set of tools.40need to consult the supporting documentation for each set of tools.
46 41
Documentation/networking/iphase.txt+1−1
@@ -22,7 +22,7 @@ The features and limitations of this driver are as follows: · 21 unmodified lines
22 - All variants of Interphase ATM PCI (i)Chip adapter cards are supported, 22 - All variants of Interphase ATM PCI (i)Chip adapter cards are supported,
23 including x575 (OC3, control memory 128K , 512K and packet memory 128K, 23 including x575 (OC3, control memory 128K , 512K and packet memory 128K,
24 512K and 1M), x525 (UTP25) and x531 (DS3 and E3). See 24 512K and 1M), x525 (UTP25) and x531 (DS3 and E3). See
25 http://www.iphase.com/site/iphase-web/?epi_menuItemID=e196f04b4b3b40502f150882e21046a025 http://www.iphase.com/
26 for details.26 for details.
27 - Only x86 platforms are supported.27 - Only x86 platforms are supported.
28 - SMP is supported.28 - 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
8raw access to network interface.8raw access to network interface.
9 9
10You can find the latest version of this document at:10You 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
12 12
13Howto can be found at:13Howto can be found at:
14 http://wiki.gnu-log.net (packet_mmap)14 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
56 56
57I'm aware of two implementations of PACKET_MMAP in libpcap:57I'm aware of two implementations of PACKET_MMAP in libpcap:
58 58
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)
60 http://public.lanl.gov/cpw/ (by Phil Wood, based on lastest libpcap)60 http://public.lanl.gov/cpw/ (by Phil Wood, based on lastest libpcap)
61 61
62The rest of this document is intended for people who want to understand62The 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
493 pfd.events = POLLOUT;493 pfd.events = POLLOUT;
494 retval = poll(&pfd, 1, timeout);494 retval = poll(&pfd, 1, timeout);
495 495
496-------------------------------------------------------------------------------
497+ PACKET_TIMESTAMP
498-------------------------------------------------------------------------------
499
500The PACKET_TIMESTAMP setting determines the source of the timestamp in
501the packet meta information. If your NIC is capable of timestamping
502packets in hardware, you can request those hardware timestamps to used.
503Note: you may need to enable the generation of hardware timestamps with
504SIOCSHWTSTAMP.
505
506PACKET_TIMESTAMP accepts the same integer bit field as
507SO_TIMESTAMPING. However, only the SOF_TIMESTAMPING_SYS_HARDWARE
508and SOF_TIMESTAMPING_RAW_HARDWARE values are recognized by
509PACKET_TIMESTAMP. SOF_TIMESTAMPING_SYS_HARDWARE takes precedence over
510SOF_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
516If PACKET_TIMESTAMP is not set, a software timestamp generated inside
517the networking stack is used (the behavior before this setting was added).
518
519See include/linux/net_tstamp.h and Documentation/networking/timestamping
520for more information on hardware timestamps.
521
496--------------------------------------------------------------------------------522--------------------------------------------------------------------------------
497+ THANKS523+ THANKS
498--------------------------------------------------------------------------------524--------------------------------------------------------------------------------
Documentation/networking/pktgen.txt+5−0
@@ -151,6 +151,8 @@ Examples: · 150 unmodified lines
151 151
152 pgset stop aborts injection. Also, ^C aborts generator.152 pgset stop aborts injection. Also, ^C aborts generator.
153 153
154 pgset "rate 300M" set rate to 300 Mb/s
155 pgset "ratep 1000000" set rate to 1Mpps
154 156
155Example scripts157Example scripts
156===============158===============
@@ -241,6 +243,9 @@ src6 · 84 unmodified lines
241flows243flows
242flowlen244flowlen
243 245
246rate
247ratep
248
244References:249References:
245ftp://robur.slu.se/pub/Linux/net-development/pktgen-testing/250ftp://robur.slu.se/pub/Linux/net-development/pktgen-testing/
246ftp://robur.slu.se/pub/Linux/net-development/pktgen-testing/examples/251ftp://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
13 13
14As of kernel 2.3.18, the ray_cs driver is part of the Linux kernel14As of kernel 2.3.18, the ray_cs driver is part of the Linux kernel
15source. My web page for the development of ray_cs is at15source. My web page for the development of ray_cs is at
16http://world.std.com/~corey/raylink.html and I can be emailed at16http://web.ralinktech.com/ralink/Home/Support/Linux.html
17corey@world.std.com17and I can be emailed at corey@world.std.com
18 18
19The kernel driver is based on ray_cs-1.62.tgz19The kernel driver is based on ray_cs-1.62.tgz
20 20
Documentation/networking/s2io.txt+2−1
@@ -133,7 +133,8 @@ bring down CPU utilization. · 132 unmodified lines
133** For AMD opteron platforms with 8131 chipset, MMRBC=1 and MOST=1 are 133** For AMD opteron platforms with 8131 chipset, MMRBC=1 and MOST=1 are
134recommended as safe parameters.134recommended as safe parameters.
135For more information, please review the AMD8131 errata at135For more information, please review the AMD8131 errata at
136http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/26310.pdf136http://vip.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/
13726310_AMD-8131_HyperTransport_PCI-X_Tunnel_Revision_Guide_rev_3_18.pdf
137 138
1386. Available Downloads1396. Available Downloads
139Neterion "s2io" driver in Red Hat and Suse 2.6-based distributions is kept up 140Neterion "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
2(C) 1998 James Banks2(C) 1998 James Banks
3(C) 1999-2001 Torben Mathiasen <tmm@image.dk, torben.mathiasen@compaq.com>3(C) 1999-2001 Torben Mathiasen <tmm@image.dk, torben.mathiasen@compaq.com>
4 4
5For driver information/updates visit http://opensource.compaq.com5For driver information/updates visit http://www.compaq.com
6 6
7 7
8TLAN driver for Linux, version 1.14a8TLAN driver for Linux, version 1.14a
@@ -113,5 +113,5 @@ III. Things to try if you have problems. · 104 unmodified lines
113 113
114There is also a tlan mailing list which you can join by sending "subscribe tlan"114There is also a tlan mailing list which you can join by sending "subscribe tlan"
115in the body of an email to majordomo@vuser.vu.union.edu.115in the body of an email to majordomo@vuser.vu.union.edu.
116There is also a tlan website at http://opensource.compaq.com116There is also a tlan website at http://www.compaq.com
117 117
Documentation/networking/udplite.txt+5−8
@@ -11,11 +11,13 @@ · 10 unmodified lines
11 This file briefly describes the existing kernel support and the socket API.11 This file briefly describes the existing kernel support and the socket API.
12 For in-depth information, you can consult:12 For in-depth information, you can consult:
13 13
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/
15 From here you can also download some example application source code.16 From here you can also download some example application source code.
16 17
17 o The UDP-Lite HOWTO on18 o The UDP-Lite HOWTO on
18 http://www.erg.abdn.ac.uk/users/gerrit/udp-lite/files/UDP-Lite-HOWTO.txt19 http://web.archive.org/web/*/http://www.erg.abdn.ac.uk/users/gerrit/udp-lite/
20 files/UDP-Lite-HOWTO.txt
19 21
20 o The Wireshark UDP-Lite WiKi (with capture files):22 o The Wireshark UDP-Lite WiKi (with capture files):
21 http://wiki.wireshark.org/Lightweight_User_Datagram_Protocol23 http://wiki.wireshark.org/Lightweight_User_Datagram_Protocol
@@ -26,12 +28,7 @@ · 4 unmodified lines
26 I) APPLICATIONS28 I) APPLICATIONS
27 29
28 Several applications have been ported successfully to UDP-Lite. Ethereal30 Several applications have been ported successfully to UDP-Lite. Ethereal
29 (now called wireshark) has UDP-Litev4/v6 support by default. The tarball on31 (now called wireshark) has UDP-Litev4/v6 support by default.
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
35 Porting applications to UDP-Lite is straightforward: only socket level and32 Porting applications to UDP-Lite is straightforward: only socket level and
36 IPPROTO need to be changed; senders additionally set the checksum coverage33 IPPROTO need to be changed; senders additionally set the checksum coverage
37 length (default = header length = 8). Details are in the next section.34 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
7Lucent. Under this generic name is hidden quite a variety of hardware,
8and 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
21of the Wavelan, now discontinued. The device is 2 Mb/s, composed of a
22Intel 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
40generation of the Wavelan, now discontinued. The device is 2 Mb/s,
41composed of a Intel 82593 controller (totally different from the 82586)
42and 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,
56which is 802.11 compatible. Depending on version, it is 2 Mb/s or 11
57Mb/s, with or without encryption, all implemented in Lucent specific
58DSP (the Hermes).
59 This is a GPL full source PCMCIA driver (ISA is just a Pcmcia
60card 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
68driver, the main difference is that it is based on a binary library
69and supported by Lucent.
70
71 I hope it clears the confusion ;-)
72
73 Jean
Documentation/padata.txt+76−23
@@ -1,5 +1,5 @@
1The padata parallel execution mechanism1The padata parallel execution mechanism
2Last updated for 2.6.342Last updated for 2.6.36
3 3
4Padata is a mechanism by which the kernel can farm work out to be done in4Padata is a mechanism by which the kernel can farm work out to be done in
5parallel on multiple CPUs while retaining the ordering of tasks. It was5parallel 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
13 13
14 #include <linux/padata.h>14 #include <linux/padata.h>
15 15
16 struct padata_instance *padata_alloc(const struct cpumask *cpumask,16 struct padata_instance *padata_alloc(struct workqueue_struct *wq,
17 struct workqueue_struct *wq);17 const struct cpumask *pcpumask,
18 const struct cpumask *cbcpumask);
18 19
19The cpumask describes which processors will be used to execute work20The pcpumask describes which processors will be used to execute work
20submitted to this instance. The workqueue wq is where the work will21submitted to this instance in parallel. The cbcpumask defines which
21actually be done; it should be a multithreaded queue, naturally.22processors are allowed to be used as the serialization callback processor.
23The workqueue wq is where the work will actually be done; it should be
24a multithreaded queue, naturally.
25
26To allocate a padata instance with the cpu_possible_mask for both
27cpumasks this helper function can be used:
28
29 struct padata_instance *padata_alloc_possible(struct workqueue_struct *wq);
30
31Note: Padata maintains two kinds of cpumasks internally. The user supplied
32cpumasks, submitted by padata_alloc/padata_alloc_possible and the 'usable'
33cpumasks. The usable cpumasks are always a subset of active CPUs in the
34user supplied cpumasks; these are the cpumasks padata actually uses. So
35it is legal to supply a cpumask to padata that contains offline CPUs.
36Once an offline CPU in the user supplied cpumask comes online, padata
37is going to use it.
22 38
23There are functions for enabling and disabling the instance:39There are functions for enabling and disabling the instance:
24 40
25 void padata_start(struct padata_instance *pinst);41 int padata_start(struct padata_instance *pinst);
26 void padata_stop(struct padata_instance *pinst);42 void padata_stop(struct padata_instance *pinst);
27 43
28These functions literally do nothing beyond setting or clearing the44These functions are setting or clearing the "PADATA_INIT" flag;
29"padata_start() was called" flag; if that flag is not set, other functions45if that flag is not set, other functions will refuse to work.
30will refuse to work.46padata_start returns zero on success (flag set) or -EINVAL if the
47padata cpumask contains no active CPU (flag not set).
48padata_stop clears the flag and blocks until the padata instance
49is unused.
31 50
32The list of CPUs to be used can be adjusted with these functions:51The list of CPUs to be used can be adjusted with these functions:
33 52
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,
35 cpumask_var_t cpumask);57 cpumask_var_t cpumask);
36 int padata_add_cpu(struct padata_instance *pinst, int cpu);58 int padata_add_cpu(struct padata_instance *pinst, int cpu, int mask);
37 int padata_remove_cpu(struct padata_instance *pinst, int cpu);59 int padata_remove_cpu(struct padata_instance *pinst, int cpu, int mask);
60
61Changing the CPU masks are expensive operations, though, so it should not be
62done with great frequency.
63
64It's possible to change both cpumasks of a padata instance with
65padata_set_cpumasks by specifying the cpumasks for parallel execution (pcpumask)
66and for the serial callback function (cbcpumask). padata_set_cpumask is used to
67change just one of the cpumasks. Here cpumask_type is one of PADATA_CPU_SERIAL,
68PADATA_CPU_PARALLEL and cpumask specifies the new cpumask to use.
69To simply add or remove one CPU from a certain cpumask the functions
70padata_add_cpu/padata_remove_cpu are used. cpu specifies the CPU to add or
71remove and mask is one of PADATA_CPU_SERIAL, PADATA_CPU_PARALLEL.
72
73If a user is interested in padata cpumask changes, he can register to
74the padata cpumask change notifier:
75
76 int padata_register_cpumask_notifier(struct padata_instance *pinst,
77 struct notifier_block *nblock);
78
79To unregister from that notifier:
80
81 int padata_unregister_cpumask_notifier(struct padata_instance *pinst,
82 struct notifier_block *nblock);
83
84The padata cpumask change notifier notifies about changes of the usable
85cpumasks, i.e. the subset of active CPUs in the user supplied cpumask.
86
87Padata calls the notifier chain with:
88
89 blocking_notifier_call_chain(&pinst->cpumask_change_notifier,
90 notification_mask,
91 &pd_new->cpumask);
38 92
39Changing the CPU mask has the look of an expensive operation, though, so it93Here cpumask_change_notifier is registered notifier, notification_mask
40probably should not be done with great frequency.94is one of PADATA_CPU_SERIAL, PADATA_CPU_PARALLEL and cpumask is a pointer
95to a struct padata_cpumask that contains the new cpumask information.
41 96
42Actually submitting work to the padata instance requires the creation of a97Actually submitting work to the padata instance requires the creation of a
43padata_priv structure:98padata_priv structure:
@@ -49,8 +104,8 @@ padata_priv structure: · 5 unmodified lines
49 };104 };
50 105
51This structure will almost certainly be embedded within some larger106This structure will almost certainly be embedded within some larger
52structure specific to the work to be done. Most its fields are private to107structure specific to the work to be done. Most of its fields are private to
53padata, but the structure should be zeroed at initialization time, and the108padata, but the structure should be zeroed at initialisation time, and the
54parallel() and serial() functions should be provided. Those functions will109parallel() and serial() functions should be provided. Those functions will
55be called in the process of getting the work done as we will see110be called in the process of getting the work done as we will see
56momentarily.111momentarily.
@@ -63,12 +118,10 @@ The submission of work is done with: · 6 unmodified lines
63The pinst and padata structures must be set up as described above; cb_cpu118The pinst and padata structures must be set up as described above; cb_cpu
64specifies which CPU will be used for the final callback when the work is119specifies which CPU will be used for the final callback when the work is
65done; it must be in the current instance's CPU mask. The return value from120done; it must be in the current instance's CPU mask. The return value from
66padata_do_parallel() is a little strange; zero is an error return121padata_do_parallel() is zero on success, indicating that the work is in
67indicating that the caller forgot the padata_start() formalities. -EBUSY122progress. -EBUSY means that somebody, somewhere else is messing with the
68means that somebody, somewhere else is messing with the instance's CPU123instance's CPU mask, while -EINVAL is a complaint about cb_cpu not being
69mask, while -EINVAL is a complaint about cb_cpu not being in that CPU mask.124in that CPU mask or about a not running instance.
70If all goes well, this function will return -EINPROGRESS, indicating that
71the work is in progress.
72 125
73Each task submitted to padata_do_parallel() will, in turn, be passed to126Each task submitted to padata_do_parallel() will, in turn, be passed to
74exactly one call to the above-mentioned parallel() function, on one CPU, so127exactly one call to the above-mentioned parallel() function, on one CPU, so
Documentation/pcmcia/driver-changes.txt+12−0
@@ -1,4 +1,16 @@
1This file details changes in 2.6 which affect PCMCIA card driver authors:1This 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
2* No dev_node_t (as of 2.6.35)14* No dev_node_t (as of 2.6.35)
3 There is no more need to fill out a "dev_node_t" structure.15 There is no more need to fill out a "dev_node_t" structure.
4 16
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
28Go ahead and start both. If ACPI or APM is not available on your28Go ahead and start both. If ACPI or APM is not available on your
29system the associated daemon will exit gracefully.29system the associated daemon will exit gracefully.
30 30
31 apmd: http://worldvisions.ca/~apenwarr/apmd/31 apmd: http://ftp.debian.org/pool/main/a/apmd/
32 acpid: http://acpid.sf.net/32 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
179 179
180To verify that the STR works, it is generally more convenient to use the s2ram180To verify that the STR works, it is generally more convenient to use the s2ram
181tool available from http://suspend.sf.net and documented at181tool available from http://suspend.sf.net and documented at
182http://en.opensuse.org/s2ram . However, before doing that it is recommended to182http://en.opensuse.org/SDB:Suspend_to_RAM.
183carry out STR testing using the facility described in section 1.
184 183
185Namely, after writing "freezer", "devices", "platform", "processors", or "core"184Namely, after writing "freezer", "devices", "platform", "processors", or "core"
186into /sys/power/pm_test (available if the kernel is compiled with185into /sys/power/pm_test (available if the kernel is compiled with
Documentation/power/tricks.txt+1−1
@@ -1,6 +1,6 @@
1 swsusp/S3 tricks1 swsusp/S3 tricks
2 ~~~~~~~~~~~~~~~~2 ~~~~~~~~~~~~~~~~
3Pavel Machek <pavel@suse.cz>3Pavel Machek <pavel@ucw.cz>
4 4
5If you want to trick swsusp/S3 into working, you might want to try:5If you want to trick swsusp/S3 into working, you might want to try:
6 6
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
67 POSTing bios works. Ole Rohne has patch to do just that at67 POSTing bios works. Ole Rohne has patch to do just that at
68 http://dev.gentoo.org/~marineam/patch-radeonfb-2.6.11-rc2-mm2.68 http://dev.gentoo.org/~marineam/patch-radeonfb-2.6.11-rc2-mm2.
69 69
70(8) on some systems, you can use the video_post utility mentioned here:70(8) on some systems, you can use the video_post utility and or
71 http://bugzilla.kernel.org/show_bug.cgi?id=3670. Do echo 3 > /sys/power/state71 do echo 3 > /sys/power/state && /usr/sbin/video_post - which will
72 && /usr/sbin/video_post - which will initialize the display in console mode.72 initialize the display in console mode. If you are in X, you can switch
73 If you are in X, you can switch to a virtual terminal and back to X using73 to a virtual terminal and back to X using CTRL+ALT+F1 - CTRL+ALT+F7 to get
74 CTRL+ALT+F1 - CTRL+ALT+F7 to get the display working in graphical mode again.74 the display working in graphical mode again.
75 75
76Now, if you pass acpi_sleep=something, and it does not work with your76Now, if you pass acpi_sleep=something, and it does not work with your
77bios, you'll get a hard crash during resume. Be careful. Also it is77bios, 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
177Asus A7V8X nVidia RIVA TNT2 model 64 s3_bios,s3_mode (4)177Asus A7V8X nVidia RIVA TNT2 model 64 s3_bios,s3_mode (4)
178 178
179 179
180(*) from http://www.ubuntulinux.org/wiki/HoaryPMResults, not sure180(*) from https://wiki.ubuntu.com/HoaryPMResults, not sure
181 which options to use. If you know, please tell me.181 which options to use. If you know, please tell me.
182 182
183(***) To be tested with a newer kernel.183(***) 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
1048 1048
1049 1049
1050dtc source code can be found at1050dtc source code can be found at
1051<http://ozlabs.org/~dgibson/dtc/dtc.tar.gz>1051<http://git.jdl.com/gitweb/?p=dtc.git>
1052 1052
1053WARNING: This version is still in early development stage; the1053WARNING: This version is still in early development stage; the
1054resulting device-tree "blobs" have not yet been validated with the1054resulting 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
4drive DVI monitors.4drive DVI monitors.
5 5
6Required properties:6Required properties:
7- compatible : should be "fsl-diu".7- compatible : should be "fsl,diu" or "fsl,mpc5121-diu".
8- reg : should contain at least address and length of the DIU register8- reg : should contain at least address and length of the DIU register
9 set.9 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
14Optional 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.
11 18
12Example (MPC8610HPCD):19Example (MPC8610HPCD):
13 display@2c000 {20 display@2c000 {
@@ -16,3 +23,12 @@ Example (MPC8610HPCD): · 2 unmodified lines
16 interrupts = <72 2>;23 interrupts = <72 2>;
17 interrupt-parent = <&mpic>;24 interrupt-parent = <&mpic>;
18 };25 };
26
27Example 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
14 reports inverted write-protect state;14 reports inverted write-protect state;
15 - sdhci,1-bit-only : (optional) specifies that a controller can15 - sdhci,1-bit-only : (optional) specifies that a controller can
16 only handle 1-bit data transfers.16 only handle 1-bit data transfers.
17 - sdhci,auto-cmd12: (optional) specifies that a controller can
18 only handle auto CMD12.
17 19
18Example:20Example:
19 21
Documentation/powerpc/dts-bindings/fsl/i2c.txt+2−0
@@ -20,6 +20,7 @@ Recommended properties : · 19 unmodified lines
20 - fsl,preserve-clocking : boolean; if defined, the clock settings20 - fsl,preserve-clocking : boolean; if defined, the clock settings
21 from the bootloader are preserved (not touched).21 from the bootloader are preserved (not touched).
22 - clock-frequency : desired I2C bus clock frequency in Hz.22 - clock-frequency : desired I2C bus clock frequency in Hz.
23 - fsl,timeout : I2C bus timeout in microseconds.
23 24
24Examples :25Examples :
25 26
@@ -59,4 +60,5 @@ Examples : · 33 unmodified lines
59 interrupts = <43 2>;60 interrupts = <43 2>;
60 interrupt-parent = <&mpic>;61 interrupt-parent = <&mpic>;
61 clock-frequency = <400000>;62 clock-frequency = <400000>;
63 fsl,timeout = <10000>;
62 };64 };
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
364 364
365The functions implementing the task adjustments are rt_mutex_adjust_prio,365The functions implementing the task adjustments are rt_mutex_adjust_prio,
366__rt_mutex_adjust_prio (same as the former, but expects the task pi_lock366__rt_mutex_adjust_prio (same as the former, but expects the task pi_lock
367to already be taken), rt_mutex_get_prio, and rt_mutex_setprio.367to already be taken), rt_mutex_getprio, and rt_mutex_setprio.
368 368
369rt_mutex_getprio and rt_mutex_setprio are only used in __rt_mutex_adjust_prio.369rt_mutex_getprio and rt_mutex_setprio are only used in __rt_mutex_adjust_prio.
370 370
Documentation/s390/Debugging390.txt+1−1
@@ -2531,5 +2531,5 @@ Special Thanks · 2530 unmodified lines
2531==============2531==============
2532Special thanks to Neale Ferguson who maintains a much2532Special thanks to Neale Ferguson who maintains a much
2533prettier HTML version of this page at2533prettier HTML version of this page at
2534http://penguinvm.princeton.edu/notes.html#Debug3902534http://linuxvm.org/penguinvm/
2535Bob Grainger Stefan Bader & others for reporting bugs2535Bob 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
47The latest information on Linux support for BusLogic SCSI Host Adapters, as47The latest information on Linux support for BusLogic SCSI Host Adapters, as
48well as the most recent release of this driver and the latest firmware for the48well as the most recent release of this driver and the latest firmware for the
49BT-948/958/958D, will always be available from my Linux Home Page at URL49BT-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/".
51 51
52Bug reports should be sent via electronic mail to "lnz@dandelion.com". Please52Bug reports should be sent via electronic mail to "lnz@dandelion.com". Please
53include with the bug report the complete configuration messages reported by the53include 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
807 lpfc_disc_done/lpfc_do_dpc cleanup - lpfc_disc_done can return807 lpfc_disc_done/lpfc_do_dpc cleanup - lpfc_disc_done can return
808 void - move lpfc_do_dpc and lpfc_disc_done to lpfc_hbadisc.c -808 void - move lpfc_do_dpc and lpfc_disc_done to lpfc_hbadisc.c -
809 remove checking of list emptiness before calling lpfc_disc_done,809 remove checking of list emptiness before calling lpfc_disc_done,
810 it handles the emtpy list case just fine and the additional810 it handles the empty list case just fine and the additional
811 instructions cost less then the bustlocked spinlock operations.811 instructions cost less then the bustlocked spinlock operations.
812 * Integrated patch from Christoph Hellwig: This adds a new 64bit812 * Integrated patch from Christoph Hellwig: This adds a new 64bit
813 counter instead, brd_no isn't reused anymore. Also some tiny813 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
215 215
2163. Convert pci_module_init to pci_register_driver2163. Convert pci_module_init to pci_register_driver
217 Convert from pci_module_init to pci_register_driver217 Convert from pci_module_init to pci_register_driver
218 (from:http://kerneljanitors.org/TODO)218 (from:http://kernelnewbies.org/KernelJanitors/TODO)
219 - Signed-off-by: Domen Puncer <domen@coderock.org>219 - Signed-off-by: Domen Puncer <domen@coderock.org>
220 220
2214. Use the pre defined DMA mask constants from dma-mapping.h2214. 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
13host adapters. All of BusLogic's other SCSI host adapters, including the13host adapters. All of BusLogic's other SCSI host adapters, including the
14MultiMaster line, currently support the Linux operating system. Linux14MultiMaster line, currently support the Linux operating system. Linux
15drivers and information will be available on October 15th at15drivers and information will be available on October 15th at
16http://www.dandelion.com/Linux/.16http://sourceforge.net/projects/dandelion/.
17 17
18"Mylex is committed to supporting the Linux community," says Peter Shambora,18"Mylex is committed to supporting the Linux community," says Peter Shambora,
19vice president of marketing for Mylex. "We have supported Linux driver19vice 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
27SPARC, SGI MIPS, Motorola 68k, Digital Alpha AXP and Motorola PowerPC27SPARC, SGI MIPS, Motorola 68k, Digital Alpha AXP and Motorola PowerPC
28machines. It supports a wide range of software, including the X Window28machines. It supports a wide range of software, including the X Window
29System, Emacs, and TCP/IP networking. Further information is available at29System, Emacs, and TCP/IP networking. Further information is available at
30http://www.linux.org and http://www.ssc.com/linux.30http://www.linux.org and http://www.ssc.com/.
31 31
32FlashPoint Host Adapters32FlashPoint Host Adapters
33 33
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
2Mylex (formerly BusLogic) MultiMaster and FlashPoint SCSI Host Adapters.2Mylex (formerly BusLogic) MultiMaster and FlashPoint SCSI Host Adapters.
3 3
4The Mylex DAC960 PCI RAID Controllers are now supported. Please consult4The Mylex DAC960 PCI RAID Controllers are now supported. Please consult
5http://www.dandelion.com/Linux/ for further information on the DAC960 driver.5http://sourceforge.net/projects/dandelion for further information on the DAC960 driver.
Documentation/scsi/NinjaSCSI.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
3 3
41. Comment41. Comment
5 This is Workbit corp.'s(http://www.workbit.co.jp/) NinjaSCSI-35 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
8for Linux.6for Linux.
9 7
102. My Linux environment82. My Linux environment
Documentation/scsi/aic79xx.txt+1−1
@@ -447,7 +447,7 @@ The following information is available in this file: · 446 unmodified lines
447 http://www.adaptec.com/buy-cables/.447 http://www.adaptec.com/buy-cables/.
448 448
449 Europe449 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.
451 - To speak with a Technical Support Specialist, call, or email,451 - To speak with a Technical Support Specialist, call, or email,
452 * German: +49 89 4366 5522, Monday-Friday, 9:00-17:00 CET,452 * German: +49 89 4366 5522, Monday-Friday, 9:00-17:00 CET,
453 http://ask-de.adaptec.com/.453 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
344 http://www.adaptec.com/buy-cables/.344 http://www.adaptec.com/buy-cables/.
345 345
346 Europe346 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.
348 - To speak with a Technical Support Specialist, call, or email,348 - To speak with a Technical Support Specialist, call, or email,
349 * German: +49 89 4366 5522, Monday-Friday, 9:00-17:00 CET,349 * German: +49 89 4366 5522, Monday-Friday, 9:00-17:00 CET,
350 http://ask-de.adaptec.com/.350 http://ask-de.adaptec.com/.
Documentation/scsi/hpsa.txt+107−0
@@ -0,0 +1,107 @@
1
2HPSA - Hewlett Packard Smart Array driver
3-----------------------------------------
4
5This file describes the hpsa SCSI driver for HP Smart Array controllers.
6The hpsa driver is intended to supplant the cciss driver for newer
7Smart Array controllers. The hpsa driver is a SCSI driver, while the
8cciss driver is a "block" driver. Actually cciss is both a block
9driver (for logical drives) AND a SCSI driver (for tape drives). This
10"split-brained" design of the cciss driver is a source of excess
11complexity and eliminating that complexity is one of the reasons
12for hpsa to exist.
13
14Supported devices:
15------------------
16
17Smart Array P212
18Smart Array P410
19Smart Array P410i
20Smart Array P411
21Smart Array P812
22Smart Array P712m
23Smart Array P711m
24StorageWorks P1210m
25
26Additionally, older Smart Arrays may work with the hpsa driver if the kernel
27boot parameter "hpsa_allow_any=1" is specified, however these are not tested
28nor supported by HP with this driver. For older Smart Arrays, the cciss
29driver should still be used.
30
31HPSA 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
76HPSA 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
1109 Q: Where can I find the latest info about this driver?1109 Q: Where can I find the latest info about this driver?
1110 A: See the file MAINTAINERS for the current WWW-address, which offers1110 A: See the file MAINTAINERS for the current WWW-address, which offers
1111 updates, info and Q/A lists. At this file's origin, the webaddress1111 updates, info and Q/A lists. At this file's origin, the webaddress
1112 was: http://www.uni-mainz.de/~langm000/linux.html1112 was: http://www.staff.uni-mainz.de/mlang/linux.html
1113 Q: My SCSI-adapter is not recognized by the driver, what can I do?1113 Q: My SCSI-adapter is not recognized by the driver, what can I do?
1114 A: Just force it to be recognized by kernel parameters. See section 5.1.1114 A: Just force it to be recognized by kernel parameters. See section 5.1.
1115 If this really happens, do also send e-mail to the maintainer, as1115 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
135a CVS repository and some web pages. 135a CVS repository and some web pages.
136The tester's pages which contain recent news and updated drivers to download136The tester's pages which contain recent news and updated drivers to download
137can be found on137can be found on
138http://linux1.onstream.nl/test/138http://sourceforge.net/projects/osst/
139 139
140If you find any problems, please have a look at the tester's page in order140If you find any problems, please have a look at the tester's page in order
141to see whether the problem is already known and solved. Otherwise, please141to see whether the problem is already known and solved. Otherwise, please
Documentation/scsi/ppa.txt+3−3
@@ -1,13 +1,13 @@
1-------- Terse where to get ZIP Drive help info --------1-------- Terse where to get ZIP Drive help info --------
2 2
3General Iomega ZIP drive page for Linux:3General Iomega ZIP drive page for Linux:
4http://www.torque.net/~campbell/4http://web.archive.org/web/*/http://www.torque.net/~campbell/
5 5
6Driver archive for old drivers:6Driver archive for old drivers:
7http://www.torque.net/~campbell/ppa/7http://web.archive.org/web/*/http://www.torque.net/~campbell/ppa
8 8
9Linux Parport page (parallel port)9Linux Parport page (parallel port)
10http://www.torque.net/parport/10http://web.archive.org/web/*/http://www.torque.net/parport/
11 11
12Email list for Linux Parport12Email list for Linux Parport
13linux-parport@torque.net13linux-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
34This describes the sg version 3 driver found in the lk 2.4 series.34This describes the sg version 3 driver found in the lk 2.4 series.
35The LDP renders documents in single and multiple page HTML, postscript35The LDP renders documents in single and multiple page HTML, postscript
36and pdf. This document can also be found at:36and pdf. This document can also be found at:
37http://www.torque.net/sg/p/sg_v3_ho.html37http://sg.danny.cz/sg/p/sg_v3_ho.html
38 38
39Documentation for the version 2 sg driver found in the lk 2.2 series can39Documentation for the version 2 sg driver found in the lk 2.2 series can
40be found at http://www.torque.net/sg/p/scsi-generic.txt . A larger version40be found at http://sg.danny.cz/sg/. A larger version
41is at: http://www.torque.net/sg/p/scsi-generic_long.txt .41is at: http://sg.danny.cz/sg/p/scsi-generic_long.txt.
42 42
43The original documentation for the sg driver (prior to lk 2.2.6) can be43The original documentation for the sg driver (prior to lk 2.2.6) can be
44found at http://www.torque.net/sg/p/original/SCSI-Programming-HOWTO.txt44found 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
61 - sg_utils for the sg version 2 (and original) driver found in lk 2.261 - sg_utils for the sg version 2 (and original) driver found in lk 2.2
62 and earlier62 and earlier
63Both packages will work in the lk 2.4 series however sg3_utils offers more63Both packages will work in the lk 2.4 series however sg3_utils offers more
64capabilities. They can be found at: http://www.torque.net/sg and 64capabilities. They can be found at: http://sg.danny.cz/sg/sg3_utils.html and
65freshmeat.net65freshmeat.net
66 66
67Another approach is to look at the applications that use the sg driver.67Another 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
4the SCSI subsystem in the Linux kernel (lk) 2.4 series. See:4the SCSI subsystem in the Linux kernel (lk) 2.4 series. See:
5http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO . The LDP has single5http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO . The LDP has single
6and multiple page HTML renderings as well as postscript and pdf.6and multiple page HTML renderings as well as postscript and pdf.
7It can also be found at http://www.torque.net/scsi/SCSI-2.4-HOWTO .7It can also be found at:
8 8http://web.archive.org/web/*/http://www.torque.net/scsi/SCSI-2.4-HOWTO
9 9
10Notes on using modules in the SCSI subsystem10Notes on using modules in the SCSI subsystem
11============================================11============================================
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
43typically Documentation/scsi . Most documents are in plain43typically Documentation/scsi . Most documents are in plain
44(i.e. ASCII) text. This file is named scsi_mid_low_api.txt and can be 44(i.e. ASCII) text. This file is named scsi_mid_low_api.txt and can be
45found in that directory. A more recent copy of this document may be found45found in that directory. A more recent copy of this document may be found
46at http://www.torque.net/scsi/scsi_mid_low_api.txt.gz . 46at http://web.archive.org/web/20070107183357rn_1/sg.torque.net/scsi/.
47Many LLDs are documented there (e.g. aic7xxx.txt). The SCSI mid-level is47Many LLDs are documented there (e.g. aic7xxx.txt). The SCSI mid-level is
48briefly described in scsi.txt which contains a url to a document 48briefly described in scsi.txt which contains a url to a document
49describing the SCSI subsystem in the lk 2.4 series. Two upper level 49describing 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
76 GNU General Public License in this version. Please refer to GNU General76 GNU General Public License in this version. Please refer to GNU General
77 Public License announcement in each source code file for more detail.77 Public License announcement in each source code file for more detail.
78 78
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/.
80 80
81 This version of driver can be installed as Loadable Module (Module driver)81 This version of driver can be installed as Loadable Module (Module driver)
82 or built-in into kernel (Static driver). You may refer to following82 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
5By: David Howells <dhowells@redhat.com>
6
7The slow work item execution thread pool is a pool of threads for performing
8things that take a relatively long time, such as making mkdir calls.
9Typically, when processing something, these items will spend a lot of time
10blocking a thread on I/O, thus making that thread unavailable for doing other
11work.
12
13The standard workqueue model is unsuitable for this class of work item as that
14limits the owner to a single thread or a single thread per CPU. For some
15tasks, however, more threads - or fewer - are required.
16
17There is just one pool per system. It contains no threads unless something
18wants to use it - and that something must register its interest first. When
19the pool is active, the number of threads it contains is dynamic, varying
20between a maximum and minimum setting, depending on the load.
21
22
23====================
24CLASSES OF WORK ITEM
25====================
26
27This pool support two classes of work items:
28
29 (*) Slow work items.
30
31 (*) Very slow work items.
32
33The former are expected to finish much quicker than the latter.
34
35An operation of the very slow class may do a batch combination of several
36lookups, mkdirs, and a create for instance.
37
38An operation of the ordinarily slow class may, for example, write stuff or
39expand files, provided the time taken to do so isn't too long.
40
41Operations of both types may sleep during execution, thus tying up the thread
42loaned to it.
43
44A further class of work item is available, based on the slow work item class:
45
46 (*) Delayed slow work items.
47
48These are slow work items that have a timer to defer queueing of the item for
49a while.
50
51
52THREAD-TO-CLASS ALLOCATION
53--------------------------
54
55Not all the threads in the pool are available to work on very slow work items.
56The number will be between one and one fewer than the number of active threads.
57This is configurable (see the "Pool Configuration" section).
58
59All the threads are available to work on ordinarily slow work items, but a
60percentage of the threads will prefer to work on very slow work items.
61
62The configuration ensures that at least one thread will be available to work on
63very slow work items, and at least one thread will be available that won't work
64on very slow work items at all.
65
66
67=====================
68USING SLOW WORK ITEMS
69=====================
70
71Firstly, a module or subsystem wanting to make use of slow work items must
72register its interest:
73
74 int ret = slow_work_register_user(struct module *module);
75
76This will return 0 if successful, or a -ve error upon failure. The module
77pointer should be the module interested in using this facility (almost
78certainly THIS_MODULE).
79
80
81Slow 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
113A suitably set up work item can then be enqueued for processing:
114
115 int ret = slow_work_enqueue(&myitem);
116
117This will return a -ve error if the thread pool is unable to gain a reference
118on the item, 0 otherwise, or (for delayed work):
119
120 int ret = delayed_slow_work_enqueue(&myitem, my_jiffy_delay);
121
122
123The items are reference counted, so there ought to be no need for a flush
124operation. But as the reference counting is optional, means to cancel
125existing work items are also included:
126
127 cancel_slow_work(&myitem);
128 cancel_delayed_slow_work(&myitem);
129
130can be used to cancel pending work. The above cancel function waits for
131existing work to have been executed (or prevent execution of them, depending
132on timing).
133
134
135When all a module's slow work items have been processed, and the
136module has no further interest in the facility, it should unregister its
137interest:
138
139 slow_work_unregister_user(struct module *module);
140
141The module pointer is used to wait for all outstanding work items for that
142module before completing the unregistration. This prevents the put_ref() code
143from being taken away before it completes. module should almost certainly be
144THIS_MODULE.
145
146
147================
148HELPER FUNCTIONS
149================
150
151The slow-work facility provides a function by which it can be determined
152whether or not an item is queued for later execution:
153
154 bool queued = slow_work_is_queued(struct slow_work *work);
155
156If it returns false, then the item is not on the queue (it may be executing
157with a requeue pending). This can be used to work out whether an item on which
158another depends is on the queue, thus allowing a dependent item to be queued
159after it.
160
161If the above shows an item on which another depends not to be queued, then the
162owner of the dependent item might need to wait. However, to avoid locking up
163the threads unnecessarily be sleeping in them, it can make sense under some
164circumstances to return the work item to the queue, thus deferring it until
165some other items have had a chance to make use of the yielded thread.
166
167To yield a thread and defer an item, the work function should simply enqueue
168the work item again and return. However, this doesn't work if there's nothing
169actually on the queue, as the thread just vacated will jump straight back into
170the item's work function, thus busy waiting on a CPU.
171
172Instead, the item should use the thread to wait for the dependency to go away,
173but rather than using schedule() or schedule_timeout() to sleep, it should use
174the following function:
175
176 bool requeue = slow_work_sleep_till_thread_needed(
177 struct slow_work *work,
178 signed long *_timeout);
179
180This will add a second wait and then sleep, such that it will be woken up if
181either something appears on the queue that could usefully make use of the
182thread - and behind which this item can be queued, or if the event the caller
183set up to wait for happens. True will be returned if something else appeared
184on the queue and this work function should perhaps return, of false if
185something else woke it up. The timeout is as for schedule_timeout().
186
187For 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===============
207ITEM OPERATIONS
208===============
209
210Each work item requires a table of operations of type struct slow_work_ops.
211Only ->execute() is required; the getting and putting of a reference and the
212describing 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==================
254POOL CONFIGURATION
255==================
256
257The 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==================================
279VIEWING EXECUTING AND QUEUED ITEMS
280==================================
281
282If CONFIG_SLOW_WORK_DEBUG is enabled, a debugfs file is made available:
283
284 /sys/kernel/debug/slow_work/runqueue
285
286through which the list of work items being executed and the queues of items to
287be executed may be viewed. The owner of a work item is given the chance to
288add some information of its own.
289
290The 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
317In the 'THR' column, executing items show the thread they're occupying and
318queued threads indicate which queue they're on. 'PID' shows the process ID of
319a 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,
321the '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
1285 about this driver. Note that it has been discontinued, but the 1285 about this driver. Note that it has been discontinued, but the
1286 Voyetra Turtle Beach knowledge base entry for it is still available1286 Voyetra Turtle Beach knowledge base entry for it is still available
1287 at1287 at
1288 http://www.turtlebeach.com/site/kb_ftp/790.asp1288 http://www.turtlebeach.com
1289 1289
1290 Module snd-msnd-pinnacle1290 Module snd-msnd-pinnacle
1291 ------------------------1291 ------------------------
Documentation/sound/alsa/HD-Audio-Models.txt+17−2
@@ -83,8 +83,8 @@ ALC269 · 82 unmodified lines
83======83======
84 basic Basic preset84 basic Basic preset
85 quanta Quanta FL185 quanta Quanta FL1
86 eeepc-p703 ASUS Eeepc P703 P900A86 laptop-amic Laptops with analog-mic input
87 eeepc-p901 ASUS Eeepc P901 S10187 laptop-dmic Laptops with digital-mic input
88 fujitsu FSC Amilo88 fujitsu FSC Amilo
89 lifebook Fujitsu Lifebook S642089 lifebook Fujitsu Lifebook S6420
90 auto auto-config reading BIOS (default)90 auto auto-config reading BIOS (default)
@@ -109,11 +109,18 @@ ALC662/663/272 · 18 unmodified lines
109 asus-mode4 ASUS109 asus-mode4 ASUS
110 asus-mode5 ASUS110 asus-mode5 ASUS
111 asus-mode6 ASUS111 asus-mode6 ASUS
112 asus-mode7 ASUS
113 asus-mode8 ASUS
112 dell Dell with ALC272114 dell Dell with ALC272
113 dell-zm1 Dell ZM1 with ALC272115 dell-zm1 Dell ZM1 with ALC272
114 samsung-nc10 Samsung NC10 mini notebook116 samsung-nc10 Samsung NC10 mini notebook
115 auto auto-config reading BIOS (default)117 auto auto-config reading BIOS (default)
116 118
119ALC680
120======
121 base Base model (ASUS NX90)
122 auto auto-config reading BIOS (default)
123
117ALC882/883/885/888/889124ALC882/883/885/888/889
118======================125======================
119 3stack-dig 3-jack with SPDIF I/O126 3stack-dig 3-jack with SPDIF I/O
@@ -282,6 +289,7 @@ Conexant 5051 · 162 unmodified lines
282 hp HP Spartan laptop289 hp HP Spartan laptop
283 hp-dv6736 HP dv6736290 hp-dv6736 HP dv6736
284 hp-f700 HP Compaq Presario F700291 hp-f700 HP Compaq Presario F700
292 ideapad Lenovo IdeaPad laptop
285 lenovo-x200 Lenovo X200 laptop293 lenovo-x200 Lenovo X200 laptop
286 toshiba Toshiba Satellite M300294 toshiba Toshiba Satellite M300
287 295
@@ -289,8 +297,10 @@ Conexant 5066 · 1 unmodified line
289=============297=============
290 laptop Basic Laptop config (default)298 laptop Basic Laptop config (default)
291 dell-laptop Dell laptops299 dell-laptop Dell laptops
300 dell-vostro Dell Vostro
292 olpc-xo-1_5 OLPC XO 1.5301 olpc-xo-1_5 OLPC XO 1.5
293 ideapad Lenovo IdeaPad U150302 ideapad Lenovo IdeaPad U150
303 thinkpad Lenovo Thinkpad
294 304
295STAC9200305STAC9200
296========306========
@@ -398,6 +408,7 @@ STAC92HD83* · 101 unmodified lines
398 mic-ref Reference board with power management for ports408 mic-ref Reference board with power management for ports
399 dell-s14 Dell laptop409 dell-s14 Dell laptop
400 hp HP laptops with (inverted) mute-LED410 hp HP laptops with (inverted) mute-LED
411 hp-dv7-4000 HP dv-7 4000
401 auto BIOS setup (default)412 auto BIOS setup (default)
402 413
403STAC9872414STAC9872
@@ -410,3 +421,7 @@ Cirrus Logic CS4206/4207 · 6 unmodified lines
410 mbp55 MacBook Pro 5,5421 mbp55 MacBook Pro 5,5
411 imac27 IMac 27 Inch422 imac27 IMac 27 Inch
412 auto BIOS setup (default)423 auto BIOS setup (default)
424
425VIA 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
562Send a bug report either the followings:562Send a bug report either the followings:
563 563
564kernel-bugzilla::564kernel-bugzilla::
565 http://bugme.linux-foundation.org/565 https://bugzilla.kernel.org/
566alsa-devel ML::566alsa-devel ML::
567 alsa-devel@alsa-project.org567 alsa-devel@alsa-project.org
568 568
Documentation/sound/alsa/Procfile.txt+8−0
@@ -103,6 +103,8 @@ card*/pcm*/xrun_debug · 102 unmodified lines
103 bit 2 = Enable additional jiffies check103 bit 2 = Enable additional jiffies check
104 bit 3 = Log hwptr update at each period interrupt104 bit 3 = Log hwptr update at each period interrupt
105 bit 4 = Log hwptr update at each snd_pcm_update_hw_ptr()105 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
106 108
107 When the bit 0 is set, the driver will show the messages to109 When the bit 0 is set, the driver will show the messages to
108 kernel log when an xrun is detected. The debug message is110 kernel log when an xrun is detected. The debug message is
@@ -122,6 +124,12 @@ card*/pcm*/xrun_debug · 13 unmodified lines
122 Bits 3 and 4 are for logging the hwptr records. Note that124 Bits 3 and 4 are for logging the hwptr records. Note that
123 these will give flood of kernel messages.125 these will give flood of kernel messages.
124 126
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
125card*/pcm*/sub*/info133card*/pcm*/sub*/info
126 The general information of this PCM sub-stream.134 The general information of this PCM sub-stream.
127 135
Documentation/sound/alsa/alsa-parameters.txt+135−0
@@ -0,0 +1,135 @@
1 ALSA Kernel Parameters
2 ~~~~~~~~~~~~~~~~~~~~~~
3
4See Documentation/kernel-parameters.txt for general information on
5specifying module parameters.
6
7This 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
9module. Loadable modules, after being loaded into the running kernel, also
10reveal their parameters in /sys/module/${modulename}/parameters/. Some of these
11parameters 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
13frame is 21uS long and is divided into 13 time slots.13frame is 21uS long and is divided into 13 time slots.
14 14
15The AC97 specification can be found at :-15The AC97 specification can be found at :-
16http://www.intel.com/design/chipsets/audio/ac97_r23.pdf16http://www.intel.com/p/en_US/business/design
17 17
18 18
19I2S19I2S
Documentation/sound/alsa/soc/codec.txt+1−1
@@ -143,7 +143,7 @@ struct snd_soc_ops { · 142 unmodified lines
143};143};
144 144
145Please refer to the ALSA driver PCM documentation for details.145Please refer to the ALSA driver PCM documentation for details.
146http://www.alsa-project.org/~iwai/writing-an-alsa-driver/c436.htm146http://www.alsa-project.org/~iwai/writing-an-alsa-driver/
147 147
148 148
1495 - DAPM description.1495 - DAPM description.
Documentation/sound/alsa/soc/platform.txt+1−1
@@ -39,7 +39,7 @@ struct snd_soc_platform { · 38 unmodified lines
39};39};
40 40
41Please refer to the ALSA driver documentation for details of audio DMA.41Please refer to the ALSA driver documentation for details of audio DMA.
42http://www.alsa-project.org/~iwai/writing-an-alsa-driver/c436.htm42http://www.alsa-project.org/~iwai/writing-an-alsa-driver/
43 43
44An example DMA driver is soc/pxa/pxa2xx-pcm.c44An example DMA driver is soc/pxa/pxa2xx-pcm.c
45 45
Documentation/sound/oss/README.OSS+2−3
@@ -36,7 +36,7 @@ with OSS API. · 35 unmodified lines
36 36
37Packages "snd-util-3.8.tar.gz" and "snd-data-0.1.tar.Z"37Packages "snd-util-3.8.tar.gz" and "snd-data-0.1.tar.Z"
38contain useful utilities to be used with this driver.38contain useful utilities to be used with this driver.
39See http://www.opensound.com/ossfree/getting.html for39See http://www.opensound.com/ossfree/ for
40download instructions.40download instructions.
41 41
42If you are looking for the installation instructions, please42If 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
1438There are some common audio chipsets that are not supported yet. For example1438There are some common audio chipsets that are not supported yet. For example
1439Sierra Aria and IBM Mwave. It's possible that these architectures1439Sierra Aria and IBM Mwave. It's possible that these architectures
1440get some support in future but I can't make any promises. Just look1440get some support in future but I can't make any promises. Just look
1441at the home page (http://www.opensound.com/ossfree/new_cards.html)1441at the home page (http://www.opensound.com/ossfree/)
1442for latest info.1442for latest info.
1443 1443
1444Information about unsupported sound cards and chipsets is welcome as well1444Information 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
1449Hannu Savolainen1449Hannu Savolainen
1450hannu@opensound.com1450hannu@opensound.com
1451 1451
1452Personal home page: http://www.compusonic.fi/~hannu
1453home page of OSS/Free: http://www.opensound.com/ossfree1452home page of OSS/Free: http://www.opensound.com/ossfree
1454 1453
1455home page of commercial OSS1454home page of commercial OSS
Documentation/sound/oss/oss-parameters.txt+51−0
@@ -0,0 +1,51 @@
1 OSS Kernel Parameters
2 ~~~~~~~~~~~~~~~~~~~~~
3
4See Documentation/kernel-parameters.txt for general information on
5specifying module parameters.
6
7This 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
9module. Loadable modules, after being loaded into the running kernel, also
10reveal their parameters in /sys/module/${modulename}/parameters/. Some of these
11parameters 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 @@
1Copyright 2004 Linus Torvalds1Copyright 2004 Linus Torvalds
2Copyright 2004 Pavel Machek <pavel@suse.cz>2Copyright 2004 Pavel Machek <pavel@ucw.cz>
3Copyright 2006 Bob Copeland <me@bobcopeland.com>3Copyright 2006 Bob Copeland <me@bobcopeland.com>
4 4
5Using sparse for typechecking5Using 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
196 196
197legacy_va_layout197legacy_va_layout
198 198
199If non-zero, this sysctl disables the new 32-bit mmap mmap layout - the kernel199If non-zero, this sysctl disables the new 32-bit mmap layout - the kernel
200will use the legacy (2.4) layout for all processes.200will use the legacy (2.4) layout for all processes.
201 201
202==============================================================202==============================================================
@@ -511,7 +511,7 @@ information may not be desired. · 308 unmodified lines
511If this is set to non-zero, this information is shown whenever the511If this is set to non-zero, this information is shown whenever the
512OOM killer actually kills a memory-hogging task.512OOM killer actually kills a memory-hogging task.
513 513
514The default value is 0.514The default value is 1 (enabled).
515 515
516==============================================================516==============================================================
517 517
Documentation/telephony/ixj.txt+2−7
@@ -108,14 +108,9 @@ applications. · 107 unmodified lines
108 108
1091.4 Where to get things1091.4 Where to get things
110 110
111You can download the latest versions of the driver from:111Info on latest versions of the driver are here:
112
113http://www.quicknet.net/develop.htm
114
115You can download the latest version of this document from:
116
117http://www.quicknet.net/develop.htm
118 112
113http://web.archive.org/web/*/http://www.quicknet.net/develop.htm
119 114
1201.5 Mailing List1151.5 Mailing List
121 116
Documentation/timers/timers-howto.txt+105−0
@@ -0,0 +1,105 @@
1delays - Information on the various kernel delay / sleep mechanisms
2-------------------------------------------------------------------
3
4This document seeks to answer the common question: "What is the
5RightWay (TM) to insert a delay?"
6
7This question is most often faced by driver writers who have to
8deal with hardware delays and who may not be the most intimately
9familiar with the inner workings of the Linux Kernel.
10
11
12Inserting Delays
13----------------
14
15The first, and most important, question you need to ask is "Is my
16code in an atomic context?" This should be followed closely by "Does
17it really need to delay in atomic context?" If so...
18
19ATOMIC 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
37NON-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
3TOMOYO is a name-based MAC extension (LSM module) for the Linux kernel.3TOMOYO is a name-based MAC extension (LSM module) for the Linux kernel.
4 4
5LiveCD-based tutorials are available at5LiveCD-based tutorials are available at
6http://tomoyo.sourceforge.jp/en/1.6.x/1st-step/ubuntu8.04-live/6http://tomoyo.sourceforge.jp/1.7/1st-step/ubuntu10.04-live/
7http://tomoyo.sourceforge.jp/en/1.6.x/1st-step/centos5-live/ .7http://tomoyo.sourceforge.jp/1.7/1st-step/centos5-live/ .
8Though these tutorials use non-LSM version of TOMOYO, they are useful for you8Though these tutorials use non-LSM version of TOMOYO, they are useful for you
9to know what TOMOYO is.9to know what TOMOYO is.
10 10
@@ -13,12 +13,12 @@ to know what TOMOYO is. · 2 unmodified lines
13Build the kernel with CONFIG_SECURITY_TOMOYO=y and pass "security=tomoyo" on13Build the kernel with CONFIG_SECURITY_TOMOYO=y and pass "security=tomoyo" on
14kernel's command line.14kernel's command line.
15 15
16Please see http://tomoyo.sourceforge.jp/en/2.2.x/ for details.16Please see http://tomoyo.sourceforge.jp/2.3/ for details.
17 17
18--- Where is documentation? ---18--- Where is documentation? ---
19 19
20User <-> Kernel interface documentation is available at20User <-> Kernel interface documentation is available at
21http://tomoyo.sourceforge.jp/en/2.2.x/policy-reference.html .21http://tomoyo.sourceforge.jp/2.3/policy-reference.html .
22 22
23Materials we prepared for seminars and symposiums are available at23Materials we prepared for seminars and symposiums are available at
24http://sourceforge.jp/projects/tomoyo/docs/?category_id=532&language_id=1 .24http://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
50SELinux/SMACK/AppArmor etc. when you want to use TOMOYO.50SELinux/SMACK/AppArmor etc. when you want to use TOMOYO.
51 51
52We hope that LSM becomes stackable in future. Meanwhile, you can use non-LSM52We hope that LSM becomes stackable in future. Meanwhile, you can use non-LSM
53version of TOMOYO, available at http://tomoyo.sourceforge.jp/en/1.6.x/ .53version of TOMOYO, available at http://tomoyo.sourceforge.jp/1.7/ .
54LSM version of TOMOYO is a subset of non-LSM version of TOMOYO. We are planning54LSM version of TOMOYO is a subset of non-LSM version of TOMOYO. We are planning
55to port non-LSM version's functionalities to LSM versions.55to 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
13want more explanation of a feature in terms of common code, review the common13want more explanation of a feature in terms of common code, review the common
14ftrace.txt file.14ftrace.txt file.
15 15
16Ideally, everyone who wishes to retain performance while supporting tracing in
17their kernel should make it all the way to dynamic ftrace support.
18
16 19
17Prerequisites20Prerequisites
18-------------21-------------
@@ -215,7 +218,7 @@ An arch may pass in a unique value (frame pointer) to both the entering and · 196 unmodified lines
215exiting of a function. On exit, the value is compared and if it does not218exiting of a function. On exit, the value is compared and if it does not
216match, then it will panic the kernel. This is largely a sanity check for bad219match, then it will panic the kernel. This is largely a sanity check for bad
217code generation with gcc. If gcc for your port sanely updates the frame220code generation with gcc. If gcc for your port sanely updates the frame
218pointer under different opitmization levels, then ignore this option.221pointer under different optimization levels, then ignore this option.
219 222
220However, adding support for it isn't terribly difficult. In your assembly code223However, adding support for it isn't terribly difficult. In your assembly code
221that calls prepare_ftrace_return(), pass the frame pointer as the 3rd argument.224that 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
234 237
235 238
236HAVE_SYSCALL_TRACEPOINTS239HAVE_SYSCALL_TRACEPOINTS
237---------------------240------------------------
238 241
239You need very few things to get the syscalls tracing in an arch.242You need very few things to get the syscalls tracing in an arch.
240 243
@@ -250,12 +253,152 @@ You need very few things to get the syscalls tracing in an arch. · 9 unmodified lines
250HAVE_FTRACE_MCOUNT_RECORD253HAVE_FTRACE_MCOUNT_RECORD
251-------------------------254-------------------------
252 255
253See scripts/recordmcount.pl for more info.256See scripts/recordmcount.pl for more info. Just fill in the arch-specific
257details for how to locate the addresses of mcount call sites via objdump.
258This option doesn't make much sense without also implementing dynamic ftrace.
254 259
260
261HAVE_DYNAMIC_FTRACE
262-------------------
263
264You will first need HAVE_FTRACE_MCOUNT_RECORD and HAVE_FUNCTION_TRACER, so
265scroll your reader back up if you got over eager.
266
267Once 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
283First you will need to fill out some arch details in your asm/ftrace.h.
284
285Define MCOUNT_ADDR as the address of your mcount symbol similar to:
286 #define MCOUNT_ADDR ((unsigned long)mcount)
287Since no one else will have a decl for that function, you will need to:
288 extern void mcount(void);
289
290You will also need the helper function ftrace_call_adjust(). Most people
291will be able to stub it out like so:
292 static inline unsigned long ftrace_call_adjust(unsigned long addr)
293 {
294 return addr;
295 }
255<details to be filled>296<details to be filled>
256 297
298Lastly you will need the custom dyn_arch_ftrace structure. If you need
299some extra state when runtime patching arbitrary call sites, this is the
300place. For now though, create an empty struct:
301 struct dyn_arch_ftrace {
302 /* No extra data needed */
303 };
304
305With the header out of the way, we can fill out the assembly code. While we
306did already create a mcount() function earlier, dynamic ftrace only wants a
307stub function. This is because the mcount() will only be used during boot
308and then all references to it will be patched out never to return. Instead,
309the guts of the old mcount() will be used to create a new ftrace_caller()
310function. Because the two are hard to merge, it will most likely be a lot
311easier to have two separate definitions split up by #ifdefs. Same goes for
312the ftrace_stub() as that will now be inlined in ftrace_caller().
313
314Before we get confused anymore, let's check out some pseudo code so you can
315implement your own stuff in assembly:
257 316
258HAVE_DYNAMIC_FTRACE317void mcount(void)
259---------------------318{
319 return;
320}
321
322void 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
331ftrace_call:
332 ftrace_stub(frompc, selfpc);
333
334 /* restore all state needed by the ABI */
335
336ftrace_stub:
337 return;
338}
339
340This might look a little odd at first, but keep in mind that we will be runtime
341patching multiple things. First, only functions that we actually want to trace
342will be patched to call ftrace_caller(). Second, since we only have one tracer
343active at a time, we will patch the ftrace_caller() function itself to call the
344specific tracer in question. That is the point of the ftrace_call label.
345
346With that in mind, let's move on to the C code that will actually be doing the
347runtime patching. You'll need a little knowledge of your arch's opcodes in
348order to make it through the next section.
349
350Every arch has an init callback function. If you need to do something early on
351to initialize some state, this is the time to do that. Otherwise, this simple
352function below should be sufficient for most people:
353
354int __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
362There are two functions that are used to do runtime patching of arbitrary
363functions. The first is used to turn the mcount call site into a nop (which
364is what helps us retain runtime performance when not tracing). The second is
365used to turn the mcount call site into a call to an arbitrary location (but
366typically that is ftracer_caller()). See the general function definition in
367linux/ftrace.h for the functions:
368 ftrace_make_nop()
369 ftrace_make_call()
370The rec->ip value is the address of the mcount call site that was collected
371by the scripts/recordmcount.pl during build time.
372
373The last function is used to do runtime patching of the active tracer. This
374will be modifying the assembly code at the location of the ftrace_call symbol
375inside of the ftrace_caller() function. So you should have sufficient padding
376at that location to support the new function calls you'll be inserting. Some
377people 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
382HAVE_DYNAMIC_FTRACE + HAVE_FUNCTION_GRAPH_TRACER
383------------------------------------------------
384
385The function grapher needs a few tweaks in order to work with dynamic ftrace.
386Basically, 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()
260 394
261<details to be filled>395<details to be filled>
396Quick 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
6I. Introduction
7===============
8
9kmemtrace helps kernel developers figure out two things:
101) how different allocators (SLAB, SLUB etc.) perform
112) how kernel code allocates memory and how much
12
13To do this, we trace every allocation and export information to the userspace
14through the relay interface. We export things such as the number of requested
15bytes, the number of bytes actually allocated (i.e. including internal
16fragmentation), whether this is a slab allocation or a plain kmalloc() and so
17on.
18
19The actual analysis is performed by a userspace tool (see section III for
20details on where to get it from). It logs the data exported by the kernel,
21processes 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
27Moreover, it can potentially find inconsistent and erroneous behavior in
28kernel code, such as using slab free functions on kmalloc'ed memory or
29allocating less memory than requested (but not truly failed allocations).
30
31kmemtrace also makes provisions for tracing on some arch and analysing the
32data on another.
33
34II. Design and goals
35====================
36
37kmemtrace was designed to handle rather large amounts of data. Thus, it uses
38the relay interface to export whatever is logged to userspace, which then
39stores it. Analysis and reporting is done asynchronously, that is, after the
40data is collected and stored. By design, it allows one to log and analyse
41on different machines and different arches.
42
43As of writing this, the ABI is not considered stable, though it might not
44change much. However, no guarantees are made about compatibility yet. When
45deemed stable, the ABI should still allow easy extension while maintaining
46backward compatibility. This is described further in Documentation/ABI.
47
48Summary 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
60III. Quick usage guide
61======================
62
631) Get a kernel that supports kmemtrace and build it accordingly (i.e. enable
64CONFIG_KMEMTRACE).
65
662) 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
733) 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
75kmemtrace:
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
81Wait 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
89Now you should have a nice and short summary of how the allocator performs.
90
91IV. FAQ and known issues
92========================
93
94Q: 'cat /sys/kernel/debug/kmemtrace/total_overruns' is non-zero, how do I fix
95this? Should I worry?
96A: If it's non-zero, this affects kmemtrace's accuracy, depending on how
97large the number is. You can fix it by supplying a higher
98'kmemtrace.subbufs=N' kernel parameter.
99---
100
101Q: kmemtrace_check reports errors, how do I fix this? Should I worry?
102A: This is a bug and should be reported. It can occur for a variety of
103reasons:
104 - possible bugs in relay code
105 - possible misuse of relay by kmemtrace
106 - timestamps being collected unorderly
107Or you may fix it yourself and send us a patch.
108---
109
110Q: kmemtrace_report shows many errors, how do I fix this? Should I worry?
111A: This is a known issue and I'm working on it. These might be true errors
112in kernel code, which may have inconsistent behavior (e.g. allocating memory
113with kmem_cache_alloc() and freeing it with kfree()). Pekka Enberg pointed
114out this behavior may work with SLAB, but may fail with other allocators.
115
116It may also be due to lack of tracing in some unusual allocator functions.
117
118We don't want bug reports regarding this issue yet.
119---
120
121V. See also
122===========
123
124Documentation/kernel-parameters.txt
125Documentation/ABI/testing/debugfs-kmemtrace
126
Documentation/trace/kprobetrace.txt+1−1
@@ -42,7 +42,7 @@ Synopsis of kprobe_events · 41 unmodified lines
42 +|-offs(FETCHARG) : Fetch memory at FETCHARG +|- offs address.(**)42 +|-offs(FETCHARG) : Fetch memory at FETCHARG +|- offs address.(**)
43 NAME=FETCHARG : Set NAME as the argument name of FETCHARG.43 NAME=FETCHARG : Set NAME as the argument name of FETCHARG.
44 FETCHARG:TYPE : Set TYPE as the type of FETCHARG. Currently, basic types44 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.
46 46
47 (*) only for return probe.47 (*) only for return probe.
48 (**) this is useful for fetching a field of data structures.48 (**) 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>
13use strict;
14use Getopt::Long;
15
16# Tracepoint events
17use constant MM_VMSCAN_DIRECT_RECLAIM_BEGIN => 1;
18use constant MM_VMSCAN_DIRECT_RECLAIM_END => 2;
19use constant MM_VMSCAN_KSWAPD_WAKE => 3;
20use constant MM_VMSCAN_KSWAPD_SLEEP => 4;
21use constant MM_VMSCAN_LRU_SHRINK_ACTIVE => 5;
22use constant MM_VMSCAN_LRU_SHRINK_INACTIVE => 6;
23use constant MM_VMSCAN_LRU_ISOLATE => 7;
24use constant MM_VMSCAN_WRITEPAGE_FILE_SYNC => 8;
25use constant MM_VMSCAN_WRITEPAGE_ANON_SYNC => 9;
26use constant MM_VMSCAN_WRITEPAGE_FILE_ASYNC => 10;
27use constant MM_VMSCAN_WRITEPAGE_ANON_ASYNC => 11;
28use constant MM_VMSCAN_WRITEPAGE_ASYNC => 12;
29use constant EVENT_UNKNOWN => 13;
30
31# Per-order events
32use constant MM_VMSCAN_DIRECT_RECLAIM_BEGIN_PERORDER => 11;
33use constant MM_VMSCAN_WAKEUP_KSWAPD_PERORDER => 12;
34use constant MM_VMSCAN_KSWAPD_WAKE_PERORDER => 13;
35use constant HIGH_KSWAPD_REWAKEUP_PERORDER => 14;
36
37# Constants used to track state
38use constant STATE_DIRECT_BEGIN => 15;
39use constant STATE_DIRECT_ORDER => 16;
40use constant STATE_KSWAPD_BEGIN => 17;
41use constant STATE_KSWAPD_ORDER => 18;
42
43# High-level events extrapolated from tracepoints
44use constant HIGH_DIRECT_RECLAIM_LATENCY => 19;
45use constant HIGH_KSWAPD_LATENCY => 20;
46use constant HIGH_KSWAPD_REWAKEUP => 21;
47use constant HIGH_NR_SCANNED => 22;
48use constant HIGH_NR_TAKEN => 23;
49use constant HIGH_NR_RECLAIM => 24;
50use constant HIGH_NR_CONTIG_DIRTY => 25;
51
52my %perprocesspid;
53my %perprocess;
54my %last_procmap;
55my $opt_ignorepid;
56my $opt_read_procstat;
57
58my $total_wakeup_kswapd;
59my ($total_direct_reclaim, $total_direct_nr_scanned);
60my ($total_direct_latency, $total_kswapd_latency);
61my ($total_direct_writepage_file_sync, $total_direct_writepage_file_async);
62my ($total_direct_writepage_anon_sync, $total_direct_writepage_anon_async);
63my ($total_kswapd_nr_scanned, $total_kswapd_wake);
64my ($total_kswapd_writepage_file_sync, $total_kswapd_writepage_file_async);
65my ($total_kswapd_writepage_anon_sync, $total_kswapd_writepage_anon_async);
66
67# Catch sigint and exit on request
68my $sigint_report = 0;
69my $sigint_exit = 0;
70my $sigint_pending = 0;
71my $sigint_received = 0;
72sub 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
95GetOptions(
96 'ignore-pid' => \$opt_ignorepid,
97 'read-procstat' => \$opt_read_procstat,
98);
99
100# Defaults for dynamically discovered regex's
101my $regex_direct_begin_default = 'order=([0-9]*) may_writepage=([0-9]*) gfp_flags=([A-Z_|]*)';
102my $regex_direct_end_default = 'nr_reclaimed=([0-9]*)';
103my $regex_kswapd_wake_default = 'nid=([0-9]*) order=([0-9]*)';
104my $regex_kswapd_sleep_default = 'nid=([0-9]*)';
105my $regex_wakeup_kswapd_default = 'nid=([0-9]*) zid=([0-9]*) order=([0-9]*)';
106my $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]*)';
107my $regex_lru_shrink_inactive_default = 'lru=([A-Z_]*) nr_scanned=([0-9]*) nr_reclaimed=([0-9]*) priority=([0-9]*)';
108my $regex_lru_shrink_active_default = 'lru=([A-Z_]*) nr_scanned=([0-9]*) nr_rotated=([0-9]*) priority=([0-9]*)';
109my $regex_writepage_default = 'page=([0-9a-f]*) pfn=([0-9]*) flags=([A-Z_|]*)';
110
111# Dyanically discovered regex
112my $regex_direct_begin;
113my $regex_direct_end;
114my $regex_kswapd_wake;
115my $regex_kswapd_sleep;
116my $regex_wakeup_kswapd;
117my $regex_lru_isolate;
118my $regex_lru_shrink_inactive;
119my $regex_lru_shrink_active;
120my $regex_writepage;
121
122# Static regex used. Specified like this for readability and for use with /o
123# (process_pid) (cpus ) ( time ) (tpoint ) (details)
124my $regex_traceevent = '\s*([a-zA-Z0-9-]*)\s*(\[[0-9]*\])\s*([0-9.]*):\s*([a-zA-Z_]*):\s*(.*)';
125my $regex_statname = '[-0-9]*\s\((.*)\).*';
126my $regex_statppid = '[-0-9]*\s\(.*\)\s[A-Za-z]\s([0-9]*).*';
127
128sub 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
219sub 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
235sub 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
250sub timestamp_to_ms($) {
251 my $timestamp = $_[0];
252
253 my ($sec, $usec) = split (/\./, $timestamp);
254 return ($sec * 1000) + ($usec / 1000);
255}
256
257sub 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
267EVENT_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
419sub 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
598sub 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
649sub 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
659sub 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
685signal_loop();
686report();
Documentation/uml/UserModeLinux-HOWTO.txt+8−65
@@ -8,62 +8,6 @@ · 7 unmodified lines
8 8
9 Table of Contents9 Table of Contents
10 10
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
67 1. Introduction11 1. Introduction
68 12
69 1.1 How is User Mode Linux Different?13 1.1 How is User Mode Linux Different?
@@ -277,8 +221,7 @@ · 207 unmodified lines
277 221
278 1. Download the latest UML patch from222 1. Download the latest UML patch from
279 223
280 the download page <http://user-mode-linux.sourceforge.net/dl-224 the download page <http://user-mode-linux.sourceforge.net/
281 sf.html>
282 225
283 In this example, the file is uml-patch-2.4.0-prerelease.bz2.226 In this example, the file is uml-patch-2.4.0-prerelease.bz2.
284 227
@@ -438,7 +381,7 @@ · 153 unmodified lines
438 as modules, especially filesystems and network protocols and filters,381 as modules, especially filesystems and network protocols and filters,
439 so most symbols which need to be exported probably already are.382 so most symbols which need to be exported probably already are.
440 However, if you do find symbols that need exporting, let us383 However, if you do find symbols that need exporting, let us
441 <http://user-mode-linux.sourceforge.net/contacts.html> know, and384 <http://user-mode-linux.sourceforge.net/> know, and
442 they'll be "taken care of".385 they'll be "taken care of".
443 386
444 387
@@ -498,8 +441,8 @@ · 53 unmodified lines
498 441
499 You will need a filesystem to boot UML from. There are a number442 You will need a filesystem to boot UML from. There are a number
500 available for download from here <http://user-mode-443 available for download from here <http://user-mode-
501 linux.sourceforge.net/dl-sf.html> . There are also several tools444 linux.sourceforge.net/> . There are also several tools
502 <http://user-mode-linux.sourceforge.net/fs_making.html> which can be445 <http://user-mode-linux.sourceforge.net/> which can be
503 used to generate UML-compatible filesystem images from media.446 used to generate UML-compatible filesystem images from media.
504 The kernel will boot up and present you with a login prompt.447 The kernel will boot up and present you with a login prompt.
505 448
@@ -1236,7 +1179,7 @@ · 730 unmodified lines
1236 1179
1237 1180
1238 Harald's original README is here <http://user-mode-linux.source-1181 Harald's original README is here <http://user-mode-linux.source-
1239 forge.net/text/mcast.txt> and explains these in detail, as well as1182 forge.net/> and explains these in detail, as well as
1240 some other issues.1183 some other issues.
1241 1184
1242 1185
@@ -1311,7 +1254,7 @@ · 68 unmodified lines
1311 kernel.1254 kernel.
1312 1255
1313 These were pointed out by Tim Robinson <timro at trkr dot net> in1256 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-
1315 user post"> .1258 user post"> .
1316 1259
1317 1260
@@ -2038,7 +1981,7 @@ · 720 unmodified lines
2038 1981
2039 uml_moo is installed with the UML deb and RPM. If you didn't install1982 uml_moo is installed with the UML deb and RPM. If you didn't install
2040 UML from one of those packages, you can also get it from the UML1983 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#UML1984 utilities <http://user-mode-linux.sourceforge.net/
2042 utilities> tar file in tools/moo.1985 utilities> tar file in tools/moo.
2043 1986
2044 1987
@@ -4599,7 +4542,7 @@ · 2554 unmodified lines
4599 4542
4600 Michael Jennings <mikejen at hevanet.com> sent in some material which4543 Michael Jennings <mikejen at hevanet.com> sent in some material which
4601 is now gracing the top of the index page <http://user-mode-4544 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.
4603 4546
4604 SGI <http://www.sgi.com> (and more specifically Ralf Baechle <ralf at4547 SGI <http://www.sgi.com> (and more specifically Ralf Baechle <ralf at
4605 uni-koblenz.de> ) gave me an account on oss.sgi.com4548 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
9 - "Low Speed" 1.5 Mbit/sec9 - "Low Speed" 1.5 Mbit/sec
10 10
11USB 1.1 only addressed full speed and low speed. High speed devices11USB 1.1 only addressed full speed and low speed. High speed devices
12can be used on USB 1.1 systems, but they slow down to USB 1.1 speeds. 12can be used on USB 1.1 systems, but they slow down to USB 1.1 speeds.
13 13
14USB 1.1 devices may also be used on USB 2.0 systems. When plugged14USB 1.1 devices may also be used on USB 2.0 systems. When plugged
15into an EHCI controller, they are given to a USB 1.1 "companion"15into 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
5The Multifunction Composite Gadget (or g_multi) is a composite gadget
6that makes extensive use of the composite framework to provide
7a... multifunction gadget.
8
9In it's standard configuration it provides a single USB configuration
10with RNDIS[1] (that is Ethernet), USB CDC[2] ACM (that is serial) and
11USB Mass Storage functions.
12
13A CDC ECM (Ethernet) function may be turned on via a Kconfig option
14and RNDIS can be turned off. If they are both enabled the gadget will
15have two configurations -- one with RNDIS and another with CDC ECM[3].
16
17Please not that if you use non-standard configuration (that is enable
18CDC ECM) you may need to change vendor and/or product ID.
19
20* Host drivers
21
22To make use of the gadget one needs to make it work on host side --
23without that there's no hope of achieving anything with the gadget.
24As one might expect, things one need to do very from system to system.
25
26** Linux host drivers
27
28Since the gadget uses standard composite framework and appears as such
29to Linux host it does not need any additional drivers on Linux host
30side. All the functions are handled by respective drivers developed
31for them.
32
33This is also true for two configuration set-up with RNDIS
34configuration being the first one. Linux host will use the second
35configuration with CDC ECM which should work better under Linux.
36
37** Windows host drivers
38
39For the gadget two work under Windows two conditions have to be met:
40
41*** Detecting as composite gadget
42
43First of all, Windows need to detect the gadget as an USB composite
44gadget which on its own have some conditions[4]. If they are met,
45Windows lets USB Generic Parent Driver[5] handle the device which then
46tries to much drivers for each individual interface (sort of, don't
47get into too many details).
48
49The good news is: you do not have to worry about most of the
50conditions!
51
52The only thing to worry is that the gadget has to have a single
53configuration so a dual RNDIS and CDC ECM gadget won't work unless you
54create a proper INF -- and of course, if you do submit it!
55
56*** Installing drivers for each function
57
58The other, trickier thing is making Windows install drivers for each
59individual function.
60
61For mass storage it is trivial since Windows detect it's an interface
62implementing USB Mass Storage class and selects appropriate driver.
63
64Things are harder with RDNIS and CDC ACM.
65
66**** RNDIS
67
68To make Windows select RNDIS drivers for the first function in the
69gadget, one needs to use the [[file:linux.inf]] file provided with this
70document. It "attaches" Window's RNDIS driver to the first interface
71of the gadget.
72
73Please note, that while testing we encountered some issues[6] when
74RNDIS was not the first interface. You do not need to worry abut it
75unless you are trying to develop your own gadget in which case watch
76out for this bug.
77
78**** CDC ACM
79
80Similarly, [[file:linux-cdc-acm.inf]] is provided for CDC ACM.
81
82**** Customising the gadget
83
84If you intend to hack the g_multi gadget be advised that rearranging
85functions will obviously change interface numbers for each of the
86functionality. As an effect provided INFs won't work since they have
87interface numbers hard-coded in them (it's not hard to change those
88though[7]).
89
90This also means, that after experimenting with g_multi and changing
91provided functions one should change gadget's vendor and/or product ID
92so there will be no collision with other customised gadgets or the
93original gadget.
94
95Failing to comply may cause brain damage after wondering for hours why
96things don't work as intended before realising Windows have cached
97some drivers information (changing USB port may sometimes help plus
98you might try using USBDeview[8] to remove the phantom device).
99
100**** INF testing
101
102Provided INF files have been tested on Windows XP SP3, Windows Vista
103and Windows 7, all 32-bit versions. It should work on 64-bit versions
104as well. It most likely won't work on Windows prior to Windows XP
105SP2.
106
107** Other systems
108
109At this moment, drivers for any other systems have not been tested.
110Knowing how MacOS is based on BSD and BSD is an Open Source it is
111believed that it should (read: "I have no idea whether it will") work
112out-of-the-box.
113
114For more exotic systems I have even less to say...
115
116Any testing and drivers *are* *welcome*!
117
118* Authors
119
120This document has been written by Michal Nazarewicz
121([[mailto:mina86@mina86.com]]). INF files have been hacked with
122support of Marek Szyprowski ([[mailto:m.szyprowski@samsung.com]]) and
123Xiaofan Chen ([[mailto:xiaofanc@gmail.com]]) basing on the MS RNDIS
124template[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
133and 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
143any user input.
144
145[7] You may find [[http://www.cygnal.org/ubb/Forum9/HTML/001050.html]]
146useful.
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
151 151
152Installing the Windows Host ACM Driver152Installing the Windows Host ACM Driver
153--------------------------------------153--------------------------------------
154To use the Windows ACM driver you must have the files "gserial.inf"154To use the Windows ACM driver you must have the "linux-cdc-acm.inf"
155and "usbser.sys" together in a folder on the Windows machine.155file (provided along this document) which supports all recent versions
156 156of Windows.
157The "gserial.inf" file is given here.
158
159-------------------- CUT HERE --------------------
160[Version]
161Signature="$Windows NT$"
162Class=Ports
163ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
164Provider=%LINUX%
165DriverVer=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]
175DefaultDestDir=10,System32\Drivers
176
177[GSerialInstall]
178CopyFiles=GSerialCopyFiles
179AddReg=GSerialAddReg
180
181[GSerialCopyFiles]
182usbser.sys
183
184[GSerialAddReg]
185HKR,,DevLoader,,*ntkern
186HKR,,NTMPDriver,,usbser.sys
187HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
188
189[GSerialInstall.Services]
190AddService = usbser,0x0002,GSerialService
191
192[GSerialService]
193DisplayName = %GSERIAL_DISPLAY_NAME%
194ServiceType = 1 ; SERVICE_KERNEL_DRIVER
195StartType = 3 ; SERVICE_DEMAND_START
196ErrorControl = 1 ; SERVICE_ERROR_NORMAL
197ServiceBinary = %10%\System32\Drivers\usbser.sys
198LoadOrderGroup = Base
199
200[Strings]
201LINUX = "Linux"
202GSERIAL = "Gadget Serial"
203GSERIAL_DISPLAY_NAME = "USB Gadget Serial Driver"
204-------------------- CUT HERE --------------------
205
206The "usbser.sys" file comes with various versions of Windows.
207For example, it can be found on Windows XP typically in
208
209 C:\WINDOWS\Driver Cache\i386\driver.cab
210
211Or it can be found on the Windows 98SE CD in the "win98" folder
212in the "DRIVER11.CAB" through "DRIVER20.CAB" cab files. You will
213need the DOS "expand" program, the Cygwin "cabextract" program, or
214a similar program to unpack these cab files and extract "usbser.sys".
215
216For example, to extract "usbser.sys" into the current directory
217on 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.)
222 157
223When the gadget serial driver is loaded and the USB device connected158When the gadget serial driver is loaded and the USB device connected
224to the Windows host with a USB cable, Windows should recognize the159to the Windows host with a USB cable, Windows should recognize the
225gadget serial device and ask for a driver. Tell Windows to find the160gadget serial device and ask for a driver. Tell Windows to find the
226driver in the folder that contains "gserial.inf" and "usbser.sys".161driver in the folder that contains the "linux-cdc-acm.inf" file.
227 162
228For example, on Windows XP, when the gadget serial device is first163For example, on Windows XP, when the gadget serial device is first
229plugged in, the "Found New Hardware Wizard" starts up. Select164plugged in, the "Found New Hardware Wizard" starts up. Select
230"Install from a list or specific location (Advanced)", then on165"Install from a list or specific location (Advanced)", then on the
231the next screen select "Include this location in the search" and166next screen select "Include this location in the search" and enter the
232enter the path or browse to the folder containing "gserial.inf" and167path or browse to the folder containing the "linux-cdc-acm.inf" file.
233"usbser.sys". Windows will complain that the Gadget Serial driver168Windows will complain that the Gadget Serial driver has not passed
234has not passed Windows Logo testing, but select "Continue anyway"169Windows Logo testing, but select "Continue anyway" and finish the
235and finish the driver installation.170driver installation.
236 171
237On Windows XP, in the "Device Manager" (under "Control Panel",172On Windows XP, in the "Device Manager" (under "Control Panel",
238"System", "Hardware") expand the "Ports (COM & LPT)" entry and you173"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
345side and host side systems. Anything you type on the terminal280side and host side systems. Anything you type on the terminal
346window on the gadget side should appear in the terminal window on281window on the gadget side should appear in the terminal window on
347the host side and vice versa.282the 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
10 10
11 - Bind a driver to that device. Bus frameworks do that using a11 - Bind a driver to that device. Bus frameworks do that using a
12 device driver's probe() routine.12 device driver's probe() routine.
13 13
14 - Tell other subsystems to configure the new device. Print14 - Tell other subsystems to configure the new device. Print
15 queues may need to be enabled, networks brought up, disk15 queues may need to be enabled, networks brought up, disk
16 partitions mounted, and so on. In some cases these will16 partitions mounted, and so on. In some cases these will
@@ -84,7 +84,7 @@ USB MODUTILS SUPPORT · 67 unmodified lines
84Current versions of module-init-tools will create a "modules.usbmap" file84Current versions of module-init-tools will create a "modules.usbmap" file
85which contains the entries from each driver's MODULE_DEVICE_TABLE. Such85which contains the entries from each driver's MODULE_DEVICE_TABLE. Such
86files can be used by various user mode policy agents to make sure all the86files can be used by various user mode policy agents to make sure all the
87right driver modules get loaded, either at boot time or later. 87right driver modules get loaded, either at boot time or later.
88 88
89See <linux/usb.h> for full information about such table entries; or look89See <linux/usb.h> for full information about such table entries; or look
90at existing drivers. Each table entry describes one or more criteria to90at 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]
11Signature="$Windows NT$"
12Class=Ports
13ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
14Provider=%Linux%
15DriverVer=11/15/2007,5.1.2600.0
16
17[Manufacturer]
18%Linux%=DeviceList, NTamd64
19
20[DestinationDirs]
21DefaultDestDir=12
22
23
24;------------------------------------------------------------------------------
25; Windows 2000/XP/Vista-32bit Sections
26;------------------------------------------------------------------------------
27
28[DriverInstall.nt]
29include=mdmcpq.inf
30CopyFiles=DriverCopyFiles.nt
31AddReg=DriverInstall.nt.AddReg
32
33[DriverCopyFiles.nt]
34usbser.sys,,,0x20
35
36[DriverInstall.nt.AddReg]
37HKR,,DevLoader,,*ntkern
38HKR,,NTMPDriver,,USBSER.sys
39HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
40
41[DriverInstall.nt.Services]
42AddService=usbser, 0x00000002, DriverService.nt
43
44[DriverService.nt]
45DisplayName=%SERVICE%
46ServiceType=1
47StartType=3
48ErrorControl=1
49ServiceBinary=%12%\USBSER.sys
50
51;------------------------------------------------------------------------------
52; Vista-64bit Sections
53;------------------------------------------------------------------------------
54
55[DriverInstall.NTamd64]
56include=mdmcpq.inf
57CopyFiles=DriverCopyFiles.NTamd64
58AddReg=DriverInstall.NTamd64.AddReg
59
60[DriverCopyFiles.NTamd64]
61USBSER.sys,,,0x20
62
63[DriverInstall.NTamd64.AddReg]
64HKR,,DevLoader,,*ntkern
65HKR,,NTMPDriver,,USBSER.sys
66HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
67
68[DriverInstall.NTamd64.Services]
69AddService=usbser, 0x00000002, DriverService.NTamd64
70
71[DriverService.NTamd64]
72DisplayName=%SERVICE%
73ServiceType=1
74StartType=3
75ErrorControl=1
76ServiceBinary=%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]
105Linux = "Linux Developer Community"
106DESCRIPTION = "Gadget Serial"
107SERVICE = "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 the1; Based on template INF file found at
2; Linux-USB Ethernet/RNDIS gadget firmware:2; <http://msdn.microsoft.com/en-us/library/ff570620.aspx>
3;3; which was:
4; - RNDIS plus CDC Ethernet ... this may be familiar as a DOCSIS4; Copyright (c) Microsoft Corporation
5; cable modem profile, and supports most non-Microsoft USB hosts5; and released under the MLPL as found at:
6;6; <http://msdn.microsoft.com/en-us/cc300389.aspx#MLPL>.
7; - RNDIS plus CDC Subset ... used by hardware that incapable of7; For use only on Windows operating systems.
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
14 8
15[Version]9[Version]
16Signature = "$CHICAGO$"10Signature = "$Windows NT$"
17Class = Net11Class = Net
18ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}12ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
19Provider = %Linux%13Provider = %Linux%
20Compatible = 114DriverVer = 06/21/2006,6.0.6000.16384
21MillenniumPreferred = .ME
22DriverVer = 03/30/2004,0.0.0.0
23; catalog file would be used by WHQL
24;CatalogFile = Linux.cat
25 15
26[Manufacturer]16[Manufacturer]
27%Linux% = LinuxDevices,NT.5.117%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
28 22
29[LinuxDevices]23; Decoration for x64 architecture
30; NetChip IDs, used by both firmware modes24[LinuxDevices.NTamd64]
31%LinuxDevice% = RNDIS, USB\VID_0525&PID_a4a225%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_0525&PID_a4ab&MI_00
32 26
33[LinuxDevices.NT.5.1]27; Decoration for ia64 architecture
34%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a228[LinuxDevices.NTia64]
29%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_0525&PID_a4ab&MI_00
35 30
31;@@@ This is the common setting for setup
36[ControlFlags]32[ControlFlags]
37ExcludeFromSelect=*33ExcludeFromSelect=*
38 34
39; Windows 98, Windows 98 Second Edition specific sections --------35; DDInstall section
40 36; References the in-build Netrndis.inf
41[RNDIS]
42DeviceID = usb8023
43MaxInstance = 512
44DriverVer = 03/30/2004,0.0.0.0
45AddReg = RNDIS_AddReg_98, RNDIS_AddReg_Common
46
47[RNDIS_AddReg_98]
48HKR, , DevLoader, 0, *ndis
49HKR, , DeviceVxDs, 0, usb8023.sys
50HKR, NDIS, LogDriverName, 0, "usb8023"
51HKR, NDIS, MajorNdisVersion, 1, 5
52HKR, NDIS, MinorNdisVersion, 1, 0
53HKR, Ndi\Interfaces, DefUpper, 0, "ndis3,ndis4,ndis5"
54HKR, Ndi\Interfaces, DefLower, 0, "ethernet"
55HKR, Ndi\Interfaces, UpperRange, 0, "ndis3,ndis4,ndis5"
56HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
57HKR, Ndi\Install, ndis3, 0, "RNDIS_Install_98"
58HKR, Ndi\Install, ndis4, 0, "RNDIS_Install_98"
59HKR, Ndi\Install, ndis5, 0, "RNDIS_Install_98"
60HKR, Ndi, DeviceId, 0, "USB\VID_0525&PID_a4a2"
61
62[RNDIS_Install_98]
63CopyFiles=RNDIS_CopyFiles_98
64
65[RNDIS_CopyFiles_98]
66usb8023.sys, usb8023w.sys, , 0
67rndismp.sys, rndismpw.sys, , 0
68
69; Windows Millennium Edition specific sections --------------------
70
71[RNDIS.ME]
72DeviceID = usb8023
73MaxInstance = 512
74DriverVer = 03/30/2004,0.0.0.0
75AddReg = RNDIS_AddReg_ME, RNDIS_AddReg_Common
76Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI
77BusType = 15
78
79[RNDIS_AddReg_ME]
80HKR, , DevLoader, 0, *ndis
81HKR, , DeviceVxDs, 0, usb8023.sys
82HKR, NDIS, LogDriverName, 0, "usb8023"
83HKR, NDIS, MajorNdisVersion, 1, 5
84HKR, NDIS, MinorNdisVersion, 1, 0
85HKR, Ndi\Interfaces, DefUpper, 0, "ndis3,ndis4,ndis5"
86HKR, Ndi\Interfaces, DefLower, 0, "ethernet"
87HKR, Ndi\Interfaces, UpperRange, 0, "ndis3,ndis4,ndis5"
88HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
89HKR, Ndi\Install, ndis3, 0, "RNDIS_Install_ME"
90HKR, Ndi\Install, ndis4, 0, "RNDIS_Install_ME"
91HKR, Ndi\Install, ndis5, 0, "RNDIS_Install_ME"
92HKR, Ndi, DeviceId, 0, "USB\VID_0525&PID_a4a2"
93
94[RNDIS_Install_ME]
95CopyFiles=RNDIS_CopyFiles_ME
96
97[RNDIS_CopyFiles_ME]
98usb8023.sys, usb8023m.sys, , 0
99rndismp.sys, rndismpm.sys, , 0
100
101; Windows 2000 specific sections ---------------------------------
102
103[RNDIS.NT]
104Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI
105BusType = 15
106DriverVer = 03/30/2004,0.0.0.0
107AddReg = RNDIS_AddReg_NT, RNDIS_AddReg_Common
108CopyFiles = RNDIS_CopyFiles_NT
109
110[RNDIS.NT.Services]
111AddService = 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
115usb8023k.sys, , , 0
116rndismpk.sys, , , 0
117
118[RNDIS_ServiceInst_NT]
119DisplayName = %ServiceDisplayName%
120ServiceType = 1
121StartType = 3
122ErrorControl = 1
123ServiceBinary = %12%\usb8023k.sys
124LoadOrderGroup = NDIS
125AddReg = RNDIS_WMI_AddReg_NT
126
127[RNDIS_WMI_AddReg_NT]
128HKR, , MofImagePath, 0x00020000, "System32\drivers\rndismpk.sys"
129
130; Windows XP specific sections -----------------------------------
131
132[RNDIS.NT.5.1]37[RNDIS.NT.5.1]
133Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI38Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI
134BusType = 1539BusType = 15
135DriverVer = 03/30/2004,0.0.0.040; NEVER REMOVE THE FOLLOWING REFERENCE FOR NETRNDIS.INF
136AddReg = RNDIS_AddReg_NT, RNDIS_AddReg_Common41include = netrndis.inf
137; no copyfiles - the files are already in place42needs = Usb_Rndis.ndi
138 43AddReg = Rndis_AddReg_Vista
44
45; DDInstal.Services section
139[RNDIS.NT.5.1.Services]46[RNDIS.NT.5.1.Services]
140AddService = USB_RNDIS, 2, RNDIS_ServiceInst_51, RNDIS_EventLog47include = netrndis.inf
141 48needs = Usb_Rndis.ndi.Services
142[RNDIS_ServiceInst_51]49
143DisplayName = %ServiceDisplayName%50; Optional registry settings. You can modify as needed.
144ServiceType = 1 51[RNDIS_AddReg_Vista]
145StartType = 3 52HKR, NDI\params\VistaProperty, ParamDesc, 0, %Vista_Property%
146ErrorControl = 1 53HKR, NDI\params\VistaProperty, type, 0, "edit"
147ServiceBinary = %12%\usb8023.sys 54HKR, NDI\params\VistaProperty, LimitText, 0, "12"
148LoadOrderGroup = NDIS55HKR, NDI\params\VistaProperty, UpperCase, 0, "1"
149AddReg = RNDIS_WMI_AddReg_5156HKR, NDI\params\VistaProperty, default, 0, " "
150 57HKR, NDI\params\VistaProperty, optional, 0, "1"
151[RNDIS_WMI_AddReg_51]58
152HKR, , MofImagePath, 0x00020000, "System32\drivers\rndismp.sys"59; No sys copyfiles - the sys files are already in-build
153 60; (part of the operating system).
154; Windows 2000 and Windows XP common sections --------------------61; We do not support XP SP1-, 2003 SP1-, ME, 9x.
155
156[RNDIS_AddReg_NT]
157HKR, Ndi, Service, 0, "USB_RNDIS"
158HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
159HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
160
161[RNDIS_EventLog]
162AddReg = RNDIS_EventLog_AddReg
163
164[RNDIS_EventLog_AddReg]
165HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll"
166HKR, , TypesSupported, 0x00010001, 7
167
168; Common Sections -------------------------------------------------
169
170[RNDIS_AddReg_Common]
171HKR, NDI\params\NetworkAddress, ParamDesc, 0, %NetworkAddress%
172HKR, NDI\params\NetworkAddress, type, 0, "edit"
173HKR, NDI\params\NetworkAddress, LimitText, 0, "12"
174HKR, NDI\params\NetworkAddress, UpperCase, 0, "1"
175HKR, NDI\params\NetworkAddress, default, 0, " "
176HKR, NDI\params\NetworkAddress, optional, 0, "1"
177
178[SourceDisksNames]
1791=%SourceDisk%,,1
180
181[SourceDisksFiles]
182usb8023m.sys=1
183rndismpm.sys=1
184usb8023w.sys=1
185rndismpw.sys=1
186usb8023k.sys=1
187rndismpk.sys=1
188
189[DestinationDirs]
190RNDIS_CopyFiles_98 = 10, system32/drivers
191RNDIS_CopyFiles_ME = 10, system32/drivers
192RNDIS_CopyFiles_NT = 12
193 62
194[Strings]63[Strings]
195ServiceDisplayName = "USB Remote NDIS Network Device Driver"
196NetworkAddress = "Network Address"
197Linux = "Linux Developer Community"64Linux = "Linux Developer Community"
198LinuxDevice = "Linux USB Ethernet/RNDIS Gadget"65LinuxDevice = "Linux USB Ethernet/RNDIS Gadget"
199SourceDisk = "Ethernet/RNDIS Gadget Driver Install Disk"66Vista_Property = "Optional Vista Property"
200
Documentation/usb/mtouchusb.txt+1−5
@@ -54,10 +54,6 @@ generic functions like calibrations, resets, and vendor information can be · 53 unmodified lines
54requested from the userspace (And the drivers would handle the vendor specific54requested from the userspace (And the drivers would handle the vendor specific
55tasks).55tasks).
56 56
57ADDITIONAL INFORMATION/UPDATES/X CONFIGURATION EXAMPLE:
58
59http://groomlakelabs.com/grandamp/code/microtouch/
60
61TODO:57TODO:
62 58
63Implement a control urb again to handle requests to and from the device59Implement a control urb again to handle requests to and from the device
@@ -68,7 +64,7 @@ DISCLAIMER: · 4 unmodified lines
68I am not a MicroTouch/3M employee, nor have I ever been. 3M does not support 64I am not a MicroTouch/3M employee, nor have I ever been. 3M does not support
69this driver! If you want touch drivers only supported within X, please go to:65this driver! If you want touch drivers only supported within X, please go to:
70 66
71http://www.3m.com/3MTouchSystems/downloads/67http://www.3m.com/3MTouchSystems/
72 68
73THANKS:69THANKS:
74 70
Documentation/usb/usb-serial.txt+2−2
@@ -83,7 +83,7 @@ HandSpring Visor, Palm USB, and Clié USB driver · 82 unmodified lines
83 parameters. e.g. modprobe visor vendor=0x54c product=0x6683 parameters. e.g. modprobe visor vendor=0x54c product=0x66
84 84
85 There is a webpage and mailing lists for this portion of the driver at:85 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/
87 87
88 For any questions or problems with this driver, please contact Greg88 For any questions or problems with this driver, please contact Greg
89 Kroah-Hartman at greg@kroah.com89 Kroah-Hartman at greg@kroah.com
@@ -184,7 +184,7 @@ Keyspan USA-series Serial Adapters · 94 unmodified lines
184 functionality.184 functionality.
185 185
186 More information is available at:186 More information is available at:
187 http://misc.nu/hugh/keyspan.html187 http://www.carnationsoftware.com/carnation/Keyspan.html
188 188
189 For any questions or problems with this driver, please contact Hugh189 For any questions or problems with this driver, please contact Hugh
190 Blemings at hugh@misc.nu190 Blemings at hugh@misc.nu
Documentation/video4linux/API.html+1−1
@@ -17,7 +17,7 @@ · 16 unmodified lines
17 </tr>17 </tr>
18 <tr>18 <tr>
19 <td>19 <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>
21 </td>21 </td>
22 <td>Should be used for new projects22 <td>Should be used for new projects
23 </td>23 </td>
Documentation/video4linux/CARDLIST.cx23885+3−3
@@ -17,9 +17,9 @@ · 16 unmodified lines
17 16 -> DVBWorld DVB-S2 2005 [0001:2005]17 16 -> DVBWorld DVB-S2 2005 [0001:2005]
18 17 -> NetUP Dual DVB-S2 CI [1b55:2a2c]18 17 -> NetUP Dual DVB-S2 CI [1b55:2a2c]
19 18 -> Hauppauge WinTV-HVR1270 [0070:2211]19 18 -> Hauppauge WinTV-HVR1270 [0070:2211]
20 19 -> Hauppauge WinTV-HVR1275 [0070:2215]20 19 -> Hauppauge WinTV-HVR1275 [0070:2215,0070:221d,0070:22f2]
21 20 -> Hauppauge WinTV-HVR1255 [0070:2251]21 20 -> Hauppauge WinTV-HVR1255 [0070:2251,0070:2259,0070:22f1]
22 21 -> Hauppauge WinTV-HVR1210 [0070:2291,0070:2295]22 21 -> Hauppauge WinTV-HVR1210 [0070:2291,0070:2295,0070:2299,0070:229d,0070:22f0,0070:22f3,0070:22f4,0070:22f5]
23 22 -> Mygica X8506 DMB-TH [14f1:8651]23 22 -> Mygica X8506 DMB-TH [14f1:8651]
24 23 -> Magic-Pro ProHDTV Extreme 2 [14f1:8657]24 23 -> Magic-Pro ProHDTV Extreme 2 [14f1:8657]
25 24 -> Hauppauge WinTV-HVR1850 [0070:8541]25 24 -> Hauppauge WinTV-HVR1850 [0070:8541]
Documentation/video4linux/CARDLIST.em28xx+1−0
@@ -72,3 +72,4 @@ · 71 unmodified lines
72 73 -> Reddo DVB-C USB TV Box (em2870)72 73 -> Reddo DVB-C USB TV Box (em2870)
73 74 -> Actionmaster/LinXcel/Digitus VC211A (em2800)73 74 -> Actionmaster/LinXcel/Digitus VC211A (em2800)
74 75 -> Dikom DK300 (em2882)74 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
178177 -> Hawell HW-404M7178177 -> Hawell HW-404M7
179178 -> Beholder BeholdTV H7 [5ace:7190]179178 -> Beholder BeholdTV H7 [5ace:7190]
180179 -> Beholder BeholdTV A7 [5ace:7090]180179 -> Beholder BeholdTV A7 [5ace:7090]
181180 -> Avermedia M733A [1461:4155,1461:4255]181180 -> Avermedia PCI M733A [1461:4155,1461:4255]
182181 -> TechoTrend TT-budget T-3000 [13c2:2804]
Documentation/video4linux/CQcam.txt+2−2
@@ -203,11 +203,11 @@ The V4L2 API spec: · 202 unmodified lines
203 http://v4l2spec.bytesex.org/203 http://v4l2spec.bytesex.org/
204 204
205Some web pages about the quickcams:205Some web pages about the quickcams:
206 http://www.dkfz-heidelberg.de/Macromol/wedemann/mini-HOWTO-cqcam.html206 http://www.pingouin-land.com/howto/QuickCam-HOWTO.html
207 207
208 http://www.crynwr.com/qcpc/ QuickCam Third-Party Drivers208 http://www.crynwr.com/qcpc/ QuickCam Third-Party Drivers
209 http://www.crynwr.com/qcpc/re.html Some Reverse Engineering209 http://www.crynwr.com/qcpc/re.html Some Reverse Engineering
210 http://cse.unl.edu/~cluening/gqcam/ v4l client210 http://www.wirelesscouch.net/software/gqcam/ v4l client
211 http://phobos.illtel.denver.co.us/pub/qcread/ doesn't use v4l211 http://phobos.illtel.denver.co.us/pub/qcread/ doesn't use v4l
212 ftp://ftp.cs.unm.edu/pub/chris/quickcam/ Has lots of drivers212 ftp://ftp.cs.unm.edu/pub/chris/quickcam/ Has lots of drivers
213 http://www.cs.duke.edu/~reynolds/quickcam/ Has lots of information213 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
185---------------------------------------------------------------------------185---------------------------------------------------------------------------
186REFERENCES186REFERENCES
187 187
188 1. http://www.risc.uni-linz.ac.at/people/ppregler188 1. http://www.risc.uni-linz.ac.at/
189 mailto:Peter_Pregler@email.com189 mailto:Peter_Pregler@email.com
190 2. see the file COPYING in the top directory of the kernel tree190 2. see the file COPYING in the top directory of the kernel tree
191 3. http://webcam.sourceforge.net/191 3. http://webcam.sourceforge.net/
Documentation/video4linux/README.ivtv+1−1
@@ -10,7 +10,7 @@ Hauppauge PVR-350. · 9 unmodified lines
10NOTE: this driver requires the latest encoder firmware (version 2.06.039, size10NOTE: this driver requires the latest encoder firmware (version 2.06.039, size
11376836 bytes). Get the firmware from here:11376836 bytes). Get the firmware from here:
12 12
13http://dl.ivtvdriver.org/ivtv/firmware/firmware.tar.gz13http://dl.ivtvdriver.org/ivtv/firmware/
14 14
15NOTE: 'normal' TV applications do not work with this driver, you need15NOTE: 'normal' TV applications do not work with this driver, you need
16an application that can handle MPEG input such as mplayer, xine, MythTV,16an 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
174We do not talk about how the audio is broadcast !174We do not talk about how the audio is broadcast !
175 175
176A rather good sites about the TV standards are:176A rather good sites about the TV standards are:
177http://www.sony.jp/ServiceArea/Voltage_map/177http://www.sony.jp/support/
178http://info.electronicwerkstatt.de/bereiche/fernsehtechnik/frequenzen_und_normen/Fernsehnormen/178http://info.electronicwerkstatt.de/bereiche/fernsehtechnik/frequenzen_und_normen/Fernsehnormen/
179and http://www.cabl.com/restaurant/channel.html179and http://www.cabl.com/restaurant/channel.html
180 180
@@ -330,7 +330,7 @@ These extensions are known as the v4l/mjpeg extensions. See zoran.h for · 149 unmodified lines
330details (structs/ioctls).330details (structs/ioctls).
331 331
332Information - video4linux:332Information - video4linux:
333http://roadrunner.swansea.linux.org.uk/v4lapi.shtml333http://linux.bytesex.org/v4l2/API.html
334Documentation/video4linux/API.html334Documentation/video4linux/API.html
335/usr/include/linux/videodev.h335/usr/include/linux/videodev.h
336 336
@@ -390,7 +390,7 @@ BUZIOC_G_STATUS · 53 unmodified lines
390Get the status of the input lines (video source connected/norm).390Get the status of the input lines (video source connected/norm).
391 391
392For programming example, please, look at lavrec.c and lavplay.c code in392For programming example, please, look at lavrec.c and lavplay.c code in
393lavtools-1.2p2 package (URL: http://www.cicese.mx/~mirsev/DC10plus/)393lavtools-1.2p2 package (URL: http://www.cicese.mx/)
394and the 'examples' directory in the original Buz driver distribution.394and the 'examples' directory in the original Buz driver distribution.
395 395
396Additional notes for software developers:396Additional notes for software developers:
Documentation/video4linux/bttv/Cards+3−3
@@ -802,7 +802,7 @@ Kworld (www.kworld.com.tw) · 801 unmodified lines
802 802
803 803
804 804
805JTT/ Justy Corp.http://www.justy.co.jp/ (www.jtt.com.jp website down)805JTT/ Justy Corp.(http://www.jtt.ne.jp/)
806---------------------------------------------------------------------806---------------------------------------------------------------------
807 JTT-02 (JTT TV) "TV watchmate pro" (bt848)807 JTT-02 (JTT TV) "TV watchmate pro" (bt848)
808 808
@@ -828,7 +828,7 @@ Eline www.eline-net.com/ · 19 unmodified lines
828 Eline Vision TVMaster / TVMaster FM (ELV-TVM/ ELV-TVM-FM) = LR26 (bt878)828 Eline Vision TVMaster / TVMaster FM (ELV-TVM/ ELV-TVM-FM) = LR26 (bt878)
829 Eline Vision TVMaster-2000 (ELV-TVM-2000, ELV-TVM-2000-FM)= LR138 (saa713x)829 Eline Vision TVMaster-2000 (ELV-TVM-2000, ELV-TVM-2000-FM)= LR138 (saa713x)
830 830
831Spirit http://www.spiritmodems.com.au/831Spirit
832------832------
833 Spirit TV Tuner/Video Capture Card (bt848)833 Spirit TV Tuner/Video Capture Card (bt848)
834 834
@@ -959,6 +959,6 @@ Asus www.asuscom.com · 124 unmodified lines
959 959
960Hoontech960Hoontech
961--------961--------
962http://www.hoontech.com/korean/download/down_driver_list03.html962http://www.hoontech.de/
963 HART Vision 848 (H-ART Vision 848)963 HART Vision 848 (H-ART Vision 848)
964 HART Vision 878 (H-Art Vision 878)964 HART Vision 878 (H-Art Vision 878)
Documentation/video4linux/bttv/MAKEDEV+1−1
@@ -14,7 +14,7 @@ function makedev () { · 13 unmodified lines
14 ln -s /dev/${1}0 /dev/$114 ln -s /dev/${1}0 /dev/$1
15}15}
16 16
17# see http://roadrunner.swansea.uk.linux.org/v4lapi.shtml17# see http://linux.bytesex.org/v4l2/API.html
18 18
19echo "*** new device names ***"19echo "*** new device names ***"
20makedev video 020makedev video 0
Documentation/video4linux/bttv/Specs+2−2
@@ -1,3 +1,3 @@
1Philips http://www.Semiconductors.COM/pip/1Philips http://www.Semiconductors.COM/pip/
2Conexant http://www.conexant.com/techinfo/default.asp2Conexant http://www.conexant.com/
3Micronas http://www.micronas.de/pages/product_documentation/index.html3Micronas 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
44This data sheet (google search) seems to have a lovely description of the44This data sheet (google search) seems to have a lovely description of the
45RC5 basics45RC5 basics
46 46
47http://users.pandora.be/nenya/electronics/rc5/ and more data47http://www.nenya.be/beor/electronics/rc5.htm and more data
48 48
49http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt49http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt
50and even a reference to how to decode a bi-phase data stream.50and 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
29zc3xx 041e:4034 Creative Instant P062029zc3xx 041e:4034 Creative Instant P0620
30zc3xx 041e:4035 Creative Instant P0620D30zc3xx 041e:4035 Creative Instant P0620D
31zc3xx 041e:4036 Creative Live !31zc3xx 041e:4036 Creative Live !
32sq930x 041e:4038 Creative Joy-IT
32zc3xx 041e:403a Creative Nx Pro 233zc3xx 041e:403a Creative Nx Pro 2
33spca561 041e:403b Creative Webcam Vista (VF0010)34spca561 041e:403b Creative Webcam Vista (VF0010)
35sq930x 041e:403c Creative Live! Ultra
36sq930x 041e:403d Creative Live! Ultra for Notebooks
37sq930x 041e:4041 Creative Live! Motion
34zc3xx 041e:4051 Creative Live!Cam Notebook Pro (VF0250)38zc3xx 041e:4051 Creative Live!Cam Notebook Pro (VF0250)
35ov519 041e:4052 Creative Live! VISTA IM39ov519 041e:4052 Creative Live! VISTA IM
36zc3xx 041e:4053 Creative Live!Cam Video IM40zc3xx 041e:4053 Creative Live!Cam Video IM
@@ -138,6 +142,7 @@ finepix 04cb:013d Fujifilm FinePix unknown model · 101 unmodified lines
138finepix 04cb:013f Fujifilm FinePix F420142finepix 04cb:013f Fujifilm FinePix F420
139sunplus 04f1:1001 JVC GC A50143sunplus 04f1:1001 JVC GC A50
140spca561 04fc:0561 Flexcam 100144spca561 04fc:0561 Flexcam 100
145spca1528 04fc:1528 Sunplus MD80 clone
141sunplus 04fc:500c Sunplus CA500C146sunplus 04fc:500c Sunplus CA500C
142sunplus 04fc:504a Aiptek Mini PenCam 1.3147sunplus 04fc:504a Aiptek Mini PenCam 1.3
143sunplus 04fc:504b Maxell MaxPocket LE 1.3148sunplus 04fc:504b Maxell MaxPocket LE 1.3
@@ -253,6 +258,7 @@ pac7302 093a:2620 Apollo AC-905 · 109 unmodified lines
253pac7302 093a:2621 PAC731x258pac7302 093a:2621 PAC731x
254pac7302 093a:2622 Genius Eye 312259pac7302 093a:2622 Genius Eye 312
255pac7302 093a:2624 PAC7302260pac7302 093a:2624 PAC7302
261pac7302 093a:2625 Genius iSlim 310
256pac7302 093a:2626 Labtec 2200262pac7302 093a:2626 Labtec 2200
257pac7302 093a:2628 Genius iLook 300263pac7302 093a:2628 Genius iLook 300
258pac7302 093a:2629 Genious iSlim 300264pac7302 093a:2629 Genious iSlim 300
@@ -362,6 +368,8 @@ sq905c 2770:9052 Disney pix micro 2 (VGA) · 103 unmodified lines
362sq905c 2770:905c All 11 known cameras with this ID368sq905c 2770:905c All 11 known cameras with this ID
363sq905 2770:9120 All 24 known cameras with this ID369sq905 2770:9120 All 24 known cameras with this ID
364sq905c 2770:913d All 4 known cameras with this ID370sq905c 2770:913d All 4 known cameras with this ID
371sq930x 2770:930b Sweex Motion Tracking / I-Tec iCam Tracer
372sq930x 2770:930c Trust WB-3500T / NSG Robbie 2.0
365spca500 2899:012c Toptro Industrial373spca500 2899:012c Toptro Industrial
366ov519 8020:ef04 ov519374ov519 8020:ef04 ov519
367spca508 8086:0110 Intel Easy PC Camera375spca508 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
44This data sheet (google search) seems to have a lovely description of the44This data sheet (google search) seems to have a lovely description of the
45RC5 basics45RC5 basics
46 46
47http://users.pandora.be/nenya/electronics/rc5/ and more data47http://www.nenya.be/beor/electronics/rc5.htm and more data
48 48
49http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt49http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt
50and even a reference to how to decode a bi-phase data stream.50and 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
27 27
28Xirlink "C-It" camera, also known as "IBM PC Camera".28Xirlink "C-It" camera, also known as "IBM PC Camera".
29The device uses proprietary ASIC (and compression method);29The device uses proprietary ASIC (and compression method);
30it is manufactured by Xirlink. See http://www.xirlink.com/30it is manufactured by Xirlink. See http://xirlinkwebcam.sourceforge.net,
31(renamed to http://www.veo.com), http://www.ibmpccamera.com,31http://www.ibmpccamera.com, or http://www.c-itnow.com/ for details and pictures.
32or http://www.c-itnow.com/ for details and pictures.
33 32
34This very chipset ("X Chip", as marked at the factory)33This very chipset ("X Chip", as marked at the factory)
35is used in several other cameras, and they are supported34is 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
49HELP:49HELP:
50 50
51The latest info on this driver can be found at:51The latest info on this driver can be found at:
52http://www.chello.nl/~j.vreeken/se401/52http://members.chello.nl/~j.vreeken/se401/
53And questions to me can be send to:53And questions to me can be send to:
54pe1rxq@amsat.org54pe1rxq@amsat.org
Documentation/video4linux/v4l2-controls.txt+648−0
@@ -0,0 +1,648 @@
1Introduction
2============
3
4The V4L2 control API seems simple enough, but quickly becomes very hard to
5implement correctly in drivers. But much of the code needed to handle controls
6is actually not driver specific and can be moved to the V4L core framework.
7
8After all, the only part that a driver developer is interested in is:
9
101) How do I add a control?
112) How do I set the control's value? (i.e. s_ctrl)
12
13And occasionally:
14
153) How do I get the control's value? (i.e. g_volatile_ctrl)
164) How do I validate the user's proposed control value? (i.e. try_ctrl)
17
18All the rest is something that can be done centrally.
19
20The control framework was created in order to implement all the rules of the
21V4L2 specification with respect to controls in a central place. And to make
22life as easy as possible for the driver developer.
23
24Note that the control framework relies on the presence of a struct v4l2_device
25for V4L2 drivers and struct v4l2_subdev for sub-device drivers.
26
27
28Objects in the framework
29========================
30
31There are two main objects:
32
33The v4l2_ctrl object describes the control properties and keeps track of the
34control's value (both the current value and the proposed new value).
35
36v4l2_ctrl_handler is the object that keeps track of controls. It maintains a
37list of v4l2_ctrl objects that it owns and another list of references to
38controls, possibly to controls owned by other handlers.
39
40
41Basic usage for V4L2 and sub-device drivers
42===========================================
43
441) Prepare the driver:
45
461.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
561.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
641.3) Hook the control handler into the driver:
65
661.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
851.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
1141.4) Clean up the handler at the end:
115
116 v4l2_ctrl_handler_free(&foo->ctrl_handler);
117
118
1192) Add controls:
120
121You 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
127Menu 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
133These 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
152The v4l2_ctrl_new_std function returns the v4l2_ctrl pointer to the new
153control, but if you do not need to access the pointer outside the control ops,
154then there is no need to store it.
155
156The v4l2_ctrl_new_std function will fill in most fields based on the control
157ID except for the min, max, step and default values. These are passed in the
158last four arguments. These values are driver specific while control attributes
159like type, name, flags are all global. The control's current value will be set
160to the default value.
161
162The v4l2_ctrl_new_std_menu function is very similar but it is used for menu
163controls. There is no min argument since that is always 0 for menu controls,
164and instead of a step there is a skip_mask argument: if bit X is 1, then menu
165item X is skipped.
166
167Note that if something fails, the function will return NULL or an error and
168set ctrl_handler->error to the error code. If ctrl_handler->error was already
169set, then it will just return and do nothing. This is also true for
170v4l2_ctrl_handler_init if it cannot allocate the internal data structure.
171
172This makes it easy to init the handler and just add all controls and only check
173the error code at the end. Saves a lot of repetitive error checking.
174
175It is recommended to add controls in ascending control ID order: it will be
176a bit faster that way.
177
1783) Optionally force initial control setup:
179
180 v4l2_ctrl_handler_setup(&foo->ctrl_handler);
181
182This will call s_ctrl for all controls unconditionally. Effectively this
183initializes the hardware to the default control values. It is recommended
184that you do this as this ensures that both the internal data structures and
185the hardware are in sync.
186
1874) 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
193Usually 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
210The control ops are called with the v4l2_ctrl pointer as argument.
211The new control value has already been validated, so all you need to do is
212to actually update the hardware registers.
213
214You're done! And this is sufficient for most of the drivers we have. No need
215to do any validation of control values, or implement QUERYCTRL/QUERYMENU. And
216G/S_CTRL as well as G/TRY/S_EXT_CTRLS are automatically supported.
217
218
219==============================================================================
220
221The remainder of this document deals with more advanced topics and scenarios.
222In practice the basic usage as described above is sufficient for most drivers.
223
224===============================================================================
225
226
227Inheriting Controls
228===================
229
230When a sub-device is registered with a V4L2 driver by calling
231v4l2_device_register_subdev() and the ctrl_handler fields of both v4l2_subdev
232and v4l2_device are set, then the controls of the subdev will become
233automatically available in the V4L2 driver as well. If the subdev driver
234contains controls that already exist in the V4L2 driver, then those will be
235skipped (so a V4L2 driver can always override a subdev control).
236
237What happens here is that v4l2_device_register_subdev() calls
238v4l2_ctrl_add_handler() adding the controls of the subdev to the controls
239of v4l2_device.
240
241
242Accessing Control Values
243========================
244
245The 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
261Within the control ops you can freely use these. The val and val64 speak for
262themselves. The string pointers point to character buffers of length
263ctrl->maximum + 1, and are always 0-terminated.
264
265In most cases 'cur' contains the current cached control value. When you create
266a new control this value is made identical to the default value. After calling
267v4l2_ctrl_handler_setup() this value is passed to the hardware. It is generally
268a good idea to call this function.
269
270Whenever a new value is set that new value is automatically cached. This means
271that most drivers do not need to implement the g_volatile_ctrl() op. The
272exception is for controls that return a volatile register such as a signal
273strength read-out that changes continuously. In that case you will need to
274implement 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
285The 'new value' union is not used in g_volatile_ctrl. In general controls
286that need to implement g_volatile_ctrl are read-only controls.
287
288To 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
294For try/s_ctrl the new values (i.e. as passed by the user) are filled in and
295you can modify them in try_ctrl or set them in s_ctrl. The 'cur' union
296contains the current value, which you can use (but not change!) as well.
297
298If s_ctrl returns 0 (OK), then the control framework will copy the new final
299values to the 'cur' union.
300
301While in g_volatile/s/try_ctrl you can access the value of all controls owned
302by the same handler since the handler's lock is held. If you need to access
303the value of controls owned by other handlers, then you have to be very careful
304not to introduce deadlocks.
305
306Outside of the control ops you have to go through to helper functions to get
307or 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
312These functions go through the control framework just as VIDIOC_G/S_CTRL ioctls
313do. Don't use these inside the control ops g_volatile/s/try_ctrl, though, that
314will result in a deadlock since these helpers lock the handler as well.
315
316You 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
324Menu Controls
325=============
326
327The v4l2_ctrl struct contains this union:
328
329 union {
330 u32 step;
331 u32 menu_skip_mask;
332 };
333
334For menu controls menu_skip_mask is used. What it does is that it allows you
335to easily exclude certain menu items. This is used in the VIDIOC_QUERYMENU
336implementation where you can return -EINVAL if a certain menu item is not
337present. Note that VIDIOC_QUERYCTRL always returns a step value of 1 for
338menu controls.
339
340A good example is the MPEG Audio Layer II Bitrate menu control where the
341menu is a list of standardized possible bitrates. But in practice hardware
342implementations will only support a subset of those. By setting the skip
343mask you can tell the framework which menu items should be skipped. Setting
344it to 0 means that all menu items are supported.
345
346You set this mask either through the v4l2_ctrl_config struct for a custom
347control, or by calling v4l2_ctrl_new_std_menu().
348
349
350Custom Controls
351===============
352
353Driver 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
367The last argument is the priv pointer which can be set to driver-specific
368private data.
369
370The v4l2_ctrl_config struct also has fields to set the is_private and is_volatile
371flags.
372
373If the name field is not set, then the framework will assume this is a standard
374control and will fill in the name, type and flags fields accordingly.
375
376
377Active and Grabbed Controls
378===========================
379
380If you get more complex relationships between controls, then you may have to
381activate and deactivate controls. For example, if the Chroma AGC control is
382on, then the Chroma Gain control is inactive. That is, you may set it, but
383the value will not be used by the hardware as long as the automatic gain
384control is on. Typically user interfaces can disable such input fields.
385
386You can set the 'active' status using v4l2_ctrl_activate(). By default all
387controls are active. Note that the framework does not check for this flag.
388It is meant purely for GUIs. The function is typically called from within
389s_ctrl.
390
391The other flag is the 'grabbed' flag. A grabbed control means that you cannot
392change it because it is in use by some resource. Typical examples are MPEG
393bitrate controls that cannot be changed while capturing is in progress.
394
395If a control is set to 'grabbed' using v4l2_ctrl_grab(), then the framework
396will return -EBUSY if an attempt is made to set this control. The
397v4l2_ctrl_grab() function is typically called from the driver when it
398starts or stops streaming.
399
400
401Control Clusters
402================
403
404By default all controls are independent from the others. But in more
405complex scenarios you can get dependencies from one control to another.
406In 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
422From now on whenever one or more of the controls belonging to the same
423cluster is set (or 'gotten', or 'tried'), only the control ops of the first
424control ('volume' in this example) is called. You effectively create a new
425composite control. Similar to how a 'struct' works in C.
426
427So when s_ctrl is called with V4L2_CID_AUDIO_VOLUME as argument, you should set
428all 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
448In 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
453Note that controls in a cluster may be NULL. For example, if for some
454reason mute was never added (because the hardware doesn't support that
455particular feature), then mute will be NULL. So in that case we have a
456cluster of 2 controls, of which only 1 is actually instantiated. The
457only restriction is that the first control of the cluster must always be
458present, since that is the 'master' control of the cluster. The master
459control is the one that identifies the cluster and that provides the
460pointer to the v4l2_ctrl_ops struct that is used for that cluster.
461
462Obviously, all controls in the cluster array must be initialized to either
463a valid control or to NULL.
464
465
466VIDIOC_LOG_STATUS Support
467=========================
468
469This ioctl allow you to dump the current status of a driver to the kernel log.
470The v4l2_ctrl_handler_log_status(ctrl_handler, prefix) can be used to dump the
471value of the controls owned by the given handler to the log. You can supply a
472prefix as well. If the prefix didn't end with a space, then ': ' will be added
473for you.
474
475
476Different Handlers for Different Video Nodes
477============================================
478
479Usually the V4L2 driver has just one control handler that is global for
480all video nodes. But you can also specify different control handlers for
481different video nodes. You can do that by manually setting the ctrl_handler
482field of struct video_device.
483
484That is no problem if there are no subdevs involved but if there are, then
485you need to block the automatic merging of subdev controls to the global
486control handler. You do that by simply setting the ctrl_handler field in
487struct v4l2_device to NULL. Now v4l2_device_register_subdev() will no longer
488merge subdev controls.
489
490After each subdev was added, you will then have to call v4l2_ctrl_add_handler
491manually to add the subdev's control handler (sd->ctrl_handler) to the desired
492control handler. This control handler may be specific to the video_device or
493for a subset of video_device's. For example: the radio device nodes only have
494audio controls, while the video and vbi device nodes share the same control
495handler for the audio and video controls.
496
497If you want to have one handler (e.g. for a radio device node) have a subset
498of another handler (e.g. for a video device node), then you should first add
499the controls to the first handler, add the other controls to the second
500handler 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
508Or 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
515What you should not do is make two identical controls for two handlers.
516For 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
521This would be bad since muting the radio would not change the video mute
522control. The rule is to have one control for each hardware 'knob' that you
523can twiddle.
524
525
526Finding Controls
527================
528
529Normally you have created the controls yourself and you can store the struct
530v4l2_ctrl pointer into your own struct.
531
532But sometimes you need to find a control from another handler that you do
533not own. For example, if you have to find a volume control from a subdev.
534
535You 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
541Since v4l2_ctrl_find will lock the handler you have to be careful where you
542use 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
555When s_ctrl is called by the framework the ctrl_handler.lock is already taken, so
556attempting to find another control from the same handler will deadlock.
557
558It is recommended not to use this function from inside the control ops.
559
560
561Inheriting Controls
562===================
563
564When one control handler is added to another using v4l2_ctrl_add_handler, then
565by default all controls from one are merged to the other. But a subdev might
566have low-level controls that make sense for some advanced embedded system, but
567not when it is used in consumer-level hardware. In that case you want to keep
568those low-level controls local to the subdev. You can do this by simply
569setting 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
583These controls will now be skipped when v4l2_ctrl_add_handler is called.
584
585
586V4L2_CTRL_TYPE_CTRL_CLASS Controls
587==================================
588
589Controls of this type can be used by GUIs to get the name of the control class.
590A fully featured GUI can make a dialog with multiple tabs with each tab
591containing the controls belonging to a particular control class. The name of
592each tab can be found by querying a special control with ID <control class | 1>.
593
594Drivers do not have to care about this. The framework will automatically add
595a control of this type whenever the first control belonging to a new control
596class is added.
597
598
599Differences from the Spec
600=========================
601
602There are a few places where the framework acts slightly differently from the
603V4L2 Specification. Those differences are described in this section. We will
604have to see whether we need to adjust the spec or not.
605
6061) It is no longer required to have all controls contained in a
607v4l2_ext_control array be from the same control class. The framework will be
608able to handle any type of control in the array. You need to set ctrl_class
609to 0 in order to enable this. If ctrl_class is non-zero, then it will still
610check that all controls belong to that control class.
611
612If you set ctrl_class to 0 and count to 0, then it will only return an error
613if there are no controls at all.
614
6152) Clarified the way error_idx works. For get and set it will be equal to
616count if nothing was done yet. If it is less than count then only the controls
617up to error_idx-1 were successfully applied.
618
6193) When attempting to read a button control the framework will return -EACCES
620instead of -EINVAL as stated in the spec. It seems to make more sense since
621button controls are write-only controls.
622
6234) Attempting to write to a read-only control will return -EACCES instead of
624-EINVAL as the spec says.
625
6265) The spec does not mention what should happen when you try to set/get a
627control class controls. ivtv currently returns -EINVAL (indicating that the
628control ID does not exist) while the framework will return -EACCES, which
629makes more sense.
630
631
632Proposals for Extensions
633========================
634
635Some ideas for future extensions to the spec:
636
6371) Add a V4L2_CTRL_FLAG_HEX to have values shown as hexadecimal instead of
638decimal. Useful for e.g. video_mute_yuv.
639
6402) It is possible to mark in the controls array which controls have been
641successfully written and which failed by for example adding a bit to the
642control ID. Not sure if it is worth the effort, though.
643
6443) Trying to set volatile inactive controls should result in -EACCESS.
645
6464) Add a new flag to mark volatile controls. Any application that wants
647to store the state of the controls can then skip volatile inactive controls.
648Currently 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
24is called VIDEO_PALETTE_YUV422 (16 bpp).24is called VIDEO_PALETTE_YUV422 (16 bpp).
25 25
26A minimal test application (with source) is available from:26A minimal test application (with source) is available from:
27 http://hem.fyristorg.com/mogul/w9966.html27 http://www.slackwaresupport.com/howtos/Webcam-HOWTO
28 28
29The slow framerate is due to missing DMA ECP read support in the29The slow framerate is due to missing DMA ECP read support in the
30parport drivers. I might add working EPP support later.30parport 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
694#endif694#endif
695" -l|--list Show page details in ranges\n"695" -l|--list Show page details in ranges\n"
696" -L|--list-each Show page details one by one\n"696" -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"
698" -X|--hwpoison hwpoison pages\n"698" -X|--hwpoison hwpoison pages\n"
699" -x|--unpoison unpoison pages\n"699" -x|--unpoison unpoison pages\n"
700" -h|--help Show this usage message\n"700" -h|--help Show this usage message\n"
Documentation/w1/masters/ds2482+2−2
@@ -6,8 +6,8 @@ Supported chips: · 5 unmodified lines
6 Prefix: 'ds2482'6 Prefix: 'ds2482'
7 Addresses scanned: None7 Addresses scanned: None
8 Datasheets:8 Datasheets:
9 http://pdfserv.maxim-ic.com/en/ds/DS2482-100-DS2482S-100.pdf9 http://datasheets.maxim-ic.com/en/ds/DS2482-100.pdf
10 http://pdfserv.maxim-ic.com/en/ds/DS2482-800-DS2482S-800.pdf10 http://datasheets.maxim-ic.com/en/ds/DS2482-800.pdf
11 11
12Author: Ben Gardner <bgardner@wabtec.com>12Author: Ben Gardner <bgardner@wabtec.com>
13 13
Documentation/w1/masters/mxc-w1+2−1
@@ -5,7 +5,8 @@ Supported chips: · 4 unmodified lines
5 * Freescale MX27, MX31 and probably other i.MX SoCs5 * Freescale MX27, MX31 and probably other i.MX SoCs
6 Datasheets:6 Datasheets:
7 http://www.freescale.com/files/32bit/doc/data_sheet/MCIMX31.pdf?fpsp=17 http://www.freescale.com/files/32bit/doc/data_sheet/MCIMX31.pdf?fpsp=1
8 http://www.freescale.com/files/dsp/MCIMX27.pdf?fpsp=18 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
9 10
10Author: Originally based on Freescale code, prepared for mainline by11Author: Originally based on Freescale code, prepared for mainline by
11 Sascha Hauer <s.hauer@pengutronix.de>12 Sascha Hauer <s.hauer@pengutronix.de>
Documentation/w1/masters/omap-hdq+1−1
@@ -7,7 +7,7 @@ Supported chips: · 6 unmodified lines
7 7
8A useful link about HDQ basics:8A useful link about HDQ basics:
9===============================9===============================
10http://focus.ti.com/lit/an/slua408/slua408.pdf10http://focus.ti.com/lit/an/slua408a/slua408a.pdf
11 11
12Description:12Description:
13============13============
Documentation/x86/zero-page.txt+1−0
@@ -18,6 +18,7 @@ Offset Proto Name Meaning · 17 unmodified lines
18080/010 ALL hd0_info hd0 disk parameter, OBSOLETE!!18080/010 ALL hd0_info hd0 disk parameter, OBSOLETE!!
19090/010 ALL hd1_info hd1 disk parameter, OBSOLETE!!19090/010 ALL hd1_info hd1 disk parameter, OBSOLETE!!
200A0/010 ALL sys_desc_table System description table (struct sys_desc_table)200A0/010 ALL sys_desc_table System description table (struct sys_desc_table)
210B0/010 ALL olpc_ofw_header OLPC's OpenFirmware CIF and friends
21140/080 ALL edid_info Video mode setup (struct edid_info)22140/080 ALL edid_info Video mode setup (struct edid_info)
221C0/020 ALL efi_info EFI 32 information (struct efi_info)231C0/020 ALL efi_info EFI 32 information (struct efi_info)
231E0/004 ALL alk_mem_k Alternative mem check, in KB241E0/004 ALL alk_mem_k Alternative mem check, in KB
Documentation/zh_CN/HOWTO+4−4
@@ -112,7 +112,7 @@ Linux内核代码中包含有大量的文档。这些文档对于学习如何与 · 111 unmodified lines
112 112
113 其他关于如何正确地生成补丁的优秀文档包括:113 其他关于如何正确地生成补丁的优秀文档包括:
114 "The Perfect Patch"114 "The Perfect Patch"
115 http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt115 http://userweb.kernel.org/~akpm/stuff/tpp.txt
116 "Linux kernel patch submission format"116 "Linux kernel patch submission format"
117 http://linux.yyz.us/patch-format.html117 http://linux.yyz.us/patch-format.html
118 118
@@ -168,7 +168,7 @@ Linux内核代码中包含有大量的文档。这些文档对于学习如何与 · 49 unmodified lines
168 168
169如果你想加入内核开发社区并协助完成一些任务,却找不到从哪里开始,可以访问169如果你想加入内核开发社区并协助完成一些任务,却找不到从哪里开始,可以访问
170“Linux内核房管员”计划:170“Linux内核房管员”计划:
171 http://janitor.kernelnewbies.org/171 http://kernelnewbies.org/KernelJanitors
172这是极佳的起点。它提供一个相对简单的任务列表,列出内核代码中需要被重新172这是极佳的起点。它提供一个相对简单的任务列表,列出内核代码中需要被重新
173整理或者改正的地方。通过和负责这个计划的开发者们一同工作,你会学到将补丁173整理或者改正的地方。通过和负责这个计划的开发者们一同工作,你会学到将补丁
174集成进内核的基本原理。如果还没有决定下一步要做什么的话,你还可能会得到方174集成进内核的基本原理。如果还没有决定下一步要做什么的话,你还可能会得到方
@@ -515,7 +515,7 @@ Linux内核社区并不喜欢一下接收大段的代码。修改需要被恰当 · 340 unmodified lines
515 515
516想了解它具体应该看起来像什么,请查阅以下文档中的“ChangeLog”章节:516想了解它具体应该看起来像什么,请查阅以下文档中的“ChangeLog”章节:
517 “The Perfect Patch”517 “The Perfect Patch”
518 http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt518 http://userweb.kernel.org/~akpm/stuff/tpp.txt
519 519
520 520
521这些事情有时候做起来很难。要在任何方面都做到完美可能需要好几年时间。这是521这些事情有时候做起来很难。要在任何方面都做到完美可能需要好几年时间。这是
@@ -525,7 +525,7 @@ Linux内核社区并不喜欢一下接收大段的代码。修改需要被恰当 · 3 unmodified lines
525 525
526---------------526---------------
527感谢Paolo Ciarrocchi允许“开发流程”部分基于他所写的文章527感谢Paolo Ciarrocchi允许“开发流程”部分基于他所写的文章
528(http://linux.tar.bz/articles/2.6-development_process),感谢Randy528(http://www.kerneltravel.net/newbie/2.6-development_process),感谢Randy
529Dunlap和Gerrit Huizenga完善了应该说和不该说的列表。感谢Pat Mochel, Hanna529Dunlap和Gerrit Huizenga完善了应该说和不该说的列表。感谢Pat Mochel, Hanna
530Linder, Randy Dunlap, Kay Sievers, Vojtech Pavlik, Jan Kara, Josh Boyer,530Linder, Randy Dunlap, Kay Sievers, Vojtech Pavlik, Jan Kara, Josh Boyer,
531Kees Cook, Andrew Morton, Andi Kleen, Vadim Lobanov, Jesper Juhl, Adrian531Kees 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
165 http://www.fenrus.org/how-to-not-write-a-device-driver-paper.pdf165 http://www.fenrus.org/how-to-not-write-a-device-driver-paper.pdf
166 166
167内核清洁工 (Kernel Janitor):167内核清洁工 (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
83http://savannah.nongnu.org/projects/quilt83http://savannah.nongnu.org/projects/quilt
84 84
85Andrew Morton 的补丁脚本:85Andrew Morton 的补丁脚本:
86http://www.zip.com.au/~akpm/linux/patches/86http://userweb.kernel.org/~akpm/stuff/patch-scripts.tar.gz
87作为这些脚本的替代,quilt 是值得推荐的补丁管理工具(看上面的链接)。87作为这些脚本的替代,quilt 是值得推荐的补丁管理工具(看上面的链接)。
88 88
892)描述你的改动。892)描述你的改动。
@@ -166,7 +166,7 @@ MAITAINERS 文件里的)发送一个手册页(man-pages)补丁,或者至 · 76 unmodified lines
166 人拷贝,只要它是琐碎的)166 人拷贝,只要它是琐碎的)
167 任何文件的作者/维护者对该文件的改动(例如 patch monkey 在重传模式下)167 任何文件的作者/维护者对该文件的改动(例如 patch monkey 在重传模式下)
168 168
169URL: <http://www.kernel.org/pub/linux/kernel/people/bunk/trivial/>169EMAIL: trivial@kernel.org
170 170
171(译注,关于“琐碎补丁”的一些说明:因为原文的这一部分写得比较简单,所以不得不171(译注,关于“琐碎补丁”的一些说明:因为原文的这一部分写得比较简单,所以不得不
172违例写一下译注。"trivial"这个英文单词的本意是“琐碎的,不重要的。”但是在这里172违例写一下译注。"trivial"这个英文单词的本意是“琐碎的,不重要的。”但是在这里
@@ -394,7 +394,7 @@ Static inline 函数相比宏来说,是好得多的选择。Static inline 函 · 221 unmodified lines
394----------------394----------------
395 395
396Andrew Morton, "The perfect patch" (tpp).396Andrew 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>
398 398
399Jeff Garzik, "Linux kernel patch submission format".399Jeff Garzik, "Linux kernel patch submission format".
400 <http://linux.yyz.us/patch-format.html>400 <http://linux.yyz.us/patch-format.html>
Documentation/zh_CN/sparse.txt+1−1
@@ -22,7 +22,7 @@ Documentation/sparse.txt 的中文翻译 · 21 unmodified lines
22---------------------------------------------------------------------22---------------------------------------------------------------------
23 23
24Copyright 2004 Linus Torvalds24Copyright 2004 Linus Torvalds
25Copyright 2004 Pavel Machek <pavel@suse.cz>25Copyright 2004 Pavel Machek <pavel@ucw.cz>
26Copyright 2006 Bob Copeland <me@bobcopeland.com>26Copyright 2006 Bob Copeland <me@bobcopeland.com>
27 27
28使用 sparse 工具做类型检查28使用 sparse 工具做类型检查
MAINTAINERS+142−79
@@ -313,11 +313,9 @@ S: Maintained · 312 unmodified lines
313F: drivers/hwmon/adm1029.c313F: drivers/hwmon/adm1029.c
314 314
315ADM8211 WIRELESS DRIVER315ADM8211 WIRELESS DRIVER
316M: Michael Wu <flamingice@sourmilk.net>
317L: linux-wireless@vger.kernel.org316L: linux-wireless@vger.kernel.org
318W: http://linuxwireless.org/317W: http://linuxwireless.org/
319T: git git://git.kernel.org/pub/scm/linux/kernel/git/mwu/mac80211-drivers.git318S: Orphan
320S: Maintained
321F: drivers/net/wireless/adm8211.*319F: drivers/net/wireless/adm8211.*
322 320
323ADT746X FAN DRIVER321ADT746X FAN DRIVER
@@ -576,7 +574,6 @@ L: linux-mtd@lists.infradead.org · 252 unmodified lines
576S: Maintained574S: Maintained
577F: drivers/mtd/nand/bcm_umi_nand.c575F: drivers/mtd/nand/bcm_umi_nand.c
578F: drivers/mtd/nand/bcm_umi_bch.c576F: drivers/mtd/nand/bcm_umi_bch.c
579F: drivers/mtd/nand/bcm_umi_hamming.c
580F: drivers/mtd/nand/nand_bcm_umi.h577F: drivers/mtd/nand/nand_bcm_umi.h
581 578
582ARM/CAVIUM NETWORKS CNS3XXX MACHINE SUPPORT579ARM/CAVIUM NETWORKS CNS3XXX MACHINE SUPPORT
@@ -619,10 +616,10 @@ M: Richard Purdie <rpurdie@rpsys.net> · 36 unmodified lines
619S: Maintained616S: Maintained
620 617
621ARM/CORTINA SYSTEMS GEMINI ARM ARCHITECTURE618ARM/CORTINA SYSTEMS GEMINI ARM ARCHITECTURE
622M: Paulius Zaleckas <paulius.zaleckas@gmail.com>619M: Hans Ulli Kroll <ulli.kroll@googlemail.com>
623L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)620L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
624T: git git://gitorious.org/linux-gemini/mainline.git621T: git git://git.berlios.de/gemini-board
625S: Odd Fixes622S: Maintained
626F: arch/arm/mach-gemini/623F: arch/arm/mach-gemini/
627 624
628ARM/EBSA110 MACHINE SUPPORT625ARM/EBSA110 MACHINE SUPPORT
@@ -644,9 +641,10 @@ T: topgit git://git.openezx.org/openezx.git · 15 unmodified lines
644F: arch/arm/mach-pxa/ezx.c641F: arch/arm/mach-pxa/ezx.c
645 642
646ARM/FARADAY FA526 PORT643ARM/FARADAY FA526 PORT
647M: Paulius Zaleckas <paulius.zaleckas@gmail.com>644M: Hans Ulli Kroll <ulli.kroll@googlemail.com>
648L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)645L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
649S: Odd Fixes646S: Maintained
647T: git://git.berlios.de/gemini-board
650F: arch/arm/mm/*-fa*648F: arch/arm/mm/*-fa*
651 649
652ARM/FOOTBRIDGE ARCHITECTURE650ARM/FOOTBRIDGE ARCHITECTURE
@@ -695,6 +693,13 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git · 42 unmodified lines
695F: arch/arm/mach-sa1100/jornada720.c693F: arch/arm/mach-sa1100/jornada720.c
696F: arch/arm/mach-sa1100/include/mach/jornada720.h694F: arch/arm/mach-sa1100/include/mach/jornada720.h
697 695
696ARM/INCOME PXA270 SUPPORT
697M: Marek Vasut <marek.vasut@gmail.com>
698L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
699S: Maintained
700F: arch/arm/mach-pxa/income.c
701F: arch/arm/mach-pxa/include/mach-pxa/income.h
702
698ARM/INTEL IOP32X ARM ARCHITECTURE703ARM/INTEL IOP32X ARM ARCHITECTURE
699M: Lennert Buytenhek <kernel@wantstofly.org>704M: Lennert Buytenhek <kernel@wantstofly.org>
700M: Dan Williams <dan.j.williams@intel.com>705M: Dan Williams <dan.j.williams@intel.com>
@@ -950,8 +955,9 @@ ARM/SHMOBILE ARM ARCHITECTURE · 249 unmodified lines
950M: Paul Mundt <lethal@linux-sh.org>955M: Paul Mundt <lethal@linux-sh.org>
951M: Magnus Damm <magnus.damm@gmail.com>956M: Magnus Damm <magnus.damm@gmail.com>
952L: linux-sh@vger.kernel.org957L: linux-sh@vger.kernel.org
953T: git git://git.kernel.org/pub/scm/linux/kernel/git/lethal/genesis-2.6.git
954W: http://oss.renesas.com958W: http://oss.renesas.com
959Q: http://patchwork.kernel.org/project/linux-sh/list/
960T: git git://git.kernel.org/pub/scm/linux/kernel/git/lethal/genesis-2.6.git
955S: Supported961S: Supported
956F: arch/arm/mach-shmobile/962F: arch/arm/mach-shmobile/
957F: drivers/sh/963F: drivers/sh/
@@ -977,12 +983,11 @@ F: drivers/input/keyboard/w90p910_keypad.c · 19 unmodified lines
977F: drivers/input/touchscreen/w90p910_ts.c983F: drivers/input/touchscreen/w90p910_ts.c
978F: drivers/watchdog/nuc900_wdt.c984F: drivers/watchdog/nuc900_wdt.c
979F: drivers/net/arm/w90p910_ether.c985F: drivers/net/arm/w90p910_ether.c
980F: drivers/mtd/nand/w90p910_nand.c986F: drivers/mtd/nand/nuc900_nand.c
981F: drivers/rtc/rtc-nuc900.c987F: drivers/rtc/rtc-nuc900.c
982F: drivers/spi/spi_nuc900.c988F: drivers/spi/spi_nuc900.c
983F: drivers/usb/host/ehci-w90x900.c989F: drivers/usb/host/ehci-w90x900.c
984F: drivers/video/nuc900fb.c990F: drivers/video/nuc900fb.c
985F: drivers/sound/soc/nuc900/
986 991
987ARM/U300 MACHINE SUPPORT992ARM/U300 MACHINE SUPPORT
988M: Linus Walleij <linus.walleij@stericsson.com>993M: Linus Walleij <linus.walleij@stericsson.com>
@@ -1012,14 +1017,14 @@ M: Marek Vasut <marek.vasut@gmail.com> · 23 unmodified lines
1012L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)1017L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1013S: Maintained1018S: Maintained
1014F: arch/arm/mach-pxa/vpac270.c1019F: arch/arm/mach-pxa/vpac270.c
1015F: arch/arm/mach-pxa/include/mach-pxa/vpac270.h1020F: arch/arm/mach-pxa/include/mach/vpac270.h
1016 1021
1017ARM/ZIPIT Z2 SUPPORT1022ARM/ZIPIT Z2 SUPPORT
1018M: Marek Vasut <marek.vasut@gmail.com>1023M: Marek Vasut <marek.vasut@gmail.com>
1019L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)1024L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1020S: Maintained1025S: Maintained
1021F: arch/arm/mach-pxa/z2.c1026F: arch/arm/mach-pxa/z2.c
1022F: arch/arm/mach-pxa/include/mach-pxa/z2.h1027F: arch/arm/mach-pxa/include/mach/z2.h
1023 1028
1024ASC7621 HARDWARE MONITOR DRIVER1029ASC7621 HARDWARE MONITOR DRIVER
1025M: George Joseph <george.joseph@fairview5.com>1030M: George Joseph <george.joseph@fairview5.com>
@@ -1089,7 +1094,6 @@ F: drivers/net/wireless/ath/ath5k/ · 63 unmodified lines
1089ATHEROS ATH9K WIRELESS DRIVER1094ATHEROS ATH9K WIRELESS DRIVER
1090M: "Luis R. Rodriguez" <lrodriguez@atheros.com>1095M: "Luis R. Rodriguez" <lrodriguez@atheros.com>
1091M: Jouni Malinen <jmalinen@atheros.com>1096M: Jouni Malinen <jmalinen@atheros.com>
1092M: Sujith Manoharan <Sujith.Manoharan@atheros.com>
1093M: Vasanthakumar Thiagarajan <vasanth@atheros.com>1097M: Vasanthakumar Thiagarajan <vasanth@atheros.com>
1094M: Senthil Balasubramanian <senthilkumar@atheros.com>1098M: Senthil Balasubramanian <senthilkumar@atheros.com>
1095L: linux-wireless@vger.kernel.org1099L: linux-wireless@vger.kernel.org
@@ -1255,8 +1259,7 @@ S: Maintained · 159 unmodified lines
1255F: drivers/net/hamradio/baycom*1259F: drivers/net/hamradio/baycom*
1256 1260
1257BEFS FILE SYSTEM1261BEFS FILE SYSTEM
1258M: "Sergey S. Kostyliov" <rathamahata@php4.ru>1262S: Orphan
1259S: Maintained
1260F: Documentation/filesystems/befs.txt1263F: Documentation/filesystems/befs.txt
1261F: fs/befs/1264F: fs/befs/
1262 1265
@@ -1369,7 +1372,7 @@ BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER · 106 unmodified lines
1369M: Eilon Greenstein <eilong@broadcom.com>1372M: Eilon Greenstein <eilong@broadcom.com>
1370L: netdev@vger.kernel.org1373L: netdev@vger.kernel.org
1371S: Supported1374S: Supported
1372F: drivers/net/bnx2x*1375F: drivers/net/bnx2x/
1373 1376
1374BROADCOM TG3 GIGABIT ETHERNET DRIVER1377BROADCOM TG3 GIGABIT ETHERNET DRIVER
1375M: Matt Carlson <mcarlson@broadcom.com>1378M: Matt Carlson <mcarlson@broadcom.com>
@@ -1571,6 +1574,16 @@ L: platform-driver-x86@vger.kernel.org · 195 unmodified lines
1571S: Supported1574S: Supported
1572F: drivers/platform/x86/classmate-laptop.c1575F: drivers/platform/x86/classmate-laptop.c
1573 1576
1577COCCINELLE/Semantic Patches (SmPL)
1578M: Julia Lawall <julia@diku.dk>
1579M: Gilles Muller <Gilles.Muller@lip6.fr>
1580M: Nicolas Palix <npalix@diku.dk>
1581L: cocci@diku.dk (moderated for non-subscribers)
1582W: http://coccinelle.lip6.fr/
1583S: Supported
1584F: scripts/coccinelle/
1585F: scripts/coccicheck
1586
1574CODA FILE SYSTEM1587CODA FILE SYSTEM
1575M: Jan Harkes <jaharkes@cs.cmu.edu>1588M: Jan Harkes <jaharkes@cs.cmu.edu>
1576M: coda@cs.cmu.edu1589M: coda@cs.cmu.edu
@@ -1726,6 +1739,8 @@ CRYPTOGRAPHIC RANDOM NUMBER GENERATOR · 149 unmodified lines
1726M: Neil Horman <nhorman@tuxdriver.com>1739M: Neil Horman <nhorman@tuxdriver.com>
1727L: linux-crypto@vger.kernel.org1740L: linux-crypto@vger.kernel.org
1728S: Maintained1741S: Maintained
1742F: crypto/ansi_cprng.c
1743F: crypto/rng.c
1729 1744
1730CS5535 Audio ALSA driver1745CS5535 Audio ALSA driver
1731M: Jaya Kumar <jayakumar.alsa@gmail.com>1746M: Jaya Kumar <jayakumar.alsa@gmail.com>
@@ -1771,6 +1786,13 @@ W: http://www.openfabrics.org · 39 unmodified lines
1771S: Supported1786S: Supported
1772F: drivers/infiniband/hw/cxgb4/1787F: drivers/infiniband/hw/cxgb4/
1773 1788
1789CXGB4VF ETHERNET DRIVER (CXGB4VF)
1790M: Casey Leedom <leedom@chelsio.com>
1791L: netdev@vger.kernel.org
1792W: http://www.chelsio.com
1793S: Supported
1794F: drivers/net/cxgb4vf/
1795
1774CYBERPRO FB DRIVER1796CYBERPRO FB DRIVER
1775M: Russell King <linux@arm.linux.org.uk>1797M: Russell King <linux@arm.linux.org.uk>
1776L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)1798L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@ -1877,6 +1899,7 @@ F: drivers/firmware/dcdbas.* · 100 unmodified lines
1877DELL WMI EXTRAS DRIVER1899DELL WMI EXTRAS DRIVER
1878M: Matthew Garrett <mjg59@srcf.ucam.org>1900M: Matthew Garrett <mjg59@srcf.ucam.org>
1879S: Maintained1901S: Maintained
1902F: drivers/platform/x86/dell-wmi.c
1880 1903
1881DEVICE NUMBER REGISTRY1904DEVICE NUMBER REGISTRY
1882M: Torben Mathiasen <device@lanana.org>1905M: Torben Mathiasen <device@lanana.org>
@@ -2006,6 +2029,7 @@ L: dri-devel@lists.freedesktop.org · 123 unmodified lines
2006T: git git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git2029T: git git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
2007S: Maintained2030S: Maintained
2008F: drivers/gpu/drm/2031F: drivers/gpu/drm/
2032F: include/drm/
2009 2033
2010DSCC4 DRIVER2034DSCC4 DRIVER
2011M: Francois Romieu <romieu@fr.zoreil.com>2035M: Francois Romieu <romieu@fr.zoreil.com>
@@ -2188,6 +2212,12 @@ F: drivers/misc/cb710/ · 176 unmodified lines
2188F: drivers/mmc/host/cb710-mmc.*2212F: drivers/mmc/host/cb710-mmc.*
2189F: include/linux/cb710.h2213F: include/linux/cb710.h
2190 2214
2215ENE KB2426 (ENE0100/ENE020XX) INFRARED RECEIVER
2216M: Maxim Levitsky <maximlevitsky@gmail.com>
2217S: Maintained
2218F: drivers/media/IR/ene_ir.c
2219F: drivers/media/IR/ene_ir.h
2220
2191EPSON 1355 FRAMEBUFFER DRIVER2221EPSON 1355 FRAMEBUFFER DRIVER
2192M: Christopher Hoover <ch@murgatroid.com>2222M: Christopher Hoover <ch@murgatroid.com>
2193M: Christopher Hoover <ch@hpl.hp.com>2223M: Christopher Hoover <ch@hpl.hp.com>
@@ -2222,6 +2252,7 @@ S: Maintained · 28 unmodified lines
2222F: drivers/net/eth16i.c2252F: drivers/net/eth16i.c
2223 2253
2224EXT2 FILE SYSTEM2254EXT2 FILE SYSTEM
2255M: Jan Kara <jack@suse.cz>
2225L: linux-ext4@vger.kernel.org2256L: linux-ext4@vger.kernel.org
2226S: Maintained2257S: Maintained
2227F: Documentation/filesystems/ext2.txt2258F: Documentation/filesystems/ext2.txt
@@ -2229,8 +2260,9 @@ F: fs/ext2/ · 1 unmodified line
2229F: include/linux/ext2*2260F: include/linux/ext2*
2230 2261
2231EXT3 FILE SYSTEM2262EXT3 FILE SYSTEM
2263M: Jan Kara <jack@suse.cz>
2232M: Andrew Morton <akpm@linux-foundation.org>2264M: Andrew Morton <akpm@linux-foundation.org>
2233M: Andreas Dilger <adilger@sun.com>2265M: Andreas Dilger <adilger.kernel@dilger.ca>
2234L: linux-ext4@vger.kernel.org2266L: linux-ext4@vger.kernel.org
2235S: Maintained2267S: Maintained
2236F: Documentation/filesystems/ext3.txt2268F: Documentation/filesystems/ext3.txt
@@ -2239,7 +2271,7 @@ F: include/linux/ext3* · 2 unmodified lines
2239 2271
2240EXT4 FILE SYSTEM2272EXT4 FILE SYSTEM
2241M: "Theodore Ts'o" <tytso@mit.edu>2273M: "Theodore Ts'o" <tytso@mit.edu>
2242M: Andreas Dilger <adilger@sun.com>2274M: Andreas Dilger <adilger.kernel@dilger.ca>
2243L: linux-ext4@vger.kernel.org2275L: linux-ext4@vger.kernel.org
2244W: http://ext4.wiki.kernel.org2276W: http://ext4.wiki.kernel.org
2245Q: http://patchwork.ozlabs.org/project/linux-ext4/list/2277Q: 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
2307S: Maintained2339S: Maintained
2308F: drivers/firewire/2340F: drivers/firewire/
2309F: include/linux/firewire*.h2341F: include/linux/firewire*.h
2342F: tools/firewire/
2310 2343
2311FIRMWARE LOADER (request_firmware)2344FIRMWARE LOADER (request_firmware)
2312S: Orphan2345S: Orphan
@@ -2620,6 +2653,14 @@ S: Maintained · 307 unmodified lines
2620F: Documentation/blockdev/cpqarray.txt2653F: Documentation/blockdev/cpqarray.txt
2621F: drivers/block/cpqarray.*2654F: drivers/block/cpqarray.*
2622 2655
2656HEWLETT-PACKARD SMART ARRAY RAID DRIVER (hpsa)
2657M: Stephen M. Cameron <scameron@beardog.cce.hp.com>
2658L: iss_storagedev@hp.com
2659S: Supported
2660F: Documentation/scsi/hpsa.txt
2661F: drivers/scsi/hpsa*.[ch]
2662F: include/linux/cciss*.h
2663
2623HEWLETT-PACKARD SMART CISS RAID DRIVER (cciss)2664HEWLETT-PACKARD SMART CISS RAID DRIVER (cciss)
2624M: Mike Miller <mike.miller@hp.com>2665M: Mike Miller <mike.miller@hp.com>
2625L: iss_storagedev@hp.com2666L: iss_storagedev@hp.com
@@ -3184,6 +3225,13 @@ F: Documentation/video4linux/*.ivtv · 558 unmodified lines
3184F: drivers/media/video/ivtv/3225F: drivers/media/video/ivtv/
3185F: include/linux/ivtv*3226F: include/linux/ivtv*
3186 3227
3228JC42.4 TEMPERATURE SENSOR DRIVER
3229M: Guenter Roeck <linux@roeck-us.net>
3230L: lm-sensors@lm-sensors.org
3231S: Maintained
3232F: drivers/hwmon/jc42.c
3233F: Documentation/hwmon/jc42
3234
3187JFS FILESYSTEM3235JFS FILESYSTEM
3188M: Dave Kleikamp <shaggy@linux.vnet.ibm.com>3236M: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
3189L: jfs-discussion@lists.sourceforge.net3237L: jfs-discussion@lists.sourceforge.net
@@ -3253,8 +3301,8 @@ F: fs/autofs4/ · 63 unmodified lines
3253 3301
3254KERNEL BUILD + files below scripts/ (unless maintained elsewhere)3302KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
3255M: Michal Marek <mmarek@suse.cz>3303M: Michal Marek <mmarek@suse.cz>
3256T: git git://repo.or.cz/linux-kbuild.git for-next3304T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6.git for-next
3257T: git git://repo.or.cz/linux-kbuild.git for-linus3305T: git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6.git rc-fixes
3258L: linux-kbuild@vger.kernel.org3306L: linux-kbuild@vger.kernel.org
3259S: Maintained3307S: Maintained
3260F: Documentation/kbuild/3308F: Documentation/kbuild/
@@ -3380,13 +3428,6 @@ F: include/linux/kmemleak.h · 119 unmodified lines
3380F: mm/kmemleak.c3428F: mm/kmemleak.c
3381F: mm/kmemleak-test.c3429F: mm/kmemleak-test.c
3382 3430
3383KMEMTRACE
3384M: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
3385S: Maintained
3386F: Documentation/trace/kmemtrace.txt
3387F: include/linux/kmemtrace.h
3388F: kernel/trace/kmemtrace.c
3389
3390KPROBES3431KPROBES
3391M: Ananth N Mavinakayanahalli <ananth@in.ibm.com>3432M: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
3392M: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>3433M: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
@@ -3502,6 +3543,7 @@ M: Marcelo Tosatti <marcelo@kvack.org> · 109 unmodified lines
3502W: http://www.penguinppc.org/3543W: http://www.penguinppc.org/
3503L: linuxppc-dev@ozlabs.org3544L: linuxppc-dev@ozlabs.org
3504S: Maintained3545S: Maintained
3546F: arch/powerpc/platforms/8xx/
3505 3547
3506LINUX FOR POWERPC EMBEDDED PPC83XX AND PPC85XX3548LINUX FOR POWERPC EMBEDDED PPC83XX AND PPC85XX
3507M: Kumar Gala <galak@kernel.crashing.org>3549M: Kumar Gala <galak@kernel.crashing.org>
@@ -3604,7 +3646,7 @@ M: Mike Frysinger <vapier@gentoo.org> · 96 unmodified lines
3604M: Subrata Modak <subrata@linux.vnet.ibm.com>3646M: Subrata Modak <subrata@linux.vnet.ibm.com>
3605L: ltp-list@lists.sourceforge.net (subscribers-only)3647L: ltp-list@lists.sourceforge.net (subscribers-only)
3606W: http://ltp.sourceforge.net/3648W: http://ltp.sourceforge.net/
3607T: git git://git.kernel.org/pub/scm/linux/kernel/git/galak/ltp.git3649T: git git://ltp.git.sourceforge.net/gitroot/ltp/ltp-dev
3608S: Maintained3650S: Maintained
3609 3651
3610M32R ARCHITECTURE3652M32R ARCHITECTURE
@@ -3686,7 +3728,7 @@ F: include/linux/mv643xx.h · 75 unmodified lines
3686MARVELL MWL8K WIRELESS DRIVER3728MARVELL MWL8K WIRELESS DRIVER
3687M: Lennert Buytenhek <buytenh@wantstofly.org>3729M: Lennert Buytenhek <buytenh@wantstofly.org>
3688L: linux-wireless@vger.kernel.org3730L: linux-wireless@vger.kernel.org
3689S: Maintained3731S: Odd Fixes
3690F: drivers/net/wireless/mwl8k.c3732F: drivers/net/wireless/mwl8k.c
3691 3733
3692MARVELL SOC MMC/SD/SDIO CONTROLLER DRIVER3734MARVELL SOC MMC/SD/SDIO CONTROLLER DRIVER
@@ -3915,17 +3957,19 @@ L: netem@lists.linux-foundation.org · 222 unmodified lines
3915S: Maintained3957S: Maintained
3916F: net/sched/sch_netem.c3958F: net/sched/sch_netem.c
3917 3959
3918NETERION (S2IO) 10GbE DRIVER (xframe/vxge)3960NETERION 10GbE DRIVERS (s2io/vxge)
3919M: Ramkrishna Vepa <ram.vepa@neterion.com>3961M: Ramkrishna Vepa <ramkrishna.vepa@exar.com>
3920M: Rastapur Santosh <santosh.rastapur@neterion.com>3962M: Sivakumar Subramani <sivakumar.subramani@exar.com>
3921M: Sivakumar Subramani <sivakumar.subramani@neterion.com>3963M: Sreenivasa Honnur <sreenivasa.honnur@exar.com>
3922M: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>3964M: Jon Mason <jon.mason@exar.com>
3923L: netdev@vger.kernel.org3965L: netdev@vger.kernel.org
3924W: http://trac.neterion.com/cgi-bin/trac.cgi/wiki/Linux?Anonymous3966W: http://trac.neterion.com/cgi-bin/trac.cgi/wiki/Linux?Anonymous
3925W: http://trac.neterion.com/cgi-bin/trac.cgi/wiki/X3100Linux?Anonymous3967W: http://trac.neterion.com/cgi-bin/trac.cgi/wiki/X3100Linux?Anonymous
3926S: Supported3968S: Supported
3927F: Documentation/networking/s2io.txt3969F: Documentation/networking/s2io.txt
3928F: drivers/net/s2io*3970F: drivers/net/s2io*
3971F: Documentation/networking/vxge.txt
3972F: drivers/net/vxge/
3929 3973
3930NETFILTER/IPTABLES/IPCHAINS3974NETFILTER/IPTABLES/IPCHAINS
3931P: Rusty Russell3975P: Rusty Russell
@@ -4024,7 +4068,7 @@ F: net/rfkill/ · 92 unmodified lines
4024F: net/wireless/4068F: net/wireless/
4025F: include/net/ieee80211*4069F: include/net/ieee80211*
4026F: include/linux/wireless.h4070F: include/linux/wireless.h
4027F: include/linux/iw_handler.h4071F: include/net/iw_handler.h
4028F: drivers/net/wireless/4072F: drivers/net/wireless/
4029 4073
4030NETWORKING DRIVERS4074NETWORKING DRIVERS
@@ -4172,6 +4216,8 @@ M: David Brownell <dbrownell@users.sourceforge.net> · 141 unmodified lines
4172L: linux-usb@vger.kernel.org4216L: linux-usb@vger.kernel.org
4173L: linux-omap@vger.kernel.org4217L: linux-omap@vger.kernel.org
4174S: Maintained4218S: Maintained
4219F: drivers/usb/*/*omap*
4220F: arch/arm/*omap*/usb*
4175 4221
4176OMFS FILESYSTEM4222OMFS FILESYSTEM
4177M: Bob Copeland <me@bobcopeland.com>4223M: Bob Copeland <me@bobcopeland.com>
@@ -4272,10 +4318,9 @@ F: include/scsi/osd_* · 94 unmodified lines
4272F: fs/exofs/4318F: fs/exofs/
4273 4319
4274P54 WIRELESS DRIVER4320P54 WIRELESS DRIVER
4275M: Michael Wu <flamingice@sourmilk.net>4321M: Christian Lamparter <chunkeey@googlemail.com>
4276L: linux-wireless@vger.kernel.org4322L: linux-wireless@vger.kernel.org
4277W: http://prism54.org4323W: http://wireless.kernel.org/en/users/Drivers/p54
4278T: git git://git.kernel.org/pub/scm/linux/kernel/git/mwu/mac80211-drivers.git
4279S: Maintained4324S: Maintained
4280F: drivers/net/wireless/p54/4325F: drivers/net/wireless/p54/
4281 4326
@@ -4513,7 +4558,7 @@ F: drivers/net/pppox.c · 231 unmodified lines
4513PPP OVER L2TP4558PPP OVER L2TP
4514M: James Chapman <jchapman@katalix.com>4559M: James Chapman <jchapman@katalix.com>
4515S: Maintained4560S: Maintained
4516F: drivers/net/pppol2tp.c4561F: net/l2tp/l2tp_ppp.c
4517F: include/linux/if_pppol2tp.h4562F: include/linux/if_pppol2tp.h
4518 4563
4519PPS SUPPORT4564PPS SUPPORT
@@ -4537,14 +4582,9 @@ PRISM54 WIRELESS DRIVER · 17 unmodified lines
4537M: "Luis R. Rodriguez" <mcgrof@gmail.com>4582M: "Luis R. Rodriguez" <mcgrof@gmail.com>
4538L: linux-wireless@vger.kernel.org4583L: linux-wireless@vger.kernel.org
4539W: http://prism54.org4584W: http://prism54.org
4540S: Maintained4585S: Obsolete
4541F: drivers/net/wireless/prism54/4586F: drivers/net/wireless/prism54/
4542 4587
4543PROMISE DC4030 CACHING DISK CONTROLLER DRIVER
4544M: Peter Denison <promise@pnd-pc.demon.co.uk>
4545W: http://www.pnd-pc.demon.co.uk/promise/
4546S: Maintained
4547
4548PROMISE SATA TX2/TX4 CONTROLLER LIBATA DRIVER4588PROMISE SATA TX2/TX4 CONTROLLER LIBATA DRIVER
4549M: Mikael Pettersson <mikpe@it.uu.se>4589M: Mikael Pettersson <mikpe@it.uu.se>
4550L: linux-ide@vger.kernel.org4590L: linux-ide@vger.kernel.org
@@ -4577,6 +4617,7 @@ PS3VRAM DRIVER · 26 unmodified lines
4577M: Jim Paris <jim@jtan.com>4617M: Jim Paris <jim@jtan.com>
4578L: cbe-oss-dev@ozlabs.org4618L: cbe-oss-dev@ozlabs.org
4579S: Maintained4619S: Maintained
4620F: drivers/block/ps3vram.c
4580 4621
4581PTRACE SUPPORT4622PTRACE SUPPORT
4582M: Roland McGrath <roland@redhat.com>4623M: 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
4717F: drivers/net/wireless/rt2x00/4758F: drivers/net/wireless/rt2x00/
4718 4759
4719RAMDISK RAM BLOCK DEVICE DRIVER4760RAMDISK RAM BLOCK DEVICE DRIVER
4720M: Nick Piggin <npiggin@suse.de>4761M: Nick Piggin <npiggin@kernel.dk>
4721S: Maintained4762S: Maintained
4722F: Documentation/blockdev/ramdisk.txt4763F: Documentation/blockdev/ramdisk.txt
4723F: drivers/block/brd.c4764F: drivers/block/brd.c
@@ -4733,9 +4774,8 @@ S: Maintained · 9 unmodified lines
4733F: drivers/rapidio/4774F: drivers/rapidio/
4734 4775
4735RAYLINK/WEBGEAR 802.11 WIRELESS LAN DRIVER4776RAYLINK/WEBGEAR 802.11 WIRELESS LAN DRIVER
4736M: Corey Thomas <coreythomas@charter.net>
4737L: linux-wireless@vger.kernel.org4777L: linux-wireless@vger.kernel.org
4738S: Maintained4778S: Orphan
4739F: drivers/net/wireless/ray*4779F: drivers/net/wireless/ray*
4740 4780
4741RCUTORTURE MODULE4781RCUTORTURE MODULE
@@ -4804,8 +4844,8 @@ F: net/rfkill/ · 62 unmodified lines
4804RICOH SMARTMEDIA/XD DRIVER4844RICOH SMARTMEDIA/XD DRIVER
4805M: Maxim Levitsky <maximlevitsky@gmail.com>4845M: Maxim Levitsky <maximlevitsky@gmail.com>
4806S: Maintained4846S: Maintained
4807F: drivers/mtd/nand/r822.c4847F: drivers/mtd/nand/r852.c
4808F: drivers/mtd/nand/r822.h4848F: drivers/mtd/nand/r852.h
4809 4849
4810RISCOM8 DRIVER4850RISCOM8 DRIVER
4811S: Orphan4851S: Orphan
@@ -5061,6 +5101,14 @@ S: Supported · 249 unmodified lines
5061F: include/linux/selinux*5101F: include/linux/selinux*
5062F: security/selinux/5102F: security/selinux/
5063 5103
5104APPARMOR SECURITY MODULE
5105M: John Johansen <john.johansen@canonical.com>
5106L: apparmor@lists.ubuntu.com (subscribers-only, general discussion)
5107W: apparmor.wiki.kernel.org
5108T: git git://git.kernel.org/pub/scm/linux/kernel/git/jj/apparmor-dev.git
5109S: Supported
5110F: security/apparmor/
5111
5064SENSABLE PHANTOM5112SENSABLE PHANTOM
5065M: Jiri Slaby <jirislaby@gmail.com>5113M: Jiri Slaby <jirislaby@gmail.com>
5066S: Maintained5114S: Maintained
@@ -5224,6 +5272,13 @@ M: Nicolas Pitre <nico@fluxnic.net> · 157 unmodified lines
5224S: Odd Fixes5272S: Odd Fixes
5225F: drivers/net/smc91x.*5273F: drivers/net/smc91x.*
5226 5274
5275SMM665 HARDWARE MONITOR DRIVER
5276M: Guenter Roeck <linux@roeck-us.net>
5277L: lm-sensors@lm-sensors.org
5278S: Maintained
5279F: Documentation/hwmon/smm665
5280F: drivers/hwmon/smm665.c
5281
5227SMSC47B397 HARDWARE MONITOR DRIVER5282SMSC47B397 HARDWARE MONITOR DRIVER
5228M: "Mark M. Hoffman" <mhoffman@lightlink.com>5283M: "Mark M. Hoffman" <mhoffman@lightlink.com>
5229L: lm-sensors@lm-sensors.org5284L: lm-sensors@lm-sensors.org
@@ -5244,11 +5299,6 @@ L: netdev@vger.kernel.org · 14 unmodified lines
5244S: Supported5299S: Supported
5245F: drivers/net/smsc9420.*5300F: drivers/net/smsc9420.*
5246 5301
5247SMX UIO Interface
5248M: Ben Nizette <bn@niasdigital.com>
5249S: Maintained
5250F: drivers/uio/uio_smx.c
5251
5252SN-IA64 (Itanium) SUB-PLATFORM5302SN-IA64 (Itanium) SUB-PLATFORM
5253M: Jes Sorensen <jes@sgi.com>5303M: Jes Sorensen <jes@sgi.com>
5254L: linux-altix@sgi.com5304L: 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
5336T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git5386T: git git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6.git
5337S: Maintained5387S: Maintained
5338F: arch/sparc/5388F: arch/sparc/
5339F: drivers/sbus5389F: drivers/sbus/
5340 5390
5341SPARC SERIAL DRIVERS5391SPARC SERIAL DRIVERS
5342M: "David S. Miller" <davem@davemloft.net>5392M: "David S. Miller" <davem@davemloft.net>
@@ -5378,7 +5428,8 @@ S: Maintained · 35 unmodified lines
5378F: arch/arm/mach-spear*/clock.c5428F: arch/arm/mach-spear*/clock.c
5379F: arch/arm/mach-spear*/include/mach/clkdev.h5429F: arch/arm/mach-spear*/include/mach/clkdev.h
5380F: arch/arm/plat-spear/clock.c5430F: arch/arm/plat-spear/clock.c
5381F: arch/arm/plat-spear/include/plat/clock.h and clkdev.h5431F: arch/arm/plat-spear/include/plat/clkdev.h
5432F: arch/arm/plat-spear/include/plat/clock.h
5382 5433
5383SPEAR PAD MULTIPLEXING SUPPORT5434SPEAR PAD MULTIPLEXING SUPPORT
5384M: Viresh Kumar <viresh.kumar@st.com>5435M: Viresh Kumar <viresh.kumar@st.com>
@@ -5458,11 +5509,6 @@ M: Ion Badulescu <ionut@badula.org> · 73 unmodified lines
5458S: Odd Fixes5509S: Odd Fixes
5459F: drivers/net/starfire*5510F: drivers/net/starfire*
5460 5511
5461STARMODE RADIO IP (STRIP) PROTOCOL DRIVER
5462S: Orphan
5463F: drivers/staging/strip/strip.c
5464F: include/linux/if_strip.h
5465
5466STRADIS MPEG-2 DECODER DRIVER5512STRADIS MPEG-2 DECODER DRIVER
5467M: Nathan Laredo <laredo@gnu.org>5513M: Nathan Laredo <laredo@gnu.org>
5468W: http://www.stradis.com/5514W: http://www.stradis.com/
@@ -5538,6 +5584,15 @@ W: http://tcp-lp-mod.sourceforge.net/ · 69 unmodified lines
5538S: Maintained5584S: Maintained
5539F: net/ipv4/tcp_lp.c5585F: net/ipv4/tcp_lp.c
5540 5586
5587TEGRA SUPPORT
5588M: Colin Cross <ccross@android.com>
5589M: Erik Gilling <konkers@android.com>
5590M: Olof Johansson <olof@lixom.net>
5591L: linux-tegra@vger.kernel.org
5592T: git git://android.git.kernel.org/kernel/tegra.git
5593S: Supported
5594F: arch/arm/mach-tegra
5595
5541TEHUTI ETHERNET DRIVER5596TEHUTI ETHERNET DRIVER
5542M: Alexander Indenbaum <baum@tehutinetworks.net>5597M: Alexander Indenbaum <baum@tehutinetworks.net>
5543M: Andy Gospodarek <andy@greyhouse.net>5598M: Andy Gospodarek <andy@greyhouse.net>
@@ -5590,6 +5645,12 @@ F: include/linux/tipc*.h · 46 unmodified lines
5590F: include/net/tipc/5645F: include/net/tipc/
5591F: net/tipc/5646F: net/tipc/
5592 5647
5648TILE ARCHITECTURE
5649M: Chris Metcalf <cmetcalf@tilera.com>
5650W: http://www.tilera.com/scm/
5651S: Supported
5652F: arch/tile/
5653
5593TLAN NETWORK DRIVER5654TLAN NETWORK DRIVER
5594M: Samuel Chessman <chessman@tux.org>5655M: Samuel Chessman <chessman@tux.org>
5595L: tlan-devel@lists.sourceforge.net (subscribers-only)5656L: 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
5605L: tomoyo-dev@lists.sourceforge.jp (subscribers-only, for developers in Japanese)5666L: tomoyo-dev@lists.sourceforge.jp (subscribers-only, for developers in Japanese)
5606L: tomoyo-users@lists.sourceforge.jp (subscribers-only, for users in Japanese)5667L: tomoyo-users@lists.sourceforge.jp (subscribers-only, for users in Japanese)
5607W: http://tomoyo.sourceforge.jp/5668W: http://tomoyo.sourceforge.jp/
5608T: quilt http://svn.sourceforge.jp/svnroot/tomoyo/trunk/2.2.x/tomoyo-lsm/patches/5669T: quilt http://svn.sourceforge.jp/svnroot/tomoyo/trunk/2.3.x/tomoyo-lsm/patches/
5609S: Maintained5670S: Maintained
5610F: security/tomoyo/5671F: security/tomoyo/
5611 5672
@@ -5654,7 +5715,7 @@ TRACING · 42 unmodified lines
5654M: Steven Rostedt <rostedt@goodmis.org>5715M: Steven Rostedt <rostedt@goodmis.org>
5655M: Frederic Weisbecker <fweisbec@gmail.com>5716M: Frederic Weisbecker <fweisbec@gmail.com>
5656M: Ingo Molnar <mingo@redhat.com>5717M: Ingo Molnar <mingo@redhat.com>
5657T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git tracing/core5718T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git perf/core
5658S: Maintained5719S: Maintained
5659F: Documentation/trace/ftrace.txt5720F: Documentation/trace/ftrace.txt
5660F: arch/*/*/*/ftrace.h5721F: arch/*/*/*/ftrace.h
@@ -5727,6 +5788,9 @@ UCLINUX FOR RENESAS H8/300 (H8300) · 66 unmodified lines
5727M: Yoshinori Sato <ysato@users.sourceforge.jp>5788M: Yoshinori Sato <ysato@users.sourceforge.jp>
5728W: http://uclinux-h8.sourceforge.jp/5789W: http://uclinux-h8.sourceforge.jp/
5729S: Supported5790S: Supported
5791F: arch/h8300/
5792F: drivers/ide/ide-h8300.c
5793F: drivers/net/ne-h8300.c
5730 5794
5731UDF FILESYSTEM5795UDF FILESYSTEM
5732M: Jan Kara <jack@suse.cz>5796M: Jan Kara <jack@suse.cz>
@@ -6018,7 +6082,7 @@ F: drivers/net/usb/usbnet.c · 285 unmodified lines
6018F: include/linux/usb/usbnet.h6082F: include/linux/usb/usbnet.h
6019 6083
6020USB VIDEO CLASS6084USB VIDEO CLASS
6021M: Laurent Pinchart <laurent.pinchart@skynet.be>6085M: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
6022L: linux-uvc-devel@lists.berlios.de (subscribers-only)6086L: linux-uvc-devel@lists.berlios.de (subscribers-only)
6023L: linux-media@vger.kernel.org6087L: linux-media@vger.kernel.org
6024T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git6088T: 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
6060F: drivers/media/video/zc0301/6124F: drivers/media/video/zc0301/
6061 6125
6062USB ZD1201 DRIVER6126USB ZD1201 DRIVER
6063M: Jeroen Vreeken <pe1rxq@amsat.org>6127L: linux-wireless@vger.kernel.org
6064L: linux-usb@vger.kernel.org
6065W: http://linux-lc100020.sourceforge.net6128W: http://linux-lc100020.sourceforge.net
6066S: Maintained6129S: Orphan
6067F: drivers/net/wireless/zd1201.*6130F: drivers/net/wireless/zd1201.*
6068 6131
6069USB ZR364XX DRIVER6132USB ZR364XX DRIVER
@@ -6152,9 +6215,12 @@ F: drivers/mmc/host/via-sdmmc.c · 82 unmodified lines
6152 6215
6153VIA UNICHROME(PRO)/CHROME9 FRAMEBUFFER DRIVER6216VIA UNICHROME(PRO)/CHROME9 FRAMEBUFFER DRIVER
6154M: Joseph Chan <JosephChan@via.com.tw>6217M: Joseph Chan <JosephChan@via.com.tw>
6155M: Scott Fang <ScottFang@viatech.com.cn>6218M: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
6156L: linux-fbdev@vger.kernel.org6219L: linux-fbdev@vger.kernel.org
6157S: Maintained6220S: Maintained
6221F: include/linux/via-core.h
6222F: include/linux/via-gpio.h
6223F: include/linux/via_i2c.h
6158F: drivers/video/via/6224F: drivers/video/via/
6159 6225
6160VIA VELOCITY NETWORK DRIVER6226VIA VELOCITY NETWORK DRIVER
@@ -6251,14 +6317,6 @@ F: Documentation/watchdog/ · 90 unmodified lines
6251F: drivers/watchdog/6317F: drivers/watchdog/
6252F: include/linux/watchdog.h6318F: include/linux/watchdog.h
6253 6319
6254WAVELAN NETWORK DRIVER & WIRELESS EXTENSIONS
6255M: Jean Tourrilhes <jt@hpl.hp.com>
6256L: linux-wireless@vger.kernel.org
6257W: http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/
6258S: Maintained
6259F: Documentation/networking/wavelan.txt
6260F: drivers/staging/wavelan/
6261
6262WD7000 SCSI DRIVER6320WD7000 SCSI DRIVER
6263M: Miroslav Zagorac <zaga@fly.cc.fer.hr>6321M: Miroslav Zagorac <zaga@fly.cc.fer.hr>
6264L: linux-scsi@vger.kernel.org6322L: linux-scsi@vger.kernel.org
@@ -6276,6 +6334,11 @@ M: linux-wimax@intel.com · 11 unmodified lines
6276L: wimax@linuxwimax.org6334L: wimax@linuxwimax.org
6277S: Supported6335S: Supported
6278W: http://linuxwimax.org6336W: http://linuxwimax.org
6337F: Documentation/wimax/README.wimax
6338F: include/linux/wimax.h
6339F: include/linux/wimax/debug.h
6340F: include/net/wimax.h
6341F: net/wimax/
6279 6342
6280WIMEDIA LLC PROTOCOL (WLP) SUBSYSTEM6343WIMEDIA LLC PROTOCOL (WLP) SUBSYSTEM
6281M: David Vrabel <david.vrabel@csr.com>6344M: 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
189# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile189# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
190export KBUILD_BUILDHOST := $(SUBARCH)190export KBUILD_BUILDHOST := $(SUBARCH)
191ARCH ?= $(SUBARCH)191ARCH ?= $(SUBARCH)
192CROSS_COMPILE ?=
193CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)192CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
194 193
195# Architecture as present in compile.h194# Architecture as present in compile.h
@@ -332,10 +331,9 @@ CHECK = sparse · 136 unmodified lines
332 331
333CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \332CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
334 -Wbitwise -Wno-return-void $(CF)333 -Wbitwise -Wno-return-void $(CF)
335MODFLAGS = -DMODULE334CFLAGS_MODULE =
336CFLAGS_MODULE = $(MODFLAGS)335AFLAGS_MODULE =
337AFLAGS_MODULE = $(MODFLAGS)336LDFLAGS_MODULE =
338LDFLAGS_MODULE = -T $(srctree)/scripts/module-common.lds
339CFLAGS_KERNEL =337CFLAGS_KERNEL =
340AFLAGS_KERNEL =338AFLAGS_KERNEL =
341CFLAGS_GCOV = -fprofile-arcs -ftest-coverage339CFLAGS_GCOV = -fprofile-arcs -ftest-coverage
@@ -354,7 +352,12 @@ KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ · 12 unmodified lines
354 -Werror-implicit-function-declaration \352 -Werror-implicit-function-declaration \
355 -Wno-format-security \353 -Wno-format-security \
356 -fno-delete-null-pointer-checks354 -fno-delete-null-pointer-checks
355KBUILD_AFLAGS_KERNEL :=
356KBUILD_CFLAGS_KERNEL :=
357KBUILD_AFLAGS := -D__ASSEMBLY__357KBUILD_AFLAGS := -D__ASSEMBLY__
358KBUILD_AFLAGS_MODULE := -DMODULE
359KBUILD_CFLAGS_MODULE := -DMODULE
360KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
358 361
359# Read KERNELRELEASE from include/config/kernel.release (if it exists)362# Read KERNELRELEASE from include/config/kernel.release (if it exists)
360KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)363KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
@@ -369,6 +372,8 @@ export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS · 8 unmodified lines
369export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS372export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
370export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE CFLAGS_GCOV373export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE CFLAGS_GCOV
371export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE374export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
375export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
376export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
372 377
373# When compiling out-of-tree modules, put MODVERDIR in the module378# When compiling out-of-tree modules, put MODVERDIR in the module
374# tree rather than in the kernel tree. The kernel tree might379# tree rather than in the kernel tree. The kernel tree might
@@ -412,9 +417,9 @@ endif · 37 unmodified lines
412# of make so .config is not included in this case either (for *config).417# of make so .config is not included in this case either (for *config).
413 418
414no-dot-config-targets := clean mrproper distclean \419no-dot-config-targets := clean mrproper distclean \
415 cscope TAGS tags help %docs check% \420 cscope TAGS tags help %docs check% coccicheck \
416 include/linux/version.h headers_% \421 include/linux/version.h headers_% \
417 kernelrelease kernelversion422 kernelversion %src-pkg
418 423
419config-targets := 0424config-targets := 0
420mixed-targets := 0425mixed-targets := 0
@@ -526,7 +531,7 @@ endif # $(dot-config) · 105 unmodified lines
526# The all: target is the default when no target is given on the531# The all: target is the default when no target is given on the
527# command line.532# command line.
528# This allow a user to issue only 'make' to build a kernel including modules533# 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 makefile534# Defaults to vmlinux, but the arch makefile usually adds further targets
530all: vmlinux535all: vmlinux
531 536
532ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE537ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
@@ -557,6 +562,10 @@ KBUILD_CFLAGS += -g · 24 unmodified lines
557KBUILD_AFLAGS += -gdwarf-2562KBUILD_AFLAGS += -gdwarf-2
558endif563endif
559 564
565ifdef CONFIG_DEBUG_INFO_REDUCED
566KBUILD_CFLAGS += $(call cc-option, -femit-struct-debug-baseonly)
567endif
568
560ifdef CONFIG_FUNCTION_TRACER569ifdef CONFIG_FUNCTION_TRACER
561KBUILD_CFLAGS += -pg570KBUILD_CFLAGS += -pg
562endif571endif
@@ -603,7 +612,7 @@ endif · 40 unmodified lines
603# Use --build-id when available.612# Use --build-id when available.
604LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\613LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\
605 $(call cc-ldoption, -Wl$(comma)--build-id,))614 $(call cc-ldoption, -Wl$(comma)--build-id,))
606LDFLAGS_MODULE += $(LDFLAGS_BUILD_ID)615KBUILD_LDFLAGS_MODULE += $(LDFLAGS_BUILD_ID)
607LDFLAGS_vmlinux += $(LDFLAGS_BUILD_ID)616LDFLAGS_vmlinux += $(LDFLAGS_BUILD_ID)
608 617
609ifeq ($(CONFIG_STRIP_ASM_SYMS),y)618ifeq ($(CONFIG_STRIP_ASM_SYMS),y)
@@ -1158,6 +1167,8 @@ distclean: mrproper · 548 unmodified lines
1158# rpm target kept for backward compatibility1167# rpm target kept for backward compatibility
1159package-dir := $(srctree)/scripts/package1168package-dir := $(srctree)/scripts/package
1160 1169
1170%src-pkg: FORCE
1171 $(Q)$(MAKE) $(build)=$(package-dir) $@
1161%pkg: include/config/kernel.release FORCE1172%pkg: include/config/kernel.release FORCE
1162 $(Q)$(MAKE) $(build)=$(package-dir) $@1173 $(Q)$(MAKE) $(build)=$(package-dir) $@
1163rpm: include/config/kernel.release FORCE1174rpm: include/config/kernel.release FORCE
@@ -1209,8 +1220,9 @@ help: · 45 unmodified lines
1209 @echo ' includecheck - Check for duplicate included header files'1220 @echo ' includecheck - Check for duplicate included header files'
1210 @echo ' export_report - List the usages of all exported symbols'1221 @echo ' export_report - List the usages of all exported symbols'
1211 @echo ' headers_check - Sanity check on exported headers'1222 @echo ' headers_check - Sanity check on exported headers'
1212 @echo ' headerdep - Detect inclusion cycles in headers'; \1223 @echo ' headerdep - Detect inclusion cycles in headers'
1213 echo ''1224 @$(MAKE) -f $(srctree)/scripts/Makefile.help checker-help
1225 @echo ''
1214 @echo 'Kernel packaging:'1226 @echo 'Kernel packaging:'
1215 @$(MAKE) $(build)=$(package-dir) help1227 @$(MAKE) $(build)=$(package-dir) help
1216 @echo ''1228 @echo ''
@@ -1369,6 +1381,9 @@ versioncheck: · 152 unmodified lines
1369 -name '*.[hcS]' -type f -print | sort \1381 -name '*.[hcS]' -type f -print | sort \
1370 | xargs $(PERL) -w $(srctree)/scripts/checkversion.pl1382 | xargs $(PERL) -w $(srctree)/scripts/checkversion.pl
1371 1383
1384coccicheck:
1385 $(Q)$(CONFIG_SHELL) $(srctree)/scripts/$@
1386
1372namespacecheck:1387namespacecheck:
1373 $(PERL) $(srctree)/scripts/namespace.pl1388 $(PERL) $(srctree)/scripts/namespace.pl
1374 1389
@@ -1393,9 +1408,9 @@ checkstack: · 18 unmodified lines
1393 $(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \1408 $(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \
1394 $(PERL) $(src)/scripts/checkstack.pl $(CHECKSTACK_ARCH)1409 $(PERL) $(src)/scripts/checkstack.pl $(CHECKSTACK_ARCH)
1395 1410
1396kernelrelease:1411kernelrelease: include/config/kernel.release
1397 $(if $(wildcard include/config/kernel.release), $(Q)echo $(KERNELRELEASE), \1412 @echo $(KERNELRELEASE)
1398 $(error kernelrelease not valid - run 'make prepare' to update it))1413
1399kernelversion:1414kernelversion:
1400 @echo $(KERNELVERSION)1415 @echo $(KERNELVERSION)
1401 1416
@@ -1472,6 +1487,7 @@ cmd_crmodverdir = $(Q)mkdir -p $(MODVERDIR) \ · 70 unmodified lines
1472 $(if $(KBUILD_MODULES),; rm -f $(MODVERDIR)/*)1487 $(if $(KBUILD_MODULES),; rm -f $(MODVERDIR)/*)
1473 1488
1474a_flags = -Wp,-MD,$(depfile) $(KBUILD_AFLAGS) $(AFLAGS_KERNEL) \1489a_flags = -Wp,-MD,$(depfile) $(KBUILD_AFLAGS) $(AFLAGS_KERNEL) \
1490 $(KBUILD_AFLAGS_KERNEL) \
1475 $(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(KBUILD_CPPFLAGS) \1491 $(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(KBUILD_CPPFLAGS) \
1476 $(modkern_aflags) $(EXTRA_AFLAGS) $(AFLAGS_$(basetarget).o)1492 $(modkern_aflags) $(EXTRA_AFLAGS) $(AFLAGS_$(basetarget).o)
1477 1493
arch/Kconfig+7−0
@@ -151,4 +151,11 @@ config HAVE_MIXED_BREAKPOINTS_REGS · 150 unmodified lines
151config HAVE_USER_RETURN_NOTIFIER151config HAVE_USER_RETURN_NOTIFIER
152 bool152 bool
153 153
154config 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
154source "kernel/gcov/Kconfig"161source "kernel/gcov/Kconfig"
arch/alpha/Kconfig+0−4
@@ -47,10 +47,6 @@ config GENERIC_CALIBRATE_DELAY · 46 unmodified lines
47 bool47 bool
48 default y48 default y
49 49
50config GENERIC_TIME
51 bool
52 default y
53
54config GENERIC_CMOS_UPDATE50config GENERIC_CMOS_UPDATE
55 def_bool y51 def_bool y
56 52
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
41 41
42#define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f)42#define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f)
43#define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h)43#define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h)
44#define dma_is_consistent(d, h) (1)
45 44
46#define dma_cache_sync(dev, va, size, dir) ((void)0)45#define dma_cache_sync(dev, va, size, dir) ((void)0)
47#define dma_get_cache_alignment() L1_CACHE_BYTES
48 46
49#endif /* _ALPHA_DMA_MAPPING_H */47#endif /* _ALPHA_DMA_MAPPING_H */
arch/alpha/include/asm/hw_irq.h+1−0
@@ -3,6 +3,7 @@ · 2 unmodified lines
3 3
4 4
5extern volatile unsigned long irq_err_count;5extern volatile unsigned long irq_err_count;
6DECLARE_PER_CPU(unsigned long, irq_pmi_count);
6 7
7#ifdef CONFIG_ALPHA_GENERIC8#ifdef CONFIG_ALPHA_GENERIC
8#define ACTUAL_NR_IRQS alpha_mv.nr_irqs9#define ACTUAL_NR_IRQS alpha_mv.nr_irqs
arch/alpha/include/asm/ioctls.h+2−2
@@ -80,6 +80,7 @@ · 79 unmodified lines
80# define TIOCPKT_START 880# define TIOCPKT_START 8
81# define TIOCPKT_NOSTOP 1681# define TIOCPKT_NOSTOP 16
82# define TIOCPKT_DOSTOP 3282# define TIOCPKT_DOSTOP 32
83# define TIOCPKT_IOCTL 64
83 84
84 85
85#define TIOCNOTTY 0x542286#define TIOCNOTTY 0x5422
@@ -91,6 +92,7 @@ · 5 unmodified lines
91#define TIOCGSID 0x5429 /* Return the session ID of FD */92#define TIOCGSID 0x5429 /* Return the session ID of FD */
92#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */93#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
93#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */94#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
95#define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */
94 96
95#define TIOCSERCONFIG 0x545397#define TIOCSERCONFIG 0x5453
96#define TIOCSERGWILD 0x545498#define TIOCSERGWILD 0x5454
@@ -106,7 +108,5 @@ · 9 unmodified lines
106 108
107#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */109#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
108#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */110#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 */
111 111
112#endif /* _ASM_ALPHA_IOCTLS_H */112#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
2#define __ASM_ALPHA_PERF_EVENT_H2#define __ASM_ALPHA_PERF_EVENT_H
3 3
4/* Alpha only supports software events through this interface. */4/* Alpha only supports software events through this interface. */
5static inline void set_perf_event_pending(void) { }5extern void set_perf_event_pending(void);
6 6
7#define PERF_EVENT_INDEX_OFFSET 07#define PERF_EVENT_INDEX_OFFSET 0
8 8
9#ifdef CONFIG_PERF_EVENTS
10extern void init_hw_perf_events(void);
11#else
12static inline void init_hw_perf_events(void) { }
13#endif
14
9#endif /* __ASM_ALPHA_PERF_EVENT_H */15#endif /* __ASM_ALPHA_PERF_EVENT_H */
arch/alpha/include/asm/scatterlist.h+0−2
@@ -3,6 +3,4 @@ · 2 unmodified lines
3 3
4#include <asm-generic/scatterlist.h>4#include <asm-generic/scatterlist.h>
5 5
6#define ISA_DMA_THRESHOLD (~0UL)
7
8#endif /* !(_ALPHA_SCATTERLIST_H) */6#endif /* !(_ALPHA_SCATTERLIST_H) */
arch/alpha/include/asm/termbits.h+1−0
@@ -180,6 +180,7 @@ struct ktermios { · 179 unmodified lines
180#define FLUSHO 0x00800000180#define FLUSHO 0x00800000
181#define PENDIN 0x20000000181#define PENDIN 0x20000000
182#define IEXTEN 0x00000400182#define IEXTEN 0x00000400
183#define EXTPROC 0x10000000
183 184
184/* Values for the ACTION argument to `tcflow'. */185/* Values for the ACTION argument to `tcflow'. */
185#define TCOOFF 0186#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
15obj-$(CONFIG_PCI) += pci.o pci_iommu.o pci-sysfs.o15obj-$(CONFIG_PCI) += pci.o pci_iommu.o pci-sysfs.o
16obj-$(CONFIG_SRM_ENV) += srm_env.o16obj-$(CONFIG_SRM_ENV) += srm_env.o
17obj-$(CONFIG_MODULES) += module.o17obj-$(CONFIG_MODULES) += module.o
18obj-$(CONFIG_PERF_EVENTS) += perf_event.o
18 19
19ifdef CONFIG_ALPHA_GENERIC20ifdef CONFIG_ALPHA_GENERIC
20 21
arch/alpha/kernel/irq.c+5−2
@@ -31,6 +31,7 @@ · 30 unmodified lines
31#include <asm/uaccess.h>31#include <asm/uaccess.h>
32 32
33volatile unsigned long irq_err_count;33volatile unsigned long irq_err_count;
34DEFINE_PER_CPU(unsigned long, irq_pmi_count);
34 35
35void ack_bad_irq(unsigned int irq)36void ack_bad_irq(unsigned int irq)
36{37{
@@ -63,9 +64,7 @@ int irq_select_affinity(unsigned int irq) · 26 unmodified lines
63int64int
64show_interrupts(struct seq_file *p, void *v)65show_interrupts(struct seq_file *p, void *v)
65{66{
66#ifdef CONFIG_SMP
67 int j;67 int j;
68#endif
69 int irq = *(loff_t *) v;68 int irq = *(loff_t *) v;
70 struct irqaction * action;69 struct irqaction * action;
71 unsigned long flags;70 unsigned long flags;
@@ -112,6 +111,10 @@ unlock: · 40 unmodified lines
112 seq_printf(p, "%10lu ", cpu_data[j].ipi_count);111 seq_printf(p, "%10lu ", cpu_data[j].ipi_count);
113 seq_putc(p, '\n');112 seq_putc(p, '\n');
114#endif113#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");
115 seq_printf(p, "ERR: %10lu\n", irq_err_count);118 seq_printf(p, "ERR: %10lu\n", irq_err_count);
116 }119 }
117 return 0;120 return 0;
arch/alpha/kernel/irq_alpha.c+3−0
@@ -10,6 +10,7 @@ · 9 unmodified lines
10 10
11#include <asm/machvec.h>11#include <asm/machvec.h>
12#include <asm/dma.h>12#include <asm/dma.h>
13#include <asm/perf_event.h>
13 14
14#include "proto.h"15#include "proto.h"
15#include "irq_impl.h"16#include "irq_impl.h"
@@ -111,6 +112,8 @@ init_IRQ(void) · 95 unmodified lines
111 wrent(entInt, 0);112 wrent(entInt, 0);
112 113
113 alpha_mv.init_irq();114 alpha_mv.init_irq();
115
116 init_hw_perf_events();
114}117}
115 118
116/*119/*
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
234}234}
235 235
236static int236static int
237do_osf_statfs(struct dentry * dentry, struct osf_statfs __user *buffer,237do_osf_statfs(struct path *path, struct osf_statfs __user *buffer,
238 unsigned long bufsiz)238 unsigned long bufsiz)
239{239{
240 struct kstatfs linux_stat;240 struct kstatfs linux_stat;
241 int error = vfs_statfs(dentry, &linux_stat);241 int error = vfs_statfs(path, &linux_stat);
242 if (!error)242 if (!error)
243 error = linux_to_osf_statfs(&linux_stat, buffer, bufsiz);243 error = linux_to_osf_statfs(&linux_stat, buffer, bufsiz);
244 return error; 244 return error;
245}245}
246 246
247SYSCALL_DEFINE3(osf_statfs, char __user *, pathname,247SYSCALL_DEFINE3(osf_statfs, const char __user *, pathname,
248 struct osf_statfs __user *, buffer, unsigned long, bufsiz)248 struct osf_statfs __user *, buffer, unsigned long, bufsiz)
249{249{
250 struct path path;250 struct path path;
@@ -252,7 +252,7 @@ SYSCALL_DEFINE3(osf_statfs, char __user *, pathname, · 1 unmodified line
252 252
253 retval = user_path(pathname, &path);253 retval = user_path(pathname, &path);
254 if (!retval) {254 if (!retval) {
255 retval = do_osf_statfs(path.dentry, buffer, bufsiz);255 retval = do_osf_statfs(&path buffer, bufsiz);
256 path_put(&path);256 path_put(&path);
257 }257 }
258 return retval;258 return retval;
@@ -267,7 +267,7 @@ SYSCALL_DEFINE3(osf_fstatfs, unsigned long, fd, · 8 unmodified lines
267 retval = -EBADF;267 retval = -EBADF;
268 file = fget(fd);268 file = fget(fd);
269 if (file) {269 if (file) {
270 retval = do_osf_statfs(file->f_path.dentry, buffer, bufsiz);270 retval = do_osf_statfs(&file->f_path, buffer, bufsiz);
271 fput(file);271 fput(file);
272 }272 }
273 return retval;273 return retval;
@@ -358,7 +358,7 @@ osf_procfs_mount(char *dirname, struct procfs_args __user *args, int flags) · 84 unmodified lines
358 return do_mount("", dirname, "proc", flags, NULL);358 return do_mount("", dirname, "proc", flags, NULL);
359}359}
360 360
361SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, char __user *, path,361SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, const char __user *, path,
362 int, flag, void __user *, data)362 int, flag, void __user *, data)
363{363{
364 int retval;364 int retval;
@@ -932,7 +932,7 @@ SYSCALL_DEFINE3(osf_setitimer, int, which, struct itimerval32 __user *, in, · 567 unmodified lines
932 932
933}933}
934 934
935SYSCALL_DEFINE2(osf_utimes, char __user *, filename,935SYSCALL_DEFINE2(osf_utimes, const char __user *, filename,
936 struct timeval32 __user *, tvs)936 struct timeval32 __user *, tvs)
937{937{
938 struct timespec tv[2];938 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. */
32struct 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};
51DEFINE_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 */
59struct 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 */
91static 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 */
109enum 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 */
120static 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
127struct 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 */
136static 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 */
148static 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
194success:
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
205static 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 */
222static 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
230static 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 */
241static 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 */
296static 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
302again:
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 */
329static 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 */
360static 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 */
380static 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 */
423static 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 */
470static 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
509static 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
517static 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 */
534static 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
548static void hw_perf_event_destroy(struct perf_event *event)
549{
550 /* Nothing to be done! */
551 return;
552}
553
554
555
556static 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
645static 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 */
656const 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 */
677void 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
703void 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 */
721void 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 */
749static 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 */
823void __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
387 * sys_execve() executes a new program.387 * sys_execve() executes a new program.
388 */388 */
389asmlinkage int389asmlinkage int
390do_sys_execve(char __user *ufilename, char __user * __user *argv,390do_sys_execve(const char __user *ufilename, char __user * __user *argv,
391 char __user * __user *envp, struct pt_regs *regs)391 char __user * __user *envp, struct pt_regs *regs)
392{392{
393 int error;393 int error;
arch/alpha/kernel/time.c+26−0
@@ -41,6 +41,7 @@ · 40 unmodified lines
41#include <linux/init.h>41#include <linux/init.h>
42#include <linux/bcd.h>42#include <linux/bcd.h>
43#include <linux/profile.h>43#include <linux/profile.h>
44#include <linux/perf_event.h>
44 45
45#include <asm/uaccess.h>46#include <asm/uaccess.h>
46#include <asm/io.h>47#include <asm/io.h>
@@ -82,6 +83,26 @@ static struct { · 35 unmodified lines
82 83
83unsigned long est_cycle_freq;84unsigned long est_cycle_freq;
84 85
86#ifdef CONFIG_PERF_EVENTS
87
88DEFINE_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
94void 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
85 106
86static inline __u32 rpcc(void)107static inline __u32 rpcc(void)
87{108{
@@ -175,6 +196,11 @@ irqreturn_t timer_interrupt(int irq, void *dev) · 87 unmodified lines
175 update_process_times(user_mode(get_irq_regs()));196 update_process_times(user_mode(get_irq_regs()));
176#endif197#endif
177 198
199 if (test_perf_event_pending()) {
200 clear_perf_event_pending();
201 perf_event_do_pending();
202 }
203
178 return IRQ_HANDLED;204 return IRQ_HANDLED;
179}205}
180 206
arch/arm/Kconfig+224−44
@@ -10,6 +10,7 @@ config ARM · 9 unmodified lines
10 default y10 default y
11 select HAVE_AOUT11 select HAVE_AOUT
12 select HAVE_IDE12 select HAVE_IDE
13 select HAVE_MEMBLOCK
13 select RTC_LIB14 select RTC_LIB
14 select SYS_SUPPORTS_APM_EMULATION15 select SYS_SUPPORTS_APM_EMULATION
15 select GENERIC_ATOMIC64 if (!CPU_32v6K)16 select GENERIC_ATOMIC64 if (!CPU_32v6K)
@@ -24,6 +25,7 @@ config ARM · 8 unmodified lines
24 select HAVE_KERNEL_LZMA25 select HAVE_KERNEL_LZMA
25 select HAVE_PERF_EVENTS26 select HAVE_PERF_EVENTS
26 select PERF_USE_VMALLOC27 select PERF_USE_VMALLOC
28 select HAVE_REGS_AND_STACK_ACCESS_API
27 help29 help
28 The ARM series is a line of low-power-consumption RISC chip designs30 The ARM series is a line of low-power-consumption RISC chip designs
29 licensed by ARM Ltd and targeted at embedded applications and31 licensed by ARM Ltd and targeted at embedded applications and
@@ -41,10 +43,6 @@ config SYS_SUPPORTS_APM_EMULATION · 11 unmodified lines
41config GENERIC_GPIO43config GENERIC_GPIO
42 bool44 bool
43 45
44config GENERIC_TIME
45 bool
46 default y
47
48config ARCH_USES_GETTIMEOFFSET46config ARCH_USES_GETTIMEOFFSET
49 bool47 bool
50 default n48 default n
@@ -55,7 +53,7 @@ config GENERIC_CLOCKEVENTS · 4 unmodified lines
55config GENERIC_CLOCKEVENTS_BROADCAST53config GENERIC_CLOCKEVENTS_BROADCAST
56 bool54 bool
57 depends on GENERIC_CLOCKEVENTS55 depends on GENERIC_CLOCKEVENTS
58 default y if SMP && !LOCAL_TIMERS56 default y if SMP
59 57
60config HAVE_TCM58config HAVE_TCM
61 bool59 bool
@@ -301,6 +299,7 @@ config ARCH_CNS3XXX · 239 unmodified lines
301 select CPU_V6299 select CPU_V6
302 select GENERIC_CLOCKEVENTS300 select GENERIC_CLOCKEVENTS
303 select ARM_GIC301 select ARM_GIC
302 select PCI_DOMAINS if PCI
304 help303 help
305 Support for Cavium Networks CNS3XXX platform.304 Support for Cavium Networks CNS3XXX platform.
306 305
@@ -439,21 +438,6 @@ config ARCH_IXP4XX · 132 unmodified lines
439 help438 help
440 Support for Intel's IXP4XX (XScale) family of processors.439 Support for Intel's IXP4XX (XScale) family of processors.
441 440
442config 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
457config ARCH_DOVE441config ARCH_DOVE
458 bool "Marvell Dove"442 bool "Marvell Dove"
459 select PCI443 select PCI
@@ -482,6 +466,19 @@ config ARCH_LOKI · 22 unmodified lines
482 help466 help
483 Support for the Marvell Loki (88RC8480) SoC.467 Support for the Marvell Loki (88RC8480) SoC.
484 468
469config 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
485config ARCH_MV78XX0482config ARCH_MV78XX0
486 bool "Marvell MV78xx0"483 bool "Marvell MV78xx0"
487 select CPU_FEROCEON484 select CPU_FEROCEON
@@ -561,6 +558,18 @@ config ARCH_NUC93X · 73 unmodified lines
561 Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a558 Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a
562 low-power and high performance MPEG-4/JPEG multimedia controller chip.559 low-power and high performance MPEG-4/JPEG multimedia controller chip.
563 560
561config 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
564config ARCH_PNX4008573config ARCH_PNX4008
565 bool "Philips Nexperia PNX4008 Mobile"574 bool "Philips Nexperia PNX4008 Mobile"
566 select CPU_ARM926T575 select CPU_ARM926T
@@ -586,6 +595,7 @@ config ARCH_MSM · 19 unmodified lines
586 bool "Qualcomm MSM"595 bool "Qualcomm MSM"
587 select HAVE_CLK596 select HAVE_CLK
588 select GENERIC_CLOCKEVENTS597 select GENERIC_CLOCKEVENTS
598 select ARCH_REQUIRE_GPIOLIB
589 help599 help
590 Support for Qualcomm MSM/QSD based systems. This runs on the600 Support for Qualcomm MSM/QSD based systems. This runs on the
591 apps processor of the MSM/QSD and depends on a shared memory601 apps processor of the MSM/QSD and depends on a shared memory
@@ -634,6 +644,7 @@ config ARCH_S3C2410 · 42 unmodified lines
634 select ARCH_HAS_CPUFREQ644 select ARCH_HAS_CPUFREQ
635 select HAVE_CLK645 select HAVE_CLK
636 select ARCH_USES_GETTIMEOFFSET646 select ARCH_USES_GETTIMEOFFSET
647 select HAVE_S3C2410_I2C
637 help648 help
638 Samsung S3C2410X CPU based systems, such as the Simtec Electronics649 Samsung S3C2410X CPU based systems, such as the Simtec Electronics
639 BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or650 BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
@@ -663,6 +674,8 @@ config ARCH_S3C64XX · 23 unmodified lines
663 select S3C_DEV_NAND674 select S3C_DEV_NAND
664 select USB_ARCH_HAS_OHCI675 select USB_ARCH_HAS_OHCI
665 select SAMSUNG_GPIOLIB_4BIT676 select SAMSUNG_GPIOLIB_4BIT
677 select HAVE_S3C2410_I2C
678 select HAVE_S3C2410_WATCHDOG
666 help679 help
667 Samsung S3C64XX series based systems680 Samsung S3C64XX series based systems
668 681
@@ -671,7 +684,10 @@ config ARCH_S5P6440 · 2 unmodified lines
671 select CPU_V6684 select CPU_V6
672 select GENERIC_GPIO685 select GENERIC_GPIO
673 select HAVE_CLK686 select HAVE_CLK
687 select HAVE_S3C2410_WATCHDOG
674 select ARCH_USES_GETTIMEOFFSET688 select ARCH_USES_GETTIMEOFFSET
689 select HAVE_S3C2410_I2C
690 select HAVE_S3C_RTC
675 help691 help
676 Samsung S5P6440 CPU based systems692 Samsung S5P6440 CPU based systems
677 693
@@ -681,6 +697,7 @@ config ARCH_S5P6442 · 3 unmodified lines
681 select GENERIC_GPIO697 select GENERIC_GPIO
682 select HAVE_CLK698 select HAVE_CLK
683 select ARCH_USES_GETTIMEOFFSET699 select ARCH_USES_GETTIMEOFFSET
700 select HAVE_S3C2410_WATCHDOG
684 help701 help
685 Samsung S5P6442 CPU based systems702 Samsung S5P6442 CPU based systems
686 703
@@ -691,6 +708,9 @@ config ARCH_S5PC100 · 4 unmodified lines
691 select CPU_V7708 select CPU_V7
692 select ARM_L1_CACHE_SHIFT_6709 select ARM_L1_CACHE_SHIFT_6
693 select ARCH_USES_GETTIMEOFFSET710 select ARCH_USES_GETTIMEOFFSET
711 select HAVE_S3C2410_I2C
712 select HAVE_S3C_RTC
713 select HAVE_S3C2410_WATCHDOG
694 help714 help
695 Samsung S5PC100 series based systems715 Samsung S5PC100 series based systems
696 716
@@ -701,9 +721,21 @@ config ARCH_S5PV210 · 4 unmodified lines
701 select HAVE_CLK721 select HAVE_CLK
702 select ARM_L1_CACHE_SHIFT_6722 select ARM_L1_CACHE_SHIFT_6
703 select ARCH_USES_GETTIMEOFFSET723 select ARCH_USES_GETTIMEOFFSET
724 select HAVE_S3C2410_I2C
725 select HAVE_S3C_RTC
726 select HAVE_S3C2410_WATCHDOG
704 help727 help
705 Samsung S5PV210/S5PC110 series based systems728 Samsung S5PV210/S5PC110 series based systems
706 729
730config 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
707config ARCH_SHARK739config ARCH_SHARK
708 bool "Shark"740 bool "Shark"
709 select CPU_SA110741 select CPU_SA110
@@ -719,7 +751,6 @@ config ARCH_SHARK · 9 unmodified lines
719config ARCH_LH7A40X751config ARCH_LH7A40X
720 bool "Sharp LH7A40X"752 bool "Sharp LH7A40X"
721 select CPU_ARM922T753 select CPU_ARM922T
722 select ARCH_DISCONTIGMEM_ENABLE if !LH7A40X_CONTIGMEM
723 select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM754 select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM
724 select ARCH_USES_GETTIMEOFFSET755 select ARCH_USES_GETTIMEOFFSET
725 help756 help
@@ -845,6 +876,8 @@ source "arch/arm/mach-lh7a40x/Kconfig" · 119 unmodified lines
845 876
846source "arch/arm/mach-loki/Kconfig"877source "arch/arm/mach-loki/Kconfig"
847 878
879source "arch/arm/mach-lpc32xx/Kconfig"
880
848source "arch/arm/mach-msm/Kconfig"881source "arch/arm/mach-msm/Kconfig"
849 882
850source "arch/arm/mach-mv78xx0/Kconfig"883source "arch/arm/mach-mv78xx0/Kconfig"
@@ -904,10 +937,14 @@ source "arch/arm/mach-s5pc100/Kconfig" · 53 unmodified lines
904 937
905source "arch/arm/mach-s5pv210/Kconfig"938source "arch/arm/mach-s5pv210/Kconfig"
906 939
940source "arch/arm/mach-s5pv310/Kconfig"
941
907source "arch/arm/mach-shmobile/Kconfig"942source "arch/arm/mach-shmobile/Kconfig"
908 943
909source "arch/arm/plat-stmp3xxx/Kconfig"944source "arch/arm/plat-stmp3xxx/Kconfig"
910 945
946source "arch/arm/mach-tegra/Kconfig"
947
911source "arch/arm/mach-u300/Kconfig"948source "arch/arm/mach-u300/Kconfig"
912 949
913source "arch/arm/mach-ux500/Kconfig"950source "arch/arm/mach-ux500/Kconfig"
@@ -1027,15 +1064,22 @@ config PL310_ERRATA_588369 · 113 unmodified lines
1027 is not correctly implemented in PL310 as clean lines are not1064 is not correctly implemented in PL310 as clean lines are not
1028 invalidated as a result of these operations. Note that this errata1065 invalidated as a result of these operations. Note that this errata
1029 uses Texas Instrument's secure monitor api.1066 uses Texas Instrument's secure monitor api.
1067
1068config 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.
1030endmenu1079endmenu
1031 1080
1032source "arch/arm/common/Kconfig"1081source "arch/arm/common/Kconfig"
1033 1082
1034config FORCE_MAX_ZONEORDER
1035 int
1036 depends on SA1111
1037 default "9"
1038
1039menu "Bus support"1083menu "Bus support"
1040 1084
1041config ARM_AMBA1085config ARM_AMBA
@@ -1060,7 +1104,7 @@ config ISA_DMA_API · 18 unmodified lines
1060 bool1104 bool
1061 1105
1062config PCI1106config PCI
1063 bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE1107 bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE || ARCH_CNS3XXX
1064 help1108 help
1065 Find out whether you have a PCI motherboard. PCI is the name of a1109 Find out whether you have a PCI motherboard. PCI is the name of a
1066 bus system, i.e. the way the CPU talks to the other stuff inside1110 bus system, i.e. the way the CPU talks to the other stuff inside
@@ -1100,10 +1144,11 @@ config SMP · 33 unmodified lines
1100 bool "Symmetric Multi-Processing (EXPERIMENTAL)"1144 bool "Symmetric Multi-Processing (EXPERIMENTAL)"
1101 depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\1145 depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\
1102 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 ||\1146 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 ||\
1103 ARCH_U8500 || ARCH_VEXPRESS_CA9X4)1147 ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
1104 depends on GENERIC_CLOCKEVENTS1148 depends on GENERIC_CLOCKEVENTS
1105 select USE_GENERIC_SMP_HELPERS1149 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
1107 help1152 help
1108 This enables support for systems with more than one CPU. If you have1153 This enables support for systems with more than one CPU. If you have
1109 a system with only one CPU, like most personal computers, say N. If1154 a system with only one CPU, like most personal computers, say N. If
@@ -1172,9 +1217,11 @@ config HOTPLUG_CPU · 62 unmodified lines
1172config LOCAL_TIMERS1217config LOCAL_TIMERS
1173 bool "Use local timer interrupts"1218 bool "Use local timer interrupts"
1174 depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || \1219 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)
1176 default y1222 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
1178 help1225 help
1179 Enable support for local timers on SMP platforms, rather then the1226 Enable support for local timers on SMP platforms, rather then the
1180 legacy IPI broadcast method. Local timers allows the system1227 legacy IPI broadcast method. Local timers allows the system
@@ -1185,10 +1232,11 @@ source kernel/Kconfig.preempt · 4 unmodified lines
1185 1232
1186config HZ1233config HZ
1187 int1234 int
1188 default 128 if ARCH_L72001235 default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P6440 || \
1189 default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P6440 || ARCH_S5P6442 || ARCH_S5PV2101236 ARCH_S5P6442 || ARCH_S5PV210 || ARCH_S5PV310
1190 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER1237 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
1191 default AT91_TIMER_HZ if ARCH_AT911238 default AT91_TIMER_HZ if ARCH_AT91
1239 default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
1192 default 1001240 default 100
1193 1241
1194config THUMB2_KERNEL1242config THUMB2_KERNEL
@@ -1241,10 +1289,6 @@ config OABI_COMPAT · 46 unmodified lines
1241config ARCH_HAS_HOLES_MEMORYMODEL1289config ARCH_HAS_HOLES_MEMORYMODEL
1242 bool1290 bool
1243 1291
1244# Discontigmem is deprecated
1245config ARCH_DISCONTIGMEM_ENABLE
1246 bool
1247
1248config ARCH_SPARSEMEM_ENABLE1292config ARCH_SPARSEMEM_ENABLE
1249 bool1293 bool
1250 1294
@@ -1252,13 +1296,7 @@ config ARCH_SPARSEMEM_DEFAULT · 1 unmodified line
1252 def_bool ARCH_SPARSEMEM_ENABLE1296 def_bool ARCH_SPARSEMEM_ENABLE
1253 1297
1254config ARCH_SELECT_MEMORY_MODEL1298config ARCH_SELECT_MEMORY_MODEL
1255 def_bool ARCH_DISCONTIGMEM_ENABLE && ARCH_SPARSEMEM_ENABLE1299 def_bool ARCH_SPARSEMEM_ENABLE
1256
1257config NODES_SHIFT
1258 int
1259 default "4" if ARCH_LH7A40X
1260 default "2"
1261 depends on NEED_MULTIPLE_NODES
1262 1300
1263config HIGHMEM1301config HIGHMEM
1264 bool "High Memory Support (EXPERIMENTAL)"1302 bool "High Memory Support (EXPERIMENTAL)"
@@ -1290,8 +1328,33 @@ config HW_PERF_EVENTS · 25 unmodified lines
1290 Enable hardware performance counter support for perf events. If1328 Enable hardware performance counter support for perf events. If
1291 disabled, perf events will use software events only.1329 disabled, perf events will use software events only.
1292 1330
1331config 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
1293source "mm/Kconfig"1340source "mm/Kconfig"
1294 1341
1342config 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
1295config LEDS1358config LEDS
1296 bool "Timer and CPU usage LEDs"1359 bool "Timer and CPU usage LEDs"
1297 depends on ARCH_CDB89712 || ARCH_EBSA110 || \1360 depends on ARCH_CDB89712 || ARCH_EBSA110 || \
@@ -1375,6 +1438,24 @@ config UACCESS_WITH_MEMCPY · 77 unmodified lines
1375 However, if the CPU data cache is using a write-allocate mode,1438 However, if the CPU data cache is using a write-allocate mode,
1376 this option is unlikely to provide any performance gain.1439 this option is unlikely to provide any performance gain.
1377 1440
1441config 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
1453config 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
1378endmenu1459endmenu
1379 1460
1380menu "Boot options"1461menu "Boot options"
@@ -1485,6 +1566,105 @@ config ATAGS_PROC · 104 unmodified lines
1485 Should the atags used to boot the kernel be exported in an "atags"1566 Should the atags used to boot the kernel be exported in an "atags"
1486 file in procfs. Useful with kexec.1567 file in procfs. Useful with kexec.
1487 1568
1569config 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
1579config 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
1488endmenu1668endmenu
1489 1669
1490menu "CPU Power Management"1670menu "CPU Power Management"
arch/arm/Makefile+9−3
@@ -34,6 +34,10 @@ ifeq ($(CONFIG_FRAME_POINTER),y) · 33 unmodified lines
34KBUILD_CFLAGS +=-fno-omit-frame-pointer -mapcs -mno-sched-prolog34KBUILD_CFLAGS +=-fno-omit-frame-pointer -mapcs -mno-sched-prolog
35endif35endif
36 36
37ifeq ($(CONFIG_CC_STACKPROTECTOR),y)
38KBUILD_CFLAGS +=-fstack-protector
39endif
40
37ifeq ($(CONFIG_CPU_BIG_ENDIAN),y)41ifeq ($(CONFIG_CPU_BIG_ENDIAN),y)
38KBUILD_CPPFLAGS += -mbig-endian42KBUILD_CPPFLAGS += -mbig-endian
39AS += -EB43AS += -EB
@@ -139,14 +143,14 @@ machine-$(CONFIG_ARCH_IXP23XX) := ixp23xx · 99 unmodified lines
139machine-$(CONFIG_ARCH_IXP4XX) := ixp4xx143machine-$(CONFIG_ARCH_IXP4XX) := ixp4xx
140machine-$(CONFIG_ARCH_KIRKWOOD) := kirkwood144machine-$(CONFIG_ARCH_KIRKWOOD) := kirkwood
141machine-$(CONFIG_ARCH_KS8695) := ks8695145machine-$(CONFIG_ARCH_KS8695) := ks8695
142machine-$(CONFIG_ARCH_L7200) := l7200
143machine-$(CONFIG_ARCH_LH7A40X) := lh7a40x146machine-$(CONFIG_ARCH_LH7A40X) := lh7a40x
144machine-$(CONFIG_ARCH_LOKI) := loki147machine-$(CONFIG_ARCH_LOKI) := loki
148machine-$(CONFIG_ARCH_LPC32XX) := lpc32xx
145machine-$(CONFIG_ARCH_MMP) := mmp149machine-$(CONFIG_ARCH_MMP) := mmp
146machine-$(CONFIG_ARCH_MSM) := msm150machine-$(CONFIG_ARCH_MSM) := msm
147machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0151machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0
148machine-$(CONFIG_ARCH_MX1) := mx1152machine-$(CONFIG_ARCH_MX1) := imx
149machine-$(CONFIG_ARCH_MX2) := mx2153machine-$(CONFIG_ARCH_MX2) := imx
150machine-$(CONFIG_ARCH_MX25) := mx25154machine-$(CONFIG_ARCH_MX25) := mx25
151machine-$(CONFIG_ARCH_MX3) := mx3155machine-$(CONFIG_ARCH_MX3) := mx3
152machine-$(CONFIG_ARCH_MX5) := mx5156machine-$(CONFIG_ARCH_MX5) := mx5
@@ -170,11 +174,13 @@ machine-$(CONFIG_ARCH_S5P6440) := s5p6440 · 17 unmodified lines
170machine-$(CONFIG_ARCH_S5P6442) := s5p6442174machine-$(CONFIG_ARCH_S5P6442) := s5p6442
171machine-$(CONFIG_ARCH_S5PC100) := s5pc100175machine-$(CONFIG_ARCH_S5PC100) := s5pc100
172machine-$(CONFIG_ARCH_S5PV210) := s5pv210176machine-$(CONFIG_ARCH_S5PV210) := s5pv210
177machine-$(CONFIG_ARCH_S5PV310) := s5pv310
173machine-$(CONFIG_ARCH_SA1100) := sa1100178machine-$(CONFIG_ARCH_SA1100) := sa1100
174machine-$(CONFIG_ARCH_SHARK) := shark179machine-$(CONFIG_ARCH_SHARK) := shark
175machine-$(CONFIG_ARCH_SHMOBILE) := shmobile180machine-$(CONFIG_ARCH_SHMOBILE) := shmobile
176machine-$(CONFIG_ARCH_STMP378X) := stmp378x181machine-$(CONFIG_ARCH_STMP378X) := stmp378x
177machine-$(CONFIG_ARCH_STMP37XX) := stmp37xx182machine-$(CONFIG_ARCH_STMP37XX) := stmp37xx
183machine-$(CONFIG_ARCH_TEGRA) := tegra
178machine-$(CONFIG_ARCH_U300) := u300184machine-$(CONFIG_ARCH_U300) := u300
179machine-$(CONFIG_ARCH_U8500) := ux500185machine-$(CONFIG_ARCH_U8500) := ux500
180machine-$(CONFIG_ARCH_VERSATILE) := versatile186machine-$(CONFIG_ARCH_VERSATILE) := versatile
arch/arm/boot/Makefile+3−5
@@ -14,18 +14,16 @@ · 13 unmodified lines
14MKIMAGE := $(srctree)/scripts/mkuboot.sh14MKIMAGE := $(srctree)/scripts/mkuboot.sh
15 15
16ifneq ($(MACHINE),)16ifneq ($(MACHINE),)
17include $(srctree)/$(MACHINE)/Makefile.boot17-include $(srctree)/$(MACHINE)/Makefile.boot
18endif18endif
19 19
20# Note: the following conditions must always be true:20# Note: the following conditions must always be true:
21# ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
22# PARAMS_PHYS must be within 4MB of ZRELADDR21# PARAMS_PHYS must be within 4MB of ZRELADDR
23# INITRD_PHYS must be in RAM22# INITRD_PHYS must be in RAM
24ZRELADDR := $(zreladdr-y)
25PARAMS_PHYS := $(params_phys-y)23PARAMS_PHYS := $(params_phys-y)
26INITRD_PHYS := $(initrd_phys-y)24INITRD_PHYS := $(initrd_phys-y)
27 25
28export ZRELADDR INITRD_PHYS PARAMS_PHYS26export INITRD_PHYS PARAMS_PHYS
29 27
30targets := Image zImage xipImage bootpImage uImage28targets := Image zImage xipImage bootpImage uImage
31 29
@@ -67,7 +65,7 @@ quiet_cmd_uimage = UIMAGE $@ · 35 unmodified lines
67ifeq ($(CONFIG_ZBOOT_ROM),y)65ifeq ($(CONFIG_ZBOOT_ROM),y)
68$(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)66$(obj)/uImage: LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT)
69else67else
70$(obj)/uImage: LOADADDR=$(ZRELADDR)68$(obj)/uImage: LOADADDR=$(CONFIG_ZRELADDR)
71endif69endif
72 70
73ifeq ($(CONFIG_THUMB2_KERNEL),y)71ifeq ($(CONFIG_THUMB2_KERNEL),y)
arch/arm/boot/compressed/Makefile+2−15
@@ -4,6 +4,7 @@ · 3 unmodified lines
4# create a compressed vmlinuz image from the original vmlinux4# create a compressed vmlinuz image from the original vmlinux
5#5#
6 6
7AFLAGS_head.o += -DTEXT_OFFSET=$(TEXT_OFFSET)
7HEAD = head.o8HEAD = head.o
8OBJS = misc.o decompress.o9OBJS = misc.o decompress.o
9FONTC = $(srctree)/drivers/video/console/font_acorn_8x8.c10FONTC = $(srctree)/drivers/video/console/font_acorn_8x8.c
@@ -19,10 +20,6 @@ ifeq ($(CONFIG_ARCH_SHARK),y) · 9 unmodified lines
19OBJS += head-shark.o ofw-shark.o20OBJS += head-shark.o ofw-shark.o
20endif21endif
21 22
22ifeq ($(CONFIG_ARCH_L7200),y)
23OBJS += head-l7200.o
24endif
25
26ifeq ($(CONFIG_ARCH_P720T),y)23ifeq ($(CONFIG_ARCH_P720T),y)
27# Borrow this code from SA110024# Borrow this code from SA1100
28OBJS += head-sa1100.o25OBJS += head-sa1100.o
@@ -36,7 +33,7 @@ ifeq ($(CONFIG_CPU_XSCALE),y) · 7 unmodified lines
36OBJS += head-xscale.o33OBJS += head-xscale.o
37endif34endif
38 35
39ifeq ($(CONFIG_PXA_SHARPSL),y)36ifeq ($(CONFIG_PXA_SHARPSL_DETECT_MACH_ID),y)
40OBJS += head-sharpsl.o37OBJS += head-sharpsl.o
41endif38endif
42 39
@@ -82,19 +79,9 @@ endif · 39 unmodified lines
82EXTRA_CFLAGS := -fpic -fno-builtin79EXTRA_CFLAGS := -fpic -fno-builtin
83EXTRA_AFLAGS := -Wa,-march=all80EXTRA_AFLAGS := -Wa,-march=all
84 81
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.
88LDFLAGS_vmlinux := --defsym zreladdr=$(ZRELADDR)
89ifeq ($(CONFIG_CPU_ENDIAN_BE8),y)82ifeq ($(CONFIG_CPU_ENDIAN_BE8),y)
90LDFLAGS_vmlinux += --be883LDFLAGS_vmlinux += --be8
91endif84endif
92ifneq ($(INITRD_PHYS),)
93LDFLAGS_vmlinux += --defsym initrd_phys=$(INITRD_PHYS)
94endif
95ifneq ($(PARAMS_PHYS),)
96LDFLAGS_vmlinux += --defsym params_phys=$(PARAMS_PHYS)
97endif
98# ?85# ?
99LDFLAGS_vmlinux += -p86LDFLAGS_vmlinux += -p
100# Report unresolved symbol references87# 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
7COMPRESSED_EXTRA=../../lib/ll_char_wr.o
8OBJECTS=misc-debug.o ll_char_wr.aout.o
9
10CFLAGS=-D__KERNEL__ -O2 -DSTDC_HEADERS -DSTANDALONE_DEBUG -Wall -I../../../../include -c
11
12test-gzip: piggy.aout.o $(OBJECTS)
13 $(CC) -o $@ $(OBJECTS) piggy.aout.o
14
15misc-debug.o: misc.c
16 $(CC) $(CFLAGS) -o $@ misc.c
17
18piggy.aout.o: piggy.o
19 arm-linuxelf-objcopy --change-leading-char -I elf32-arm -O arm-aout32-linux piggy.o piggy.aout.o
20
21ll_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
221:
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
170 170
171 .text171 .text
172 adr r0, LC0172 adr r0, LC0
173 ARM( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip, sp})173 ldmia r0, {r1, r2, r3, r5, r6, r11, ip}
174 THUMB( ldmia r0, {r1, r2, r3, r4, r5, r6, r11, ip} )174 ldr sp, [r0, #28]
175 THUMB( ldr sp, [r0, #32] )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
176 subs r0, r0, r1 @ calculate the delta offset182 subs r0, r0, r1 @ calculate the delta offset
177 183
178 @ if delta is zero, we are184 @ if delta is zero, we are
@@ -310,18 +316,17 @@ wont_overwrite: mov r0, r4 · 131 unmodified lines
310LC0: .word LC0 @ r1316LC0: .word LC0 @ r1
311 .word __bss_start @ r2317 .word __bss_start @ r2
312 .word _end @ r3318 .word _end @ r3
313 .word zreladdr @ r4
314 .word _start @ r5319 .word _start @ r5
315 .word _image_size @ r6320 .word _image_size @ r6
316 .word _got_start @ r11321 .word _got_start @ r11
317 .word _got_end @ ip322 .word _got_end @ ip
318 .word user_stack+4096 @ sp323 .word user_stack_end @ sp
319LC1: .word reloc_end - reloc_start324LC1: .word reloc_end - reloc_start
320 .size LC0, . - LC0325 .size LC0, . - LC0
321 326
322#ifdef CONFIG_ARCH_RPC327#ifdef CONFIG_ARCH_RPC
323 .globl params328 .globl params
324params: ldr r0, =params_phys329params: ldr r0, =0x10000100 @ params_phys for RPC
325 mov pc, lr330 mov pc, lr
326 .ltorg331 .ltorg
327 .align332 .align
@@ -339,9 +344,8 @@ params: ldr r0, =params_phys · 11 unmodified lines
339 * r4 = kernel execution address344 * r4 = kernel execution address
340 * r7 = architecture number345 * r7 = architecture number
341 * r8 = atags pointer346 * r8 = atags pointer
342 * r9 = run-time address of "start" (???)
343 * On exit,347 * On exit,
344 * r1, r2, r3, r9, r10, r12 corrupted348 * r0, r1, r2, r3, r9, r10, r12 corrupted
345 * This routine must preserve:349 * This routine must preserve:
346 * r4, r5, r6, r7, r8350 * r4, r5, r6, r7, r8
347 */351 */
@@ -396,12 +400,18 @@ __armv3_mpu_cache_on: · 48 unmodified lines
396 400
397 mov r0, #0401 mov r0, #0
398 mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3402 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 */
399 mrc p15, 0, r0, c1, c0, 0 @ read control reg407 mrc p15, 0, r0, c1, c0, 0 @ read control reg
400 @ .... .... .... WC.M408 @ .... .... .... WC.M
401 orr r0, r0, #0x000d @ .... .... .... 11.1409 orr r0, r0, #0x000d @ .... .... .... 11.1
410 /* ?? this overwrites the value constructed above? */
402 mov r0, #0411 mov r0, #0
403 mcr p15, 0, r0, c1, c0, 0 @ write control reg412 mcr p15, 0, r0, c1, c0, 0 @ write control reg
404 413
414 /* ?? invalidate for the second time? */
405 mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3415 mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3
406 mov pc, lr416 mov pc, lr
407 417
@@ -771,8 +781,10 @@ proc_types: · 363 unmodified lines
771 * Turn off the Cache and MMU. ARMv3 does not support781 * Turn off the Cache and MMU. ARMv3 does not support
772 * reading the control register, but ARMv4 does.782 * reading the control register, but ARMv4 does.
773 *783 *
774 * On exit, r0, r1, r2, r3, r9, r12 corrupted784 * On exit,
775 * This routine must preserve: r4, r6, r7785 * r0, r1, r2, r3, r9, r12 corrupted
786 * This routine must preserve:
787 * r4, r6, r7
776 */788 */
777 .align 5789 .align 5
778cache_off: mov r3, #12 @ cache_off function790cache_off: mov r3, #12 @ cache_off function
@@ -845,7 +857,7 @@ __armv3_mmu_cache_off: · 66 unmodified lines
845 * Clean and flush the cache to maintain consistency.857 * Clean and flush the cache to maintain consistency.
846 *858 *
847 * On exit,859 * On exit,
848 * r1, r2, r3, r9, r11, r12 corrupted860 * r1, r2, r3, r9, r10, r11, r12 corrupted
849 * This routine must preserve:861 * This routine must preserve:
850 * r0, r4, r5, r6, r7862 * r0, r4, r5, r6, r7
851 */863 */
@@ -988,7 +1000,7 @@ no_cache_id: · 136 unmodified lines
988__armv3_mmu_cache_flush:1000__armv3_mmu_cache_flush:
989__armv3_mpu_cache_flush:1001__armv3_mpu_cache_flush:
990 mov r1, #01002 mov r1, #0
991 mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v31003 mcr p15, 0, r1, c7, c0, 0 @ invalidate whole cache v3
992 mov pc, lr1004 mov pc, lr
993 1005
994/*1006/*
@@ -1001,6 +1013,7 @@ __armv3_mpu_cache_flush: · 6 unmodified lines
1001phexbuf: .space 121013phexbuf: .space 12
1002 .size phexbuf, . - phexbuf1014 .size phexbuf, . - phexbuf
1003 1015
1016@ phex corrupts {r0, r1, r2, r3}
1004phex: adr r3, phexbuf1017phex: adr r3, phexbuf
1005 mov r2, #01018 mov r2, #0
1006 strb r2, [r3, r1]1019 strb r2, [r3, r1]
@@ -1015,6 +1028,7 @@ phex: adr r3, phexbuf · 8 unmodified lines
1015 strb r2, [r3, r1]1028 strb r2, [r3, r1]
1016 b 1b1029 b 1b
1017 1030
1031@ puts corrupts {r0, r1, r2, r3}
1018puts: loadsp r3, r11032puts: loadsp r3, r1
10191: ldrb r2, [r0], #110331: ldrb r2, [r0], #1
1020 teq r2, #01034 teq r2, #0
@@ -1029,12 +1043,14 @@ puts: loadsp r3, r1 · 8 unmodified lines
1029 teq r0, #01043 teq r0, #0
1030 bne 1b1044 bne 1b
1031 mov pc, lr1045 mov pc, lr
1046@ putc corrupts {r0, r1, r2, r3}
1032putc:1047putc:
1033 mov r2, r01048 mov r2, r0
1034 mov r0, #01049 mov r0, #0
1035 loadsp r3, r11050 loadsp r3, r1
1036 b 2b1051 b 2b
1037 1052
1053@ memdump corrupts {r0, r1, r2, r3, r10, r11, r12, lr}
1038memdump: mov r12, r01054memdump: mov r12, r0
1039 mov r10, lr1055 mov r10, lr
1040 mov r11, #01056 mov r11, #0
@@ -1070,3 +1086,4 @@ reloc_end: · 29 unmodified lines
1070 .align1086 .align
1071 .section ".stack", "w"1087 .section ".stack", "w"
1072user_stack: .space 40961088user_stack: .space 4096
1089user_stack_end:
arch/arm/boot/compressed/misc.c+0−20
@@ -28,9 +28,6 @@ unsigned int __machine_arch_type; · 27 unmodified lines
28 28
29#include <asm/unaligned.h>29#include <asm/unaligned.h>
30 30
31#ifdef STANDALONE_DEBUG
32#define putstr printf
33#else
34 31
35static void putstr(const char *ptr);32static void putstr(const char *ptr);
36extern void error(char *x);33extern void error(char *x);
@@ -116,7 +113,6 @@ static void putstr(const char *ptr) · 79 unmodified lines
116 flush();113 flush();
117}114}
118 115
119#endif
120 116
121void *memcpy(void *__dest, __const void *__src, size_t __n)117void *memcpy(void *__dest, __const void *__src, size_t __n)
122{118{
@@ -186,7 +182,6 @@ asmlinkage void __div0(void) · 63 unmodified lines
186 182
187extern void do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x));183extern void do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x));
188 184
189#ifndef STANDALONE_DEBUG
190 185
191unsigned long186unsigned long
192decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p,187decompress_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
211 putstr(" done, booting the kernel.\n");206 putstr(" done, booting the kernel.\n");
212 return output_ptr;207 return output_ptr;
213}208}
214#else
215
216char output_buffer[1500*1024];
217
218int 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
108 spin_unlock(&irq_controller_lock);108 spin_unlock(&irq_controller_lock);
109}109}
110 110
111static 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
111#ifdef CONFIG_SMP156#ifdef CONFIG_SMP
112static int gic_set_cpu(unsigned int irq, const struct cpumask *mask_val)157static int gic_set_cpu(unsigned int irq, const struct cpumask *mask_val)
113{158{
@@ -161,6 +206,7 @@ static struct irq_chip gic_chip = { · 47 unmodified lines
161 .ack = gic_ack_irq,206 .ack = gic_ack_irq,
162 .mask = gic_mask_irq,207 .mask = gic_mask_irq,
163 .unmask = gic_unmask_irq,208 .unmask = gic_unmask_irq,
209 .set_type = gic_set_type,
164#ifdef CONFIG_SMP210#ifdef CONFIG_SMP
165 .set_affinity = gic_set_cpu,211 .set_affinity = gic_set_cpu,
166#endif212#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
263 return 0;263 return 0;
264}264}
265 265
266int 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
274int __init it8152_pci_setup(int nr, struct pci_sys_data *sys)266int __init it8152_pci_setup(int nr, struct pci_sys_data *sys)
275{267{
276 it8152_io.start = IT8152_IO_BASE + 0x12000;268 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
185 },185 },
186};186};
187 187
188void __init sa1111_adjust_zones(int node, unsigned long *size, unsigned long *holes)188void __init sa1111_adjust_zones(unsigned long *size, unsigned long *holes)
189{189{
190 unsigned int sz = SZ_1M >> PAGE_SHIFT;190 unsigned int sz = SZ_1M >> PAGE_SHIFT;
191 191
192 if (node != 0)
193 sz = 0;
194
195 size[1] = size[0] - sz;192 size[1] = size[0] - sz;
196 size[0] = sz;193 size[0] = sz;
197}194}
arch/arm/configs/am3517_evm_defconfig+0−127
@@ -1,127 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_LOG_BUF_SHIFT=14
5CONFIG_SYSFS_DEPRECATED_V2=y
6CONFIG_BLK_DEV_INITRD=y
7CONFIG_EMBEDDED=y
8# CONFIG_SYSCTL_SYSCALL is not set
9CONFIG_KALLSYMS_EXTRA_PASS=y
10CONFIG_SLAB=y
11CONFIG_MODULES=y
12CONFIG_MODULE_UNLOAD=y
13CONFIG_MODVERSIONS=y
14CONFIG_MODULE_SRCVERSION_ALL=y
15# CONFIG_BLK_DEV_BSG is not set
16CONFIG_ARCH_OMAP=y
17CONFIG_ARCH_OMAP3=y
18CONFIG_OMAP_RESET_CLOCKS=y
19# CONFIG_OMAP_MCBSP is not set
20CONFIG_OMAP_32K_TIMER=y
21CONFIG_OMAP_DM_TIMER=y
22CONFIG_ARCH_OMAP3430=y
23CONFIG_MACH_OMAP3517EVM=y
24CONFIG_NO_HZ=y
25CONFIG_HIGH_RES_TIMERS=y
26CONFIG_AEABI=y
27CONFIG_ZBOOT_ROM_TEXT=0x0
28CONFIG_ZBOOT_ROM_BSS=0x0
29CONFIG_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"
30CONFIG_FPE_NWFPE=y
31CONFIG_VFP=y
32CONFIG_NEON=y
33CONFIG_BINFMT_MISC=y
34CONFIG_NET=y
35CONFIG_PACKET=y
36CONFIG_UNIX=y
37CONFIG_NET_KEY=y
38CONFIG_INET=y
39CONFIG_IP_PNP=y
40CONFIG_IP_PNP_DHCP=y
41CONFIG_IP_PNP_BOOTP=y
42CONFIG_IP_PNP_RARP=y
43# CONFIG_INET_LRO is not set
44# CONFIG_IPV6 is not set
45CONFIG_CAN=y
46CONFIG_CAN_RAW=y
47CONFIG_CAN_BCM=y
48CONFIG_CAN_VCAN=y
49CONFIG_CAN_DEV=y
50CONFIG_CAN_CALC_BITTIMING=y
51CONFIG_CAN_TI_HECC=y
52CONFIG_CAN_DEBUG_DEVICES=y
53CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
54# CONFIG_FW_LOADER is not set
55CONFIG_BLK_DEV_LOOP=y
56CONFIG_BLK_DEV_RAM=y
57CONFIG_BLK_DEV_RAM_SIZE=16384
58# CONFIG_MISC_DEVICES is not set
59CONFIG_SCSI=y
60CONFIG_BLK_DEV_SD=y
61CONFIG_NETDEVICES=y
62CONFIG_NET_ETHERNET=y
63CONFIG_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
68CONFIG_INPUT_EVDEV=y
69# CONFIG_INPUT_KEYBOARD is not set
70# CONFIG_INPUT_MOUSE is not set
71# CONFIG_SERIO is not set
72CONFIG_SERIAL_8250=y
73CONFIG_SERIAL_8250_CONSOLE=y
74CONFIG_SERIAL_8250_NR_UARTS=32
75CONFIG_SERIAL_8250_EXTENDED=y
76CONFIG_SERIAL_8250_MANY_PORTS=y
77CONFIG_SERIAL_8250_SHARE_IRQ=y
78CONFIG_SERIAL_8250_DETECT_IRQ=y
79CONFIG_SERIAL_8250_RSA=y
80# CONFIG_LEGACY_PTYS is not set
81CONFIG_HW_RANDOM=y
82CONFIG_I2C=y
83CONFIG_I2C_CHARDEV=y
84CONFIG_I2C_OMAP=y
85# CONFIG_HWMON is not set
86CONFIG_FB=y
87CONFIG_OMAP2_DSS=y
88CONFIG_OMAP2_VRAM_SIZE=4
89CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=4
90CONFIG_FB_OMAP2=y
91CONFIG_PANEL_GENERIC=y
92CONFIG_PANEL_SHARP_LQ043T1DG01=y
93# CONFIG_VGA_CONSOLE is not set
94CONFIG_USB=y
95CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
96# CONFIG_USB_DEVICE_CLASS is not set
97CONFIG_USB_EHCI_HCD=y
98CONFIG_USB_STORAGE=y
99CONFIG_EXT2_FS=y
100CONFIG_EXT3_FS=y
101# CONFIG_EXT3_FS_XATTR is not set
102CONFIG_INOTIFY=y
103CONFIG_QUOTA=y
104CONFIG_QFMT_V2=y
105CONFIG_MSDOS_FS=y
106CONFIG_VFAT_FS=y
107CONFIG_TMPFS=y
108CONFIG_NFS_FS=y
109CONFIG_NFS_V3=y
110CONFIG_NFS_V4=y
111CONFIG_ROOT_NFS=y
112CONFIG_PARTITION_ADVANCED=y
113CONFIG_NLS_CODEPAGE_437=y
114CONFIG_NLS_ISO8859_1=y
115CONFIG_MAGIC_SYSRQ=y
116CONFIG_DEBUG_KERNEL=y
117# CONFIG_SCHED_DEBUG is not set
118CONFIG_DEBUG_MUTEXES=y
119# CONFIG_DEBUG_BUGVERBOSE is not set
120CONFIG_DEBUG_INFO=y
121# CONFIG_RCU_CPU_STALL_DETECTOR is not set
122CONFIG_DEBUG_LL=y
123CONFIG_CRYPTO_ECB=m
124CONFIG_CRYPTO_PCBC=m
125# CONFIG_CRYPTO_ANSI_CPRNG is not set
126CONFIG_CRC_CCITT=y
127CONFIG_LIBCRC32C=y
arch/arm/configs/cm_t35_defconfig+0−157
@@ -1,157 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_IKCONFIG=y
5CONFIG_IKCONFIG_PROC=y
6CONFIG_SYSFS_DEPRECATED_V2=y
7CONFIG_BLK_DEV_INITRD=y
8CONFIG_EMBEDDED=y
9# CONFIG_SYSCTL_SYSCALL is not set
10CONFIG_KALLSYMS_EXTRA_PASS=y
11CONFIG_SLAB=y
12CONFIG_MODULES=y
13CONFIG_MODULE_UNLOAD=y
14CONFIG_MODVERSIONS=y
15# CONFIG_BLK_DEV_BSG is not set
16CONFIG_ARCH_OMAP=y
17CONFIG_ARCH_OMAP3=y
18CONFIG_OMAP_RESET_CLOCKS=y
19CONFIG_OMAP_32K_TIMER=y
20CONFIG_OMAP_DM_TIMER=y
21CONFIG_ARCH_OMAP3430=y
22CONFIG_MACH_CM_T35=y
23CONFIG_NO_HZ=y
24CONFIG_HIGH_RES_TIMERS=y
25CONFIG_AEABI=y
26CONFIG_ZBOOT_ROM_TEXT=0x0
27CONFIG_ZBOOT_ROM_BSS=0x0
28CONFIG_FPE_NWFPE=y
29CONFIG_VFP=y
30CONFIG_NEON=y
31CONFIG_BINFMT_MISC=y
32CONFIG_PM=y
33CONFIG_PM_RUNTIME=y
34CONFIG_NET=y
35CONFIG_PACKET=y
36CONFIG_UNIX=y
37CONFIG_NET_KEY=y
38CONFIG_INET=y
39CONFIG_IP_PNP=y
40CONFIG_IP_PNP_DHCP=y
41CONFIG_IP_PNP_BOOTP=y
42CONFIG_IP_PNP_RARP=y
43# CONFIG_INET_LRO is not set
44# CONFIG_IPV6 is not set
45CONFIG_LIB80211=m
46CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
47CONFIG_FW_LOADER=m
48CONFIG_MTD=y
49CONFIG_MTD_CONCAT=y
50CONFIG_MTD_PARTITIONS=y
51CONFIG_MTD_CMDLINE_PARTS=y
52CONFIG_MTD_CHAR=y
53CONFIG_MTD_BLOCK=y
54CONFIG_MTD_CFI=y
55CONFIG_MTD_CFI_INTELEXT=y
56CONFIG_MTD_NAND=y
57CONFIG_MTD_NAND_OMAP2=y
58CONFIG_BLK_DEV_LOOP=y
59CONFIG_BLK_DEV_RAM=y
60CONFIG_BLK_DEV_RAM_SIZE=16384
61CONFIG_SCSI=y
62CONFIG_BLK_DEV_SD=y
63CONFIG_NETDEVICES=y
64CONFIG_NET_ETHERNET=y
65CONFIG_SMSC911X=y
66# CONFIG_NETDEV_1000 is not set
67# CONFIG_NETDEV_10000 is not set
68CONFIG_INPUT_EVDEV=y
69CONFIG_KEYBOARD_TWL4030=m
70# CONFIG_INPUT_MOUSE is not set
71CONFIG_INPUT_TOUCHSCREEN=y
72CONFIG_TOUCHSCREEN_ADS7846=m
73CONFIG_SERIAL_8250=y
74CONFIG_SERIAL_8250_CONSOLE=y
75CONFIG_SERIAL_8250_NR_UARTS=32
76CONFIG_SERIAL_8250_EXTENDED=y
77CONFIG_SERIAL_8250_MANY_PORTS=y
78CONFIG_SERIAL_8250_SHARE_IRQ=y
79CONFIG_SERIAL_8250_DETECT_IRQ=y
80CONFIG_SERIAL_8250_RSA=y
81# CONFIG_LEGACY_PTYS is not set
82CONFIG_HW_RANDOM=y
83CONFIG_I2C=y
84CONFIG_I2C_CHARDEV=y
85CONFIG_I2C_OMAP=y
86CONFIG_SPI=y
87CONFIG_SPI_OMAP24XX=y
88CONFIG_GPIO_SYSFS=y
89CONFIG_GPIO_TWL4030=y
90# CONFIG_HWMON is not set
91CONFIG_WATCHDOG=y
92CONFIG_WATCHDOG_NOWAYOUT=y
93CONFIG_OMAP_WATCHDOG=y
94CONFIG_TWL4030_CORE=y
95CONFIG_REGULATOR=y
96CONFIG_REGULATOR_TWL4030=y
97# CONFIG_VGA_CONSOLE is not set
98CONFIG_USB=y
99CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
100CONFIG_USB_DEVICEFS=y
101# CONFIG_USB_DEVICE_CLASS is not set
102CONFIG_USB_SUSPEND=y
103# CONFIG_USB_OTG_WHITELIST is not set
104CONFIG_USB_MON=y
105CONFIG_USB_EHCI_HCD=y
106CONFIG_USB_MUSB_HDRC=y
107CONFIG_USB_MUSB_OTG=y
108CONFIG_USB_GADGET_MUSB_HDRC=y
109CONFIG_USB_STORAGE=y
110CONFIG_USB_TEST=y
111CONFIG_USB_GADGET=y
112CONFIG_USB_ETH=m
113CONFIG_TWL4030_USB=y
114CONFIG_MMC=y
115CONFIG_MMC_OMAP_HS=y
116CONFIG_NEW_LEDS=y
117CONFIG_LEDS_CLASS=y
118CONFIG_LEDS_GPIO=y
119CONFIG_LEDS_TRIGGERS=y
120CONFIG_LEDS_TRIGGER_HEARTBEAT=y
121CONFIG_RTC_CLASS=y
122CONFIG_RTC_DRV_TWL4030=y
123CONFIG_EXT2_FS=y
124CONFIG_EXT3_FS=y
125# CONFIG_EXT3_FS_XATTR is not set
126CONFIG_INOTIFY=y
127CONFIG_QUOTA=y
128CONFIG_QFMT_V2=y
129CONFIG_MSDOS_FS=y
130CONFIG_VFAT_FS=y
131CONFIG_NTFS_FS=m
132CONFIG_TMPFS=y
133CONFIG_JFFS2_FS=y
134CONFIG_JFFS2_SUMMARY=y
135CONFIG_JFFS2_COMPRESSION_OPTIONS=y
136CONFIG_NFS_FS=y
137CONFIG_NFS_V3=y
138CONFIG_NFS_V4=y
139CONFIG_ROOT_NFS=y
140CONFIG_PARTITION_ADVANCED=y
141CONFIG_NLS_CODEPAGE_437=y
142CONFIG_NLS_ISO8859_1=y
143CONFIG_NLS_UTF8=m
144CONFIG_MAGIC_SYSRQ=y
145CONFIG_DEBUG_FS=y
146CONFIG_DEBUG_KERNEL=y
147# CONFIG_SCHED_DEBUG is not set
148CONFIG_DEBUG_MUTEXES=y
149# CONFIG_DEBUG_BUGVERBOSE is not set
150CONFIG_DEBUG_INFO=y
151# CONFIG_RCU_CPU_STALL_DETECTOR is not set
152CONFIG_DEBUG_LL=y
153CONFIG_CRYPTO_ECB=m
154CONFIG_CRYPTO_PCBC=m
155# CONFIG_CRYPTO_ANSI_CPRNG is not set
156CONFIG_CRC_CCITT=y
157CONFIG_LIBCRC32C=y
arch/arm/configs/devkit8000_defconfig+0−184
@@ -1,184 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_IKCONFIG=y
5CONFIG_IKCONFIG_PROC=y
6CONFIG_LOG_BUF_SHIFT=14
7CONFIG_BLK_DEV_INITRD=y
8CONFIG_RD_BZIP2=y
9CONFIG_RD_LZMA=y
10CONFIG_EMBEDDED=y
11# CONFIG_SYSCTL_SYSCALL is not set
12CONFIG_KALLSYMS_EXTRA_PASS=y
13CONFIG_SLAB=y
14CONFIG_MODULES=y
15CONFIG_MODULE_FORCE_LOAD=y
16CONFIG_MODULE_UNLOAD=y
17CONFIG_MODVERSIONS=y
18# CONFIG_BLK_DEV_BSG is not set
19CONFIG_ARCH_OMAP=y
20CONFIG_ARCH_OMAP3=y
21CONFIG_OMAP_32K_TIMER=y
22CONFIG_OMAP_DM_TIMER=y
23CONFIG_ARCH_OMAP3430=y
24CONFIG_MACH_DEVKIT8000=y
25CONFIG_NO_HZ=y
26CONFIG_HIGH_RES_TIMERS=y
27CONFIG_AEABI=y
28CONFIG_ZBOOT_ROM_TEXT=0x0
29CONFIG_ZBOOT_ROM_BSS=0x0
30CONFIG_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"
31CONFIG_FPE_NWFPE=y
32CONFIG_VFP=y
33CONFIG_NEON=y
34CONFIG_PM=y
35CONFIG_NET=y
36CONFIG_PACKET=y
37CONFIG_UNIX=y
38CONFIG_NET_KEY=y
39CONFIG_INET=y
40CONFIG_IP_MULTICAST=y
41CONFIG_IP_PNP=y
42CONFIG_IP_PNP_DHCP=y
43CONFIG_IP_PNP_BOOTP=y
44CONFIG_IP_PNP_RARP=y
45# CONFIG_INET_LRO is not set
46# CONFIG_IPV6 is not set
47CONFIG_IRDA=y
48CONFIG_BT=y
49CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
50# CONFIG_PREVENT_FIRMWARE_BUILD is not set
51# CONFIG_FW_LOADER is not set
52CONFIG_MTD=y
53CONFIG_MTD_PARTITIONS=y
54CONFIG_MTD_CHAR=y
55CONFIG_MTD_BLOCK=y
56CONFIG_MTD_RAM=y
57CONFIG_MTD_ROM=y
58CONFIG_MTD_NAND=y
59CONFIG_MTD_NAND_OMAP2=y
60CONFIG_MTD_UBI=y
61CONFIG_BLK_DEV_LOOP=y
62CONFIG_BLK_DEV_RAM=y
63CONFIG_BLK_DEV_RAM_SIZE=40960
64# CONFIG_MISC_DEVICES is not set
65CONFIG_SCSI=y
66CONFIG_BLK_DEV_SD=y
67CONFIG_NETDEVICES=y
68CONFIG_NET_ETHERNET=y
69CONFIG_DM9000=y
70CONFIG_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
75CONFIG_INPUT_EVDEV=y
76CONFIG_KEYBOARD_MATRIX=y
77CONFIG_KEYBOARD_TWL4030=y
78# CONFIG_INPUT_MOUSE is not set
79CONFIG_INPUT_TOUCHSCREEN=y
80CONFIG_TOUCHSCREEN_ADS7846=y
81CONFIG_SERIO_RAW=y
82CONFIG_SERIAL_8250=y
83CONFIG_SERIAL_8250_CONSOLE=y
84CONFIG_SERIAL_8250_NR_UARTS=32
85CONFIG_SERIAL_8250_EXTENDED=y
86CONFIG_SERIAL_8250_MANY_PORTS=y
87CONFIG_SERIAL_8250_SHARE_IRQ=y
88CONFIG_SERIAL_8250_DETECT_IRQ=y
89CONFIG_SERIAL_8250_RSA=y
90# CONFIG_LEGACY_PTYS is not set
91CONFIG_HW_RANDOM=y
92CONFIG_RAW_DRIVER=y
93CONFIG_I2C=y
94CONFIG_I2C_CHARDEV=y
95CONFIG_I2C_OMAP=y
96CONFIG_SPI=y
97CONFIG_SPI_OMAP24XX=y
98CONFIG_GPIO_TWL4030=y
99# CONFIG_HWMON is not set
100CONFIG_TWL4030_CORE=y
101CONFIG_TWL4030_POWER=y
102CONFIG_REGULATOR=y
103CONFIG_REGULATOR_TWL4030=y
104CONFIG_FB=y
105CONFIG_FB_FOREIGN_ENDIAN=y
106CONFIG_FB_OMAP_BOOTLOADER_INIT=y
107CONFIG_OMAP2_DSS=y
108CONFIG_FB_OMAP2=y
109CONFIG_PANEL_GENERIC=y
110CONFIG_DISPLAY_SUPPORT=y
111# CONFIG_VGA_CONSOLE is not set
112CONFIG_FRAMEBUFFER_CONSOLE=y
113CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
114CONFIG_LOGO=y
115# CONFIG_LOGO_LINUX_MONO is not set
116# CONFIG_LOGO_LINUX_VGA16 is not set
117CONFIG_SOUND=y
118CONFIG_SND=y
119CONFIG_SND_SOC=y
120CONFIG_SND_OMAP_SOC=y
121CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE=y
122CONFIG_USB=y
123CONFIG_USB_DEBUG=y
124CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
125# CONFIG_USB_DEVICE_CLASS is not set
126# CONFIG_USB_OTG_WHITELIST is not set
127CONFIG_USB_MON=y
128CONFIG_USB_EHCI_HCD=y
129CONFIG_USB_EHCI_ROOT_HUB_TT=y
130CONFIG_USB_MUSB_HDRC=y
131CONFIG_USB_MUSB_OTG=y
132CONFIG_USB_GADGET_MUSB_HDRC=y
133CONFIG_USB_MUSB_DEBUG=y
134CONFIG_USB_STORAGE=m
135CONFIG_USB_GADGET=y
136CONFIG_USB_GADGET_DEBUG=y
137CONFIG_USB_ETH=m
138# CONFIG_USB_ETH_RNDIS is not set
139CONFIG_TWL4030_USB=y
140CONFIG_MMC=y
141CONFIG_MMC_SDHCI=y
142CONFIG_MMC_SDHCI_PLTFM=m
143CONFIG_MMC_OMAP_HS=y
144CONFIG_MMC_SPI=m
145CONFIG_NEW_LEDS=y
146CONFIG_LEDS_CLASS=y
147CONFIG_LEDS_GPIO=y
148CONFIG_LEDS_TRIGGERS=y
149CONFIG_LEDS_TRIGGER_HEARTBEAT=y
150CONFIG_RTC_CLASS=y
151CONFIG_RTC_DRV_TWL4030=y
152CONFIG_EXT2_FS=y
153CONFIG_EXT3_FS=y
154# CONFIG_EXT3_FS_XATTR is not set
155CONFIG_INOTIFY=y
156CONFIG_QUOTA=y
157CONFIG_QFMT_V2=y
158CONFIG_MSDOS_FS=y
159CONFIG_VFAT_FS=y
160CONFIG_TMPFS=y
161CONFIG_JFFS2_FS=y
162CONFIG_UBIFS_FS=y
163CONFIG_CRAMFS=y
164CONFIG_NFS_FS=y
165CONFIG_NFS_V3=y
166CONFIG_NFS_V4=y
167CONFIG_ROOT_NFS=y
168CONFIG_PARTITION_ADVANCED=y
169CONFIG_NLS_CODEPAGE_437=y
170CONFIG_NLS_ISO8859_1=y
171CONFIG_PRINTK_TIME=y
172CONFIG_MAGIC_SYSRQ=y
173CONFIG_DEBUG_KERNEL=y
174CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
175CONFIG_DEBUG_MUTEXES=y
176# CONFIG_DEBUG_BUGVERBOSE is not set
177# CONFIG_RCU_CPU_STALL_DETECTOR is not set
178CONFIG_DEBUG_USER=y
179CONFIG_DEBUG_ERRORS=y
180CONFIG_CRYPTO_ECB=m
181CONFIG_CRYPTO_PCBC=m
182# CONFIG_CRYPTO_ANSI_CPRNG is not set
183CONFIG_CRC_T10DIF=m
184CONFIG_LIBCRC32C=y
arch/arm/configs/igep0020_defconfig+0−179
@@ -1,179 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2# CONFIG_LOCALVERSION_AUTO is not set
3CONFIG_SYSVIPC=y
4CONFIG_BSD_PROCESS_ACCT=y
5CONFIG_BLK_DEV_INITRD=y
6CONFIG_EMBEDDED=y
7# CONFIG_SYSCTL_SYSCALL is not set
8CONFIG_KALLSYMS_EXTRA_PASS=y
9CONFIG_SLAB=y
10CONFIG_MODULES=y
11CONFIG_MODULE_UNLOAD=y
12# CONFIG_BLK_DEV_BSG is not set
13CONFIG_ARCH_OMAP=y
14CONFIG_ARCH_OMAP3=y
15CONFIG_OMAP_RESET_CLOCKS=y
16# CONFIG_OMAP_MUX is not set
17CONFIG_OMAP_32K_TIMER=y
18CONFIG_OMAP_DM_TIMER=y
19CONFIG_ARCH_OMAP3430=y
20CONFIG_MACH_IGEP0020=y
21CONFIG_ARM_THUMBEE=y
22CONFIG_NO_HZ=y
23CONFIG_HIGH_RES_TIMERS=y
24CONFIG_AEABI=y
25# CONFIG_OABI_COMPAT is not set
26CONFIG_ZBOOT_ROM_TEXT=0x0
27CONFIG_ZBOOT_ROM_BSS=0x0
28CONFIG_VFP=y
29CONFIG_NEON=y
30CONFIG_BINFMT_MISC=y
31CONFIG_NET=y
32CONFIG_PACKET=y
33CONFIG_UNIX=y
34CONFIG_XFRM_USER=y
35CONFIG_NET_KEY=y
36CONFIG_NET_KEY_MIGRATE=y
37CONFIG_INET=y
38CONFIG_IP_MULTICAST=y
39CONFIG_IP_PNP=y
40CONFIG_IP_PNP_DHCP=y
41CONFIG_IP_PNP_BOOTP=y
42CONFIG_IP_PNP_RARP=y
43# CONFIG_INET_LRO is not set
44# CONFIG_IPV6 is not set
45CONFIG_BT=m
46CONFIG_BT_L2CAP=m
47CONFIG_BT_SCO=m
48CONFIG_BT_RFCOMM=m
49CONFIG_BT_RFCOMM_TTY=y
50CONFIG_BT_BNEP=m
51CONFIG_BT_BNEP_MC_FILTER=y
52CONFIG_BT_BNEP_PROTO_FILTER=y
53CONFIG_BT_HIDP=m
54CONFIG_BT_HCIUART=m
55CONFIG_BT_HCIUART_H4=y
56CONFIG_BT_HCIUART_BCSP=y
57CONFIG_BT_HCIUART_LL=y
58CONFIG_BT_HCIVHCI=m
59CONFIG_BT_MRVL=m
60CONFIG_BT_MRVL_SDIO=m
61CONFIG_CFG80211=y
62CONFIG_MAC80211=y
63CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
64# CONFIG_STANDALONE is not set
65CONFIG_CONNECTOR=y
66CONFIG_MTD=y
67CONFIG_MTD_CMDLINE_PARTS=y
68CONFIG_MTD_CHAR=y
69CONFIG_MTD_BLOCK=y
70CONFIG_MTD_ONENAND=y
71CONFIG_MTD_ONENAND_OMAP2=y
72CONFIG_MTD_ONENAND_2X_PROGRAM=y
73CONFIG_BLK_DEV_LOOP=y
74CONFIG_BLK_DEV_RAM=y
75CONFIG_BLK_DEV_RAM_SIZE=16384
76# CONFIG_MISC_DEVICES is not set
77CONFIG_SCSI=y
78CONFIG_BLK_DEV_SD=y
79CONFIG_NETDEVICES=y
80CONFIG_NET_ETHERNET=y
81CONFIG_SMSC911X=y
82# CONFIG_NETDEV_1000 is not set
83# CONFIG_NETDEV_10000 is not set
84CONFIG_LIBERTAS=y
85CONFIG_LIBERTAS_SDIO=y
86# CONFIG_INPUT_MOUSEDEV is not set
87CONFIG_INPUT_EVDEV=y
88# CONFIG_INPUT_KEYBOARD is not set
89# CONFIG_INPUT_MOUSE is not set
90# CONFIG_SERIO is not set
91CONFIG_SERIAL_8250=y
92CONFIG_SERIAL_8250_CONSOLE=y
93CONFIG_SERIAL_8250_NR_UARTS=32
94CONFIG_SERIAL_8250_EXTENDED=y
95CONFIG_SERIAL_8250_MANY_PORTS=y
96CONFIG_SERIAL_8250_SHARE_IRQ=y
97CONFIG_SERIAL_8250_DETECT_IRQ=y
98CONFIG_SERIAL_8250_RSA=y
99# CONFIG_LEGACY_PTYS is not set
100CONFIG_HW_RANDOM=y
101CONFIG_I2C=y
102CONFIG_I2C_CHARDEV=y
103CONFIG_I2C_OMAP=y
104CONFIG_SPI=y
105CONFIG_SPI_OMAP24XX=y
106CONFIG_GPIO_SYSFS=y
107CONFIG_GPIO_TWL4030=y
108CONFIG_POWER_SUPPLY=y
109# CONFIG_HWMON is not set
110CONFIG_SSB=m
111CONFIG_TWL4030_CORE=y
112CONFIG_REGULATOR=y
113CONFIG_REGULATOR_TWL4030=y
114CONFIG_FB=y
115CONFIG_FB_MODE_HELPERS=y
116CONFIG_OMAP2_DSS=y
117CONFIG_OMAP2_VRAM_SIZE=14
118# CONFIG_OMAP2_DSS_DEBUG_SUPPORT is not set
119# CONFIG_OMAP2_DSS_VENC is not set
120CONFIG_OMAP2_DSS_DSI=y
121CONFIG_OMAP2_DSS_USE_DSI_PLL=y
122CONFIG_FB_OMAP2=y
123# CONFIG_FB_OMAP2_DEBUG_SUPPORT is not set
124CONFIG_PANEL_GENERIC=y
125CONFIG_DISPLAY_SUPPORT=y
126# CONFIG_VGA_CONSOLE is not set
127CONFIG_FRAMEBUFFER_CONSOLE=y
128CONFIG_LOGO=y
129# CONFIG_LOGO_LINUX_MONO is not set
130# CONFIG_LOGO_LINUX_VGA16 is not set
131CONFIG_SOUND=y
132CONFIG_SND=y
133# CONFIG_SND_SUPPORT_OLD_API is not set
134# CONFIG_SND_VERBOSE_PROCFS is not set
135CONFIG_SND_SOC=y
136CONFIG_SND_OMAP_SOC=y
137CONFIG_SND_OMAP_SOC_IGEP0020=y
138# CONFIG_HID_SUPPORT is not set
139CONFIG_USB=y
140CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
141CONFIG_USB_EHCI_HCD=y
142CONFIG_USB_EHCI_ROOT_HUB_TT=y
143CONFIG_USB_OHCI_HCD=y
144CONFIG_MMC=y
145CONFIG_MMC_DEBUG=y
146CONFIG_MMC_SDHCI=y
147CONFIG_MMC_OMAP_HS=y
148CONFIG_EXT2_FS=y
149CONFIG_EXT3_FS=y
150# CONFIG_EXT3_FS_XATTR is not set
151CONFIG_INOTIFY=y
152CONFIG_QUOTA=y
153CONFIG_QFMT_V2=y
154CONFIG_MSDOS_FS=y
155CONFIG_VFAT_FS=y
156CONFIG_TMPFS=y
157CONFIG_NFS_FS=y
158CONFIG_NFS_V3=y
159CONFIG_NFS_V3_ACL=y
160CONFIG_NFS_V4=y
161CONFIG_ROOT_NFS=y
162CONFIG_PARTITION_ADVANCED=y
163CONFIG_NLS_CODEPAGE_437=y
164CONFIG_NLS_ISO8859_1=y
165CONFIG_PRINTK_TIME=y
166CONFIG_MAGIC_SYSRQ=y
167CONFIG_DEBUG_KERNEL=y
168CONFIG_DEBUG_MUTEXES=y
169# CONFIG_DEBUG_BUGVERBOSE is not set
170CONFIG_DEBUG_INFO=y
171# CONFIG_RCU_CPU_STALL_DETECTOR is not set
172CONFIG_DEBUG_LL=y
173CONFIG_CRYPTO_PCBC=m
174CONFIG_CRYPTO_MICHAEL_MIC=m
175# CONFIG_CRYPTO_ANSI_CPRNG is not set
176CONFIG_CRC_CCITT=y
177CONFIG_CRC_T10DIF=y
178CONFIG_CRC_ITU_T=m
179CONFIG_LIBCRC32C=y
arch/arm/configs/kirkwood_defconfig+8−0
@@ -13,11 +13,19 @@ CONFIG_MACH_RD88F6192_NAS=y · 12 unmodified lines
13CONFIG_MACH_RD88F6281=y13CONFIG_MACH_RD88F6281=y
14CONFIG_MACH_MV88F6281GTW_GE=y14CONFIG_MACH_MV88F6281GTW_GE=y
15CONFIG_MACH_SHEEVAPLUG=y15CONFIG_MACH_SHEEVAPLUG=y
16CONFIG_MACH_ESATA_SHEEVAPLUG=y
17CONFIG_MACH_GURUPLUG=y
16CONFIG_MACH_TS219=y18CONFIG_MACH_TS219=y
17CONFIG_MACH_TS41X=y19CONFIG_MACH_TS41X=y
18CONFIG_MACH_OPENRD_BASE=y20CONFIG_MACH_OPENRD_BASE=y
19CONFIG_MACH_OPENRD_CLIENT=y21CONFIG_MACH_OPENRD_CLIENT=y
22CONFIG_MACH_OPENRD_ULTIMATE=y
20CONFIG_MACH_NETSPACE_V2=y23CONFIG_MACH_NETSPACE_V2=y
24CONFIG_MACH_INETSPACE_V2=y
25CONFIG_MACH_NETSPACE_MAX_V2=y
26CONFIG_MACH_NET2BIG_V2=y
27CONFIG_MACH_NET5BIG_V2=y
28CONFIG_MACH_T5325=y
21# CONFIG_CPU_FEROCEON_OLD_ID is not set29# CONFIG_CPU_FEROCEON_OLD_ID is not set
22CONFIG_NO_HZ=y30CONFIG_NO_HZ=y
23CONFIG_HIGH_RES_TIMERS=y31CONFIG_HIGH_RES_TIMERS=y
arch/arm/configs/lusl7200_defconfig+0−23
@@ -1,23 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_LOG_BUF_SHIFT=14
5CONFIG_BLK_DEV_INITRD=y
6CONFIG_EMBEDDED=y
7# CONFIG_HOTPLUG is not set
8CONFIG_MODULES=y
9CONFIG_ARCH_L7200=y
10# CONFIG_ARM_THUMB is not set
11CONFIG_ZBOOT_ROM_TEXT=0x00010000
12CONFIG_ZBOOT_ROM_BSS=0xf03e0000
13CONFIG_ZBOOT_ROM=y
14CONFIG_CMDLINE="console=tty0 console=ttyLU1,115200 root=/dev/ram initrd=0xf1000000,0x005dac7b mem=32M"
15CONFIG_BINFMT_AOUT=y
16CONFIG_BLK_DEV_RAM=y
17# CONFIG_INPUT is not set
18# CONFIG_SERIO_SERPORT is not set
19# CONFIG_VT is not set
20CONFIG_SERIAL_NONSTANDARD=y
21CONFIG_EXT2_FS=y
22CONFIG_DEBUG_USER=y
23# CONFIG_CRC32 is not set
arch/arm/configs/omap3_beagle_defconfig+0−134
@@ -1,134 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_LOG_BUF_SHIFT=14
5CONFIG_BLK_DEV_INITRD=y
6CONFIG_EMBEDDED=y
7# CONFIG_SYSCTL_SYSCALL is not set
8CONFIG_KALLSYMS_EXTRA_PASS=y
9CONFIG_SLAB=y
10CONFIG_MODULES=y
11CONFIG_MODULE_UNLOAD=y
12CONFIG_MODVERSIONS=y
13CONFIG_MODULE_SRCVERSION_ALL=y
14# CONFIG_BLK_DEV_BSG is not set
15CONFIG_ARCH_OMAP=y
16CONFIG_ARCH_OMAP3=y
17# CONFIG_OMAP_MUX is not set
18# CONFIG_OMAP_MCBSP is not set
19CONFIG_OMAP_32K_TIMER=y
20CONFIG_OMAP_DM_TIMER=y
21CONFIG_ARCH_OMAP3430=y
22CONFIG_MACH_OMAP3_BEAGLE=y
23CONFIG_NO_HZ=y
24CONFIG_HIGH_RES_TIMERS=y
25CONFIG_AEABI=y
26CONFIG_ZBOOT_ROM_TEXT=0x0
27CONFIG_ZBOOT_ROM_BSS=0x0
28CONFIG_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"
29CONFIG_FPE_NWFPE=y
30CONFIG_VFP=y
31CONFIG_BINFMT_MISC=y
32CONFIG_PM=y
33CONFIG_PM_RUNTIME=y
34CONFIG_NET=y
35CONFIG_PACKET=y
36CONFIG_UNIX=y
37CONFIG_NET_KEY=y
38CONFIG_INET=y
39CONFIG_IP_PNP=y
40CONFIG_IP_PNP_DHCP=y
41CONFIG_IP_PNP_BOOTP=y
42CONFIG_IP_PNP_RARP=y
43# CONFIG_INET_LRO is not set
44# CONFIG_IPV6 is not set
45CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
46# CONFIG_FW_LOADER is not set
47CONFIG_MTD=y
48CONFIG_MTD_PARTITIONS=y
49CONFIG_MTD_CHAR=y
50CONFIG_MTD_BLOCK=y
51CONFIG_MTD_NAND=y
52CONFIG_BLK_DEV_LOOP=y
53CONFIG_BLK_DEV_RAM=y
54CONFIG_BLK_DEV_RAM_SIZE=16384
55# CONFIG_MISC_DEVICES is not set
56CONFIG_SCSI=y
57CONFIG_BLK_DEV_SD=y
58CONFIG_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
65CONFIG_SERIAL_8250=y
66CONFIG_SERIAL_8250_CONSOLE=y
67CONFIG_SERIAL_8250_NR_UARTS=32
68CONFIG_SERIAL_8250_EXTENDED=y
69CONFIG_SERIAL_8250_MANY_PORTS=y
70CONFIG_SERIAL_8250_SHARE_IRQ=y
71CONFIG_SERIAL_8250_DETECT_IRQ=y
72CONFIG_SERIAL_8250_RSA=y
73# CONFIG_LEGACY_PTYS is not set
74CONFIG_HW_RANDOM=y
75CONFIG_I2C=y
76CONFIG_I2C_CHARDEV=y
77CONFIG_I2C_OMAP=y
78CONFIG_GPIO_TWL4030=y
79# CONFIG_HWMON is not set
80CONFIG_TWL4030_CORE=y
81CONFIG_REGULATOR=y
82CONFIG_REGULATOR_TWL4030=y
83CONFIG_FB=y
84CONFIG_FB_OMAP=y
85# CONFIG_VGA_CONSOLE is not set
86CONFIG_FRAMEBUFFER_CONSOLE=y
87CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
88CONFIG_FONTS=y
89CONFIG_FONT_8x8=y
90CONFIG_FONT_8x16=y
91# CONFIG_HID_SUPPORT is not set
92CONFIG_USB=y
93CONFIG_USB_DEVICEFS=y
94CONFIG_USB_SUSPEND=y
95# CONFIG_USB_OTG_WHITELIST is not set
96CONFIG_USB_MON=y
97CONFIG_USB_EHCI_HCD=y
98CONFIG_USB_EHCI_ROOT_HUB_TT=y
99CONFIG_USB_MUSB_HDRC=y
100CONFIG_USB_MUSB_OTG=y
101CONFIG_USB_GADGET_MUSB_HDRC=y
102CONFIG_USB_GADGET=y
103CONFIG_USB_ETH=m
104CONFIG_TWL4030_USB=y
105CONFIG_MMC=y
106CONFIG_MMC_OMAP_HS=y
107CONFIG_RTC_CLASS=y
108CONFIG_EXT2_FS=y
109CONFIG_EXT3_FS=y
110# CONFIG_EXT3_FS_XATTR is not set
111CONFIG_INOTIFY=y
112CONFIG_QUOTA=y
113CONFIG_QFMT_V2=y
114CONFIG_MSDOS_FS=y
115CONFIG_VFAT_FS=y
116CONFIG_TMPFS=y
117CONFIG_JFFS2_FS=y
118CONFIG_NFS_FS=y
119CONFIG_NFS_V3=y
120CONFIG_NFS_V4=y
121CONFIG_ROOT_NFS=y
122CONFIG_PARTITION_ADVANCED=y
123CONFIG_NLS_CODEPAGE_437=y
124CONFIG_NLS_ISO8859_1=y
125CONFIG_MAGIC_SYSRQ=y
126CONFIG_DEBUG_KERNEL=y
127CONFIG_DEBUG_MUTEXES=y
128# CONFIG_DEBUG_BUGVERBOSE is not set
129CONFIG_DEBUG_INFO=y
130# CONFIG_FTRACE is not set
131CONFIG_CRYPTO_ECB=m
132CONFIG_CRYPTO_PCBC=m
133CONFIG_CRC_CCITT=y
134CONFIG_LIBCRC32C=y
arch/arm/configs/omap3_evm_defconfig+0−160
@@ -1,160 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_LOG_BUF_SHIFT=14
5CONFIG_BLK_DEV_INITRD=y
6CONFIG_EMBEDDED=y
7# CONFIG_SYSCTL_SYSCALL is not set
8CONFIG_KALLSYMS_EXTRA_PASS=y
9CONFIG_SLAB=y
10CONFIG_MODULES=y
11CONFIG_MODULE_UNLOAD=y
12CONFIG_MODVERSIONS=y
13CONFIG_MODULE_SRCVERSION_ALL=y
14# CONFIG_BLK_DEV_BSG is not set
15CONFIG_ARCH_OMAP=y
16CONFIG_ARCH_OMAP3=y
17CONFIG_OMAP_RESET_CLOCKS=y
18# CONFIG_OMAP_MCBSP is not set
19CONFIG_OMAP_32K_TIMER=y
20CONFIG_OMAP_DM_TIMER=y
21CONFIG_ARCH_OMAP3430=y
22CONFIG_MACH_OMAP3EVM=y
23CONFIG_NO_HZ=y
24CONFIG_HIGH_RES_TIMERS=y
25CONFIG_AEABI=y
26CONFIG_ZBOOT_ROM_TEXT=0x0
27CONFIG_ZBOOT_ROM_BSS=0x0
28CONFIG_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"
29CONFIG_FPE_NWFPE=y
30CONFIG_VFP=y
31CONFIG_NEON=y
32CONFIG_BINFMT_MISC=y
33CONFIG_PM=y
34CONFIG_PM_DEBUG=y
35CONFIG_PM_RUNTIME=y
36CONFIG_NET=y
37CONFIG_PACKET=y
38CONFIG_UNIX=y
39CONFIG_NET_KEY=y
40CONFIG_INET=y
41CONFIG_IP_PNP=y
42CONFIG_IP_PNP_DHCP=y
43CONFIG_IP_PNP_BOOTP=y
44CONFIG_IP_PNP_RARP=y
45# CONFIG_INET_LRO is not set
46# CONFIG_IPV6 is not set
47CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
48# CONFIG_FW_LOADER is not set
49CONFIG_MTD=y
50CONFIG_MTD_CONCAT=y
51CONFIG_MTD_CMDLINE_PARTS=y
52CONFIG_MTD_CHAR=y
53CONFIG_MTD_BLOCK=y
54CONFIG_MTD_CFI=y
55CONFIG_MTD_CFI_INTELEXT=y
56CONFIG_MTD_NAND=y
57CONFIG_MTD_ONENAND=y
58CONFIG_MTD_ONENAND_VERIFY_WRITE=y
59CONFIG_MTD_ONENAND_OMAP2=y
60CONFIG_BLK_DEV_LOOP=y
61CONFIG_BLK_DEV_RAM=y
62CONFIG_BLK_DEV_RAM_SIZE=16384
63# CONFIG_MISC_DEVICES is not set
64CONFIG_SCSI=y
65CONFIG_BLK_DEV_SD=y
66CONFIG_NETDEVICES=y
67CONFIG_NET_ETHERNET=y
68CONFIG_SMSC911X=y
69# CONFIG_NETDEV_1000 is not set
70# CONFIG_NETDEV_10000 is not set
71# CONFIG_INPUT_MOUSEDEV is not set
72CONFIG_INPUT_EVDEV=y
73# CONFIG_KEYBOARD_ATKBD is not set
74CONFIG_KEYBOARD_TWL4030=y
75# CONFIG_INPUT_MOUSE is not set
76CONFIG_INPUT_TOUCHSCREEN=y
77CONFIG_TOUCHSCREEN_ADS7846=y
78# CONFIG_SERIO is not set
79CONFIG_SERIAL_8250=y
80CONFIG_SERIAL_8250_CONSOLE=y
81CONFIG_SERIAL_8250_NR_UARTS=32
82CONFIG_SERIAL_8250_EXTENDED=y
83CONFIG_SERIAL_8250_MANY_PORTS=y
84CONFIG_SERIAL_8250_SHARE_IRQ=y
85CONFIG_SERIAL_8250_DETECT_IRQ=y
86CONFIG_SERIAL_8250_RSA=y
87# CONFIG_LEGACY_PTYS is not set
88CONFIG_HW_RANDOM=y
89CONFIG_I2C=y
90CONFIG_I2C_CHARDEV=y
91CONFIG_I2C_OMAP=y
92CONFIG_SPI=y
93CONFIG_SPI_OMAP24XX=y
94CONFIG_GPIO_TWL4030=y
95# CONFIG_HWMON is not set
96CONFIG_WATCHDOG=y
97CONFIG_WATCHDOG_NOWAYOUT=y
98CONFIG_OMAP_WATCHDOG=y
99CONFIG_TWL4030_CORE=y
100CONFIG_REGULATOR=y
101CONFIG_REGULATOR_TWL4030=y
102CONFIG_VIDEO_OUTPUT_CONTROL=m
103CONFIG_FB=y
104CONFIG_OMAP2_DSS=y
105CONFIG_OMAP2_VRAM_SIZE=4
106# CONFIG_OMAP2_DSS_DEBUG_SUPPORT is not set
107CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=4
108CONFIG_FB_OMAP2=y
109# CONFIG_FB_OMAP2_DEBUG_SUPPORT is not set
110CONFIG_PANEL_GENERIC=y
111CONFIG_PANEL_SHARP_LS037V7DW01=y
112# CONFIG_VGA_CONSOLE is not set
113CONFIG_USB=y
114CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
115CONFIG_USB_DEVICEFS=y
116# CONFIG_USB_DEVICE_CLASS is not set
117CONFIG_USB_SUSPEND=y
118# CONFIG_USB_OTG_WHITELIST is not set
119CONFIG_USB_MON=y
120CONFIG_USB_MUSB_HDRC=y
121CONFIG_USB_MUSB_OTG=y
122CONFIG_USB_GADGET_MUSB_HDRC=y
123CONFIG_USB_STORAGE=y
124CONFIG_USB_TEST=y
125CONFIG_USB_GADGET=y
126CONFIG_USB_ZERO=m
127CONFIG_MMC=y
128CONFIG_MMC_OMAP_HS=y
129CONFIG_EXT2_FS=y
130CONFIG_EXT3_FS=y
131# CONFIG_EXT3_FS_XATTR is not set
132CONFIG_INOTIFY=y
133CONFIG_QUOTA=y
134CONFIG_QFMT_V2=y
135CONFIG_MSDOS_FS=y
136CONFIG_VFAT_FS=y
137CONFIG_TMPFS=y
138CONFIG_JFFS2_FS=y
139CONFIG_JFFS2_COMPRESSION_OPTIONS=y
140CONFIG_NFS_FS=y
141CONFIG_NFS_V3=y
142CONFIG_NFS_V4=y
143CONFIG_ROOT_NFS=y
144CONFIG_PARTITION_ADVANCED=y
145CONFIG_NLS_CODEPAGE_437=y
146CONFIG_NLS_ISO8859_1=y
147CONFIG_MAGIC_SYSRQ=y
148CONFIG_DEBUG_FS=y
149CONFIG_DEBUG_KERNEL=y
150# CONFIG_SCHED_DEBUG is not set
151CONFIG_DEBUG_MUTEXES=y
152# CONFIG_DEBUG_BUGVERBOSE is not set
153CONFIG_DEBUG_INFO=y
154# CONFIG_RCU_CPU_STALL_DETECTOR is not set
155CONFIG_DEBUG_LL=y
156CONFIG_CRYPTO_ECB=m
157CONFIG_CRYPTO_PCBC=m
158# CONFIG_CRYPTO_ANSI_CPRNG is not set
159CONFIG_CRC_CCITT=y
160CONFIG_LIBCRC32C=y
arch/arm/configs/omap3_pandora_defconfig+0−158
@@ -1,158 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_IKCONFIG=y
5CONFIG_IKCONFIG_PROC=y
6CONFIG_LOG_BUF_SHIFT=14
7CONFIG_BLK_DEV_INITRD=y
8CONFIG_EMBEDDED=y
9# CONFIG_SYSCTL_SYSCALL is not set
10CONFIG_KALLSYMS_EXTRA_PASS=y
11CONFIG_SLAB=y
12CONFIG_MODULES=y
13CONFIG_MODULE_UNLOAD=y
14CONFIG_MODVERSIONS=y
15CONFIG_MODULE_SRCVERSION_ALL=y
16# CONFIG_BLK_DEV_BSG is not set
17CONFIG_ARCH_OMAP=y
18CONFIG_ARCH_OMAP3=y
19# CONFIG_OMAP_MUX is not set
20CONFIG_OMAP_32K_TIMER=y
21CONFIG_OMAP_DM_TIMER=y
22CONFIG_ARCH_OMAP3430=y
23CONFIG_MACH_OMAP3_PANDORA=y
24CONFIG_ARM_THUMBEE=y
25CONFIG_NO_HZ=y
26CONFIG_HIGH_RES_TIMERS=y
27CONFIG_PREEMPT_VOLUNTARY=y
28CONFIG_AEABI=y
29CONFIG_ZBOOT_ROM_TEXT=0x0
30CONFIG_ZBOOT_ROM_BSS=0x0
31CONFIG_CMDLINE=" debug "
32CONFIG_FPE_NWFPE=y
33CONFIG_VFP=y
34CONFIG_NEON=y
35CONFIG_BINFMT_MISC=y
36CONFIG_NET=y
37CONFIG_PACKET=y
38CONFIG_UNIX=y
39CONFIG_NET_KEY=y
40CONFIG_INET=y
41CONFIG_IP_PNP=y
42CONFIG_IP_PNP_DHCP=y
43CONFIG_IP_PNP_BOOTP=y
44CONFIG_IP_PNP_RARP=y
45# CONFIG_INET_LRO is not set
46# CONFIG_IPV6 is not set
47CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
48CONFIG_DEVTMPFS=y
49CONFIG_DEVTMPFS_MOUNT=y
50# CONFIG_FW_LOADER is not set
51CONFIG_MTD=y
52CONFIG_MTD_PARTITIONS=y
53CONFIG_MTD_CHAR=y
54CONFIG_MTD_BLOCK=y
55CONFIG_MTD_NAND=y
56CONFIG_MTD_NAND_OMAP2=y
57CONFIG_BLK_DEV_LOOP=y
58CONFIG_BLK_DEV_RAM=y
59CONFIG_BLK_DEV_RAM_SIZE=16384
60CONFIG_SCSI=y
61CONFIG_BLK_DEV_SD=y
62CONFIG_NETDEVICES=y
63# CONFIG_NETDEV_1000 is not set
64# CONFIG_NETDEV_10000 is not set
65CONFIG_INPUT_MOUSEDEV_SCREEN_X=800
66CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
67CONFIG_INPUT_JOYDEV=y
68CONFIG_INPUT_EVDEV=y
69# CONFIG_KEYBOARD_ATKBD is not set
70CONFIG_KEYBOARD_GPIO=y
71CONFIG_KEYBOARD_TWL4030=y
72# CONFIG_MOUSE_PS2 is not set
73CONFIG_INPUT_TOUCHSCREEN=y
74CONFIG_TOUCHSCREEN_ADS7846=y
75CONFIG_INPUT_MISC=y
76CONFIG_INPUT_TWL4030_PWRBUTTON=y
77# CONFIG_SERIO is not set
78CONFIG_SERIAL_8250=y
79CONFIG_SERIAL_8250_CONSOLE=y
80CONFIG_SERIAL_8250_NR_UARTS=32
81CONFIG_SERIAL_8250_EXTENDED=y
82CONFIG_SERIAL_8250_MANY_PORTS=y
83CONFIG_SERIAL_8250_SHARE_IRQ=y
84CONFIG_SERIAL_8250_DETECT_IRQ=y
85CONFIG_SERIAL_8250_RSA=y
86# CONFIG_LEGACY_PTYS is not set
87CONFIG_HW_RANDOM=y
88CONFIG_I2C=y
89CONFIG_I2C_CHARDEV=y
90CONFIG_I2C_OMAP=y
91CONFIG_SPI=y
92CONFIG_SPI_OMAP24XX=y
93CONFIG_GPIO_TWL4030=y
94# CONFIG_HWMON is not set
95CONFIG_TWL4030_CORE=y
96CONFIG_TWL4030_POWER=y
97CONFIG_REGULATOR=y
98CONFIG_REGULATOR_DEBUG=y
99CONFIG_REGULATOR_TWL4030=y
100CONFIG_VIDEO_OUTPUT_CONTROL=y
101CONFIG_FB=y
102CONFIG_OMAP2_DSS=y
103CONFIG_FB_OMAP2=y
104CONFIG_PANEL_TPO_TD043MTEA1=y
105CONFIG_BACKLIGHT_LCD_SUPPORT=y
106# CONFIG_LCD_CLASS_DEVICE is not set
107CONFIG_BACKLIGHT_CLASS_DEVICE=y
108# CONFIG_VGA_CONSOLE is not set
109CONFIG_FRAMEBUFFER_CONSOLE=y
110CONFIG_LOGO=y
111CONFIG_SOUND=y
112CONFIG_SND=y
113CONFIG_SND_MIXER_OSS=y
114CONFIG_SND_PCM_OSS=y
115CONFIG_SND_VERBOSE_PRINTK=y
116CONFIG_SND_SOC=y
117CONFIG_SND_OMAP_SOC=y
118CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=y
119CONFIG_USB=y
120CONFIG_USB_DEVICEFS=y
121CONFIG_USB_EHCI_HCD=y
122CONFIG_USB_MUSB_HDRC=y
123CONFIG_USB_MUSB_PERIPHERAL=y
124CONFIG_USB_GADGET_MUSB_HDRC=y
125CONFIG_USB_GADGET=y
126CONFIG_USB_ETH=m
127CONFIG_TWL4030_USB=y
128CONFIG_MMC=y
129CONFIG_MMC_OMAP_HS=y
130CONFIG_NEW_LEDS=y
131CONFIG_LEDS_CLASS=y
132CONFIG_LEDS_GPIO=y
133CONFIG_LEDS_TRIGGERS=y
134CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
135CONFIG_RTC_CLASS=y
136CONFIG_RTC_DRV_TWL4030=y
137CONFIG_EXT2_FS=y
138CONFIG_EXT3_FS=y
139# CONFIG_EXT3_FS_XATTR is not set
140CONFIG_QUOTA=y
141CONFIG_QFMT_V2=y
142CONFIG_MSDOS_FS=y
143CONFIG_VFAT_FS=y
144CONFIG_TMPFS=y
145CONFIG_CIFS=y
146CONFIG_PARTITION_ADVANCED=y
147CONFIG_NLS_CODEPAGE_437=y
148CONFIG_NLS_ISO8859_1=y
149CONFIG_MAGIC_SYSRQ=y
150CONFIG_DEBUG_KERNEL=y
151CONFIG_DEBUG_MUTEXES=y
152# CONFIG_DEBUG_BUGVERBOSE is not set
153CONFIG_DEBUG_INFO=y
154# CONFIG_RCU_CPU_STALL_DETECTOR is not set
155CONFIG_CRYPTO_CRC32C=y
156# CONFIG_CRYPTO_ANSI_CPRNG is not set
157# CONFIG_CRYPTO_HW is not set
158CONFIG_CRC_CCITT=y
arch/arm/configs/omap3_stalker_lks_defconfig+0−150
@@ -1,150 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_LOG_BUF_SHIFT=14
5CONFIG_BLK_DEV_INITRD=y
6CONFIG_EMBEDDED=y
7# CONFIG_SYSCTL_SYSCALL is not set
8CONFIG_KALLSYMS_EXTRA_PASS=y
9CONFIG_SLAB=y
10CONFIG_MODULES=y
11CONFIG_MODULE_UNLOAD=y
12CONFIG_MODVERSIONS=y
13CONFIG_MODULE_SRCVERSION_ALL=y
14# CONFIG_BLK_DEV_BSG is not set
15CONFIG_ARCH_OMAP=y
16CONFIG_ARCH_OMAP3=y
17CONFIG_OMAP_RESET_CLOCKS=y
18# CONFIG_OMAP_MCBSP is not set
19CONFIG_OMAP_32K_TIMER=y
20CONFIG_OMAP_DM_TIMER=y
21CONFIG_ARCH_OMAP3430=y
22CONFIG_MACH_SBC3530=y
23CONFIG_NO_HZ=y
24CONFIG_HIGH_RES_TIMERS=y
25CONFIG_AEABI=y
26CONFIG_ZBOOT_ROM_TEXT=0x0
27CONFIG_ZBOOT_ROM_BSS=0x0
28CONFIG_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"
29CONFIG_FPE_NWFPE=y
30CONFIG_VFP=y
31CONFIG_NEON=y
32CONFIG_BINFMT_MISC=y
33CONFIG_PM=y
34CONFIG_PM_DEBUG=y
35CONFIG_NET=y
36CONFIG_PACKET=y
37CONFIG_UNIX=y
38CONFIG_NET_KEY=y
39CONFIG_INET=y
40CONFIG_IP_PNP=y
41CONFIG_IP_PNP_DHCP=y
42CONFIG_IP_PNP_BOOTP=y
43CONFIG_IP_PNP_RARP=y
44# CONFIG_INET_LRO is not set
45# CONFIG_IPV6 is not set
46CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
47# CONFIG_FW_LOADER is not set
48CONFIG_MTD=y
49CONFIG_MTD_CONCAT=y
50CONFIG_MTD_CMDLINE_PARTS=y
51CONFIG_MTD_CHAR=y
52CONFIG_MTD_BLOCK=y
53CONFIG_MTD_CFI=y
54CONFIG_MTD_CFI_INTELEXT=y
55CONFIG_MTD_NAND=y
56CONFIG_MTD_ONENAND=y
57CONFIG_MTD_ONENAND_VERIFY_WRITE=y
58CONFIG_MTD_ONENAND_OMAP2=y
59CONFIG_BLK_DEV_LOOP=y
60CONFIG_BLK_DEV_RAM=y
61CONFIG_BLK_DEV_RAM_SIZE=16384
62# CONFIG_MISC_DEVICES is not set
63CONFIG_SCSI=y
64CONFIG_BLK_DEV_SD=y
65CONFIG_NETDEVICES=y
66CONFIG_NET_ETHERNET=y
67CONFIG_SMSC911X=y
68# CONFIG_NETDEV_1000 is not set
69# CONFIG_NETDEV_10000 is not set
70# CONFIG_INPUT_MOUSEDEV is not set
71CONFIG_INPUT_EVDEV=y
72# CONFIG_KEYBOARD_ATKBD is not set
73CONFIG_KEYBOARD_TWL4030=y
74# CONFIG_INPUT_MOUSE is not set
75CONFIG_INPUT_TOUCHSCREEN=y
76CONFIG_TOUCHSCREEN_ADS7846=y
77# CONFIG_SERIO is not set
78CONFIG_SERIAL_8250=y
79CONFIG_SERIAL_8250_CONSOLE=y
80CONFIG_SERIAL_8250_NR_UARTS=32
81CONFIG_SERIAL_8250_EXTENDED=y
82CONFIG_SERIAL_8250_MANY_PORTS=y
83CONFIG_SERIAL_8250_SHARE_IRQ=y
84CONFIG_SERIAL_8250_DETECT_IRQ=y
85CONFIG_SERIAL_8250_RSA=y
86# CONFIG_LEGACY_PTYS is not set
87CONFIG_HW_RANDOM=y
88CONFIG_I2C=y
89CONFIG_I2C_CHARDEV=y
90CONFIG_I2C_OMAP=y
91CONFIG_SPI=y
92CONFIG_SPI_OMAP24XX=y
93CONFIG_GPIO_TWL4030=y
94# CONFIG_HWMON is not set
95CONFIG_WATCHDOG=y
96CONFIG_WATCHDOG_NOWAYOUT=y
97CONFIG_OMAP_WATCHDOG=y
98CONFIG_TWL4030_CORE=y
99CONFIG_REGULATOR=y
100CONFIG_REGULATOR_TWL4030=y
101CONFIG_VIDEO_OUTPUT_CONTROL=m
102# CONFIG_VGA_CONSOLE is not set
103CONFIG_USB=y
104CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
105CONFIG_USB_DEVICEFS=y
106# CONFIG_USB_DEVICE_CLASS is not set
107# CONFIG_USB_OTG_WHITELIST is not set
108CONFIG_USB_MON=y
109CONFIG_USB_MUSB_HDRC=y
110CONFIG_USB_MUSB_OTG=y
111CONFIG_USB_GADGET_MUSB_HDRC=y
112CONFIG_USB_STORAGE=y
113CONFIG_USB_TEST=y
114CONFIG_USB_GADGET=y
115CONFIG_USB_ZERO=m
116CONFIG_TWL4030_USB=y
117CONFIG_MMC=y
118CONFIG_MMC_OMAP_HS=y
119CONFIG_EXT2_FS=y
120CONFIG_EXT3_FS=y
121# CONFIG_EXT3_FS_XATTR is not set
122CONFIG_INOTIFY=y
123CONFIG_QUOTA=y
124CONFIG_QFMT_V2=y
125CONFIG_MSDOS_FS=y
126CONFIG_VFAT_FS=y
127CONFIG_TMPFS=y
128CONFIG_JFFS2_FS=y
129CONFIG_JFFS2_COMPRESSION_OPTIONS=y
130CONFIG_NFS_FS=y
131CONFIG_NFS_V3=y
132CONFIG_NFS_V4=y
133CONFIG_ROOT_NFS=y
134CONFIG_PARTITION_ADVANCED=y
135CONFIG_NLS_CODEPAGE_437=y
136CONFIG_NLS_ISO8859_1=y
137CONFIG_MAGIC_SYSRQ=y
138CONFIG_DEBUG_FS=y
139CONFIG_DEBUG_KERNEL=y
140# CONFIG_SCHED_DEBUG is not set
141CONFIG_DEBUG_MUTEXES=y
142# CONFIG_DEBUG_BUGVERBOSE is not set
143CONFIG_DEBUG_INFO=y
144# CONFIG_RCU_CPU_STALL_DETECTOR is not set
145CONFIG_DEBUG_LL=y
146CONFIG_CRYPTO_ECB=m
147CONFIG_CRYPTO_PCBC=m
148# CONFIG_CRYPTO_ANSI_CPRNG is not set
149CONFIG_CRC_CCITT=y
150CONFIG_LIBCRC32C=y
arch/arm/configs/omap3_touchbook_defconfig+0−621
@@ -1,621 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2# CONFIG_LOCALVERSION_AUTO is not set
3CONFIG_SYSVIPC=y
4CONFIG_BSD_PROCESS_ACCT=y
5CONFIG_TASKSTATS=y
6CONFIG_TASK_DELAY_ACCT=y
7CONFIG_TASK_XACCT=y
8CONFIG_TASK_IO_ACCOUNTING=y
9CONFIG_IKCONFIG=y
10CONFIG_IKCONFIG_PROC=y
11CONFIG_LOG_BUF_SHIFT=15
12CONFIG_BLK_DEV_INITRD=y
13CONFIG_EMBEDDED=y
14# CONFIG_SYSCTL_SYSCALL is not set
15# CONFIG_ELF_CORE is not set
16# CONFIG_COMPAT_BRK is not set
17CONFIG_SLAB=y
18CONFIG_PROFILING=y
19CONFIG_OPROFILE=y
20CONFIG_MODULES=y
21CONFIG_MODULE_FORCE_LOAD=y
22CONFIG_MODULE_UNLOAD=y
23CONFIG_MODULE_FORCE_UNLOAD=y
24CONFIG_MODVERSIONS=y
25CONFIG_MODULE_SRCVERSION_ALL=y
26# CONFIG_BLK_DEV_BSG is not set
27CONFIG_ARCH_OMAP=y
28CONFIG_ARCH_OMAP3=y
29CONFIG_OMAP_RESET_CLOCKS=y
30# CONFIG_OMAP_MUX is not set
31CONFIG_OMAP_32K_TIMER=y
32CONFIG_OMAP_DM_TIMER=y
33CONFIG_ARCH_OMAP3430=y
34CONFIG_MACH_OMAP3_TOUCHBOOK=y
35CONFIG_ARM_THUMBEE=y
36CONFIG_NO_HZ=y
37CONFIG_HIGH_RES_TIMERS=y
38CONFIG_PREEMPT=y
39CONFIG_AEABI=y
40# CONFIG_OABI_COMPAT is not set
41CONFIG_LEDS=y
42CONFIG_ZBOOT_ROM_TEXT=0x0
43CONFIG_ZBOOT_ROM_BSS=0x0
44CONFIG_CMDLINE=" debug "
45CONFIG_KEXEC=y
46CONFIG_VFP=y
47CONFIG_NEON=y
48CONFIG_BINFMT_AOUT=m
49CONFIG_BINFMT_MISC=y
50CONFIG_PM=y
51CONFIG_PM_DEBUG=y
52CONFIG_PM_RUNTIME=y
53CONFIG_NET=y
54CONFIG_PACKET=y
55CONFIG_UNIX=y
56CONFIG_NET_KEY=y
57CONFIG_INET=y
58CONFIG_IP_PNP=y
59CONFIG_IP_PNP_DHCP=y
60CONFIG_IP_PNP_BOOTP=y
61CONFIG_IP_PNP_RARP=y
62CONFIG_NET_IPIP=m
63CONFIG_NET_IPGRE=m
64CONFIG_INET_AH=m
65CONFIG_INET_ESP=m
66CONFIG_INET_IPCOMP=m
67CONFIG_INET_DIAG=m
68CONFIG_TCP_CONG_ADVANCED=y
69CONFIG_TCP_CONG_HSTCP=m
70CONFIG_TCP_CONG_HYBLA=m
71CONFIG_TCP_CONG_SCALABLE=m
72CONFIG_TCP_CONG_LP=m
73CONFIG_TCP_CONG_VENO=m
74CONFIG_TCP_CONG_YEAH=m
75CONFIG_TCP_CONG_ILLINOIS=m
76CONFIG_INET6_AH=m
77CONFIG_INET6_ESP=m
78CONFIG_INET6_IPCOMP=m
79CONFIG_IPV6_MIP6=m
80CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
81CONFIG_IPV6_TUNNEL=m
82CONFIG_IPV6_MULTIPLE_TABLES=y
83CONFIG_IPV6_SUBTREES=y
84CONFIG_IPV6_MROUTE=y
85CONFIG_NETFILTER=y
86CONFIG_NETFILTER_NETLINK_QUEUE=m
87CONFIG_NF_CONNTRACK=m
88CONFIG_NF_CONNTRACK_EVENTS=y
89CONFIG_NF_CT_PROTO_UDPLITE=m
90CONFIG_NF_CONNTRACK_AMANDA=m
91CONFIG_NF_CONNTRACK_FTP=m
92CONFIG_NF_CONNTRACK_H323=m
93CONFIG_NF_CONNTRACK_IRC=m
94CONFIG_NF_CONNTRACK_NETBIOS_NS=m
95CONFIG_NF_CONNTRACK_PPTP=m
96CONFIG_NF_CONNTRACK_SANE=m
97CONFIG_NF_CONNTRACK_SIP=m
98CONFIG_NF_CONNTRACK_TFTP=m
99CONFIG_NF_CT_NETLINK=m
100CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
101CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
102CONFIG_NETFILTER_XT_TARGET_MARK=m
103CONFIG_NETFILTER_XT_TARGET_NFLOG=m
104CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
105CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
106CONFIG_NETFILTER_XT_MATCH_COMMENT=m
107CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
108CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
109CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
110CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
111CONFIG_NETFILTER_XT_MATCH_DSCP=m
112CONFIG_NETFILTER_XT_MATCH_ESP=m
113CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
114CONFIG_NETFILTER_XT_MATCH_HELPER=m
115CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
116CONFIG_NETFILTER_XT_MATCH_LENGTH=m
117CONFIG_NETFILTER_XT_MATCH_LIMIT=m
118CONFIG_NETFILTER_XT_MATCH_MAC=m
119CONFIG_NETFILTER_XT_MATCH_MARK=m
120CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
121CONFIG_NETFILTER_XT_MATCH_OWNER=m
122CONFIG_NETFILTER_XT_MATCH_POLICY=m
123CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
124CONFIG_NETFILTER_XT_MATCH_QUOTA=m
125CONFIG_NETFILTER_XT_MATCH_RATEEST=m
126CONFIG_NETFILTER_XT_MATCH_REALM=m
127CONFIG_NETFILTER_XT_MATCH_RECENT=m
128CONFIG_NETFILTER_XT_MATCH_STATE=m
129CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
130CONFIG_NETFILTER_XT_MATCH_STRING=m
131CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
132CONFIG_NETFILTER_XT_MATCH_TIME=m
133CONFIG_NETFILTER_XT_MATCH_U32=m
134CONFIG_IP_VS=m
135CONFIG_IP_VS_IPV6=y
136CONFIG_IP_VS_DEBUG=y
137CONFIG_IP_VS_PROTO_TCP=y
138CONFIG_IP_VS_PROTO_UDP=y
139CONFIG_IP_VS_PROTO_ESP=y
140CONFIG_IP_VS_PROTO_AH=y
141CONFIG_IP_VS_RR=m
142CONFIG_IP_VS_WRR=m
143CONFIG_IP_VS_LC=m
144CONFIG_IP_VS_WLC=m
145CONFIG_IP_VS_LBLC=m
146CONFIG_IP_VS_LBLCR=m
147CONFIG_IP_VS_DH=m
148CONFIG_IP_VS_SH=m
149CONFIG_IP_VS_SED=m
150CONFIG_IP_VS_NQ=m
151CONFIG_IP_VS_FTP=m
152CONFIG_NF_CONNTRACK_IPV4=m
153CONFIG_IP_NF_QUEUE=m
154CONFIG_IP_NF_IPTABLES=m
155CONFIG_IP_NF_MATCH_ADDRTYPE=m
156CONFIG_IP_NF_MATCH_AH=m
157CONFIG_IP_NF_MATCH_ECN=m
158CONFIG_IP_NF_MATCH_TTL=m
159CONFIG_IP_NF_FILTER=m
160CONFIG_IP_NF_TARGET_REJECT=m
161CONFIG_IP_NF_TARGET_LOG=m
162CONFIG_IP_NF_TARGET_ULOG=m
163CONFIG_NF_NAT=m
164CONFIG_IP_NF_TARGET_MASQUERADE=m
165CONFIG_IP_NF_TARGET_NETMAP=m
166CONFIG_IP_NF_TARGET_REDIRECT=m
167CONFIG_NF_NAT_SNMP_BASIC=m
168CONFIG_IP_NF_MANGLE=m
169CONFIG_IP_NF_TARGET_CLUSTERIP=m
170CONFIG_IP_NF_TARGET_ECN=m
171CONFIG_IP_NF_TARGET_TTL=m
172CONFIG_IP_NF_RAW=m
173CONFIG_IP_NF_ARPTABLES=m
174CONFIG_IP_NF_ARPFILTER=m
175CONFIG_IP_NF_ARP_MANGLE=m
176CONFIG_NF_CONNTRACK_IPV6=m
177CONFIG_IP6_NF_QUEUE=m
178CONFIG_IP6_NF_IPTABLES=m
179CONFIG_IP6_NF_MATCH_AH=m
180CONFIG_IP6_NF_MATCH_EUI64=m
181CONFIG_IP6_NF_MATCH_FRAG=m
182CONFIG_IP6_NF_MATCH_OPTS=m
183CONFIG_IP6_NF_MATCH_HL=m
184CONFIG_IP6_NF_MATCH_IPV6HEADER=m
185CONFIG_IP6_NF_MATCH_MH=m
186CONFIG_IP6_NF_MATCH_RT=m
187CONFIG_IP6_NF_TARGET_HL=m
188CONFIG_IP6_NF_TARGET_LOG=m
189CONFIG_IP6_NF_FILTER=m
190CONFIG_IP6_NF_TARGET_REJECT=m
191CONFIG_IP6_NF_MANGLE=m
192CONFIG_IP6_NF_RAW=m
193CONFIG_IP_DCCP=m
194CONFIG_IP_SCTP=m
195CONFIG_TIPC=m
196CONFIG_ATM=m
197CONFIG_ATM_CLIP=m
198CONFIG_ATM_LANE=m
199CONFIG_ATM_MPOA=m
200CONFIG_ATM_BR2684=m
201CONFIG_BRIDGE=m
202CONFIG_VLAN_8021Q=m
203CONFIG_VLAN_8021Q_GVRP=y
204CONFIG_WAN_ROUTER=m
205CONFIG_NET_SCHED=y
206CONFIG_NET_SCH_CBQ=m
207CONFIG_NET_SCH_HTB=m
208CONFIG_NET_SCH_HFSC=m
209CONFIG_NET_SCH_ATM=m
210CONFIG_NET_SCH_PRIO=m
211CONFIG_NET_SCH_MULTIQ=m
212CONFIG_NET_SCH_RED=m
213CONFIG_NET_SCH_SFQ=m
214CONFIG_NET_SCH_TEQL=m
215CONFIG_NET_SCH_TBF=m
216CONFIG_NET_SCH_GRED=m
217CONFIG_NET_SCH_DSMARK=m
218CONFIG_NET_SCH_NETEM=m
219CONFIG_NET_SCH_DRR=m
220CONFIG_NET_CLS_BASIC=m
221CONFIG_NET_CLS_TCINDEX=m
222CONFIG_NET_CLS_ROUTE4=m
223CONFIG_NET_CLS_FW=m
224CONFIG_NET_CLS_U32=m
225CONFIG_CLS_U32_PERF=y
226CONFIG_CLS_U32_MARK=y
227CONFIG_NET_CLS_RSVP=m
228CONFIG_NET_CLS_RSVP6=m
229CONFIG_NET_CLS_FLOW=m
230CONFIG_NET_CLS_IND=y
231CONFIG_BT=y
232CONFIG_BT_L2CAP=y
233CONFIG_BT_SCO=y
234CONFIG_BT_RFCOMM=y
235CONFIG_BT_RFCOMM_TTY=y
236CONFIG_BT_BNEP=y
237CONFIG_BT_BNEP_MC_FILTER=y
238CONFIG_BT_BNEP_PROTO_FILTER=y
239CONFIG_BT_HIDP=y
240CONFIG_BT_HCIBTUSB=y
241CONFIG_BT_HCIBTSDIO=y
242CONFIG_BT_HCIUART=y
243CONFIG_BT_HCIUART_H4=y
244CONFIG_BT_HCIUART_BCSP=y
245CONFIG_BT_HCIUART_LL=y
246CONFIG_BT_HCIBCM203X=y
247CONFIG_BT_HCIBPA10X=y
248CONFIG_BT_HCIBFUSB=y
249CONFIG_AF_RXRPC=m
250CONFIG_CFG80211=m
251CONFIG_LIB80211=y
252CONFIG_MAC80211=m
253CONFIG_MAC80211_RC_PID=y
254# CONFIG_MAC80211_RC_MINSTREL is not set
255CONFIG_WIMAX=m
256CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
257CONFIG_MTD=y
258CONFIG_MTD_CONCAT=y
259CONFIG_MTD_PARTITIONS=y
260CONFIG_MTD_CHAR=y
261CONFIG_MTD_BLOCK=y
262CONFIG_MTD_NAND=y
263CONFIG_MTD_NAND_OMAP2=y
264CONFIG_MTD_NAND_PLATFORM=y
265CONFIG_MTD_UBI=y
266CONFIG_BLK_DEV_LOOP=y
267CONFIG_BLK_DEV_CRYPTOLOOP=m
268CONFIG_BLK_DEV_RAM=y
269CONFIG_BLK_DEV_RAM_SIZE=16384
270CONFIG_CDROM_PKTCDVD=m
271CONFIG_EEPROM_93CX6=y
272CONFIG_RAID_ATTRS=m
273CONFIG_SCSI=y
274CONFIG_BLK_DEV_SD=y
275CONFIG_BLK_DEV_SR=y
276CONFIG_BLK_DEV_SR_VENDOR=y
277CONFIG_CHR_DEV_SG=y
278CONFIG_CHR_DEV_SCH=m
279CONFIG_SCSI_MULTI_LUN=y
280CONFIG_ISCSI_TCP=m
281CONFIG_MD=y
282CONFIG_BLK_DEV_MD=m
283CONFIG_MD_LINEAR=m
284CONFIG_MD_RAID0=m
285CONFIG_MD_RAID1=m
286CONFIG_MD_RAID10=m
287CONFIG_MD_RAID456=m
288CONFIG_MD_MULTIPATH=m
289CONFIG_MD_FAULTY=m
290CONFIG_BLK_DEV_DM=m
291CONFIG_DM_CRYPT=m
292CONFIG_DM_SNAPSHOT=m
293CONFIG_DM_MIRROR=m
294CONFIG_DM_ZERO=m
295CONFIG_DM_MULTIPATH=m
296CONFIG_DM_DELAY=m
297CONFIG_NETDEVICES=y
298CONFIG_DUMMY=m
299CONFIG_BONDING=m
300CONFIG_MACVLAN=m
301CONFIG_EQUALIZER=m
302CONFIG_TUN=m
303CONFIG_VETH=m
304# CONFIG_NETDEV_1000 is not set
305# CONFIG_NETDEV_10000 is not set
306# CONFIG_ATM_DRIVERS is not set
307CONFIG_PPP=m
308CONFIG_PPP_MULTILINK=y
309CONFIG_PPP_FILTER=y
310CONFIG_PPP_ASYNC=m
311CONFIG_PPP_SYNC_TTY=m
312CONFIG_PPP_DEFLATE=m
313CONFIG_PPP_BSDCOMP=m
314CONFIG_PPP_MPPE=m
315CONFIG_PPPOE=m
316CONFIG_NETCONSOLE=m
317CONFIG_NETCONSOLE_DYNAMIC=y
318CONFIG_NETPOLL_TRAP=y
319CONFIG_INPUT_FF_MEMLESS=y
320CONFIG_INPUT_EVDEV=y
321# CONFIG_KEYBOARD_ATKBD is not set
322CONFIG_KEYBOARD_GPIO=y
323CONFIG_INPUT_TOUCHSCREEN=y
324CONFIG_TOUCHSCREEN_ADS7846=y
325CONFIG_INPUT_MISC=y
326CONFIG_INPUT_TWL4030_PWRBUTTON=y
327CONFIG_INPUT_UINPUT=y
328CONFIG_VT_HW_CONSOLE_BINDING=y
329CONFIG_SERIAL_8250=y
330CONFIG_SERIAL_8250_CONSOLE=y
331CONFIG_SERIAL_8250_NR_UARTS=32
332CONFIG_SERIAL_8250_EXTENDED=y
333CONFIG_SERIAL_8250_MANY_PORTS=y
334CONFIG_SERIAL_8250_SHARE_IRQ=y
335CONFIG_SERIAL_8250_DETECT_IRQ=y
336CONFIG_SERIAL_8250_RSA=y
337# CONFIG_LEGACY_PTYS is not set
338CONFIG_HW_RANDOM=y
339CONFIG_I2C=y
340CONFIG_I2C_CHARDEV=y
341CONFIG_I2C_OMAP=y
342CONFIG_SPI=y
343CONFIG_SPI_OMAP24XX=y
344CONFIG_SPI_SPIDEV=y
345CONFIG_GPIO_SYSFS=y
346CONFIG_GPIO_TWL4030=y
347CONFIG_POWER_SUPPLY=y
348CONFIG_BATTERY_BQ27x00=y
349CONFIG_THERMAL=y
350CONFIG_THERMAL_HWMON=y
351CONFIG_WATCHDOG=y
352CONFIG_WATCHDOG_NOWAYOUT=y
353CONFIG_OMAP_WATCHDOG=y
354CONFIG_TWL4030_CORE=y
355CONFIG_REGULATOR=y
356CONFIG_REGULATOR_TWL4030=y
357CONFIG_FB=y
358CONFIG_DISPLAY_SUPPORT=y
359# CONFIG_VGA_CONSOLE is not set
360CONFIG_FRAMEBUFFER_CONSOLE=y
361CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
362CONFIG_LOGO=y
363CONFIG_SOUND=y
364CONFIG_SND=y
365CONFIG_SND_SEQUENCER=m
366CONFIG_SND_MIXER_OSS=y
367CONFIG_SND_PCM_OSS=y
368CONFIG_SND_SEQUENCER_OSS=y
369CONFIG_SND_HRTIMER=m
370# CONFIG_SND_ARM is not set
371CONFIG_SND_USB_AUDIO=y
372CONFIG_SND_USB_CAIAQ=m
373CONFIG_SND_USB_CAIAQ_INPUT=y
374CONFIG_SND_SOC=y
375CONFIG_SND_OMAP_SOC=y
376CONFIG_USB=y
377CONFIG_USB_DEVICEFS=y
378CONFIG_USB_SUSPEND=y
379# CONFIG_USB_OTG_WHITELIST is not set
380CONFIG_USB_MON=y
381CONFIG_USB_OXU210HP_HCD=y
382CONFIG_USB_MUSB_HDRC=y
383CONFIG_USB_MUSB_OTG=y
384CONFIG_USB_GADGET_MUSB_HDRC=y
385CONFIG_USB_ACM=m
386CONFIG_USB_PRINTER=m
387CONFIG_USB_WDM=m
388CONFIG_USB_TMC=m
389CONFIG_USB_STORAGE=y
390CONFIG_USB_SERIAL=m
391CONFIG_USB_SERIAL_GENERIC=y
392CONFIG_USB_SERIAL_AIRCABLE=m
393CONFIG_USB_SERIAL_ARK3116=m
394CONFIG_USB_SERIAL_BELKIN=m
395CONFIG_USB_SERIAL_CH341=m
396CONFIG_USB_SERIAL_WHITEHEAT=m
397CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
398CONFIG_USB_SERIAL_CYPRESS_M8=m
399CONFIG_USB_SERIAL_EMPEG=m
400CONFIG_USB_SERIAL_FTDI_SIO=m
401CONFIG_USB_SERIAL_FUNSOFT=m
402CONFIG_USB_SERIAL_VISOR=m
403CONFIG_USB_SERIAL_IPAQ=m
404CONFIG_USB_SERIAL_IR=m
405CONFIG_USB_SERIAL_EDGEPORT=m
406CONFIG_USB_SERIAL_EDGEPORT_TI=m
407CONFIG_USB_SERIAL_GARMIN=m
408CONFIG_USB_SERIAL_IPW=m
409CONFIG_USB_SERIAL_IUU=m
410CONFIG_USB_SERIAL_KEYSPAN_PDA=m
411CONFIG_USB_SERIAL_KEYSPAN=m
412CONFIG_USB_SERIAL_KEYSPAN_MPR=y
413CONFIG_USB_SERIAL_KEYSPAN_USA28=y
414CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
415CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
416CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
417CONFIG_USB_SERIAL_KEYSPAN_USA19=y
418CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
419CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
420CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
421CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
422CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
423CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
424CONFIG_USB_SERIAL_KLSI=m
425CONFIG_USB_SERIAL_KOBIL_SCT=m
426CONFIG_USB_SERIAL_MCT_U232=m
427CONFIG_USB_SERIAL_MOS7720=m
428CONFIG_USB_SERIAL_MOS7840=m
429CONFIG_USB_SERIAL_MOTOROLA=m
430CONFIG_USB_SERIAL_NAVMAN=m
431CONFIG_USB_SERIAL_PL2303=m
432CONFIG_USB_SERIAL_OTI6858=m
433CONFIG_USB_SERIAL_SPCP8X5=m
434CONFIG_USB_SERIAL_HP4X=m
435CONFIG_USB_SERIAL_SAFE=m
436CONFIG_USB_SERIAL_SIEMENS_MPI=m
437CONFIG_USB_SERIAL_SIERRAWIRELESS=m
438CONFIG_USB_SERIAL_TI=m
439CONFIG_USB_SERIAL_CYBERJACK=m
440CONFIG_USB_SERIAL_XIRCOM=m
441CONFIG_USB_SERIAL_OPTION=m
442CONFIG_USB_SERIAL_OMNINET=m
443CONFIG_USB_SERIAL_OPTICON=m
444CONFIG_USB_SERIAL_DEBUG=m
445CONFIG_USB_EMI62=m
446CONFIG_USB_EMI26=m
447CONFIG_USB_SISUSBVGA=m
448CONFIG_USB_SISUSBVGA_CON=y
449CONFIG_USB_TEST=m
450CONFIG_USB_GADGET=m
451CONFIG_USB_GADGET_DEBUG_FS=y
452CONFIG_USB_ZERO=m
453CONFIG_USB_ZERO_HNPTEST=y
454CONFIG_USB_ETH=m
455CONFIG_USB_GADGETFS=m
456CONFIG_USB_FILE_STORAGE=m
457CONFIG_USB_G_SERIAL=m
458CONFIG_USB_MIDI_GADGET=m
459CONFIG_USB_G_PRINTER=m
460CONFIG_USB_CDC_COMPOSITE=m
461CONFIG_USB_GPIO_VBUS=y
462CONFIG_TWL4030_USB=y
463CONFIG_MMC=y
464CONFIG_MMC_UNSAFE_RESUME=y
465CONFIG_SDIO_UART=y
466CONFIG_MMC_OMAP_HS=y
467CONFIG_MMC_SPI=m
468CONFIG_NEW_LEDS=y
469CONFIG_LEDS_CLASS=y
470CONFIG_LEDS_GPIO=y
471CONFIG_LEDS_TRIGGERS=y
472CONFIG_LEDS_TRIGGER_TIMER=m
473CONFIG_LEDS_TRIGGER_HEARTBEAT=y
474CONFIG_LEDS_TRIGGER_BACKLIGHT=m
475CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
476CONFIG_RTC_CLASS=y
477CONFIG_RTC_DRV_TWL4030=y
478CONFIG_UIO=m
479CONFIG_UIO_PDRV=m
480CONFIG_UIO_PDRV_GENIRQ=m
481CONFIG_STAGING=y
482# CONFIG_STAGING_EXCLUDE_BUILD is not set
483CONFIG_EXT2_FS=y
484CONFIG_EXT3_FS=y
485# CONFIG_EXT3_FS_XATTR is not set
486CONFIG_EXT4_FS=m
487CONFIG_REISERFS_FS=m
488CONFIG_REISERFS_PROC_INFO=y
489CONFIG_REISERFS_FS_XATTR=y
490CONFIG_JFS_FS=m
491CONFIG_XFS_FS=m
492CONFIG_INOTIFY=y
493CONFIG_QUOTA=y
494CONFIG_QFMT_V2=y
495CONFIG_AUTOFS4_FS=m
496CONFIG_FUSE_FS=y
497CONFIG_ISO9660_FS=m
498CONFIG_JOLIET=y
499CONFIG_ZISOFS=y
500CONFIG_UDF_FS=m
501CONFIG_MSDOS_FS=y
502CONFIG_VFAT_FS=y
503CONFIG_NTFS_FS=m
504CONFIG_NTFS_RW=y
505CONFIG_TMPFS=y
506CONFIG_JFFS2_FS=y
507CONFIG_JFFS2_SUMMARY=y
508CONFIG_JFFS2_FS_XATTR=y
509CONFIG_JFFS2_COMPRESSION_OPTIONS=y
510CONFIG_JFFS2_LZO=y
511CONFIG_JFFS2_RUBIN=y
512CONFIG_JFFS2_CMODE_FAVOURLZO=y
513CONFIG_UBIFS_FS=y
514CONFIG_UBIFS_FS_XATTR=y
515CONFIG_UBIFS_FS_ADVANCED_COMPR=y
516CONFIG_SQUASHFS=y
517CONFIG_NFS_FS=y
518CONFIG_NFS_V3=y
519CONFIG_NFS_V4=y
520CONFIG_ROOT_NFS=y
521CONFIG_NFSD=m
522CONFIG_NFSD_V3_ACL=y
523CONFIG_NFSD_V4=y
524CONFIG_CIFS=m
525CONFIG_CIFS_STATS=y
526CONFIG_CIFS_STATS2=y
527CONFIG_CIFS_EXPERIMENTAL=y
528CONFIG_PARTITION_ADVANCED=y
529CONFIG_BSD_DISKLABEL=y
530CONFIG_MINIX_SUBPARTITION=y
531CONFIG_SOLARIS_X86_PARTITION=y
532CONFIG_UNIXWARE_DISKLABEL=y
533CONFIG_EFI_PARTITION=y
534CONFIG_NLS_CODEPAGE_437=y
535CONFIG_NLS_CODEPAGE_737=m
536CONFIG_NLS_CODEPAGE_775=m
537CONFIG_NLS_CODEPAGE_850=m
538CONFIG_NLS_CODEPAGE_852=m
539CONFIG_NLS_CODEPAGE_855=m
540CONFIG_NLS_CODEPAGE_857=m
541CONFIG_NLS_CODEPAGE_860=m
542CONFIG_NLS_CODEPAGE_861=m
543CONFIG_NLS_CODEPAGE_862=m
544CONFIG_NLS_CODEPAGE_863=m
545CONFIG_NLS_CODEPAGE_864=m
546CONFIG_NLS_CODEPAGE_865=m
547CONFIG_NLS_CODEPAGE_866=m
548CONFIG_NLS_CODEPAGE_869=m
549CONFIG_NLS_CODEPAGE_936=m
550CONFIG_NLS_CODEPAGE_950=m
551CONFIG_NLS_CODEPAGE_932=m
552CONFIG_NLS_CODEPAGE_949=m
553CONFIG_NLS_CODEPAGE_874=m
554CONFIG_NLS_ISO8859_8=m
555CONFIG_NLS_CODEPAGE_1250=m
556CONFIG_NLS_CODEPAGE_1251=m
557CONFIG_NLS_ASCII=m
558CONFIG_NLS_ISO8859_1=m
559CONFIG_NLS_ISO8859_2=m
560CONFIG_NLS_ISO8859_3=m
561CONFIG_NLS_ISO8859_4=m
562CONFIG_NLS_ISO8859_5=m
563CONFIG_NLS_ISO8859_6=m
564CONFIG_NLS_ISO8859_7=m
565CONFIG_NLS_ISO8859_9=m
566CONFIG_NLS_ISO8859_13=m
567CONFIG_NLS_ISO8859_14=m
568CONFIG_NLS_ISO8859_15=m
569CONFIG_NLS_KOI8_R=m
570CONFIG_NLS_KOI8_U=m
571CONFIG_NLS_UTF8=y
572CONFIG_PRINTK_TIME=y
573CONFIG_MAGIC_SYSRQ=y
574CONFIG_DEBUG_FS=y
575CONFIG_DEBUG_KERNEL=y
576CONFIG_SCHEDSTATS=y
577CONFIG_TIMER_STATS=y
578CONFIG_DEBUG_MUTEXES=y
579# CONFIG_DEBUG_BUGVERBOSE is not set
580# CONFIG_RCU_CPU_STALL_DETECTOR is not set
581CONFIG_CRYPTO_FIPS=y
582CONFIG_CRYPTO_NULL=m
583CONFIG_CRYPTO_CRYPTD=m
584CONFIG_CRYPTO_TEST=m
585CONFIG_CRYPTO_CCM=m
586CONFIG_CRYPTO_GCM=m
587CONFIG_CRYPTO_CTS=m
588CONFIG_CRYPTO_ECB=y
589CONFIG_CRYPTO_LRW=m
590CONFIG_CRYPTO_PCBC=m
591CONFIG_CRYPTO_XTS=m
592CONFIG_CRYPTO_XCBC=m
593CONFIG_CRYPTO_MD4=m
594CONFIG_CRYPTO_MICHAEL_MIC=y
595CONFIG_CRYPTO_RMD128=m
596CONFIG_CRYPTO_RMD160=m
597CONFIG_CRYPTO_RMD256=m
598CONFIG_CRYPTO_RMD320=m
599CONFIG_CRYPTO_SHA256=m
600CONFIG_CRYPTO_SHA512=m
601CONFIG_CRYPTO_TGR192=m
602CONFIG_CRYPTO_WP512=m
603CONFIG_CRYPTO_AES=y
604CONFIG_CRYPTO_ANUBIS=m
605CONFIG_CRYPTO_ARC4=y
606CONFIG_CRYPTO_BLOWFISH=m
607CONFIG_CRYPTO_CAMELLIA=m
608CONFIG_CRYPTO_CAST5=m
609CONFIG_CRYPTO_CAST6=m
610CONFIG_CRYPTO_FCRYPT=m
611CONFIG_CRYPTO_KHAZAD=m
612CONFIG_CRYPTO_SALSA20=m
613CONFIG_CRYPTO_SEED=m
614CONFIG_CRYPTO_SERPENT=m
615CONFIG_CRYPTO_TEA=m
616CONFIG_CRYPTO_TWOFISH=m
617CONFIG_CRC_CCITT=y
618CONFIG_CRC_T10DIF=y
619CONFIG_CRC_ITU_T=y
620CONFIG_CRC7=y
621CONFIG_LIBCRC32C=y
arch/arm/configs/omap_2430sdp_defconfig+0−136
@@ -1,136 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_LOG_BUF_SHIFT=14
5CONFIG_BLK_DEV_INITRD=y
6CONFIG_EMBEDDED=y
7# CONFIG_SYSCTL_SYSCALL is not set
8CONFIG_KALLSYMS_EXTRA_PASS=y
9CONFIG_SLAB=y
10CONFIG_MODULES=y
11CONFIG_MODULE_UNLOAD=y
12CONFIG_MODVERSIONS=y
13CONFIG_MODULE_SRCVERSION_ALL=y
14# CONFIG_BLK_DEV_BSG is not set
15CONFIG_ARCH_OMAP=y
16CONFIG_ARCH_OMAP2=y
17# CONFIG_OMAP_MUX_WARNINGS is not set
18CONFIG_OMAP_DM_TIMER=y
19CONFIG_ARCH_OMAP2430=y
20CONFIG_MACH_OMAP_2430SDP=y
21CONFIG_PREEMPT=y
22CONFIG_AEABI=y
23CONFIG_ZBOOT_ROM_TEXT=0x0
24CONFIG_ZBOOT_ROM_BSS=0x0
25CONFIG_CMDLINE="root=/dev/ram0 rw console=ttyS0,115200n8 initrd=0x80600000,8M ramdisk_size=8192"
26CONFIG_FPE_NWFPE=y
27CONFIG_BINFMT_MISC=y
28CONFIG_PM=y
29CONFIG_NET=y
30CONFIG_PACKET=y
31CONFIG_UNIX=y
32CONFIG_NET_KEY=y
33CONFIG_INET=y
34CONFIG_IP_PNP=y
35CONFIG_IP_PNP_DHCP=y
36# CONFIG_IPV6 is not set
37# CONFIG_FW_LOADER is not set
38CONFIG_MTD=y
39CONFIG_MTD_CONCAT=y
40CONFIG_MTD_CMDLINE_PARTS=y
41CONFIG_MTD_CHAR=y
42CONFIG_MTD_BLOCK=y
43CONFIG_MTD_CFI=y
44CONFIG_MTD_CFI_INTELEXT=y
45CONFIG_MTD_ONENAND=y
46CONFIG_MTD_ONENAND_VERIFY_WRITE=y
47CONFIG_MTD_ONENAND_OMAP2=y
48CONFIG_BLK_DEV_LOOP=y
49CONFIG_BLK_DEV_RAM=y
50CONFIG_BLK_DEV_RAM_SIZE=16384
51CONFIG_SCSI=m
52CONFIG_BLK_DEV_SD=m
53CONFIG_CHR_DEV_SG=m
54CONFIG_NETDEVICES=y
55CONFIG_NET_ETHERNET=y
56CONFIG_SMC91X=y
57# CONFIG_INPUT_MOUSEDEV is not set
58CONFIG_INPUT_EVDEV=y
59# CONFIG_KEYBOARD_ATKBD is not set
60CONFIG_KEYBOARD_TWL4030=y
61# CONFIG_INPUT_MOUSE is not set
62CONFIG_INPUT_TOUCHSCREEN=y
63CONFIG_TOUCHSCREEN_ADS7846=y
64# CONFIG_SERIO is not set
65CONFIG_SERIAL_8250=y
66CONFIG_SERIAL_8250_CONSOLE=y
67CONFIG_SERIAL_8250_NR_UARTS=32
68CONFIG_SERIAL_8250_EXTENDED=y
69CONFIG_SERIAL_8250_MANY_PORTS=y
70CONFIG_SERIAL_8250_SHARE_IRQ=y
71CONFIG_SERIAL_8250_DETECT_IRQ=y
72CONFIG_SERIAL_8250_RSA=y
73# CONFIG_LEGACY_PTYS is not set
74CONFIG_HW_RANDOM=y
75CONFIG_I2C=y
76CONFIG_I2C_CHARDEV=y
77CONFIG_I2C_OMAP=y
78CONFIG_SPI=y
79# CONFIG_HWMON is not set
80CONFIG_WATCHDOG=y
81CONFIG_WATCHDOG_NOWAYOUT=y
82CONFIG_OMAP_WATCHDOG=y
83CONFIG_TWL4030_CORE=y
84CONFIG_VIDEO_OUTPUT_CONTROL=m
85CONFIG_FB=y
86CONFIG_FIRMWARE_EDID=y
87CONFIG_FB_OMAP=y
88# CONFIG_VGA_CONSOLE is not set
89CONFIG_FRAMEBUFFER_CONSOLE=y
90CONFIG_LOGO=y
91# CONFIG_LOGO_LINUX_MONO is not set
92# CONFIG_LOGO_LINUX_VGA16 is not set
93CONFIG_USB=m
94# CONFIG_USB_DEVICE_CLASS is not set
95CONFIG_USB_MON=m
96CONFIG_USB_MUSB_HDRC=m
97CONFIG_USB_MUSB_OTG=y
98CONFIG_USB_GADGET_MUSB_HDRC=y
99CONFIG_USB_STORAGE=m
100CONFIG_USB_GADGET=m
101CONFIG_USB_GADGET_DEBUG_FILES=y
102CONFIG_USB_ZERO=m
103CONFIG_USB_ETH=m
104CONFIG_USB_GADGETFS=m
105CONFIG_USB_FILE_STORAGE=m
106CONFIG_USB_G_SERIAL=m
107CONFIG_MMC=y
108CONFIG_MMC_OMAP_HS=y
109CONFIG_EXT2_FS=y
110CONFIG_EXT3_FS=y
111# CONFIG_EXT3_FS_XATTR is not set
112CONFIG_INOTIFY=y
113CONFIG_QUOTA=y
114CONFIG_QFMT_V2=y
115CONFIG_MSDOS_FS=y
116CONFIG_VFAT_FS=y
117CONFIG_TMPFS=y
118CONFIG_JFFS2_FS=y
119CONFIG_JFFS2_COMPRESSION_OPTIONS=y
120CONFIG_NFS_FS=y
121CONFIG_NFS_V3=y
122CONFIG_ROOT_NFS=y
123CONFIG_PARTITION_ADVANCED=y
124CONFIG_NLS_CODEPAGE_437=y
125CONFIG_MAGIC_SYSRQ=y
126CONFIG_DEBUG_KERNEL=y
127CONFIG_TIMER_STATS=y
128CONFIG_DEBUG_MUTEXES=y
129# CONFIG_DEBUG_BUGVERBOSE is not set
130CONFIG_CRYPTO_CBC=y
131CONFIG_CRYPTO_ECB=m
132CONFIG_CRYPTO_PCBC=m
133CONFIG_CRYPTO_MD5=y
134CONFIG_CRYPTO_DES=y
135CONFIG_CRC_CCITT=y
136CONFIG_LIBCRC32C=y
arch/arm/configs/omap_3430sdp_defconfig+0−178
@@ -1,178 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_IKCONFIG=y
5CONFIG_IKCONFIG_PROC=y
6CONFIG_LOG_BUF_SHIFT=14
7CONFIG_BLK_DEV_INITRD=y
8CONFIG_EMBEDDED=y
9# CONFIG_SYSCTL_SYSCALL is not set
10CONFIG_SLAB=y
11CONFIG_MODULES=y
12CONFIG_MODULE_UNLOAD=y
13CONFIG_MODVERSIONS=y
14CONFIG_MODULE_SRCVERSION_ALL=y
15# CONFIG_BLK_DEV_BSG is not set
16CONFIG_ARCH_OMAP=y
17CONFIG_ARCH_OMAP3=y
18CONFIG_OMAP_RESET_CLOCKS=y
19CONFIG_OMAP_MUX_DEBUG=y
20CONFIG_OMAP_32K_TIMER=y
21CONFIG_OMAP_DM_TIMER=y
22CONFIG_ARCH_OMAP3430=y
23CONFIG_MACH_OMAP_3430SDP=y
24CONFIG_NO_HZ=y
25CONFIG_HIGH_RES_TIMERS=y
26CONFIG_AEABI=y
27CONFIG_ZBOOT_ROM_TEXT=0x0
28CONFIG_ZBOOT_ROM_BSS=0x0
29CONFIG_CMDLINE="console=ttyS2,115200 root=/dev/mmcblk0p3 rootwait debug"
30CONFIG_CPU_FREQ=y
31CONFIG_CPU_FREQ_STAT_DETAILS=y
32CONFIG_CPU_FREQ_GOV_USERSPACE=y
33CONFIG_CPU_FREQ_GOV_ONDEMAND=y
34CONFIG_FPE_NWFPE=y
35CONFIG_VFP=y
36CONFIG_NEON=y
37CONFIG_BINFMT_MISC=y
38CONFIG_PM=y
39CONFIG_PM_RUNTIME=y
40CONFIG_NET=y
41CONFIG_PACKET=y
42CONFIG_UNIX=y
43CONFIG_NET_KEY=y
44CONFIG_INET=y
45CONFIG_IP_PNP=y
46CONFIG_IP_PNP_DHCP=y
47CONFIG_IP_PNP_BOOTP=y
48CONFIG_IP_PNP_RARP=y
49# CONFIG_INET_LRO is not set
50# CONFIG_IPV6 is not set
51CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
52# CONFIG_FW_LOADER is not set
53CONFIG_MTD=y
54CONFIG_MTD_CONCAT=y
55CONFIG_MTD_PARTITIONS=y
56CONFIG_MTD_CMDLINE_PARTS=y
57CONFIG_MTD_CHAR=y
58CONFIG_MTD_BLOCK=y
59CONFIG_MTD_CFI=y
60CONFIG_MTD_CFI_INTELEXT=y
61CONFIG_MTD_NAND=y
62CONFIG_BLK_DEV_LOOP=y
63CONFIG_BLK_DEV_RAM=y
64CONFIG_BLK_DEV_RAM_SIZE=16384
65CONFIG_SCSI=y
66CONFIG_BLK_DEV_SD=y
67CONFIG_SCSI_MULTI_LUN=y
68CONFIG_NETDEVICES=y
69CONFIG_PHYLIB=y
70CONFIG_NET_ETHERNET=y
71CONFIG_SMC91X=y
72# CONFIG_INPUT_MOUSEDEV is not set
73CONFIG_INPUT_EVDEV=y
74# CONFIG_KEYBOARD_ATKBD is not set
75# CONFIG_INPUT_MOUSE is not set
76CONFIG_INPUT_TOUCHSCREEN=y
77CONFIG_TOUCHSCREEN_ADS7846=y
78# CONFIG_SERIO is not set
79# CONFIG_CONSOLE_TRANSLATIONS is not set
80CONFIG_SERIAL_8250=y
81CONFIG_SERIAL_8250_CONSOLE=y
82CONFIG_SERIAL_8250_NR_UARTS=32
83CONFIG_SERIAL_8250_EXTENDED=y
84CONFIG_SERIAL_8250_MANY_PORTS=y
85CONFIG_SERIAL_8250_SHARE_IRQ=y
86CONFIG_SERIAL_8250_DETECT_IRQ=y
87CONFIG_SERIAL_8250_RSA=y
88# CONFIG_LEGACY_PTYS is not set
89CONFIG_HW_RANDOM=y
90CONFIG_I2C=y
91CONFIG_I2C_CHARDEV=y
92CONFIG_I2C_OMAP=y
93CONFIG_SPI=y
94CONFIG_SPI_OMAP24XX=y
95CONFIG_GPIO_SYSFS=y
96CONFIG_GPIO_TWL4030=y
97# CONFIG_HWMON is not set
98CONFIG_WATCHDOG=y
99CONFIG_WATCHDOG_NOWAYOUT=y
100CONFIG_OMAP_WATCHDOG=y
101CONFIG_TWL4030_WATCHDOG=y
102CONFIG_TWL4030_CORE=y
103CONFIG_REGULATOR=y
104CONFIG_REGULATOR_TWL4030=y
105CONFIG_FB=y
106CONFIG_OMAP2_DSS=y
107CONFIG_OMAP2_VRAM_SIZE=4
108CONFIG_FB_OMAP2=y
109CONFIG_PANEL_GENERIC=y
110CONFIG_PANEL_SHARP_LS037V7DW01=y
111CONFIG_DISPLAY_SUPPORT=y
112# CONFIG_VGA_CONSOLE is not set
113CONFIG_FRAMEBUFFER_CONSOLE=y
114CONFIG_LOGO=y
115CONFIG_USB=y
116CONFIG_USB_DEBUG=y
117CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
118# CONFIG_USB_DEVICE_CLASS is not set
119CONFIG_USB_SUSPEND=y
120# CONFIG_USB_OTG_WHITELIST is not set
121CONFIG_USB_MON=y
122CONFIG_USB_EHCI_HCD=m
123CONFIG_USB_MUSB_HDRC=y
124CONFIG_USB_MUSB_OTG=y
125CONFIG_USB_GADGET_MUSB_HDRC=y
126CONFIG_USB_STORAGE=y
127CONFIG_USB_TEST=y
128CONFIG_USB_GADGET=y
129CONFIG_USB_ETH=m
130CONFIG_USB_GADGETFS=m
131CONFIG_USB_FILE_STORAGE=m
132CONFIG_USB_G_SERIAL=m
133CONFIG_USB_CDC_COMPOSITE=m
134CONFIG_MMC=y
135CONFIG_MMC_UNSAFE_RESUME=y
136CONFIG_SDIO_UART=y
137CONFIG_MMC_OMAP_HS=y
138CONFIG_NEW_LEDS=y
139CONFIG_LEDS_CLASS=y
140CONFIG_LEDS_GPIO=y
141CONFIG_LEDS_TRIGGERS=y
142CONFIG_LEDS_TRIGGER_TIMER=y
143CONFIG_LEDS_TRIGGER_HEARTBEAT=y
144CONFIG_RTC_CLASS=y
145CONFIG_RTC_DRV_TWL4030=y
146CONFIG_EXT2_FS=y
147CONFIG_EXT3_FS=y
148# CONFIG_EXT3_FS_XATTR is not set
149CONFIG_INOTIFY=y
150CONFIG_QUOTA=y
151CONFIG_QFMT_V2=y
152CONFIG_MSDOS_FS=y
153CONFIG_VFAT_FS=y
154CONFIG_TMPFS=y
155CONFIG_JFFS2_FS=y
156CONFIG_JFFS2_COMPRESSION_OPTIONS=y
157CONFIG_NFS_FS=y
158CONFIG_NFS_V3=y
159CONFIG_NFS_V4=y
160CONFIG_ROOT_NFS=y
161CONFIG_PARTITION_ADVANCED=y
162CONFIG_NLS_CODEPAGE_437=y
163CONFIG_NLS_ISO8859_1=y
164CONFIG_MAGIC_SYSRQ=y
165CONFIG_DEBUG_FS=y
166CONFIG_DEBUG_KERNEL=y
167CONFIG_DEBUG_MUTEXES=y
168# CONFIG_DEBUG_BUGVERBOSE is not set
169CONFIG_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
173CONFIG_DEBUG_LL=y
174CONFIG_CRYPTO_ECB=m
175CONFIG_CRYPTO_PCBC=m
176# CONFIG_CRYPTO_ANSI_CPRNG is not set
177CONFIG_CRC_CCITT=y
178CONFIG_LIBCRC32C=y
arch/arm/configs/omap_3630sdp_defconfig+0−154
@@ -1,154 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_LOG_BUF_SHIFT=14
5CONFIG_BLK_DEV_INITRD=y
6CONFIG_EMBEDDED=y
7# CONFIG_SYSCTL_SYSCALL is not set
8CONFIG_KALLSYMS_EXTRA_PASS=y
9CONFIG_SLAB=y
10CONFIG_MODULES=y
11CONFIG_MODULE_UNLOAD=y
12CONFIG_MODVERSIONS=y
13CONFIG_MODULE_SRCVERSION_ALL=y
14# CONFIG_BLK_DEV_BSG is not set
15CONFIG_ARCH_OMAP=y
16CONFIG_ARCH_OMAP3=y
17CONFIG_OMAP_MUX_DEBUG=y
18CONFIG_OMAP_32K_TIMER=y
19CONFIG_OMAP_DM_TIMER=y
20CONFIG_ARCH_OMAP3430=y
21CONFIG_MACH_OMAP_3630SDP=y
22CONFIG_NO_HZ=y
23CONFIG_HIGH_RES_TIMERS=y
24CONFIG_AEABI=y
25CONFIG_ZBOOT_ROM_TEXT=0x0
26CONFIG_ZBOOT_ROM_BSS=0x0
27CONFIG_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"
28CONFIG_FPE_NWFPE=y
29CONFIG_VFP=y
30CONFIG_BINFMT_MISC=y
31CONFIG_PM=y
32CONFIG_PM_DEBUG=y
33CONFIG_PM_VERBOSE=y
34CONFIG_PM_RUNTIME=y
35CONFIG_NET=y
36CONFIG_PACKET=y
37CONFIG_UNIX=y
38CONFIG_XFRM_USER=y
39CONFIG_NET_KEY=y
40CONFIG_NET_KEY_MIGRATE=y
41CONFIG_INET=y
42CONFIG_IP_MULTICAST=y
43CONFIG_IP_PNP=y
44CONFIG_IP_PNP_DHCP=y
45CONFIG_IP_PNP_BOOTP=y
46CONFIG_IP_PNP_RARP=y
47# CONFIG_INET_LRO is not set
48# CONFIG_IPV6 is not set
49CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
50# CONFIG_FW_LOADER is not set
51CONFIG_CONNECTOR=y
52CONFIG_BLK_DEV_LOOP=y
53CONFIG_BLK_DEV_RAM=y
54CONFIG_BLK_DEV_RAM_SIZE=16384
55CONFIG_SCSI=y
56CONFIG_BLK_DEV_SD=y
57CONFIG_NETDEVICES=y
58CONFIG_PHYLIB=y
59CONFIG_SMSC_PHY=y
60CONFIG_NET_ETHERNET=y
61CONFIG_SMC91X=y
62# CONFIG_INPUT_MOUSEDEV is not set
63CONFIG_INPUT_EVDEV=y
64# CONFIG_INPUT_KEYBOARD is not set
65# CONFIG_INPUT_MOUSE is not set
66CONFIG_INPUT_TOUCHSCREEN=y
67CONFIG_TOUCHSCREEN_ADS7846=y
68# CONFIG_SERIO is not set
69CONFIG_SERIAL_8250=y
70CONFIG_SERIAL_8250_CONSOLE=y
71CONFIG_SERIAL_8250_NR_UARTS=32
72CONFIG_SERIAL_8250_EXTENDED=y
73CONFIG_SERIAL_8250_MANY_PORTS=y
74CONFIG_SERIAL_8250_SHARE_IRQ=y
75CONFIG_SERIAL_8250_DETECT_IRQ=y
76CONFIG_SERIAL_8250_RSA=y
77# CONFIG_LEGACY_PTYS is not set
78CONFIG_HW_RANDOM=y
79CONFIG_I2C=y
80CONFIG_I2C_CHARDEV=y
81CONFIG_I2C_OMAP=y
82CONFIG_SPI=y
83CONFIG_SPI_OMAP24XX=y
84CONFIG_GPIO_TWL4030=y
85CONFIG_W1=y
86CONFIG_POWER_SUPPLY=y
87# CONFIG_HWMON is not set
88CONFIG_WATCHDOG=y
89CONFIG_WATCHDOG_NOWAYOUT=y
90CONFIG_TWL4030_CORE=y
91CONFIG_REGULATOR=y
92CONFIG_REGULATOR_TWL4030=y
93CONFIG_VIDEO_OUTPUT_CONTROL=m
94# CONFIG_VGA_CONSOLE is not set
95CONFIG_SOUND=y
96CONFIG_SND=y
97CONFIG_USB=y
98CONFIG_USB_DEBUG=y
99CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
100CONFIG_USB_DEVICEFS=y
101# CONFIG_USB_DEVICE_CLASS is not set
102CONFIG_USB_SUSPEND=y
103# CONFIG_USB_OTG_WHITELIST is not set
104CONFIG_USB_MON=y
105CONFIG_USB_MUSB_HDRC=y
106CONFIG_USB_MUSB_OTG=y
107CONFIG_USB_GADGET_MUSB_HDRC=y
108CONFIG_USB_MUSB_DEBUG=y
109CONFIG_USB_STORAGE=y
110CONFIG_USB_TEST=m
111CONFIG_USB_GADGET=m
112CONFIG_USB_GADGET_DEBUG=y
113CONFIG_USB_GADGET_DEBUG_FILES=y
114CONFIG_USB_ZERO=m
115CONFIG_USB_AUDIO=m
116CONFIG_USB_ETH=m
117CONFIG_USB_GADGETFS=m
118CONFIG_USB_FILE_STORAGE=m
119CONFIG_USB_G_SERIAL=m
120CONFIG_USB_CDC_COMPOSITE=m
121CONFIG_TWL4030_USB=y
122CONFIG_MMC=y
123CONFIG_MMC_OMAP_HS=y
124CONFIG_RTC_CLASS=y
125CONFIG_EXT2_FS=y
126CONFIG_EXT3_FS=y
127# CONFIG_EXT3_FS_XATTR is not set
128CONFIG_INOTIFY=y
129CONFIG_QUOTA=y
130CONFIG_QFMT_V2=y
131CONFIG_MSDOS_FS=y
132CONFIG_VFAT_FS=y
133CONFIG_TMPFS=y
134CONFIG_NFS_FS=y
135CONFIG_NFS_V3=y
136CONFIG_NFS_V3_ACL=y
137CONFIG_NFS_V4=y
138CONFIG_ROOT_NFS=y
139CONFIG_PARTITION_ADVANCED=y
140CONFIG_NLS_CODEPAGE_437=y
141CONFIG_NLS_ISO8859_1=y
142CONFIG_MAGIC_SYSRQ=y
143CONFIG_DEBUG_KERNEL=y
144CONFIG_DEBUG_MUTEXES=y
145# CONFIG_DEBUG_BUGVERBOSE is not set
146CONFIG_DEBUG_INFO=y
147# CONFIG_RCU_CPU_STALL_DETECTOR is not set
148CONFIG_DEBUG_LL=y
149CONFIG_CRYPTO_ECB=m
150CONFIG_CRYPTO_PCBC=m
151# CONFIG_CRYPTO_ANSI_CPRNG is not set
152CONFIG_CRC_CCITT=y
153CONFIG_CRC_T10DIF=y
154CONFIG_LIBCRC32C=y
arch/arm/configs/omap_apollon_2420_defconfig+0−92
@@ -1,92 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2# CONFIG_LOCALVERSION_AUTO is not set
3CONFIG_SYSVIPC=y
4CONFIG_BSD_PROCESS_ACCT=y
5CONFIG_LOG_BUF_SHIFT=14
6CONFIG_KALLSYMS_EXTRA_PASS=y
7CONFIG_SLAB=y
8CONFIG_MODULES=y
9CONFIG_MODULE_UNLOAD=y
10# CONFIG_BLK_DEV_BSG is not set
11CONFIG_ARCH_OMAP=y
12CONFIG_ARCH_OMAP2=y
13# CONFIG_OMAP_MCBSP is not set
14CONFIG_OMAP_32K_TIMER=y
15CONFIG_ARCH_OMAP2420=y
16CONFIG_MACH_OMAP_APOLLON=y
17# CONFIG_ARM_THUMB is not set
18CONFIG_PREEMPT=y
19CONFIG_ZBOOT_ROM_TEXT=0x0
20CONFIG_ZBOOT_ROM_BSS=0x0
21CONFIG_CMDLINE="root=/dev/ram0 rw mem=128M console=ttyS0,115200n8 initrd=0x80600000,8M ramdisk_size=8192"
22CONFIG_VFP=y
23CONFIG_NET=y
24CONFIG_PACKET=y
25CONFIG_UNIX=y
26CONFIG_INET=y
27CONFIG_IP_PNP=y
28CONFIG_IP_PNP_DHCP=y
29CONFIG_IP_PNP_BOOTP=y
30# CONFIG_IPV6 is not set
31CONFIG_MTD=y
32CONFIG_MTD_CONCAT=y
33CONFIG_MTD_CMDLINE_PARTS=y
34CONFIG_MTD_CHAR=y
35CONFIG_MTD_BLOCK=y
36CONFIG_MTD_ONENAND=y
37CONFIG_MTD_ONENAND_GENERIC=y
38CONFIG_BLK_DEV_LOOP=y
39CONFIG_NETDEVICES=y
40CONFIG_NET_ETHERNET=y
41CONFIG_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
46CONFIG_SERIAL_8250=y
47CONFIG_SERIAL_8250_CONSOLE=y
48CONFIG_SERIAL_8250_NR_UARTS=32
49CONFIG_SERIAL_8250_EXTENDED=y
50CONFIG_SERIAL_8250_MANY_PORTS=y
51CONFIG_SERIAL_8250_SHARE_IRQ=y
52CONFIG_SERIAL_8250_DETECT_IRQ=y
53CONFIG_SERIAL_8250_RSA=y
54# CONFIG_LEGACY_PTYS is not set
55CONFIG_HW_RANDOM=y
56CONFIG_SPI=y
57CONFIG_SPI_OMAP24XX=y
58# CONFIG_HWMON is not set
59CONFIG_WATCHDOG=y
60CONFIG_OMAP_WATCHDOG=y
61CONFIG_VIDEO_OUTPUT_CONTROL=m
62CONFIG_FB=y
63CONFIG_FIRMWARE_EDID=y
64CONFIG_FB_OMAP=y
65# CONFIG_VGA_CONSOLE is not set
66CONFIG_FRAMEBUFFER_CONSOLE=y
67CONFIG_FONTS=y
68CONFIG_FONT_8x8=y
69CONFIG_FONT_8x16=y
70CONFIG_LOGO=y
71# CONFIG_LOGO_LINUX_MONO is not set
72# CONFIG_LOGO_LINUX_VGA16 is not set
73# CONFIG_HID is not set
74CONFIG_USB_GADGET=y
75CONFIG_USB_ETH=m
76CONFIG_USB_FILE_STORAGE=m
77CONFIG_MMC=y
78CONFIG_MMC_OMAP=y
79CONFIG_EXT2_FS=y
80CONFIG_AUTOFS4_FS=y
81CONFIG_TMPFS=y
82CONFIG_JFFS2_FS=y
83CONFIG_CRAMFS=y
84CONFIG_NFS_FS=y
85CONFIG_NFS_V3=y
86CONFIG_ROOT_NFS=y
87CONFIG_DEBUG_KERNEL=y
88CONFIG_DEBUG_SPINLOCK=y
89CONFIG_DEBUG_MUTEXES=y
90CONFIG_DEBUG_SPINLOCK_SLEEP=y
91CONFIG_CRC_CCITT=y
92CONFIG_LIBCRC32C=y
arch/arm/configs/omap_h4_2420_defconfig+0−107
@@ -1,107 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_LOG_BUF_SHIFT=14
5CONFIG_BLK_DEV_INITRD=y
6CONFIG_EMBEDDED=y
7CONFIG_KALLSYMS_EXTRA_PASS=y
8CONFIG_SLAB=y
9CONFIG_MODULES=y
10CONFIG_MODULE_UNLOAD=y
11CONFIG_MODVERSIONS=y
12CONFIG_MODULE_SRCVERSION_ALL=y
13# CONFIG_BLK_DEV_BSG is not set
14CONFIG_ARCH_OMAP=y
15CONFIG_ARCH_OMAP2=y
16CONFIG_OMAP_MUX_DEBUG=y
17CONFIG_ARCH_OMAP2420=y
18CONFIG_MACH_OMAP_H4=y
19CONFIG_AEABI=y
20CONFIG_ZBOOT_ROM_TEXT=0x0
21CONFIG_ZBOOT_ROM_BSS=0x0
22CONFIG_CMDLINE="root=/dev/ram0 rw console=ttyS0,115200n8 initrd=0x80600000,8M ramdisk_size=8192"
23CONFIG_FPE_NWFPE=y
24CONFIG_BINFMT_MISC=y
25CONFIG_NET=y
26CONFIG_PACKET=y
27CONFIG_UNIX=y
28CONFIG_NET_KEY=y
29CONFIG_INET=y
30CONFIG_IP_PNP=y
31CONFIG_IP_PNP_DHCP=y
32# CONFIG_IPV6 is not set
33CONFIG_IRDA=y
34CONFIG_IRLAN=y
35CONFIG_IRCOMM=y
36# CONFIG_FW_LOADER is not set
37CONFIG_MTD=y
38CONFIG_MTD_CONCAT=y
39CONFIG_MTD_PARTITIONS=y
40CONFIG_MTD_CMDLINE_PARTS=y
41CONFIG_MTD_CHAR=y
42CONFIG_MTD_BLOCK=y
43CONFIG_MTD_CFI=y
44CONFIG_MTD_CFI_INTELEXT=y
45CONFIG_BLK_DEV_LOOP=y
46CONFIG_BLK_DEV_RAM=y
47CONFIG_BLK_DEV_RAM_SIZE=16384
48CONFIG_NETDEVICES=y
49CONFIG_NET_ETHERNET=y
50CONFIG_SMC91X=y
51# CONFIG_INPUT_MOUSEDEV is not set
52CONFIG_INPUT_EVDEV=y
53# CONFIG_KEYBOARD_ATKBD is not set
54CONFIG_KEYBOARD_OMAP=y
55# CONFIG_INPUT_MOUSE is not set
56# CONFIG_SERIO is not set
57CONFIG_SERIAL_8250=y
58CONFIG_SERIAL_8250_CONSOLE=y
59CONFIG_SERIAL_8250_NR_UARTS=32
60CONFIG_SERIAL_8250_EXTENDED=y
61CONFIG_SERIAL_8250_MANY_PORTS=y
62CONFIG_SERIAL_8250_SHARE_IRQ=y
63CONFIG_SERIAL_8250_DETECT_IRQ=y
64CONFIG_SERIAL_8250_RSA=y
65# CONFIG_LEGACY_PTYS is not set
66CONFIG_I2C=y
67CONFIG_I2C_OMAP=y
68# CONFIG_HWMON is not set
69CONFIG_WATCHDOG=y
70CONFIG_WATCHDOG_NOWAYOUT=y
71CONFIG_OMAP_WATCHDOG=y
72CONFIG_MENELAUS=y
73CONFIG_VIDEO_OUTPUT_CONTROL=m
74CONFIG_FB=y
75CONFIG_FIRMWARE_EDID=y
76CONFIG_FB_OMAP=y
77# CONFIG_VGA_CONSOLE is not set
78CONFIG_FRAMEBUFFER_CONSOLE=y
79CONFIG_LOGO=y
80# CONFIG_LOGO_LINUX_MONO is not set
81# CONFIG_LOGO_LINUX_VGA16 is not set
82CONFIG_MMC=y
83CONFIG_MMC_OMAP=y
84CONFIG_EXT2_FS=y
85CONFIG_EXT3_FS=y
86# CONFIG_EXT3_FS_XATTR is not set
87CONFIG_INOTIFY=y
88CONFIG_QUOTA=y
89CONFIG_QFMT_V2=y
90CONFIG_MSDOS_FS=y
91CONFIG_VFAT_FS=y
92CONFIG_TMPFS=y
93CONFIG_JFFS2_FS=y
94CONFIG_NFS_FS=y
95CONFIG_NFS_V3=y
96CONFIG_NFS_V4=y
97CONFIG_ROOT_NFS=y
98CONFIG_PARTITION_ADVANCED=y
99CONFIG_NLS_CODEPAGE_437=y
100CONFIG_MAGIC_SYSRQ=y
101CONFIG_DEBUG_KERNEL=y
102CONFIG_DEBUG_MUTEXES=y
103# CONFIG_DEBUG_BUGVERBOSE is not set
104CONFIG_DEBUG_LL=y
105CONFIG_CRYPTO_ECB=m
106CONFIG_CRYPTO_PCBC=m
107CONFIG_LIBCRC32C=y
arch/arm/configs/omap_ldp_defconfig+0−135
@@ -1,135 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_LOG_BUF_SHIFT=14
5CONFIG_BLK_DEV_INITRD=y
6CONFIG_EMBEDDED=y
7# CONFIG_SYSCTL_SYSCALL is not set
8CONFIG_KALLSYMS_EXTRA_PASS=y
9CONFIG_SLAB=y
10CONFIG_MODULES=y
11CONFIG_MODULE_UNLOAD=y
12CONFIG_MODVERSIONS=y
13CONFIG_MODULE_SRCVERSION_ALL=y
14# CONFIG_BLK_DEV_BSG is not set
15CONFIG_ARCH_OMAP=y
16CONFIG_ARCH_OMAP3=y
17CONFIG_OMAP_MUX_DEBUG=y
18CONFIG_OMAP_32K_TIMER=y
19CONFIG_OMAP_DM_TIMER=y
20CONFIG_ARCH_OMAP3430=y
21CONFIG_MACH_OMAP_LDP=y
22CONFIG_NO_HZ=y
23CONFIG_HIGH_RES_TIMERS=y
24CONFIG_AEABI=y
25CONFIG_ZBOOT_ROM_TEXT=0x0
26CONFIG_ZBOOT_ROM_BSS=0x0
27CONFIG_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"
28CONFIG_FPE_NWFPE=y
29CONFIG_VFP=y
30CONFIG_BINFMT_MISC=y
31CONFIG_NET=y
32CONFIG_PACKET=y
33CONFIG_UNIX=y
34CONFIG_XFRM_USER=y
35CONFIG_NET_KEY=y
36CONFIG_NET_KEY_MIGRATE=y
37CONFIG_INET=y
38CONFIG_IP_MULTICAST=y
39CONFIG_IP_PNP=y
40CONFIG_IP_PNP_DHCP=y
41CONFIG_IP_PNP_BOOTP=y
42CONFIG_IP_PNP_RARP=y
43# CONFIG_INET_LRO is not set
44# CONFIG_IPV6 is not set
45CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
46# CONFIG_FW_LOADER is not set
47CONFIG_CONNECTOR=y
48CONFIG_BLK_DEV_LOOP=y
49CONFIG_BLK_DEV_RAM=y
50CONFIG_BLK_DEV_RAM_SIZE=16384
51CONFIG_SCSI=y
52CONFIG_BLK_DEV_SD=y
53CONFIG_NETDEVICES=y
54CONFIG_SMSC_PHY=y
55CONFIG_NET_ETHERNET=y
56CONFIG_SMSC911X=y
57# CONFIG_INPUT_MOUSEDEV is not set
58CONFIG_INPUT_EVDEV=y
59# CONFIG_INPUT_KEYBOARD is not set
60# CONFIG_INPUT_MOUSE is not set
61CONFIG_INPUT_TOUCHSCREEN=y
62CONFIG_TOUCHSCREEN_ADS7846=y
63# CONFIG_SERIO is not set
64CONFIG_SERIAL_8250=y
65CONFIG_SERIAL_8250_CONSOLE=y
66CONFIG_SERIAL_8250_NR_UARTS=32
67CONFIG_SERIAL_8250_EXTENDED=y
68CONFIG_SERIAL_8250_MANY_PORTS=y
69CONFIG_SERIAL_8250_SHARE_IRQ=y
70CONFIG_SERIAL_8250_DETECT_IRQ=y
71CONFIG_SERIAL_8250_RSA=y
72# CONFIG_LEGACY_PTYS is not set
73CONFIG_HW_RANDOM=y
74CONFIG_I2C=y
75CONFIG_I2C_CHARDEV=y
76CONFIG_I2C_OMAP=y
77CONFIG_SPI=y
78CONFIG_SPI_OMAP24XX=y
79CONFIG_GPIO_TWL4030=y
80CONFIG_W1=y
81CONFIG_POWER_SUPPLY=y
82# CONFIG_HWMON is not set
83CONFIG_WATCHDOG=y
84CONFIG_WATCHDOG_NOWAYOUT=y
85CONFIG_TWL4030_CORE=y
86CONFIG_VIDEO_OUTPUT_CONTROL=m
87CONFIG_FB=y
88CONFIG_FIRMWARE_EDID=y
89CONFIG_FB_MODE_HELPERS=y
90CONFIG_FB_TILEBLITTING=y
91CONFIG_FB_OMAP=y
92CONFIG_FB_OMAP_LCD_VGA=y
93CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=4
94CONFIG_BACKLIGHT_LCD_SUPPORT=y
95CONFIG_LCD_CLASS_DEVICE=y
96CONFIG_LCD_PLATFORM=y
97CONFIG_BACKLIGHT_CLASS_DEVICE=y
98# CONFIG_BACKLIGHT_GENERIC is not set
99# CONFIG_VGA_CONSOLE is not set
100CONFIG_FRAMEBUFFER_CONSOLE=y
101CONFIG_LOGO=y
102CONFIG_SOUND=y
103CONFIG_SND=y
104# CONFIG_USB_SUPPORT is not set
105CONFIG_MMC=y
106CONFIG_RTC_CLASS=y
107CONFIG_EXT2_FS=y
108CONFIG_EXT3_FS=y
109# CONFIG_EXT3_FS_XATTR is not set
110CONFIG_INOTIFY=y
111CONFIG_QUOTA=y
112CONFIG_QFMT_V2=y
113CONFIG_MSDOS_FS=y
114CONFIG_VFAT_FS=y
115CONFIG_TMPFS=y
116CONFIG_NFS_FS=y
117CONFIG_NFS_V3=y
118CONFIG_NFS_V3_ACL=y
119CONFIG_NFS_V4=y
120CONFIG_ROOT_NFS=y
121CONFIG_PARTITION_ADVANCED=y
122CONFIG_NLS_CODEPAGE_437=y
123CONFIG_NLS_ISO8859_1=y
124CONFIG_MAGIC_SYSRQ=y
125CONFIG_DEBUG_KERNEL=y
126CONFIG_DEBUG_MUTEXES=y
127# CONFIG_DEBUG_BUGVERBOSE is not set
128CONFIG_DEBUG_INFO=y
129# CONFIG_FTRACE is not set
130CONFIG_DEBUG_LL=y
131CONFIG_CRYPTO_ECB=m
132CONFIG_CRYPTO_PCBC=m
133CONFIG_CRC_CCITT=y
134CONFIG_CRC_T10DIF=y
135CONFIG_LIBCRC32C=y
arch/arm/configs/omap_zoom2_defconfig+0−143
@@ -1,143 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_LOG_BUF_SHIFT=14
5CONFIG_BLK_DEV_INITRD=y
6CONFIG_EMBEDDED=y
7# CONFIG_SYSCTL_SYSCALL is not set
8CONFIG_KALLSYMS_EXTRA_PASS=y
9CONFIG_SLAB=y
10CONFIG_MODULES=y
11CONFIG_MODULE_UNLOAD=y
12CONFIG_MODVERSIONS=y
13CONFIG_MODULE_SRCVERSION_ALL=y
14# CONFIG_BLK_DEV_BSG is not set
15CONFIG_ARCH_OMAP=y
16CONFIG_ARCH_OMAP3=y
17CONFIG_OMAP_MUX_DEBUG=y
18CONFIG_OMAP_32K_TIMER=y
19CONFIG_OMAP_DM_TIMER=y
20CONFIG_ARCH_OMAP3430=y
21CONFIG_MACH_OMAP_ZOOM2=y
22CONFIG_NO_HZ=y
23CONFIG_HIGH_RES_TIMERS=y
24CONFIG_AEABI=y
25CONFIG_ZBOOT_ROM_TEXT=0x0
26CONFIG_ZBOOT_ROM_BSS=0x0
27CONFIG_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"
28CONFIG_FPE_NWFPE=y
29CONFIG_VFP=y
30CONFIG_BINFMT_MISC=y
31CONFIG_PM=y
32CONFIG_PM_DEBUG=y
33CONFIG_PM_VERBOSE=y
34CONFIG_PM_RUNTIME=y
35CONFIG_NET=y
36CONFIG_PACKET=y
37CONFIG_UNIX=y
38CONFIG_XFRM_USER=y
39CONFIG_NET_KEY=y
40CONFIG_NET_KEY_MIGRATE=y
41CONFIG_INET=y
42CONFIG_IP_MULTICAST=y
43CONFIG_IP_PNP=y
44CONFIG_IP_PNP_DHCP=y
45CONFIG_IP_PNP_BOOTP=y
46CONFIG_IP_PNP_RARP=y
47# CONFIG_INET_LRO is not set
48# CONFIG_IPV6 is not set
49CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
50# CONFIG_FW_LOADER is not set
51CONFIG_CONNECTOR=y
52CONFIG_BLK_DEV_LOOP=y
53CONFIG_BLK_DEV_RAM=y
54CONFIG_BLK_DEV_RAM_SIZE=16384
55CONFIG_SCSI=y
56CONFIG_BLK_DEV_SD=y
57CONFIG_NETDEVICES=y
58CONFIG_SMSC_PHY=y
59CONFIG_NET_ETHERNET=y
60CONFIG_SMSC911X=y
61# CONFIG_INPUT_MOUSEDEV is not set
62CONFIG_INPUT_EVDEV=y
63CONFIG_KEYBOARD_TWL4030=y
64# CONFIG_INPUT_MOUSE is not set
65CONFIG_INPUT_TOUCHSCREEN=y
66CONFIG_TOUCHSCREEN_ADS7846=y
67CONFIG_SERIAL_8250=y
68CONFIG_SERIAL_8250_CONSOLE=y
69CONFIG_SERIAL_8250_NR_UARTS=32
70CONFIG_SERIAL_8250_RUNTIME_UARTS=1
71CONFIG_SERIAL_8250_EXTENDED=y
72CONFIG_SERIAL_8250_MANY_PORTS=y
73CONFIG_SERIAL_8250_SHARE_IRQ=y
74CONFIG_SERIAL_8250_DETECT_IRQ=y
75CONFIG_SERIAL_8250_RSA=y
76# CONFIG_LEGACY_PTYS is not set
77CONFIG_HW_RANDOM=y
78CONFIG_I2C=y
79CONFIG_I2C_CHARDEV=y
80CONFIG_I2C_OMAP=y
81CONFIG_SPI=y
82CONFIG_SPI_OMAP24XX=y
83CONFIG_GPIO_TWL4030=y
84CONFIG_W1=y
85CONFIG_POWER_SUPPLY=y
86# CONFIG_HWMON is not set
87CONFIG_WATCHDOG=y
88CONFIG_WATCHDOG_NOWAYOUT=y
89CONFIG_TWL4030_CORE=y
90CONFIG_REGULATOR=y
91CONFIG_REGULATOR_TWL4030=y
92CONFIG_VIDEO_OUTPUT_CONTROL=m
93# CONFIG_VGA_CONSOLE is not set
94CONFIG_SOUND=y
95CONFIG_SND=y
96CONFIG_USB=y
97CONFIG_USB_DEBUG=y
98CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
99CONFIG_USB_SUSPEND=y
100# CONFIG_USB_OTG_WHITELIST is not set
101CONFIG_USB_MON=y
102CONFIG_USB_MUSB_HDRC=y
103CONFIG_USB_MUSB_OTG=y
104CONFIG_USB_GADGET_MUSB_HDRC=y
105CONFIG_USB_MUSB_DEBUG=y
106CONFIG_USB_GADGET=y
107CONFIG_USB_GADGET_DEBUG=y
108CONFIG_USB_GADGET_DEBUG_FILES=y
109CONFIG_USB_ZERO=m
110CONFIG_TWL4030_USB=y
111CONFIG_MMC=y
112CONFIG_MMC_OMAP_HS=y
113CONFIG_RTC_CLASS=y
114CONFIG_EXT2_FS=y
115CONFIG_EXT3_FS=y
116# CONFIG_EXT3_FS_XATTR is not set
117CONFIG_INOTIFY=y
118CONFIG_QUOTA=y
119CONFIG_QFMT_V2=y
120CONFIG_MSDOS_FS=y
121CONFIG_VFAT_FS=y
122CONFIG_TMPFS=y
123CONFIG_NFS_FS=y
124CONFIG_NFS_V3=y
125CONFIG_NFS_V3_ACL=y
126CONFIG_NFS_V4=y
127CONFIG_ROOT_NFS=y
128CONFIG_PARTITION_ADVANCED=y
129CONFIG_NLS_CODEPAGE_437=y
130CONFIG_NLS_ISO8859_1=y
131CONFIG_MAGIC_SYSRQ=y
132CONFIG_DEBUG_KERNEL=y
133CONFIG_DEBUG_MUTEXES=y
134# CONFIG_DEBUG_BUGVERBOSE is not set
135CONFIG_DEBUG_INFO=y
136# CONFIG_RCU_CPU_STALL_DETECTOR is not set
137CONFIG_DEBUG_LL=y
138CONFIG_CRYPTO_ECB=m
139CONFIG_CRYPTO_PCBC=m
140# CONFIG_CRYPTO_ANSI_CPRNG is not set
141CONFIG_CRC_CCITT=y
142CONFIG_CRC_T10DIF=y
143CONFIG_LIBCRC32C=y
arch/arm/configs/omap_zoom3_defconfig+0−155
@@ -1,155 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_LOG_BUF_SHIFT=14
5CONFIG_BLK_DEV_INITRD=y
6CONFIG_EMBEDDED=y
7# CONFIG_SYSCTL_SYSCALL is not set
8CONFIG_KALLSYMS_EXTRA_PASS=y
9CONFIG_SLAB=y
10CONFIG_MODULES=y
11CONFIG_MODULE_UNLOAD=y
12CONFIG_MODVERSIONS=y
13CONFIG_MODULE_SRCVERSION_ALL=y
14# CONFIG_BLK_DEV_BSG is not set
15CONFIG_ARCH_OMAP=y
16CONFIG_ARCH_OMAP3=y
17CONFIG_OMAP_MUX_DEBUG=y
18CONFIG_OMAP_32K_TIMER=y
19CONFIG_OMAP_DM_TIMER=y
20CONFIG_ARCH_OMAP3430=y
21CONFIG_MACH_OMAP_ZOOM3=y
22CONFIG_NO_HZ=y
23CONFIG_HIGH_RES_TIMERS=y
24CONFIG_AEABI=y
25CONFIG_ZBOOT_ROM_TEXT=0x0
26CONFIG_ZBOOT_ROM_BSS=0x0
27CONFIG_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"
28CONFIG_FPE_NWFPE=y
29CONFIG_VFP=y
30CONFIG_BINFMT_MISC=y
31CONFIG_PM=y
32CONFIG_PM_DEBUG=y
33CONFIG_PM_VERBOSE=y
34CONFIG_PM_RUNTIME=y
35CONFIG_NET=y
36CONFIG_PACKET=y
37CONFIG_UNIX=y
38CONFIG_XFRM_USER=y
39CONFIG_NET_KEY=y
40CONFIG_NET_KEY_MIGRATE=y
41CONFIG_INET=y
42CONFIG_IP_MULTICAST=y
43CONFIG_IP_PNP=y
44CONFIG_IP_PNP_DHCP=y
45CONFIG_IP_PNP_BOOTP=y
46CONFIG_IP_PNP_RARP=y
47# CONFIG_INET_LRO is not set
48# CONFIG_IPV6 is not set
49CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
50# CONFIG_FW_LOADER is not set
51CONFIG_CONNECTOR=y
52CONFIG_BLK_DEV_LOOP=y
53CONFIG_BLK_DEV_RAM=y
54CONFIG_BLK_DEV_RAM_SIZE=16384
55CONFIG_SCSI=y
56CONFIG_BLK_DEV_SD=y
57CONFIG_NETDEVICES=y
58CONFIG_SMSC_PHY=y
59CONFIG_NET_ETHERNET=y
60CONFIG_SMSC911X=y
61# CONFIG_INPUT_MOUSEDEV is not set
62CONFIG_INPUT_EVDEV=y
63CONFIG_KEYBOARD_TWL4030=y
64# CONFIG_INPUT_MOUSE is not set
65CONFIG_INPUT_TOUCHSCREEN=y
66CONFIG_TOUCHSCREEN_ADS7846=y
67CONFIG_SERIAL_8250=y
68CONFIG_SERIAL_8250_CONSOLE=y
69CONFIG_SERIAL_8250_NR_UARTS=32
70CONFIG_SERIAL_8250_RUNTIME_UARTS=1
71CONFIG_SERIAL_8250_EXTENDED=y
72CONFIG_SERIAL_8250_MANY_PORTS=y
73CONFIG_SERIAL_8250_SHARE_IRQ=y
74CONFIG_SERIAL_8250_DETECT_IRQ=y
75CONFIG_SERIAL_8250_RSA=y
76# CONFIG_LEGACY_PTYS is not set
77CONFIG_HW_RANDOM=y
78CONFIG_I2C=y
79CONFIG_I2C_CHARDEV=y
80CONFIG_I2C_OMAP=y
81CONFIG_SPI=y
82CONFIG_SPI_OMAP24XX=y
83CONFIG_GPIO_TWL4030=y
84CONFIG_W1=y
85CONFIG_POWER_SUPPLY=y
86# CONFIG_HWMON is not set
87CONFIG_WATCHDOG=y
88CONFIG_WATCHDOG_NOWAYOUT=y
89CONFIG_TWL4030_CORE=y
90CONFIG_REGULATOR=y
91CONFIG_REGULATOR_TWL4030=y
92CONFIG_VIDEO_OUTPUT_CONTROL=m
93# CONFIG_VGA_CONSOLE is not set
94CONFIG_SOUND=y
95CONFIG_SND=y
96CONFIG_USB=y
97CONFIG_USB_DEBUG=y
98CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
99CONFIG_USB_DEVICEFS=y
100# CONFIG_USB_DEVICE_CLASS is not set
101CONFIG_USB_SUSPEND=y
102# CONFIG_USB_OTG_WHITELIST is not set
103CONFIG_USB_MON=y
104CONFIG_USB_MUSB_HDRC=y
105CONFIG_USB_MUSB_OTG=y
106CONFIG_USB_GADGET_MUSB_HDRC=y
107CONFIG_USB_MUSB_DEBUG=y
108CONFIG_USB_STORAGE=y
109CONFIG_USB_TEST=m
110CONFIG_USB_GADGET=m
111CONFIG_USB_GADGET_DEBUG=y
112CONFIG_USB_GADGET_DEBUG_FILES=y
113CONFIG_USB_ZERO=m
114CONFIG_USB_AUDIO=m
115CONFIG_USB_ETH=m
116CONFIG_USB_GADGETFS=m
117CONFIG_USB_FILE_STORAGE=m
118CONFIG_USB_G_SERIAL=m
119CONFIG_USB_CDC_COMPOSITE=m
120CONFIG_TWL4030_USB=y
121CONFIG_MMC=y
122CONFIG_MMC_UNSAFE_RESUME=y
123CONFIG_MMC_OMAP_HS=y
124CONFIG_RTC_CLASS=y
125CONFIG_RTC_DRV_TWL4030=y
126CONFIG_EXT2_FS=y
127CONFIG_EXT3_FS=y
128# CONFIG_EXT3_FS_XATTR is not set
129CONFIG_INOTIFY=y
130CONFIG_QUOTA=y
131CONFIG_QFMT_V2=y
132CONFIG_MSDOS_FS=y
133CONFIG_VFAT_FS=y
134CONFIG_TMPFS=y
135CONFIG_NFS_FS=y
136CONFIG_NFS_V3=y
137CONFIG_NFS_V3_ACL=y
138CONFIG_NFS_V4=y
139CONFIG_ROOT_NFS=y
140CONFIG_PARTITION_ADVANCED=y
141CONFIG_NLS_CODEPAGE_437=y
142CONFIG_NLS_ISO8859_1=y
143CONFIG_MAGIC_SYSRQ=y
144CONFIG_DEBUG_FS=y
145CONFIG_DEBUG_KERNEL=y
146CONFIG_DEBUG_MUTEXES=y
147# CONFIG_DEBUG_BUGVERBOSE is not set
148CONFIG_DEBUG_INFO=y
149# CONFIG_RCU_CPU_STALL_DETECTOR is not set
150CONFIG_CRYPTO_ECB=m
151CONFIG_CRYPTO_PCBC=m
152# CONFIG_CRYPTO_ANSI_CPRNG is not set
153CONFIG_CRC_CCITT=y
154CONFIG_CRC_T10DIF=y
155CONFIG_LIBCRC32C=y
arch/arm/configs/overo_defconfig+0−275
@@ -1,275 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_BSD_PROCESS_ACCT=y
4CONFIG_IKCONFIG=y
5CONFIG_IKCONFIG_PROC=y
6CONFIG_LOG_BUF_SHIFT=14
7CONFIG_BLK_DEV_INITRD=y
8CONFIG_EMBEDDED=y
9# CONFIG_SYSCTL_SYSCALL is not set
10# CONFIG_ELF_CORE is not set
11# CONFIG_COMPAT_BRK is not set
12CONFIG_PROFILING=y
13CONFIG_OPROFILE=y
14CONFIG_MODULES=y
15CONFIG_MODULE_UNLOAD=y
16CONFIG_MODULE_FORCE_UNLOAD=y
17CONFIG_MODVERSIONS=y
18CONFIG_MODULE_SRCVERSION_ALL=y
19# CONFIG_BLK_DEV_BSG is not set
20CONFIG_ARCH_OMAP=y
21CONFIG_ARCH_OMAP3=y
22# CONFIG_OMAP_MUX is not set
23CONFIG_OMAP_32K_TIMER=y
24CONFIG_OMAP_DM_TIMER=y
25CONFIG_ARCH_OMAP3430=y
26CONFIG_MACH_OVERO=y
27CONFIG_ARM_THUMBEE=y
28CONFIG_NO_HZ=y
29CONFIG_HIGH_RES_TIMERS=y
30CONFIG_AEABI=y
31# CONFIG_OABI_COMPAT is not set
32CONFIG_LEDS=y
33CONFIG_ZBOOT_ROM_TEXT=0x0
34CONFIG_ZBOOT_ROM_BSS=0x0
35CONFIG_CMDLINE=" debug "
36CONFIG_KEXEC=y
37CONFIG_CPU_FREQ=y
38CONFIG_CPU_FREQ_STAT_DETAILS=y
39CONFIG_CPU_FREQ_GOV_USERSPACE=y
40CONFIG_CPU_FREQ_GOV_ONDEMAND=y
41CONFIG_VFP=y
42CONFIG_NEON=y
43CONFIG_BINFMT_AOUT=m
44CONFIG_BINFMT_MISC=y
45CONFIG_NET=y
46CONFIG_PACKET=y
47CONFIG_UNIX=y
48CONFIG_NET_KEY=y
49CONFIG_INET=y
50CONFIG_IP_PNP=y
51CONFIG_IP_PNP_DHCP=y
52CONFIG_IP_PNP_BOOTP=y
53CONFIG_IP_PNP_RARP=y
54# CONFIG_INET_LRO is not set
55CONFIG_BT=y
56CONFIG_BT_L2CAP=y
57CONFIG_BT_SCO=y
58CONFIG_BT_RFCOMM=y
59CONFIG_BT_RFCOMM_TTY=y
60CONFIG_BT_BNEP=y
61CONFIG_BT_BNEP_MC_FILTER=y
62CONFIG_BT_BNEP_PROTO_FILTER=y
63CONFIG_BT_HIDP=y
64CONFIG_BT_HCIUART=y
65CONFIG_BT_HCIUART_H4=y
66CONFIG_BT_HCIUART_BCSP=y
67CONFIG_BT_HCIBCM203X=y
68CONFIG_BT_HCIBPA10X=y
69CONFIG_CFG80211=y
70CONFIG_MAC80211=y
71CONFIG_MAC80211_RC_PID=y
72CONFIG_MAC80211_RC_DEFAULT_PID=y
73CONFIG_MAC80211_LEDS=y
74CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
75CONFIG_MTD=y
76CONFIG_MTD_CONCAT=y
77CONFIG_MTD_PARTITIONS=y
78CONFIG_MTD_CHAR=y
79CONFIG_MTD_BLOCK=y
80CONFIG_MTD_NAND=y
81CONFIG_BLK_DEV_LOOP=y
82CONFIG_BLK_DEV_CRYPTOLOOP=m
83CONFIG_BLK_DEV_RAM=y
84CONFIG_BLK_DEV_RAM_SIZE=16384
85CONFIG_CDROM_PKTCDVD=m
86CONFIG_EEPROM_LEGACY=y
87CONFIG_RAID_ATTRS=m
88CONFIG_SCSI=y
89CONFIG_BLK_DEV_SD=y
90CONFIG_CHR_DEV_SG=m
91CONFIG_SCSI_MULTI_LUN=y
92CONFIG_MD=y
93CONFIG_BLK_DEV_MD=m
94CONFIG_MD_LINEAR=m
95CONFIG_MD_RAID0=m
96CONFIG_MD_RAID1=m
97CONFIG_MD_RAID10=m
98CONFIG_MD_RAID456=m
99CONFIG_MD_MULTIPATH=m
100CONFIG_MD_FAULTY=m
101CONFIG_BLK_DEV_DM=m
102CONFIG_DM_CRYPT=m
103CONFIG_DM_SNAPSHOT=m
104CONFIG_DM_MIRROR=m
105CONFIG_DM_ZERO=m
106CONFIG_DM_MULTIPATH=m
107CONFIG_DM_DELAY=m
108CONFIG_NETDEVICES=y
109CONFIG_DUMMY=m
110CONFIG_TUN=m
111# CONFIG_NETDEV_1000 is not set
112# CONFIG_NETDEV_10000 is not set
113CONFIG_USB_ZD1201=m
114CONFIG_RTL8187=m
115CONFIG_HOSTAP=m
116CONFIG_HOSTAP_FIRMWARE=y
117CONFIG_HOSTAP_FIRMWARE_NVRAM=y
118CONFIG_LIBERTAS=y
119CONFIG_LIBERTAS_USB=y
120CONFIG_LIBERTAS_SDIO=y
121CONFIG_LIBERTAS_DEBUG=y
122CONFIG_P54_COMMON=m
123CONFIG_P54_USB=m
124CONFIG_USB_CATC=m
125CONFIG_USB_KAWETH=m
126CONFIG_USB_PEGASUS=m
127CONFIG_USB_RTL8150=m
128CONFIG_USB_USBNET=y
129CONFIG_USB_NET_DM9601=m
130CONFIG_USB_NET_GL620A=m
131CONFIG_USB_NET_NET1080=m
132CONFIG_USB_NET_PLUSB=m
133CONFIG_USB_NET_MCS7830=m
134CONFIG_USB_NET_RNDIS_HOST=m
135CONFIG_USB_NET_CDC_SUBSET=m
136CONFIG_USB_ALI_M5632=y
137CONFIG_USB_AN2720=y
138CONFIG_USB_EPSON2888=y
139CONFIG_USB_KC2190=y
140CONFIG_USB_NET_ZAURUS=m
141CONFIG_PPP=m
142CONFIG_PPP_ASYNC=m
143CONFIG_PPP_SYNC_TTY=m
144CONFIG_PPP_DEFLATE=m
145CONFIG_PPP_BSDCOMP=m
146CONFIG_PPP_MPPE=m
147CONFIG_PPPOE=m
148CONFIG_INPUT_EVDEV=y
149# CONFIG_KEYBOARD_ATKBD is not set
150CONFIG_VT_HW_CONSOLE_BINDING=y
151CONFIG_SERIAL_8250=y
152CONFIG_SERIAL_8250_CONSOLE=y
153CONFIG_SERIAL_8250_NR_UARTS=32
154CONFIG_SERIAL_8250_EXTENDED=y
155CONFIG_SERIAL_8250_MANY_PORTS=y
156CONFIG_SERIAL_8250_SHARE_IRQ=y
157CONFIG_SERIAL_8250_DETECT_IRQ=y
158CONFIG_SERIAL_8250_RSA=y
159# CONFIG_LEGACY_PTYS is not set
160CONFIG_HW_RANDOM=y
161CONFIG_I2C=y
162CONFIG_I2C_CHARDEV=y
163CONFIG_I2C_OMAP=y
164CONFIG_SPI=y
165CONFIG_SPI_OMAP24XX=y
166CONFIG_DEBUG_GPIO=y
167CONFIG_GPIO_SYSFS=y
168CONFIG_POWER_SUPPLY=m
169CONFIG_WATCHDOG=y
170CONFIG_WATCHDOG_NOWAYOUT=y
171CONFIG_DISPLAY_SUPPORT=y
172# CONFIG_VGA_CONSOLE is not set
173CONFIG_SOUND=y
174CONFIG_SND=y
175CONFIG_SND_SEQUENCER=m
176CONFIG_SND_MIXER_OSS=y
177CONFIG_SND_PCM_OSS=y
178CONFIG_SND_SEQUENCER_OSS=y
179CONFIG_SND_VERBOSE_PRINTK=y
180CONFIG_SND_DEBUG=y
181CONFIG_SND_USB_AUDIO=y
182CONFIG_SND_USB_CAIAQ=m
183CONFIG_SND_USB_CAIAQ_INPUT=y
184CONFIG_SND_SOC=y
185CONFIG_SND_OMAP_SOC=y
186CONFIG_USB=y
187CONFIG_USB_DEBUG=y
188CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
189CONFIG_USB_DEVICEFS=y
190CONFIG_USB_MON=y
191CONFIG_USB_MUSB_HDRC=y
192CONFIG_MUSB_PIO_ONLY=y
193CONFIG_USB_ACM=m
194CONFIG_USB_PRINTER=m
195CONFIG_USB_WDM=y
196CONFIG_USB_STORAGE=y
197CONFIG_USB_SERIAL=m
198CONFIG_USB_EMI62=m
199CONFIG_USB_EMI26=m
200CONFIG_USB_LEGOTOWER=m
201CONFIG_USB_LCD=m
202CONFIG_USB_LED=m
203CONFIG_MMC=y
204CONFIG_MMC_UNSAFE_RESUME=y
205CONFIG_SDIO_UART=y
206CONFIG_LEDS_CLASS=y
207CONFIG_LEDS_GPIO=y
208CONFIG_LEDS_TRIGGER_TIMER=y
209CONFIG_LEDS_TRIGGER_HEARTBEAT=y
210CONFIG_RTC_CLASS=y
211CONFIG_EXT2_FS=y
212CONFIG_EXT3_FS=y
213# CONFIG_EXT3_FS_XATTR is not set
214CONFIG_XFS_FS=m
215CONFIG_INOTIFY=y
216CONFIG_QUOTA=y
217CONFIG_QFMT_V2=y
218CONFIG_FUSE_FS=m
219CONFIG_ISO9660_FS=m
220CONFIG_JOLIET=y
221CONFIG_ZISOFS=y
222CONFIG_UDF_FS=m
223CONFIG_MSDOS_FS=y
224CONFIG_VFAT_FS=y
225CONFIG_TMPFS=y
226CONFIG_JFFS2_FS=y
227CONFIG_JFFS2_SUMMARY=y
228CONFIG_JFFS2_FS_XATTR=y
229CONFIG_JFFS2_COMPRESSION_OPTIONS=y
230CONFIG_JFFS2_LZO=y
231CONFIG_JFFS2_RUBIN=y
232CONFIG_NFS_FS=y
233CONFIG_NFS_V3=y
234CONFIG_NFS_V4=y
235CONFIG_ROOT_NFS=y
236CONFIG_PARTITION_ADVANCED=y
237CONFIG_NLS_CODEPAGE_437=y
238CONFIG_NLS_ISO8859_1=y
239CONFIG_MAGIC_SYSRQ=y
240CONFIG_DEBUG_FS=y
241CONFIG_DEBUG_KERNEL=y
242CONFIG_SCHEDSTATS=y
243CONFIG_TIMER_STATS=y
244CONFIG_DEBUG_MUTEXES=y
245# CONFIG_DEBUG_BUGVERBOSE is not set
246# CONFIG_FTRACE is not set
247CONFIG_CRYPTO_NULL=m
248CONFIG_CRYPTO_CRYPTD=m
249CONFIG_CRYPTO_TEST=m
250CONFIG_CRYPTO_LRW=m
251CONFIG_CRYPTO_PCBC=m
252CONFIG_CRYPTO_HMAC=m
253CONFIG_CRYPTO_XCBC=m
254CONFIG_CRYPTO_MD4=m
255CONFIG_CRYPTO_MICHAEL_MIC=y
256CONFIG_CRYPTO_SHA256=m
257CONFIG_CRYPTO_SHA512=m
258CONFIG_CRYPTO_TGR192=m
259CONFIG_CRYPTO_WP512=m
260CONFIG_CRYPTO_ANUBIS=m
261CONFIG_CRYPTO_BLOWFISH=m
262CONFIG_CRYPTO_CAMELLIA=m
263CONFIG_CRYPTO_CAST5=m
264CONFIG_CRYPTO_CAST6=m
265CONFIG_CRYPTO_FCRYPT=m
266CONFIG_CRYPTO_KHAZAD=m
267CONFIG_CRYPTO_SERPENT=m
268CONFIG_CRYPTO_TEA=m
269CONFIG_CRYPTO_TWOFISH=m
270CONFIG_CRYPTO_DEFLATE=m
271CONFIG_CRC_CCITT=y
272CONFIG_CRC_T10DIF=y
273CONFIG_CRC_ITU_T=y
274CONFIG_CRC7=y
275CONFIG_LIBCRC32C=y
arch/arm/configs/rx51_defconfig+0−222
@@ -1,222 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_POSIX_MQUEUE=y
4CONFIG_BSD_PROCESS_ACCT=y
5CONFIG_BLK_DEV_INITRD=y
6CONFIG_EMBEDDED=y
7# CONFIG_SYSCTL_SYSCALL is not set
8CONFIG_KALLSYMS_EXTRA_PASS=y
9CONFIG_SLAB=y
10CONFIG_KPROBES=y
11CONFIG_MODULES=y
12CONFIG_MODULE_FORCE_LOAD=y
13CONFIG_MODULE_UNLOAD=y
14CONFIG_MODULE_FORCE_UNLOAD=y
15CONFIG_MODVERSIONS=y
16CONFIG_MODULE_SRCVERSION_ALL=y
17# CONFIG_BLK_DEV_BSG is not set
18# CONFIG_IOSCHED_DEADLINE is not set
19CONFIG_ARCH_OMAP=y
20CONFIG_ARCH_OMAP3=y
21CONFIG_OMAP_RESET_CLOCKS=y
22CONFIG_OMAP_MUX_DEBUG=y
23CONFIG_OMAP_32K_TIMER=y
24CONFIG_OMAP_DM_TIMER=y
25CONFIG_ARCH_OMAP3430=y
26CONFIG_MACH_NOKIA_RX51=y
27CONFIG_NO_HZ=y
28CONFIG_HIGH_RES_TIMERS=y
29CONFIG_AEABI=y
30# CONFIG_OABI_COMPAT is not set
31CONFIG_ZBOOT_ROM_TEXT=0x0
32CONFIG_ZBOOT_ROM_BSS=0x0
33CONFIG_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"
34CONFIG_VFP=y
35CONFIG_NEON=y
36CONFIG_BINFMT_MISC=y
37CONFIG_PM=y
38CONFIG_PM_DEBUG=y
39CONFIG_PM_RUNTIME=y
40CONFIG_NET=y
41CONFIG_PACKET=y
42CONFIG_UNIX=y
43CONFIG_NET_KEY=y
44CONFIG_INET=y
45CONFIG_IP_PNP=y
46CONFIG_IP_PNP_DHCP=y
47CONFIG_IP_PNP_BOOTP=y
48CONFIG_IP_PNP_RARP=y
49# CONFIG_INET_LRO is not set
50# CONFIG_IPV6 is not set
51CONFIG_NETFILTER=y
52CONFIG_IP_NF_IPTABLES=m
53CONFIG_IP_NF_FILTER=m
54CONFIG_PHONET=y
55CONFIG_BT=m
56CONFIG_BT_L2CAP=m
57CONFIG_BT_SCO=m
58CONFIG_BT_RFCOMM=m
59CONFIG_BT_RFCOMM_TTY=y
60CONFIG_BT_BNEP=m
61CONFIG_BT_BNEP_MC_FILTER=y
62CONFIG_BT_BNEP_PROTO_FILTER=y
63CONFIG_BT_HIDP=m
64CONFIG_CFG80211=y
65CONFIG_MAC80211=m
66CONFIG_MAC80211_RC_PID=y
67# CONFIG_MAC80211_RC_MINSTREL is not set
68CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
69CONFIG_MTD=y
70CONFIG_MTD_CONCAT=y
71CONFIG_MTD_CMDLINE_PARTS=y
72CONFIG_MTD_CHAR=y
73CONFIG_MTD_BLOCK=y
74CONFIG_MTD_OOPS=y
75CONFIG_MTD_CFI=y
76CONFIG_MTD_CFI_INTELEXT=y
77CONFIG_MTD_ONENAND=y
78CONFIG_MTD_ONENAND_OMAP2=y
79CONFIG_MTD_UBI=y
80CONFIG_BLK_DEV_LOOP=y
81CONFIG_BLK_DEV_RAM=y
82CONFIG_SCSI=m
83CONFIG_BLK_DEV_SD=m
84CONFIG_SCSI_MULTI_LUN=y
85CONFIG_SCSI_SCAN_ASYNC=y
86CONFIG_NETDEVICES=y
87CONFIG_TUN=m
88CONFIG_NET_ETHERNET=y
89CONFIG_SMC91X=m
90# CONFIG_NETDEV_1000 is not set
91# CONFIG_NETDEV_10000 is not set
92# CONFIG_INPUT_MOUSEDEV is not set
93CONFIG_INPUT_EVDEV=y
94# CONFIG_KEYBOARD_ATKBD is not set
95CONFIG_KEYBOARD_GPIO=m
96CONFIG_KEYBOARD_TWL4030=y
97# CONFIG_INPUT_MOUSE is not set
98CONFIG_INPUT_TOUCHSCREEN=y
99CONFIG_INPUT_MISC=y
100CONFIG_INPUT_TWL4030_PWRBUTTON=y
101CONFIG_INPUT_UINPUT=m
102# CONFIG_SERIO is not set
103CONFIG_SERIAL_8250=y
104CONFIG_SERIAL_8250_CONSOLE=y
105# CONFIG_LEGACY_PTYS is not set
106CONFIG_I2C=y
107CONFIG_I2C_CHARDEV=y
108CONFIG_I2C_OMAP=y
109CONFIG_SPI=y
110CONFIG_SPI_OMAP24XX=y
111CONFIG_GPIO_SYSFS=y
112CONFIG_GPIO_TWL4030=y
113CONFIG_WATCHDOG=y
114CONFIG_OMAP_WATCHDOG=m
115CONFIG_TWL4030_WATCHDOG=m
116CONFIG_TWL4030_CORE=y
117CONFIG_REGULATOR=y
118CONFIG_REGULATOR_TWL4030=y
119CONFIG_FB=y
120CONFIG_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
124CONFIG_OMAP2_DSS_SDI=y
125CONFIG_FB_OMAP2=y
126CONFIG_PANEL_ACX565AKM=y
127CONFIG_DISPLAY_SUPPORT=y
128# CONFIG_VGA_CONSOLE is not set
129CONFIG_FRAMEBUFFER_CONSOLE=y
130CONFIG_LOGO=y
131CONFIG_SOUND=y
132CONFIG_SND=y
133# CONFIG_SND_USB is not set
134CONFIG_SND_SOC=y
135CONFIG_SND_OMAP_SOC=y
136CONFIG_HID=m
137CONFIG_USB_HID=m
138CONFIG_HID_A4TECH=m
139CONFIG_HID_APPLE=m
140CONFIG_HID_BELKIN=m
141CONFIG_HID_CHERRY=m
142CONFIG_HID_CHICONY=m
143CONFIG_HID_CYPRESS=m
144CONFIG_HID_EZKEY=m
145CONFIG_HID_GYRATION=m
146CONFIG_HID_LOGITECH=m
147CONFIG_HID_MICROSOFT=m
148CONFIG_HID_MONTEREY=m
149CONFIG_HID_PANTHERLORD=m
150CONFIG_HID_PETALYNX=m
151CONFIG_HID_SAMSUNG=m
152CONFIG_HID_SONY=m
153CONFIG_HID_SUNPLUS=m
154CONFIG_USB=y
155CONFIG_USB_DEBUG=y
156CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
157CONFIG_USB_DEVICEFS=y
158CONFIG_USB_SUSPEND=y
159CONFIG_USB_OTG_BLACKLIST_HUB=y
160CONFIG_USB_MON=y
161CONFIG_USB_MUSB_HDRC=y
162CONFIG_USB_MUSB_OTG=y
163CONFIG_USB_GADGET_MUSB_HDRC=y
164CONFIG_USB_STORAGE=m
165CONFIG_USB_LIBUSUAL=y
166CONFIG_USB_TEST=m
167CONFIG_USB_GADGET=m
168CONFIG_USB_GADGET_DEBUG=y
169CONFIG_USB_GADGET_DEBUG_FILES=y
170CONFIG_USB_GADGET_DEBUG_FS=y
171CONFIG_USB_ZERO=m
172CONFIG_USB_FILE_STORAGE=m
173CONFIG_USB_G_NOKIA=m
174CONFIG_TWL4030_USB=y
175CONFIG_MMC=m
176# CONFIG_MMC_BLOCK_BOUNCE is not set
177CONFIG_MMC_OMAP_HS=m
178CONFIG_NEW_LEDS=y
179CONFIG_LEDS_CLASS=m
180CONFIG_RTC_CLASS=m
181CONFIG_RTC_DRV_TWL4030=m
182CONFIG_EXT2_FS=m
183CONFIG_EXT3_FS=m
184# CONFIG_EXT3_FS_XATTR is not set
185CONFIG_INOTIFY=y
186CONFIG_QUOTA=y
187CONFIG_QFMT_V2=y
188CONFIG_FUSE_FS=m
189CONFIG_MSDOS_FS=m
190CONFIG_VFAT_FS=m
191CONFIG_TMPFS=y
192CONFIG_UBIFS_FS=y
193CONFIG_CRAMFS=y
194CONFIG_NFS_FS=m
195CONFIG_NFS_V3=y
196CONFIG_NFS_V4=y
197CONFIG_PARTITION_ADVANCED=y
198CONFIG_NLS_CODEPAGE_437=y
199CONFIG_NLS_ISO8859_1=y
200CONFIG_PRINTK_TIME=y
201CONFIG_MAGIC_SYSRQ=y
202CONFIG_DEBUG_FS=y
203CONFIG_DEBUG_KERNEL=y
204CONFIG_TIMER_STATS=y
205CONFIG_PROVE_LOCKING=y
206CONFIG_LOCK_STAT=y
207CONFIG_DEBUG_SPINLOCK_SLEEP=y
208# CONFIG_DEBUG_BUGVERBOSE is not set
209CONFIG_DEBUG_INFO=y
210# CONFIG_RCU_CPU_STALL_DETECTOR is not set
211CONFIG_SECURITY=y
212CONFIG_CRYPTO_CBC=y
213CONFIG_CRYPTO_ECB=y
214CONFIG_CRYPTO_PCBC=m
215CONFIG_CRYPTO_MD5=y
216CONFIG_CRYPTO_AES=y
217CONFIG_CRYPTO_ARC4=y
218CONFIG_CRYPTO_DES=y
219# CONFIG_CRYPTO_ANSI_CPRNG is not set
220CONFIG_CRC_CCITT=y
221CONFIG_CRC7=m
222CONFIG_LIBCRC32C=y
arch/arm/configs/s5pc110_defconfig+0−66
@@ -1,66 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSFS_DEPRECATED_V2=y
3CONFIG_BLK_DEV_INITRD=y
4CONFIG_KALLSYMS_ALL=y
5CONFIG_MODULES=y
6CONFIG_MODULE_UNLOAD=y
7# CONFIG_BLK_DEV_BSG is not set
8CONFIG_ARCH_S5PV210=y
9CONFIG_S3C_LOWLEVEL_UART_PORT=1
10CONFIG_MACH_SMDKC110=y
11CONFIG_VMSPLIT_2G=y
12CONFIG_PREEMPT=y
13CONFIG_AEABI=y
14CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x20800000,8M console=ttySAC1,115200 init=/linuxrc"
15CONFIG_VFP=y
16CONFIG_NEON=y
17CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
18CONFIG_BLK_DEV_LOOP=y
19CONFIG_BLK_DEV_RAM=y
20CONFIG_BLK_DEV_RAM_SIZE=8192
21# CONFIG_MISC_DEVICES is not set
22CONFIG_SCSI=y
23CONFIG_BLK_DEV_SD=y
24CONFIG_CHR_DEV_SG=y
25CONFIG_INPUT_EVDEV=y
26# CONFIG_INPUT_KEYBOARD is not set
27# CONFIG_INPUT_MOUSE is not set
28CONFIG_INPUT_TOUCHSCREEN=y
29CONFIG_SERIAL_8250=y
30CONFIG_SERIAL_SAMSUNG=y
31CONFIG_SERIAL_SAMSUNG_CONSOLE=y
32CONFIG_HW_RANDOM=y
33# CONFIG_HWMON is not set
34# CONFIG_VGA_CONSOLE is not set
35# CONFIG_HID_SUPPORT is not set
36# CONFIG_USB_SUPPORT is not set
37CONFIG_EXT2_FS=y
38CONFIG_INOTIFY=y
39CONFIG_MSDOS_FS=y
40CONFIG_VFAT_FS=y
41CONFIG_TMPFS=y
42CONFIG_TMPFS_POSIX_ACL=y
43CONFIG_CRAMFS=y
44CONFIG_ROMFS_FS=y
45CONFIG_PARTITION_ADVANCED=y
46CONFIG_BSD_DISKLABEL=y
47CONFIG_SOLARIS_X86_PARTITION=y
48CONFIG_NLS_CODEPAGE_437=y
49CONFIG_NLS_ASCII=y
50CONFIG_NLS_ISO8859_1=y
51CONFIG_MAGIC_SYSRQ=y
52CONFIG_DEBUG_KERNEL=y
53# CONFIG_DEBUG_PREEMPT is not set
54CONFIG_DEBUG_RT_MUTEXES=y
55CONFIG_DEBUG_SPINLOCK=y
56CONFIG_DEBUG_MUTEXES=y
57CONFIG_DEBUG_SPINLOCK_SLEEP=y
58CONFIG_DEBUG_INFO=y
59# CONFIG_RCU_CPU_STALL_DETECTOR is not set
60CONFIG_SYSCTL_SYSCALL_CHECK=y
61CONFIG_DEBUG_USER=y
62CONFIG_DEBUG_ERRORS=y
63CONFIG_DEBUG_LL=y
64CONFIG_EARLY_PRINTK=y
65CONFIG_DEBUG_S3C_UART=1
66CONFIG_CRC_CCITT=y
arch/arm/configs/s5pv210_defconfig+5−0
@@ -7,6 +7,11 @@ CONFIG_MODULE_UNLOAD=y · 6 unmodified lines
7# CONFIG_BLK_DEV_BSG is not set7# CONFIG_BLK_DEV_BSG is not set
8CONFIG_ARCH_S5PV210=y8CONFIG_ARCH_S5PV210=y
9CONFIG_S3C_LOWLEVEL_UART_PORT=19CONFIG_S3C_LOWLEVEL_UART_PORT=1
10CONFIG_S3C_DEV_FB=y
11CONFIG_S5PV210_SETUP_FB_24BPP=y
12CONFIG_MACH_AQUILA=y
13CONFIG_MACH_GONI=y
14CONFIG_MACH_SMDKC110=y
10CONFIG_MACH_SMDKV210=y15CONFIG_MACH_SMDKV210=y
11CONFIG_VMSPLIT_2G=y16CONFIG_VMSPLIT_2G=y
12CONFIG_PREEMPT=y17CONFIG_PREEMPT=y
arch/arm/include/asm/cache.h+1−1
@@ -14,7 +14,7 @@ · 13 unmodified lines
14 * cache before the transfer is done, causing old data to be seen by14 * cache before the transfer is done, causing old data to be seen by
15 * the CPU.15 * the CPU.
16 */16 */
17#define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES17#define ARCH_DMA_MINALIGN L1_CACHE_BYTES
18 18
19/*19/*
20 * With EABI on ARMv5 and above we must have 64-bit aligned slab pointers.20 * 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
144 return 0;144 return 0;
145}145}
146 146
147static inline int dma_get_cache_alignment(void)
148{
149 return 32;
150}
151
152static inline int dma_is_consistent(struct device *dev, dma_addr_t handle)
153{
154 return !!arch_is_coherent();
155}
156
157/*147/*
158 * DMA errors are defined by all-bits-set in the DMA address.148 * DMA errors are defined by all-bits-set in the DMA address.
159 */149 */
@@ -298,7 +288,15 @@ extern void dmabounce_unregister_dev(struct device *); · 138 unmodified lines
298 * DMA access and 1 if the buffer needs to be bounced.288 * DMA access and 1 if the buffer needs to be bounced.
299 *289 *
300 */290 */
291#ifdef CONFIG_SA1111
301extern int dma_needs_bounce(struct device*, dma_addr_t, size_t);292extern int dma_needs_bounce(struct device*, dma_addr_t, size_t);
293#else
294static inline int dma_needs_bounce(struct device *dev, dma_addr_t addr,
295 size_t size)
296{
297 return 0;
298}
299#endif
302 300
303/*301/*
304 * The DMA API, implemented by dmabounce.c. See below for descriptions.302 * 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
59 59
60#define R_ARM_THM_CALL 1060#define R_ARM_THM_CALL 10
61#define R_ARM_THM_JUMP24 3061#define R_ARM_THM_JUMP24 30
62#define R_ARM_THM_MOVW_ABS_NC 47
63#define R_ARM_THM_MOVT_ABS 48
62 64
63/*65/*
64 * These are used to set parameters in the core dumps.66 * 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
121extern void elf_set_personality(const struct elf32_hdr *);123extern void elf_set_personality(const struct elf32_hdr *);
122#define SET_PERSONALITY(ex) elf_set_personality(&(ex))124#define SET_PERSONALITY(ex) elf_set_personality(&(ex))
123 125
126struct mm_struct;
127extern unsigned long arch_randomize_brk(struct mm_struct *mm);
128#define arch_randomize_brk arch_randomize_brk
129
124#endif130#endif
arch/arm/include/asm/hardware/coresight.h+6−2
@@ -48,8 +48,6 @@ struct tracectx { · 47 unmodified lines
48/* CoreSight Component Registers */48/* CoreSight Component Registers */
49#define CSCR_CLASS 0xff449#define CSCR_CLASS 0xff4
50 50
51#define CSCR_PRSR 0x314
52
53#define UNLOCK_MAGIC 0xc5acce5551#define UNLOCK_MAGIC 0xc5acce55
54 52
55/* ETM control register, "ETM Architecture", 3.3.1 */53/* ETM control register, "ETM Architecture", 3.3.1 */
@@ -132,6 +130,12 @@ struct tracectx { · 76 unmodified lines
132 ETMCTRL_BRANCH_OUTPUT | \130 ETMCTRL_BRANCH_OUTPUT | \
133 ETMCTRL_DO_CONTEXTID)131 ETMCTRL_DO_CONTEXTID)
134 132
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
135/* ETB registers, "CoreSight Components TRM", 9.3 */139/* ETB registers, "CoreSight Components TRM", 9.3 */
136#define ETBR_DEPTH 0x04140#define ETBR_DEPTH 0x04
137#define ETBR_STATUS 0x0c141#define ETBR_STATUS 0x0c
arch/arm/include/asm/hardware/scoop.h+17−12
@@ -22,18 +22,23 @@ · 21 unmodified lines
22#define SCOOP_GPWR 0x2422#define SCOOP_GPWR 0x24
23#define SCOOP_GPRR 0x2823#define SCOOP_GPRR 0x28
24 24
25#define SCOOP_GPCR_PA22 ( 1 << 12 )25#define SCOOP_CPR_OUT (1 << 7)
26#define SCOOP_GPCR_PA21 ( 1 << 11 )26#define SCOOP_CPR_SD_3V (1 << 2)
27#define SCOOP_GPCR_PA20 ( 1 << 10 )27#define SCOOP_CPR_CF_XV (1 << 1)
28#define SCOOP_GPCR_PA19 ( 1 << 9 )28#define SCOOP_CPR_CF_3V (1 << 0)
29#define SCOOP_GPCR_PA18 ( 1 << 8 )29
30#define SCOOP_GPCR_PA17 ( 1 << 7 )30#define SCOOP_GPCR_PA22 (1 << 12)
31#define SCOOP_GPCR_PA16 ( 1 << 6 )31#define SCOOP_GPCR_PA21 (1 << 11)
32#define SCOOP_GPCR_PA15 ( 1 << 5 )32#define SCOOP_GPCR_PA20 (1 << 10)
33#define SCOOP_GPCR_PA14 ( 1 << 4 )33#define SCOOP_GPCR_PA19 (1 << 9)
34#define SCOOP_GPCR_PA13 ( 1 << 3 )34#define SCOOP_GPCR_PA18 (1 << 8)
35#define SCOOP_GPCR_PA12 ( 1 << 2 )35#define SCOOP_GPCR_PA17 (1 << 7)
36#define SCOOP_GPCR_PA11 ( 1 << 1 )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)
37 42
38struct scoop_config {43struct scoop_config {
39 unsigned short io_out;44 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
36extern void *kmap(struct page *page);36extern void *kmap(struct page *page);
37extern void kunmap(struct page *page);37extern void kunmap(struct page *page);
38extern void *kmap_atomic(struct page *page, enum km_type type);38extern void *kmap_atomic(struct page *page, enum km_type type);
39extern void kunmap_atomic(void *kvaddr, enum km_type type);39extern void kunmap_atomic_notypecheck(void *kvaddr, enum km_type type);
40extern void *kmap_atomic_pfn(unsigned long pfn, enum km_type type);40extern void *kmap_atomic_pfn(unsigned long pfn, enum km_type type);
41extern struct page *kmap_atomic_to_page(const void *ptr);41extern struct page *kmap_atomic_to_page(const void *ptr);
42#endif42#endif
arch/arm/include/asm/hwcap.h+1−0
@@ -19,6 +19,7 @@ · 18 unmodified lines
19#define HWCAP_NEON 409619#define HWCAP_NEON 4096
20#define HWCAP_VFPv3 819220#define HWCAP_VFPv3 8192
21#define HWCAP_VFPv3D16 1638421#define HWCAP_VFPv3D16 16384
22#define HWCAP_TLS 32768
22 23
23#if defined(__KERNEL__) && !defined(__ASSEMBLY__)24#if defined(__KERNEL__) && !defined(__ASSEMBLY__)
24/*25/*
arch/arm/include/asm/ioctls.h+2−0
@@ -52,6 +52,7 @@ · 51 unmodified lines
52#define TCSETSF2 _IOW('T',0x2D, struct termios2)52#define TCSETSF2 _IOW('T',0x2D, struct termios2)
53#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */53#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
54#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */54#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */
55#define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */
55 56
56#define TIOCGRS485 0x542E57#define TIOCGRS485 0x542E
57#define TIOCSRS485 0x542F58#define TIOCSRS485 0x542F
@@ -81,6 +82,7 @@ · 23 unmodified lines
81#define TIOCPKT_START 882#define TIOCPKT_START 8
82#define TIOCPKT_NOSTOP 1683#define TIOCPKT_NOSTOP 16
83#define TIOCPKT_DOSTOP 3284#define TIOCPKT_DOSTOP 32
85#define TIOCPKT_IOCTL 64
84 86
85#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */87#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
86 88
arch/arm/include/asm/irq.h+2−0
@@ -7,6 +7,8 @@ · 6 unmodified lines
7#define irq_canonicalize(i) (i)7#define irq_canonicalize(i) (i)
8#endif8#endif
9 9
10#define NR_IRQS_LEGACY 16
11
10/*12/*
11 * Use this value to indicate lack of interrupt13 * Use this value to indicate lack of interrupt
12 * capability14 * capability
arch/arm/include/asm/kexec.h+19−3
@@ -19,10 +19,26 @@ · 18 unmodified lines
19 19
20#ifndef __ASSEMBLY__20#ifndef __ASSEMBLY__
21 21
22struct kimage;22/**
23/* Provide a dummy definition to avoid build failures. */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 */
24static inline void crash_setup_regs(struct pt_regs *newregs,30static 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}
26 42
27#endif /* __ASSEMBLY__ */43#endif /* __ASSEMBLY__ */
28 44
arch/arm/include/asm/kgdb.h+3−3
@@ -70,11 +70,11 @@ extern int kgdb_fault_expected; · 69 unmodified lines
70#define _GP_REGS 1670#define _GP_REGS 16
71#define _FP_REGS 871#define _FP_REGS 8
72#define _EXTRA_REGS 272#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)
74 74
75#define KGDB_MAX_NO_CPUS 175#define KGDB_MAX_NO_CPUS 1
76#define BUFMAX 40076#define BUFMAX 400
77#define NUMREGBYTES (GDB_MAX_REGS << 2)77#define NUMREGBYTES (DBG_MAX_REG_NUM << 2)
78#define NUMCRITREGBYTES (32 << 2)78#define NUMCRITREGBYTES (32 << 2)
79 79
80#define _R0 080#define _R0 0
@@ -93,7 +93,7 @@ extern int kgdb_fault_expected; · 12 unmodified lines
93#define _SPT 1393#define _SPT 13
94#define _LR 1494#define _LR 14
95#define _PC 1595#define _PC 15
96#define _CPSR (GDB_MAX_REGS - 1)96#define _CPSR (DBG_MAX_REG_NUM - 1)
97 97
98/*98/*
99 * So that we can denote the end of a frame for tracing,99 * 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
20 * by assembler code in head.S, head-common.S20 * by assembler code in head.S, head-common.S
21 */21 */
22 unsigned int nr; /* architecture number */22 unsigned int nr; /* architecture number */
23 unsigned int nr_irqs; /* number of IRQs */
23 unsigned int phys_io; /* start of physical io */24 unsigned int phys_io; /* start of physical io */
24 unsigned int io_pg_offst; /* byte offset for io 25 unsigned int io_pg_offst; /* byte offset for io
25 * page tabe entry */26 * page tabe entry */
@@ -37,6 +38,7 @@ struct machine_desc { · 11 unmodified lines
37 void (*fixup)(struct machine_desc *,38 void (*fixup)(struct machine_desc *,
38 struct tag *, char **,39 struct tag *, char **,
39 struct meminfo *);40 struct meminfo *);
41 void (*reserve)(void);/* reserve mem blocks */
40 void (*map_io)(void);/* IO mapping function */42 void (*map_io)(void);/* IO mapping function */
41 void (*init_irq)(void);43 void (*init_irq)(void);
42 struct sys_timer *timer; /* system tick timer */44 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
17/*17/*
18 * This is internal. Do not use it.18 * This is internal. Do not use it.
19 */19 */
20extern unsigned int arch_nr_irqs;
20extern void (*init_arch_irq)(void);21extern void (*init_arch_irq)(void);
21extern void init_FIQ(void);22extern void init_FIQ(void);
22extern int show_fiq_list(struct seq_file *, void *);23extern 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
27#define MT_MEMORY 927#define MT_MEMORY 9
28#define MT_ROM 1028#define MT_ROM 10
29#define MT_MEMORY_NONCACHED 1129#define MT_MEMORY_NONCACHED 11
30#define MT_MEMORY_DTCM 12
31#define MT_MEMORY_ITCM 13
30 32
31#ifdef CONFIG_MMU33#ifdef CONFIG_MMU
32extern void iotable_init(struct map_desc *, int);34extern 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
46 /* IRQ mapping */46 /* IRQ mapping */
47 int (*map_irq)(struct pci_dev *, u8, u8);47 int (*map_irq)(struct pci_dev *, u8, u8);
48 struct hw_pci *hw;48 struct hw_pci *hw;
49 void *private_data; /* platform controller private data */
49};50};
50 51
51/*52/*
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
5extern 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
11struct meminfo;
12struct machine_desc;
13
14extern 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
123 123
124#endif /* !CONFIG_MMU */124#endif /* !CONFIG_MMU */
125 125
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
126/*135/*
127 * Physical vs virtual RAM address space conversion. These are136 * Physical vs virtual RAM address space conversion. These are
128 * private definitions which should NOT be used outside memory.h137 * private definitions which should NOT be used outside memory.h
@@ -158,7 +167,7 @@ · 29 unmodified lines
158#endif167#endif
159 168
160#ifndef arch_adjust_zones169#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)
162#elif !defined(CONFIG_ZONE_DMA)171#elif !defined(CONFIG_ZONE_DMA)
163#error "custom arch_adjust_zones() requires CONFIG_ZONE_DMA"172#error "custom arch_adjust_zones() requires CONFIG_ZONE_DMA"
164#endif173#endif
@@ -234,76 +243,11 @@ static inline __deprecated void *bus_to_virt(unsigned long x) · 69 unmodified lines
234 * virt_to_page(k) convert a _valid_ virtual address to struct page *243 * virt_to_page(k) convert a _valid_ virtual address to struct page *
235 * virt_addr_valid(k) indicates whether a virtual address is valid244 * virt_addr_valid(k) indicates whether a virtual address is valid
236 */245 */
237#ifndef CONFIG_DISCONTIGMEM
238
239#define ARCH_PFN_OFFSET PHYS_PFN_OFFSET246#define ARCH_PFN_OFFSET PHYS_PFN_OFFSET
240 247
241#define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)248#define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)
242#define virt_addr_valid(kaddr) ((unsigned long)(kaddr) >= PAGE_OFFSET && (unsigned long)(kaddr) < (unsigned long)high_memory)249#define virt_addr_valid(kaddr) ((unsigned long)(kaddr) >= PAGE_OFFSET && (unsigned long)(kaddr) < (unsigned long)high_memory)
243 250
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
307/*251/*
308 * Optional coherency support. Currently used only by selected252 * Optional coherency support. Currently used only by selected
309 * Intel XSC3-based systems.253 * 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 */
16extern 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
184#define predicate(x) ((x) & 0xf0000000)184#define predicate(x) ((x) & 0xf0000000)
185#define PREDICATE_ALWAYS 0xe0000000185#define PREDICATE_ALWAYS 0xe0000000
186 186
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
194extern int regs_query_register_offset(const char *name);
195extern const char *regs_query_register_name(unsigned int offset);
196extern bool regs_within_kernel_stack(struct pt_regs *regs, unsigned long addr);
197extern 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 */
209static 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. */
218static inline unsigned long kernel_stack_pointer(struct pt_regs *regs)
219{
220 return regs->ARM_sp;
221}
222
187#endif /* __KERNEL__ */223#endif /* __KERNEL__ */
188 224
189#endif /* __ASSEMBLY__ */225#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
201struct membank {201struct membank {
202 unsigned long start;202 unsigned long start;
203 unsigned long size;203 unsigned long size;
204 unsigned short node;204 unsigned int highmem;
205 unsigned short highmem;
206};205};
207 206
208struct meminfo {207struct meminfo {
@@ -212,9 +211,8 @@ struct meminfo { · 3 unmodified lines
212 211
213extern struct meminfo meminfo;212extern struct meminfo meminfo;
214 213
215#define for_each_nodebank(iter,mi,no) \214#define for_each_bank(iter,mi) \
216 for (iter = 0; iter < (mi)->nr_banks; iter++) \215 for (iter = 0; iter < (mi)->nr_banks; iter++)
217 if ((mi)->bank[iter].node == no)
218 216
219#define bank_pfn_start(bank) __phys_to_pfn((bank)->start)217#define bank_pfn_start(bank) __phys_to_pfn((bank)->start)
220#define bank_pfn_end(bank) __phys_to_pfn((bank)->start + (bank)->size)218#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
18extern 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 */
26static __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
83 83
84void hook_fault_code(int nr, int (*fn)(unsigned long, unsigned int,84void hook_fault_code(int nr, int (*fn)(unsigned long, unsigned int,
85 struct pt_regs *),85 struct pt_regs *),
86 int sig, const char *name);86 int sig, int code, const char *name);
87 87
88#define xchg(ptr,x) \88#define xchg(ptr,x) \
89 ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))89 ((__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
177#define FLUSHO 0010000177#define FLUSHO 0010000
178#define PENDIN 0040000178#define PENDIN 0040000
179#define IEXTEN 0100000179#define IEXTEN 0100000
180#define EXTPROC 0200000
180 181
181/* tcflow() and TCXONC use these */182/* tcflow() and TCXONC use these */
182#define TCOOFF 0183#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
378 if (tlb_flag(TLB_V6_I_ASID))378 if (tlb_flag(TLB_V6_I_ASID))
379 asm("mcr p15, 0, %0, c8, c5, 2" : : "r" (asid) : "cc");379 asm("mcr p15, 0, %0, c8, c5, 2" : : "r" (asid) : "cc");
380 if (tlb_flag(TLB_V7_UIS_ASID))380 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
381 asm("mcr p15, 0, %0, c8, c3, 2" : : "r" (asid) : "cc");384 asm("mcr p15, 0, %0, c8, c3, 2" : : "r" (asid) : "cc");
385#endif
382 386
383 if (tlb_flag(TLB_BTB)) {387 if (tlb_flag(TLB_BTB)) {
384 /* flush the branch target cache */388 /* flush the branch target cache */
@@ -424,7 +428,11 @@ local_flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) · 39 unmodified lines
424 if (tlb_flag(TLB_V6_I_PAGE))428 if (tlb_flag(TLB_V6_I_PAGE))
425 asm("mcr p15, 0, %0, c8, c5, 1" : : "r" (uaddr) : "cc");429 asm("mcr p15, 0, %0, c8, c5, 1" : : "r" (uaddr) : "cc");
426 if (tlb_flag(TLB_V7_UIS_PAGE))430 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
427 asm("mcr p15, 0, %0, c8, c3, 1" : : "r" (uaddr) : "cc");434 asm("mcr p15, 0, %0, c8, c3, 1" : : "r" (uaddr) : "cc");
435#endif
428 436
429 if (tlb_flag(TLB_BTB)) {437 if (tlb_flag(TLB_BTB)) {
430 /* flush the branch target cache */438 /* 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
3 *3 *
4 * Assembler-only file containing VFP macros and register definitions.4 * Assembler-only file containing VFP macros and register definitions.
5 */5 */
6#include <asm/hwcap.h>
7
6#include "vfp.h"8#include "vfp.h"
7 9
8@ Macros to allow building with old toolkits (with no VFP support)10@ Macros to allow building with old toolkits (with no VFP support)
@@ -22,11 +24,19 @@ · 13 unmodified lines
22 LDC p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d0-d15}24 LDC p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d0-d15}
23#endif25#endif
24#ifdef CONFIG_VFPv326#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
25 VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 034 VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 0
26 and \tmp, \tmp, #MVFR0_A_SIMD_MASK @ A_SIMD field35 and \tmp, \tmp, #MVFR0_A_SIMD_MASK @ A_SIMD field
27 cmp \tmp, #2 @ 32 x 64bit registers?36 cmp \tmp, #2 @ 32 x 64bit registers?
28 ldceql p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d16-d31}37 ldceql p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d16-d31}
29 addne \base, \base, #32*4 @ step over unused register space38 addne \base, \base, #32*4 @ step over unused register space
39#endif
30#endif40#endif
31 .endm41 .endm
32 42
@@ -38,10 +48,18 @@ · 5 unmodified lines
38 STC p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d0-d15}48 STC p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d0-d15}
39#endif49#endif
40#ifdef CONFIG_VFPv350#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
41 VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 058 VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 0
42 and \tmp, \tmp, #MVFR0_A_SIMD_MASK @ A_SIMD field59 and \tmp, \tmp, #MVFR0_A_SIMD_MASK @ A_SIMD field
43 cmp \tmp, #2 @ 32 x 64bit registers?60 cmp \tmp, #2 @ 32 x 64bit registers?
44 stceql p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d16-d31}61 stceql p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d16-d31}
45 addne \base, \base, #32*4 @ step over unused register space62 addne \base, \base, #32*4 @ step over unused register space
63#endif
46#endif64#endif
47 .endm65 .endm
arch/arm/kernel/Makefile+4−1
@@ -13,10 +13,12 @@ CFLAGS_REMOVE_return_address.o = -pg · 12 unmodified lines
13 13
14# Object file lists.14# Object file lists.
15 15
16obj-y := compat.o elf.o entry-armv.o entry-common.o irq.o \16obj-y := elf.o entry-armv.o entry-common.o irq.o \
17 process.o ptrace.o return_address.o setup.o signal.o \17 process.o ptrace.o return_address.o setup.o signal.o \
18 sys_arm.o stacktrace.o time.o traps.o18 sys_arm.o stacktrace.o time.o traps.o
19 19
20obj-$(CONFIG_DEPRECATED_PARAM_STRUCT) += compat.o
21
20obj-$(CONFIG_LEDS) += leds.o22obj-$(CONFIG_LEDS) += leds.o
21obj-$(CONFIG_OC_ETM) += etm.o23obj-$(CONFIG_OC_ETM) += etm.o
22 24
@@ -39,6 +41,7 @@ obj-$(CONFIG_ARM_THUMBEE) += thumbee.o · 16 unmodified lines
39obj-$(CONFIG_KGDB) += kgdb.o41obj-$(CONFIG_KGDB) += kgdb.o
40obj-$(CONFIG_ARM_UNWIND) += unwind.o42obj-$(CONFIG_ARM_UNWIND) += unwind.o
41obj-$(CONFIG_HAVE_TCM) += tcm.o43obj-$(CONFIG_HAVE_TCM) += tcm.o
44obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
42 45
43obj-$(CONFIG_CRUNCH) += crunch.o crunch-bits.o46obj-$(CONFIG_CRUNCH) += crunch.o crunch-bits.o
44AFLAGS_crunch-bits.o := -Wa,-mcpu=ep931247AFLAGS_crunch-bits.o := -Wa,-mcpu=ep9312
arch/arm/kernel/asm-offsets.c+3−0
@@ -40,6 +40,9 @@ · 39 unmodified lines
40int main(void)40int main(void)
41{41{
42 DEFINE(TSK_ACTIVE_MM, offsetof(struct task_struct, active_mm));42 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
43 BLANK();46 BLANK();
44 DEFINE(TI_FLAGS, offsetof(struct thread_info, flags));47 DEFINE(TI_FLAGS, offsetof(struct thread_info, flags));
45 DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count));48 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
217 struct param_struct *params = (struct param_struct *)tags;217 struct param_struct *params = (struct param_struct *)tags;
218 build_tag_list(params, &params->u2);218 build_tag_list(params, &params->u2);
219}219}
220
221void __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
9*/9*/
10 10
11extern void convert_to_tag_list(struct tag *tags);11extern void convert_to_tag_list(struct tag *tags);
12
13extern 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 */
22unsigned 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 */
36ssize_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
22#include <asm/thread_notify.h>22#include <asm/thread_notify.h>
23#include <asm/unwind.h>23#include <asm/unwind.h>
24#include <asm/unistd.h>24#include <asm/unistd.h>
25#include <asm/tls.h>
25 26
26#include "entry-header.S"27#include "entry-header.S"
27 28
@@ -735,11 +736,11 @@ ENTRY(__switch_to) · 707 unmodified lines
735#ifdef CONFIG_MMU736#ifdef CONFIG_MMU
736 ldr r6, [r2, #TI_CPU_DOMAIN]737 ldr r6, [r2, #TI_CPU_DOMAIN]
737#endif738#endif
738#if defined(CONFIG_HAS_TLS_REG)739 set_tls r3, r4, r5
739 mcr p15, 0, r3, c13, c0, 3 @ set TLS register740#if defined(CONFIG_CC_STACKPROTECTOR) && !defined(CONFIG_SMP)
740#elif !defined(CONFIG_TLS_REG_EMUL)741 ldr r7, [r2, #TI_TASK]
741 mov r4, #0xffff0fff742 ldr r8, =__stack_chk_guard
742 str r3, [r4, #-15] @ TLS val at 0xffff0ff0743 ldr r7, [r7, #TSK_STACK_CANARY]
743#endif744#endif
744#ifdef CONFIG_MMU745#ifdef CONFIG_MMU
745 mcr p15, 0, r6, c3, c0, 0 @ Set domain register746 mcr p15, 0, r6, c3, c0, 0 @ Set domain register
@@ -749,6 +750,9 @@ ENTRY(__switch_to) · 3 unmodified lines
749 ldr r0, =thread_notify_head750 ldr r0, =thread_notify_head
750 mov r1, #THREAD_NOTIFY_SWITCH751 mov r1, #THREAD_NOTIFY_SWITCH
751 bl atomic_notifier_call_chain752 bl atomic_notifier_call_chain
753#if defined(CONFIG_CC_STACKPROTECTOR) && !defined(CONFIG_SMP)
754 str r7, [r8]
755#endif
752 THUMB( mov ip, r4 )756 THUMB( mov ip, r4 )
753 mov r0, r5757 mov r0, r5
754 ARM( ldmia r4, {r4 - sl, fp, sp, pc} ) @ Load all regs saved previously758 ARM( ldmia r4, {r4 - sl, fp, sp, pc} ) @ Load all regs saved previously
@@ -1005,17 +1009,12 @@ kuser_cmpxchg_fixup: · 250 unmodified lines
1005 */1009 */
1006 1010
1007__kuser_get_tls: @ 0xffff0fe01011__kuser_get_tls: @ 0xffff0fe0
1008 1012 ldr r0, [pc, #(16 - 8)] @ read TLS, set in kuser_get_tls_init
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
1014 usr_ret lr1013 usr_ret lr
1015 1014 mrc p15, 0, r0, c13, c0, 3 @ 0xffff0fe8 hardware TLS code
1016 .rep 51015 .rep 4
1017 .word 0 @ pad up to __kuser_helper_version1016 .word 0 @ 0xffff0ff0 software TLS value, then
1018 .endr1017 .endr @ pad up to __kuser_helper_version
1019 1018
1020/*1019/*
1021 * Reference declaration:1020 * Reference declaration:
arch/arm/kernel/entry-common.S+80−44
@@ -92,75 +92,111 @@ ENDPROC(ret_from_fork) · 91 unmodified lines
92#define CALL(x) .long x92#define CALL(x) .long x
93 93
94#ifdef CONFIG_FUNCTION_TRACER94#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 */
95#ifdef CONFIG_DYNAMIC_FTRACE131#ifdef CONFIG_DYNAMIC_FTRACE
96ENTRY(mcount)132ENTRY(mcount)
97 stmdb sp!, {r0-r3, lr}133 stmdb sp!, {r0-r3, lr}
98 mov r0, lr134 mov r0, lr
99 sub r0, r0, #MCOUNT_INSN_SIZE135 sub r0, r0, #MCOUNT_INSN_SIZE
100 136
101 .globl mcount_call137 .globl mcount_call
102mcount_call:138mcount_call:
103 bl ftrace_stub139 bl ftrace_stub
104 ldr lr, [fp, #-4] @ restore lr140 ldr lr, [fp, #-4] @ restore lr
105 ldmia sp!, {r0-r3, pc}141 ldmia sp!, {r0-r3, pc}
106 142
107ENTRY(ftrace_caller)143ENTRY(ftrace_caller)
108 stmdb sp!, {r0-r3, lr}144 stmdb sp!, {r0-r3, lr}
109 ldr r1, [fp, #-4]145 ldr r1, [fp, #-4]
110 mov r0, lr146 mov r0, lr
111 sub r0, r0, #MCOUNT_INSN_SIZE147 sub r0, r0, #MCOUNT_INSN_SIZE
112 148
113 .globl ftrace_call149 .globl ftrace_call
114ftrace_call:150ftrace_call:
115 bl ftrace_stub151 bl ftrace_stub
116 ldr lr, [fp, #-4] @ restore lr152 ldr lr, [fp, #-4] @ restore lr
117 ldmia sp!, {r0-r3, pc}153 ldmia sp!, {r0-r3, pc}
118 154
119#else155#else
120 156
121ENTRY(__gnu_mcount_nc)157ENTRY(__gnu_mcount_nc)
122 stmdb sp!, {r0-r3, lr}158 stmdb sp!, {r0-r3, lr}
123 ldr r0, =ftrace_trace_function159 ldr r0, =ftrace_trace_function
124 ldr r2, [r0]160 ldr r2, [r0]
125 adr r0, ftrace_stub161 adr r0, ftrace_stub
126 cmp r0, r2162 cmp r0, r2
127 bne gnu_trace163 bne gnu_trace
128 ldmia sp!, {r0-r3, ip, lr}164 ldmia sp!, {r0-r3, ip, lr}
129 mov pc, ip165 mov pc, ip
130 166
131gnu_trace:167gnu_trace:
132 ldr r1, [sp, #20] @ lr of instrumented routine168 ldr r1, [sp, #20] @ lr of instrumented routine
133 mov r0, lr169 mov r0, lr
134 sub r0, r0, #MCOUNT_INSN_SIZE170 sub r0, r0, #MCOUNT_INSN_SIZE
135 mov lr, pc171 mov lr, pc
136 mov pc, r2172 mov pc, r2
137 ldmia sp!, {r0-r3, ip, lr}173 ldmia sp!, {r0-r3, ip, lr}
138 mov pc, ip174 mov pc, ip
139 175
140ENTRY(mcount)176ENTRY(mcount)
141 stmdb sp!, {r0-r3, lr}177 stmdb sp!, {r0-r3, lr}
142 ldr r0, =ftrace_trace_function178 ldr r0, =ftrace_trace_function
143 ldr r2, [r0]179 ldr r2, [r0]
144 adr r0, ftrace_stub180 adr r0, ftrace_stub
145 cmp r0, r2181 cmp r0, r2
146 bne trace182 bne trace
147 ldr lr, [fp, #-4] @ restore lr183 ldr lr, [fp, #-4] @ restore lr
148 ldmia sp!, {r0-r3, pc}184 ldmia sp!, {r0-r3, pc}
149 185
150trace:186trace:
151 ldr r1, [fp, #-4] @ lr of instrumented routine187 ldr r1, [fp, #-4] @ lr of instrumented routine
152 mov r0, lr188 mov r0, lr
153 sub r0, r0, #MCOUNT_INSN_SIZE189 sub r0, r0, #MCOUNT_INSN_SIZE
154 mov lr, pc190 mov lr, pc
155 mov pc, r2191 mov pc, r2
156 ldr lr, [fp, #-4] @ restore lr192 ldr lr, [fp, #-4] @ restore lr
157 ldmia sp!, {r0-r3, pc}193 ldmia sp!, {r0-r3, pc}
158 194
159#endif /* CONFIG_DYNAMIC_FTRACE */195#endif /* CONFIG_DYNAMIC_FTRACE */
160 196
161 .globl ftrace_stub197 .globl ftrace_stub
162ftrace_stub:198ftrace_stub:
163 mov pc, lr199 mov pc, lr
164 200
165#endif /* CONFIG_FUNCTION_TRACER */201#endif /* CONFIG_FUNCTION_TRACER */
166 202
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
543 t->etm_portsz = 1;543 t->etm_portsz = 1;
544 544
545 etm_unlock(t);545 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);
547 549
548 t->ncmppairs = etm_readl(t, ETMR_CONFCODE) & 0xf;550 t->ncmppairs = etm_readl(t, ETMR_CONFCODE) & 0xf;
549 etm_writel(t, 0x440, ETMR_CTRL);551 etm_writel(t, 0x440, ETMR_CTRL);
arch/arm/kernel/irq.c+27−14
@@ -47,12 +47,14 @@ · 46 unmodified lines
47#define irq_finish(irq) do { } while (0)47#define irq_finish(irq) do { } while (0)
48#endif48#endif
49 49
50unsigned int arch_nr_irqs;
50void (*init_arch_irq)(void) __initdata = NULL;51void (*init_arch_irq)(void) __initdata = NULL;
51unsigned long irq_err_count;52unsigned long irq_err_count;
52 53
53int show_interrupts(struct seq_file *p, void *v)54int show_interrupts(struct seq_file *p, void *v)
54{55{
55 int i = *(loff_t *) v, cpu;56 int i = *(loff_t *) v, cpu;
57 struct irq_desc *desc;
56 struct irqaction * action;58 struct irqaction * action;
57 unsigned long flags;59 unsigned long flags;
58 60
@@ -67,24 +69,25 @@ int show_interrupts(struct seq_file *p, void *v) · 8 unmodified lines
67 seq_putc(p, '\n');69 seq_putc(p, '\n');
68 }70 }
69 71
70 if (i < NR_IRQS) {72 if (i < nr_irqs) {
71 raw_spin_lock_irqsave(&irq_desc[i].lock, flags);73 desc = irq_to_desc(i);
72 action = irq_desc[i].action;74 raw_spin_lock_irqsave(&desc->lock, flags);
75 action = desc->action;
73 if (!action)76 if (!action)
74 goto unlock;77 goto unlock;
75 78
76 seq_printf(p, "%3d: ", i);79 seq_printf(p, "%3d: ", i);
77 for_each_present_cpu(cpu)80 for_each_present_cpu(cpu)
78 seq_printf(p, "%10u ", kstat_irqs_cpu(i, cpu));81 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 ? : "-");
80 seq_printf(p, " %s", action->name);83 seq_printf(p, " %s", action->name);
81 for (action = action->next; action; action = action->next)84 for (action = action->next; action; action = action->next)
82 seq_printf(p, ", %s", action->name);85 seq_printf(p, ", %s", action->name);
83 86
84 seq_putc(p, '\n');87 seq_putc(p, '\n');
85unlock:88unlock:
86 raw_spin_unlock_irqrestore(&irq_desc[i].lock, flags);89 raw_spin_unlock_irqrestore(&desc->lock, flags);
87 } else if (i == NR_IRQS) {90 } else if (i == nr_irqs) {
88#ifdef CONFIG_FIQ91#ifdef CONFIG_FIQ
89 show_fiq_list(p, v);92 show_fiq_list(p, v);
90#endif93#endif
@@ -112,7 +115,7 @@ asmlinkage void __exception asm_do_IRQ(unsigned int irq, struct pt_regs *regs) · 21 unmodified lines
112 * Some hardware gives randomly wrong interrupts. Rather115 * Some hardware gives randomly wrong interrupts. Rather
113 * than crashing, do something sensible.116 * than crashing, do something sensible.
114 */117 */
115 if (unlikely(irq >= NR_IRQS)) {118 if (unlikely(irq >= nr_irqs)) {
116 if (printk_ratelimit())119 if (printk_ratelimit())
117 printk(KERN_WARNING "Bad IRQ%u\n", irq);120 printk(KERN_WARNING "Bad IRQ%u\n", irq);
118 ack_bad_irq(irq);121 ack_bad_irq(irq);
@@ -132,12 +135,12 @@ void set_irq_flags(unsigned int irq, unsigned int iflags) · 13 unmodified lines
132 struct irq_desc *desc;135 struct irq_desc *desc;
133 unsigned long flags;136 unsigned long flags;
134 137
135 if (irq >= NR_IRQS) {138 if (irq >= nr_irqs) {
136 printk(KERN_ERR "Trying to set irq flags for IRQ%d\n", irq);139 printk(KERN_ERR "Trying to set irq flags for IRQ%d\n", irq);
137 return;140 return;
138 }141 }
139 142
140 desc = irq_desc + irq;143 desc = irq_to_desc(irq);
141 raw_spin_lock_irqsave(&desc->lock, flags);144 raw_spin_lock_irqsave(&desc->lock, flags);
142 desc->status |= IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN;145 desc->status |= IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN;
143 if (iflags & IRQF_VALID)146 if (iflags & IRQF_VALID)
@@ -151,14 +154,25 @@ void set_irq_flags(unsigned int irq, unsigned int iflags) · 7 unmodified lines
151 154
152void __init init_IRQ(void)155void __init init_IRQ(void)
153{156{
157 struct irq_desc *desc;
154 int irq;158 int irq;
155 159
156 for (irq = 0; irq < NR_IRQS; irq++)160 for (irq = 0; irq < nr_irqs; irq++) {
157 irq_desc[irq].status |= IRQ_NOREQUEST | IRQ_NOPROBE;161 desc = irq_to_desc_alloc_node(irq, 0);
162 desc->status |= IRQ_NOREQUEST | IRQ_NOPROBE;
163 }
158 164
159 init_arch_irq();165 init_arch_irq();
160}166}
161 167
168#ifdef CONFIG_SPARSE_IRQ
169int __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
162#ifdef CONFIG_HOTPLUG_CPU176#ifdef CONFIG_HOTPLUG_CPU
163 177
164static void route_irq(struct irq_desc *desc, unsigned int irq, unsigned int cpu)178static 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
178void migrate_irqs(void)192void migrate_irqs(void)
179{193{
180 unsigned int i, cpu = smp_processor_id();194 unsigned int i, cpu = smp_processor_id();
195 struct irq_desc *desc;
181 196
182 for (i = 0; i < NR_IRQS; i++) {197 for_each_irq_desc(i, desc) {
183 struct irq_desc *desc = irq_desc + i;
184
185 if (desc->node == cpu) {198 if (desc->node == cpu) {
186 unsigned int newcpu = cpumask_any_and(desc->affinity,199 unsigned int newcpu = cpumask_any_and(desc->affinity,
187 cpu_online_mask);200 cpu_online_mask);
arch/arm/kernel/kgdb.c+81−43
@@ -10,57 +10,62 @@ · 9 unmodified lines
10 * Deepak Saxena <dsaxena@plexity.net>10 * Deepak Saxena <dsaxena@plexity.net>
11 */11 */
12#include <linux/irq.h>12#include <linux/irq.h>
13#include <linux/kdebug.h>
13#include <linux/kgdb.h>14#include <linux/kgdb.h>
14#include <asm/traps.h>15#include <asm/traps.h>
15 16
16/* Make a local copy of the registers passed into the handler (bletch) */17struct dbg_reg_def_t dbg_reg_def[DBG_MAX_REG_NUM] =
17void pt_regs_to_gdb_regs(unsigned long *gdb_regs, struct pt_regs *kernel_regs)
18{18{
19 int regno;19 { "r0", 4, offsetof(struct pt_regs, ARM_r0)},
20 20 { "r1", 4, offsetof(struct pt_regs, ARM_r1)},
21 /* Initialize all to zero. */21 { "r2", 4, offsetof(struct pt_regs, ARM_r2)},
22 for (regno = 0; regno < GDB_MAX_REGS; regno++)22 { "r3", 4, offsetof(struct pt_regs, ARM_r3)},
23 gdb_regs[regno] = 0;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};
24 46
25 gdb_regs[_R0] = kernel_regs->ARM_r0;47char *dbg_get_reg(int regno, void *mem, struct pt_regs *regs)
26 gdb_regs[_R1] = kernel_regs->ARM_r1;48{
27 gdb_regs[_R2] = kernel_regs->ARM_r2;49 if (regno >= DBG_MAX_REG_NUM || regno < 0)
28 gdb_regs[_R3] = kernel_regs->ARM_r3;50 return NULL;
29 gdb_regs[_R4] = kernel_regs->ARM_r4;51
30 gdb_regs[_R5] = kernel_regs->ARM_r5;52 if (dbg_reg_def[regno].offset != -1)
31 gdb_regs[_R6] = kernel_regs->ARM_r6;53 memcpy(mem, (void *)regs + dbg_reg_def[regno].offset,
32 gdb_regs[_R7] = kernel_regs->ARM_r7;54 dbg_reg_def[regno].size);
33 gdb_regs[_R8] = kernel_regs->ARM_r8;55 else
34 gdb_regs[_R9] = kernel_regs->ARM_r9;56 memset(mem, 0, dbg_reg_def[regno].size);
35 gdb_regs[_R10] = kernel_regs->ARM_r10;57 return dbg_reg_def[regno].name;
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;
42}58}
43 59
44/* Copy local gdb registers back to kgdb regs, for later copy to kernel */60int dbg_set_reg(int regno, void *mem, struct pt_regs *regs)
45void gdb_regs_to_pt_regs(unsigned long *gdb_regs, struct pt_regs *kernel_regs)
46{61{
47 kernel_regs->ARM_r0 = gdb_regs[_R0];62 if (regno >= DBG_MAX_REG_NUM || regno < 0)
48 kernel_regs->ARM_r1 = gdb_regs[_R1];63 return -EINVAL;
49 kernel_regs->ARM_r2 = gdb_regs[_R2];64
50 kernel_regs->ARM_r3 = gdb_regs[_R3];65 if (dbg_reg_def[regno].offset != -1)
51 kernel_regs->ARM_r4 = gdb_regs[_R4];66 memcpy((void *)regs + dbg_reg_def[regno].offset, mem,
52 kernel_regs->ARM_r5 = gdb_regs[_R5];67 dbg_reg_def[regno].size);
53 kernel_regs->ARM_r6 = gdb_regs[_R6];68 return 0;
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];
64}69}
65 70
66void71void
@@ -176,6 +181,33 @@ void kgdb_roundup_cpus(unsigned long flags) · 109 unmodified lines
176 local_irq_disable();181 local_irq_disable();
177}182}
178 183
184static 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}
192static int
193kgdb_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
205static struct notifier_block kgdb_notifier = {
206 .notifier_call = kgdb_notify,
207 .priority = -INT_MAX,
208};
209
210
179/**211/**
180 * kgdb_arch_init - Perform any architecture specific initalization.212 * kgdb_arch_init - Perform any architecture specific initalization.
181 *213 *
@@ -184,6 +216,11 @@ void kgdb_roundup_cpus(unsigned long flags) · 2 unmodified lines
184 */216 */
185int kgdb_arch_init(void)217int kgdb_arch_init(void)
186{218{
219 int ret = register_die_notifier(&kgdb_notifier);
220
221 if (ret != 0)
222 return ret;
223
187 register_undef_hook(&kgdb_brkpt_hook);224 register_undef_hook(&kgdb_brkpt_hook);
188 register_undef_hook(&kgdb_compiled_brkpt_hook);225 register_undef_hook(&kgdb_compiled_brkpt_hook);
189 226
@@ -200,6 +237,7 @@ void kgdb_arch_exit(void) · 10 unmodified lines
200{237{
201 unregister_undef_hook(&kgdb_brkpt_hook);238 unregister_undef_hook(&kgdb_brkpt_hook);
202 unregister_undef_hook(&kgdb_compiled_brkpt_hook);239 unregister_undef_hook(&kgdb_compiled_brkpt_hook);
240 unregister_die_notifier(&kgdb_notifier);
203}241}
204 242
205/*243/*
arch/arm/kernel/machine_kexec.c+9−5
@@ -37,12 +37,12 @@ void machine_kexec_cleanup(struct kimage *image) · 36 unmodified lines
37{37{
38}38}
39 39
40void machine_shutdown(void)
41{
42}
43
44void machine_crash_shutdown(struct pt_regs *regs)40void machine_crash_shutdown(struct pt_regs *regs)
45{41{
42 local_irq_disable();
43 crash_save_cpu(regs, smp_processor_id());
44
45 printk(KERN_INFO "Loading crashdump kernel...\n");
46}46}
47 47
48void machine_kexec(struct kimage *image)48void machine_kexec(struct kimage *image)
@@ -74,7 +74,11 @@ void machine_kexec(struct kimage *image) · 25 unmodified lines
74 (unsigned long) reboot_code_buffer + KEXEC_CONTROL_PAGE_SIZE);74 (unsigned long) reboot_code_buffer + KEXEC_CONTROL_PAGE_SIZE);
75 printk(KERN_INFO "Bye!\n");75 printk(KERN_INFO "Bye!\n");
76 76
77 cpu_proc_fin();77 local_irq_disable();
78 local_fiq_disable();
78 setup_mm_for_reboot(0); /* mode is not used, so just pass 0*/79 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();
79 cpu_reset(reboot_code_buffer_phys);83 cpu_reset(reboot_code_buffer_phys);
80}84}
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
102 unsigned long loc;102 unsigned long loc;
103 Elf32_Sym *sym;103 Elf32_Sym *sym;
104 s32 offset;104 s32 offset;
105#ifdef CONFIG_THUMB2_KERNEL
105 u32 upper, lower, sign, j1, j2;106 u32 upper, lower, sign, j1, j2;
107#endif
106 108
107 offset = ELF32_R_SYM(rel->r_info);109 offset = ELF32_R_SYM(rel->r_info);
108 if (offset < 0 || offset > (symsec->sh_size / sizeof(Elf32_Sym))) {110 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
185 (offset & 0x0fff);187 (offset & 0x0fff);
186 break;188 break;
187 189
190#ifdef CONFIG_THUMB2_KERNEL
188 case R_ARM_THM_CALL:191 case R_ARM_THM_CALL:
189 case R_ARM_THM_JUMP24:192 case R_ARM_THM_JUMP24:
190 upper = *(u16 *)loc;193 upper = *(u16 *)loc;
@@ -233,9 +236,40 @@ apply_relocate(Elf32_Shdr *sechdrs, const char *strtab, unsigned int symindex, · 42 unmodified lines
233 *(u16 *)(loc + 2) = (u16)((lower & 0xd000) |236 *(u16 *)(loc + 2) = (u16)((lower & 0xd000) |
234 (j1 << 13) | (j2 << 11) |237 (j1 << 13) | (j2 << 11) |
235 ((offset >> 1) & 0x07ff));238 ((offset >> 1) & 0x07ff));
239 break;
240
241 case R_ARM_THM_MOVW_ABS_NC:
242 case R_ARM_THM_MOVT_ABS:
236 upper = *(u16 *)loc;243 upper = *(u16 *)loc;
237 lower = *(u16 *)(loc + 2);244 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));
238 break;271 break;
272#endif
239 273
240 default:274 default:
241 printk(KERN_ERR "%s: unknown relocation: %u\n",275 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
164 struct hw_perf_event *hwc,164 struct hw_perf_event *hwc,
165 int idx)165 int idx)
166{166{
167 s64 left = atomic64_read(&hwc->period_left);167 s64 left = local64_read(&hwc->period_left);
168 s64 period = hwc->sample_period;168 s64 period = hwc->sample_period;
169 int ret = 0;169 int ret = 0;
170 170
171 if (unlikely(left <= -period)) {171 if (unlikely(left <= -period)) {
172 left = period;172 left = period;
173 atomic64_set(&hwc->period_left, left);173 local64_set(&hwc->period_left, left);
174 hwc->last_period = period;174 hwc->last_period = period;
175 ret = 1;175 ret = 1;
176 }176 }
177 177
178 if (unlikely(left <= 0)) {178 if (unlikely(left <= 0)) {
179 left += period;179 left += period;
180 atomic64_set(&hwc->period_left, left);180 local64_set(&hwc->period_left, left);
181 hwc->last_period = period;181 hwc->last_period = period;
182 ret = 1;182 ret = 1;
183 }183 }
@@ -185,7 +185,7 @@ armpmu_event_set_period(struct perf_event *event, · 1 unmodified line
185 if (left > (s64)armpmu->max_period)185 if (left > (s64)armpmu->max_period)
186 left = armpmu->max_period;186 left = armpmu->max_period;
187 187
188 atomic64_set(&hwc->prev_count, (u64)-left);188 local64_set(&hwc->prev_count, (u64)-left);
189 189
190 armpmu->write_counter(idx, (u64)(-left) & 0xffffffff);190 armpmu->write_counter(idx, (u64)(-left) & 0xffffffff);
191 191
@@ -204,18 +204,18 @@ armpmu_event_update(struct perf_event *event, · 12 unmodified lines
204 u64 delta;204 u64 delta;
205 205
206again:206again:
207 prev_raw_count = atomic64_read(&hwc->prev_count);207 prev_raw_count = local64_read(&hwc->prev_count);
208 new_raw_count = armpmu->read_counter(idx);208 new_raw_count = armpmu->read_counter(idx);
209 209
210 if (atomic64_cmpxchg(&hwc->prev_count, prev_raw_count,210 if (local64_cmpxchg(&hwc->prev_count, prev_raw_count,
211 new_raw_count) != prev_raw_count)211 new_raw_count) != prev_raw_count)
212 goto again;212 goto again;
213 213
214 delta = (new_raw_count << shift) - (prev_raw_count << shift);214 delta = (new_raw_count << shift) - (prev_raw_count << shift);
215 delta >>= shift;215 delta >>= shift;
216 216
217 atomic64_add(delta, &event->count);217 local64_add(delta, &event->count);
218 atomic64_sub(delta, &hwc->period_left);218 local64_sub(delta, &hwc->period_left);
219 219
220 return new_raw_count;220 return new_raw_count;
221}221}
@@ -478,7 +478,7 @@ __hw_perf_event_init(struct perf_event *event) · 256 unmodified lines
478 if (!hwc->sample_period) {478 if (!hwc->sample_period) {
479 hwc->sample_period = armpmu->max_period;479 hwc->sample_period = armpmu->max_period;
480 hwc->last_period = hwc->sample_period;480 hwc->last_period = hwc->sample_period;
481 atomic64_set(&hwc->period_left, hwc->sample_period);481 local64_set(&hwc->period_left, hwc->sample_period);
482 }482 }
483 483
484 err = 0;484 err = 0;
arch/arm/kernel/process.c+37−5
@@ -28,7 +28,9 @@ · 27 unmodified lines
28#include <linux/tick.h>28#include <linux/tick.h>
29#include <linux/utsname.h>29#include <linux/utsname.h>
30#include <linux/uaccess.h>30#include <linux/uaccess.h>
31#include <linux/random.h>
31 32
33#include <asm/cacheflush.h>
32#include <asm/leds.h>34#include <asm/leds.h>
33#include <asm/processor.h>35#include <asm/processor.h>
34#include <asm/system.h>36#include <asm/system.h>
@@ -36,6 +38,12 @@ · 1 unmodified line
36#include <asm/stacktrace.h>38#include <asm/stacktrace.h>
37#include <asm/mach/time.h>39#include <asm/mach/time.h>
38 40
41#ifdef CONFIG_CC_STACKPROTECTOR
42#include <linux/stackprotector.h>
43unsigned long __stack_chk_guard __read_mostly;
44EXPORT_SYMBOL(__stack_chk_guard);
45#endif
46
39static const char *processor_modes[] = {47static const char *processor_modes[] = {
40 "USER_26", "FIQ_26" , "IRQ_26" , "SVC_26" , "UK4_26" , "UK5_26" , "UK6_26" , "UK7_26" ,48 "USER_26", "FIQ_26" , "IRQ_26" , "SVC_26" , "UK4_26" , "UK5_26" , "UK6_26" , "UK7_26" ,
41 "UK8_26" , "UK9_26" , "UK10_26", "UK11_26", "UK12_26", "UK13_26", "UK14_26", "UK15_26",49 "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
84 92
85void arm_machine_restart(char mode, const char *cmd)93void arm_machine_restart(char mode, const char *cmd)
86{94{
87 /*95 /* Disable interrupts first */
88 * Clean and disable cache, and turn off interrupts96 local_irq_disable();
89 */97 local_fiq_disable();
90 cpu_proc_fin();
91 98
92 /*99 /*
93 * Tell the mm system that we are going to reboot -100 * 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
96 */103 */
97 setup_mm_for_reboot(mode);104 setup_mm_for_reboot(mode);
98 105
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
99 /*115 /*
100 * Now call the architecture specific reboot code.116 * Now call the architecture specific reboot code.
101 */117 */
@@ -189,19 +205,29 @@ int __init reboot_setup(char *str) · 87 unmodified lines
189 205
190__setup("reboot=", reboot_setup);206__setup("reboot=", reboot_setup);
191 207
192void machine_halt(void)208void machine_shutdown(void)
193{209{
210#ifdef CONFIG_SMP
211 smp_send_stop();
212#endif
194}213}
195 214
215void machine_halt(void)
216{
217 machine_shutdown();
218 while (1);
219}
196 220
197void machine_power_off(void)221void machine_power_off(void)
198{222{
223 machine_shutdown();
199 if (pm_power_off)224 if (pm_power_off)
200 pm_power_off();225 pm_power_off();
201}226}
202 227
203void machine_restart(char *cmd)228void machine_restart(char *cmd)
204{229{
230 machine_shutdown();
205 arm_pm_restart(reboot_mode, cmd);231 arm_pm_restart(reboot_mode, cmd);
206}232}
207 233
@@ -426,3 +452,9 @@ unsigned long get_wchan(struct task_struct *p) · 218 unmodified lines
426 } while (count ++ < 16);452 } while (count ++ < 16);
427 return 0;453 return 0;
428}454}
455
456unsigned 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
52#define BREAKINST_THUMB 0xde0152#define BREAKINST_THUMB 0xde01
53#endif53#endif
54 54
55struct 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
64static 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 */
93int 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 */
109const 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 */
126bool 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 */
141unsigned 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
55/*151/*
56 * this routine will get a word off of the processes privileged stack.152 * this routine will get a word off of the processes privileged stack.
57 * the offset is how far from the base addr as stored in the THREAD.153 * 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
10 ldr r0,kexec_indirection_page10 ldr r0,kexec_indirection_page
11 ldr r1,kexec_start_address11 ldr r1,kexec_start_address
12 12
13 /*
14 * If there is no indirection page (we are doing crashdumps)
15 * skip any relocation.
16 */
17 cmp r0, #0
18 beq 2f
13 19
140: /* top, read another word for the indirection page */200: /* top, read another word for the indirection page */
15 ldr r3, [r0],#421 ldr r3, [r0],#4
arch/arm/kernel/setup.c+109−2
@@ -19,12 +19,15 @@ · 18 unmodified lines
19#include <linux/seq_file.h>19#include <linux/seq_file.h>
20#include <linux/screen_info.h>20#include <linux/screen_info.h>
21#include <linux/init.h>21#include <linux/init.h>
22#include <linux/kexec.h>
23#include <linux/crash_dump.h>
22#include <linux/root_dev.h>24#include <linux/root_dev.h>
23#include <linux/cpu.h>25#include <linux/cpu.h>
24#include <linux/interrupt.h>26#include <linux/interrupt.h>
25#include <linux/smp.h>27#include <linux/smp.h>
26#include <linux/fs.h>28#include <linux/fs.h>
27#include <linux/proc_fs.h>29#include <linux/proc_fs.h>
30#include <linux/memblock.h>
28 31
29#include <asm/unified.h>32#include <asm/unified.h>
30#include <asm/cpu.h>33#include <asm/cpu.h>
@@ -44,7 +47,9 @@ · 13 unmodified lines
44#include <asm/traps.h>47#include <asm/traps.h>
45#include <asm/unwind.h>48#include <asm/unwind.h>
46 49
50#if defined(CONFIG_DEPRECATED_PARAM_STRUCT)
47#include "compat.h"51#include "compat.h"
52#endif
48#include "atags.h"53#include "atags.h"
49#include "tcm.h"54#include "tcm.h"
50 55
@@ -269,6 +274,21 @@ static void __init cacheid_init(void) · 218 unmodified lines
269extern struct proc_info_list *lookup_processor_type(unsigned int);274extern struct proc_info_list *lookup_processor_type(unsigned int);
270extern struct machine_desc *lookup_machine_type(unsigned int);275extern struct machine_desc *lookup_machine_type(unsigned int);
271 276
277static 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
272static void __init setup_processor(void)292static void __init setup_processor(void)
273{293{
274 struct proc_info_list *list;294 struct proc_info_list *list;
@@ -311,6 +331,8 @@ static void __init setup_processor(void) · 36 unmodified lines
311 elf_hwcap &= ~HWCAP_THUMB;331 elf_hwcap &= ~HWCAP_THUMB;
312#endif332#endif
313 333
334 feat_v6_fixup();
335
314 cacheid_init();336 cacheid_init();
315 cpu_proc_init();337 cpu_proc_init();
316}338}
@@ -402,13 +424,12 @@ static int __init arm_add_memory(unsigned long start, unsigned long size) · 85 unmodified lines
402 size -= start & ~PAGE_MASK;424 size -= start & ~PAGE_MASK;
403 bank->start = PAGE_ALIGN(start);425 bank->start = PAGE_ALIGN(start);
404 bank->size = size & PAGE_MASK;426 bank->size = size & PAGE_MASK;
405 bank->node = PHYS_TO_NID(start);
406 427
407 /*428 /*
408 * Check whether this memory region has non-zero size or429 * Check whether this memory region has non-zero size or
409 * invalid node number.430 * invalid node number.
410 */431 */
411 if (bank->size == 0 || bank->node >= MAX_NUMNODES)432 if (bank->size == 0)
412 return -EINVAL;433 return -EINVAL;
413 434
414 meminfo.nr_banks++;435 meminfo.nr_banks++;
@@ -663,6 +684,86 @@ static int __init customize_machine(void) · 248 unmodified lines
663}684}
664arch_initcall(customize_machine);685arch_initcall(customize_machine);
665 686
687#ifdef CONFIG_KEXEC
688static 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 */
703static 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
733static 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 */
747static 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}
757early_param("elfcorehdr", setup_elfcorehdr);
758#endif /* CONFIG_CRASH_DUMP */
759
760static 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
666void __init setup_arch(char **cmdline_p)767void __init setup_arch(char **cmdline_p)
667{768{
668 struct tag *tags = (struct tag *)&init_tags;769 struct tag *tags = (struct tag *)&init_tags;
@@ -683,12 +784,14 @@ void __init setup_arch(char **cmdline_p) · 14 unmodified lines
683 else if (mdesc->boot_params)784 else if (mdesc->boot_params)
684 tags = phys_to_virt(mdesc->boot_params);785 tags = phys_to_virt(mdesc->boot_params);
685 786
787#if defined(CONFIG_DEPRECATED_PARAM_STRUCT)
686 /*788 /*
687 * If we have the old style parameters, convert them to789 * If we have the old style parameters, convert them to
688 * a tag list.790 * a tag list.
689 */791 */
690 if (tags->hdr.tag != ATAG_CORE)792 if (tags->hdr.tag != ATAG_CORE)
691 convert_to_tag_list(tags);793 convert_to_tag_list(tags);
794#endif
692 if (tags->hdr.tag != ATAG_CORE)795 if (tags->hdr.tag != ATAG_CORE)
693 tags = (struct tag *)&init_tags;796 tags = (struct tag *)&init_tags;
694 797
@@ -716,12 +819,15 @@ void __init setup_arch(char **cmdline_p) · 21 unmodified lines
716 819
717 parse_early_param();820 parse_early_param();
718 821
822 arm_memblock_init(&meminfo, mdesc);
823
719 paging_init(mdesc);824 paging_init(mdesc);
720 request_standard_resources(&meminfo, mdesc);825 request_standard_resources(&meminfo, mdesc);
721 826
722#ifdef CONFIG_SMP827#ifdef CONFIG_SMP
723 smp_init_cpus();828 smp_init_cpus();
724#endif829#endif
830 reserve_crashkernel();
725 831
726 cpu_init();832 cpu_init();
727 tcm_init();833 tcm_init();
@@ -729,6 +835,7 @@ void __init setup_arch(char **cmdline_p) · 1 unmodified line
729 /*835 /*
730 * Set up various architecture-specific pointers836 * Set up various architecture-specific pointers
731 */837 */
838 arch_nr_irqs = mdesc->nr_irqs;
732 init_arch_irq = mdesc->init_irq;839 init_arch_irq = mdesc->init_irq;
733 system_timer = mdesc->timer;840 system_timer = mdesc->timer;
734 init_machine = mdesc->init_machine;841 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
429{429{
430 send_ipi_message(mask, IPI_TIMER);430 send_ipi_message(mask, IPI_TIMER);
431}431}
432#else
433#define smp_timer_broadcast NULL
434#endif
432 435
436#ifndef CONFIG_LOCAL_TIMERS
433static void broadcast_timer_set_mode(enum clock_event_mode mode,437static void broadcast_timer_set_mode(enum clock_event_mode mode,
434 struct clock_event_device *evt)438 struct clock_event_device *evt)
435{439{
@@ -444,7 +448,6 @@ static void local_timer_setup(struct clock_event_device *evt) · 8 unmodified lines
444 evt->rating = 400;448 evt->rating = 400;
445 evt->mult = 1;449 evt->mult = 1;
446 evt->set_mode = broadcast_timer_set_mode;450 evt->set_mode = broadcast_timer_set_mode;
447 evt->broadcast = smp_timer_broadcast;
448 451
449 clockevents_register_device(evt);452 clockevents_register_device(evt);
450}453}
@@ -456,6 +459,7 @@ void __cpuinit percpu_timer_setup(void) · 5 unmodified lines
456 struct clock_event_device *evt = &per_cpu(percpu_clockevent, cpu);459 struct clock_event_device *evt = &per_cpu(percpu_clockevent, cpu);
457 460
458 evt->cpumask = cpumask_of(cpu);461 evt->cpumask = cpumask_of(cpu);
462 evt->broadcast = smp_timer_broadcast;
459 463
460 local_timer_setup(evt);464 local_timer_setup(evt);
461}465}
@@ -467,10 +471,13 @@ static DEFINE_SPINLOCK(stop_lock); · 5 unmodified lines
467 */471 */
468static void ipi_cpu_stop(unsigned int cpu)472static void ipi_cpu_stop(unsigned int cpu)
469{473{
470 spin_lock(&stop_lock);474 if (system_state == SYSTEM_BOOTING ||
471 printk(KERN_CRIT "CPU%u: stopping\n", cpu);475 system_state == SYSTEM_RUNNING) {
472 dump_stack();476 spin_lock(&stop_lock);
473 spin_unlock(&stop_lock);477 printk(KERN_CRIT "CPU%u: stopping\n", cpu);
478 dump_stack();
479 spin_unlock(&stop_lock);
480 }
474 481
475 set_cpu_online(cpu, false);482 set_cpu_online(cpu, false);
476 483
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
132 twd_calibrate_rate();132 twd_calibrate_rate();
133 133
134 clk->name = "local_timer";134 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;
136 clk->rating = 350;137 clk->rating = 350;
137 clk->set_mode = twd_set_mode;138 clk->set_mode = twd_set_mode;
138 clk->set_next_event = twd_set_next_event;139 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
62/* sys_execve() executes a new program.62/* sys_execve() executes a new program.
63 * This is called indirectly via a small wrapper63 * This is called indirectly via a small wrapper
64 */64 */
65asmlinkage int sys_execve(char __user *filenamei, char __user * __user *argv,65asmlinkage int sys_execve(const char __user *filenamei, char __user * __user *argv,
66 char __user * __user *envp, struct pt_regs *regs)66 char __user * __user *envp, struct pt_regs *regs)
67{67{
68 int error;68 int error;
@@ -84,7 +84,7 @@ int kernel_execve(const char *filename, char *const argv[], char *const envp[]) · 15 unmodified lines
84 int ret;84 int ret;
85 85
86 memset(&regs, 0, sizeof(struct pt_regs));86 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,
88 (char __user * __user *)envp, &regs);88 (char __user * __user *)envp, &regs);
89 if (ret < 0)89 if (ret < 0)
90 goto out;90 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
141 return copy_to_user(statbuf,&tmp,sizeof(tmp)) ? -EFAULT : 0;141 return copy_to_user(statbuf,&tmp,sizeof(tmp)) ? -EFAULT : 0;
142}142}
143 143
144asmlinkage long sys_oabi_stat64(char __user * filename,144asmlinkage long sys_oabi_stat64(const char __user * filename,
145 struct oldabi_stat64 __user * statbuf)145 struct oldabi_stat64 __user * statbuf)
146{146{
147 struct kstat stat;147 struct kstat stat;
@@ -151,7 +151,7 @@ asmlinkage long sys_oabi_stat64(char __user * filename, · 3 unmodified lines
151 return error;151 return error;
152}152}
153 153
154asmlinkage long sys_oabi_lstat64(char __user * filename,154asmlinkage long sys_oabi_lstat64(const char __user * filename,
155 struct oldabi_stat64 __user * statbuf)155 struct oldabi_stat64 __user * statbuf)
156{156{
157 struct kstat stat;157 struct kstat stat;
@@ -172,7 +172,7 @@ asmlinkage long sys_oabi_fstat64(unsigned long fd, · 14 unmodified lines
172}172}
173 173
174asmlinkage long sys_oabi_fstatat64(int dfd,174asmlinkage long sys_oabi_fstatat64(int dfd,
175 char __user *filename,175 const char __user *filename,
176 struct oldabi_stat64 __user *statbuf,176 struct oldabi_stat64 __user *statbuf,
177 int flag)177 int flag)
178{178{
arch/arm/kernel/tcm.c+73−45
@@ -13,38 +13,35 @@ · 12 unmodified lines
13#include <linux/ioport.h>13#include <linux/ioport.h>
14#include <linux/genalloc.h>14#include <linux/genalloc.h>
15#include <linux/string.h> /* memcpy */15#include <linux/string.h> /* memcpy */
16#include <asm/page.h> /* PAGE_SHIFT */
17#include <asm/cputype.h>16#include <asm/cputype.h>
18#include <asm/mach/map.h>17#include <asm/mach/map.h>
19#include <mach/memory.h>18#include <mach/memory.h>
20#include "tcm.h"19#include "tcm.h"
21 20
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
28static struct gen_pool *tcm_pool;21static struct gen_pool *tcm_pool;
29 22
30/* TCM section definitions from the linker */23/* TCM section definitions from the linker */
31extern char __itcm_start, __sitcm_text, __eitcm_text;24extern char __itcm_start, __sitcm_text, __eitcm_text;
32extern char __dtcm_start, __sdtcm_data, __edtcm_data;25extern char __dtcm_start, __sdtcm_data, __edtcm_data;
33 26
27/* These will be increased as we run */
28u32 dtcm_end = DTCM_OFFSET;
29u32 itcm_end = ITCM_OFFSET;
30
34/*31/*
35 * TCM memory resources32 * TCM memory resources
36 */33 */
37static struct resource dtcm_res = {34static struct resource dtcm_res = {
38 .name = "DTCM RAM",35 .name = "DTCM RAM",
39 .start = DTCM_OFFSET,36 .start = DTCM_OFFSET,
40 .end = DTCM_END,37 .end = DTCM_OFFSET,
41 .flags = IORESOURCE_MEM38 .flags = IORESOURCE_MEM
42};39};
43 40
44static struct resource itcm_res = {41static struct resource itcm_res = {
45 .name = "ITCM RAM",42 .name = "ITCM RAM",
46 .start = ITCM_OFFSET,43 .start = ITCM_OFFSET,
47 .end = ITCM_END,44 .end = ITCM_OFFSET,
48 .flags = IORESOURCE_MEM45 .flags = IORESOURCE_MEM
49};46};
50 47
@@ -52,8 +49,8 @@ static struct map_desc dtcm_iomap[] __initdata = { · 1 unmodified line
52 {49 {
53 .virtual = DTCM_OFFSET,50 .virtual = DTCM_OFFSET,
54 .pfn = __phys_to_pfn(DTCM_OFFSET),51 .pfn = __phys_to_pfn(DTCM_OFFSET),
55 .length = (DTCM_END - DTCM_OFFSET + 1),52 .length = 0,
56 .type = MT_UNCACHED53 .type = MT_MEMORY_DTCM
57 }54 }
58};55};
59 56
@@ -61,8 +58,8 @@ static struct map_desc itcm_iomap[] __initdata = { · 1 unmodified line
61 {58 {
62 .virtual = ITCM_OFFSET,59 .virtual = ITCM_OFFSET,
63 .pfn = __phys_to_pfn(ITCM_OFFSET),60 .pfn = __phys_to_pfn(ITCM_OFFSET),
64 .length = (ITCM_END - ITCM_OFFSET + 1),61 .length = 0,
65 .type = MT_UNCACHED62 .type = MT_MEMORY_ITCM
66 }63 }
67};64};
68 65
@@ -93,14 +90,24 @@ void tcm_free(void *addr, size_t len) · 24 unmodified lines
93}90}
94EXPORT_SYMBOL(tcm_free);91EXPORT_SYMBOL(tcm_free);
95 92
96 93static int __init setup_tcm_bank(u8 type, u8 bank, u8 banks,
97static void __init setup_tcm_bank(u8 type, u32 offset, u32 expected_size)94 u32 *offset)
98{95{
99 const int tcm_sizes[16] = { 0, -1, -1, 4, 8, 16, 32, 64, 128,96 const int tcm_sizes[16] = { 0, -1, -1, 4, 8, 16, 32, 64, 128,
100 256, 512, 1024, -1, -1, -1, -1 };97 256, 512, 1024, -1, -1, -1, -1 };
101 u32 tcm_region;98 u32 tcm_region;
102 int tcm_size;99 int tcm_size;
103 100
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
104 /* Read the special TCM region register c9, 0 */111 /* Read the special TCM region register c9, 0 */
105 if (!type)112 if (!type)
106 asm("mrc p15, 0, %0, c9, c1, 0"113 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
111 118
112 tcm_size = tcm_sizes[(tcm_region >> 2) & 0x0f];119 tcm_size = tcm_sizes[(tcm_region >> 2) & 0x0f];
113 if (tcm_size < 0) {120 if (tcm_size < 0) {
114 pr_err("CPU: %sTCM of unknown size!\n",121 pr_err("CPU: %sTCM%d of unknown size\n",
115 type ? "I" : "D");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;
116 } else {128 } else {
117 pr_info("CPU: found %sTCM %dk @ %08x, %senabled\n",129 pr_info("CPU: found %sTCM%d %dk @ %08x, %senabled\n",
118 type ? "I" : "D",130 type ? "I" : "D",
131 bank,
119 tcm_size,132 tcm_size,
120 (tcm_region & 0xfffff000U),133 (tcm_region & 0xfffff000U),
121 (tcm_region & 1) ? "" : "not ");134 (tcm_region & 1) ? "" : "not ");
122 }135 }
123 136
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
132 /* Force move the TCM bank to where we want it, enable */137 /* 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;
134 139
135 if (!type)140 if (!type)
136 asm("mcr p15, 0, %0, c9, c1, 0"141 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
141 : /* No output operands */146 : /* No output operands */
142 : "r" (tcm_region));147 : "r" (tcm_region));
143 148
144 pr_debug("CPU: moved %sTCM %dk to %08x, enabled\n",149 /* Increase offset */
145 type ? "I" : "D",150 *offset += (tcm_size << 10);
146 tcm_size,151
147 (tcm_region & 0xfffff000U));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;
148}158}
149 159
150/*160/*
@@ -153,34 +163,52 @@ static void __init setup_tcm_bank(u8 type, u32 offset, u32 expected_size) · 2 unmodified lines
153void __init tcm_init(void)163void __init tcm_init(void)
154{164{
155 u32 tcm_status = read_cpuid_tcmstatus();165 u32 tcm_status = read_cpuid_tcmstatus();
166 u8 dtcm_banks = (tcm_status >> 16) & 0x03;
167 u8 itcm_banks = (tcm_status & 0x03);
156 char *start;168 char *start;
157 char *end;169 char *end;
158 char *ram;170 char *ram;
171 int ret;
172 int i;
159 173
160 /* Setup DTCM if present */174 /* Setup DTCM if present */
161 if (tcm_status & (1 << 16)) {175 if (dtcm_banks > 0) {
162 setup_tcm_bank(0, DTCM_OFFSET,176 for (i = 0; i < dtcm_banks; i++) {
163 (DTCM_END - DTCM_OFFSET + 1) >> 10);177 ret = setup_tcm_bank(0, i, dtcm_banks, &dtcm_end);
178 if (ret)
179 return;
180 }
181 dtcm_res.end = dtcm_end - 1;
164 request_resource(&iomem_resource, &dtcm_res);182 request_resource(&iomem_resource, &dtcm_res);
183 dtcm_iomap[0].length = dtcm_end - DTCM_OFFSET;
165 iotable_init(dtcm_iomap, 1);184 iotable_init(dtcm_iomap, 1);
166 /* Copy data from RAM to DTCM */185 /* Copy data from RAM to DTCM */
167 start = &__sdtcm_data;186 start = &__sdtcm_data;
168 end = &__edtcm_data;187 end = &__edtcm_data;
169 ram = &__dtcm_start;188 ram = &__dtcm_start;
189 /* This means you compiled more code than fits into DTCM */
190 BUG_ON((end - start) > (dtcm_end - DTCM_OFFSET));
170 memcpy(start, ram, (end-start));191 memcpy(start, ram, (end-start));
171 pr_debug("CPU DTCM: copied data from %p - %p\n", start, end);192 pr_debug("CPU DTCM: copied data from %p - %p\n", start, end);
172 }193 }
173 194
174 /* Setup ITCM if present */195 /* Setup ITCM if present */
175 if (tcm_status & 1) {196 if (itcm_banks > 0) {
176 setup_tcm_bank(1, ITCM_OFFSET,197 for (i = 0; i < itcm_banks; i++) {
177 (ITCM_END - ITCM_OFFSET + 1) >> 10);198 ret = setup_tcm_bank(1, i, itcm_banks, &itcm_end);
199 if (ret)
200 return;
201 }
202 itcm_res.end = itcm_end - 1;
178 request_resource(&iomem_resource, &itcm_res);203 request_resource(&iomem_resource, &itcm_res);
204 itcm_iomap[0].length = itcm_end - ITCM_OFFSET;
179 iotable_init(itcm_iomap, 1);205 iotable_init(itcm_iomap, 1);
180 /* Copy code from RAM to ITCM */206 /* Copy code from RAM to ITCM */
181 start = &__sitcm_text;207 start = &__sitcm_text;
182 end = &__eitcm_text;208 end = &__eitcm_text;
183 ram = &__itcm_start;209 ram = &__itcm_start;
210 /* This means you compiled more code than fits into ITCM */
211 BUG_ON((end - start) > (itcm_end - ITCM_OFFSET));
184 memcpy(start, ram, (end-start));212 memcpy(start, ram, (end-start));
185 pr_debug("CPU ITCM: copied code from %p - %p\n", start, end);213 pr_debug("CPU ITCM: copied code from %p - %p\n", start, end);
186 }214 }
@@ -208,10 +236,10 @@ static int __init setup_tcm_pool(void) · 21 unmodified lines
208 pr_debug("Setting up TCM memory pool\n");236 pr_debug("Setting up TCM memory pool\n");
209 237
210 /* Add the rest of DTCM to the TCM pool */238 /* Add the rest of DTCM to the TCM pool */
211 if (tcm_status & (1 << 16)) {239 if (tcm_status & (0x03 << 16)) {
212 if (dtcm_pool_start < DTCM_END) {240 if (dtcm_pool_start < dtcm_end) {
213 ret = gen_pool_add(tcm_pool, dtcm_pool_start,241 ret = gen_pool_add(tcm_pool, dtcm_pool_start,
214 DTCM_END - dtcm_pool_start + 1, -1);242 dtcm_end - dtcm_pool_start, -1);
215 if (ret) {243 if (ret) {
216 pr_err("CPU DTCM: could not add DTCM " \244 pr_err("CPU DTCM: could not add DTCM " \
217 "remainder to pool!\n");245 "remainder to pool!\n");
@@ -219,16 +247,16 @@ static int __init setup_tcm_pool(void) · 1 unmodified line
219 }247 }
220 pr_debug("CPU DTCM: Added %08x bytes @ %08x to " \248 pr_debug("CPU DTCM: Added %08x bytes @ %08x to " \
221 "the TCM memory pool\n",249 "the TCM memory pool\n",
222 DTCM_END - dtcm_pool_start + 1,250 dtcm_end - dtcm_pool_start,
223 dtcm_pool_start);251 dtcm_pool_start);
224 }252 }
225 }253 }
226 254
227 /* Add the rest of ITCM to the TCM pool */255 /* Add the rest of ITCM to the TCM pool */
228 if (tcm_status & 1) {256 if (tcm_status & 0x03) {
229 if (itcm_pool_start < ITCM_END) {257 if (itcm_pool_start < itcm_end) {
230 ret = gen_pool_add(tcm_pool, itcm_pool_start,258 ret = gen_pool_add(tcm_pool, itcm_pool_start,
231 ITCM_END - itcm_pool_start + 1, -1);259 itcm_end - itcm_pool_start, -1);
232 if (ret) {260 if (ret) {
233 pr_err("CPU ITCM: could not add ITCM " \261 pr_err("CPU ITCM: could not add ITCM " \
234 "remainder to pool!\n");262 "remainder to pool!\n");
@@ -236,7 +264,7 @@ static int __init setup_tcm_pool(void) · 1 unmodified line
236 }264 }
237 pr_debug("CPU ITCM: Added %08x bytes @ %08x to " \265 pr_debug("CPU ITCM: Added %08x bytes @ %08x to " \
238 "the TCM memory pool\n",266 "the TCM memory pool\n",
239 ITCM_END - itcm_pool_start + 1,267 itcm_end - itcm_pool_start,
240 itcm_pool_start);268 itcm_pool_start);
241 }269 }
242 }270 }
arch/arm/kernel/traps.c+30−11
@@ -30,6 +30,7 @@ · 29 unmodified lines
30#include <asm/unistd.h>30#include <asm/unistd.h>
31#include <asm/traps.h>31#include <asm/traps.h>
32#include <asm/unwind.h>32#include <asm/unwind.h>
33#include <asm/tls.h>
33 34
34#include "ptrace.h"35#include "ptrace.h"
35#include "signal.h"36#include "signal.h"
@@ -518,17 +519,20 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs) · 482 unmodified lines
518 519
519 case NR(set_tls):520 case NR(set_tls):
520 thread->tp_value = regs->ARM_r0;521 thread->tp_value = regs->ARM_r0;
521#if defined(CONFIG_HAS_TLS_REG)522 if (tls_emu)
522 asm ("mcr p15, 0, %0, c13, c0, 3" : : "r" (regs->ARM_r0) );523 return 0;
523#elif !defined(CONFIG_TLS_REG_EMUL)524 if (has_tls_reg) {
524 /*525 asm ("mcr p15, 0, %0, c13, c0, 3"
525 * User space must never try to access this directly.526 : : "r" (regs->ARM_r0));
526 * Expect your app to break eventually if you do so.527 } else {
527 * The user helper at 0xffff0fe0 must be used instead.528 /*
528 * (see entry-armv.S for details)529 * User space must never try to access this directly.
529 */530 * Expect your app to break eventually if you do so.
530 *((unsigned int *)0xffff0ff0) = regs->ARM_r0;531 * The user helper at 0xffff0fe0 must be used instead.
531#endif532 * (see entry-armv.S for details)
533 */
534 *((unsigned int *)0xffff0ff0) = regs->ARM_r0;
535 }
532 return 0;536 return 0;
533 537
534#ifdef CONFIG_NEEDS_SYSCALL_FOR_CMPXCHG538#ifdef CONFIG_NEEDS_SYSCALL_FOR_CMPXCHG
@@ -743,6 +747,16 @@ void __init trap_init(void) · 208 unmodified lines
743 return;747 return;
744}748}
745 749
750static 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
746void __init early_trap_init(void)760void __init early_trap_init(void)
747{761{
748 unsigned long vectors = CONFIG_VECTORS_BASE;762 unsigned long vectors = CONFIG_VECTORS_BASE;
@@ -760,6 +774,11 @@ void __init early_trap_init(void) · 11 unmodified lines
760 memcpy((void *)vectors + 0x200, __stubs_start, __stubs_end - __stubs_start);774 memcpy((void *)vectors + 0x200, __stubs_start, __stubs_end - __stubs_start);
761 memcpy((void *)vectors + 0x1000 - kuser_sz, __kuser_helper_start, kuser_sz);775 memcpy((void *)vectors + 0x1000 - kuser_sz, __kuser_helper_start, kuser_sz);
762 776
777 /*
778 * Do processor specific fixups for the kuser helpers
779 */
780 kuser_get_tls_init(vectors);
781
763 /*782 /*
764 * Copy signal return handlers into the vector page, and783 * Copy signal return handlers into the vector page, and
765 * set sigreturn to be a pointer to these.784 * set sigreturn to be a pointer to these.
arch/arm/lib/Makefile+0−1
@@ -41,7 +41,6 @@ else · 40 unmodified lines
41endif41endif
42 42
43lib-$(CONFIG_ARCH_RPC) += ecard.o io-acorn.o floppydma.o43lib-$(CONFIG_ARCH_RPC) += ecard.o io-acorn.o floppydma.o
44lib-$(CONFIG_ARCH_L7200) += io-acorn.o
45lib-$(CONFIG_ARCH_SHARK) += io-shark.o44lib-$(CONFIG_ARCH_SHARK) += io-shark.o
46 45
47$(obj)/csumpartialcopy.o: $(obj)/csumpartialcopygeneric.S46$(obj)/csumpartialcopy.o: $(obj)/csumpartialcopygeneric.S
arch/arm/mach-aaec2000/include/mach/memory.h+0−10
@@ -14,14 +14,4 @@ · 13 unmodified lines
14 14
15#define PHYS_OFFSET UL(0xf0000000)15#define PHYS_OFFSET UL(0xf0000000)
16 16
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
27#endif /* __ASM_ARCH_MEMORY_H */17#endif /* __ASM_ARCH_MEMORY_H */
arch/arm/mach-at91/Kconfig+11−0
@@ -366,6 +366,17 @@ config MACH_STAMP9G20 · 365 unmodified lines
366 366
367endif367endif
368 368
369if (ARCH_AT91SAM9260 || ARCH_AT91SAM9G20)
370comment "AT91SAM9260/AT91SAM9G20 boards"
371
372config 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/>
378endif
379
369# ----------------------------------------------------------380# ----------------------------------------------------------
370 381
371if ARCH_AT91SAM9G45382if ARCH_AT91SAM9G45
arch/arm/mach-at91/Makefile+3−0
@@ -66,6 +66,9 @@ obj-$(CONFIG_MACH_CPU9G20) += board-cpu9krea.o · 65 unmodified lines
66obj-$(CONFIG_MACH_STAMP9G20) += board-stamp9g20.o66obj-$(CONFIG_MACH_STAMP9G20) += board-stamp9g20.o
67obj-$(CONFIG_MACH_PORTUXG20) += board-stamp9g20.o67obj-$(CONFIG_MACH_PORTUXG20) += board-stamp9g20.o
68 68
69# AT91SAM9260/AT91SAM9G20 board-specific support
70obj-$(CONFIG_MACH_SNAPPER_9260) += board-snapper9260.o
71
69# AT91SAM9G45 board-specific support72# AT91SAM9G45 board-specific support
70obj-$(CONFIG_MACH_AT91SAM9G45EKES) += board-sam9m10g45ek.o73obj-$(CONFIG_MACH_AT91SAM9G45EKES) += board-sam9m10g45ek.o
71 74
arch/arm/mach-at91/at91sam9g45.c+11−0
@@ -20,6 +20,7 @@ · 19 unmodified lines
20#include <mach/at91_pmc.h>20#include <mach/at91_pmc.h>
21#include <mach/at91_rstc.h>21#include <mach/at91_rstc.h>
22#include <mach/at91_shdwc.h>22#include <mach/at91_shdwc.h>
23#include <mach/cpu.h>
23 24
24#include "generic.h"25#include "generic.h"
25#include "clock.h"26#include "clock.h"
@@ -176,6 +177,13 @@ static struct clk mmc1_clk = { · 150 unmodified lines
176 .type = CLK_TYPE_PERIPHERAL,177 .type = CLK_TYPE_PERIPHERAL,
177};178};
178 179
180/* Video decoder clock - Only for sam9m10/sam9m11 */
181static struct clk vdec_clk = {
182 .name = "vdec_clk",
183 .pmc_mask = 1 << AT91SAM9G45_ID_VDEC,
184 .type = CLK_TYPE_PERIPHERAL,
185};
186
179/* One additional fake clock for ohci */187/* One additional fake clock for ohci */
180static struct clk ohci_clk = {188static struct clk ohci_clk = {
181 .name = "ohci_clk",189 .name = "ohci_clk",
@@ -239,6 +247,9 @@ static void __init at91sam9g45_register_clocks(void) · 57 unmodified lines
239 for (i = 0; i < ARRAY_SIZE(periph_clocks); i++)247 for (i = 0; i < ARRAY_SIZE(periph_clocks); i++)
240 clk_register(periph_clocks[i]);248 clk_register(periph_clocks[i]);
241 249
250 if (cpu_is_at91sam9m10() || cpu_is_at91sam9m11())
251 clk_register(&vdec_clk);
252
242 clk_register(&pck0);253 clk_register(&pck0);
243 clk_register(&pck1);254 clk_register(&pck1);
244}255}
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
75 * SPI devices.75 * SPI devices.
76 */76 */
77#if defined(CONFIG_MTD_DATAFLASH)77#if defined(CONFIG_MTD_DATAFLASH)
78static struct mtd_partition __initdata cam60_spi_partitions[] = {78static struct mtd_partition cam60_spi_partitions[] = {
79 {79 {
80 .name = "BOOT1",80 .name = "BOOT1",
81 .offset = 0,81 .offset = 0,
@@ -98,14 +98,14 @@ static struct mtd_partition __initdata cam60_spi_partitions[] = { · 16 unmodified lines
98 },98 },
99};99};
100 100
101static struct flash_platform_data __initdata cam60_spi_flash_platform_data = {101static struct flash_platform_data cam60_spi_flash_platform_data = {
102 .name = "spi_flash",102 .name = "spi_flash",
103 .parts = cam60_spi_partitions,103 .parts = cam60_spi_partitions,
104 .nr_parts = ARRAY_SIZE(cam60_spi_partitions)104 .nr_parts = ARRAY_SIZE(cam60_spi_partitions)
105};105};
106#endif106#endif
107 107
108static struct spi_board_info cam60_spi_devices[] = {108static struct spi_board_info cam60_spi_devices[] __initdata = {
109#if defined(CONFIG_MTD_DATAFLASH)109#if defined(CONFIG_MTD_DATAFLASH)
110 { /* DataFlash chip */110 { /* DataFlash chip */
111 .modalias = "mtd_dataflash",111 .modalias = "mtd_dataflash",
arch/arm/mach-at91/board-sam9g20ek-2slot-mmc.c+45−0
@@ -26,6 +26,9 @@ · 25 unmodified lines
26#include <linux/spi/spi.h>26#include <linux/spi/spi.h>
27#include <linux/spi/at73c213.h>27#include <linux/spi/at73c213.h>
28#include <linux/clk.h>28#include <linux/clk.h>
29#include <linux/regulator/machine.h>
30#include <linux/regulator/fixed.h>
31#include <linux/regulator/consumer.h>
29 32
30#include <mach/hardware.h>33#include <mach/hardware.h>
31#include <asm/setup.h>34#include <asm/setup.h>
@@ -235,6 +238,46 @@ static struct gpio_led ek_leds[] = { · 203 unmodified lines
235 }238 }
236};239};
237 240
241#if defined(CONFIG_REGULATOR_FIXED_VOLTAGE) || defined(CONFIG_REGULATOR_FIXED_VOLTAGE_MODULE)
242static 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
249static 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
258static 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};
265static 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};
273static void __init ek_add_regulators(void)
274{
275 platform_device_register(&ek_voltage_regulator);
276}
277#else
278static void __init ek_add_regulators(void) {}
279#endif
280
238static struct i2c_board_info __initdata ek_i2c_devices[] = {281static struct i2c_board_info __initdata ek_i2c_devices[] = {
239 {282 {
240 I2C_BOARD_INFO("24c512", 0x50),283 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.