History

Merge branch 'linus' into sched/core, to resolve conflicts

Conflicts: kernel/sysctl.c

Ingo Molnar committed 12 years ago

Commit eaa4e4f2 parents be1e4e7 5cb480f9040 files · +514009 −199247Browse files

Unified · Split

2912 files
  1. CREDITS +2 −2
  2. Documentation/ABI/testing/configfs-usb-gadget +6 −6
  3. Documentation/ABI/testing/configfs-usb-gadget-acm +1 −1
  4. Documentation/ABI/testing/configfs-usb-gadget-ecm +1 −1
  5. Documentation/ABI/testing/configfs-usb-gadget-eem +1 −1
  6. Documentation/ABI/testing/configfs-usb-gadget-ffs +9 −0
  7. Documentation/ABI/testing/configfs-usb-gadget-loopback +8 −0
  8. Documentation/ABI/testing/configfs-usb-gadget-mass-storage +2 −2
  9. Documentation/ABI/testing/configfs-usb-gadget-ncm +1 −1
  10. Documentation/ABI/testing/configfs-usb-gadget-obex +1 −1
  11. Documentation/ABI/testing/configfs-usb-gadget-phonet +1 −1
  12. Documentation/ABI/testing/configfs-usb-gadget-rndis +1 −1
  13. Documentation/ABI/testing/configfs-usb-gadget-serial +1 −1
  14. Documentation/ABI/testing/configfs-usb-gadget-sourcesink +12 −0
  15. Documentation/ABI/testing/configfs-usb-gadget-subset +1 −1
  16. Documentation/ABI/testing/debugfs-driver-genwqe +91 −0
  17. Documentation/ABI/testing/sysfs-bus-iio +13 −0
  18. Documentation/ABI/testing/sysfs-bus-pci +4 −7
  19. Documentation/ABI/testing/sysfs-bus-rbd +26 −0
  20. Documentation/ABI/testing/sysfs-bus-usb +8 −2
  21. Documentation/ABI/testing/sysfs-class-net-mesh +8 −0
  22. Documentation/ABI/testing/sysfs-devices-system-cpu +24 −0
  23. Documentation/ABI/testing/sysfs-driver-genwqe +62 −0
  24. Documentation/ABI/testing/sysfs-fs-f2fs +31 −0
  25. Documentation/ABI/testing/sysfs-kernel-vmcoreinfo +14 −0
  26. Documentation/ABI/testing/sysfs-platform-tahvo-usb +16 −0
  27. Documentation/DocBook/.gitignore +1 −0
  28. Documentation/DocBook/Makefile +3 −2
  29. Documentation/DocBook/kernel-api.tmpl +1 −0
  30. Documentation/DocBook/media/v4l/compat.xml +12 −0
  31. Documentation/DocBook/media/v4l/controls.xml +41 −0
  32. Documentation/DocBook/media/v4l/dev-overlay.xml +3 −6
  33. Documentation/DocBook/media/v4l/media-ioc-enum-links.xml +9 −0
  34. Documentation/DocBook/media/v4l/subdev-formats.xml +160 −3
  35. Documentation/DocBook/media/v4l/v4l2.xml +9 −1
  36. Documentation/DocBook/media/v4l/vidioc-cropcap.xml +3 −7
  37. Documentation/DocBook/media/v4l/vidioc-streamon.xml +1 −1
  38. Documentation/HOWTO +2 −2
  39. Documentation/IRQ-domain.txt +1 −1
  40. Documentation/PCI/00-INDEX +2 −2
  41. Documentation/PCI/MSI-HOWTO.txt +210 −98
  42. Documentation/PCI/pci.txt +4 −2
  43. Documentation/acpi/enumeration.txt +7 −29
  44. Documentation/acpi/namespace.txt +1 −8
  45. Documentation/arm/Marvell/README +24 −0
  46. Documentation/arm/Samsung-S3C24XX/GPIO.txt +1 −12
  47. Documentation/block/biodoc.txt +3 −4
  48. Documentation/block/biovecs.txt +111 −0
  49. Documentation/blockdev/ramdisk.txt +15 −6
  50. Documentation/blockdev/zram.txt +0 −6
  51. Documentation/cgroups/cgroups.txt +0 −20
  52. Documentation/cgroups/memory.txt +2 −2
  53. Documentation/cgroups/net_cls.txt +5 −0
  54. Documentation/cgroups/resource_counter.txt +3 −3
  55. Documentation/clk.txt +7 −0
  56. Documentation/cpu-freq/boost.txt +13 −13
  57. Documentation/cpu-freq/intel-pstate.txt +40 −0
  58. Documentation/cpu-hotplug.txt +1 −1
  59. Documentation/debugging-via-ohci1394.txt +19 −22
  60. Documentation/device-mapper/cache-policies.txt +14 −2
  61. Documentation/device-mapper/cache.txt +29 −22
  62. Documentation/device-mapper/thin-provisioning.txt +7 −0
  63. Documentation/devices.txt +1 −0
  64. Documentation/devicetree/bindings/ABI.txt +39 −0
  65. Documentation/devicetree/bindings/arm/arm-boards +8 −0
  66. Documentation/devicetree/bindings/arm/atmel-aic.txt +1 −0
  67. Documentation/devicetree/bindings/arm/atmel-at91.txt +10 −1
  68. Documentation/devicetree/bindings/arm/bcm/kona-timer.txt +6 −1
  69. Documentation/devicetree/bindings/arm/davinci/nand.txt +0 −46
  70. Documentation/devicetree/bindings/arm/firmware/tlm,trusted-foundations.txt +20 −0
  71. Documentation/devicetree/bindings/arm/gic.txt +1 −0
  72. Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt +32 −0
  73. Documentation/devicetree/bindings/arm/l2cc.txt +12 −11
  74. Documentation/devicetree/bindings/arm/marvell,berlin.txt +24 −0
  75. Documentation/devicetree/bindings/arm/moxart.txt +12 −0
  76. Documentation/devicetree/bindings/arm/omap/omap.txt +53 −0
  77. Documentation/devicetree/bindings/arm/samsung/sysreg.txt +6 −1
  78. Documentation/devicetree/bindings/arm/tegra.txt +5 −0
  79. Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt +1 −0
  80. Documentation/devicetree/bindings/arm/versatile-fpga-irq.txt +5 −0
  81. Documentation/devicetree/bindings/ata/marvell.txt +1 −1
  82. Documentation/devicetree/bindings/ata/sata_rcar.txt +18 −0
  83. Documentation/devicetree/bindings/clock/at91-clock.txt +339 −0
  84. Documentation/devicetree/bindings/clock/bcm-kona-clock.txt +93 −0
  85. Documentation/devicetree/bindings/clock/clk-exynos-audss.txt +35 −4
  86. Documentation/devicetree/bindings/clock/clock-bindings.txt +1 −1
  87. Documentation/devicetree/bindings/clock/corenet-clock.txt +134 −0
  88. Documentation/devicetree/bindings/clock/emev2-clock.txt +98 −0
  89. Documentation/devicetree/bindings/clock/exynos5250-clock.txt +1 −0
  90. Documentation/devicetree/bindings/clock/fixed-clock.txt +3 −0
  91. Documentation/devicetree/bindings/clock/fixed-factor-clock.txt +2 −2
  92. Documentation/devicetree/bindings/clock/hi3620-clock.txt +19 −0
  93. Documentation/devicetree/bindings/clock/imx35-clock.txt +113 −0
  94. Documentation/devicetree/bindings/clock/imx5-clock.txt +3 −192
  95. Documentation/devicetree/bindings/clock/keystone-pll.txt +4 −4
  96. Documentation/devicetree/bindings/clock/maxim,max77686.txt +38 −0
  97. Documentation/devicetree/bindings/clock/nvidia,tegra114-car.txt +4 −0
  98. Documentation/devicetree/bindings/clock/nvidia,tegra124-car.txt +63 −0
  99. Documentation/devicetree/bindings/clock/nvidia,tegra20-car.txt +4 −0
  100. Documentation/devicetree/bindings/clock/nvidia,tegra30-car.txt +4 −0
  101. Documentation/devicetree/bindings/clock/qcom,gcc.txt +21 −0
  102. Documentation/devicetree/bindings/clock/qcom,mmcc.txt +21 −0
  103. Documentation/devicetree/bindings/clock/renesas,cpg-div6-clocks.txt +28 −0
  104. Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt +51 −0
  105. Documentation/devicetree/bindings/clock/renesas,rcar-gen2-cpg-clocks.txt +32 −0
  106. Documentation/devicetree/bindings/clock/silabs,si570.txt +39 −0
  107. Documentation/devicetree/bindings/clock/sunxi.txt +8 −2
  108. Documentation/devicetree/bindings/clock/ti/apll.txt +31 −0
  109. Documentation/devicetree/bindings/clock/ti/autoidle.txt +39 −0
  110. Documentation/devicetree/bindings/clock/ti/clockdomain.txt +24 −0
  111. Documentation/devicetree/bindings/clock/ti/composite.txt +54 −0
  112. Documentation/devicetree/bindings/clock/ti/divider.txt +114 −0
  113. Documentation/devicetree/bindings/clock/ti/dpll.txt +75 −0
  114. Documentation/devicetree/bindings/clock/ti/fixed-factor-clock.txt +43 −0
  115. Documentation/devicetree/bindings/clock/ti/gate.txt +85 −0
  116. Documentation/devicetree/bindings/clock/ti/interface.txt +54 −0
  117. Documentation/devicetree/bindings/clock/ti/mux.txt +76 −0
  118. Documentation/devicetree/bindings/clock/zynq-7000.txt +4 −0
  119. Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt +7 −0
  120. Documentation/devicetree/bindings/crypto/atmel-crypto.txt +68 −0
  121. Documentation/devicetree/bindings/crypto/fsl-dcp.txt +17 −0
  122. Documentation/devicetree/bindings/dma/bcm2835-dma.txt +57 −0
  123. Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt +1 −0
  124. Documentation/devicetree/bindings/dma/moxa,moxart-dma.txt +45 −0
  125. Documentation/devicetree/bindings/dma/ste-dma40.txt +3 −0
  126. Documentation/devicetree/bindings/dma/tegra20-apbdma.txt +14 −0
  127. Documentation/devicetree/bindings/extcon/extcon-palmas.txt +5 −1
  128. Documentation/devicetree/bindings/gpio/gpio-davinci.txt +41 −0
  129. Documentation/devicetree/bindings/gpio/gpio-lp3943.txt +37 −0
  130. Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt +27 −1
  131. Documentation/devicetree/bindings/gpio/moxa,moxart-gpio.txt +19 −0
  132. Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt +2 −1
  133. Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt +137 −0
  134. Documentation/devicetree/bindings/i2c/i2c-at91.txt +2 −0
  135. Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.txt +50 −0
  136. Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt +5 −1
  137. Documentation/devicetree/bindings/i2c/i2c-riic.txt +29 −0
  138. Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt +2 −0
  139. Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt +21 −6
  140. Documentation/devicetree/bindings/i2c/trivial-devices.txt +2 −0
  141. Documentation/devicetree/bindings/iio/humidity/dht11.txt +14 −0
  142. Documentation/devicetree/bindings/iio/light/tsl2563.txt +19 −0
  143. Documentation/devicetree/bindings/iio/magnetometer/hmc5843.txt +17 −0
  144. Documentation/devicetree/bindings/input/gpio-beeper.txt +13 −0
  145. Documentation/devicetree/bindings/input/nvidia,tegra20-kbc.txt +9 −0
  146. Documentation/devicetree/bindings/input/touchscreen/tsc2007.txt +41 −0
  147. Documentation/devicetree/bindings/input/twl4030-keypad.txt +27 −0
  148. Documentation/devicetree/bindings/input/twl4030-pwrbutton.txt +21 −0
  149. Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt +1 −1
  150. Documentation/devicetree/bindings/interrupt-controller/snps,dw-apb-ictl.txt +32 −0
  151. Documentation/devicetree/bindings/leds/tca6507.txt +16 −0
  152. Documentation/devicetree/bindings/marvell.txt +0 −8
  153. Documentation/devicetree/bindings/media/exynos-jpeg-codec.txt +11 −0
  154. Documentation/devicetree/bindings/media/samsung-s5k5baf.txt +58 −0
  155. Documentation/devicetree/bindings/mfd/as3722.txt +11 −0
  156. Documentation/devicetree/bindings/mfd/cros-ec.txt +9 −0
  157. Documentation/devicetree/bindings/mfd/lp3943.txt +33 −0
  158. Documentation/devicetree/bindings/mfd/max77686.txt +3 −0
  159. Documentation/devicetree/bindings/mfd/s2mps11.txt +1 −1
  160. Documentation/devicetree/bindings/mfd/tps65910.txt +2 −2
  161. Documentation/devicetree/bindings/mipi/dsi/mipi-dsi-bus.txt +98 −0
  162. Documentation/devicetree/bindings/mipi/nvidia,tegra114-mipi.txt +41 −0
  163. Documentation/devicetree/bindings/misc/atmel-ssc.txt +5 −0
  164. Documentation/devicetree/bindings/misc/bmp085.txt +4 −0
  165. Documentation/devicetree/bindings/mmc/arasan,sdhci.txt +27 −0
  166. Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt +2 −0
  167. Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt +46 −0
  168. Documentation/devicetree/bindings/mmc/kona-sdhci.txt +4 −0
  169. Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.txt +9 −0
  170. Documentation/devicetree/bindings/mtd/davinci-nand.txt +94 −0
  171. Documentation/devicetree/bindings/mtd/gpmi-nand.txt +8 −0
  172. Documentation/devicetree/bindings/mtd/pxa3xx-nand.txt +5 −1
  173. Documentation/devicetree/bindings/net/allwinner,sun7i-a20-gmac.txt +27 −0
  174. Documentation/devicetree/bindings/net/can/microchip,mcp251x.txt +25 −0
  175. Documentation/devicetree/bindings/net/davinci_emac.txt +4 −4
  176. Documentation/devicetree/bindings/net/macb.txt +6 −0
  177. Documentation/devicetree/bindings/net/marvell-orion-net.txt +0 −3
  178. Documentation/devicetree/bindings/net/phy.txt +1 −5
  179. Documentation/devicetree/bindings/net/stmmac.txt +6 −1
  180. Documentation/devicetree/bindings/nvec/nvidia,nvec.txt +12 −0
  181. Documentation/devicetree/bindings/panel/auo,b101aw03.txt +7 −0
  182. Documentation/devicetree/bindings/panel/chunghwa,claa101wa01a.txt +7 −0
  183. Documentation/devicetree/bindings/panel/chunghwa,claa101wb03.txt +7 −0
  184. Documentation/devicetree/bindings/panel/panasonic,vvx10f004b00.txt +7 −0
  185. Documentation/devicetree/bindings/panel/samsung,ltn101nt05.txt +7 −0
  186. Documentation/devicetree/bindings/panel/simple-panel.txt +21 −0
  187. Documentation/devicetree/bindings/pci/designware-pcie.txt +2 −0
  188. Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt +16 −10
  189. Documentation/devicetree/bindings/phy/bcm-phy.txt +15 −0
  190. Documentation/devicetree/bindings/pinctrl/brcm,capri-pinctrl.txt +461 −0
  191. Documentation/devicetree/bindings/pinctrl/fsl,imx25-pinctrl.txt +23 −0
  192. Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt +22 −0
  193. Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.txt +144 −0
  194. Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt +3 −0
  195. Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt +1 −1
  196. Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt +92 −0
  197. Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt +14 −0
  198. Documentation/devicetree/bindings/power/isp1704.txt +17 −0
  199. Documentation/devicetree/bindings/power_supply/charger-manager.txt +81 −0
  200. Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/network.txt +0 −2
  201. Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/pincfg.txt +0 −3
  202. Documentation/devicetree/bindings/pwm/atmel-pwm.txt +33 −0
  203. Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt +9 −0
  204. Documentation/devicetree/bindings/pwm/pwm-lp3943.txt +58 −0
  205. Documentation/devicetree/bindings/pwm/pxa-pwm.txt +30 −0
  206. Documentation/devicetree/bindings/regulator/act8865-regulator.txt +60 −0
  207. Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt +1 −1
  208. Documentation/devicetree/bindings/rtc/haoyu,hym8563.txt +27 −0
  209. Documentation/devicetree/bindings/rtc/maxim,ds1742.txt +12 −0
  210. Documentation/devicetree/bindings/rtc/nvidia,tegra20-rtc.txt +3 −0
  211. Documentation/devicetree/bindings/rtc/sunxi-rtc.txt +17 −0
  212. Documentation/devicetree/bindings/serial/atmel-usart.txt +7 −0
  213. Documentation/devicetree/bindings/serial/cirrus,clps711x-uart.txt +28 −0
  214. Documentation/devicetree/bindings/serial/nvidia,tegra20-hsuart.txt +16 −3
  215. Documentation/devicetree/bindings/serial/renesas,sci-serial.txt +46 −0
  216. Documentation/devicetree/bindings/serial/vt8500-uart.txt +26 −0
  217. Documentation/devicetree/bindings/sound/adi,axi-i2s.txt +31 −0
  218. Documentation/devicetree/bindings/sound/adi,axi-spdif-tx.txt +30 −0
  219. Documentation/devicetree/bindings/sound/bcm2835-i2s.txt +25 −0
  220. Documentation/devicetree/bindings/sound/cs42l52.txt +46 −0
  221. Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt +4 −2
  222. Documentation/devicetree/bindings/sound/fsl,esai.txt +50 −0
  223. Documentation/devicetree/bindings/sound/fsl,ssi.txt +6 −1
  224. Documentation/devicetree/bindings/sound/fsl-sai.txt +40 −0
  225. Documentation/devicetree/bindings/sound/hdmi.txt +17 −0
  226. Documentation/devicetree/bindings/sound/max98090.txt +43 −0
  227. Documentation/devicetree/bindings/sound/nvidia,tegra-audio-alc5632.txt +4 −3
  228. Documentation/devicetree/bindings/sound/nvidia,tegra-audio-max98090.txt +51 −0
  229. Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5640.txt +4 −3
  230. Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8753.txt +4 −3
  231. Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8903.txt +4 −3
  232. Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm9712.txt +4 −3
  233. Documentation/devicetree/bindings/sound/nvidia,tegra20-ac97.txt +17 −3
  234. Documentation/devicetree/bindings/sound/nvidia,tegra20-i2s.txt +16 −3
  235. Documentation/devicetree/bindings/sound/nvidia,tegra30-ahub.txt +50 −13
  236. Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt +10 −1
  237. Documentation/devicetree/bindings/sound/simple-card.txt +77 −0
  238. Documentation/devicetree/bindings/sound/tlv320aic3x.txt +1 −0
  239. Documentation/devicetree/bindings/spi/nvidia,tegra114-spi.txt +19 −5
  240. Documentation/devicetree/bindings/spi/nvidia,tegra20-sflash.txt +16 −4
  241. Documentation/devicetree/bindings/spi/nvidia,tegra20-slink.txt +16 −4
  242. Documentation/devicetree/bindings/spi/spi-bus.txt +1 −1
  243. Documentation/devicetree/bindings/spi/ti_qspi.txt +7 −1
  244. Documentation/devicetree/bindings/staging/dwc2.txt +0 −15
  245. Documentation/devicetree/bindings/staging/xillybus.txt +20 −0
  246. Documentation/devicetree/bindings/submitting-patches.txt +38 −0
  247. Documentation/devicetree/bindings/thermal/imx-thermal.txt +4 −0
  248. Documentation/devicetree/bindings/thermal/thermal.txt +595 −0
  249. Documentation/devicetree/bindings/timer/nvidia,tegra20-timer.txt +3 −0
  250. Documentation/devicetree/bindings/timer/nvidia,tegra30-timer.txt +3 −0
  251. Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt +37 −17
  252. Documentation/devicetree/bindings/usb/ci-hdrc-imx.txt +0 −0
  253. Documentation/devicetree/bindings/usb/dwc2.txt +29 −0
  254. Documentation/devicetree/bindings/usb/gr-udc.txt +28 −0
  255. Documentation/devicetree/bindings/usb/keystone-phy.txt +20 −0
  256. Documentation/devicetree/bindings/usb/keystone-usb.txt +42 −0
  257. Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt +6 −1
  258. Documentation/devicetree/bindings/usb/omap-usb.txt +2 −0
  259. Documentation/devicetree/bindings/vendor-prefixes.txt +10 −0
  260. Documentation/devicetree/bindings/video/ssd1289fb.txt +13 −0
  261. Documentation/devicetree/bindings/watchdog/atmel-wdt.txt +28 −2
  262. Documentation/devicetree/bindings/watchdog/davinci-wdt.txt +14 −2
  263. Documentation/devicetree/bindings/watchdog/gpio-wdt.txt +23 −0
  264. Documentation/devicetree/bindings/watchdog/samsung-wdt.txt +20 −1
  265. Documentation/devicetree/booting-without-of.txt +0 −3
  266. Documentation/driver-model/design-patterns.txt +116 −0
  267. Documentation/driver-model/devres.txt +2 −0
  268. Documentation/driver-model/platform.txt +1 −1
  269. Documentation/dynamic-debug-howto.txt +9 −0
  270. Documentation/efi-stub.txt +1 −1
  271. Documentation/email-clients.txt +1 −1
  272. Documentation/extcon/porting-android-switch-class +3 −6
  273. Documentation/filesystems/00-INDEX +45 −13
  274. Documentation/filesystems/9p.txt +6 −11
  275. Documentation/filesystems/Locking +1 −1
  276. Documentation/filesystems/btrfs.txt +30 −17
  277. Documentation/filesystems/f2fs.txt +24 −0
  278. Documentation/filesystems/nfs/nfs41-server.txt +14 −28
  279. Documentation/filesystems/nilfs2.txt +56 −0
  280. Documentation/filesystems/proc.txt +12 −3
  281. Documentation/filesystems/sysfs.txt +3 −3
  282. Documentation/filesystems/vfs.txt +2 −10
  283. Documentation/gpio/board.txt +17 −11
  284. Documentation/gpio/consumer.txt +5 −1
  285. Documentation/hwmon/adm1025 +1 −1
  286. Documentation/hwmon/adm1031 +1 −1
  287. Documentation/hwmon/adm9240 +1 −1
  288. Documentation/hwmon/ds1621 +1 −1
  289. Documentation/hwmon/emc6w201 +1 −1
  290. Documentation/hwmon/f71805f +1 −1
  291. Documentation/hwmon/gl518sm +1 −1
  292. Documentation/hwmon/it87 +20 −9
  293. Documentation/hwmon/lm63 +1 −1
  294. Documentation/hwmon/lm70 +1 −1
  295. Documentation/hwmon/lm78 +1 −1
  296. Documentation/hwmon/lm83 +1 −1
  297. Documentation/hwmon/lm87 +1 −1
  298. Documentation/hwmon/lm90 +1 −1
  299. Documentation/hwmon/lm92 +1 −1
  300. Documentation/hwmon/max1619 +1 −1
  301. Documentation/hwmon/pc87360 +1 −1
  302. Documentation/hwmon/pc87427 +1 −1
  303. Documentation/hwmon/pcf8591 +1 −1
  304. Documentation/hwmon/smsc47m1 +1 −1
  305. Documentation/hwmon/w83627ehf +1 −1
  306. Documentation/hwmon/w83795 +1 −1
  307. Documentation/hwmon/w83l785ts +1 −1
  308. Documentation/i2c/busses/i2c-i801 +1 −1
  309. Documentation/i2c/busses/i2c-parport +1 −1
  310. Documentation/i2c/busses/i2c-parport-light +1 −1
  311. Documentation/i2c/busses/i2c-piix4 +1 −1
  312. Documentation/i2c/busses/i2c-taos-evm +1 −1
  313. Documentation/i2c/busses/i2c-viapro +1 −1
  314. Documentation/i2c/fault-codes +0 −3
  315. Documentation/input/gamepad.txt +3 −3
  316. Documentation/input/joystick-api.txt +19 −19
  317. Documentation/input/joystick.txt +4 −4
  318. Documentation/io-mapping.txt +1 −1
  319. Documentation/ioctl/ioctl-number.txt +1 −0
  320. Documentation/ja_JP/HOWTO +2 −2
  321. Documentation/kernel-parameters.txt +42 −3
  322. Documentation/kmsg/s390/zcrypt +0 −20
  323. Documentation/ko_KR/HOWTO +46 −84
  324. Documentation/kobject.txt +4 −1
  325. Documentation/laptops/hpfall.c +1 −1
  326. Documentation/leds/leds-lp55xx.txt +9 −1
  327. Documentation/md.txt +1 −1
  328. Documentation/misc-devices/eeprom +1 −1
  329. Documentation/misc-devices/mei/mei-amt-version.c +0 −2
  330. Documentation/mtd/nand/pxa3xx-nand.txt +113 −0
  331. Documentation/networking/batman-adv.txt +4 −5
  332. Documentation/networking/bonding.txt +10 −1
  333. Documentation/networking/can.txt +37 −57
  334. Documentation/networking/filter.txt +561 −47
  335. Documentation/networking/i40evf.txt +47 −0
  336. Documentation/networking/ip-sysctl.txt +63 −2
  337. Documentation/networking/ipsec.txt +38 −0
  338. Documentation/networking/packet_mmap.txt +47 −2
  339. Documentation/networking/phy.txt +2 −1
  340. Documentation/networking/pktgen.txt +15 −0
  341. Documentation/networking/regulatory.txt +2 −2
  342. Documentation/networking/stmmac.txt +8 −4
  343. Documentation/networking/timestamping.txt +7 −2
  344. Documentation/networking/timestamping/.gitignore +1 −0
  345. Documentation/networking/timestamping/Makefile +3 −2
  346. Documentation/networking/timestamping/hwtstamp_config.c +134 −0
  347. Documentation/pinctrl.txt +21 −22
  348. Documentation/power/basic-pm-debugging.txt +1 −1
  349. Documentation/printk-formats.txt +9 −2
  350. Documentation/rfkill.txt +1 −1
  351. Documentation/rt-mutex-design.txt +1 −1
  352. Documentation/s390/qeth.txt +50 −0
  353. Documentation/scsi/00-INDEX +0 −2
  354. Documentation/scsi/aic7xxx_old.txt +0 −511
  355. Documentation/scsi/scsi_eh.txt +39 −30
  356. Documentation/scsi/scsi_mid_low_api.txt +7 −2
  357. Documentation/scsi/scsi_transport_srp/Makefile +7 −0
  358. Documentation/scsi/scsi_transport_srp/rport_state_diagram.dot +26 −0
  359. Documentation/security/IMA-templates.txt +4 −2
  360. Documentation/sound/alsa/soc/overview.txt +18 −9
  361. Documentation/spi/spi-summary +4 −4
  362. Documentation/static-keys.txt +2 −2
  363. Documentation/sysctl/kernel.txt +56 −1
  364. Documentation/sysctl/vm.txt +15 −1
  365. Documentation/trace/events.txt +207 −0
  366. Documentation/trace/postprocess/trace-vmscan-postprocess.pl +9 −9
  367. Documentation/trace/uprobetracer.txt +31 −5
  368. Documentation/unaligned-memory-access.txt +19 −9
  369. Documentation/usb/gadget_multi.txt +1 −1
  370. Documentation/video4linux/omap4_camera.txt +60 −0
  371. Documentation/video4linux/si476x.txt +1 −1
  372. Documentation/virtual/kvm/api.txt +10 −4
  373. Documentation/virtual/kvm/devices/arm-vgic.txt +73 −0
  374. Documentation/virtual/kvm/hypercalls.txt +4 −1
  375. Documentation/virtual/kvm/locking.txt +2 −2
  376. Documentation/virtual/kvm/ppc-pv.txt +1 −1
  377. Documentation/virtual/kvm/s390-diag.txt +80 −0
  378. Documentation/virtual/kvm/timekeeping.txt +1 −1
  379. Documentation/vm/locking +0 −130
  380. Documentation/vm/overcommit-accounting +4 −3
  381. Documentation/vme_api.txt +11 −1
  382. Documentation/x86/x86_64/boot-options.txt +0 −23
  383. Documentation/xtensa/atomctl.txt +1 −1
  384. Documentation/xtensa/mmu.txt +18 −0
  385. Documentation/zh_CN/HOWTO +2 −2
  386. MAINTAINERS +212 −84
  387. Makefile +10 −1
  388. arch/alpha/Kconfig +8 −4
  389. arch/alpha/include/asm/Kbuild +1 −0
  390. arch/alpha/include/asm/ptrace.h +5 −0
  391. arch/alpha/include/asm/thread_info.h +2 −0
  392. arch/alpha/include/uapi/asm/socket.h +2 −0
  393. arch/alpha/kernel/Makefile +1 −0
  394. arch/alpha/kernel/audit.c +60 −0
  395. arch/alpha/kernel/entry.S +5 −1
  396. arch/alpha/kernel/pci-sysfs.c +2 −2
  397. arch/alpha/kernel/pci_iommu.c +1 −1
  398. arch/alpha/kernel/ptrace.c +4 −0
  399. arch/alpha/lib/csum_partial_copy.c +7 −2
  400. arch/arc/Kconfig +2 −13
  401. arch/arc/include/asm/Kbuild +1 −0
  402. arch/arc/include/asm/linkage.h +2 −0
  403. arch/arc/include/asm/smp.h +4 −4
  404. arch/arc/kernel/head.S +7 −19
  405. arch/arc/kernel/setup.c +36 −12
  406. arch/arc/kernel/smp.c +70 −54
  407. arch/arc/plat-arcfpga/smp.c +4 −8
  408. arch/arm/Kconfig +59 −27
  409. arch/arm/Kconfig.debug +57 −1
  410. arch/arm/Makefile +6 −2
  411. arch/arm/boot/compressed/Makefile +12 −5
  412. arch/arm/boot/dts/Makefile +34 −4
  413. arch/arm/boot/dts/am33xx-clocks.dtsi +664 −0
  414. arch/arm/boot/dts/am33xx.dtsi +28 −0
  415. arch/arm/boot/dts/am3517-evm.dts +29 −0
  416. arch/arm/boot/dts/am3517.dtsi +3 −0
  417. arch/arm/boot/dts/am35xx-clocks.dtsi +128 −0
  418. arch/arm/boot/dts/am4372.dtsi +28 −0
  419. arch/arm/boot/dts/am43xx-clocks.dtsi +656 −0
  420. arch/arm/boot/dts/animeo_ip.dts +8 −23
  421. arch/arm/boot/dts/armada-370-mirabox.dts +23 −2
  422. arch/arm/boot/dts/armada-370-netgear-rn102.dts +91 −34
  423. arch/arm/boot/dts/armada-370-netgear-rn104.dts +100 −31
  424. arch/arm/boot/dts/armada-370-rd.dts +21 −0
  425. arch/arm/boot/dts/armada-370-xp.dtsi +88 −79
  426. arch/arm/boot/dts/armada-370.dtsi +37 −37
  427. arch/arm/boot/dts/armada-xp-gp.dts +8 −0
  428. arch/arm/boot/dts/armada-xp-netgear-rn2120.dts +327 −0
  429. arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts +1 −2
  430. arch/arm/boot/dts/armada-xp.dtsi +50 −50
  431. arch/arm/boot/dts/armv7-m.dtsi +18 −0
  432. arch/arm/boot/dts/at91-cosino.dtsi +122 −0
  433. arch/arm/boot/dts/at91-cosino_mega2560.dts +84 −0
  434. arch/arm/boot/dts/at91-qil_a9260.dts +185 −0
  435. arch/arm/boot/dts/at91rm9200.dtsi +2 −2
  436. arch/arm/boot/dts/at91rm9200ek.dts +46 −11
  437. arch/arm/boot/dts/at91sam9260.dtsi +5 −0
  438. arch/arm/boot/dts/at91sam9263.dtsi +51 −0
  439. arch/arm/boot/dts/at91sam9263ek.dts +30 −0
  440. arch/arm/boot/dts/at91sam9g45.dtsi +81 −0
  441. arch/arm/boot/dts/at91sam9m10g45ek.dts +52 −2
  442. arch/arm/boot/dts/at91sam9n12.dtsi +14 −0
  443. arch/arm/boot/dts/at91sam9x5.dtsi +14 −0
  444. arch/arm/boot/dts/atlas6.dtsi +26 −0
  445. arch/arm/boot/dts/bcm11351-brt.dts +6 −0
  446. arch/arm/boot/dts/bcm11351.dtsi +169 −5
  447. arch/arm/boot/dts/bcm28155-ap.dts +28 −0
  448. arch/arm/boot/dts/bcm2835-rpi-b.dts +7 −2
  449. arch/arm/boot/dts/bcm2835.dtsi +6 −0
  450. arch/arm/boot/dts/berlin2-sony-nsz-gs7.dts +29 −0
  451. arch/arm/boot/dts/berlin2.dtsi +227 −0
  452. arch/arm/boot/dts/berlin2cd-google-chromecast.dts +29 −0
  453. arch/arm/boot/dts/berlin2cd.dtsi +210 −0
  454. arch/arm/boot/dts/da850-evm.dts +3 −0
  455. arch/arm/boot/dts/da850.dtsi +14 −0
  456. arch/arm/boot/dts/dove-cubox.dts +1 −1
  457. arch/arm/boot/dts/dove.dtsi +259 −239
  458. arch/arm/boot/dts/dra7.dtsi +41 −0
  459. arch/arm/boot/dts/dra7xx-clocks.dtsi +2015 −0
  460. arch/arm/boot/dts/efm32gg-dk3750.dts +86 −0
  461. arch/arm/boot/dts/efm32gg.dtsi +172 −0
  462. arch/arm/boot/dts/emev2-kzm9d.dts +40 −2
  463. arch/arm/boot/dts/emev2.dtsi +103 −13
  464. arch/arm/boot/dts/exynos4.dtsi +3 −3
  465. arch/arm/boot/dts/exynos4210-origen.dts +1 −1
  466. arch/arm/boot/dts/exynos4210.dtsi +10 −13
  467. arch/arm/boot/dts/exynos4212.dtsi +1 −23
  468. arch/arm/boot/dts/exynos4412-odroidx.dts +2 −4
  469. arch/arm/boot/dts/exynos4412-origen.dts +2 −5
  470. arch/arm/boot/dts/exynos4412-tiny4412.dts +93 −0
  471. arch/arm/boot/dts/exynos4412-trats2.dts +17 −4
  472. arch/arm/boot/dts/exynos4412.dtsi +1 −34
  473. arch/arm/boot/dts/exynos4x12.dtsi +33 −0
  474. arch/arm/boot/dts/exynos5.dtsi +2 −23
  475. arch/arm/boot/dts/exynos5250-arndale.dts +15 −49
  476. arch/arm/boot/dts/exynos5250-cros-common.dtsi +13 −22
  477. arch/arm/boot/dts/exynos5250-smdk5250.dts +23 −39
  478. arch/arm/boot/dts/exynos5250-snow.dts +13 −3
  479. arch/arm/boot/dts/exynos5250.dtsi +54 −8
  480. arch/arm/boot/dts/exynos5420-arndale-octa.dts +66 −0
  481. arch/arm/boot/dts/exynos5420-pinctrl.dtsi +1 −1
  482. arch/arm/boot/dts/exynos5420-smdk5420.dts +33 −0
  483. arch/arm/boot/dts/exynos5420.dtsi +346 −4
  484. arch/arm/boot/dts/exynos5440.dtsi +1 −1
  485. arch/arm/boot/dts/hi3620-hi4511.dts +649 −0
  486. arch/arm/boot/dts/hi3620.dtsi +565 −0
  487. arch/arm/boot/dts/imx23.dtsi +3 −1
  488. arch/arm/boot/dts/imx28.dtsi +2 −1
  489. arch/arm/boot/dts/imx6dl-cubox-i.dts +12 −0
  490. arch/arm/boot/dts/imx6dl-hummingboard.dts +167 −0
  491. arch/arm/boot/dts/imx6q-cubox-i.dts +16 −0
  492. arch/arm/boot/dts/imx6qdl-cubox-i.dtsi +143 −0
  493. arch/arm/boot/dts/imx6qdl-microsom-ar8035.dtsi +62 −0
  494. arch/arm/boot/dts/imx6qdl-microsom.dtsi +33 −0
  495. arch/arm/boot/dts/integrator.dtsi +5 −0
  496. arch/arm/boot/dts/integratorcp.dts +3 −0
  497. arch/arm/boot/dts/k2hk-evm.dts +63 −0
  498. arch/arm/boot/dts/keystone-clocks.dtsi +17 −19
  499. arch/arm/boot/dts/keystone.dtsi +32 −3
  500. arch/arm/boot/dts/kirkwood-6192.dtsi +107 −0
  501. arch/arm/boot/dts/kirkwood-6281.dtsi +4 −0
  502. arch/arm/boot/dts/kirkwood-6282.dtsi +21 −18
  503. arch/arm/boot/dts/kirkwood-cloudbox.dts +5 −6
  504. arch/arm/boot/dts/kirkwood-db.dtsi +2 −3
  505. arch/arm/boot/dts/kirkwood-dns320.dts +6 −6
  506. arch/arm/boot/dts/kirkwood-dns325.dts +6 −6
  507. arch/arm/boot/dts/kirkwood-dnskw.dtsi +9 −10
  508. arch/arm/boot/dts/kirkwood-dockstar.dts +3 −4
  509. arch/arm/boot/dts/kirkwood-dreamplug.dts +3 −5
  510. arch/arm/boot/dts/kirkwood-goflexnet.dts +12 −13
  511. arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts +6 −8
  512. arch/arm/boot/dts/kirkwood-ib62x0.dts +9 −10
  513. arch/arm/boot/dts/kirkwood-iconnect.dts +14 −15
  514. arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts +11 −12
  515. arch/arm/boot/dts/kirkwood-km_kirkwood.dts +2 −3
  516. arch/arm/boot/dts/kirkwood-laplug.dts +175 −0
  517. arch/arm/boot/dts/kirkwood-lsxl.dtsi +15 −17
  518. arch/arm/boot/dts/kirkwood-mplcec4.dts +7 −9
  519. arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts +7 −7
  520. arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts +71 −41
  521. arch/arm/boot/dts/kirkwood-netgear_readynas_nv+_v2.dts +268 −0
  522. arch/arm/boot/dts/kirkwood-ns2-common.dtsi +4 −5
  523. arch/arm/boot/dts/kirkwood-ns2lite.dts +2 −2
  524. arch/arm/boot/dts/kirkwood-ns2max.dts +5 −5
  525. arch/arm/boot/dts/kirkwood-ns2mini.dts +5 −5
  526. arch/arm/boot/dts/kirkwood-nsa310-common.dtsi +2 −2
  527. arch/arm/boot/dts/kirkwood-nsa310.dts +16 −16
  528. arch/arm/boot/dts/kirkwood-nsa310a.dts +15 −15
  529. arch/arm/boot/dts/kirkwood-openblocks_a6.dts +5 −6
  530. arch/arm/boot/dts/kirkwood-openblocks_a7.dts +5 −7
  531. arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi +1 −2
  532. arch/arm/boot/dts/kirkwood-sheevaplug-esata.dts +4 −4
  533. arch/arm/boot/dts/kirkwood-sheevaplug.dts +4 −4
  534. arch/arm/boot/dts/kirkwood-topkick.dts +5 −6
  535. arch/arm/boot/dts/kirkwood-ts219-6281.dts +4 −4
  536. arch/arm/boot/dts/kirkwood-ts219-6282.dts +4 −4
  537. arch/arm/boot/dts/kirkwood-ts219.dtsi +0 −1
  538. arch/arm/boot/dts/kirkwood.dtsi +90 −72
  539. arch/arm/boot/dts/kizbox.dts +6 −0
  540. arch/arm/boot/dts/moxart-uc7112lx.dts +117 −0
  541. arch/arm/boot/dts/moxart.dtsi +148 −0
  542. arch/arm/boot/dts/omap2.dtsi +1 −1
  543. arch/arm/boot/dts/omap2420-n800.dts +8 −0
  544. arch/arm/boot/dts/omap2420-n810-wimax.dts +8 −0
  545. arch/arm/boot/dts/omap2420-n810.dts +8 −0
  546. arch/arm/boot/dts/omap2420-n8x0-common.dtsi +99 −0
  547. arch/arm/boot/dts/omap2430-sdp.dts +49 −0
  548. arch/arm/boot/dts/omap3-beagle-xm.dts +26 −14
  549. arch/arm/boot/dts/omap3-beagle.dts +26 −14
  550. arch/arm/boot/dts/omap3-cm-t3730.dts +104 −0
  551. arch/arm/boot/dts/omap3-cm-t3x30.dtsi +95 −0
  552. arch/arm/boot/dts/omap3-igep.dtsi +0 −2
  553. arch/arm/boot/dts/omap3-igep0020.dts +29 −23
  554. arch/arm/boot/dts/omap3-igep0030.dts +6 −4
  555. arch/arm/boot/dts/omap3-ldp.dts +231 −0
  556. arch/arm/boot/dts/omap3-sb-t35.dtsi +40 −0
  557. arch/arm/boot/dts/omap3-sbc-t3730.dts +30 −0
  558. arch/arm/boot/dts/omap3-zoom3.dts +15 −8
  559. arch/arm/boot/dts/omap3.dtsi +42 −1
  560. arch/arm/boot/dts/omap3430es1-clocks.dtsi +208 −0
  561. arch/arm/boot/dts/omap34xx-omap36xx-clocks.dtsi +268 −0
  562. arch/arm/boot/dts/omap34xx.dtsi +17 −0
  563. arch/arm/boot/dts/omap36xx-am35xx-omap3430es2plus-clocks.dtsi +242 −0
  564. arch/arm/boot/dts/omap36xx-clocks.dtsi +90 −0
  565. arch/arm/boot/dts/omap36xx-omap3430es2plus-clocks.dtsi +198 −0
  566. arch/arm/boot/dts/omap36xx.dtsi +16 −0
  567. arch/arm/boot/dts/omap3xxx-clocks.dtsi +1660 −0
  568. arch/arm/boot/dts/omap4-cpu-thermal.dtsi +41 −0
  569. arch/arm/boot/dts/omap4.dtsi +54 −0
  570. arch/arm/boot/dts/omap443x-clocks.dtsi +18 −0
  571. arch/arm/boot/dts/omap443x.dtsi +20 −5
  572. arch/arm/boot/dts/omap4460.dtsi +23 −8
  573. arch/arm/boot/dts/omap446x-clocks.dtsi +27 −0
  574. arch/arm/boot/dts/omap44xx-clocks.dtsi +1651 −0
  575. arch/arm/boot/dts/omap5-core-thermal.dtsi +28 −0
  576. arch/arm/boot/dts/omap5-gpu-thermal.dtsi +28 −0
  577. arch/arm/boot/dts/omap5.dtsi +67 −1
  578. arch/arm/boot/dts/omap54xx-clocks.dtsi +1399 −0
  579. arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts +0 −1
  580. arch/arm/boot/dts/orion5x.dtsi +53 −54
  581. arch/arm/boot/dts/prima2.dtsi +41 −0
  582. arch/arm/boot/dts/pxa27x.dtsi +24 −0
  583. arch/arm/boot/dts/qcom-apq8074-dragonboard.dts +6 −0
  584. arch/arm/boot/dts/qcom-msm8660-surf.dts +2 −2
  585. arch/arm/boot/dts/qcom-msm8960-cdp.dts +1 −1
  586. arch/arm/boot/dts/qcom-msm8974.dtsi +97 −0
  587. arch/arm/boot/dts/r7s72100-genmai-reference.dts +31 −0
  588. arch/arm/boot/dts/r7s72100-genmai.dts +1 −1
  589. arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts +10 −5
  590. arch/arm/boot/dts/r8a73a4-ape6evm.dts +8 −2
  591. arch/arm/boot/dts/r8a73a4.dtsi +123 −61
  592. arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts +84 −6
  593. arch/arm/boot/dts/r8a7740-armadillo800eva.dts +1 −1
  594. arch/arm/boot/dts/r8a7740.dtsi +88 −56
  595. arch/arm/boot/dts/r8a7778-bockw-reference.dts +55 −2
  596. arch/arm/boot/dts/r8a7778-bockw.dts +1 −1
  597. arch/arm/boot/dts/r8a7778.dtsi +161 −11
  598. arch/arm/boot/dts/r8a7779-marzen-reference.dts +28 −8
  599. arch/arm/boot/dts/r8a7779-marzen.dts +1 −1
  600. arch/arm/boot/dts/r8a7779.dtsi +93 −21
  601. arch/arm/boot/dts/r8a7790-lager-reference.dts +0 −45
  602. arch/arm/boot/dts/r8a7790-lager.dts +63 −1
  603. arch/arm/boot/dts/r8a7790.dtsi +383 −30
  604. arch/arm/boot/dts/r8a7791-koelsch-reference.dts +115 −0
  605. arch/arm/boot/dts/r8a7791-koelsch.dts +34 −1
  606. arch/arm/boot/dts/r8a7791.dtsi +451 −16
  607. arch/arm/boot/dts/sama5d3.dtsi +422 −6
  608. arch/arm/boot/dts/sama5d36.dtsi +20 −0
  609. arch/arm/boot/dts/sama5d36ek.dts +53 −0
  610. arch/arm/boot/dts/sama5d3_can.dtsi +20 −0
  611. arch/arm/boot/dts/sama5d3_emac.dtsi +11 −0
  612. arch/arm/boot/dts/sama5d3_gmac.dtsi +11 −0
  613. arch/arm/boot/dts/sama5d3_lcd.dtsi +17 −0
  614. arch/arm/boot/dts/sama5d3_mci2.dtsi +12 −0
  615. arch/arm/boot/dts/sama5d3_tcb1.dtsi +12 −0
  616. arch/arm/boot/dts/sama5d3_uart.dtsi +26 −0
  617. arch/arm/boot/dts/sama5d3xcm.dtsi +6 −11
  618. arch/arm/boot/dts/sama5d3xdm.dtsi +1 −0
  619. arch/arm/boot/dts/sh7372-mackerel.dts +1 −1
  620. arch/arm/boot/dts/sh73a0-kzm9g-reference.dts +97 −6
  621. arch/arm/boot/dts/sh73a0-kzm9g.dts +1 −1
  622. arch/arm/boot/dts/sh73a0.dtsi +94 −74
  623. arch/arm/boot/dts/socfpga.dtsi +4 −0
  624. arch/arm/boot/dts/st-pincfg.h +1 −1
  625. arch/arm/boot/dts/ste-dbx5x0.dtsi +32 −0
  626. arch/arm/boot/dts/ste-href-family-pinctrl.dtsi +745 −0
  627. arch/arm/boot/dts/ste-href-stuib.dtsi +41 −0
  628. arch/arm/boot/dts/ste-href-tvk1281618.dtsi +84 −6
  629. arch/arm/boot/dts/ste-href.dtsi +68 −12
  630. arch/arm/boot/dts/ste-hrefprev60.dtsi +73 −5
  631. arch/arm/boot/dts/ste-hrefv60plus.dtsi +211 −40
  632. arch/arm/boot/dts/ste-nomadik-pinctrl.dtsi +80 −0
  633. arch/arm/boot/dts/ste-nomadik-s8815.dts +0 −4
  634. arch/arm/boot/dts/ste-nomadik-stn8815.dtsi +2 −2
  635. arch/arm/boot/dts/ste-snowball.dts +227 −4
  636. arch/arm/boot/dts/ste-u300.dts +3 −3
  637. arch/arm/boot/dts/stih415-pinctrl.dtsi +36 −0
  638. arch/arm/boot/dts/stih415.dtsi +53 −0
  639. arch/arm/boot/dts/stih416-pinctrl.dtsi +35 −0
  640. arch/arm/boot/dts/stih416.dtsi +53 −0
  641. arch/arm/boot/dts/stih41x-b2000.dtsi +9 −0
  642. arch/arm/boot/dts/stih41x-b2020.dtsi +22 −0
  643. arch/arm/boot/dts/sun4i-a10-a1000.dts +0 −4
  644. arch/arm/boot/dts/sun4i-a10-cubieboard.dts +0 −9
  645. arch/arm/boot/dts/sun4i-a10-hackberry.dts +0 −4
  646. arch/arm/boot/dts/sun4i-a10-mini-xplus.dts +0 −4
  647. arch/arm/boot/dts/sun4i-a10.dtsi +162 −2
  648. arch/arm/boot/dts/sun5i-a10s.dtsi +130 −2
  649. arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts +68 −0
  650. arch/arm/boot/dts/sun5i-a13-olinuxino.dts +0 −4
  651. arch/arm/boot/dts/sun5i-a13.dtsi +126 −2
  652. arch/arm/boot/dts/sun6i-a31.dtsi +34 −0
  653. arch/arm/boot/dts/sun7i-a20-cubietruck.dts +18 −0
  654. arch/arm/boot/dts/sun7i-a20.dtsi +210 −12
  655. arch/arm/boot/dts/tegra114-dalmore.dts +335 −295
  656. arch/arm/boot/dts/tegra114.dtsi +251 −44
  657. arch/arm/boot/dts/tegra124-venice2.dts +1064 −0
  658. arch/arm/boot/dts/tegra124.dtsi +418 −0
  659. arch/arm/boot/dts/tegra20-colibri-512.dtsi +107 −102
  660. arch/arm/boot/dts/tegra20-harmony.dts +177 −139
  661. arch/arm/boot/dts/tegra20-iris-512.dts +15 −15
  662. arch/arm/boot/dts/tegra20-medcom-wide.dts +1 −1
  663. arch/arm/boot/dts/tegra20-paz00.dts +30 −22
  664. arch/arm/boot/dts/tegra20-plutux.dts +2 −2
  665. arch/arm/boot/dts/tegra20-seaboard.dts +180 −173
  666. arch/arm/boot/dts/tegra20-tamonten.dtsi +26 −21
  667. arch/arm/boot/dts/tegra20-tec.dts +3 −3
  668. arch/arm/boot/dts/tegra20-trimslice.dts +30 −24
  669. arch/arm/boot/dts/tegra20-ventana.dts +34 −28
  670. arch/arm/boot/dts/tegra20-whistler.dts +45 −39
  671. arch/arm/boot/dts/tegra20.dtsi +147 −44
  672. arch/arm/boot/dts/tegra30-beaver.dts +70 −56
  673. arch/arm/boot/dts/tegra30-cardhu-a02.dts +7 −7
  674. arch/arm/boot/dts/tegra30-cardhu-a04.dts +7 −7
  675. arch/arm/boot/dts/tegra30-cardhu.dtsi +72 −32
  676. arch/arm/boot/dts/tegra30.dtsi +189 −58
  677. arch/arm/boot/dts/zynq-7000.dtsi +37 −2
  678. arch/arm/boot/dts/zynq-zc702.dts +5 −0
  679. arch/arm/boot/dts/zynq-zc706.dts +5 −0
  680. arch/arm/boot/dts/zynq-zed.dts +5 −0
  681. arch/arm/common/it8152.c +2 −2
  682. arch/arm/common/mcpm_entry.c +3 −4
  683. arch/arm/common/timer-sp.c +2 −2
  684. arch/arm/configs/ape6evm_defconfig +1 −1
  685. arch/arm/configs/armadillo800eva_defconfig +4 −1
  686. arch/arm/configs/at91_dt_defconfig +0 −1
  687. arch/arm/configs/at91rm9200_defconfig +0 −1
  688. arch/arm/configs/at91sam9260_9g20_defconfig +0 −2
  689. arch/arm/configs/at91sam9261_9g10_defconfig +0 −1
  690. arch/arm/configs/at91sam9g45_defconfig +0 −1
  691. arch/arm/configs/at91sam9rl_defconfig +0 −1
  692. arch/arm/configs/bcm2835_defconfig +23 −14
  693. arch/arm/configs/bcm_defconfig +5 −2
  694. arch/arm/configs/bockw_defconfig +6 −6
  695. arch/arm/configs/efm32_defconfig +102 −0
  696. arch/arm/configs/exynos_defconfig +2 −1
  697. arch/arm/configs/genmai_defconfig +116 −0
  698. arch/arm/configs/hi3xxx_defconfig +56 −0
  699. arch/arm/configs/imx_v4_v5_defconfig +2 −0
  700. arch/arm/configs/imx_v6_v7_defconfig +11 −2
  701. arch/arm/configs/keystone_defconfig +19 −1
  702. arch/arm/configs/kirkwood_defconfig +1 −0
  703. arch/arm/configs/koelsch_defconfig +25 −2
  704. arch/arm/configs/kzm9d_defconfig +2 −1
  705. arch/arm/configs/kzm9g_defconfig +1 −1
  706. arch/arm/configs/lager_defconfig +3 −2
  707. arch/arm/configs/mackerel_defconfig +1 −1
  708. arch/arm/configs/marzen_defconfig +5 −7
  709. arch/arm/configs/moxart_defconfig +149 −0
  710. arch/arm/configs/msm_defconfig +7 −7
  711. arch/arm/configs/multi_v7_defconfig +7 −0
  712. arch/arm/configs/mvebu_defconfig +3 −0
  713. arch/arm/configs/omap2plus_defconfig +3 −0
  714. arch/arm/configs/sama5_defconfig +0 −1
  715. arch/arm/configs/tegra_defconfig +15 −8
  716. arch/arm/configs/u8500_defconfig +1 −0
  717. arch/arm/configs/versatile_defconfig +12 −14
  718. arch/arm/firmware/Kconfig +28 −0
  719. arch/arm/firmware/Makefile +1 −0
  720. arch/arm/firmware/trusted_foundations.c +81 −0
  721. arch/arm/include/asm/Kbuild +1 −0
  722. arch/arm/include/asm/bitops.h +44 −10
  723. arch/arm/include/asm/cacheflush.h +5 −0
  724. arch/arm/include/asm/checksum.h +24 −10
  725. arch/arm/include/asm/clkdev.h +2 −0
  726. arch/arm/include/asm/dma.h +2 −2
  727. arch/arm/include/asm/hardware/cache-l2x0.h +1 −0
  728. arch/arm/include/asm/io.h +6 −0
  729. arch/arm/include/asm/kvm_host.h +3 −0
  730. arch/arm/include/asm/kvm_mmu.h +1 −0
  731. arch/arm/include/asm/mach/map.h +15 −12
  732. arch/arm/include/asm/pci.h +1 −4
  733. arch/arm/include/asm/pgtable-2level.h +1 −0
  734. arch/arm/include/asm/pgtable-3level.h +1 −0
  735. arch/arm/include/asm/pgtable.h +2 −0
  736. arch/arm/include/asm/trusted_foundations.h +67 −0
  737. arch/arm/include/asm/word-at-a-time.h +10 −8
  738. arch/arm/include/asm/xen/page.h +2 −1
  739. arch/arm/include/debug/imx-uart.h +10 −0
  740. arch/arm/include/debug/tegra.S +5 −29
  741. arch/arm/include/uapi/asm/kvm.h +28 −0
  742. arch/arm/kernel/armksyms.c +4 −0
  743. arch/arm/kernel/devtree.c +1 −1
  744. arch/arm/kernel/entry-armv.S +2 −0
  745. arch/arm/kernel/entry-v7m.S +0 −2
  746. arch/arm/kernel/etm.c +0 −6
  747. arch/arm/kernel/head.S +2 −1
  748. arch/arm/kernel/io.c +35 −0
  749. arch/arm/kernel/setup.c +36 −23
  750. arch/arm/kernel/smp.c +4 −2
  751. arch/arm/kernel/tcm.c +2 −2
  752. arch/arm/kernel/topology.c +6 −6
  753. arch/arm/kernel/traps.c +1 −1
  754. arch/arm/kvm/arm.c +64 −15
  755. arch/arm/kvm/guest.c +91 −1
  756. arch/arm/kvm/handle_exit.c +0 −2
  757. arch/arm/kvm/mmu.c +13 −11
  758. arch/arm/kvm/psci.c +6 −5
  759. arch/arm/lib/Makefile +1 −1
  760. arch/arm/lib/backtrace.S +10 −10
  761. arch/arm/lib/bswapsdi2.S +36 −0
  762. arch/arm/mach-at91/Kconfig +44 −8
  763. arch/arm/mach-at91/Kconfig.non_dt +7 −7
  764. arch/arm/mach-at91/Makefile +1 −2
  765. arch/arm/mach-at91/at91rm9200.c +1 −1
  766. arch/arm/mach-at91/at91sam9260.c +1 −1
  767. arch/arm/mach-at91/at91sam9261.c +1 −1
  768. arch/arm/mach-at91/at91sam9263.c +1 −1
  769. arch/arm/mach-at91/at91sam926x_time.c +13 −1
  770. arch/arm/mach-at91/at91sam9g45.c +1 −1
  771. arch/arm/mach-at91/at91sam9n12.c +1 −1
  772. arch/arm/mach-at91/at91sam9rl.c +1 −1
  773. arch/arm/mach-at91/at91sam9x5.c +1 −1
  774. arch/arm/mach-at91/board-dt-sama5.c +9 −1
  775. arch/arm/mach-at91/board-qil-a9260.c +0 −266
  776. arch/arm/mach-at91/clock.c +6 −7
  777. arch/arm/mach-at91/generic.h +2 −1
  778. arch/arm/mach-at91/include/mach/cpu.h +2 −1
  779. arch/arm/mach-at91/pm.c +1 −4
  780. arch/arm/mach-at91/pm_slowclock.S +1 −1
  781. arch/arm/mach-at91/sam9_smc.c +1 −1
  782. arch/arm/mach-at91/sama5d3.c +1 −343
  783. arch/arm/mach-at91/setup.c +10 −4
  784. arch/arm/mach-bcm/Kconfig +1 −0
  785. arch/arm/mach-bcm2835/Kconfig +1 −1
  786. arch/arm/mach-berlin/Kconfig +29 −0
  787. arch/arm/mach-berlin/Makefile +1 −0
  788. arch/arm/mach-berlin/berlin.c +39 −0
  789. arch/arm/mach-clps711x/common.c +2 −2
  790. arch/arm/mach-clps711x/devices.c +21 −0
  791. arch/arm/mach-davinci/clock.c +1 −1
  792. arch/arm/mach-davinci/da830.c +1 −2
  793. arch/arm/mach-davinci/da850.c +1 −2
  794. arch/arm/mach-davinci/da8xx-dt.c +1 −1
  795. arch/arm/mach-davinci/devices-da8xx.c +2 −2
  796. arch/arm/mach-davinci/devices.c +1 −1
  797. arch/arm/mach-davinci/dm355.c +1 −2
  798. arch/arm/mach-davinci/dm365.c +1 −2
  799. arch/arm/mach-davinci/dm644x.c +1 −2
  800. arch/arm/mach-davinci/dm646x.c +1 −2
  801. arch/arm/mach-davinci/time.c +2 −2
  802. arch/arm/mach-dove/common.c +3 −12
  803. arch/arm/mach-efm32/Makefile +1 −0
  804. arch/arm/mach-efm32/Makefile.boot +3 −0
  805. arch/arm/mach-efm32/dtmachine.c +15 −0
  806. arch/arm/mach-efm32/include/mach/entry-macro.S +4 −0
  807. arch/arm/mach-efm32/include/mach/timex.h +3 −0
  808. arch/arm/mach-ep93xx/Kconfig +1 −0
  809. arch/arm/mach-ep93xx/core.c +108 −2
  810. arch/arm/mach-ep93xx/include/mach/platform.h +2 −1
  811. arch/arm/mach-exynos/Kconfig +1 −3
  812. arch/arm/mach-exynos/common.c +9 −4
  813. arch/arm/mach-exynos/common.h +1 −6
  814. arch/arm/mach-exynos/cpuidle.c +25 −8
  815. arch/arm/mach-exynos/hotplug.c +1 −1
  816. arch/arm/mach-exynos/include/mach/pm-core.h +4 −1
  817. arch/arm/mach-exynos/include/mach/regs-clock.h +0 −372
  818. arch/arm/mach-exynos/include/mach/regs-irq.h +0 −19
  819. arch/arm/mach-exynos/mach-exynos4-dt.c +1 −0
  820. arch/arm/mach-exynos/mach-exynos5-dt.c +2 −1
  821. arch/arm/mach-exynos/platsmp.c +2 −4
  822. arch/arm/mach-exynos/pm.c +28 −5
  823. arch/arm/mach-exynos/pm_domains.c +2 −7
  824. arch/arm/mach-exynos/pmu.c +9 −8
  825. arch/arm/mach-exynos/regs-pmu.h +0 −53
  826. arch/arm/mach-footbridge/Kconfig +1 −0
  827. arch/arm/mach-footbridge/common.c +0 −5
  828. arch/arm/mach-footbridge/common.h +2 −0
  829. arch/arm/mach-footbridge/dc21285-timer.c +37 −2
  830. arch/arm/mach-footbridge/ebsa285.c +15 −3
  831. arch/arm/mach-footbridge/include/mach/hardware.h +1 −5
  832. arch/arm/mach-hisi/Kconfig +17 −0
  833. arch/arm/mach-hisi/Makefile +7 −0
  834. arch/arm/mach-hisi/core.h +15 −0
  835. arch/arm/mach-hisi/hisilicon.c +90 −0
  836. arch/arm/mach-hisi/hotplug.c +200 −0
  837. arch/arm/mach-hisi/platsmp.c +89 −0
  838. arch/arm/mach-imx/Kconfig +20 −16
  839. arch/arm/mach-imx/Makefile +2 −0
  840. arch/arm/mach-imx/avic.c +0 −25
  841. arch/arm/mach-imx/clk-gate2.c +1 −1
  842. arch/arm/mach-imx/clk-imx35.c +14 −0
  843. arch/arm/mach-imx/clk-imx51-imx53.c +414 −390
  844. arch/arm/mach-imx/clk-imx6q.c +4 −1
  845. arch/arm/mach-imx/clk-imx6sl.c +8 −3
  846. arch/arm/mach-imx/clk-pfd.c +11 −0
  847. arch/arm/mach-imx/clk-pllv1.c +19 −4
  848. arch/arm/mach-imx/clk-vf610.c +5 −0
  849. arch/arm/mach-imx/common.h +1 −0
  850. arch/arm/mach-imx/imx31-dt.c +1 −1
  851. arch/arm/mach-imx/imx35-dt.c +50 −0
  852. arch/arm/mach-imx/imx51-dt.c +1 −1
  853. arch/arm/mach-imx/irq-common.h +0 −1
  854. arch/arm/mach-imx/mach-cpuimx35.c +1 −1
  855. arch/arm/mach-imx/mach-cpuimx51sd.c +1 −1
  856. arch/arm/mach-imx/mach-imx50.c +38 −0
  857. arch/arm/mach-imx/mach-imx53.c +1 −1
  858. arch/arm/mach-imx/mach-imx6q.c +66 −1
  859. arch/arm/mach-imx/mach-imx6sl.c +9 −1
  860. arch/arm/mach-imx/mach-mx31moboard.c +8 −8
  861. arch/arm/mach-imx/mach-pca100.c +1 −1
  862. arch/arm/mach-imx/mach-vf610.c +1 −1
  863. arch/arm/mach-imx/mm-imx5.c +0 −8
  864. arch/arm/mach-imx/platsmp.c +1 −2
  865. arch/arm/mach-imx/pm-imx6q.c +12 −4
  866. arch/arm/mach-imx/time.c +2 −2
  867. arch/arm/mach-integrator/integrator_ap.c +33 −31
  868. arch/arm/mach-integrator/integrator_cp.c +0 −14
  869. arch/arm/mach-ixp4xx/common-pci.c +3 −3
  870. arch/arm/mach-ixp4xx/common.c +3 −3
  871. arch/arm/mach-keystone/Kconfig +2 −0
  872. arch/arm/mach-keystone/keystone.c +4 −0
  873. arch/arm/mach-keystone/keystone.h +1 −0
  874. arch/arm/mach-keystone/pm_domain.c +0 −2
  875. arch/arm/mach-kirkwood/board-dt.c +2 −38
  876. arch/arm/mach-ks8695/include/mach/gpio.h +0 −19
  877. arch/arm/mach-lpc32xx/include/mach/gpio.h +0 −6
  878. arch/arm/mach-lpc32xx/phy3250.c +1 −1
  879. arch/arm/mach-mmp/Kconfig +3 −0
  880. arch/arm/mach-mmp/Makefile +2 −1
  881. arch/arm/mach-mmp/time.c +2 −2
  882. arch/arm/mach-moxart/Kconfig +31 −0
  883. arch/arm/mach-moxart/Makefile +3 −0
  884. arch/arm/mach-moxart/moxart.c +15 −0
  885. arch/arm/mach-msm/Kconfig +48 −26
  886. arch/arm/mach-msm/Makefile +2 −2
  887. arch/arm/mach-msm/board-dt.c +9 −0
  888. arch/arm/mach-msm/board-msm7x30.c +35 −0
  889. arch/arm/mach-msm/board-qsd8x50.c +35 −0
  890. arch/arm/mach-msm/board-trout.c +6 −6
  891. arch/arm/mach-msm/platsmp.c +1 −2
  892. arch/arm/mach-msm/timer.c +2 −2
  893. arch/arm/mach-mv78xx0/include/mach/gpio.h +0 −9
  894. arch/arm/mach-mvebu/Makefile +1 −1
  895. arch/arm/mach-mvebu/armada-370-xp.c +32 −0
  896. arch/arm/mach-mvebu/armada-370-xp.h +4 −0
  897. arch/arm/mach-mvebu/coherency.c +1 −0
  898. arch/arm/mach-mvebu/coherency.h +3 −1
  899. arch/arm/mach-mvebu/common.h +1 −9
  900. arch/arm/mach-mvebu/hotplug.c +1 −0
  901. arch/arm/mach-mvebu/mvebu-soc-id.c +119 −0
  902. arch/arm/mach-mvebu/mvebu-soc-id.h +32 −0
  903. arch/arm/mach-mvebu/platsmp.c +2 −2
  904. arch/arm/mach-mvebu/pmsu.c +2 −1
  905. arch/arm/mach-mvebu/system-controller.c +3 −2
  906. arch/arm/mach-nomadik/cpu-8815.c +0 −32
  907. arch/arm/mach-omap1/include/mach/usb.h +1 −37
  908. arch/arm/mach-omap1/time.c +2 −2
  909. arch/arm/mach-omap2/Kconfig +10 −21
  910. arch/arm/mach-omap2/Makefile +5 −6
  911. arch/arm/mach-omap2/board-2430sdp.c +0 −273
  912. arch/arm/mach-omap2/board-generic.c +7 −0
  913. arch/arm/mach-omap2/board-h4.c +0 −365
  914. arch/arm/mach-omap2/board-n8x0.c +49 −185
  915. arch/arm/mach-omap2/board-rx51-peripherals.c +7 −0
  916. arch/arm/mach-omap2/cclock33xx_data.c +0 −1064
  917. arch/arm/mach-omap2/cclock44xx_data.c +0 −1735
  918. arch/arm/mach-omap2/clkt_clksel.c +5 −5
  919. arch/arm/mach-omap2/clkt_dpll.c +3 −3
  920. arch/arm/mach-omap2/clkt_iclk.c +12 −8
  921. arch/arm/mach-omap2/clock.c +44 −13
  922. arch/arm/mach-omap2/clock.h +6 −173
  923. arch/arm/mach-omap2/clock36xx.c +4 −3
  924. arch/arm/mach-omap2/clock3xxx.h +0 −3
  925. arch/arm/mach-omap2/common-board-devices.h +1 −0
  926. arch/arm/mach-omap2/common.h +2 −1
  927. arch/arm/mach-omap2/dpll3xxx.c +20 −17
  928. arch/arm/mach-omap2/dpll44xx.c +6 −6
  929. arch/arm/mach-omap2/gpmc-nand.c +28 −22
  930. arch/arm/mach-omap2/io.c +38 −10
  931. arch/arm/mach-omap2/msdi.c +0 −69
  932. arch/arm/mach-omap2/mux.h +0 −2
  933. arch/arm/mach-omap2/mux2420.c +0 −690
  934. arch/arm/mach-omap2/mux2420.h +0 −282
  935. arch/arm/mach-omap2/mux2430.c +0 −793
  936. arch/arm/mach-omap2/mux2430.h +0 −370
  937. arch/arm/mach-omap2/omap4-common.c +1 −1
  938. arch/arm/mach-omap2/omap_device.c +2 −0
  939. arch/arm/mach-omap2/omap_hwmod.c +6 −7
  940. arch/arm/mach-omap2/omap_hwmod_2420_data.c +0 −137
  941. arch/arm/mach-omap2/omap_hwmod_2430_data.c +0 −266
  942. arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c +5 −160
  943. arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c +2 −70
  944. arch/arm/mach-omap2/omap_hwmod_common_data.h +0 −5
  945. arch/arm/mach-omap2/pdata-quirks.c +131 −7
  946. arch/arm/mach-omap2/prm.h +1 −0
  947. arch/arm/mach-omap2/prm_common.c +66 −0
  948. arch/arm/mach-omap2/timer.c +4 −6
  949. arch/arm/mach-orion5x/board-dt.c +1 −1
  950. arch/arm/mach-orion5x/common.c +3 −4
  951. arch/arm/mach-orion5x/db88f5281-setup.c +1 −1
  952. arch/arm/mach-orion5x/irq.c +1 −0
  953. arch/arm/mach-orion5x/pci.c +2 −2
  954. arch/arm/mach-orion5x/rd88f5182-setup.c +1 −1
  955. arch/arm/mach-orion5x/terastation_pro2-setup.c +1 −1
  956. arch/arm/mach-orion5x/ts209-setup.c +1 −1
  957. arch/arm/mach-orion5x/ts78xx-setup.c +1 −1
  958. arch/arm/mach-prima2/platsmp.c +1 −2
  959. arch/arm/mach-pxa/am200epd.c +1 −2
  960. arch/arm/mach-pxa/am300epd.c +1 −2
  961. arch/arm/mach-pxa/em-x270.c +1 −2
  962. arch/arm/mach-pxa/irq.c +0 −4
  963. arch/arm/mach-pxa/magician.c +1 −1
  964. arch/arm/mach-pxa/mainstone.c +1 −1
  965. arch/arm/mach-pxa/pcm990-baseboard.c +1 −1
  966. arch/arm/mach-pxa/sharpsl_pm.c +4 −4
  967. arch/arm/mach-pxa/time.c +3 −3
  968. arch/arm/mach-pxa/trizeps4.c +1 −2
  969. arch/arm/mach-s3c24xx/Kconfig +0 −21
  970. arch/arm/mach-s3c24xx/common-smdk.c +1 −1
  971. arch/arm/mach-s3c24xx/dma.c +1 −1
  972. arch/arm/mach-s3c24xx/h1940-bluetooth.c +2 −0
  973. arch/arm/mach-s3c24xx/include/mach/gpio-samsung.h +8 −18
  974. arch/arm/mach-s3c24xx/mach-amlm5900.c +1 −0
  975. arch/arm/mach-s3c24xx/mach-anubis.c +1 −0
  976. arch/arm/mach-s3c24xx/mach-at2440evb.c +1 −0
  977. arch/arm/mach-s3c24xx/mach-bast.c +1 −0
  978. arch/arm/mach-s3c24xx/mach-gta02.c +1 −0
  979. arch/arm/mach-s3c24xx/mach-h1940.c +1 −0
  980. arch/arm/mach-s3c24xx/mach-jive.c +1 −0
  981. arch/arm/mach-s3c24xx/mach-mini2440.c +1 −0
  982. arch/arm/mach-s3c24xx/mach-n30.c +1 −0
  983. arch/arm/mach-s3c24xx/mach-nexcoder.c +1 −0
  984. arch/arm/mach-s3c24xx/mach-osiris-dvs.c +1 −0
  985. arch/arm/mach-s3c24xx/mach-osiris.c +1 −0
  986. arch/arm/mach-s3c24xx/mach-qt2410.c +1 −0
  987. arch/arm/mach-s3c24xx/mach-rx1950.c +2 −0
  988. arch/arm/mach-s3c24xx/mach-rx3715.c +1 −0
  989. arch/arm/mach-s3c24xx/mach-smdk2413.c +1 −0
  990. arch/arm/mach-s3c24xx/mach-smdk2416.c +1 −0
  991. arch/arm/mach-s3c24xx/mach-vr1000.c +1 −0
  992. arch/arm/mach-s3c24xx/pm-s3c2410.c +2 −0
  993. arch/arm/mach-s3c24xx/pm.c +1 −0
  994. arch/arm/mach-s3c24xx/s3c2410.c +1 −0
  995. arch/arm/mach-s3c24xx/s3c2416.c +1 −0
  996. arch/arm/mach-s3c24xx/s3c2440.c +1 −0
  997. arch/arm/mach-s3c24xx/s3c2442.c +1 −0
  998. arch/arm/mach-s3c24xx/s3c2443.c +1 −0
  999. arch/arm/mach-s3c24xx/setup-i2c.c +1 −0
  1000. arch/arm/mach-s3c24xx/setup-sdhci-gpio.c +1 −0
  1001. arch/arm/mach-s3c24xx/setup-ts.c +2 −0
  1002. arch/arm/mach-s3c24xx/simtec-usb.c +2 −2
  1003. arch/arm/mach-s3c64xx/Kconfig +4 −6
  1004. arch/arm/mach-s3c64xx/Makefile +1 −1
  1005. arch/arm/mach-s3c64xx/common.c +1 −0
  1006. arch/arm/mach-s3c64xx/common.h +5 −0
  1007. arch/arm/mach-s3c64xx/crag6410.h +1 −1
  1008. arch/arm/mach-s3c64xx/dev-audio.c +1 −0
  1009. arch/arm/mach-s3c64xx/dma.c +0 −762
  1010. arch/arm/mach-s3c64xx/include/mach/dma.h +42 −102
  1011. arch/arm/mach-s3c64xx/include/mach/gpio-samsung.h +5 −4
  1012. arch/arm/mach-s3c64xx/mach-anw6410.c +1 −0
  1013. arch/arm/mach-s3c64xx/mach-crag6410.c +1 −1
  1014. arch/arm/mach-s3c64xx/mach-hmt.c +1 −0
  1015. arch/arm/mach-s3c64xx/mach-mini6410.c +11 −0
  1016. arch/arm/mach-s3c64xx/mach-real6410.c +1 −0
  1017. arch/arm/mach-s3c64xx/mach-smartq.c +2 −1
  1018. arch/arm/mach-s3c64xx/mach-smartq5.c +1 −0
  1019. arch/arm/mach-s3c64xx/mach-smartq7.c +1 −0
  1020. arch/arm/mach-s3c64xx/mach-smdk6400.c +1 −0
  1021. arch/arm/mach-s3c64xx/mach-smdk6410.c +1 −0
  1022. arch/arm/mach-s3c64xx/pl080.c +244 −0
  1023. arch/arm/mach-s3c64xx/pm.c +1 −0
  1024. arch/arm/mach-s3c64xx/setup-fb-24bpp.c +1 −0
  1025. arch/arm/mach-s3c64xx/setup-i2c0.c +1 −0
  1026. arch/arm/mach-s3c64xx/setup-i2c1.c +1 −0
  1027. arch/arm/mach-s3c64xx/setup-ide.c +1 −0
  1028. arch/arm/mach-s3c64xx/setup-keypad.c +1 −0
  1029. arch/arm/mach-s3c64xx/setup-sdhci-gpio.c +1 −0
  1030. arch/arm/mach-s3c64xx/setup-spi.c +1 −0
  1031. arch/arm/mach-sa1100/assabet.c +137 −8
  1032. arch/arm/mach-sa1100/clock.c +7 −0
  1033. arch/arm/mach-sa1100/collie.c +35 −0
  1034. arch/arm/mach-sa1100/h3100.c +44 −10
  1035. arch/arm/mach-sa1100/h3600.c +33 −41
  1036. arch/arm/mach-sa1100/include/mach/assabet.h +4 −2
  1037. arch/arm/mach-sa1100/time.c +2 −2
  1038. arch/arm/mach-shmobile/Kconfig +59 −28
  1039. arch/arm/mach-shmobile/Makefile +4 −2
  1040. arch/arm/mach-shmobile/Makefile.boot +2 −3
  1041. arch/arm/mach-shmobile/board-ape6evm.c +3 −3
  1042. arch/arm/mach-shmobile/board-armadillo800eva.c +2 −5
  1043. arch/arm/mach-shmobile/board-bockw-reference.c +18 −14
  1044. arch/arm/mach-shmobile/board-bockw.c +12 −6
  1045. arch/arm/mach-shmobile/board-genmai-reference.c +49 −0
  1046. arch/arm/mach-shmobile/board-koelsch-reference.c +79 −0
  1047. arch/arm/mach-shmobile/board-koelsch.c +189 −1
  1048. arch/arm/mach-shmobile/board-kzm9d.c +0 −92
  1049. arch/arm/mach-shmobile/board-lager-reference.c +35 −2
  1050. arch/arm/mach-shmobile/board-lager.c +150 −3
  1051. arch/arm/mach-shmobile/board-mackerel.c +11 −10
  1052. arch/arm/mach-shmobile/board-marzen.c +23 −4
  1053. arch/arm/mach-shmobile/clock-r7s72100.c +10 −1
  1054. arch/arm/mach-shmobile/clock-r8a73a4.c +5 −5
  1055. arch/arm/mach-shmobile/clock-r8a7740.c +5 −4
  1056. arch/arm/mach-shmobile/clock-r8a7778.c +31 −0
  1057. arch/arm/mach-shmobile/clock-r8a7779.c +11 −0
  1058. arch/arm/mach-shmobile/clock-r8a7790.c +58 −18
  1059. arch/arm/mach-shmobile/clock-r8a7791.c +16 −1
  1060. arch/arm/mach-shmobile/clock-sh7372.c +5 −4
  1061. arch/arm/mach-shmobile/clock-sh73a0.c +13 −10
  1062. arch/arm/mach-shmobile/include/mach/emev2.h +0 −5
  1063. arch/arm/mach-shmobile/include/mach/r8a7778.h +38 −1
  1064. arch/arm/mach-shmobile/include/mach/r8a7779.h +0 −7
  1065. arch/arm/mach-shmobile/include/mach/r8a7791.h +1 −0
  1066. arch/arm/mach-shmobile/setup-emev2.c +12 −151
  1067. arch/arm/mach-shmobile/setup-r7s72100.c +53 −29
  1068. arch/arm/mach-shmobile/setup-r8a73a4.c +33 −35
  1069. arch/arm/mach-shmobile/setup-r8a7740.c +33 −162
  1070. arch/arm/mach-shmobile/setup-r8a7778.c +146 −20
  1071. arch/arm/mach-shmobile/setup-r8a7779.c +28 −157
  1072. arch/arm/mach-shmobile/setup-r8a7790.c +83 −65
  1073. arch/arm/mach-shmobile/setup-r8a7791.c +118 −70
  1074. arch/arm/mach-shmobile/setup-rcar-gen2.c +23 −6
  1075. arch/arm/mach-shmobile/setup-sh7372.c +29 −131
  1076. arch/arm/mach-shmobile/setup-sh73a0.c +39 −168
  1077. arch/arm/mach-shmobile/sh-gpio.h +0 −19
  1078. arch/arm/mach-sti/platsmp.c +1 −2
  1079. arch/arm/mach-sunxi/Kconfig +3 −0
  1080. arch/arm/mach-sunxi/Makefile +1 −0
  1081. arch/arm/mach-sunxi/common.h +19 −0
  1082. arch/arm/mach-sunxi/headsmp.S +9 −0
  1083. arch/arm/mach-sunxi/platsmp.c +124 −0
  1084. arch/arm/mach-sunxi/sunxi.c +14 −0
  1085. arch/arm/mach-tegra/Kconfig +4 −0
  1086. arch/arm/mach-tegra/board-paz00.c +11 −0
  1087. arch/arm/mach-tegra/fuse.c +40 −1
  1088. arch/arm/mach-tegra/iomap.h +7 −7
  1089. arch/arm/mach-tegra/powergate.c +197 −6
  1090. arch/arm/mach-tegra/reset.c +29 −11
  1091. arch/arm/mach-tegra/tegra.c +3 −3
  1092. arch/arm/mach-u300/regulator.c +2 −2
  1093. arch/arm/mach-u300/timer.c +26 −16
  1094. arch/arm/mach-ux500/Makefile +3 −3
  1095. arch/arm/mach-ux500/board-mop500-audio.c +4 −7
  1096. arch/arm/mach-ux500/board-mop500-pins.c +0 −804
  1097. arch/arm/mach-ux500/board-mop500-regulators.c +0 −14
  1098. arch/arm/mach-ux500/board-mop500-regulators.h +0 −1
  1099. arch/arm/mach-ux500/board-mop500-sdi.c +0 −2
  1100. arch/arm/mach-ux500/board-mop500.c +0 −78
  1101. arch/arm/mach-ux500/board-mop500.h +0 −1
  1102. arch/arm/mach-ux500/cpu-db8500.c +15 −11
  1103. arch/arm/mach-ux500/cpu.c +6 −17
  1104. arch/arm/mach-ux500/devices-db8500.c +0 −28
  1105. arch/arm/mach-ux500/devices-db8500.h +0 −19
  1106. arch/arm/mach-ux500/devices.c +0 −26
  1107. arch/arm/mach-ux500/devices.h +0 −15
  1108. arch/arm/mach-ux500/platsmp.c +1 −2
  1109. arch/arm/mach-ux500/pm.c +27 −0
  1110. arch/arm/mach-ux500/setup.h +1 −7
  1111. arch/arm/mach-ux500/timer.c +10 −66
  1112. arch/arm/mach-versatile/core.c +16 −0
  1113. arch/arm/mach-versatile/versatile_pb.c +0 −21
  1114. arch/arm/mach-zynq/common.c +10 −6
  1115. arch/arm/mach-zynq/common.h +2 −0
  1116. arch/arm/mach-zynq/headsmp.S +5 −1
  1117. arch/arm/mach-zynq/platsmp.c +10 −15
  1118. arch/arm/mm/Makefile +1 −0
  1119. arch/arm/mm/cache-l2x0.c +40 −8
  1120. arch/arm/mm/cache-tauros3.h +41 −0
  1121. arch/arm/mm/cache-v7.S +7 −7
  1122. arch/arm/mm/context.c +24 −17
  1123. arch/arm/mm/dma-mapping.c +3 −3
  1124. arch/arm/mm/dump.c +345 −0
  1125. arch/arm/mm/init.c +7 −63
  1126. arch/arm/mm/ioremap.c +2 −2
  1127. arch/arm/mm/mmu.c +105 −21
  1128. arch/arm/mm/pgd.c +1 −1
  1129. arch/arm/plat-iop/time.c +2 −2
  1130. arch/arm/plat-omap/counter_32k.c +2 −2
  1131. arch/arm/plat-orion/common.c +5 −4
  1132. arch/arm/plat-orion/time.c +4 −3
  1133. arch/arm/plat-pxa/dma.c +1 −1
  1134. arch/arm/plat-samsung/Kconfig +0 −8
  1135. arch/arm/plat-samsung/devs.c +8 −2
  1136. arch/arm/plat-samsung/dma-ops.c +7 −1
  1137. arch/arm/plat-samsung/include/plat/fiq.h +0 −13
  1138. arch/arm/plat-samsung/include/plat/pm.h +2 −2
  1139. arch/arm/plat-samsung/include/plat/regs-ata.h +0 −56
  1140. arch/arm/plat-samsung/include/plat/regs-nand.h +0 −123
  1141. arch/arm/plat-samsung/include/plat/uncompress.h +2 −0
  1142. arch/arm/plat-samsung/pm-gpio.c +4 −0
  1143. arch/arm/plat-samsung/pm.c +4 −2
  1144. arch/arm/plat-samsung/s5p-irq-eint.c +4 −0
  1145. arch/arm/plat-samsung/s5p-irq-pm.c +3 −0
  1146. arch/arm/plat-samsung/setup-camif.c +1 −0
  1147. arch/arm/plat-versatile/platsmp.c +1 −2
  1148. arch/arm/plat-versatile/sched-clock.c +2 −2
  1149. arch/arm/xen/enlighten.c +52 −30
  1150. arch/arm64/Kconfig +27 −0
  1151. arch/arm64/boot/dts/foundation-v8.dts +1 −1
  1152. arch/arm64/boot/dts/rtsm_ve-motherboard.dtsi +6 −0
  1153. arch/arm64/include/asm/Kbuild +1 −1
  1154. arch/arm64/include/asm/cmpxchg.h +17 −11
  1155. arch/arm64/include/asm/cpu_ops.h +6 −0
  1156. arch/arm64/include/asm/cputype.h +14 −14
  1157. arch/arm64/include/asm/debug-monitors.h +21 −0
  1158. arch/arm64/include/asm/dma-contiguous.h +28 −0
  1159. arch/arm64/include/asm/futex.h +1 −0
  1160. arch/arm64/include/asm/hardirq.h +1 −1
  1161. arch/arm64/include/asm/insn.h +108 −0
  1162. arch/arm64/include/asm/jump_label.h +52 −0
  1163. arch/arm64/include/asm/kvm_host.h +6 −1
  1164. arch/arm64/include/asm/kvm_mmu.h +1 −0
  1165. arch/arm64/include/asm/memory.h +1 −2
  1166. arch/arm64/include/asm/percpu.h +41 −0
  1167. arch/arm64/include/asm/pgtable.h +63 −30
  1168. arch/arm64/include/asm/proc-fns.h +3 −0
  1169. arch/arm64/include/asm/smp_plat.h +13 −0
  1170. arch/arm64/include/asm/suspend.h +27 −0
  1171. arch/arm64/include/asm/uaccess.h +4 −21
  1172. arch/arm64/include/asm/word-at-a-time.h +94 −0
  1173. arch/arm64/include/uapi/asm/hwcap.h +5 −1
  1174. arch/arm64/include/uapi/asm/kvm.h +20 −1
  1175. arch/arm64/kernel/Makefile +3 −1
  1176. arch/arm64/kernel/arm64ksyms.c +1 −4
  1177. arch/arm64/kernel/asm-offsets.c +11 −0
  1178. arch/arm64/kernel/debug-monitors.c +87 −1
  1179. arch/arm64/kernel/entry.S +3 −1
  1180. arch/arm64/kernel/fpsimd.c +36 −0
  1181. arch/arm64/kernel/head.S +0 −10
  1182. arch/arm64/kernel/hw_breakpoint.c +136 −67
  1183. arch/arm64/kernel/insn.c +304 −0
  1184. arch/arm64/kernel/jump_label.c +58 −0
  1185. arch/arm64/kernel/module.c +47 −110
  1186. arch/arm64/kernel/perf_event.c +78 −30
  1187. arch/arm64/kernel/process.c +10 −10
  1188. arch/arm64/kernel/setup.c +117 −5
  1189. arch/arm64/kernel/sleep.S +184 −0
  1190. arch/arm64/kernel/smp.c +21 −4
  1191. arch/arm64/kernel/stacktrace.c +1 −1
  1192. arch/arm64/kernel/suspend.c +140 −0
  1193. arch/arm64/kernel/vmlinux.lds.S +0 −3
  1194. arch/arm64/kvm/Kconfig +11 −0
  1195. arch/arm64/kvm/guest.c +19 −13
  1196. arch/arm64/kvm/handle_exit.c +1 −4
  1197. arch/arm64/kvm/sys_regs_generic_v8.c +3 −0
  1198. arch/arm64/lib/Makefile +3 −5
  1199. arch/arm64/lib/strncpy_from_user.S +0 −50
  1200. arch/arm64/lib/strnlen_user.S +0 −47
  1201. arch/arm64/mm/cache.S +1 −1
  1202. arch/arm64/mm/dma-mapping.c +33 −2
  1203. arch/arm64/mm/init.c +3 −0
  1204. arch/arm64/mm/proc-macros.S +1 −2
  1205. arch/arm64/mm/proc.S +70 −1
  1206. arch/avr32/include/asm/Kbuild +1 −0
  1207. arch/avr32/include/uapi/asm/socket.h +2 −0
  1208. arch/blackfin/configs/BF527-EZKIT_defconfig +1 −0
  1209. arch/blackfin/configs/BF538-EZKIT_defconfig +0 −1
  1210. arch/blackfin/configs/BF561-ACVILON_defconfig +0 −1
  1211. arch/blackfin/configs/BlackStamp_defconfig +0 −1
  1212. arch/blackfin/configs/CM-BF533_defconfig +0 −1
  1213. arch/blackfin/configs/CM-BF548_defconfig +0 −1
  1214. arch/blackfin/configs/CM-BF561_defconfig +0 −1
  1215. arch/blackfin/configs/DNP5370_defconfig +0 −1
  1216. arch/blackfin/configs/H8606_defconfig +0 −1
  1217. arch/blackfin/configs/IP0X_defconfig +0 −1
  1218. arch/blackfin/configs/PNAV-10_defconfig +0 −1
  1219. arch/blackfin/configs/SRV1_defconfig +0 −1
  1220. arch/blackfin/configs/TCM-BF518_defconfig +0 −1
  1221. arch/blackfin/include/asm/Kbuild +1 −0
  1222. arch/blackfin/include/asm/clkdev.h +2 −0
  1223. arch/blackfin/include/asm/def_LPBlackfin.h +1 −0
  1224. arch/blackfin/include/uapi/asm/byteorder.h +5 −0
  1225. arch/blackfin/include/uapi/asm/cachectl.h +3 −3
  1226. arch/blackfin/include/uapi/asm/fcntl.h +3 −3
  1227. arch/blackfin/include/uapi/asm/ioctls.h +3 −3
  1228. arch/blackfin/include/uapi/asm/poll.h +3 −3
  1229. arch/blackfin/include/uapi/asm/posix_types.h +3 −3
  1230. arch/blackfin/include/uapi/asm/sigcontext.h +3 −3
  1231. arch/blackfin/include/uapi/asm/siginfo.h +3 −3
  1232. arch/blackfin/include/uapi/asm/signal.h +3 −3
  1233. arch/blackfin/include/uapi/asm/stat.h +3 −3
  1234. arch/blackfin/include/uapi/asm/swab.h +3 −3
  1235. arch/blackfin/kernel/setup.c +1 −1
  1236. arch/blackfin/mach-bf533/boards/stamp.c +46 −1
  1237. arch/blackfin/mach-bf609/Kconfig +6 −0
  1238. arch/blackfin/mach-bf609/boards/ezkit.c +4 −2
  1239. arch/blackfin/mach-bf609/clock.c +2 −1
  1240. arch/blackfin/mach-bf609/include/mach/anomaly.h +44 −10
  1241. arch/blackfin/mach-common/cache-c.c +10 −1
  1242. arch/blackfin/mach-common/clocks-init.c +0 −1
  1243. arch/blackfin/mach-common/ints-priority.c +20 −21
  1244. arch/blackfin/mach-common/scb-init.c +0 −1
  1245. arch/blackfin/mach-common/smp.c +1 −5
  1246. arch/c6x/include/asm/Kbuild +1 −0
  1247. arch/cris/Kconfig +0 −6
  1248. arch/cris/arch-v10/drivers/gpio.c +2 −2
  1249. arch/cris/arch-v10/drivers/sync_serial.c +5 −3
  1250. arch/cris/arch-v10/kernel/Makefile +0 −1
  1251. arch/cris/arch-v10/kernel/debugport.c +0 −7
  1252. arch/cris/arch-v10/kernel/entry.S +100 −84
  1253. arch/cris/arch-v10/kernel/head.S +60 −67
  1254. arch/cris/arch-v10/kernel/irq.c +4 −14
  1255. arch/cris/arch-v10/kernel/process.c +2 −2
  1256. arch/cris/arch-v10/kernel/time.c +41 −57
  1257. arch/cris/arch-v10/lib/dram_init.S +18 −22
  1258. arch/cris/arch-v32/drivers/axisflashmap.c +0 −2
  1259. arch/cris/arch-v32/drivers/mach-a3/gpio.c +1 −1
  1260. arch/cris/arch-v32/drivers/mach-fs/gpio.c +2 −2
  1261. arch/cris/arch-v32/drivers/sync_serial.c +3 −1
  1262. arch/cris/arch-v32/kernel/entry.S +25 −9
  1263. arch/cris/arch-v32/kernel/fasttimer.c +1 −1
  1264. arch/cris/arch-v32/kernel/irq.c +5 −5
  1265. arch/cris/arch-v32/kernel/smp.c +1 −1
  1266. arch/cris/arch-v32/kernel/time.c +2 −4
  1267. arch/cris/arch-v32/mach-a3/arbiter.c +2 −2
  1268. arch/cris/arch-v32/mach-fs/arbiter.c +1 −1
  1269. arch/cris/boot/rescue/kimagerescue.S +0 −2
  1270. arch/cris/include/arch-v10/arch/io.h +1 −28
  1271. arch/cris/include/arch-v10/arch/irq.h +3 −3
  1272. arch/cris/include/arch-v32/arch/irq.h +3 −3
  1273. arch/cris/include/asm/Kbuild +1 −0
  1274. arch/cris/include/asm/io.h +4 −0
  1275. arch/cris/include/asm/unistd.h +1 −1
  1276. arch/cris/include/uapi/asm/socket.h +2 −0
  1277. arch/cris/include/uapi/asm/unistd.h +16 −0
  1278. arch/cris/kernel/irq.c +0 −3
  1279. arch/frv/Makefile +0 −7
  1280. arch/frv/include/asm/Kbuild +1 −0
  1281. arch/frv/include/uapi/asm/socket.h +2 −0
  1282. arch/hexagon/include/asm/Kbuild +1 −0
  1283. arch/hexagon/include/asm/fixmap.h +1 −39
  1284. arch/ia64/Kconfig +2 −0
  1285. arch/ia64/hp/common/aml_nfw.c +1 −2
  1286. arch/ia64/hp/common/sba_iommu.c +1 −1
  1287. arch/ia64/include/asm/Kbuild +2 −1
  1288. arch/ia64/include/asm/dmi.h +5 −3
  1289. arch/ia64/include/asm/processor.h +1 −0
  1290. arch/ia64/include/uapi/asm/socket.h +2 −0
  1291. arch/ia64/kernel/acpi.c +0 −1
  1292. arch/ia64/kvm/kvm-ia64.c +1 −1
  1293. arch/ia64/mm/contig.c +0 −68
  1294. arch/ia64/mm/discontig.c +0 −63
  1295. arch/ia64/mm/init.c +48 −0
  1296. arch/ia64/sn/pci/pci_dma.c +12 −12
  1297. arch/m32r/Kconfig +4 −4
  1298. arch/m32r/include/asm/Kbuild +1 −0
  1299. arch/m32r/include/uapi/asm/socket.h +2 −0
  1300. arch/m68k/emu/nfblock.c +7 −6
  1301. arch/m68k/include/asm/Kbuild +1 −0
  1302. arch/metag/include/asm/Kbuild +1 −0
  1303. arch/metag/include/asm/fixmap.h +1 −31
  1304. arch/metag/mm/init.c +2 −1
  1305. arch/metag/mm/numa.c +2 −1
  1306. arch/microblaze/Kconfig +3 −0
  1307. arch/microblaze/Makefile +2 −0
  1308. arch/microblaze/include/asm/Kbuild +1 −0
  1309. arch/microblaze/include/asm/cpuinfo.h +6 −3
  1310. arch/microblaze/include/asm/fixmap.h +2 −42
  1311. arch/microblaze/include/asm/io.h +8 −0
  1312. arch/microblaze/include/asm/sections.h +0 −1
  1313. arch/microblaze/include/uapi/asm/Kbuild +2 −1
  1314. arch/microblaze/include/uapi/asm/types.h +0 −1
  1315. arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c +0 −3
  1316. arch/microblaze/kernel/cpu/cpuinfo-static.c +0 −2
  1317. arch/microblaze/kernel/cpu/cpuinfo.c +22 −2
  1318. arch/microblaze/kernel/head.S +4 −0
  1319. arch/microblaze/kernel/hw_exception_handler.S +37 −12
  1320. arch/microblaze/kernel/setup.c +6 −4
  1321. arch/microblaze/kernel/timer.c +28 −23
  1322. arch/microblaze/kernel/vmlinux.lds.S +1 −0
  1323. arch/microblaze/mm/init.c +2 −1
  1324. arch/microblaze/platform/generic/system.dts +0 −1
  1325. arch/mips/Kconfig +139 −93
  1326. arch/mips/Makefile +1 −1
  1327. arch/mips/alchemy/common/power.c +0 −1
  1328. arch/mips/ar7/time.c +0 −1
  1329. arch/mips/ath79/common.h +0 −1
  1330. arch/mips/bcm47xx/Kconfig +4 −0
  1331. arch/mips/bcm47xx/Makefile +1 −2
  1332. arch/mips/bcm47xx/bcm47xx_private.h +12 −0
  1333. arch/mips/bcm47xx/board.c +18 −16
  1334. arch/mips/bcm47xx/buttons.c +531 −0
  1335. arch/mips/bcm47xx/irq.c +24 −1
  1336. arch/mips/bcm47xx/leds.c +542 −0
  1337. arch/mips/bcm47xx/nvram.c +1 −2
  1338. arch/mips/bcm47xx/prom.c +16 −111
  1339. arch/mips/bcm47xx/serial.c +4 −2
  1340. arch/mips/bcm47xx/setup.c +45 −0
  1341. arch/mips/bcm47xx/sprom.c +9 −9
  1342. arch/mips/bcm47xx/wgt634u.c +0 −174
  1343. arch/mips/bcm63xx/Kconfig +8 −0
  1344. arch/mips/bcm63xx/Makefile +2 −2
  1345. arch/mips/bcm63xx/boards/board_bcm963xx.c +3 −0
  1346. arch/mips/bcm63xx/clk.c +42 −0
  1347. arch/mips/bcm63xx/cpu.c +4 −2
  1348. arch/mips/bcm63xx/dev-hsspi.c +47 −0
  1349. arch/mips/bcm63xx/early_printk.c +1 −2
  1350. arch/mips/bcm63xx/prom.c +6 −8
  1351. arch/mips/boot/compressed/Makefile +2 −2
  1352. arch/mips/boot/compressed/dbg.c +0 −1
  1353. arch/mips/boot/compressed/decompress.c +0 −22
  1354. arch/mips/boot/compressed/string.c +28 −0
  1355. arch/mips/boot/compressed/uart-16550.c +2 −3
  1356. arch/mips/cavium-octeon/executive/cvmx-cmd-queue.c +1 −0
  1357. arch/mips/cavium-octeon/executive/cvmx-helper-board.c +27 −0
  1358. arch/mips/cavium-octeon/executive/cvmx-helper-util.c +4 −0
  1359. arch/mips/cavium-octeon/executive/cvmx-helper.c +9 −1
  1360. arch/mips/cavium-octeon/executive/cvmx-pko.c +2 −1
  1361. arch/mips/cavium-octeon/executive/cvmx-spi.c +1 −0
  1362. arch/mips/cavium-octeon/octeon-platform.c +35 −3
  1363. arch/mips/cavium-octeon/octeon_3xxx.dts +19 −0
  1364. arch/mips/cavium-octeon/smp.c +0 −1
  1365. arch/mips/configs/ar7_defconfig +0 −1
  1366. arch/mips/configs/bcm47xx_defconfig +43 −580
  1367. arch/mips/configs/bcm63xx_defconfig +0 −1
  1368. arch/mips/configs/cobalt_defconfig +0 −1
  1369. arch/mips/configs/gpr_defconfig +0 −1
  1370. arch/mips/configs/jmr3927_defconfig +0 −1
  1371. arch/mips/configs/lasat_defconfig +0 −1
  1372. arch/mips/configs/maltasmvp_defconfig +1 −2
  1373. arch/mips/configs/markeins_defconfig +0 −1
  1374. arch/mips/configs/mtx1_defconfig +0 −1
  1375. arch/mips/configs/pnx8335_stb225_defconfig +0 −1
  1376. arch/mips/configs/qi_lb60_defconfig +188 −0
  1377. arch/mips/configs/rb532_defconfig +0 −1
  1378. arch/mips/configs/rbtx49xx_defconfig +0 −1
  1379. arch/mips/fw/arc/file.c +0 −1
  1380. arch/mips/include/asm/Kbuild +1 −0
  1381. arch/mips/include/asm/amon.h +10 −5
  1382. arch/mips/include/asm/asmmacro-32.h +0 −42
  1383. arch/mips/include/asm/asmmacro-64.h +0 −96
  1384. arch/mips/include/asm/asmmacro.h +107 −0
  1385. arch/mips/include/asm/bmips.h +28 −1
  1386. arch/mips/include/asm/clkdev.h +2 −0
  1387. arch/mips/include/asm/cpu-features.h +7 −0
  1388. arch/mips/include/asm/cpu-info.h +3 −0
  1389. arch/mips/include/asm/cpu-type.h +12 −3
  1390. arch/mips/include/asm/cpu.h +11 −1
  1391. arch/mips/include/asm/dma-coherence.h +9 −0
  1392. arch/mips/include/asm/elf.h +28 −3
  1393. arch/mips/include/asm/fixmap.h +1 −32
  1394. arch/mips/include/asm/fpu.h +76 −28
  1395. arch/mips/include/asm/highmem.h +0 −1
  1396. arch/mips/include/asm/kvm_host.h +0 −7
  1397. arch/mips/include/asm/mach-ath79/ar71xx_regs.h +0 −1
  1398. arch/mips/include/asm/mach-bcm47xx/bcm47xx.h +2 −0
  1399. arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h +1 −0
  1400. arch/mips/include/asm/mach-bcm47xx/cpu-feature-overrides.h +82 −0
  1401. arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h +18 −0
  1402. arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_hsspi.h +8 −0
  1403. arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h +0 −120
  1404. arch/mips/include/asm/mach-generic/dma-coherence.h +0 −4
  1405. arch/mips/include/asm/mach-generic/floppy.h +0 −1
  1406. arch/mips/include/asm/mach-generic/ide.h +3 −3
  1407. arch/mips/include/asm/mach-jazz/floppy.h +0 −1
  1408. arch/mips/include/asm/mach-jz4740/platform.h +1 −0
  1409. arch/mips/include/asm/mach-netlogic/irq.h +2 −1
  1410. arch/mips/include/asm/mach-netlogic/multi-node.h +31 −2
  1411. arch/mips/include/asm/mach-netlogic/topology.h +20 −0
  1412. arch/mips/include/asm/mips-boards/piix4.h +7 −0
  1413. arch/mips/include/asm/mipsregs.h +83 −2
  1414. arch/mips/include/asm/netlogic/common.h +6 −18
  1415. arch/mips/include/asm/netlogic/mips-extns.h +6 −1
  1416. arch/mips/include/asm/netlogic/xlp-hal/bridge.h +32 −37
  1417. arch/mips/include/asm/netlogic/xlp-hal/iomap.h +46 −2
  1418. arch/mips/include/asm/netlogic/xlp-hal/pcibus.h +32 −9
  1419. arch/mips/include/asm/netlogic/xlp-hal/pic.h +48 −29
  1420. arch/mips/include/asm/netlogic/xlp-hal/sys.h +17 −1
  1421. arch/mips/include/asm/netlogic/xlp-hal/uart.h +2 −1
  1422. arch/mips/include/asm/netlogic/xlp-hal/xlp.h +33 −5
  1423. arch/mips/include/asm/netlogic/xlr/xlr.h +0 −5
  1424. arch/mips/include/asm/octeon/cvmx-helper-board.h +9 −0
  1425. arch/mips/include/asm/page.h +25 −0
  1426. arch/mips/include/asm/rtlx.h +36 −13
  1427. arch/mips/include/asm/switch_to.h +12 −4
  1428. arch/mips/include/asm/syscall.h +1 −1
  1429. arch/mips/include/asm/thread_info.h +3 −1
  1430. arch/mips/include/asm/tlb.h +4 −0
  1431. arch/mips/include/asm/vpe.h +113 −20
  1432. arch/mips/include/uapi/asm/inst.h +5 −2
  1433. arch/mips/include/uapi/asm/socket.h +2 −0
  1434. arch/mips/jz4740/board-qi_lb60.c +1 −0
  1435. arch/mips/jz4740/platform.c +24 −17
  1436. arch/mips/kernel/Makefile +5 −0
  1437. arch/mips/kernel/binfmt_elfo32.c +14 −0
  1438. arch/mips/kernel/bmips_vec.S +43 −13
  1439. arch/mips/kernel/cpu-probe.c +96 −7
  1440. arch/mips/kernel/crash.c +0 −1
  1441. arch/mips/kernel/genex.S +1 −0
  1442. arch/mips/kernel/idle.c +2 −0
  1443. arch/mips/kernel/proc.c +27 −21
  1444. arch/mips/kernel/process.c +1 −5
  1445. arch/mips/kernel/ptrace.c +33 −27
  1446. arch/mips/kernel/ptrace32.c +31 −22
  1447. arch/mips/kernel/r4k_fpu.S +70 −4
  1448. arch/mips/kernel/r4k_switch.S +43 −2
  1449. arch/mips/kernel/rtlx-cmp.c +116 −0
  1450. arch/mips/kernel/rtlx-mt.c +148 −0
  1451. arch/mips/kernel/rtlx.c +62 −211
  1452. arch/mips/kernel/segment.c +110 −0
  1453. arch/mips/kernel/signal.c +6 −4
  1454. arch/mips/kernel/signal32.c +6 −4
  1455. arch/mips/kernel/smp-bmips.c +189 −123
  1456. arch/mips/kernel/smp-cmp.c +3 −0
  1457. arch/mips/kernel/smp-mt.c +28 −0
  1458. arch/mips/kernel/spram.c +2 −1
  1459. arch/mips/kernel/sync-r4k.c +0 −1
  1460. arch/mips/kernel/traps.c +58 −13
  1461. arch/mips/kernel/vpe-cmp.c +180 −0
  1462. arch/mips/kernel/vpe-mt.c +523 −0
  1463. arch/mips/kernel/vpe.c +124 −786
  1464. arch/mips/kvm/kvm_mips.c +0 −1
  1465. arch/mips/kvm/kvm_tlb.c +1 −134
  1466. arch/mips/lantiq/xway/clk.c +0 −1
  1467. arch/mips/lantiq/xway/dma.c +0 −4
  1468. arch/mips/lasat/at93c.c +0 −1
  1469. arch/mips/lasat/picvue.c +0 −1
  1470. arch/mips/lib/uncached.c +0 −1
  1471. arch/mips/loongson/lemote-2f/clock.c +0 −1
  1472. arch/mips/math-emu/cp1emu.c +36 −6
  1473. arch/mips/math-emu/kernel_linkage.c +4 −2
  1474. arch/mips/mm/c-octeon.c +0 −1
  1475. arch/mips/mm/c-r3k.c +0 −1
  1476. arch/mips/mm/c-r4k.c +18 −8
  1477. arch/mips/mm/cache.c +0 −1
  1478. arch/mips/mm/cex-sb1.S +0 −1
  1479. arch/mips/mm/dma-default.c +2 −0
  1480. arch/mips/mm/hugetlbpage.c +0 −1
  1481. arch/mips/mm/init.c +0 −2
  1482. arch/mips/mm/page.c +0 −1
  1483. arch/mips/mm/sc-mips.c +2 −0
  1484. arch/mips/mm/sc-rm7k.c +0 −1
  1485. arch/mips/mm/tlb-r3k.c +0 −1
  1486. arch/mips/mm/tlb-r4k.c +32 −16
  1487. arch/mips/mm/tlb-r8k.c +0 −1
  1488. arch/mips/mm/tlbex.c +1 −1
  1489. arch/mips/mm/uasm-micromips.c +0 −1
  1490. arch/mips/mm/uasm-mips.c +0 −1
  1491. arch/mips/mti-malta/Makefile +0 −2
  1492. arch/mips/mti-malta/malta-amon.c +28 −21
  1493. arch/mips/mti-malta/malta-console.c +0 −47
  1494. arch/mips/mti-malta/malta-init.c +33 −25
  1495. arch/mips/mti-malta/malta-int.c +68 −59
  1496. arch/mips/mti-malta/malta-platform.c +2 −0
  1497. arch/mips/mti-malta/malta-time.c +13 −3
  1498. arch/mips/mti-sead3/Makefile +2 −0
  1499. arch/mips/mti-sead3/sead3-pic32-bus.c +0 −1
  1500. arch/mips/mti-sead3/sead3-setup.c +75 −9
  1501. arch/mips/mti-sead3/sead3-time.c +0 −4
  1502. arch/mips/mti-sead3/sead3.dts +0 −4
  1503. arch/mips/netlogic/Kconfig +9 −0
  1504. arch/mips/netlogic/common/earlycons.c +2 −0
  1505. arch/mips/netlogic/common/irq.c +55 −17
  1506. arch/mips/netlogic/common/reset.S +46 −17
  1507. arch/mips/netlogic/common/smp.c +5 −3
  1508. arch/mips/netlogic/common/smpboot.S +2 −2
  1509. arch/mips/netlogic/dts/Makefile +1 −0
  1510. arch/mips/netlogic/dts/xlp_gvp.dts +76 −0
  1511. arch/mips/netlogic/xlp/dt.c +6 −1
  1512. arch/mips/netlogic/xlp/nlm_hal.c +61 −10
  1513. arch/mips/netlogic/xlp/setup.c +18 −7
  1514. arch/mips/netlogic/xlp/usb-init-xlp2.c +75 −13
  1515. arch/mips/netlogic/xlp/wakeup.c +70 −22
  1516. arch/mips/netlogic/xlr/platform.c +2 −2
  1517. arch/mips/netlogic/xlr/setup.c +0 −20
  1518. arch/mips/netlogic/xlr/wakeup.c +1 −2
  1519. arch/mips/oprofile/common.c +2 −0
  1520. arch/mips/oprofile/op_model_mipsxx.c +8 −0
  1521. arch/mips/pci/Makefile +1 −0
  1522. arch/mips/pci/fixup-malta.c +11 −0
  1523. arch/mips/pci/fixup-rc32434.c +0 −1
  1524. arch/mips/pci/fixup-sb1250.c +0 −1
  1525. arch/mips/pci/msi-xlp.c +494 −0
  1526. arch/mips/pci/ops-bcm63xx.c +0 −1
  1527. arch/mips/pci/ops-bonito64.c +0 −1
  1528. arch/mips/pci/ops-lantiq.c +0 −1
  1529. arch/mips/pci/ops-loongson2.c +0 −1
  1530. arch/mips/pci/ops-mace.c +0 −1
  1531. arch/mips/pci/ops-msc.c +0 −1
  1532. arch/mips/pci/ops-nile4.c +0 −1
  1533. arch/mips/pci/ops-rc32434.c +0 −1
  1534. arch/mips/pci/pci-ip27.c +0 −1
  1535. arch/mips/pci/pci-malta.c +3 −3
  1536. arch/mips/pci/pci-rt3883.c +0 −3
  1537. arch/mips/pci/pci-xlp.c +79 −31
  1538. arch/mips/pmcs-msp71xx/Kconfig +1 −0
  1539. arch/mips/ralink/Kconfig +1 −0
  1540. arch/mips/ralink/cevt-rt3352.c +1 −1
  1541. arch/mips/ralink/timer.c +1 −1
  1542. arch/mips/sgi-ip27/ip27-console.c +0 −1
  1543. arch/mips/sgi-ip27/ip27-irq-pci.c +0 −1
  1544. arch/mips/sgi-ip27/ip27-klconfig.c +0 −1
  1545. arch/mips/sgi-ip27/ip27-xtalk.c +0 −1
  1546. arch/mn10300/Kconfig +4 −4
  1547. arch/mn10300/Makefile +0 −8
  1548. arch/mn10300/include/asm/Kbuild +1 −0
  1549. arch/mn10300/include/uapi/asm/socket.h +2 −0
  1550. arch/openrisc/include/asm/Kbuild +1 −0
  1551. arch/openrisc/kernel/entry.S +33 −26
  1552. arch/openrisc/kernel/signal.c +116 −117
  1553. arch/parisc/Kconfig +4 −4
  1554. arch/parisc/include/asm/Kbuild +1 −0
  1555. arch/parisc/include/uapi/asm/socket.h +2 −0
  1556. arch/parisc/kernel/drivers.c +5 −17
  1557. arch/parisc/mm/init.c +17 −42
  1558. arch/powerpc/Kconfig +15 −13
  1559. arch/powerpc/boot/.gitignore +1 −0
  1560. arch/powerpc/boot/Makefile +4 −3
  1561. arch/powerpc/boot/dts/ac14xx.dts +7 −0
  1562. arch/powerpc/boot/dts/adder875-redboot.dts +0 −2
  1563. arch/powerpc/boot/dts/adder875-uboot.dts +0 −2
  1564. arch/powerpc/boot/dts/asp834x-redboot.dts +0 −2
  1565. arch/powerpc/boot/dts/c2k.dts +0 −5
  1566. arch/powerpc/boot/dts/ep8248e.dts +0 −3
  1567. arch/powerpc/boot/dts/ep88xc.dts +0 −2
  1568. arch/powerpc/boot/dts/fsl/elo3-dma-2.dtsi +82 −0
  1569. arch/powerpc/boot/dts/fsl/p1020si-post.dtsi +2 −1
  1570. arch/powerpc/boot/dts/fsl/p1021si-post.dtsi +2 −1
  1571. arch/powerpc/boot/dts/fsl/p1022si-post.dtsi +2 −1
  1572. arch/powerpc/boot/dts/fsl/p1023si-post.dtsi +2 −1
  1573. arch/powerpc/boot/dts/gef_ppc9a.dts +0 −2
  1574. arch/powerpc/boot/dts/gef_sbc310.dts +0 −2
  1575. arch/powerpc/boot/dts/gef_sbc610.dts +0 −2
  1576. arch/powerpc/boot/dts/holly.dts +0 −1
  1577. arch/powerpc/boot/dts/kilauea.dts +1 −1
  1578. arch/powerpc/boot/dts/ksi8560.dts +0 −3
  1579. arch/powerpc/boot/dts/mpc5121.dtsi +112 −1
  1580. arch/powerpc/boot/dts/mpc5125twr.dts +52 −1
  1581. arch/powerpc/boot/dts/mpc7448hpc2.dts +0 −1
  1582. arch/powerpc/boot/dts/mpc8272ads.dts +0 −3
  1583. arch/powerpc/boot/dts/mpc8308_p1m.dts +0 −2
  1584. arch/powerpc/boot/dts/mpc8308rdb.dts +0 −1
  1585. arch/powerpc/boot/dts/mpc8313erdb.dts +0 −1
  1586. arch/powerpc/boot/dts/mpc8315erdb.dts +0 −2
  1587. arch/powerpc/boot/dts/mpc832x_mds.dts +0 −2
  1588. arch/powerpc/boot/dts/mpc832x_rdb.dts +0 −2
  1589. arch/powerpc/boot/dts/mpc8349emitx.dts +0 −1
  1590. arch/powerpc/boot/dts/mpc8349emitxgp.dts +0 −1
  1591. arch/powerpc/boot/dts/mpc834x_mds.dts +0 −2
  1592. arch/powerpc/boot/dts/mpc836x_mds.dts +0 −2
  1593. arch/powerpc/boot/dts/mpc836x_rdk.dts +0 −4
  1594. arch/powerpc/boot/dts/mpc8377_mds.dts +0 −2
  1595. arch/powerpc/boot/dts/mpc8377_rdb.dts +0 −1
  1596. arch/powerpc/boot/dts/mpc8377_wlan.dts +0 −2
  1597. arch/powerpc/boot/dts/mpc8378_mds.dts +0 −2
  1598. arch/powerpc/boot/dts/mpc8378_rdb.dts +0 −1
  1599. arch/powerpc/boot/dts/mpc8379_mds.dts +0 −2
  1600. arch/powerpc/boot/dts/mpc8379_rdb.dts +0 −1
  1601. arch/powerpc/boot/dts/mpc8536ds.dtsi +0 −2
  1602. arch/powerpc/boot/dts/mpc8540ads.dts +0 −3
  1603. arch/powerpc/boot/dts/mpc8541cds.dts +0 −2
  1604. arch/powerpc/boot/dts/mpc8544ds.dtsi +0 −2
  1605. arch/powerpc/boot/dts/mpc8548cds.dtsi +0 −4
  1606. arch/powerpc/boot/dts/mpc8555cds.dts +0 −2
  1607. arch/powerpc/boot/dts/mpc8560ads.dts +0 −4
  1608. arch/powerpc/boot/dts/mpc8568mds.dts +0 −8
  1609. arch/powerpc/boot/dts/mpc8569mds.dts +0 −6
  1610. arch/powerpc/boot/dts/mpc8641_hpcn.dts +0 −4
  1611. arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts +0 −4
  1612. arch/powerpc/boot/dts/mpc866ads.dts +0 −1
  1613. arch/powerpc/boot/dts/mpc885ads.dts +0 −3
  1614. arch/powerpc/boot/dts/mvme5100.dts +185 −0
  1615. arch/powerpc/boot/dts/p1010rdb-pa.dts +23 −0
  1616. arch/powerpc/boot/dts/p1010rdb-pa.dtsi +85 −0
  1617. arch/powerpc/boot/dts/p1010rdb-pa_36b.dts +2 −45
  1618. arch/powerpc/boot/dts/p1010rdb-pb.dts +35 −0
  1619. arch/powerpc/boot/dts/p1010rdb-pb_36b.dts +58 −0
  1620. arch/powerpc/boot/dts/p1010rdb.dts +0 −66
  1621. arch/powerpc/boot/dts/p1010rdb.dtsi +1 −42
  1622. arch/powerpc/boot/dts/p1010rdb_32b.dtsi +79 −0
  1623. arch/powerpc/boot/dts/p1010rdb_36b.dtsi +79 −0
  1624. arch/powerpc/boot/dts/p1021mds.dts +0 −2
  1625. arch/powerpc/boot/dts/p1022ds.dtsi +2 −1
  1626. arch/powerpc/boot/dts/p1025rdb_32b.dts +0 −2
  1627. arch/powerpc/boot/dts/p1025twr.dts +95 −0
  1628. arch/powerpc/boot/dts/p1025twr.dtsi +280 −0
  1629. arch/powerpc/boot/dts/ppa8548.dts +0 −2
  1630. arch/powerpc/boot/dts/pq2fads.dts +0 −3
  1631. arch/powerpc/boot/dts/prpmc2800.dts +0 −5
  1632. arch/powerpc/boot/dts/sbc8349.dts +0 −2
  1633. arch/powerpc/boot/dts/sbc8548-post.dtsi +0 −2
  1634. arch/powerpc/boot/dts/sbc8641d.dts +0 −4
  1635. arch/powerpc/boot/dts/stx_gp3_8560.dts +0 −2
  1636. arch/powerpc/boot/dts/stxssa8555.dts +0 −2
  1637. arch/powerpc/boot/dts/tqm8540.dts +0 −3
  1638. arch/powerpc/boot/dts/tqm8541.dts +0 −3
  1639. arch/powerpc/boot/dts/tqm8548-bigflash.dts +0 −5
  1640. arch/powerpc/boot/dts/tqm8548.dts +0 −5
  1641. arch/powerpc/boot/dts/tqm8555.dts +0 −3
  1642. arch/powerpc/boot/dts/tqm8560.dts +0 −3
  1643. arch/powerpc/boot/dts/tqm8xx.dts +0 −1
  1644. arch/powerpc/boot/dts/virtex440-ml507.dts +2 −0
  1645. arch/powerpc/boot/mvme5100.c +27 −0
  1646. arch/powerpc/boot/wrapper +4 −0
  1647. arch/powerpc/configs/85xx/p1023_defconfig +0 −188
  1648. arch/powerpc/configs/adder875_defconfig +1 −0
  1649. arch/powerpc/configs/ep88xc_defconfig +1 −0
  1650. arch/powerpc/configs/mpc85xx_defconfig +3 −0
  1651. arch/powerpc/configs/mpc85xx_smp_defconfig +3 −0
  1652. arch/powerpc/configs/mpc866_ads_defconfig +1 −0
  1653. arch/powerpc/configs/mpc885_ads_defconfig +1 −0
  1654. arch/powerpc/configs/mvme5100_defconfig +144 −0
  1655. arch/powerpc/configs/ppc64_defconfig +1 −0
  1656. arch/powerpc/configs/tqm8xx_defconfig +1 −0
  1657. arch/powerpc/include/asm/Kbuild +2 −1
  1658. arch/powerpc/include/asm/bitops.h +5 −0
  1659. arch/powerpc/include/asm/cache.h +13 −1
  1660. arch/powerpc/include/asm/clk_interface.h +0 −20
  1661. arch/powerpc/include/asm/cmpxchg.h +1 −0
  1662. arch/powerpc/include/asm/code-patching.h +7 −0
  1663. arch/powerpc/include/asm/cputable.h +12 −0
  1664. arch/powerpc/include/asm/eeh.h +13 −1
  1665. arch/powerpc/include/asm/epapr_hcalls.h +111 −0
  1666. arch/powerpc/include/asm/exception-64s.h +14 −7
  1667. arch/powerpc/include/asm/fixmap.h +2 −42
  1668. arch/powerpc/include/asm/fsl_lbc.h +1 −1
  1669. arch/powerpc/include/asm/hardirq.h +2 −1
  1670. arch/powerpc/include/asm/io.h +16 −0
  1671. arch/powerpc/include/asm/iommu.h +43 −11
  1672. arch/powerpc/include/asm/kvm_asm.h +4 −0
  1673. arch/powerpc/include/asm/kvm_book3s.h +13 −14
  1674. arch/powerpc/include/asm/kvm_book3s_asm.h +1 −0
  1675. arch/powerpc/include/asm/kvm_booke.h +6 −0
  1676. arch/powerpc/include/asm/kvm_host.h +51 −10
  1677. arch/powerpc/include/asm/kvm_para.h +1 −79
  1678. arch/powerpc/include/asm/kvm_ppc.h +10 −3
  1679. arch/powerpc/include/asm/lppaca.h +0 −2
  1680. arch/powerpc/include/asm/mce.h +197 −0
  1681. arch/powerpc/include/asm/mmu-book3e.h +13 −0
  1682. arch/powerpc/include/asm/mmu.h +11 −10
  1683. arch/powerpc/include/asm/mpc5121.h +6 −1
  1684. arch/powerpc/include/asm/opal.h +105 −3
  1685. arch/powerpc/include/asm/paca.h +15 −1
  1686. arch/powerpc/include/asm/pgtable-ppc64.h +14 −0
  1687. arch/powerpc/include/asm/pgtable.h +86 −1
  1688. arch/powerpc/include/asm/ppc_asm.h +13 −1
  1689. arch/powerpc/include/asm/processor.h +7 −8
  1690. arch/powerpc/include/asm/ps3.h +0 −1
  1691. arch/powerpc/include/asm/pte-hash64.h +7 −1
  1692. arch/powerpc/include/asm/reg.h +37 −8
  1693. arch/powerpc/include/asm/reg_booke.h +10 −0
  1694. arch/powerpc/include/asm/spinlock.h +10 −2
  1695. arch/powerpc/include/asm/switch_to.h +0 −2
  1696. arch/powerpc/include/asm/systbl.h +2 −0
  1697. arch/powerpc/include/asm/thread_info.h +4 −5
  1698. arch/powerpc/include/asm/tm.h +1 −0
  1699. arch/powerpc/include/asm/topology.h +9 −1
  1700. arch/powerpc/include/asm/unistd.h +1 −1
  1701. arch/powerpc/include/asm/vio.h +0 −1
  1702. arch/powerpc/include/uapi/asm/kvm.h +3 −0
  1703. arch/powerpc/include/uapi/asm/socket.h +2 −0
  1704. arch/powerpc/include/uapi/asm/tm.h +2 −0
  1705. arch/powerpc/include/uapi/asm/unistd.h +2 −1
  1706. arch/powerpc/kernel/Makefile +1 −1
  1707. arch/powerpc/kernel/asm-offsets.c +55 −8
  1708. arch/powerpc/kernel/cacheinfo.c +3 −1
  1709. arch/powerpc/kernel/clock.c +0 −82
  1710. arch/powerpc/kernel/cpu_setup_fsl_booke.S +54 −0
  1711. arch/powerpc/kernel/cpu_setup_power.S +27 −11
  1712. arch/powerpc/kernel/cputable.c +16 −0
  1713. arch/powerpc/kernel/crash.c +0 −1
  1714. arch/powerpc/kernel/dma-iommu.c +2 −2
  1715. arch/powerpc/kernel/eeh.c +16 −1
  1716. arch/powerpc/kernel/eeh_driver.c +102 −79
  1717. arch/powerpc/kernel/eeh_pe.c +3 −1
  1718. arch/powerpc/kernel/entry_64.S +10 −2
  1719. arch/powerpc/kernel/exceptions-64e.S +19 −8
  1720. arch/powerpc/kernel/exceptions-64s.S +218 −24
  1721. arch/powerpc/kernel/fpu.S +16 −0
  1722. arch/powerpc/kernel/fsl_booke_entry_mapping.S +2 −0
  1723. arch/powerpc/kernel/head_64.S +1 −0
  1724. arch/powerpc/kernel/head_fsl_booke.S +236 −30
  1725. arch/powerpc/kernel/hw_breakpoint.c +0 −1
  1726. arch/powerpc/kernel/idle_power7.S +1 −0
  1727. arch/powerpc/kernel/iomap.c +0 −1
  1728. arch/powerpc/kernel/iommu.c +61 −84
  1729. arch/powerpc/kernel/irq.c +9 −3
  1730. arch/powerpc/kernel/kgdb.c +0 −1
  1731. arch/powerpc/kernel/kvm.c +2 −39
  1732. arch/powerpc/kernel/mce.c +352 −0
  1733. arch/powerpc/kernel/mce_power.c +284 −0
  1734. arch/powerpc/kernel/misc_32.S +3 −1
  1735. arch/powerpc/kernel/misc_64.S +6 −0
  1736. arch/powerpc/kernel/paca.c +30 −7
  1737. arch/powerpc/kernel/pci-common.c +2 −2
  1738. arch/powerpc/kernel/pci_of_scan.c +2 −2
  1739. arch/powerpc/kernel/process.c +163 −16
  1740. arch/powerpc/kernel/prom.c +40 −1
  1741. arch/powerpc/kernel/setup_64.c +41 −6
  1742. arch/powerpc/kernel/signal.c +1 −2
  1743. arch/powerpc/kernel/signal_32.c +14 −26
  1744. arch/powerpc/kernel/signal_64.c +7 −7
  1745. arch/powerpc/kernel/smp-tbsync.c +0 −1
  1746. arch/powerpc/kernel/smp.c +2 −7
  1747. arch/powerpc/kernel/swsusp_booke.S +16 −16
  1748. arch/powerpc/kernel/syscalls.c +0 −1
  1749. arch/powerpc/kernel/sysfs.c +354 −36
  1750. arch/powerpc/kernel/time.c +13 −1
  1751. arch/powerpc/kernel/traps.c +54 −18
  1752. arch/powerpc/kernel/vdso32/vdso32_wrapper.S +0 −1
  1753. arch/powerpc/kernel/vdso64/vdso64_wrapper.S +0 −1
  1754. arch/powerpc/kernel/vector.S +10 −0
  1755. arch/powerpc/kernel/vio.c +22 −9
  1756. arch/powerpc/kvm/44x.c +4 −0
  1757. arch/powerpc/kvm/book3s.c +38 −8
  1758. arch/powerpc/kvm/book3s_32_mmu_host.c +5 −0
  1759. arch/powerpc/kvm/book3s_64_mmu_hv.c +2 −2
  1760. arch/powerpc/kvm/book3s_exports.c +0 −4
  1761. arch/powerpc/kvm/book3s_hv.c +242 −79
  1762. arch/powerpc/kvm/book3s_hv_interrupts.S +4 −4
  1763. arch/powerpc/kvm/book3s_hv_ras.c +24 −26
  1764. arch/powerpc/kvm/book3s_hv_rm_mmu.c +5 −3
  1765. arch/powerpc/kvm/book3s_hv_rmhandlers.S +745 −468
  1766. arch/powerpc/kvm/book3s_paired_singles.c +83 −86
  1767. arch/powerpc/kvm/book3s_pr.c +34 −121
  1768. arch/powerpc/kvm/book3s_rmhandlers.S +0 −47
  1769. arch/powerpc/kvm/book3s_segment.S +2 −0
  1770. arch/powerpc/kvm/book3s_xics.c +3 −1
  1771. arch/powerpc/kvm/booke.c +6 −38
  1772. arch/powerpc/kvm/booke.h +4 −1
  1773. arch/powerpc/kvm/bookehv_interrupts.S +13 −0
  1774. arch/powerpc/kvm/e500.c +4 −0
  1775. arch/powerpc/kvm/e500.h +5 −3
  1776. arch/powerpc/kvm/e500_mmu.c +1 −1
  1777. arch/powerpc/kvm/e500_mmu_host.c +34 −25
  1778. arch/powerpc/kvm/e500mc.c +4 −0
  1779. arch/powerpc/kvm/emulate.c +0 −1
  1780. arch/powerpc/kvm/mpic.c +1 −0
  1781. arch/powerpc/kvm/powerpc.c +35 −23
  1782. arch/powerpc/lib/code-patching.c +15 −0
  1783. arch/powerpc/lib/crtsavres.S +186 −0
  1784. arch/powerpc/math-emu/math_efp.c +238 −78
  1785. arch/powerpc/mm/fsl_booke_mmu.c +77 −3
  1786. arch/powerpc/mm/hash_low_64.S +12 −3
  1787. arch/powerpc/mm/hash_utils_64.c +4 −3
  1788. arch/powerpc/mm/hugepage-hash64.c +5 −1
  1789. arch/powerpc/mm/hugetlbpage-book3e.c +43 −11
  1790. arch/powerpc/mm/hugetlbpage-hash64.c +4 −0
  1791. arch/powerpc/mm/hugetlbpage.c +3 −1
  1792. arch/powerpc/mm/mem.c +8 −2
  1793. arch/powerpc/mm/mmu_decl.h +2 −0
  1794. arch/powerpc/mm/numa.c +97 −9
  1795. arch/powerpc/mm/pgtable.c +1 −2
  1796. arch/powerpc/mm/pgtable_32.c +1 −0
  1797. arch/powerpc/mm/pgtable_64.c +13 −2
  1798. arch/powerpc/mm/slice.c +1 −1
  1799. arch/powerpc/mm/tlb_hash64.c +0 −1
  1800. arch/powerpc/mm/tlb_low_64e.S +174 −1
  1801. arch/powerpc/mm/tlb_nohash.c +69 −45
  1802. arch/powerpc/mm/tlb_nohash_low.S +3 −1
  1803. arch/powerpc/oprofile/op_model_7450.c +0 −1
  1804. arch/powerpc/oprofile/op_model_cell.c +0 −1
  1805. arch/powerpc/oprofile/op_model_fsl_emb.c +0 −1
  1806. arch/powerpc/oprofile/op_model_pa6t.c +0 −1
  1807. arch/powerpc/oprofile/op_model_power4.c +0 −1
  1808. arch/powerpc/oprofile/op_model_rs64.c +0 −1
  1809. arch/powerpc/platforms/512x/Kconfig +1 −1
  1810. arch/powerpc/platforms/512x/Makefile +2 −1
  1811. arch/powerpc/platforms/512x/clock-commonclk.c +1221 −0
  1812. arch/powerpc/platforms/512x/clock.c +0 −754
  1813. arch/powerpc/platforms/512x/mpc512x_shared.c +92 −77
  1814. arch/powerpc/platforms/52xx/Kconfig +1 −1
  1815. arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c +1 −1
  1816. arch/powerpc/platforms/83xx/Kconfig +0 −1
  1817. arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c +0 −1
  1818. arch/powerpc/platforms/83xx/suspend.c +0 −1
  1819. arch/powerpc/platforms/85xx/Kconfig +6 −0
  1820. arch/powerpc/platforms/85xx/Makefile +1 −0
  1821. arch/powerpc/platforms/85xx/common.c +38 −0
  1822. arch/powerpc/platforms/85xx/mpc85xx.h +6 −0
  1823. arch/powerpc/platforms/85xx/mpc85xx_mds.c +2 −27
  1824. arch/powerpc/platforms/85xx/mpc85xx_rdb.c +2 −23
  1825. arch/powerpc/platforms/85xx/sgy_cts1000.c +0 −1
  1826. arch/powerpc/platforms/85xx/smp.c +11 −6
  1827. arch/powerpc/platforms/85xx/twr_p102x.c +147 −0
  1828. arch/powerpc/platforms/8xx/Kconfig +0 −1
  1829. arch/powerpc/platforms/Kconfig.cputype +1 −0
  1830. arch/powerpc/platforms/cell/beat_htab.c +2 −2
  1831. arch/powerpc/platforms/cell/iommu.c +8 −6
  1832. arch/powerpc/platforms/chrp/smp.c +0 −1
  1833. arch/powerpc/platforms/embedded6xx/Kconfig +12 −1
  1834. arch/powerpc/platforms/embedded6xx/Makefile +1 −0
  1835. arch/powerpc/platforms/embedded6xx/hlwd-pic.c +0 −1
  1836. arch/powerpc/platforms/embedded6xx/mvme5100.c +221 −0
  1837. arch/powerpc/platforms/pasemi/dma_lib.c +0 −1
  1838. arch/powerpc/platforms/pasemi/iommu.c +4 −1
  1839. arch/powerpc/platforms/powermac/pfunc_core.c +0 −1
  1840. arch/powerpc/platforms/powernv/Kconfig +0 −5
  1841. arch/powerpc/platforms/powernv/Makefile +1 −0
  1842. arch/powerpc/platforms/powernv/eeh-ioda.c +47 −176
  1843. arch/powerpc/platforms/powernv/eeh-powernv.c +23 −1
  1844. arch/powerpc/platforms/powernv/opal-flash.c +10 −29
  1845. arch/powerpc/platforms/powernv/opal-memory-errors.c +146 −0
  1846. arch/powerpc/platforms/powernv/opal-rtc.c +5 −1
  1847. arch/powerpc/platforms/powernv/opal-wrappers.S +3 −0
  1848. arch/powerpc/platforms/powernv/opal.c +157 −110
  1849. arch/powerpc/platforms/powernv/pci-ioda.c +5 −6
  1850. arch/powerpc/platforms/powernv/pci-p5ioc2.c +1 −1
  1851. arch/powerpc/platforms/powernv/pci.c +170 −60
  1852. arch/powerpc/platforms/powernv/pci.h +3 −0
  1853. arch/powerpc/platforms/powernv/setup.c +16 −3
  1854. arch/powerpc/platforms/ps3/spu.c +1 −1
  1855. arch/powerpc/platforms/pseries/Kconfig +1 −10
  1856. arch/powerpc/platforms/pseries/Makefile +0 −1
  1857. arch/powerpc/platforms/pseries/cmm.c +0 −1
  1858. arch/powerpc/platforms/pseries/dtl.c +0 −1
  1859. arch/powerpc/platforms/pseries/eeh_pseries.c +3 −1
  1860. arch/powerpc/platforms/pseries/iommu.c +42 −125
  1861. arch/powerpc/platforms/pseries/lpar.c +3 −2
  1862. arch/powerpc/platforms/pseries/setup.c +2 −2
  1863. arch/powerpc/platforms/wsp/wsp_pci.c +6 −5
  1864. arch/powerpc/sysdev/Kconfig +1 −1
  1865. arch/powerpc/sysdev/axonram.c +11 −10
  1866. arch/powerpc/sysdev/cpm2_pic.c +0 −1
  1867. arch/powerpc/sysdev/dart_iommu.c +1 −0
  1868. arch/powerpc/sysdev/fsl_ifc.c +0 −1
  1869. arch/powerpc/sysdev/fsl_lbc.c +25 −6
  1870. arch/powerpc/sysdev/fsl_pci.c +3 −2
  1871. arch/powerpc/sysdev/ge/ge_pic.h +0 −1
  1872. arch/powerpc/sysdev/i8259.c +0 −1
  1873. arch/powerpc/sysdev/indirect_pci.c +2 −4
  1874. arch/powerpc/sysdev/mpc8xx_pic.c +0 −1
  1875. arch/powerpc/sysdev/mpic_timer.c +8 −2
  1876. arch/powerpc/sysdev/mv64x60_dev.c +1 −1
  1877. arch/powerpc/sysdev/mv64x60_udbg.c +1 −1
  1878. arch/powerpc/sysdev/qe_lib/qe_io.c +0 −1
  1879. arch/powerpc/sysdev/qe_lib/ucc.c +0 −1
  1880. arch/powerpc/sysdev/qe_lib/ucc_fast.c +0 −1
  1881. arch/powerpc/sysdev/qe_lib/ucc_slow.c +0 −1
  1882. arch/powerpc/sysdev/udbg_memcons.c +0 −1
  1883. arch/powerpc/sysdev/xics/icp-hv.c +0 −1
  1884. arch/powerpc/xmon/xmon.c +4 −0
  1885. arch/s390/Kconfig +3 −3
  1886. arch/s390/crypto/des_s390.c +3 −3
  1887. arch/s390/hypfs/Makefile +1 −1
  1888. arch/s390/hypfs/hypfs.h +7 −0
  1889. arch/s390/hypfs/hypfs_dbfs.c +16 −0
  1890. arch/s390/hypfs/hypfs_sprp.c +141 −0
  1891. arch/s390/hypfs/inode.c +11 −4
  1892. arch/s390/include/asm/Kbuild +1 −0
  1893. arch/s390/include/asm/cmpxchg.h +3 −2
  1894. arch/s390/include/asm/kvm_host.h +14 −1
  1895. arch/s390/include/asm/sclp.h +1 −0
  1896. arch/s390/include/asm/sigp.h +2 −0
  1897. arch/s390/include/uapi/asm/hypfs.h +25 −0
  1898. arch/s390/include/uapi/asm/socket.h +2 −0
  1899. arch/s390/include/uapi/asm/statfs.h +5 −5
  1900. arch/s390/include/uapi/asm/unistd.h +2 −0
  1901. arch/s390/kernel/compat_linux.c +2 −2
  1902. arch/s390/kernel/compat_wrapper.S +11 −0
  1903. arch/s390/kernel/syscalls.S +2 −0
  1904. arch/s390/kvm/diag.c +2 −2
  1905. arch/s390/kvm/intercept.c +11 −0
  1906. arch/s390/kvm/kvm-s390.c +38 −34
  1907. arch/s390/kvm/kvm-s390.h +8 −8
  1908. arch/s390/kvm/priv.c +1 −3
  1909. arch/s390/kvm/sigp.c +102 −18
  1910. arch/s390/kvm/trace.h +1 −0
  1911. arch/s390/lib/uaccess.h +0 −9
  1912. arch/s390/lib/uaccess_pt.c +12 −2
  1913. arch/s390/pci/pci.c +2 −2
  1914. arch/score/Kconfig +0 −1
  1915. arch/score/include/asm/Kbuild +2 −0
  1916. arch/score/lib/checksum.S +1 −1
  1917. arch/sh/Kconfig +4 −4
  1918. arch/sh/boards/Kconfig +1 −0
  1919. arch/sh/boards/mach-ecovec24/setup.c +1 −1
  1920. arch/sh/include/asm/Kbuild +1 −0
  1921. arch/sh/include/asm/clkdev.h +2 −0
  1922. arch/sh/include/asm/fixmap.h +2 −37
  1923. arch/sh/kernel/cpu/sh2/setup-sh7619.c +21 −9
  1924. arch/sh/kernel/cpu/sh2a/setup-mxg.c +7 −3
  1925. arch/sh/kernel/cpu/sh2a/setup-sh7201.c +56 −24
  1926. arch/sh/kernel/cpu/sh2a/setup-sh7203.c +28 −12
  1927. arch/sh/kernel/cpu/sh2a/setup-sh7206.c +28 −12
  1928. arch/sh/kernel/cpu/sh2a/setup-sh7264.c +80 −24
  1929. arch/sh/kernel/cpu/sh2a/setup-sh7269.c +80 −24
  1930. arch/sh/kernel/cpu/sh3/setup-sh7705.c +14 −6
  1931. arch/sh/kernel/cpu/sh3/setup-sh770x.c +21 −9
  1932. arch/sh/kernel/cpu/sh3/setup-sh7710.c +14 −6
  1933. arch/sh/kernel/cpu/sh3/setup-sh7720.c +14 −6
  1934. arch/sh/kernel/cpu/sh4/setup-sh4-202.c +10 −6
  1935. arch/sh/kernel/cpu/sh4/setup-sh7750.c +14 −6
  1936. arch/sh/kernel/cpu/sh4/setup-sh7760.c +39 −23
  1937. arch/sh/kernel/cpu/sh4a/setup-sh7343.c +28 −12
  1938. arch/sh/kernel/cpu/sh4a/setup-sh7366.c +7 −3
  1939. arch/sh/kernel/cpu/sh4a/setup-sh7722.c +21 −9
  1940. arch/sh/kernel/cpu/sh4a/setup-sh7723.c +45 −18
  1941. arch/sh/kernel/cpu/sh4a/setup-sh7724.c +45 −18
  1942. arch/sh/kernel/cpu/sh4a/setup-sh7734.c +48 −24
  1943. arch/sh/kernel/cpu/sh4a/setup-sh7757.c +21 −9
  1944. arch/sh/kernel/cpu/sh4a/setup-sh7763.c +21 −9
  1945. arch/sh/kernel/cpu/sh4a/setup-sh7770.c +70 −30
  1946. arch/sh/kernel/cpu/sh4a/setup-sh7780.c +14 −8
  1947. arch/sh/kernel/cpu/sh4a/setup-sh7785.c +42 −18
  1948. arch/sh/kernel/cpu/sh4a/setup-sh7786.c +62 −26
  1949. arch/sh/kernel/cpu/sh4a/setup-shx3.c +30 −18
  1950. arch/sh/kernel/cpu/sh5/setup-sh5.c +9 −3
  1951. arch/sh/kernel/dwarf.c +4 −14
  1952. arch/sh/kernel/kgdb.c +1 −0
  1953. arch/sh/kernel/setup.c +2 −2
  1954. arch/sparc/Kconfig +3 −2
  1955. arch/sparc/include/asm/Kbuild +1 −0
  1956. arch/sparc/include/uapi/asm/socket.h +2 −0
  1957. arch/sparc/include/uapi/asm/unistd.h +3 −1
  1958. arch/sparc/kernel/cpumap.c +0 −1
  1959. arch/sparc/kernel/ebus.c +0 −1
  1960. arch/sparc/kernel/hvtramp.S +0 −1
  1961. arch/sparc/kernel/of_device_common.c +0 −1
  1962. arch/sparc/kernel/pci.c +4 −5
  1963. arch/sparc/kernel/pci_common.c +0 −1
  1964. arch/sparc/kernel/process_32.c +0 −1
  1965. arch/sparc/kernel/sparc_ksyms_32.c +0 −1
  1966. arch/sparc/kernel/sparc_ksyms_64.c +0 −1
  1967. arch/sparc/kernel/systbls_32.S +1 −1
  1968. arch/sparc/kernel/systbls_64.S +2 −2
  1969. arch/sparc/kernel/trampoline_32.S +0 −1
  1970. arch/sparc/kernel/trampoline_64.S +0 −1
  1971. arch/sparc/mm/hugetlbpage.c +0 −1
  1972. arch/sparc/mm/init_64.c +3 −2
  1973. arch/sparc/mm/tlb.c +0 −1
  1974. arch/sparc/prom/p1275.c +0 −1
  1975. arch/tile/include/asm/Kbuild +1 −0
  1976. arch/tile/include/asm/compat.h +0 −1
  1977. arch/tile/include/asm/fixmap.h +1 −32
  1978. arch/um/include/asm/Kbuild +2 −0
  1979. arch/um/include/asm/fixmap.h +1 −39
  1980. arch/um/include/asm/processor-generic.h +0 −3
  1981. arch/unicore32/Kconfig +1 −0
  1982. arch/unicore32/include/asm/Kbuild +1 −0
  1983. arch/unicore32/kernel/early_printk.c +1 −7
  1984. arch/unicore32/mm/init.c +0 −3
  1985. arch/x86/Kconfig +7 −5
  1986. arch/x86/Makefile +22 −0
  1987. arch/x86/boot/Makefile +1 −14
  1988. arch/x86/boot/cpuflags.c +20 −5
  1989. arch/x86/boot/video.h +1 −1
  1990. arch/x86/crypto/Makefile +1 −0
  1991. arch/x86/crypto/aesni-intel_avx-x86_64.S +2811 −0
  1992. arch/x86/crypto/aesni-intel_glue.c +144 −3
  1993. arch/x86/include/asm/dmi.h +4 −2
  1994. arch/x86/include/asm/fixmap.h +1 −58
  1995. arch/x86/include/asm/hash.h +7 −0
  1996. arch/x86/include/asm/kvm_host.h +3 −0
  1997. arch/x86/include/asm/kvm_para.h +12 −21
  1998. arch/x86/include/asm/paravirt.h +1 −1
  1999. arch/x86/include/asm/paravirt_types.h +5 −4
  2000. arch/x86/include/asm/pci.h +1 −2
  2001. arch/x86/include/asm/pgtable_types.h +2 −1
  2002. arch/x86/include/asm/thread_info.h +5 −3
  2003. arch/x86/include/asm/uv/uv.h +0 −2
  2004. arch/x86/include/asm/vmx.h +1 −0
  2005. arch/x86/include/asm/x86_init.h +1 −1
  2006. arch/x86/include/asm/xen/page.h +10 −3
  2007. arch/x86/include/uapi/asm/hyperv.h +13 −0
  2008. arch/x86/include/uapi/asm/msr-index.h +1 −0
  2009. arch/x86/include/uapi/asm/sembuf.h +5 −5
  2010. arch/x86/kernel/acpi/boot.c +2 −5
  2011. arch/x86/kernel/apic/apic_flat_64.c +1 −3
  2012. arch/x86/kernel/apic/io_apic.c +0 −3
  2013. arch/x86/kernel/apic/x2apic_uv_x.c +0 −1
  2014. arch/x86/kernel/check.c +1 −1
  2015. arch/x86/kernel/cpu/microcode/amd.c +1 −1
  2016. arch/x86/kernel/cpu/microcode/intel.c +1 −1
  2017. arch/x86/kernel/e820.c +1 −1
  2018. arch/x86/kernel/kvm.c +33 −1
  2019. arch/x86/kernel/vsmp_64.c +4 −4
  2020. arch/x86/kernel/x86_init.c +2 −2
  2021. arch/x86/kvm/Kconfig +1 −1
  2022. arch/x86/kvm/cpuid.h +8 −0
  2023. arch/x86/kvm/i8254.c +18 −0
  2024. arch/x86/kvm/lapic.c +3 −6
  2025. arch/x86/kvm/lapic.h +1 −1
  2026. arch/x86/kvm/mmu.c +12 −0
  2027. arch/x86/kvm/paging_tmpl.h +8 −0
  2028. arch/x86/kvm/svm.c +15 −0
  2029. arch/x86/kvm/vmx.c +209 −123
  2030. arch/x86/kvm/x86.c +85 −55
  2031. arch/x86/kvm/x86.h +2 −0
  2032. arch/x86/lguest/boot.c +6 −6
  2033. arch/x86/lib/Makefile +1 −1
  2034. arch/x86/lib/hash.c +88 −0
  2035. arch/x86/math-emu/errors.c +0 −5
  2036. arch/x86/mm/gup.c +4 −4
  2037. arch/x86/mm/init_32.c +1 −1
  2038. arch/x86/mm/init_64.c +1 −1
  2039. arch/x86/mm/memtest.c +1 −1
  2040. arch/x86/mm/numa.c +50 −2
  2041. arch/x86/mm/srat.c +5 −0
  2042. arch/x86/pci/mmconfig-shared.c +0 −1
  2043. arch/x86/pci/mmconfig_32.c +0 −1
  2044. arch/x86/pci/xen.c +1 −1
  2045. arch/x86/platform/intel-mid/device_libs/platform_ipc.h +3 −2
  2046. arch/x86/platform/intel-mid/device_libs/platform_msic.h +2 −2
  2047. arch/x86/platform/intel-mid/intel_mid_weak_decls.h +3 −3
  2048. arch/x86/platform/intel-mid/mfld.c +3 −3
  2049. arch/x86/platform/intel-mid/mrfl.c +1 −1
  2050. arch/x86/platform/olpc/olpc-xo15-sci.c +1 −2
  2051. arch/x86/platform/uv/uv_nmi.c +46 −19
  2052. arch/x86/realmode/rm/Makefile +2 −15
  2053. arch/x86/tools/relocs.c +29 −1
  2054. arch/x86/tools/relocs.h +4 −3
  2055. arch/x86/tools/relocs_common.c +12 −4
  2056. arch/x86/xen/Kconfig +4 −0
  2057. arch/x86/xen/enlighten.c +106 −20
  2058. arch/x86/xen/grant-table.c +64 −0
  2059. arch/x86/xen/irq.c +8 −5
  2060. arch/x86/xen/mmu.c +103 −79
  2061. arch/x86/xen/p2m.c +15 −17
  2062. arch/x86/xen/platform-pci-unplug.c +76 −3
  2063. arch/x86/xen/setup.c +34 −10
  2064. arch/x86/xen/smp.c +33 −16
  2065. arch/x86/xen/spinlock.c +1 −1
  2066. arch/x86/xen/time.c +1 −0
  2067. arch/x86/xen/xen-head.S +24 −1
  2068. arch/x86/xen/xen-ops.h +1 −0
  2069. arch/xtensa/Kconfig +53 −5
  2070. arch/xtensa/boot/dts/lx60.dts +1 −1
  2071. arch/xtensa/boot/dts/ml605.dts +1 −1
  2072. arch/xtensa/boot/dts/xtfpga.dtsi +3 −3
  2073. arch/xtensa/include/asm/Kbuild +1 −1
  2074. arch/xtensa/include/asm/barrier.h +0 −4
  2075. arch/xtensa/include/asm/bitops.h +2 −6
  2076. arch/xtensa/include/asm/cacheflush.h +25 −15
  2077. arch/xtensa/include/asm/delay.h +43 −9
  2078. arch/xtensa/include/asm/ftrace.h +1 −1
  2079. arch/xtensa/include/asm/futex.h +147 −0
  2080. arch/xtensa/include/asm/initialize_mmu.h +7 −6
  2081. arch/xtensa/include/asm/io.h +11 −5
  2082. arch/xtensa/include/asm/irq.h +9 −0
  2083. arch/xtensa/include/asm/mmu.h +5 −5
  2084. arch/xtensa/include/asm/mmu_context.h +63 −43
  2085. arch/xtensa/include/asm/mxregs.h +46 −0
  2086. arch/xtensa/include/asm/perf_event.h +4 −0
  2087. arch/xtensa/include/asm/processor.h +20 −0
  2088. arch/xtensa/include/asm/ptrace.h +8 −0
  2089. arch/xtensa/include/asm/smp.h +27 −11
  2090. arch/xtensa/include/asm/spinlock.h +17 −14
  2091. arch/xtensa/include/asm/spinlock_types.h +20 −0
  2092. arch/xtensa/include/asm/timex.h +2 −12
  2093. arch/xtensa/include/asm/tlbflush.h +31 −11
  2094. arch/xtensa/include/asm/traps.h +1 −0
  2095. arch/xtensa/include/asm/vectors.h +14 −9
  2096. arch/xtensa/include/uapi/asm/socket.h +2 −0
  2097. arch/xtensa/kernel/Makefile +1 −0
  2098. arch/xtensa/kernel/head.S +137 −44
  2099. arch/xtensa/kernel/irq.c +97 −110
  2100. arch/xtensa/kernel/mxhead.S +85 −0
  2101. arch/xtensa/kernel/setup.c +94 −37
  2102. arch/xtensa/kernel/smp.c +592 −0
  2103. arch/xtensa/kernel/time.c +34 −27
  2104. arch/xtensa/kernel/traps.c +34 −22
  2105. arch/xtensa/kernel/vmlinux.lds.S +26 −0
  2106. arch/xtensa/mm/cache.c +3 −4
  2107. arch/xtensa/mm/fault.c +1 −1
  2108. arch/xtensa/mm/misc.S +2 −2
  2109. arch/xtensa/mm/mmu.c +18 −2
  2110. arch/xtensa/mm/tlb.c +22 −15
  2111. arch/xtensa/platforms/iss/network.c +104 −197
  2112. arch/xtensa/platforms/iss/simdisk.c +7 −7
  2113. arch/xtensa/platforms/xtfpga/include/platform/hardware.h +1 −5
  2114. arch/xtensa/platforms/xtfpga/setup.c +7 −7
  2115. arch/xtensa/variants/s6000/include/variant/irq.h +0 −1
  2116. block/blk-core.c +38 −23
  2117. block/blk-exec.c +4 −0
  2118. block/blk-flush.c +1 −1
  2119. block/blk-integrity.c +22 −18
  2120. block/blk-lib.c +6 −6
  2121. block/blk-map.c +3 −3
  2122. block/blk-merge.c +36 −30
  2123. block/blk-mq-cpu.c +1 −36
  2124. block/blk-mq-tag.c +4 −2
  2125. block/blk-mq.c +44 −79
  2126. block/blk-mq.h +2 −1
  2127. block/blk-settings.c +4 −0
  2128. block/blk-sysfs.c +1 −0
  2129. block/blk-throttle.c +22 −27
  2130. block/cfq-iosched.c +58 −73
  2131. block/cmdline-parser.c +11 −7
  2132. block/elevator.c +1 −1
  2133. block/scsi_ioctl.c +4 −2
  2134. crypto/Makefile +0 −5
  2135. crypto/ahash.c +4 −1
  2136. crypto/memneq.c +55 −25
  2137. crypto/pcrypt.c +1 −1
  2138. crypto/tcrypt.c +270 −0
  2139. crypto/tcrypt.h +10 −0
  2140. drivers/Makefile +1 −1
  2141. drivers/acpi/ac.c +1 −2
  2142. drivers/acpi/acpi_extlog.c +12 −50
  2143. drivers/acpi/acpi_memhotplug.c +19 −8
  2144. drivers/acpi/acpi_pad.c +1 −2
  2145. drivers/acpi/acpi_processor.c +15 −11
  2146. drivers/acpi/acpica/acdebug.h +0 −1
  2147. drivers/acpi/acpica/acevents.h +5 −4
  2148. drivers/acpi/acpica/acglobal.h +31 −1
  2149. drivers/acpi/acpica/aclocal.h +5 −4
  2150. drivers/acpi/acpica/dsfield.c +1 −1
  2151. drivers/acpi/acpica/dsutils.c +9 −10
  2152. drivers/acpi/acpica/dswload.c +2 −2
  2153. drivers/acpi/acpica/evgpeblk.c +4 −4
  2154. drivers/acpi/acpica/evgpeutil.c +15 −9
  2155. drivers/acpi/acpica/exresnte.c +2 −1
  2156. drivers/acpi/acpica/nsxfeval.c +13 −10
  2157. drivers/acpi/acpica/psopinfo.c +49 −2
  2158. drivers/acpi/acpica/tbfadt.c +183 −152
  2159. drivers/acpi/acpica/tbutils.c +122 −92
  2160. drivers/acpi/acpica/utaddress.c +13 −6
  2161. drivers/acpi/acpica/utalloc.c +7 −3
  2162. drivers/acpi/acpica/utcache.c +6 −6
  2163. drivers/acpi/acpica/utdebug.c +2 −2
  2164. drivers/acpi/acpica/utglobal.c +0 −4
  2165. drivers/acpi/acpica/utxfinit.c +10 −2
  2166. drivers/acpi/apei/apei-base.c +0 −1
  2167. drivers/acpi/apei/apei-internal.h +0 −1
  2168. drivers/acpi/apei/einj.c +0 −1
  2169. drivers/acpi/apei/ghes.c +0 −1
  2170. drivers/acpi/battery.c +1 −2
  2171. drivers/acpi/blacklist.c +50 −1
  2172. drivers/acpi/bus.c +14 −72
  2173. drivers/acpi/button.c +1 −20
  2174. drivers/acpi/container.c +50 −5
  2175. drivers/acpi/custom_method.c +1 −1
  2176. drivers/acpi/debugfs.c +1 −1
  2177. drivers/acpi/device_pm.c +24 −22
  2178. drivers/acpi/dock.c +5 −11
  2179. drivers/acpi/ec.c +3 −29
  2180. drivers/acpi/ec_sys.c +1 −1
  2181. drivers/acpi/event.c +1 −1
  2182. drivers/acpi/fan.c +1 −2
  2183. drivers/acpi/glue.c +60 −105
  2184. drivers/acpi/hed.c +0 −2
  2185. drivers/acpi/internal.h +16 −3
  2186. drivers/acpi/numa.c +0 −1
  2187. drivers/acpi/nvs.c +2 −1
  2188. drivers/acpi/osl.c +7 −7
  2189. drivers/acpi/pci_irq.c +0 −2
  2190. drivers/acpi/pci_link.c +2 −2
  2191. drivers/acpi/pci_root.c +18 −114
  2192. drivers/acpi/pci_slot.c +1 −0
  2193. drivers/acpi/power.c +1 −2
  2194. drivers/acpi/proc.c +2 −3
  2195. drivers/acpi/processor_core.c +14 −15
  2196. drivers/acpi/processor_driver.c +4 −4
  2197. drivers/acpi/processor_idle.c +17 −20
  2198. drivers/acpi/processor_perflib.c +2 −5
  2199. drivers/acpi/processor_thermal.c +4 −7
  2200. drivers/acpi/processor_throttling.c +2 −5
  2201. drivers/acpi/sbshc.c +1 −2
  2202. drivers/acpi/scan.c +386 −235
  2203. drivers/acpi/sleep.c +2 −12
  2204. drivers/acpi/sysfs.c +2 −2
  2205. drivers/acpi/tables.c +6 −5
  2206. drivers/acpi/thermal.c +3 −4
  2207. drivers/acpi/utils.c +97 −2
  2208. drivers/acpi/video.c +2 −3
  2209. drivers/acpi/video_detect.c +1 −1
  2210. drivers/acpi/wakeup.c +0 −1
  2211. drivers/amba/bus.c +17 −196
  2212. drivers/ata/ahci.c +86 −30
  2213. drivers/ata/ahci_imx.c +157 −85
  2214. drivers/ata/ata_generic.c +0 −7
  2215. drivers/ata/libahci.c +2 −2
  2216. drivers/ata/libata-acpi.c +13 −15
  2217. drivers/ata/libata-core.c +27 −0
  2218. drivers/ata/libata-eh.c +2 −3
  2219. drivers/ata/libata-scsi.c +15 −3
  2220. drivers/ata/pata_acpi.c +2 −3
  2221. drivers/ata/pata_samsung_cf.c +27 −16
  2222. drivers/ata/sata_highbank.c +0 −1
  2223. drivers/ata/sata_mv.c +52 −0
  2224. drivers/ata/sata_rcar.c +102 −16
  2225. drivers/atm/he.c +0 −1
  2226. drivers/atm/nicstar.c +2 −2
  2227. drivers/atm/solos-pci.c +0 −2
  2228. drivers/base/Kconfig +1 −1
  2229. drivers/base/Makefile +2 −2
  2230. drivers/base/base.h +1 −0
  2231. drivers/base/bus.c +11 −2
  2232. drivers/base/component.c +382 −0
  2233. drivers/base/container.c +44 −0
  2234. drivers/base/core.c +5 −2
  2235. drivers/base/devtmpfs.c +1 −1
  2236. drivers/base/firmware_class.c +66 −27
  2237. drivers/base/init.c +1 −0
  2238. drivers/base/platform.c +15 −1
  2239. drivers/base/power/clock_ops.c +25 −5
  2240. drivers/base/power/generic_ops.c +2 −2
  2241. drivers/base/regmap/regmap-irq.c +3 −3
  2242. drivers/base/regmap/regmap.c +42 −30
  2243. drivers/bcma/Kconfig +1 −0
  2244. drivers/bcma/bcma_private.h +0 −2
  2245. drivers/bcma/driver_chipcommon_sflash.c +3 −3
  2246. drivers/bcma/driver_gpio.c +135 −2
  2247. drivers/bcma/host_pci.c +1 −2
  2248. drivers/bcma/main.c +2 −12
  2249. drivers/block/Kconfig +4 −1
  2250. drivers/block/Makefile +1 −1
  2251. drivers/block/aoe/aoe.h +2 −8
  2252. drivers/block/aoe/aoecmd.c +60 −93
  2253. drivers/block/brd.c +8 −8
  2254. drivers/block/cciss.c +2 −2
  2255. drivers/block/drbd/drbd_actlog.c +1 −1
  2256. drivers/block/drbd/drbd_bitmap.c +1 −1
  2257. drivers/block/drbd/drbd_main.c +15 −12
  2258. drivers/block/drbd/drbd_receiver.c +10 −9
  2259. drivers/block/drbd/drbd_req.c +3 −3
  2260. drivers/block/drbd/drbd_req.h +1 −1
  2261. drivers/block/drbd/drbd_worker.c +4 −4
  2262. drivers/block/floppy.c +35 −17
  2263. drivers/block/loop.c +15 −14
  2264. drivers/block/mg_disk.c +1 −1
  2265. drivers/block/mtip32xx/mtip32xx.c +169 −101
  2266. drivers/block/mtip32xx/mtip32xx.h +6 −8
  2267. drivers/block/nbd.c +7 −7
  2268. drivers/block/null_blk.c +5 −0
  2269. drivers/block/nvme-core.c +30 −112
  2270. drivers/block/paride/pg.c +1 −1
  2271. drivers/block/pktcdvd.c +102 −84
  2272. drivers/block/ps3disk.c +8 −9
  2273. drivers/block/ps3vram.c +6 −6
  2274. drivers/block/rbd.c +220 −174
  2275. drivers/block/rsxx/dev.c +3 −3
  2276. drivers/block/rsxx/dma.c +8 −7
  2277. drivers/block/sx8.c +1 −15
  2278. drivers/block/umem.c +25 −28
  2279. drivers/block/xen-blkback/blkback.c +7 −10
  2280. drivers/block/xen-blkfront.c +3 −3
  2281. drivers/block/zram/Kconfig +0 −1
  2282. drivers/block/zram/Makefile +0 −0
  2283. drivers/block/zram/zram_drv.c +64 −97
  2284. drivers/block/zram/zram_drv.h +8 −24
  2285. drivers/bluetooth/ath3k.c +4 −0
  2286. drivers/bluetooth/btmrvl_drv.h +12 −13
  2287. drivers/bluetooth/btmrvl_main.c +31 −99
  2288. drivers/bluetooth/btmrvl_sdio.c +1 −8
  2289. drivers/bluetooth/btmrvl_sdio.h +0 −2
  2290. drivers/bluetooth/btsdio.c +5 −1
  2291. drivers/bluetooth/btusb.c +51 −2
  2292. drivers/bluetooth/hci_vhci.c +18 −11
  2293. drivers/bus/mvebu-mbus.c +2 −8
  2294. drivers/cdrom/Makefile +0 −1
  2295. drivers/cdrom/gdrom.c +2 −2
  2296. drivers/char/Makefile +1 −2
  2297. drivers/char/agp/Kconfig +5 −0
  2298. drivers/char/agp/Makefile +1 −1
  2299. drivers/char/agp/agp.h +1 −0
  2300. drivers/char/agp/ali-agp.c +2 −2
  2301. drivers/char/agp/amd-k7-agp.c +5 −7
  2302. drivers/char/agp/amd64-agp.c +2 −5
  2303. drivers/char/agp/ati-agp.c +10 −11
  2304. drivers/char/agp/efficeon-agp.c +2 −3
  2305. drivers/char/agp/generic.c +2 −2
  2306. drivers/char/agp/intel-agp.c +20 −33
  2307. drivers/char/agp/intel-agp.h +5 −5
  2308. drivers/char/agp/intel-gtt.c +37 −28
  2309. drivers/char/agp/nvidia-agp.c +5 −4
  2310. drivers/char/agp/sis-agp.c +2 −3
  2311. drivers/char/agp/via-agp.c +6 −7
  2312. drivers/char/apm-emulation.c +9 −2
  2313. drivers/char/hpet.c +2 −5
  2314. drivers/char/i8k.c +201 −159
  2315. drivers/char/ipmi/ipmi_bt_sm.c +4 −4
  2316. drivers/char/ipmi/ipmi_kcs_sm.c +2 −2
  2317. drivers/char/ipmi/ipmi_si_intf.c +33 −18
  2318. drivers/char/ipmi/ipmi_smic_sm.c +1 −1
  2319. drivers/char/lp.c +2 −0
  2320. drivers/char/mem.c +0 −1
  2321. drivers/char/msm_smd_pkt.c +1 −1
  2322. drivers/char/nwbutton.c +4 −1
  2323. drivers/char/pcmcia/synclink_cs.c +2 −2
  2324. drivers/char/tpm/Makefile +1 −1
  2325. drivers/char/tpm/tpm-dev.c +213 −0
  2326. drivers/char/tpm/tpm-interface.c +28 −460
  2327. drivers/char/tpm/tpm-sysfs.c +318 −0
  2328. drivers/char/tpm/tpm.h +39 −44
  2329. drivers/char/tpm/tpm_acpi.c +1 −1
  2330. drivers/char/tpm/tpm_atmel.c +1 −27
  2331. drivers/char/tpm/tpm_i2c_atmel.c +2 −42
  2332. drivers/char/tpm/tpm_i2c_infineon.c +1 −41
  2333. drivers/char/tpm/tpm_i2c_nuvoton.c +1 −42
  2334. drivers/char/tpm/tpm_i2c_stm_st33.c +9 −39
  2335. drivers/char/tpm/tpm_ibmvtpm.c +1 −40
  2336. drivers/char/tpm/tpm_infineon.c +1 −27
  2337. drivers/char/tpm/tpm_nsc.c +1 −27
  2338. drivers/char/tpm/tpm_ppi.c +142 −264
  2339. drivers/char/tpm/tpm_tis.c +2 −47
  2340. drivers/char/tpm/xen-tpmfront.c +5 −44
  2341. drivers/char/ttyprintk.c +1 −1
  2342. drivers/clk/Kconfig +12 −10
  2343. drivers/clk/Makefile +39 −35
  2344. drivers/clk/at91/Makefile +11 −0
  2345. drivers/clk/at91/clk-main.c +187 −0
  2346. drivers/clk/at91/clk-master.c +270 −0
  2347. drivers/clk/at91/clk-peripheral.c +410 −0
  2348. drivers/clk/at91/clk-pll.c +531 −0
  2349. drivers/clk/at91/clk-plldiv.c +135 −0
  2350. drivers/clk/at91/clk-programmable.c +366 −0
  2351. drivers/clk/at91/clk-smd.c +171 −0
  2352. drivers/clk/at91/clk-system.c +135 −0
  2353. drivers/clk/at91/clk-usb.c +398 −0
  2354. drivers/clk/at91/clk-utmi.c +159 −0
  2355. drivers/clk/at91/pmc.c +395 −0
  2356. drivers/clk/at91/pmc.h +114 −0
  2357. drivers/clk/clk-composite.c +28 −0
  2358. drivers/clk/clk-fixed-rate.c +37 −6
  2359. drivers/clk/clk-max77686.c +60 −37
  2360. drivers/clk/clk-si5351.c +13 −17
  2361. drivers/clk/clk-si5351.h +14 −0
  2362. drivers/clk/clk-si570.c +531 −0
  2363. drivers/clk/clk-vt8500.c +1 −1
  2364. drivers/clk/clk.c +338 −44
  2365. drivers/clk/clk.h +16 −0
  2366. drivers/clk/clkdev.c +10 −2
  2367. drivers/clk/hisilicon/Makefile +5 −0
  2368. drivers/clk/hisilicon/clk-hi3620.c +242 −0
  2369. drivers/clk/hisilicon/clk.c +171 −0
  2370. drivers/clk/hisilicon/clk.h +103 −0
  2371. drivers/clk/hisilicon/clkgate-separated.c +130 −0
  2372. drivers/clk/keystone/gate.c +8 −4
  2373. drivers/clk/keystone/pll.c +20 −4
  2374. drivers/clk/mvebu/Kconfig +5 −0
  2375. drivers/clk/mvebu/Makefile +1 −0
  2376. drivers/clk/mvebu/clk-corediv.c +223 −0
  2377. drivers/clk/mvebu/clk-cpu.c +1 −1
  2378. drivers/clk/qcom/Kconfig +47 −0
  2379. drivers/clk/qcom/Makefile +14 −0
  2380. drivers/clk/qcom/clk-branch.c +159 −0
  2381. drivers/clk/qcom/clk-branch.h +56 −0
  2382. drivers/clk/qcom/clk-pll.c +222 −0
  2383. drivers/clk/qcom/clk-pll.h +66 −0
  2384. drivers/clk/qcom/clk-rcg.c +517 −0
  2385. drivers/clk/qcom/clk-rcg.h +159 −0
  2386. drivers/clk/qcom/clk-rcg2.c +291 −0
  2387. drivers/clk/qcom/clk-regmap.c +114 −0
  2388. drivers/clk/qcom/clk-regmap.h +45 −0
  2389. drivers/clk/qcom/gcc-msm8660.c +2819 −0
  2390. drivers/clk/qcom/gcc-msm8960.c +2993 −0
  2391. drivers/clk/qcom/gcc-msm8974.c +2694 −0
  2392. drivers/clk/qcom/mmcc-msm8960.c +2321 −0
  2393. drivers/clk/qcom/mmcc-msm8974.c +2625 −0
  2394. drivers/clk/qcom/reset.c +63 −0
  2395. drivers/clk/qcom/reset.h +37 −0
  2396. drivers/clk/samsung/clk-exynos-audss.c +136 −23
  2397. drivers/clk/samsung/clk-exynos4.c +403 −455
  2398. drivers/clk/samsung/clk-exynos5250.c +400 −299
  2399. drivers/clk/samsung/clk-exynos5420.c +310 −340
  2400. drivers/clk/samsung/clk-exynos5440.c +34 −47
  2401. drivers/clk/samsung/clk-pll.c +1 −1
  2402. drivers/clk/samsung/clk-s3c64xx.c +2 −2
  2403. drivers/clk/shmobile/Makefile +7 −0
  2404. drivers/clk/shmobile/clk-div6.c +185 −0
  2405. drivers/clk/shmobile/clk-emev2.c +104 −0
  2406. drivers/clk/shmobile/clk-mstp.c +233 −0
  2407. drivers/clk/shmobile/clk-rcar-gen2.c +298 −0
  2408. drivers/clk/sirf/Makefile +5 −0
  2409. drivers/clk/sirf/atlas6.h +31 −0
  2410. drivers/clk/sirf/clk-atlas6.c +152 −0
  2411. drivers/clk/sirf/clk-common.c +93 −171
  2412. drivers/clk/sirf/clk-prima2.c +151 −0
  2413. drivers/clk/sirf/prima2.h +25 −0
  2414. drivers/clk/socfpga/clk.c +2 −4
  2415. drivers/clk/spear/clk-frac-synth.c +1 −1
  2416. drivers/clk/sunxi/clk-factors.c +3 −64
  2417. drivers/clk/sunxi/clk-factors.h +9 −7
  2418. drivers/clk/sunxi/clk-sunxi.c +473 −20
  2419. drivers/clk/tegra/Makefile +6 −1
  2420. drivers/clk/tegra/clk-id.h +235 −0
  2421. drivers/clk/tegra/clk-periph-gate.c +6 −24
  2422. drivers/clk/tegra/clk-periph.c +29 −45
  2423. drivers/clk/tegra/clk-pll.c +316 −101
  2424. drivers/clk/tegra/clk-tegra-audio.c +215 −0
  2425. drivers/clk/tegra/clk-tegra-fixed.c +111 −0
  2426. drivers/clk/tegra/clk-tegra-periph.c +674 −0
  2427. drivers/clk/tegra/clk-tegra-pmc.c +132 −0
  2428. drivers/clk/tegra/clk-tegra-super-gen4.c +149 −0
  2429. drivers/clk/tegra/clk-tegra114.c +381 −1307
  2430. drivers/clk/tegra/clk-tegra124.c +1424 −0
  2431. drivers/clk/tegra/clk-tegra20.c +301 −516
  2432. drivers/clk/tegra/clk-tegra30.c +458 −1046
  2433. drivers/clk/tegra/clk.c +214 −0
  2434. drivers/clk/tegra/clk.h +75 −41
  2435. drivers/clk/ti/Makefile +11 −0
  2436. drivers/clk/ti/apll.c +223 −0
  2437. drivers/clk/ti/autoidle.c +133 −0
  2438. drivers/clk/ti/clk-33xx.c +161 −0
  2439. drivers/clk/ti/clk-3xxx.c +401 −0
  2440. drivers/clk/ti/clk-43xx.c +118 −0
  2441. drivers/clk/ti/clk-44xx.c +316 −0
  2442. drivers/clk/ti/clk-54xx.c +255 −0
  2443. drivers/clk/ti/clk-7xx.c +332 −0
  2444. drivers/clk/ti/clk.c +167 −0
  2445. drivers/clk/ti/clockdomain.c +70 −0
  2446. drivers/clk/ti/composite.c +269 −0
  2447. drivers/clk/ti/divider.c +487 −0
  2448. drivers/clk/ti/dpll.c +558 −0
  2449. drivers/clk/ti/fixed-factor.c +66 −0
  2450. drivers/clk/ti/gate.c +249 −0
  2451. drivers/clk/ti/interface.c +125 −0
  2452. drivers/clk/ti/mux.c +246 −0
  2453. drivers/clk/ux500/clk-prcmu.c +1 −1
  2454. drivers/clk/versatile/clk-icst.c +2 −1
  2455. drivers/clk/versatile/clk-icst.h +1 −0
  2456. drivers/clk/versatile/clk-impd1.c +72 −16
  2457. drivers/clk/versatile/clk-integrator.c +1 −1
  2458. drivers/clk/versatile/clk-realview.c +4 −2
  2459. drivers/clk/versatile/clk-sp810.c +1 −1
  2460. drivers/clk/zynq/clkc.c +15 −3
  2461. drivers/clocksource/Makefile +1 −1
  2462. drivers/clocksource/exynos_mct.c +4 −0
  2463. drivers/clocksource/nomadik-mtu.c +5 −18
  2464. drivers/cpufreq/Kconfig +6 −1
  2465. drivers/cpufreq/Kconfig.arm +22 −5
  2466. drivers/cpufreq/acpi-cpufreq.c +33 −60
  2467. drivers/cpufreq/arm_big_little.c +2 −1
  2468. drivers/cpufreq/at32ap-cpufreq.c +5 −12
  2469. drivers/cpufreq/cpufreq-cpu0.c +19 −7
  2470. drivers/cpufreq/cpufreq.c +199 −19
  2471. drivers/cpufreq/cpufreq_governor.c +5 −1
  2472. drivers/cpufreq/cpufreq_governor.h +2 −0
  2473. drivers/cpufreq/cpufreq_stats.c +48 −61
  2474. drivers/cpufreq/davinci-cpufreq.c +5 −11
  2475. drivers/cpufreq/dbx500-cpufreq.c +4 −18
  2476. drivers/cpufreq/exynos-cpufreq.c +18 −10
  2477. drivers/cpufreq/exynos-cpufreq.h +22 −0
  2478. drivers/cpufreq/exynos4210-cpufreq.c +0 −2
  2479. drivers/cpufreq/exynos4x12-cpufreq.c +1 −3
  2480. drivers/cpufreq/exynos5250-cpufreq.c +10 −65
  2481. drivers/cpufreq/exynos5440-cpufreq.c +16 −20
  2482. drivers/cpufreq/freq_table.c +71 −7
  2483. drivers/cpufreq/imx6q-cpufreq.c +96 −38
  2484. drivers/cpufreq/integrator-cpufreq.c +1 −0
  2485. drivers/cpufreq/intel_pstate.c +76 −13
  2486. drivers/cpufreq/kirkwood-cpufreq.c +1 −0
  2487. drivers/cpufreq/loongson2_cpufreq.c +5 −10
  2488. drivers/cpufreq/omap-cpufreq.c +11 −23
  2489. drivers/cpufreq/pcc-cpufreq.c +7 −11
  2490. drivers/cpufreq/powernow-k6.c +120 −27
  2491. drivers/cpufreq/powernow-k8.c +1 −6
  2492. drivers/cpufreq/ppc-corenet-cpufreq.c +4 −13
  2493. drivers/cpufreq/pxa2xx-cpufreq.c +1 −0
  2494. drivers/cpufreq/pxa3xx-cpufreq.c +1 −0
  2495. drivers/cpufreq/s3c2416-cpufreq.c +1 −1
  2496. drivers/cpufreq/s3c2440-cpufreq.c +2 −4
  2497. drivers/cpufreq/s3c24xx-cpufreq.c +5 −9
  2498. drivers/cpufreq/s3c64xx-cpufreq.c +13 −22
  2499. drivers/cpufreq/s5pv210-cpufreq.c +7 −16
  2500. drivers/cpufreq/sa1100-cpufreq.c +1 −1
  2501. drivers/cpufreq/sa1110-cpufreq.c +1 −1
  2502. drivers/cpufreq/spear-cpufreq.c +4 −8
  2503. drivers/cpufreq/speedstep-smi.c +0 −32
  2504. drivers/cpufreq/tegra-cpufreq.c +9 −40
  2505. drivers/cpufreq/unicore2-cpufreq.c +13 −20
  2506. drivers/cpuidle/Kconfig +5 −0
  2507. drivers/cpuidle/Kconfig.powerpc +20 −0
  2508. drivers/cpuidle/Makefile +5 −0
  2509. drivers/cpuidle/cpuidle-powernv.c +169 −0
  2510. drivers/cpuidle/cpuidle-pseries.c +20 −117
  2511. drivers/crypto/Kconfig +29 −10
  2512. drivers/crypto/Makefile +17 −16
  2513. drivers/crypto/amcc/crypto4xx_core.c +0 −1
  2514. drivers/crypto/atmel-aes.c +94 −49
  2515. drivers/crypto/atmel-sha.c +78 −25
  2516. drivers/crypto/atmel-tdes.c +94 −49
  2517. drivers/crypto/caam/caamalg.c +13 −23
  2518. drivers/crypto/ccp/Kconfig +24 −0
  2519. drivers/crypto/ccp/Makefile +10 −0
  2520. drivers/crypto/ccp/ccp-crypto-aes-cmac.c +365 −0
  2521. drivers/crypto/ccp/ccp-crypto-aes-xts.c +279 −0
  2522. drivers/crypto/ccp/ccp-crypto-aes.c +369 −0
  2523. drivers/crypto/ccp/ccp-crypto-main.c +432 −0
  2524. drivers/crypto/ccp/ccp-crypto-sha.c +517 −0
  2525. drivers/crypto/ccp/ccp-crypto.h +197 −0
  2526. drivers/crypto/ccp/ccp-dev.c +595 −0
  2527. drivers/crypto/ccp/ccp-dev.h +272 −0
  2528. drivers/crypto/ccp/ccp-ops.c +2024 −0
  2529. drivers/crypto/ccp/ccp-pci.c +361 −0
  2530. drivers/crypto/dcp.c +0 −903
  2531. drivers/crypto/mxs-dcp.c +1100 −0
  2532. drivers/crypto/omap-aes.c +14 −2
  2533. drivers/crypto/omap-sham.c +14 −5
  2534. drivers/crypto/talitos.c +15 −8
  2535. drivers/devfreq/Kconfig +1 −1
  2536. drivers/devfreq/exynos/exynos4_bus.c +3 −3
  2537. drivers/devfreq/exynos/exynos4_bus.h +110 −0
  2538. drivers/devfreq/exynos/exynos5_bus.c +1 −1
  2539. drivers/dma/Kconfig +16 −0
  2540. drivers/dma/Makefile +2 −0
  2541. drivers/dma/acpi-dma.c +24 −12
  2542. drivers/dma/amba-pl08x.c +3 −1
  2543. drivers/dma/bcm2835-dma.c +707 −0
  2544. drivers/dma/cppi41.c +3 −1
  2545. drivers/dma/dmaengine.c +59 −4
  2546. drivers/dma/dmatest.c +2 −2
  2547. drivers/dma/dw/core.c +18 −17
  2548. drivers/dma/edma.c +3 −3
  2549. drivers/dma/fsldma.h +1 −1
  2550. drivers/dma/imx-sdma.c +22 −1
  2551. drivers/dma/k3dma.c +2 −2
  2552. drivers/dma/mmp_pdma.c +105 −116
  2553. drivers/dma/mmp_tdma.c +21 −7
  2554. drivers/dma/moxart-dma.c +699 −0
  2555. drivers/dma/of-dma.c +9 −6
  2556. drivers/dma/omap-dma.c +2 −2
  2557. drivers/dma/pl330.c +35 −31
  2558. drivers/dma/ppc4xx/adma.c +1 −0
  2559. drivers/dma/sirf-dma.c +20 −0
  2560. drivers/dma/ste_dma40.c +4 −0
  2561. drivers/dma/tegra20-apb-dma.c +101 −13
  2562. drivers/dma/virt-dma.h +3 −1
  2563. drivers/eisa/eisa-bus.c +18 −13
  2564. drivers/extcon/Kconfig +10 −0
  2565. drivers/extcon/Makefile +1 −0
  2566. drivers/extcon/extcon-arizona.c +53 −20
  2567. drivers/extcon/extcon-gpio.c +27 −5
  2568. drivers/extcon/extcon-max14577.c +752 −0
  2569. drivers/extcon/extcon-palmas.c +14 −3
  2570. drivers/firewire/core-transaction.c +3 −3
  2571. drivers/firewire/core.h +3 −0
  2572. drivers/firewire/ohci.c +16 −11
  2573. drivers/firmware/Kconfig +4 −1
  2574. drivers/firmware/dmi-sysfs.c +2 −1
  2575. drivers/firmware/dmi_scan.c +10 −10
  2576. drivers/firmware/google/Kconfig +1 −2
  2577. drivers/firmware/memmap.c +1 −1
  2578. drivers/gpio/Kconfig +47 −5
  2579. drivers/gpio/Makefile +5 −1
  2580. drivers/gpio/gpio-74x164.c +18 −41
  2581. drivers/gpio/gpio-adnp.c +24 −1
  2582. drivers/gpio/gpio-adp5520.c +1 −1
  2583. drivers/gpio/gpio-adp5588.c +1 −1
  2584. drivers/gpio/gpio-amd8111.c +1 −1
  2585. drivers/gpio/gpio-arizona.c +1 −1
  2586. drivers/gpio/gpio-bcm-kona.c +22 −0
  2587. drivers/gpio/gpio-bt8xx.c +2 −2
  2588. drivers/gpio/gpio-clps711x.c +2 −2
  2589. drivers/gpio/gpio-da9052.c +1 −1
  2590. drivers/gpio/gpio-da9055.c +1 −1
  2591. drivers/gpio/gpio-davinci.c +127 −58
  2592. drivers/gpio/gpio-em.c +25 −3
  2593. drivers/gpio/gpio-f7188x.c +1 −0
  2594. drivers/gpio/gpio-ich.c +1 −1
  2595. drivers/gpio/gpio-intel-mid.c +26 −4
  2596. drivers/gpio/gpio-kempld.c +1 −1
  2597. drivers/gpio/gpio-ks8695.c +1 −1
  2598. drivers/gpio/gpio-lp3943.c +242 −0
  2599. drivers/gpio/gpio-lpc32xx.c +7 −7
  2600. drivers/gpio/gpio-lynxpoint.c +36 −3
  2601. drivers/gpio/gpio-max730x.c +1 −4
  2602. drivers/gpio/gpio-max732x.c +1 −1
  2603. drivers/gpio/gpio-mc33880.c +1 −1
  2604. drivers/gpio/gpio-mc9s08dz60.c +1 −1
  2605. drivers/gpio/gpio-mcp23s08.c +245 −7
  2606. drivers/gpio/gpio-ml-ioh.c +2 −2
  2607. drivers/gpio/gpio-moxart.c +156 −0
  2608. drivers/gpio/gpio-msic.c +4 −5
  2609. drivers/gpio/gpio-msm-v2.c +2 −1
  2610. drivers/gpio/gpio-mvebu.c +2 −2
  2611. drivers/gpio/gpio-mxc.c +1 −1
  2612. drivers/gpio/gpio-octeon.c +1 −1
  2613. drivers/gpio/gpio-omap.c +94 −94
  2614. drivers/gpio/gpio-palmas.c +1 −1
  2615. drivers/gpio/gpio-pca953x.c +1 −1
  2616. drivers/gpio/gpio-pcf857x.c +1 −1
  2617. drivers/gpio/gpio-pch.c +2 −2
  2618. drivers/gpio/gpio-pxa.c +2 −1
  2619. drivers/gpio/gpio-rc5t583.c +1 −1
  2620. drivers/gpio/gpio-rcar.c +45 −16
  2621. drivers/gpio/gpio-samsung.c +7 −4
  2622. drivers/gpio/gpio-sch311x.c +432 −0
  2623. drivers/gpio/gpio-sodaville.c +7 −3
  2624. drivers/gpio/gpio-sta2x11.c +1 −1
  2625. drivers/gpio/gpio-stmpe.c +1 −1
  2626. drivers/gpio/gpio-sx150x.c +1 −1
  2627. drivers/gpio/gpio-tb10x.c +2 −2
  2628. drivers/gpio/gpio-tc3589x.c +1 −1
  2629. drivers/gpio/gpio-tegra.c +6 −1
  2630. drivers/gpio/gpio-timberdale.c +3 −3
  2631. drivers/gpio/gpio-tnetv107x.c +1 −1
  2632. drivers/gpio/gpio-tps6586x.c +1 −1
  2633. drivers/gpio/gpio-tps65910.c +1 −1
  2634. drivers/gpio/gpio-tps65912.c +1 −1
  2635. drivers/gpio/gpio-twl4030.c +1 −1
  2636. drivers/gpio/gpio-twl6040.c +1 −1
  2637. drivers/gpio/gpio-ucb1400.c +1 −1
  2638. drivers/gpio/gpio-viperboard.c +2 −2
  2639. drivers/gpio/gpio-vx855.c +1 −1
  2640. drivers/gpio/gpio-wm831x.c +1 −1
  2641. drivers/gpio/gpio-wm8350.c +1 −1
  2642. drivers/gpio/gpio-wm8994.c +1 −1
  2643. drivers/gpio/gpio-xtensa.c +163 −0
  2644. drivers/gpio/gpiolib-acpi.c +16 −7
  2645. drivers/gpio/gpiolib.c +139 −116
  2646. drivers/gpio/gpiolib.h +46 −0
  2647. drivers/gpu/drm/Kconfig +8 −0
  2648. drivers/gpu/drm/Makefile +4 −0
  2649. drivers/gpu/drm/armada/Kconfig +1 −0
  2650. drivers/gpu/drm/armada/armada_drv.c +2 −1
  2651. drivers/gpu/drm/ast/ast_fb.c +1 −1
  2652. drivers/gpu/drm/ast/ast_main.c +1 −48
  2653. drivers/gpu/drm/ast/ast_mode.c +10 −10
  2654. drivers/gpu/drm/ast/ast_ttm.c +3 −3
  2655. drivers/gpu/drm/bochs/Kconfig +11 −0
  2656. drivers/gpu/drm/bochs/Makefile +4 −0
  2657. drivers/gpu/drm/bochs/bochs.h +164 −0
  2658. drivers/gpu/drm/bochs/bochs_drv.c +178 −0
  2659. drivers/gpu/drm/bochs/bochs_fbdev.c +215 −0
  2660. drivers/gpu/drm/bochs/bochs_hw.c +177 −0
  2661. drivers/gpu/drm/bochs/bochs_kms.c +294 −0
  2662. drivers/gpu/drm/bochs/bochs_mm.c +546 −0
  2663. drivers/gpu/drm/cirrus/cirrus_drv.h +1 −1
  2664. drivers/gpu/drm/cirrus/cirrus_fbdev.c +4 −1
  2665. drivers/gpu/drm/cirrus/cirrus_main.c +1 −1
  2666. drivers/gpu/drm/cirrus/cirrus_mode.c +6 −6
  2667. drivers/gpu/drm/cirrus/cirrus_ttm.c +3 −23
  2668. drivers/gpu/drm/drm_agpsupport.c +10 −25
  2669. drivers/gpu/drm/drm_buffer.c +1 −1
  2670. drivers/gpu/drm/drm_bufs.c +2 −8
  2671. drivers/gpu/drm/drm_crtc.c +23 −2
  2672. drivers/gpu/drm/drm_crtc_helper.c +1 −30
  2673. drivers/gpu/drm/drm_drv.c +0 −4
  2674. drivers/gpu/drm/drm_edid.c +176 −113
  2675. drivers/gpu/drm/drm_edid_load.c +2 −2
  2676. drivers/gpu/drm/drm_fb_helper.c +6 −0
  2677. drivers/gpu/drm/drm_fops.c +1 −10
  2678. drivers/gpu/drm/drm_gem.c +14 −31
  2679. drivers/gpu/drm/drm_info.c +10 −6
  2680. drivers/gpu/drm/drm_irq.c +47 −72
  2681. drivers/gpu/drm/drm_memory.c +6 −9
  2682. drivers/gpu/drm/drm_mipi_dsi.c +315 −0
  2683. drivers/gpu/drm/drm_panel.c +100 −0
  2684. drivers/gpu/drm/drm_pci.c +21 −17
  2685. drivers/gpu/drm/drm_platform.c +0 −12
  2686. drivers/gpu/drm/drm_stub.c +12 −19
  2687. drivers/gpu/drm/drm_usb.c +1 −1
  2688. drivers/gpu/drm/drm_vm.c +2 −8
  2689. drivers/gpu/drm/exynos/exynos_drm_crtc.c +2 −2
  2690. drivers/gpu/drm/exynos/exynos_drm_drv.c +24 −1
  2691. drivers/gpu/drm/exynos/exynos_drm_drv.h +1 −0
  2692. drivers/gpu/drm/exynos/exynos_drm_fimc.c +1 −1
  2693. drivers/gpu/drm/exynos/exynos_drm_fimd.c +3 −3
  2694. drivers/gpu/drm/exynos/exynos_drm_g2d.c +1 −1
  2695. drivers/gpu/drm/exynos/exynos_drm_gem.c +14 −62
  2696. drivers/gpu/drm/exynos/exynos_drm_gem.h +4 −1
  2697. drivers/gpu/drm/exynos/exynos_drm_gsc.c +2 −2
  2698. drivers/gpu/drm/exynos/exynos_drm_ipp.c +1 −1
  2699. drivers/gpu/drm/exynos/exynos_drm_ipp.h +2 −2
  2700. drivers/gpu/drm/exynos/exynos_mixer.c +3 −3
  2701. drivers/gpu/drm/gma500/accel_2d.c +1 −1
  2702. drivers/gpu/drm/gma500/backlight.c +2 −2
  2703. drivers/gpu/drm/gma500/cdv_intel_dp.c +20 −19
  2704. drivers/gpu/drm/gma500/gma_display.c +10 −2
  2705. drivers/gpu/drm/gma500/opregion.c +0 −1
  2706. drivers/gpu/drm/gma500/psb_drv.h +4 −4
  2707. drivers/gpu/drm/gma500/psb_intel_drv.h +0 −5
  2708. drivers/gpu/drm/gma500/psb_irq.c +2 −17
  2709. drivers/gpu/drm/gma500/psb_irq.h +1 −1
  2710. drivers/gpu/drm/i810/i810_dma.c +4 −0
  2711. drivers/gpu/drm/i810/i810_drv.c +1 −1
  2712. drivers/gpu/drm/i915/Kconfig +24 −8
  2713. drivers/gpu/drm/i915/Makefile +3 −3
  2714. drivers/gpu/drm/i915/dvo_ns2501.c +4 −69
  2715. drivers/gpu/drm/i915/i915_debugfs.c +229 −59
  2716. drivers/gpu/drm/i915/i915_dma.c +31 −22
  2717. drivers/gpu/drm/i915/i915_drv.c +77 −29
  2718. drivers/gpu/drm/i915/i915_drv.h +115 −52
  2719. drivers/gpu/drm/i915/i915_gem.c +88 −35
  2720. drivers/gpu/drm/i915/i915_gem_context.c +20 −25
  2721. drivers/gpu/drm/i915/i915_gem_evict.c +20 −7
  2722. drivers/gpu/drm/i915/i915_gem_execbuffer.c +43 −26
  2723. drivers/gpu/drm/i915/i915_gem_gtt.c +39 −21
  2724. drivers/gpu/drm/i915/i915_gem_stolen.c +2 −1
  2725. drivers/gpu/drm/i915/i915_gpu_error.c +21 −13
  2726. drivers/gpu/drm/i915/i915_irq.c +85 −76
  2727. drivers/gpu/drm/i915/i915_reg.h +162 −173
  2728. drivers/gpu/drm/i915/i915_suspend.c +2 −47
  2729. drivers/gpu/drm/i915/i915_sysfs.c +29 −20
  2730. drivers/gpu/drm/i915/i915_ums.c +27 −0
  2731. drivers/gpu/drm/i915/intel_acpi.c +30 −116
  2732. drivers/gpu/drm/i915/intel_bios.c +33 −4
  2733. drivers/gpu/drm/i915/intel_bios.h +40 −24
  2734. drivers/gpu/drm/i915/intel_crt.c +3 −2
  2735. drivers/gpu/drm/i915/intel_ddi.c +112 −36
  2736. drivers/gpu/drm/i915/intel_display.c +431 −161
  2737. drivers/gpu/drm/i915/intel_dp.c +88 −76
  2738. drivers/gpu/drm/i915/intel_drv.h +36 −11
  2739. drivers/gpu/drm/i915/intel_dsi.c +105 −88
  2740. drivers/gpu/drm/i915/intel_dsi.h +21 −0
  2741. drivers/gpu/drm/i915/intel_dsi_pll.c +51 −68
  2742. drivers/gpu/drm/i915/intel_dvo.c +3 −2
  2743. drivers/gpu/drm/i915/intel_fbdev.c +47 −18
  2744. drivers/gpu/drm/i915/intel_hdmi.c +39 −48
  2745. drivers/gpu/drm/i915/intel_i2c.c +3 −12
  2746. drivers/gpu/drm/i915/intel_lvds.c +32 −58
  2747. drivers/gpu/drm/i915/intel_opregion.c +12 −36
  2748. drivers/gpu/drm/i915/intel_overlay.c +1 −1
  2749. drivers/gpu/drm/i915/intel_panel.c +652 −306
  2750. drivers/gpu/drm/i915/intel_pm.c +619 −1052
  2751. drivers/gpu/drm/i915/intel_ringbuffer.c +28 −26
  2752. drivers/gpu/drm/i915/intel_sdvo.c +41 −21
  2753. drivers/gpu/drm/i915/intel_sdvo_regs.h +20 −20
  2754. drivers/gpu/drm/i915/intel_sideband.c +32 −11
  2755. drivers/gpu/drm/i915/intel_sprite.c +50 −36
  2756. drivers/gpu/drm/i915/intel_uncore.c +253 −66
  2757. drivers/gpu/drm/mga/mga_dma.c +2 −2
  2758. drivers/gpu/drm/mga/mga_drv.h +2 −2
  2759. drivers/gpu/drm/mga/mga_ioc32.c +1 −0
  2760. drivers/gpu/drm/mga/mga_irq.c +4 −4
  2761. drivers/gpu/drm/mga/mga_state.c +1 −1
  2762. drivers/gpu/drm/mgag200/mgag200_cursor.c +5 −3
  2763. drivers/gpu/drm/mgag200/mgag200_fb.c +7 −2
  2764. drivers/gpu/drm/mgag200/mgag200_main.c +5 −2
  2765. drivers/gpu/drm/mgag200/mgag200_mode.c +3 −3
  2766. drivers/gpu/drm/mgag200/mgag200_ttm.c +3 −3
  2767. drivers/gpu/drm/msm/Kconfig +2 −2
  2768. drivers/gpu/drm/msm/Makefile +15 −6
  2769. drivers/gpu/drm/msm/NOTES +19 −1
  2770. drivers/gpu/drm/msm/adreno/a2xx.xml.h +105 −20
  2771. drivers/gpu/drm/msm/adreno/a3xx.xml.h +80 −36
  2772. drivers/gpu/drm/msm/adreno/a3xx_gpu.c +167 −23
  2773. drivers/gpu/drm/msm/adreno/a3xx_gpu.h +4 −0
  2774. drivers/gpu/drm/msm/adreno/adreno_common.xml.h +75 −96
  2775. drivers/gpu/drm/msm/adreno/adreno_gpu.c +18 −7
  2776. drivers/gpu/drm/msm/adreno/adreno_gpu.h +9 −0
  2777. drivers/gpu/drm/msm/adreno/adreno_pm4.xml.h +21 −9
  2778. drivers/gpu/drm/msm/dsi/dsi.xml.h +5 −3
  2779. drivers/gpu/drm/msm/dsi/mmss_cc.xml.h +5 −3
  2780. drivers/gpu/drm/msm/dsi/sfpb.xml.h +5 −3
  2781. drivers/gpu/drm/msm/hdmi/hdmi.c +151 −50
  2782. drivers/gpu/drm/msm/hdmi/hdmi.h +31 −7
  2783. drivers/gpu/drm/msm/hdmi/hdmi.xml.h +75 −8
  2784. drivers/gpu/drm/msm/hdmi/hdmi_bridge.c +71 −0
  2785. drivers/gpu/drm/msm/hdmi/hdmi_connector.c +93 −46
  2786. drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c +157 −0
  2787. drivers/gpu/drm/msm/hdmi/qfprom.xml.h +5 −3
  2788. drivers/gpu/drm/msm/mdp/mdp4/mdp4.xml.h +30 −58
  2789. drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c +13 −13
  2790. drivers/gpu/drm/msm/mdp/mdp4/mdp4_dtv_encoder.c +2 −4
  2791. drivers/gpu/drm/msm/mdp/mdp4/mdp4_irq.c +93 −0
  2792. drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c +39 −22
  2793. drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h +15 −41
  2794. drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c +3 −3
  2795. drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h +1036 −0
  2796. drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c +569 −0
  2797. drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c +258 −0
  2798. drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c +111 −0
  2799. drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c +350 −0
  2800. drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h +213 −0
  2801. drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c +389 −0
  2802. drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.c +173 −0
  2803. drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.h +41 −0
  2804. drivers/gpu/drm/msm/mdp/mdp_common.xml.h +78 −0
  2805. drivers/gpu/drm/msm/mdp/mdp_format.c +6 −7
  2806. drivers/gpu/drm/msm/mdp/mdp_kms.c +144 −0
  2807. drivers/gpu/drm/msm/mdp/mdp_kms.h +97 −0
  2808. drivers/gpu/drm/msm/mdp4/mdp4_irq.c +0 −203
  2809. drivers/gpu/drm/msm/msm_drv.c +93 −39
  2810. drivers/gpu/drm/msm/msm_drv.h +27 −37
  2811. drivers/gpu/drm/msm/msm_fb.c +1 −0
  2812. drivers/gpu/drm/msm/msm_gem.c +89 −81
  2813. drivers/gpu/drm/msm/msm_gem.h +5 −0
  2814. drivers/gpu/drm/msm/msm_gpu.c +16 −23
  2815. drivers/gpu/drm/msm/msm_gpu.h +5 −1
  2816. drivers/gpu/drm/msm/msm_iommu.c +148 −0
  2817. drivers/gpu/drm/msm/msm_kms.h +68 −0
  2818. drivers/gpu/drm/msm/msm_mmu.h +47 −0
  2819. drivers/gpu/drm/nouveau/Makefile +7 −0
  2820. drivers/gpu/drm/nouveau/core/core/engine.c +18 −5
  2821. drivers/gpu/drm/nouveau/core/engine/copy/nvc0.c +0 −6
  2822. drivers/gpu/drm/nouveau/core/engine/copy/nve0.c +0 −6
  2823. drivers/gpu/drm/nouveau/core/engine/device/nv04.c +4 −4
  2824. drivers/gpu/drm/nouveau/core/engine/device/nv10.c +16 −16
  2825. drivers/gpu/drm/nouveau/core/engine/device/nv20.c +8 −8
  2826. drivers/gpu/drm/nouveau/core/engine/device/nv30.c +10 −10
  2827. drivers/gpu/drm/nouveau/core/engine/device/nv40.c +32 −32
  2828. drivers/gpu/drm/nouveau/core/engine/device/nv50.c +28 −28
  2829. drivers/gpu/drm/nouveau/core/engine/device/nvc0.c +18 −18
  2830. drivers/gpu/drm/nouveau/core/engine/device/nve0.c +13 −15
  2831. drivers/gpu/drm/nouveau/core/engine/disp/nv04.c +37 −1
  2832. drivers/gpu/drm/nouveau/core/engine/disp/nv50.c +30 −0
  2833. drivers/gpu/drm/nouveau/core/engine/disp/nv50.h +5 −2
  2834. drivers/gpu/drm/nouveau/core/engine/disp/nv84.c +1 −0
  2835. drivers/gpu/drm/nouveau/core/engine/disp/nv94.c +1 −0
  2836. drivers/gpu/drm/nouveau/core/engine/disp/nva3.c +2 −1
  2837. drivers/gpu/drm/nouveau/core/engine/disp/nvd0.c +46 −4
  2838. drivers/gpu/drm/nouveau/core/engine/disp/nve0.c +1 −4
  2839. drivers/gpu/drm/nouveau/core/engine/disp/nvf0.c +1 −4
  2840. drivers/gpu/drm/nouveau/core/engine/disp/vga.c +7 −2
  2841. drivers/gpu/drm/nouveau/core/engine/falcon.c +15 −5
  2842. drivers/gpu/drm/nouveau/core/engine/fifo/nv108.c +37 −0
  2843. drivers/gpu/drm/nouveau/core/engine/fifo/nvc0.c +1 −0
  2844. drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c +310 −104
  2845. drivers/gpu/drm/nouveau/core/engine/fifo/nve0.h +17 −0
  2846. drivers/gpu/drm/nouveau/core/engine/graph/ctxnv108.c +1408 −0
  2847. drivers/gpu/drm/nouveau/core/engine/graph/ctxnvf0.c +3 −4
  2848. drivers/gpu/drm/nouveau/core/engine/graph/fuc/com.fuc +49 −89
  2849. drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpc.fuc +53 −84
  2850. drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnv108.fuc5 +42 −0
  2851. drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnv108.fuc5.h +473 −0
  2852. drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc.h +383 −321
  2853. drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvd7.fuc.h +414 −352
  2854. drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc.h +414 −352
  2855. drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvf0.fuc.h +414 −352
  2856. drivers/gpu/drm/nouveau/core/engine/graph/fuc/hub.fuc +171 −211
  2857. drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5 +40 −0
  2858. drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5.h +916 −0
  2859. drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h +650 −588
  2860. drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc.h +650 −588
  2861. drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h +632 −570
  2862. drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc.h +632 −570
  2863. drivers/gpu/drm/nouveau/core/engine/graph/fuc/macros.fuc +137 −4
  2864. drivers/gpu/drm/nouveau/core/engine/graph/nv108.c +236 −0
  2865. drivers/gpu/drm/nouveau/core/engine/graph/nv50.c +100 −66
  2866. drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c +3 −0
  2867. drivers/gpu/drm/nouveau/core/engine/graph/nvc0.h +10 −0
  2868. drivers/gpu/drm/nouveau/core/engine/graph/nvf0.c +5 −5
  2869. drivers/gpu/drm/nouveau/core/include/core/class.h +22 −0
  2870. drivers/gpu/drm/nouveau/core/include/core/device.h +3 −1
  2871. drivers/gpu/drm/nouveau/core/include/engine/fifo.h +1 −0
  2872. drivers/gpu/drm/nouveau/core/include/engine/graph.h +1 −0
  2873. drivers/gpu/drm/nouveau/core/include/subdev/bar.h +1 −22
  2874. drivers/gpu/drm/nouveau/core/include/subdev/bios/ramcfg.h +66 −0
  2875. drivers/gpu/drm/nouveau/core/include/subdev/bios/rammap.h +20 −6
  2876. drivers/gpu/drm/nouveau/core/include/subdev/bios/timing.h +9 −3
  2877. drivers/gpu/drm/nouveau/core/include/subdev/devinit.h +11 −28
  2878. drivers/gpu/drm/nouveau/core/include/subdev/fb.h +13 −0
  2879. drivers/gpu/drm/nouveau/core/include/subdev/instmem.h +3 −31
  2880. drivers/gpu/drm/nouveau/core/include/subdev/vm.h +0 −4
  2881. drivers/gpu/drm/nouveau/core/subdev/bar/base.c +5 −1
  2882. drivers/gpu/drm/nouveau/core/subdev/bar/nv50.c +2 −1
  2883. drivers/gpu/drm/nouveau/core/subdev/bar/nvc0.c +2 −1
  2884. drivers/gpu/drm/nouveau/core/subdev/bar/priv.h +26 −0
  2885. drivers/gpu/drm/nouveau/core/subdev/bios/init.c +5 −43
  2886. drivers/gpu/drm/nouveau/core/subdev/bios/ramcfg.c +67 −0
  2887. drivers/gpu/drm/nouveau/core/subdev/bios/rammap.c +96 −11
  2888. drivers/gpu/drm/nouveau/core/subdev/bios/timing.c +62 −8
  2889. drivers/gpu/drm/nouveau/core/subdev/clock/base.c +6 −3
  2890. drivers/gpu/drm/nouveau/core/subdev/clock/nv04.c +1 −1
  2891. drivers/gpu/drm/nouveau/core/subdev/clock/nve0.c +1 −1
  2892. drivers/gpu/drm/nouveau/core/subdev/devinit/base.c +31 −3
  2893. drivers/gpu/drm/nouveau/core/subdev/devinit/nv04.c +17 −19
  2894. drivers/gpu/drm/nouveau/core/subdev/devinit/nv04.h +23 −0
  2895. drivers/gpu/drm/nouveau/core/subdev/devinit/nv05.c +10 −31
  2896. drivers/gpu/drm/nouveau/core/subdev/devinit/nv10.c +10 −31
  2897. drivers/gpu/drm/nouveau/core/subdev/devinit/nv1a.c +8 −29
  2898. drivers/gpu/drm/nouveau/core/subdev/devinit/nv20.c +10 −31
  2899. drivers/gpu/drm/nouveau/core/subdev/devinit/nv50.c +23 −9
  2900. drivers/gpu/drm/nouveau/core/subdev/devinit/nv50.h +18 −0
  2901. drivers/gpu/drm/nouveau/core/subdev/devinit/nv84.c +63 −0
  2902. drivers/gpu/drm/nouveau/core/subdev/devinit/nv98.c +62 −0
  2903. drivers/gpu/drm/nouveau/core/subdev/devinit/nva3.c +29 −21
  2904. drivers/gpu/drm/nouveau/core/subdev/devinit/nvaf.c +63 −0
  2905. drivers/gpu/drm/nouveau/core/subdev/devinit/nvc0.c +36 −8
  2906. drivers/gpu/drm/nouveau/core/subdev/devinit/priv.h +25 −13
  2907. drivers/gpu/drm/nouveau/core/subdev/fb/gddr5.c +49 −23
  2908. drivers/gpu/drm/nouveau/core/subdev/fb/nvc0.c +16 −0
  2909. drivers/gpu/drm/nouveau/core/subdev/fb/priv.h +1 −1
  2910. drivers/gpu/drm/nouveau/core/subdev/fb/ramnv50.c +4 −14
  2911. drivers/gpu/drm/nouveau/core/subdev/fb/ramnva3.c +6 −16
  2912. drivers/gpu/drm/nouveau/core/subdev/fb/ramnvc0.c +6 −18
CREDITS+2−2
@@ -823,8 +823,8 @@ S: D-69231 Rauenberg · 822 unmodified lines
823S: Germany823S: Germany
824 824
825N: Jean Delvare825N: Jean Delvare
826E: khali@linux-fr.org826E: jdelvare@suse.de
827W: http://khali.linux-fr.org/827W: http://jdelvare.nerim.net/
828D: Several hardware monitoring drivers828D: Several hardware monitoring drivers
829S: France829S: France
830 830
Documentation/ABI/testing/configfs-usb-gadget+6−6
@@ -1,13 +1,13 @@
1What: /config/usb-gadget1What: /config/usb-gadget
2Date: Jun 20132Date: Jun 2013
3KenelVersion: 3.113KernelVersion: 3.11
4Description:4Description:
5 This group contains sub-groups corresponding to created5 This group contains sub-groups corresponding to created
6 USB gadgets.6 USB gadgets.
7 7
8What: /config/usb-gadget/gadget8What: /config/usb-gadget/gadget
9Date: Jun 20139Date: Jun 2013
10KenelVersion: 3.1110KernelVersion: 3.11
11Description:11Description:
12 12
13 The attributes of a gadget:13 The attributes of a gadget:
@@ -27,7 +27,7 @@ Description: · 13 unmodified lines
27 27
28What: /config/usb-gadget/gadget/configs28What: /config/usb-gadget/gadget/configs
29Date: Jun 201329Date: Jun 2013
30KenelVersion: 3.1130KernelVersion: 3.11
31Description:31Description:
32 This group contains a USB gadget's configurations32 This group contains a USB gadget's configurations
33 33
@@ -58,20 +58,20 @@ Description: · 24 unmodified lines
58 58
59What: /config/usb-gadget/gadget/functions59What: /config/usb-gadget/gadget/functions
60Date: Jun 201360Date: Jun 2013
61KenelVersion: 3.1161KernelVersion: 3.11
62Description:62Description:
63 This group contains functions available to this USB gadget.63 This group contains functions available to this USB gadget.
64 64
65What: /config/usb-gadget/gadget/strings65What: /config/usb-gadget/gadget/strings
66Date: Jun 201366Date: Jun 2013
67KenelVersion: 3.1167KernelVersion: 3.11
68Description:68Description:
69 This group contains subdirectories for language-specific69 This group contains subdirectories for language-specific
70 strings for this gadget.70 strings for this gadget.
71 71
72What: /config/usb-gadget/gadget/strings/language72What: /config/usb-gadget/gadget/strings/language
73Date: Jun 201373Date: Jun 2013
74KenelVersion: 3.1174KernelVersion: 3.11
75Description:75Description:
76 The attributes:76 The attributes:
77 77
Documentation/ABI/testing/configfs-usb-gadget-acm+1−1
@@ -1,6 +1,6 @@
1What: /config/usb-gadget/gadget/functions/acm.name1What: /config/usb-gadget/gadget/functions/acm.name
2Date: Jun 20132Date: Jun 2013
3KenelVersion: 3.113KernelVersion: 3.11
4Description:4Description:
5 5
6 This item contains just one readonly attribute: port_num.6 This item contains just one readonly attribute: port_num.
Documentation/ABI/testing/configfs-usb-gadget-ecm+1−1
@@ -1,6 +1,6 @@
1What: /config/usb-gadget/gadget/functions/ecm.name1What: /config/usb-gadget/gadget/functions/ecm.name
2Date: Jun 20132Date: Jun 2013
3KenelVersion: 3.113KernelVersion: 3.11
4Description:4Description:
5 The attributes:5 The attributes:
6 6
Documentation/ABI/testing/configfs-usb-gadget-eem+1−1
@@ -1,6 +1,6 @@
1What: /config/usb-gadget/gadget/functions/eem.name1What: /config/usb-gadget/gadget/functions/eem.name
2Date: Jun 20132Date: Jun 2013
3KenelVersion: 3.113KernelVersion: 3.11
4Description:4Description:
5 The attributes:5 The attributes:
6 6
Documentation/ABI/testing/configfs-usb-gadget-ffs+9−0
@@ -0,0 +1,9 @@
1What: /config/usb-gadget/gadget/functions/ffs.name
2Date: Nov 2013
3KernelVersion: 3.13
4Description: The purpose of this directory is to create and remove it.
5
6 A corresponding USB function instance is created/removed.
7 There are no attributes here.
8
9 All parameters are set through FunctionFS.
Documentation/ABI/testing/configfs-usb-gadget-loopback+8−0
@@ -0,0 +1,8 @@
1What: /config/usb-gadget/gadget/functions/Loopback.name
2Date: Nov 2013
3KernelVersion: 3.13
4Description:
5 The attributes:
6
7 qlen - depth of loopback queue
8 bulk_buflen - buffer length
Documentation/ABI/testing/configfs-usb-gadget-mass-storage+2−2
@@ -1,6 +1,6 @@
1What: /config/usb-gadget/gadget/functions/mass_storage.name1What: /config/usb-gadget/gadget/functions/mass_storage.name
2Date: Oct 20132Date: Oct 2013
3KenelVersion: 3.133KernelVersion: 3.13
4Description:4Description:
5 The attributes:5 The attributes:
6 6
@@ -13,7 +13,7 @@ Description: · 6 unmodified lines
13 13
14What: /config/usb-gadget/gadget/functions/mass_storage.name/lun.name14What: /config/usb-gadget/gadget/functions/mass_storage.name/lun.name
15Date: Oct 201315Date: Oct 2013
16KenelVersion: 3.1316KernelVersion: 3.13
17Description:17Description:
18 The attributes:18 The attributes:
19 19
Documentation/ABI/testing/configfs-usb-gadget-ncm+1−1
@@ -1,6 +1,6 @@
1What: /config/usb-gadget/gadget/functions/ncm.name1What: /config/usb-gadget/gadget/functions/ncm.name
2Date: Jun 20132Date: Jun 2013
3KenelVersion: 3.113KernelVersion: 3.11
4Description:4Description:
5 The attributes:5 The attributes:
6 6
Documentation/ABI/testing/configfs-usb-gadget-obex+1−1
@@ -1,6 +1,6 @@
1What: /config/usb-gadget/gadget/functions/obex.name1What: /config/usb-gadget/gadget/functions/obex.name
2Date: Jun 20132Date: Jun 2013
3KenelVersion: 3.113KernelVersion: 3.11
4Description:4Description:
5 5
6 This item contains just one readonly attribute: port_num.6 This item contains just one readonly attribute: port_num.
Documentation/ABI/testing/configfs-usb-gadget-phonet+1−1
@@ -1,6 +1,6 @@
1What: /config/usb-gadget/gadget/functions/phonet.name1What: /config/usb-gadget/gadget/functions/phonet.name
2Date: Jun 20132Date: Jun 2013
3KenelVersion: 3.113KernelVersion: 3.11
4Description:4Description:
5 5
6 This item contains just one readonly attribute: ifname.6 This item contains just one readonly attribute: ifname.
Documentation/ABI/testing/configfs-usb-gadget-rndis+1−1
@@ -1,6 +1,6 @@
1What: /config/usb-gadget/gadget/functions/rndis.name1What: /config/usb-gadget/gadget/functions/rndis.name
2Date: Jun 20132Date: Jun 2013
3KenelVersion: 3.113KernelVersion: 3.11
4Description:4Description:
5 The attributes:5 The attributes:
6 6
Documentation/ABI/testing/configfs-usb-gadget-serial+1−1
@@ -1,6 +1,6 @@
1What: /config/usb-gadget/gadget/functions/gser.name1What: /config/usb-gadget/gadget/functions/gser.name
2Date: Jun 20132Date: Jun 2013
3KenelVersion: 3.113KernelVersion: 3.11
4Description:4Description:
5 5
6 This item contains just one readonly attribute: port_num.6 This item contains just one readonly attribute: port_num.
Documentation/ABI/testing/configfs-usb-gadget-sourcesink+12−0
@@ -0,0 +1,12 @@
1What: /config/usb-gadget/gadget/functions/SourceSink.name
2Date: Nov 2013
3KernelVersion: 3.13
4Description:
5 The attributes:
6
7 pattern - 0 (all zeros), 1 (mod63), 2 (none)
8 isoc_interval - 1..16
9 isoc_maxpacket - 0 - 1023 (fs), 0 - 1024 (hs/ss)
10 isoc_mult - 0..2 (hs/ss only)
11 isoc_maxburst - 0..15 (ss only)
12 qlen - buffer length
Documentation/ABI/testing/configfs-usb-gadget-subset+1−1
@@ -1,6 +1,6 @@
1What: /config/usb-gadget/gadget/functions/geth.name1What: /config/usb-gadget/gadget/functions/geth.name
2Date: Jun 20132Date: Jun 2013
3KenelVersion: 3.113KernelVersion: 3.11
4Description:4Description:
5 The attributes:5 The attributes:
6 6
Documentation/ABI/testing/debugfs-driver-genwqe+91−0
@@ -0,0 +1,91 @@
1What: /sys/kernel/debug/genwqe/genwqe<n>_card/ddcb_info
2Date: Oct 2013
3Contact: haver@linux.vnet.ibm.com
4Description: DDCB queue dump used for debugging queueing problems.
5
6What: /sys/kernel/debug/genwqe/genwqe<n>_card/curr_regs
7Date: Oct 2013
8Contact: haver@linux.vnet.ibm.com
9Description: Dump of the current error registers.
10 Only available for PF.
11
12What: /sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid0
13Date: Oct 2013
14Contact: haver@linux.vnet.ibm.com
15Description: Internal chip state of UID0 (unit id 0).
16 Only available for PF.
17
18What: /sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid1
19Date: Oct 2013
20Contact: haver@linux.vnet.ibm.com
21Description: Internal chip state of UID1.
22 Only available for PF.
23
24What: /sys/kernel/debug/genwqe/genwqe<n>_card/curr_dbg_uid2
25Date: Oct 2013
26Contact: haver@linux.vnet.ibm.com
27Description: Internal chip state of UID2.
28 Only available for PF.
29
30What: /sys/kernel/debug/genwqe/genwqe<n>_card/prev_regs
31Date: Oct 2013
32Contact: haver@linux.vnet.ibm.com
33Description: Dump of the error registers before the last reset of
34 the card occured.
35 Only available for PF.
36
37What: /sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid0
38Date: Oct 2013
39Contact: haver@linux.vnet.ibm.com
40Description: Internal chip state of UID0 before card was reset.
41 Only available for PF.
42
43What: /sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid1
44Date: Oct 2013
45Contact: haver@linux.vnet.ibm.com
46Description: Internal chip state of UID1 before card was reset.
47 Only available for PF.
48
49What: /sys/kernel/debug/genwqe/genwqe<n>_card/prev_dbg_uid2
50Date: Oct 2013
51Contact: haver@linux.vnet.ibm.com
52Description: Internal chip state of UID2 before card was reset.
53 Only available for PF.
54
55What: /sys/kernel/debug/genwqe/genwqe<n>_card/info
56Date: Oct 2013
57Contact: haver@linux.vnet.ibm.com
58Description: Comprehensive summary of bitstream version and software
59 version. Used bitstream and bitstream clocking information.
60
61What: /sys/kernel/debug/genwqe/genwqe<n>_card/err_inject
62Date: Oct 2013
63Contact: haver@linux.vnet.ibm.com
64Description: Possibility to inject error cases to ensure that the drivers
65 error handling code works well.
66
67What: /sys/kernel/debug/genwqe/genwqe<n>_card/vf<0..14>_jobtimeout_msec
68Date: Oct 2013
69Contact: haver@linux.vnet.ibm.com
70Description: Default VF timeout 250ms. Testing might require 1000ms.
71 Using 0 will use the cards default value (whatever that is).
72
73 The timeout depends on the max number of available cards
74 in the system and the maximum allowed queue size.
75
76 The driver ensures that the settings are done just before
77 the VFs get enabled. Changing the timeouts in flight is not
78 possible.
79 Only available for PF.
80
81What: /sys/kernel/debug/genwqe/genwqe<n>_card/jobtimer
82Date: Oct 2013
83Contact: haver@linux.vnet.ibm.com
84Description: Dump job timeout register values for PF and VFs.
85 Only available for PF.
86
87What: /sys/kernel/debug/genwqe/genwqe<n>_card/queue_working_time
88Date: Dec 2013
89Contact: haver@linux.vnet.ibm.com
90Description: Dump queue working time register values for PF and VFs.
91 Only available for PF.
Documentation/ABI/testing/sysfs-bus-iio+13−0
@@ -197,6 +197,19 @@ Description: · 196 unmodified lines
197 Raw pressure measurement from channel Y. Units after197 Raw pressure measurement from channel Y. Units after
198 application of scale and offset are kilopascal.198 application of scale and offset are kilopascal.
199 199
200What: /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_raw
201KernelVersion: 3.14
202Contact: linux-iio@vger.kernel.org
203Description:
204 Raw humidity measurement of air. Units after application of
205 scale and offset are milli percent.
206
207What: /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_input
208KernelVersion: 3.14
209Contact: linux-iio@vger.kernel.org
210Description:
211 Scaled humidity measurement in milli percent.
212
200What: /sys/bus/iio/devices/iio:deviceX/in_accel_offset213What: /sys/bus/iio/devices/iio:deviceX/in_accel_offset
201What: /sys/bus/iio/devices/iio:deviceX/in_accel_x_offset214What: /sys/bus/iio/devices/iio:deviceX/in_accel_x_offset
202What: /sys/bus/iio/devices/iio:deviceX/in_accel_y_offset215What: /sys/bus/iio/devices/iio:deviceX/in_accel_y_offset
Documentation/ABI/testing/sysfs-bus-pci+4−7
@@ -70,18 +70,15 @@ Date: September, 2011 · 69 unmodified lines
70Contact: Neil Horman <nhorman@tuxdriver.com>70Contact: Neil Horman <nhorman@tuxdriver.com>
71Description:71Description:
72 The /sys/devices/.../msi_irqs directory contains a variable set72 The /sys/devices/.../msi_irqs directory contains a variable set
73 of sub-directories, with each sub-directory being named after a73 of files, with each file being named after a corresponding msi
74 corresponding msi irq vector allocated to that device. Each74 irq vector allocated to that device.
75 numbered sub-directory N contains attributes of that irq.
76 Note that this directory is not created for device drivers which
77 do not support msi irqs
78 75
79What: /sys/bus/pci/devices/.../msi_irqs/<N>/mode76What: /sys/bus/pci/devices/.../msi_irqs/<N>
80Date: September 201177Date: September 2011
81Contact: Neil Horman <nhorman@tuxdriver.com>78Contact: Neil Horman <nhorman@tuxdriver.com>
82Description:79Description:
83 This attribute indicates the mode that the irq vector named by80 This attribute indicates the mode that the irq vector named by
84 the parent directory is in (msi vs. msix)81 the file is in (msi vs. msix)
85 82
86What: /sys/bus/pci/devices/.../remove83What: /sys/bus/pci/devices/.../remove
87Date: January 200984Date: January 2009
Documentation/ABI/testing/sysfs-bus-rbd+26−0
@@ -18,6 +18,28 @@ Removal of a device: · 17 unmodified lines
18 18
19 $ echo <dev-id> > /sys/bus/rbd/remove19 $ echo <dev-id> > /sys/bus/rbd/remove
20 20
21What: /sys/bus/rbd/add_single_major
22Date: December 2013
23KernelVersion: 3.14
24Contact: Sage Weil <sage@inktank.com>
25Description: Available only if rbd module is inserted with single_major
26 parameter set to true.
27 Usage is the same as for /sys/bus/rbd/add. If present,
28 should be used instead of the latter: any attempts to use
29 /sys/bus/rbd/add if /sys/bus/rbd/add_single_major is
30 available will fail for backwards compatibility reasons.
31
32What: /sys/bus/rbd/remove_single_major
33Date: December 2013
34KernelVersion: 3.14
35Contact: Sage Weil <sage@inktank.com>
36Description: Available only if rbd module is inserted with single_major
37 parameter set to true.
38 Usage is the same as for /sys/bus/rbd/remove. If present,
39 should be used instead of the latter: any attempts to use
40 /sys/bus/rbd/remove if /sys/bus/rbd/remove_single_major is
41 available will fail for backwards compatibility reasons.
42
21Entries under /sys/bus/rbd/devices/<dev-id>/43Entries under /sys/bus/rbd/devices/<dev-id>/
22--------------------------------------------44--------------------------------------------
23 45
@@ -33,6 +55,10 @@ major · 9 unmodified lines
33 55
34 The block device major number.56 The block device major number.
35 57
58minor
59
60 The block device minor number. (December 2013, since 3.14.)
61
36name62name
37 63
38 The name of the rbd image.64 The name of the rbd image.
Documentation/ABI/testing/sysfs-bus-usb+8−2
@@ -50,13 +50,19 @@ Description: · 49 unmodified lines
50 This may allow the driver to support more hardware than50 This may allow the driver to support more hardware than
51 was included in the driver's static device ID support51 was included in the driver's static device ID support
52 table at compile time. The format for the device ID is:52 table at compile time. The format for the device ID is:
53 idVendor idProduct bInterfaceClass.53 idVendor idProduct bInterfaceClass RefIdVendor RefIdProduct
54 The vendor ID and device ID fields are required, the54 The vendor ID and device ID fields are required, the
55 interface class is optional.55 rest is optional. The Ref* tuple can be used to tell the
56 driver to use the same driver_data for the new device as
57 it is used for the reference device.
56 Upon successfully adding an ID, the driver will probe58 Upon successfully adding an ID, the driver will probe
57 for the device and attempt to bind to it. For example:59 for the device and attempt to bind to it. For example:
58 # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id60 # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id
59 61
62 Here add a new device (0458:7045) using driver_data from
63 an already supported device (0458:704c):
64 # echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id
65
60 Reading from this file will list all dynamically added66 Reading from this file will list all dynamically added
61 device IDs in the same format, with one entry per67 device IDs in the same format, with one entry per
62 line. For example:68 line. For example:
Documentation/ABI/testing/sysfs-class-net-mesh+8−0
@@ -68,6 +68,14 @@ Description: · 67 unmodified lines
68 Defines the penalty which will be applied to an68 Defines the penalty which will be applied to an
69 originator message's tq-field on every hop.69 originator message's tq-field on every hop.
70 70
71What: /sys/class/net/<mesh_iface>/mesh/isolation_mark
72Date: Nov 2013
73Contact: Antonio Quartulli <antonio@meshcoding.com>
74Description:
75 Defines the isolation mark (and its bitmask) which
76 is used to classify clients as "isolated" by the
77 Extended Isolation feature.
78
71What: /sys/class/net/<mesh_iface>/mesh/network_coding79What: /sys/class/net/<mesh_iface>/mesh/network_coding
72Date: Nov 201280Date: Nov 2012
73Contact: Martin Hundeboll <martin@hundeboll.net>81Contact: Martin Hundeboll <martin@hundeboll.net>
Documentation/ABI/testing/sysfs-devices-system-cpu+24−0
@@ -200,3 +200,27 @@ Description: address and size of the percpu note. · 199 unmodified lines
200 note of cpu#.200 note of cpu#.
201 201
202 crash_notes_size: size of the note of cpu#.202 crash_notes_size: size of the note of cpu#.
203
204
205What: /sys/devices/system/cpu/intel_pstate/max_perf_pct
206 /sys/devices/system/cpu/intel_pstate/min_perf_pct
207 /sys/devices/system/cpu/intel_pstate/no_turbo
208Date: February 2013
209Contact: linux-pm@vger.kernel.org
210Description: Parameters for the Intel P-state driver
211
212 Logic for selecting the current P-state in Intel
213 Sandybridge+ processors. The three knobs control
214 limits for the P-state that will be requested by the
215 driver.
216
217 max_perf_pct: limits the maximum P state that will be requested by
218 the driver stated as a percentage of the available performance.
219
220 min_perf_pct: limits the minimum P state that will be requested by
221 the driver stated as a percentage of the available performance.
222
223 no_turbo: limits the driver to selecting P states below the turbo
224 frequency range.
225
226 More details can be found in Documentation/cpu-freq/intel-pstate.txt
Documentation/ABI/testing/sysfs-driver-genwqe+62−0
@@ -0,0 +1,62 @@
1What: /sys/class/genwqe/genwqe<n>_card/version
2Date: Oct 2013
3Contact: haver@linux.vnet.ibm.com
4Description: Unique bitstream identification e.g.
5 '0000000330336283.00000000475a4950'.
6
7What: /sys/class/genwqe/genwqe<n>_card/appid
8Date: Oct 2013
9Contact: haver@linux.vnet.ibm.com
10Description: Identifies the currently active card application e.g. 'GZIP'
11 for compression/decompression.
12
13What: /sys/class/genwqe/genwqe<n>_card/type
14Date: Oct 2013
15Contact: haver@linux.vnet.ibm.com
16Description: Type of the card e.g. 'GenWQE5-A7'.
17
18What: /sys/class/genwqe/genwqe<n>_card/curr_bitstream
19Date: Oct 2013
20Contact: haver@linux.vnet.ibm.com
21Description: Currently active bitstream. 1 is default, 0 is backup.
22
23What: /sys/class/genwqe/genwqe<n>_card/next_bitstream
24Date: Oct 2013
25Contact: haver@linux.vnet.ibm.com
26Description: Interface to set the next bitstream to be used.
27
28What: /sys/class/genwqe/genwqe<n>_card/tempsens
29Date: Oct 2013
30Contact: haver@linux.vnet.ibm.com
31Description: Interface to read the cards temperature sense register.
32
33What: /sys/class/genwqe/genwqe<n>_card/freerunning_timer
34Date: Oct 2013
35Contact: haver@linux.vnet.ibm.com
36Description: Interface to read the cards free running timer.
37 Used for performance and utilization measurements.
38
39What: /sys/class/genwqe/genwqe<n>_card/queue_working_time
40Date: Oct 2013
41Contact: haver@linux.vnet.ibm.com
42Description: Interface to read queue working time.
43 Used for performance and utilization measurements.
44
45What: /sys/class/genwqe/genwqe<n>_card/state
46Date: Oct 2013
47Contact: haver@linux.vnet.ibm.com
48Description: State of the card: "unused", "used", "error".
49
50What: /sys/class/genwqe/genwqe<n>_card/base_clock
51Date: Oct 2013
52Contact: haver@linux.vnet.ibm.com
53Description: Base clock frequency of the card.
54
55What: /sys/class/genwqe/genwqe<n>_card/device/sriov_numvfs
56Date: Oct 2013
57Contact: haver@linux.vnet.ibm.com
58Description: Enable VFs (1..15):
59 sudo sh -c 'echo 15 > \
60 /sys/bus/pci/devices/0000\:1b\:00.0/sriov_numvfs'
61 Disable VFs:
62 Write a 0 into the same sysfs entry.
Documentation/ABI/testing/sysfs-fs-f2fs+31−0
@@ -24,3 +24,34 @@ Date: July 2013 · 23 unmodified lines
24Contact: "Namjae Jeon" <namjae.jeon@samsung.com>24Contact: "Namjae Jeon" <namjae.jeon@samsung.com>
25Description:25Description:
26 Controls the victim selection policy for garbage collection.26 Controls the victim selection policy for garbage collection.
27
28What: /sys/fs/f2fs/<disk>/reclaim_segments
29Date: October 2013
30Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
31Description:
32 Controls the issue rate of segment discard commands.
33
34What: /sys/fs/f2fs/<disk>/ipu_policy
35Date: November 2013
36Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
37Description:
38 Controls the in-place-update policy.
39
40What: /sys/fs/f2fs/<disk>/min_ipu_util
41Date: November 2013
42Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
43Description:
44 Controls the FS utilization condition for the in-place-update
45 policies.
46
47What: /sys/fs/f2fs/<disk>/max_small_discards
48Date: November 2013
49Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
50Description:
51 Controls the issue rate of small discard commands.
52
53What: /sys/fs/f2fs/<disk>/max_victim_search
54Date: January 2014
55Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
56Description:
57 Controls the number of trials to find a victim segment.
Documentation/ABI/testing/sysfs-kernel-vmcoreinfo+14−0
@@ -0,0 +1,14 @@
1What: /sys/kernel/vmcoreinfo
2Date: October 2007
3KernelVersion: 2.6.24
4Contact: Ken'ichi Ohmichi <oomichi@mxs.nes.nec.co.jp>
5 Kexec Mailing List <kexec@lists.infradead.org>
6 Vivek Goyal <vgoyal@redhat.com>
7Description
8 Shows physical address and size of vmcoreinfo ELF note.
9 First value contains physical address of note in hex and
10 second value contains the size of note in hex. This ELF
11 note info is parsed by second kernel and exported to user
12 space as part of ELF note in /proc/vmcore file. This note
13 contains various information like struct size, symbol
14 values, page size etc.
Documentation/ABI/testing/sysfs-platform-tahvo-usb+16−0
@@ -0,0 +1,16 @@
1What: /sys/bus/platform/devices/tahvo-usb/otg_mode
2Date: December 2013
3Contact: Aaro Koskinen <aaro.koskinen@iki.fi>
4Description:
5 Set or read the current OTG mode. Valid values are "host" and
6 "peripheral".
7
8 Reading: returns the current mode.
9
10What: /sys/bus/platform/devices/tahvo-usb/vbus
11Date: December 2013
12Contact: Aaro Koskinen <aaro.koskinen@iki.fi>
13Description:
14 Read the current VBUS state.
15
16 Reading: returns "on" or "off".
Documentation/DocBook/.gitignore+1−0
@@ -10,5 +10,6 @@ · 9 unmodified lines
10*.out10*.out
11*.png11*.png
12*.gif12*.gif
13*.svg
13media-indices.tmpl14media-indices.tmpl
14media-entities.tmpl15media-entities.tmpl
Documentation/DocBook/Makefile+3−2
@@ -54,6 +54,7 @@ htmldocs: $(HTML) · 53 unmodified lines
54 54
55MAN := $(patsubst %.xml, %.9, $(BOOKS))55MAN := $(patsubst %.xml, %.9, $(BOOKS))
56mandocs: $(MAN)56mandocs: $(MAN)
57 $(if $(wildcard $(obj)/man/*.9),gzip -f $(obj)/man/*.9)
57 58
58installmandocs: mandocs59installmandocs: mandocs
59 mkdir -p /usr/local/man/man9/60 mkdir -p /usr/local/man/man9/
@@ -145,7 +146,7 @@ build_main_index = rm -rf $(main_idx); \ · 85 unmodified lines
145 cat $(HTML) >> $(main_idx)146 cat $(HTML) >> $(main_idx)
146 147
147quiet_cmd_db2html = HTML $@148quiet_cmd_db2html = HTML $@
148 cmd_db2html = xmlto xhtml $(XMLTOFLAGS) -o $(patsubst %.html,%,$@) $< && \149 cmd_db2html = xmlto html $(XMLTOFLAGS) -o $(patsubst %.html,%,$@) $< && \
149 echo '<a HREF="$(patsubst %.html,%,$(notdir $@))/index.html"> \150 echo '<a HREF="$(patsubst %.html,%,$(notdir $@))/index.html"> \
150 $(patsubst %.html,%,$(notdir $@))</a><p>' > $@151 $(patsubst %.html,%,$(notdir $@))</a><p>' > $@
151 152
@@ -159,7 +160,7 @@ quiet_cmd_db2html = HTML $@ · 7 unmodified lines
159 cp $(PNG-$(basename $(notdir $@))) $(patsubst %.html,%,$@); fi160 cp $(PNG-$(basename $(notdir $@))) $(patsubst %.html,%,$@); fi
160 161
161quiet_cmd_db2man = MAN $@162quiet_cmd_db2man = MAN $@
162 cmd_db2man = if grep -q refentry $<; then xmlto man $(XMLTOFLAGS) -o $(obj)/man $< ; gzip -f $(obj)/man/*.9; fi163 cmd_db2man = if grep -q refentry $<; then xmlto man $(XMLTOFLAGS) -o $(obj)/man $< ; fi
163%.9 : %.xml164%.9 : %.xml
164 @(which xmlto > /dev/null 2>&1) || \165 @(which xmlto > /dev/null 2>&1) || \
165 (echo "*** You need to install xmlto ***"; \166 (echo "*** You need to install xmlto ***"; \
Documentation/DocBook/kernel-api.tmpl+1−0
@@ -109,6 +109,7 @@ X!Ilib/string.c · 108 unmodified lines
109 <sect1><title>The Slab Cache</title>109 <sect1><title>The Slab Cache</title>
110!Iinclude/linux/slab.h110!Iinclude/linux/slab.h
111!Emm/slab.c111!Emm/slab.c
112!Emm/util.c
112 </sect1>113 </sect1>
113 <sect1><title>User Space Memory Access</title>114 <sect1><title>User Space Memory Access</title>
114!Iarch/x86/include/asm/uaccess_32.h115!Iarch/x86/include/asm/uaccess_32.h
Documentation/DocBook/media/v4l/compat.xml+12−0
@@ -2523,6 +2523,18 @@ that used it. It was originally scheduled for removal in 2.6.35. · 2522 unmodified lines
2523 </orderedlist>2523 </orderedlist>
2524 </section>2524 </section>
2525 2525
2526 <section>
2527 <title>V4L2 in Linux 3.14</title>
2528 <orderedlist>
2529 <listitem>
2530 <para> In struct <structname>v4l2_rect</structname>, the type
2531of <structfield>width</structfield> and <structfield>height</structfield>
2532fields changed from _s32 to _u32.
2533 </para>
2534 </listitem>
2535 </orderedlist>
2536 </section>
2537
2526 <section id="other">2538 <section id="other">
2527 <title>Relation of V4L2 to other Linux multimedia APIs</title>2539 <title>Relation of V4L2 to other Linux multimedia APIs</title>
2528 2540
Documentation/DocBook/media/v4l/controls.xml+41−0
@@ -3161,6 +3161,47 @@ V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD as a golden frame.</entry> · 3160 unmodified lines
3161 </entrytbl>3161 </entrytbl>
3162 </row>3162 </row>
3163 3163
3164 <row><entry></entry></row>
3165 <row>
3166 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_MIN_QP</constant></entry>
3167 <entry>integer</entry>
3168 </row>
3169 <row><entry spanname="descr">Minimum quantization parameter for VP8.</entry>
3170 </row>
3171
3172 <row><entry></entry></row>
3173 <row>
3174 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_MAX_QP</constant></entry>
3175 <entry>integer</entry>
3176 </row>
3177 <row><entry spanname="descr">Maximum quantization parameter for VP8.</entry>
3178 </row>
3179
3180 <row><entry></entry></row>
3181 <row>
3182 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP</constant>&nbsp;</entry>
3183 <entry>integer</entry>
3184 </row>
3185 <row><entry spanname="descr">Quantization parameter for an I frame for VP8.</entry>
3186 </row>
3187
3188 <row><entry></entry></row>
3189 <row>
3190 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP</constant>&nbsp;</entry>
3191 <entry>integer</entry>
3192 </row>
3193 <row><entry spanname="descr">Quantization parameter for a P frame for VP8.</entry>
3194 </row>
3195
3196 <row><entry></entry></row>
3197 <row>
3198 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VPX_PROFILE</constant>&nbsp;</entry>
3199 <entry>integer</entry>
3200 </row>
3201 <row><entry spanname="descr">Select the desired profile for VPx encoder.
3202Acceptable values are 0, 1, 2 and 3 corresponding to encoder profiles 0, 1, 2 and 3.</entry>
3203 </row>
3204
3164 <row><entry></entry></row>3205 <row><entry></entry></row>
3165 </tbody>3206 </tbody>
3166 </tgroup>3207 </tgroup>
Documentation/DocBook/media/v4l/dev-overlay.xml+3−6
@@ -346,17 +346,14 @@ rectangle, in pixels.</entry> · 345 unmodified lines
346rectangle, in pixels. Offsets increase to the right and down.</entry>346rectangle, in pixels. Offsets increase to the right and down.</entry>
347 </row>347 </row>
348 <row>348 <row>
349 <entry>__s32</entry>349 <entry>__u32</entry>
350 <entry><structfield>width</structfield></entry>350 <entry><structfield>width</structfield></entry>
351 <entry>Width of the rectangle, in pixels.</entry>351 <entry>Width of the rectangle, in pixels.</entry>
352 </row>352 </row>
353 <row>353 <row>
354 <entry>__s32</entry>354 <entry>__u32</entry>
355 <entry><structfield>height</structfield></entry>355 <entry><structfield>height</structfield></entry>
356 <entry>Height of the rectangle, in pixels. Width and356 <entry>Height of the rectangle, in pixels.</entry>
357height cannot be negative, the fields are signed for hysterical
358reasons. <!-- video4linux-list@redhat.com on 22 Oct 2002 subject
359"Re:[V4L][patches!] Re:v4l2/kernel-2.5" --></entry>
360 </row>357 </row>
361 </tbody>358 </tbody>
362 </tgroup>359 </tgroup>
Documentation/DocBook/media/v4l/media-ioc-enum-links.xml+9−0
@@ -134,6 +134,15 @@ · 133 unmodified lines
134 <entry>Output pad, relative to the entity. Output pads source data134 <entry>Output pad, relative to the entity. Output pads source data
135 and are origins of links.</entry>135 and are origins of links.</entry>
136 </row>136 </row>
137 <row>
138 <entry><constant>MEDIA_PAD_FL_MUST_CONNECT</constant></entry>
139 <entry>If this flag is set and the pad is linked to any other
140 pad, then at least one of those links must be enabled for the
141 entity to be able to stream. There could be temporary reasons
142 (e.g. device configuration dependent) for the pad to need
143 enabled links even when this flag isn't set; the absence of the
144 flag doesn't imply there is none.</entry>
145 </row>
137 </tbody>146 </tbody>
138 </tgroup>147 </tgroup>
139 </table>148 </table>
Documentation/DocBook/media/v4l/subdev-formats.xml+160−3
@@ -89,7 +89,7 @@ · 88 unmodified lines
89 <constant>V4L2_MBUS_FMT_RGB555_2X8_PADHI_BE</constant>.89 <constant>V4L2_MBUS_FMT_RGB555_2X8_PADHI_BE</constant>.
90 </para>90 </para>
91 91
92 <para>The following tables list existing packet RGB formats.</para>92 <para>The following tables list existing packed RGB formats.</para>
93 93
94 <table pgwide="0" frame="none" id="v4l2-mbus-pixelcode-rgb">94 <table pgwide="0" frame="none" id="v4l2-mbus-pixelcode-rgb">
95 <title>RGB formats</title>95 <title>RGB formats</title>
@@ -615,7 +615,7 @@ · 519 unmodified lines
615 </mediaobject>615 </mediaobject>
616 </figure>616 </figure>
617 617
618 <para>The following table lists existing packet Bayer formats. The data618 <para>The following table lists existing packed Bayer formats. The data
619 organization is given as an example for the first pixel only.</para>619 organization is given as an example for the first pixel only.</para>
620 620
621 <table pgwide="0" frame="none" id="v4l2-mbus-pixelcode-bayer">621 <table pgwide="0" frame="none" id="v4l2-mbus-pixelcode-bayer">
@@ -1178,7 +1178,7 @@ · 556 unmodified lines
1178 U, Y, V, Y order will be named <constant>V4L2_MBUS_FMT_UYVY8_2X8</constant>.1178 U, Y, V, Y order will be named <constant>V4L2_MBUS_FMT_UYVY8_2X8</constant>.
1179 </para>1179 </para>
1180 1180
1181 <para><xref linkend="v4l2-mbus-pixelcode-yuv8"/> list existing packet YUV1181 <para><xref linkend="v4l2-mbus-pixelcode-yuv8"/> lists existing packed YUV
1182 formats and describes the organization of each pixel data in each sample.1182 formats and describes the organization of each pixel data in each sample.
1183 When a format pattern is split across multiple samples each of the samples1183 When a format pattern is split across multiple samples each of the samples
1184 in the pattern is described.</para>1184 in the pattern is described.</para>
@@ -2491,6 +2491,163 @@ · 1306 unmodified lines
2491 </table>2491 </table>
2492 </section>2492 </section>
2493 2493
2494 <section>
2495 <title>HSV/HSL Formats</title>
2496
2497 <para>Those formats transfer pixel data as RGB values in a cylindrical-coordinate
2498 system using Hue-Saturation-Value or Hue-Saturation-Lightness components. The
2499 format code is made of the following information.
2500 <itemizedlist>
2501 <listitem><para>The hue, saturation, value or lightness and optional alpha
2502 components order code, as encoded in a pixel sample. The only currently
2503 supported value is AHSV.
2504 </para></listitem>
2505 <listitem><para>The number of bits per component, for each component. The values
2506 can be different for all components. The only currently supported value is 8888.
2507 </para></listitem>
2508 <listitem><para>The number of bus samples per pixel. Pixels that are wider than
2509 the bus width must be transferred in multiple samples. The only currently
2510 supported value is 1.</para></listitem>
2511 <listitem><para>The bus width.</para></listitem>
2512 <listitem><para>For formats where the total number of bits per pixel is smaller
2513 than the number of bus samples per pixel times the bus width, a padding
2514 value stating if the bytes are padded in their most high order bits
2515 (PADHI) or low order bits (PADLO).</para></listitem>
2516 <listitem><para>For formats where the number of bus samples per pixel is larger
2517 than 1, an endianness value stating if the pixel is transferred MSB first
2518 (BE) or LSB first (LE).</para></listitem>
2519 </itemizedlist>
2520 </para>
2521
2522 <para>The following table lists existing HSV/HSL formats.</para>
2523
2524 <table pgwide="0" frame="none" id="v4l2-mbus-pixelcode-hsv">
2525 <title>HSV/HSL formats</title>
2526 <tgroup cols="27">
2527 <colspec colname="id" align="left" />
2528 <colspec colname="code" align="center"/>
2529 <colspec colname="bit" />
2530 <colspec colnum="4" colname="b31" align="center" />
2531 <colspec colnum="5" colname="b20" align="center" />
2532 <colspec colnum="6" colname="b29" align="center" />
2533 <colspec colnum="7" colname="b28" align="center" />
2534 <colspec colnum="8" colname="b27" align="center" />
2535 <colspec colnum="9" colname="b26" align="center" />
2536 <colspec colnum="10" colname="b25" align="center" />
2537 <colspec colnum="11" colname="b24" align="center" />
2538 <colspec colnum="12" colname="b23" align="center" />
2539 <colspec colnum="13" colname="b22" align="center" />
2540 <colspec colnum="14" colname="b21" align="center" />
2541 <colspec colnum="15" colname="b20" align="center" />
2542 <colspec colnum="16" colname="b19" align="center" />
2543 <colspec colnum="17" colname="b18" align="center" />
2544 <colspec colnum="18" colname="b17" align="center" />
2545 <colspec colnum="19" colname="b16" align="center" />
2546 <colspec colnum="20" colname="b15" align="center" />
2547 <colspec colnum="21" colname="b14" align="center" />
2548 <colspec colnum="22" colname="b13" align="center" />
2549 <colspec colnum="23" colname="b12" align="center" />
2550 <colspec colnum="24" colname="b11" align="center" />
2551 <colspec colnum="25" colname="b10" align="center" />
2552 <colspec colnum="26" colname="b09" align="center" />
2553 <colspec colnum="27" colname="b08" align="center" />
2554 <colspec colnum="28" colname="b07" align="center" />
2555 <colspec colnum="29" colname="b06" align="center" />
2556 <colspec colnum="30" colname="b05" align="center" />
2557 <colspec colnum="31" colname="b04" align="center" />
2558 <colspec colnum="32" colname="b03" align="center" />
2559 <colspec colnum="33" colname="b02" align="center" />
2560 <colspec colnum="34" colname="b01" align="center" />
2561 <colspec colnum="35" colname="b00" align="center" />
2562 <spanspec namest="b31" nameend="b00" spanname="b0" />
2563 <thead>
2564 <row>
2565 <entry>Identifier</entry>
2566 <entry>Code</entry>
2567 <entry></entry>
2568 <entry spanname="b0">Data organization</entry>
2569 </row>
2570 <row>
2571 <entry></entry>
2572 <entry></entry>
2573 <entry>Bit</entry>
2574 <entry>31</entry>
2575 <entry>30</entry>
2576 <entry>29</entry>
2577 <entry>28</entry>
2578 <entry>27</entry>
2579 <entry>26</entry>
2580 <entry>25</entry>
2581 <entry>24</entry>
2582 <entry>23</entry>
2583 <entry>22</entry>
2584 <entry>21</entry>
2585 <entry>20</entry>
2586 <entry>19</entry>
2587 <entry>18</entry>
2588 <entry>17</entry>
2589 <entry>16</entry>
2590 <entry>15</entry>
2591 <entry>14</entry>
2592 <entry>13</entry>
2593 <entry>12</entry>
2594 <entry>11</entry>
2595 <entry>10</entry>
2596 <entry>9</entry>
2597 <entry>8</entry>
2598 <entry>7</entry>
2599 <entry>6</entry>
2600 <entry>5</entry>
2601 <entry>4</entry>
2602 <entry>3</entry>
2603 <entry>2</entry>
2604 <entry>1</entry>
2605 <entry>0</entry>
2606 </row>
2607 </thead>
2608 <tbody valign="top">
2609 <row id="V4L2-MBUS-FMT-AHSV8888-1X32">
2610 <entry>V4L2_MBUS_FMT_AHSV8888_1X32</entry>
2611 <entry>0x6001</entry>
2612 <entry></entry>
2613 <entry>a<subscript>7</subscript></entry>
2614 <entry>a<subscript>6</subscript></entry>
2615 <entry>a<subscript>5</subscript></entry>
2616 <entry>a<subscript>4</subscript></entry>
2617 <entry>a<subscript>3</subscript></entry>
2618 <entry>a<subscript>2</subscript></entry>
2619 <entry>a<subscript>1</subscript></entry>
2620 <entry>a<subscript>0</subscript></entry>
2621 <entry>h<subscript>7</subscript></entry>
2622 <entry>h<subscript>6</subscript></entry>
2623 <entry>h<subscript>5</subscript></entry>
2624 <entry>h<subscript>4</subscript></entry>
2625 <entry>h<subscript>3</subscript></entry>
2626 <entry>h<subscript>2</subscript></entry>
2627 <entry>h<subscript>1</subscript></entry>
2628 <entry>h<subscript>0</subscript></entry>
2629 <entry>s<subscript>7</subscript></entry>
2630 <entry>s<subscript>6</subscript></entry>
2631 <entry>s<subscript>5</subscript></entry>
2632 <entry>s<subscript>4</subscript></entry>
2633 <entry>s<subscript>3</subscript></entry>
2634 <entry>s<subscript>2</subscript></entry>
2635 <entry>s<subscript>1</subscript></entry>
2636 <entry>s<subscript>0</subscript></entry>
2637 <entry>v<subscript>7</subscript></entry>
2638 <entry>v<subscript>6</subscript></entry>
2639 <entry>v<subscript>5</subscript></entry>
2640 <entry>v<subscript>4</subscript></entry>
2641 <entry>v<subscript>3</subscript></entry>
2642 <entry>v<subscript>2</subscript></entry>
2643 <entry>v<subscript>1</subscript></entry>
2644 <entry>v<subscript>0</subscript></entry>
2645 </row>
2646 </tbody>
2647 </tgroup>
2648 </table>
2649 </section>
2650
2494 <section>2651 <section>
2495 <title>JPEG Compressed Formats</title>2652 <title>JPEG Compressed Formats</title>
2496 2653
Documentation/DocBook/media/v4l/v4l2.xml+9−1
@@ -140,6 +140,14 @@ structs, ioctls) must be noted in more detail in the history chapter · 139 unmodified lines
140(compat.xml), along with the possible impact on existing drivers and140(compat.xml), along with the possible impact on existing drivers and
141applications. -->141applications. -->
142 142
143 <revision>
144 <revnumber>3.14</revnumber>
145 <date>2013-11-25</date>
146 <authorinitials>rr</authorinitials>
147 <revremark>Set width and height as unsigned on v4l2_rect.
148 </revremark>
149 </revision>
150
143 <revision>151 <revision>
144 <revnumber>3.11</revnumber>152 <revnumber>3.11</revnumber>
145 <date>2013-05-26</date>153 <date>2013-05-26</date>
@@ -501,7 +509,7 @@ and discussions on the V4L mailing list.</revremark> · 355 unmodified lines
501</partinfo>509</partinfo>
502 510
503<title>Video for Linux Two API Specification</title>511<title>Video for Linux Two API Specification</title>
504 <subtitle>Revision 3.11</subtitle>512 <subtitle>Revision 3.14</subtitle>
505 513
506 <chapter id="common">514 <chapter id="common">
507 &sub-common;515 &sub-common;
Documentation/DocBook/media/v4l/vidioc-cropcap.xml+3−7
@@ -133,18 +133,14 @@ rectangle, in pixels.</entry> · 132 unmodified lines
133rectangle, in pixels.</entry>133rectangle, in pixels.</entry>
134 </row>134 </row>
135 <row>135 <row>
136 <entry>__s32</entry>136 <entry>__u32</entry>
137 <entry><structfield>width</structfield></entry>137 <entry><structfield>width</structfield></entry>
138 <entry>Width of the rectangle, in pixels.</entry>138 <entry>Width of the rectangle, in pixels.</entry>
139 </row>139 </row>
140 <row>140 <row>
141 <entry>__s32</entry>141 <entry>__u32</entry>
142 <entry><structfield>height</structfield></entry>142 <entry><structfield>height</structfield></entry>
143 <entry>Height of the rectangle, in pixels. Width143 <entry>Height of the rectangle, in pixels.</entry>
144and height cannot be negative, the fields are signed for
145hysterical reasons. <!-- video4linux-list@redhat.com
146on 22 Oct 2002 subject "Re:[V4L][patches!] Re:v4l2/kernel-2.5" -->
147</entry>
148 </row>144 </row>
149 </tbody>145 </tbody>
150 </tgroup>146 </tgroup>
Documentation/DocBook/media/v4l/vidioc-streamon.xml+1−1
@@ -59,7 +59,7 @@ buffers are filled (if there are any empty buffers in the incoming · 58 unmodified lines
59queue) until <constant>VIDIOC_STREAMON</constant> has been called.59queue) until <constant>VIDIOC_STREAMON</constant> has been called.
60Accordingly the output hardware is disabled, no video signal is60Accordingly the output hardware is disabled, no video signal is
61produced until <constant>VIDIOC_STREAMON</constant> has been called.61produced until <constant>VIDIOC_STREAMON</constant> has been called.
62The ioctl will succeed only when at least one output buffer is in the62The ioctl will succeed when at least one output buffer is in the
63incoming queue.</para>63incoming queue.</para>
64 64
65 <para>The <constant>VIDIOC_STREAMOFF</constant> ioctl, apart of65 <para>The <constant>VIDIOC_STREAMOFF</constant> ioctl, apart of
Documentation/HOWTO+2−2
@@ -112,7 +112,7 @@ required reading: · 111 unmodified lines
112 112
113 Other excellent descriptions of how to create patches properly are:113 Other excellent descriptions of how to create patches properly are:
114 "The Perfect Patch"114 "The Perfect Patch"
115 http://kerneltrap.org/node/3737115 http://www.ozlabs.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
@@ -579,7 +579,7 @@ all time. It should describe the patch completely, containing: · 460 unmodified lines
579For more details on what this should all look like, please see the579For more details on what this should all look like, please see the
580ChangeLog section of the document:580ChangeLog section of the document:
581 "The Perfect Patch"581 "The Perfect Patch"
582 http://userweb.kernel.org/~akpm/stuff/tpp.txt582 http://www.ozlabs.org/~akpm/stuff/tpp.txt
583 583
584 584
585 585
Documentation/IRQ-domain.txt+1−1
@@ -141,7 +141,7 @@ will use a legacy domain only if an IRQ range is supplied by the · 140 unmodified lines
141system and will otherwise use a linear domain mapping. The semantics141system and will otherwise use a linear domain mapping. The semantics
142of this call are such that if an IRQ range is specified then142of this call are such that if an IRQ range is specified then
143descriptors will be allocated on-the-fly for it, and if no range is143descriptors will be allocated on-the-fly for it, and if no range is
144specified it will fall through to irq_domain_add_linear() which meand144specified it will fall through to irq_domain_add_linear() which means
145*no* irq descriptors will be allocated.145*no* irq descriptors will be allocated.
146 146
147A typical use case for simple domains is where an irqchip provider147A typical use case for simple domains is where an irqchip provider
Documentation/PCI/00-INDEX+2−2
@@ -2,12 +2,12 @@ · 1 unmodified line
2 - this file2 - this file
3MSI-HOWTO.txt3MSI-HOWTO.txt
4 - the Message Signaled Interrupts (MSI) Driver Guide HOWTO and FAQ.4 - the Message Signaled Interrupts (MSI) Driver Guide HOWTO and FAQ.
5PCI-DMA-mapping.txt
6 - info for PCI drivers using DMA portably across all platforms
7PCIEBUS-HOWTO.txt5PCIEBUS-HOWTO.txt
8 - a guide describing the PCI Express Port Bus driver6 - a guide describing the PCI Express Port Bus driver
9pci-error-recovery.txt7pci-error-recovery.txt
10 - info on PCI error recovery8 - info on PCI error recovery
9pci-iov-howto.txt
10 - the PCI Express I/O Virtualization HOWTO
11pci.txt11pci.txt
12 - info on the PCI subsystem for device driver authors12 - info on the PCI subsystem for device driver authors
13pcieaer-howto.txt13pcieaer-howto.txt
Documentation/PCI/MSI-HOWTO.txt+210−98
@@ -82,93 +82,111 @@ Most of the hard work is done for the driver in the PCI layer. It simply · 81 unmodified lines
82has to request that the PCI layer set up the MSI capability for this82has to request that the PCI layer set up the MSI capability for this
83device.83device.
84 84
854.2.1 pci_enable_msi854.2.1 pci_enable_msi_range
86 86
87int pci_enable_msi(struct pci_dev *dev)87int pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec)
88 88
89A successful call allocates ONE interrupt to the device, regardless89This function allows a device driver to request any number of MSI
90of how many MSIs the device supports. The device is switched from90interrupts within specified range from 'minvec' to 'maxvec'.
91pin-based interrupt mode to MSI mode. The dev->irq number is changed
92to a new number which represents the message signaled interrupt;
93consequently, this function should be called before the driver calls
94request_irq(), because an MSI is delivered via a vector that is
95different from the vector of a pin-based interrupt.
96 91
974.2.2 pci_enable_msi_block92If this function returns a positive number it indicates the number of
93MSI interrupts that have been successfully allocated. In this case
94the device is switched from pin-based interrupt mode to MSI mode and
95updates dev->irq to be the lowest of the new interrupts assigned to it.
96The other interrupts assigned to the device are in the range dev->irq
97to dev->irq + returned value - 1. Device driver can use the returned
98number of successfully allocated MSI interrupts to further allocate
99and initialize device resources.
98 100
99int pci_enable_msi_block(struct pci_dev *dev, int count)101If this function returns a negative number, it indicates an error and
102the driver should not attempt to request any more MSI interrupts for
103this device.
100 104
101This variation on the above call allows a device driver to request multiple105This function should be called before the driver calls request_irq(),
102MSIs. The MSI specification only allows interrupts to be allocated in106because MSI interrupts are delivered via vectors that are different
103powers of two, up to a maximum of 2^5 (32).107from the vector of a pin-based interrupt.
104 108
105If this function returns 0, it has succeeded in allocating at least as many109It is ideal if drivers can cope with a variable number of MSI interrupts;
106interrupts as the driver requested (it may have allocated more in order110there are many reasons why the platform may not be able to provide the
107to satisfy the power-of-two requirement). In this case, the function111exact number that a driver asks for.
108enables MSI on this device and updates dev->irq to be the lowest of
109the new interrupts assigned to it. The other interrupts assigned to
110the device are in the range dev->irq to dev->irq + count - 1.
111 112
112If this function returns a negative number, it indicates an error and113There could be devices that can not operate with just any number of MSI
113the driver should not attempt to request any more MSI interrupts for114interrupts within a range. See chapter 4.3.1.3 to get the idea how to
114this device. If this function returns a positive number, it is115handle such devices for MSI-X - the same logic applies to MSI.
115less than 'count' and indicates the number of interrupts that could have
116been allocated. In neither case is the irq value updated or the device
117switched into MSI mode.
118
119The device driver must decide what action to take if
120pci_enable_msi_block() returns a value less than the number requested.
121For instance, the driver could still make use of fewer interrupts;
122in this case the driver should call pci_enable_msi_block()
123again. Note that it is not guaranteed to succeed, even when the
124'count' has been reduced to the value returned from a previous call to
125pci_enable_msi_block(). This is because there are multiple constraints
126on the number of vectors that can be allocated; pci_enable_msi_block()
127returns as soon as it finds any constraint that doesn't allow the
128call to succeed.
129
1304.2.3 pci_enable_msi_block_auto
131
132int pci_enable_msi_block_auto(struct pci_dev *dev, unsigned int *count)
133
134This variation on pci_enable_msi() call allows a device driver to request
135the maximum possible number of MSIs. The MSI specification only allows
136interrupts to be allocated in powers of two, up to a maximum of 2^5 (32).
137
138If this function returns a positive number, it indicates that it has
139succeeded and the returned value is the number of allocated interrupts. In
140this case, the function enables MSI on this device and updates dev->irq to
141be the lowest of the new interrupts assigned to it. The other interrupts
142assigned to the device are in the range dev->irq to dev->irq + returned
143value - 1.
144 116
145If this function returns a negative number, it indicates an error and1174.2.1.1 Maximum possible number of MSI interrupts
146the driver should not attempt to request any more MSI interrupts for118
147this device.119The typical usage of MSI interrupts is to allocate as many vectors as
120possible, likely up to the limit returned by pci_msi_vec_count() function:
121
122static int foo_driver_enable_msi(struct pci_dev *pdev, int nvec)
123{
124 return pci_enable_msi_range(pdev, 1, nvec);
125}
126
127Note the value of 'minvec' parameter is 1. As 'minvec' is inclusive,
128the value of 0 would be meaningless and could result in error.
148 129
149If the device driver needs to know the number of interrupts the device130Some devices have a minimal limit on number of MSI interrupts.
150supports it can pass the pointer count where that number is stored. The131In this case the function could look like this:
151device driver must decide what action to take if pci_enable_msi_block_auto()
152succeeds, but returns a value less than the number of interrupts supported.
153If the device driver does not need to know the number of interrupts
154supported, it can set the pointer count to NULL.
155 132
1564.2.4 pci_disable_msi133static int foo_driver_enable_msi(struct pci_dev *pdev, int nvec)
134{
135 return pci_enable_msi_range(pdev, FOO_DRIVER_MINIMUM_NVEC, nvec);
136}
137
1384.2.1.2 Exact number of MSI interrupts
139
140If a driver is unable or unwilling to deal with a variable number of MSI
141interrupts it could request a particular number of interrupts by passing
142that number to pci_enable_msi_range() function as both 'minvec' and 'maxvec'
143parameters:
144
145static int foo_driver_enable_msi(struct pci_dev *pdev, int nvec)
146{
147 return pci_enable_msi_range(pdev, nvec, nvec);
148}
149
1504.2.1.3 Single MSI mode
151
152The most notorious example of the request type described above is
153enabling the single MSI mode for a device. It could be done by passing
154two 1s as 'minvec' and 'maxvec':
155
156static int foo_driver_enable_single_msi(struct pci_dev *pdev)
157{
158 return pci_enable_msi_range(pdev, 1, 1);
159}
160
1614.2.2 pci_disable_msi
157 162
158void pci_disable_msi(struct pci_dev *dev)163void pci_disable_msi(struct pci_dev *dev)
159 164
160This function should be used to undo the effect of pci_enable_msi() or165This function should be used to undo the effect of pci_enable_msi_range().
161pci_enable_msi_block() or pci_enable_msi_block_auto(). Calling it restores166Calling it restores dev->irq to the pin-based interrupt number and frees
162dev->irq to the pin-based interrupt number and frees the previously167the previously allocated MSIs. The interrupts may subsequently be assigned
163allocated message signaled interrupt(s). The interrupt may subsequently be168to another device, so drivers should not cache the value of dev->irq.
164assigned to another device, so drivers should not cache the value of
165dev->irq.
166 169
167Before calling this function, a device driver must always call free_irq()170Before calling this function, a device driver must always call free_irq()
168on any interrupt for which it previously called request_irq().171on any interrupt for which it previously called request_irq().
169Failure to do so results in a BUG_ON(), leaving the device with172Failure to do so results in a BUG_ON(), leaving the device with
170MSI enabled and thus leaking its vector.173MSI enabled and thus leaking its vector.
171 174
1754.2.3 pci_msi_vec_count
176
177int pci_msi_vec_count(struct pci_dev *dev)
178
179This function could be used to retrieve the number of MSI vectors the
180device requested (via the Multiple Message Capable register). The MSI
181specification only allows the returned value to be a power of two,
182up to a maximum of 2^5 (32).
183
184If this function returns a negative number, it indicates the device is
185not capable of sending MSIs.
186
187If this function returns a positive number, it indicates the maximum
188number of MSI interrupt vectors that could be allocated.
189
1724.3 Using MSI-X1904.3 Using MSI-X
173 191
174The MSI-X capability is much more flexible than the MSI capability.192The MSI-X capability is much more flexible than the MSI capability.
@@ -188,26 +206,31 @@ in each element of the array to indicate for which entries the kernel · 13 unmodified lines
188should assign interrupts; it is invalid to fill in two entries with the206should assign interrupts; it is invalid to fill in two entries with the
189same number.207same number.
190 208
1914.3.1 pci_enable_msix2094.3.1 pci_enable_msix_range
192 210
193int pci_enable_msix(struct pci_dev *dev, struct msix_entry *entries, int nvec)211int pci_enable_msix_range(struct pci_dev *dev, struct msix_entry *entries,
212 int minvec, int maxvec)
194 213
195Calling this function asks the PCI subsystem to allocate 'nvec' MSIs.214Calling this function asks the PCI subsystem to allocate any number of
215MSI-X interrupts within specified range from 'minvec' to 'maxvec'.
196The 'entries' argument is a pointer to an array of msix_entry structs216The 'entries' argument is a pointer to an array of msix_entry structs
197which should be at least 'nvec' entries in size. On success, the217which should be at least 'maxvec' entries in size.
198device is switched into MSI-X mode and the function returns 0.218
199The 'vector' member in each entry is populated with the interrupt number;219On success, the device is switched into MSI-X mode and the function
220returns the number of MSI-X interrupts that have been successfully
221allocated. In this case the 'vector' member in entries numbered from
2220 to the returned value - 1 is populated with the interrupt number;
200the driver should then call request_irq() for each 'vector' that it223the driver should then call request_irq() for each 'vector' that it
201decides to use. The device driver is responsible for keeping track of the224decides to use. The device driver is responsible for keeping track of the
202interrupts assigned to the MSI-X vectors so it can free them again later.225interrupts assigned to the MSI-X vectors so it can free them again later.
226Device driver can use the returned number of successfully allocated MSI-X
227interrupts to further allocate and initialize device resources.
203 228
204If this function returns a negative number, it indicates an error and229If this function returns a negative number, it indicates an error and
205the driver should not attempt to allocate any more MSI-X interrupts for230the driver should not attempt to allocate any more MSI-X interrupts for
206this device. If it returns a positive number, it indicates the maximum231this device.
207number of interrupt vectors that could have been allocated. See example
208below.
209 232
210This function, in contrast with pci_enable_msi(), does not adjust233This function, in contrast with pci_enable_msi_range(), does not adjust
211dev->irq. The device will not generate interrupts for this interrupt234dev->irq. The device will not generate interrupts for this interrupt
212number once MSI-X is enabled.235number once MSI-X is enabled.
213 236
@@ -218,28 +241,103 @@ It is ideal if drivers can cope with a variable number of MSI-X interrupts; · 4 unmodified lines
218there are many reasons why the platform may not be able to provide the241there are many reasons why the platform may not be able to provide the
219exact number that a driver asks for.242exact number that a driver asks for.
220 243
221A request loop to achieve that might look like:244There could be devices that can not operate with just any number of MSI-X
245interrupts within a range. E.g., an network adapter might need let's say
246four vectors per each queue it provides. Therefore, a number of MSI-X
247interrupts allocated should be a multiple of four. In this case interface
248pci_enable_msix_range() can not be used alone to request MSI-X interrupts
249(since it can allocate any number within the range, without any notion of
250the multiple of four) and the device driver should master a custom logic
251to request the required number of MSI-X interrupts.
252
2534.3.1.1 Maximum possible number of MSI-X interrupts
254
255The typical usage of MSI-X interrupts is to allocate as many vectors as
256possible, likely up to the limit returned by pci_msix_vec_count() function:
222 257
223static int foo_driver_enable_msix(struct foo_adapter *adapter, int nvec)258static int foo_driver_enable_msix(struct foo_adapter *adapter, int nvec)
224{259{
225 while (nvec >= FOO_DRIVER_MINIMUM_NVEC) {260 return pci_enable_msi_range(adapter->pdev, adapter->msix_entries,
226 rc = pci_enable_msix(adapter->pdev,261 1, nvec);
227 adapter->msix_entries, nvec);262}
228 if (rc > 0)263
229 nvec = rc;264Note the value of 'minvec' parameter is 1. As 'minvec' is inclusive,
230 else265the value of 0 would be meaningless and could result in error.
231 return rc;266
267Some devices have a minimal limit on number of MSI-X interrupts.
268In this case the function could look like this:
269
270static int foo_driver_enable_msix(struct foo_adapter *adapter, int nvec)
271{
272 return pci_enable_msi_range(adapter->pdev, adapter->msix_entries,
273 FOO_DRIVER_MINIMUM_NVEC, nvec);
274}
275
2764.3.1.2 Exact number of MSI-X interrupts
277
278If a driver is unable or unwilling to deal with a variable number of MSI-X
279interrupts it could request a particular number of interrupts by passing
280that number to pci_enable_msix_range() function as both 'minvec' and 'maxvec'
281parameters:
282
283static int foo_driver_enable_msix(struct foo_adapter *adapter, int nvec)
284{
285 return pci_enable_msi_range(adapter->pdev, adapter->msix_entries,
286 nvec, nvec);
287}
288
2894.3.1.3 Specific requirements to the number of MSI-X interrupts
290
291As noted above, there could be devices that can not operate with just any
292number of MSI-X interrupts within a range. E.g., let's assume a device that
293is only capable sending the number of MSI-X interrupts which is a power of
294two. A routine that enables MSI-X mode for such device might look like this:
295
296/*
297 * Assume 'minvec' and 'maxvec' are non-zero
298 */
299static int foo_driver_enable_msix(struct foo_adapter *adapter,
300 int minvec, int maxvec)
301{
302 int rc;
303
304 minvec = roundup_pow_of_two(minvec);
305 maxvec = rounddown_pow_of_two(maxvec);
306
307 if (minvec > maxvec)
308 return -ERANGE;
309
310retry:
311 rc = pci_enable_msix_range(adapter->pdev, adapter->msix_entries,
312 maxvec, maxvec);
313 /*
314 * -ENOSPC is the only error code allowed to be analized
315 */
316 if (rc == -ENOSPC) {
317 if (maxvec == 1)
318 return -ENOSPC;
319
320 maxvec /= 2;
321
322 if (minvec > maxvec)
323 return -ENOSPC;
324
325 goto retry;
232 }326 }
233 327
234 return -ENOSPC;328 return rc;
235}329}
236 330
331Note how pci_enable_msix_range() return value is analized for a fallback -
332any error code other than -ENOSPC indicates a fatal error and should not
333be retried.
334
2374.3.2 pci_disable_msix3354.3.2 pci_disable_msix
238 336
239void pci_disable_msix(struct pci_dev *dev)337void pci_disable_msix(struct pci_dev *dev)
240 338
241This function should be used to undo the effect of pci_enable_msix(). It frees339This function should be used to undo the effect of pci_enable_msix_range().
242the previously allocated message signaled interrupts. The interrupts may340It frees the previously allocated MSI-X interrupts. The interrupts may
243subsequently be assigned to another device, so drivers should not cache341subsequently be assigned to another device, so drivers should not cache
244the value of the 'vector' elements over a call to pci_disable_msix().342the value of the 'vector' elements over a call to pci_disable_msix().
245 343
@@ -255,18 +353,32 @@ MSI-X Table. This address is mapped by the PCI subsystem, and should not · 9 unmodified lines
255be accessed directly by the device driver. If the driver wishes to353be accessed directly by the device driver. If the driver wishes to
256mask or unmask an interrupt, it should call disable_irq() / enable_irq().354mask or unmask an interrupt, it should call disable_irq() / enable_irq().
257 355
3564.3.4 pci_msix_vec_count
357
358int pci_msix_vec_count(struct pci_dev *dev)
359
360This function could be used to retrieve number of entries in the device
361MSI-X table.
362
363If this function returns a negative number, it indicates the device is
364not capable of sending MSI-Xs.
365
366If this function returns a positive number, it indicates the maximum
367number of MSI-X interrupt vectors that could be allocated.
368
2584.4 Handling devices implementing both MSI and MSI-X capabilities3694.4 Handling devices implementing both MSI and MSI-X capabilities
259 370
260If a device implements both MSI and MSI-X capabilities, it can371If a device implements both MSI and MSI-X capabilities, it can
261run in either MSI mode or MSI-X mode, but not both simultaneously.372run in either MSI mode or MSI-X mode, but not both simultaneously.
262This is a requirement of the PCI spec, and it is enforced by the373This is a requirement of the PCI spec, and it is enforced by the
263PCI layer. Calling pci_enable_msi() when MSI-X is already enabled or374PCI layer. Calling pci_enable_msi_range() when MSI-X is already
264pci_enable_msix() when MSI is already enabled results in an error.375enabled or pci_enable_msix_range() when MSI is already enabled
265If a device driver wishes to switch between MSI and MSI-X at runtime,376results in an error. If a device driver wishes to switch between MSI
266it must first quiesce the device, then switch it back to pin-interrupt377and MSI-X at runtime, it must first quiesce the device, then switch
267mode, before calling pci_enable_msi() or pci_enable_msix() and resuming378it back to pin-interrupt mode, before calling pci_enable_msi_range()
268operation. This is not expected to be a common operation but may be379or pci_enable_msix_range() and resuming operation. This is not expected
269useful for debugging or testing during development.380to be a common operation but may be useful for debugging or testing
381during development.
270 382
2714.5 Considerations when using MSIs3834.5 Considerations when using MSIs
272 384
@@ -381,5 +493,5 @@ or disabled (0). If 0 is found in any of the msi_bus files belonging · 108 unmodified lines
381to bridges between the PCI root and the device, MSIs are disabled.493to bridges between the PCI root and the device, MSIs are disabled.
382 494
383It is also worth checking the device driver to see whether it supports MSIs.495It is also worth checking the device driver to see whether it supports MSIs.
384For example, it may contain calls to pci_enable_msi(), pci_enable_msix() or496For example, it may contain calls to pci_enable_msi_range() or
385pci_enable_msi_block().497pci_enable_msix_range().
Documentation/PCI/pci.txt+4−2
@@ -123,8 +123,10 @@ initialization with a pointer to a structure describing the driver · 122 unmodified lines
123 123
124 124
125The ID table is an array of struct pci_device_id entries ending with an125The ID table is an array of struct pci_device_id entries ending with an
126all-zero entry; use of the macro DEFINE_PCI_DEVICE_TABLE is the preferred126all-zero entry. Definitions with static const are generally preferred.
127method of declaring the table. Each entry consists of:127Use of the deprecated macro DEFINE_PCI_DEVICE_TABLE should be avoided.
128
129Each entry consists of:
128 130
129 vendor,device Vendor and device ID to match (or PCI_ANY_ID)131 vendor,device Vendor and device ID to match (or PCI_ANY_ID)
130 132
Documentation/acpi/enumeration.txt+7−29
@@ -293,36 +293,13 @@ the device to the driver. For example: · 292 unmodified lines
293 293
294These GPIO numbers are controller relative and path "\\_SB.PCI0.GPI0"294These GPIO numbers are controller relative and path "\\_SB.PCI0.GPI0"
295specifies the path to the controller. In order to use these GPIOs in Linux295specifies the path to the controller. In order to use these GPIOs in Linux
296we need to translate them to the Linux GPIO numbers.296we need to translate them to the corresponding Linux GPIO descriptors.
297 297
298In a simple case of just getting the Linux GPIO number from device298There is a standard GPIO API for that and is documented in
299resources one can use acpi_get_gpio_by_index() helper function. It takes299Documentation/gpio.txt.
300pointer to the device and index of the GpioIo/GpioInt descriptor in the
301device resources list. For example:
302 300
303 int gpio_irq, gpio_power;301In the above example we can get the corresponding two GPIO descriptors with
304 int ret;302a code like this:
305
306 gpio_irq = acpi_get_gpio_by_index(dev, 1, NULL);
307 if (gpio_irq < 0)
308 /* handle error */
309
310 gpio_power = acpi_get_gpio_by_index(dev, 0, NULL);
311 if (gpio_power < 0)
312 /* handle error */
313
314 /* Now we can use the GPIO numbers */
315
316Other GpioIo parameters must be converted first by the driver to be
317suitable to the gpiolib before passing them.
318
319In case of GpioInt resource an additional call to gpio_to_irq() must be
320done before calling request_irq().
321
322Note that the above API is ACPI specific and not recommended for drivers
323that need to support non-ACPI systems. The recommended way is to use
324the descriptor based GPIO interfaces. The above example looks like this
325when converted to the GPIO desc:
326 303
327 #include <linux/gpio/consumer.h>304 #include <linux/gpio/consumer.h>
328 ...305 ...
@@ -339,4 +316,5 @@ when converted to the GPIO desc: · 10 unmodified lines
339 316
340 /* Now we can use the GPIO descriptors */317 /* Now we can use the GPIO descriptors */
341 318
342See also Documentation/gpio.txt.319There are also devm_* versions of these functions which release the
320descriptors once the device is released.
Documentation/acpi/namespace.txt+1−8
@@ -235,10 +235,6 @@ Wysocki <rafael.j.wysocki@intel.com>. · 234 unmodified lines
235 named object's type in the second column). In that case the object's235 named object's type in the second column). In that case the object's
236 directory in sysfs will contain the 'path' attribute whose value is236 directory in sysfs will contain the 'path' attribute whose value is
237 the full path to the node from the namespace root.237 the full path to the node from the namespace root.
238 struct acpi_device objects are created for the ACPI namespace nodes
239 whose _STA control methods return PRESENT or FUNCTIONING. The power
240 resource nodes or nodes without _STA are assumed to be both PRESENT
241 and FUNCTIONING.
242 F:238 F:
243 The struct acpi_device object is created for a fixed hardware239 The struct acpi_device object is created for a fixed hardware
244 feature (as indicated by the fixed feature flag's name in the second240 feature (as indicated by the fixed feature flag's name in the second
@@ -340,7 +336,7 @@ Wysocki <rafael.j.wysocki@intel.com>. · 95 unmodified lines
340 | +-------------+-------+----------------+336 | +-------------+-------+----------------+
341 | |337 | |
342 | | +- - - - - - - +- - - - - - +- - - - - - - -+338 | | +- - - - - - - +- - - - - - +- - - - - - - -+
343 | +-| * PNP0C0D:00 | \_SB_.LID0 | acpi:PNP0C0D: |339 | +-| PNP0C0D:00 | \_SB_.LID0 | acpi:PNP0C0D: |
344 | | +- - - - - - - +- - - - - - +- - - - - - - -+340 | | +- - - - - - - +- - - - - - +- - - - - - - -+
345 | |341 | |
346 | | +------------+------------+-----------------------+342 | | +------------+------------+-----------------------+
@@ -390,6 +386,3 @@ Wysocki <rafael.j.wysocki@intel.com>. · 43 unmodified lines
390 attribute (as described earlier in this document).386 attribute (as described earlier in this document).
391 NOTE: N/A indicates the device object does not have the 'path' or the387 NOTE: N/A indicates the device object does not have the 'path' or the
392 'modalias' attribute.388 'modalias' attribute.
393 NOTE: The PNP0C0D device listed above is highlighted (marked by "*")
394 to indicate it will be created only when its _STA methods return
395 PRESENT or FUNCTIONING.
Documentation/arm/Marvell/README+24−0
@@ -211,6 +211,30 @@ MMP/MMP2 family (communication processor) · 210 unmodified lines
211 Linux kernel mach directory: arch/arm/mach-mmp211 Linux kernel mach directory: arch/arm/mach-mmp
212 Linux kernel plat directory: arch/arm/plat-pxa212 Linux kernel plat directory: arch/arm/plat-pxa
213 213
214Berlin family (Digital Entertainment)
215-------------------------------------
216
217 Flavors:
218 88DE3005, Armada 1500-mini
219 Design name: BG2CD
220 Core: ARM Cortex-A9, PL310 L2CC
221 Homepage: http://www.marvell.com/digital-entertainment/armada-1500-mini/
222 88DE3100, Armada 1500
223 Design name: BG2
224 Core: Marvell PJ4B (ARMv7), Tauros3 L2CC
225 Homepage: http://www.marvell.com/digital-entertainment/armada-1500/
226 Product Brief: http://www.marvell.com/digital-entertainment/armada-1500/assets/Marvell-ARMADA-1500-Product-Brief.pdf
227 88DE????
228 Design name: BG3
229 Core: ARM Cortex-A15, CA15 integrated L2CC
230
231 Homepage: http://www.marvell.com/digital-entertainment/
232 Directory: arch/arm/mach-berlin
233
234 Comments:
235 * This line of SoCs is based on Marvell Sheeva or ARM Cortex CPUs
236 with Synopsys DesignWare (IRQ, GPIO, Timers, ...) and PXA IP (SDHCI, USB, ETH, ...).
237
214Long-term plans238Long-term plans
215---------------239---------------
216 240
Documentation/arm/Samsung-S3C24XX/GPIO.txt+1−12
@@ -85,21 +85,10 @@ between the calls. · 84 unmodified lines
85Headers85Headers
86-------86-------
87 87
88 See arch/arm/mach-s3c2410/include/mach/regs-gpio.h for the list88 See arch/arm/mach-s3c24xx/include/mach/regs-gpio.h for the list
89 of GPIO pins, and the configuration values for them. This89 of GPIO pins, and the configuration values for them. This
90 is included by using #include <mach/regs-gpio.h>90 is included by using #include <mach/regs-gpio.h>
91 91
92 The GPIO management functions are defined in the hardware
93 header arch/arm/mach-s3c2410/include/mach/hardware.h which can be
94 included by #include <mach/hardware.h>
95
96 A useful amount of documentation can be found in the hardware
97 header on how the GPIO functions (and others) work.
98
99 Whilst a number of these functions do make some checks on what
100 is passed to them, for speed of use, they may not always ensure
101 that the user supplied data to them is correct.
102
103 92
104PIN Numbers93PIN Numbers
105-----------94-----------
Documentation/block/biodoc.txt+3−4
@@ -447,14 +447,13 @@ struct bio_vec { · 446 unmodified lines
447 * main unit of I/O for the block layer and lower layers (ie drivers)447 * main unit of I/O for the block layer and lower layers (ie drivers)
448 */448 */
449struct bio {449struct bio {
450 sector_t bi_sector;
451 struct bio *bi_next; /* request queue link */450 struct bio *bi_next; /* request queue link */
452 struct block_device *bi_bdev; /* target device */451 struct block_device *bi_bdev; /* target device */
453 unsigned long bi_flags; /* status, command, etc */452 unsigned long bi_flags; /* status, command, etc */
454 unsigned long bi_rw; /* low bits: r/w, high: priority */453 unsigned long bi_rw; /* low bits: r/w, high: priority */
455 454
456 unsigned int bi_vcnt; /* how may bio_vec's */455 unsigned int bi_vcnt; /* how may bio_vec's */
457 unsigned int bi_idx; /* current index into bio_vec array */456 struct bvec_iter bi_iter; /* current index into bio_vec array */
458 457
459 unsigned int bi_size; /* total size in bytes */458 unsigned int bi_size; /* total size in bytes */
460 unsigned short bi_phys_segments; /* segments after physaddr coalesce*/459 unsigned short bi_phys_segments; /* segments after physaddr coalesce*/
@@ -480,7 +479,7 @@ With this multipage bio design: · 19 unmodified lines
480- Code that traverses the req list can find all the segments of a bio479- Code that traverses the req list can find all the segments of a bio
481 by using rq_for_each_segment. This handles the fact that a request480 by using rq_for_each_segment. This handles the fact that a request
482 has multiple bios, each of which can have multiple segments.481 has multiple bios, each of which can have multiple segments.
483- Drivers which can't process a large bio in one shot can use the bi_idx482- Drivers which can't process a large bio in one shot can use the bi_iter
484 field to keep track of the next bio_vec entry to process.483 field to keep track of the next bio_vec entry to process.
485 (e.g a 1MB bio_vec needs to be handled in max 128kB chunks for IDE)484 (e.g a 1MB bio_vec needs to be handled in max 128kB chunks for IDE)
486 [TBD: Should preferably also have a bi_voffset and bi_vlen to avoid modifying485 [TBD: Should preferably also have a bi_voffset and bi_vlen to avoid modifying
@@ -589,7 +588,7 @@ driver should not modify these values. The block layer sets up the · 102 unmodified lines
589nr_sectors and current_nr_sectors fields (based on the corresponding588nr_sectors and current_nr_sectors fields (based on the corresponding
590hard_xxx values and the number of bytes transferred) and updates it on589hard_xxx values and the number of bytes transferred) and updates it on
591every transfer that invokes end_that_request_first. It does the same for the590every transfer that invokes end_that_request_first. It does the same for the
592buffer, bio, bio->bi_idx fields too.591buffer, bio, bio->bi_iter fields too.
593 592
594The buffer field is just a virtual address mapping of the current segment593The buffer field is just a virtual address mapping of the current segment
595of the i/o buffer in cases where the buffer resides in low-memory. For high594of the i/o buffer in cases where the buffer resides in low-memory. For high
Documentation/block/biovecs.txt+111−0
@@ -0,0 +1,111 @@
1
2Immutable biovecs and biovec iterators:
3=======================================
4
5Kent Overstreet <kmo@daterainc.com>
6
7As of 3.13, biovecs should never be modified after a bio has been submitted.
8Instead, we have a new struct bvec_iter which represents a range of a biovec -
9the iterator will be modified as the bio is completed, not the biovec.
10
11More specifically, old code that needed to partially complete a bio would
12update bi_sector and bi_size, and advance bi_idx to the next biovec. If it
13ended up partway through a biovec, it would increment bv_offset and decrement
14bv_len by the number of bytes completed in that biovec.
15
16In the new scheme of things, everything that must be mutated in order to
17partially complete a bio is segregated into struct bvec_iter: bi_sector,
18bi_size and bi_idx have been moved there; and instead of modifying bv_offset
19and bv_len, struct bvec_iter has bi_bvec_done, which represents the number of
20bytes completed in the current bvec.
21
22There are a bunch of new helper macros for hiding the gory details - in
23particular, presenting the illusion of partially completed biovecs so that
24normal code doesn't have to deal with bi_bvec_done.
25
26 * Driver code should no longer refer to biovecs directly; we now have
27 bio_iovec() and bio_iovec_iter() macros that return literal struct biovecs,
28 constructed from the raw biovecs but taking into account bi_bvec_done and
29 bi_size.
30
31 bio_for_each_segment() has been updated to take a bvec_iter argument
32 instead of an integer (that corresponded to bi_idx); for a lot of code the
33 conversion just required changing the types of the arguments to
34 bio_for_each_segment().
35
36 * Advancing a bvec_iter is done with bio_advance_iter(); bio_advance() is a
37 wrapper around bio_advance_iter() that operates on bio->bi_iter, and also
38 advances the bio integrity's iter if present.
39
40 There is a lower level advance function - bvec_iter_advance() - which takes
41 a pointer to a biovec, not a bio; this is used by the bio integrity code.
42
43What's all this get us?
44=======================
45
46Having a real iterator, and making biovecs immutable, has a number of
47advantages:
48
49 * Before, iterating over bios was very awkward when you weren't processing
50 exactly one bvec at a time - for example, bio_copy_data() in fs/bio.c,
51 which copies the contents of one bio into another. Because the biovecs
52 wouldn't necessarily be the same size, the old code was tricky convoluted -
53 it had to walk two different bios at the same time, keeping both bi_idx and
54 and offset into the current biovec for each.
55
56 The new code is much more straightforward - have a look. This sort of
57 pattern comes up in a lot of places; a lot of drivers were essentially open
58 coding bvec iterators before, and having common implementation considerably
59 simplifies a lot of code.
60
61 * Before, any code that might need to use the biovec after the bio had been
62 completed (perhaps to copy the data somewhere else, or perhaps to resubmit
63 it somewhere else if there was an error) had to save the entire bvec array
64 - again, this was being done in a fair number of places.
65
66 * Biovecs can be shared between multiple bios - a bvec iter can represent an
67 arbitrary range of an existing biovec, both starting and ending midway
68 through biovecs. This is what enables efficient splitting of arbitrary
69 bios. Note that this means we _only_ use bi_size to determine when we've
70 reached the end of a bio, not bi_vcnt - and the bio_iovec() macro takes
71 bi_size into account when constructing biovecs.
72
73 * Splitting bios is now much simpler. The old bio_split() didn't even work on
74 bios with more than a single bvec! Now, we can efficiently split arbitrary
75 size bios - because the new bio can share the old bio's biovec.
76
77 Care must be taken to ensure the biovec isn't freed while the split bio is
78 still using it, in case the original bio completes first, though. Using
79 bio_chain() when splitting bios helps with this.
80
81 * Submitting partially completed bios is now perfectly fine - this comes up
82 occasionally in stacking block drivers and various code (e.g. md and
83 bcache) had some ugly workarounds for this.
84
85 It used to be the case that submitting a partially completed bio would work
86 fine to _most_ devices, but since accessing the raw bvec array was the
87 norm, not all drivers would respect bi_idx and those would break. Now,
88 since all drivers _must_ go through the bvec iterator - and have been
89 audited to make sure they are - submitting partially completed bios is
90 perfectly fine.
91
92Other implications:
93===================
94
95 * Almost all usage of bi_idx is now incorrect and has been removed; instead,
96 where previously you would have used bi_idx you'd now use a bvec_iter,
97 probably passing it to one of the helper macros.
98
99 I.e. instead of using bio_iovec_idx() (or bio->bi_iovec[bio->bi_idx]), you
100 now use bio_iter_iovec(), which takes a bvec_iter and returns a
101 literal struct bio_vec - constructed on the fly from the raw biovec but
102 taking into account bi_bvec_done (and bi_size).
103
104 * bi_vcnt can't be trusted or relied upon by driver code - i.e. anything that
105 doesn't actually own the bio. The reason is twofold: firstly, it's not
106 actually needed for iterating over the bio anymore - we only use bi_size.
107 Secondly, when cloning a bio and reusing (a portion of) the original bio's
108 biovec, in order to calculate bi_vcnt for the new bio we'd have to iterate
109 over all the biovecs in the new bio - which is silly as it's not needed.
110
111 So, don't use bi_vcnt anymore.
Documentation/blockdev/ramdisk.txt+15−6
@@ -36,21 +36,30 @@ allowing one to squeeze more programs onto an average installation or · 35 unmodified lines
36rescue floppy disk.36rescue floppy disk.
37 37
38 38
392) Kernel Command Line Parameters392) Parameters
40---------------------------------40---------------------------------
41 41
422a) Kernel Command Line Parameters
43
42 ramdisk_size=N44 ramdisk_size=N
43 ==============45 ==============
44 46
45This parameter tells the RAM disk driver to set up RAM disks of N k size. The47This parameter tells the RAM disk driver to set up RAM disks of N k size. The
46default is 4096 (4 MB) (8192 (8 MB) on S390).48default is 4096 (4 MB).
49
502b) Module parameters
47 51
48 ramdisk_blocksize=N52 rd_nr
49 ===================53 =====
54 /dev/ramX devices created.
50 55
51This parameter tells the RAM disk driver how many bytes to use per block. The56 max_part
52default is 1024 (BLOCK_SIZE).57 ========
58 Maximum partition number.
53 59
60 rd_size
61 =======
62 See ramdisk_size.
54 63
553) Using "rdev -r"643) Using "rdev -r"
56------------------65------------------
Documentation/blockdev/zram.txtrenamed from drivers/staging/zram/zram.txt+0−6
@@ -1,8 +1,6 @@
1zram: Compressed RAM based block devices1zram: Compressed RAM based block devices
2----------------------------------------2----------------------------------------
3 3
4Project home: http://compcache.googlecode.com/
5
6* Introduction4* Introduction
7 5
8The zram module creates RAM based block devices named /dev/zram<id>6The zram module creates RAM based block devices named /dev/zram<id>
@@ -69,9 +67,5 @@ Following shows a typical sequence of steps for using zram. · 60 unmodified lines
69 resets the disksize to zero. You must set the disksize again67 resets the disksize to zero. You must set the disksize again
70 before reusing the device.68 before reusing the device.
71 69
72Please report any problems at:
73 - Mailing list: linux-mm-cc at laptop dot org
74 - Issue tracker: http://code.google.com/p/compcache/issues/list
75
76Nitin Gupta70Nitin Gupta
77ngupta@vflare.org71ngupta@vflare.org
Documentation/cgroups/cgroups.txt+0−20
@@ -24,7 +24,6 @@ CONTENTS: · 23 unmodified lines
24 2.1 Basic Usage24 2.1 Basic Usage
25 2.2 Attaching processes25 2.2 Attaching processes
26 2.3 Mounting hierarchies by name26 2.3 Mounting hierarchies by name
27 2.4 Notification API
283. Kernel API273. Kernel API
29 3.1 Overview28 3.1 Overview
30 3.2 Synchronization29 3.2 Synchronization
@@ -472,25 +471,6 @@ you give a subsystem a name. · 441 unmodified lines
472The name of the subsystem appears as part of the hierarchy description471The name of the subsystem appears as part of the hierarchy description
473in /proc/mounts and /proc/<pid>/cgroups.472in /proc/mounts and /proc/<pid>/cgroups.
474 473
4752.4 Notification API
476--------------------
477
478There is mechanism which allows to get notifications about changing
479status of a cgroup.
480
481To register a new notification handler you need to:
482 - create a file descriptor for event notification using eventfd(2);
483 - open a control file to be monitored (e.g. memory.usage_in_bytes);
484 - write "<event_fd> <control_fd> <args>" to cgroup.event_control.
485 Interpretation of args is defined by control file implementation;
486
487eventfd will be woken up by control file implementation or when the
488cgroup is removed.
489
490To unregister a notification handler just close eventfd.
491
492NOTE: Support of notifications should be implemented for the control
493file. See documentation for the subsystem.
494 474
4953. Kernel API4753. Kernel API
496=============476=============
Documentation/cgroups/memory.txt+2−2
@@ -577,7 +577,7 @@ Each memcg's numa_stat file includes "total", "file", "anon" and "unevictable" · 576 unmodified lines
577per-node page counts including "hierarchical_<counter>" which sums up all577per-node page counts including "hierarchical_<counter>" which sums up all
578hierarchical children's values in addition to the memcg's own value.578hierarchical children's values in addition to the memcg's own value.
579 579
580The ouput format of memory.numa_stat is:580The output format of memory.numa_stat is:
581 581
582total=<total pages> N0=<node 0 pages> N1=<node 1 pages> ...582total=<total pages> N0=<node 0 pages> N1=<node 1 pages> ...
583file=<total file pages> N0=<node 0 pages> N1=<node 1 pages> ...583file=<total file pages> N0=<node 0 pages> N1=<node 1 pages> ...
@@ -670,7 +670,7 @@ page tables. · 86 unmodified lines
670 670
6718.1 Interface6718.1 Interface
672 672
673This feature is disabled by default. It can be enabledi (and disabled again) by673This feature is disabled by default. It can be enabled (and disabled again) by
674writing to memory.move_charge_at_immigrate of the destination cgroup.674writing to memory.move_charge_at_immigrate of the destination cgroup.
675 675
676If you want to enable it:676If you want to enable it:
Documentation/cgroups/net_cls.txt+5−0
@@ -6,6 +6,8 @@ tag network packets with a class identifier (classid). · 5 unmodified lines
6 6
7The Traffic Controller (tc) can be used to assign7The Traffic Controller (tc) can be used to assign
8different priorities to packets from different cgroups.8different priorities to packets from different cgroups.
9Also, Netfilter (iptables) can use this tag to perform
10actions on such packets.
9 11
10Creating a net_cls cgroups instance creates a net_cls.classid file.12Creating a net_cls cgroups instance creates a net_cls.classid file.
11This net_cls.classid value is initialized to 0.13This net_cls.classid value is initialized to 0.
@@ -32,3 +34,6 @@ tc class add dev eth0 parent 10: classid 10:1 htb rate 40mbit · 20 unmodified lines
32 - creating traffic class 10:134 - creating traffic class 10:1
33 35
34tc filter add dev eth0 parent 10: protocol ip prio 10 handle 1: cgroup36tc filter add dev eth0 parent 10: protocol ip prio 10 handle 1: cgroup
37
38configuring iptables, basic example:
39iptables -A OUTPUT -m cgroup ! --cgroup 0x100001 -j DROP
Documentation/cgroups/resource_counter.txt+3−3
@@ -95,10 +95,10 @@ to work with it. · 94 unmodified lines
95 95
96 f. u64 res_counter_uncharge_until96 f. u64 res_counter_uncharge_until
97 (struct res_counter *rc, struct res_counter *top,97 (struct res_counter *rc, struct res_counter *top,
98 unsinged long val)98 unsigned long val)
99 99
100 Almost same as res_cunter_uncharge() but propagation of uncharge100 Almost same as res_counter_uncharge() but propagation of uncharge
101 stops when rc == top. This is useful when kill a res_coutner in101 stops when rc == top. This is useful when kill a res_counter in
102 child cgroup.102 child cgroup.
103 103
104 2.1 Other accounting routines104 2.1 Other accounting routines
Documentation/clk.txt+7−0
@@ -77,6 +77,11 @@ the operations defined in clk.h: · 76 unmodified lines
77 int (*set_parent)(struct clk_hw *hw, u8 index);77 int (*set_parent)(struct clk_hw *hw, u8 index);
78 u8 (*get_parent)(struct clk_hw *hw);78 u8 (*get_parent)(struct clk_hw *hw);
79 int (*set_rate)(struct clk_hw *hw, unsigned long);79 int (*set_rate)(struct clk_hw *hw, unsigned long);
80 int (*set_rate_and_parent)(struct clk_hw *hw,
81 unsigned long rate,
82 unsigned long parent_rate, u8 index);
83 unsigned long (*recalc_accuracy)(struct clk_hw *hw,
84 unsigned long parent_accuracy);
80 void (*init)(struct clk_hw *hw);85 void (*init)(struct clk_hw *hw);
81 };86 };
82 87
@@ -202,6 +207,8 @@ optional or must be evaluated on a case-by-case basis. · 119 unmodified lines
202.set_parent | | | n | y | n |207.set_parent | | | n | y | n |
203.get_parent | | | n | y | n |208.get_parent | | | n | y | n |
204 | | | | | |209 | | | | | |
210.recalc_accuracy| | | | | |
211 | | | | | |
205.init | | | | | |212.init | | | | | |
206 -----------------------------------------------------------213 -----------------------------------------------------------
207[1] either one of round_rate or determine_rate is required.214[1] either one of round_rate or determine_rate is required.
Documentation/cpu-freq/boost.txt+13−13
@@ -17,8 +17,8 @@ Introduction · 16 unmodified lines
17Some CPUs support a functionality to raise the operating frequency of17Some CPUs support a functionality to raise the operating frequency of
18some cores in a multi-core package if certain conditions apply, mostly18some cores in a multi-core package if certain conditions apply, mostly
19if the whole chip is not fully utilized and below it's intended thermal19if the whole chip is not fully utilized and below it's intended thermal
20budget. This is done without operating system control by a combination20budget. The decision about boost disable/enable is made either at hardware
21of hardware and firmware.21(e.g. x86) or software (e.g ARM).
22On Intel CPUs this is called "Turbo Boost", AMD calls it "Turbo-Core",22On Intel CPUs this is called "Turbo Boost", AMD calls it "Turbo-Core",
23in technical documentation "Core performance boost". In Linux we use23in technical documentation "Core performance boost". In Linux we use
24the term "boost" for convenience.24the term "boost" for convenience.
@@ -48,24 +48,24 @@ be desirable: · 23 unmodified lines
48User controlled switch48User controlled switch
49----------------------49----------------------
50 50
51To allow the user to toggle the boosting functionality, the acpi-cpufreq51To allow the user to toggle the boosting functionality, the cpufreq core
52driver exports a sysfs knob to disable it. There is a file:52driver exports a sysfs knob to enable or disable it. There is a file:
53/sys/devices/system/cpu/cpufreq/boost53/sys/devices/system/cpu/cpufreq/boost
54which can either read "0" (boosting disabled) or "1" (boosting enabled).54which can either read "0" (boosting disabled) or "1" (boosting enabled).
55Reading the file is always supported, even if the processor does not55The file is exported only when cpufreq driver supports boosting.
56support boosting. In this case the file will be read-only and always56Explicitly changing the permissions and writing to that file anyway will
57reads as "0". Explicitly changing the permissions and writing to that57return EINVAL.
58file anyway will return EINVAL.
59 58
60On supported CPUs one can write either a "0" or a "1" into this file.59On supported CPUs one can write either a "0" or a "1" into this file.
61This will either disable the boost functionality on all cores in the60This will either disable the boost functionality on all cores in the
62whole system (0) or will allow the hardware to boost at will (1).61whole system (0) or will allow the software or hardware to boost at will
62(1).
63 63
64Writing a "1" does not explicitly boost the system, but just allows the64Writing a "1" does not explicitly boost the system, but just allows the
65CPU (and the firmware) to boost at their discretion. Some implementations65CPU to boost at their discretion. Some implementations take external
66take external factors like the chip's temperature into account, so66factors like the chip's temperature into account, so boosting once does
67boosting once does not necessarily mean that it will occur every time67not necessarily mean that it will occur every time even using the exact
68even using the exact same software setup.68same software setup.
69 69
70 70
71AMD legacy cpb switch71AMD legacy cpb switch
Documentation/cpu-freq/intel-pstate.txt+40−0
@@ -0,0 +1,40 @@
1Intel P-state driver
2--------------------
3
4This driver implements a scaling driver with an internal governor for
5Intel Core processors. The driver follows the same model as the
6Transmeta scaling driver (longrun.c) and implements the setpolicy()
7instead of target(). Scaling drivers that implement setpolicy() are
8assumed to implement internal governors by the cpufreq core. All the
9logic for selecting the current P state is contained within the
10driver; no external governor is used by the cpufreq core.
11
12Intel SandyBridge+ processors are supported.
13
14New sysfs files for controlling P state selection have been added to
15/sys/devices/system/cpu/intel_pstate/
16
17 max_perf_pct: limits the maximum P state that will be requested by
18 the driver stated as a percentage of the available performance.
19
20 min_perf_pct: limits the minimum P state that will be requested by
21 the driver stated as a percentage of the available performance.
22
23 no_turbo: limits the driver to selecting P states below the turbo
24 frequency range.
25
26For contemporary Intel processors, the frequency is controlled by the
27processor itself and the P-states exposed to software are related to
28performance levels. The idea that frequency can be set to a single
29frequency is fiction for Intel Core processors. Even if the scaling
30driver selects a single P state the actual frequency the processor
31will run at is selected by the processor itself.
32
33New debugfs files have also been added to /sys/kernel/debug/pstate_snb/
34
35 deadband
36 d_gain_pct
37 i_gain_pct
38 p_gain_pct
39 sample_rate_ms
40 setpoint
Documentation/cpu-hotplug.txt+1−1
@@ -285,7 +285,7 @@ A: This is what you would need in your kernel code to receive notifications. · 284 unmodified lines
285 return NOTIFY_OK;285 return NOTIFY_OK;
286 }286 }
287 287
288 static struct notifier_block foobar_cpu_notifer =288 static struct notifier_block foobar_cpu_notifier =
289 {289 {
290 .notifier_call = foobar_cpu_callback,290 .notifier_call = foobar_cpu_callback,
291 };291 };
Documentation/debugging-via-ohci1394.txt+19−22
@@ -22,10 +22,12 @@ locations such as buffers like the printk buffer or the process table. · 21 unmodified lines
22Retrieving a full system memory dump is also possible over the FireWire,22Retrieving a full system memory dump is also possible over the FireWire,
23using data transfer rates in the order of 10MB/s or more.23using data transfer rates in the order of 10MB/s or more.
24 24
25Memory access is currently limited to the low 4G of physical address25With most FireWire controllers, memory access is limited to the low 4 GB
26space which can be a problem on IA64 machines where memory is located26of physical address space. This can be a problem on IA64 machines where
27mostly above that limit, but it is rarely a problem on more common27memory is located mostly above that limit, but it is rarely a problem on
28hardware such as hardware based on x86, x86-64 and PowerPC.28more common hardware such as x86, x86-64 and PowerPC. However, at least
29Agere/LSI FW643e and FW643e2 controllers are known to support access to
30physical addresses above 4 GB.
29 31
30Together with a early initialization of the OHCI-1394 controller for debugging,32Together with a early initialization of the OHCI-1394 controller for debugging,
31this facility proved most useful for examining long debugs logs in the printk33this facility proved most useful for examining long debugs logs in the printk
@@ -36,17 +38,11 @@ available (notebooks) or too slow for extensive debug information (like ACPI). · 4 unmodified lines
36Drivers38Drivers
37-------39-------
38 40
39The ohci1394 driver in drivers/ieee1394 initializes the OHCI-1394 controllers41The firewire-ohci driver in drivers/firewire uses filtered physical
40to a working state and enables physical DMA by default for all remote nodes.
41This can be turned off by ohci1394's module parameter phys_dma=0.
42
43The alternative firewire-ohci driver in drivers/firewire uses filtered physical
44DMA by default, which is more secure but not suitable for remote debugging.42DMA by default, which is more secure but not suitable for remote debugging.
45Compile the driver with CONFIG_FIREWIRE_OHCI_REMOTE_DMA (Kernel hacking menu:43Pass the remote_dma=1 parameter to the driver to get unfiltered physical DMA.
46Remote debugging over FireWire with firewire-ohci) to get unfiltered physical
47DMA.
48 44
49Because ohci1394 and firewire-ohci depend on the PCI enumeration to be45Because the firewire-ohci driver depends on the PCI enumeration to be
50completed, an initialization routine which runs pretty early has been46completed, an initialization routine which runs pretty early has been
51implemented for x86. This routine runs long before console_init() can be47implemented for x86. This routine runs long before console_init() can be
52called, i.e. before the printk buffer appears on the console.48called, i.e. before the printk buffer appears on the console.
@@ -64,7 +60,7 @@ be used to view the printk buffer of a remote machine, even with live update. · 11 unmodified lines
64 60
65Bernhard Kaindl enhanced firescope to support accessing 64-bit machines61Bernhard Kaindl enhanced firescope to support accessing 64-bit machines
66from 32-bit firescope and vice versa:62from 32-bit firescope and vice versa:
67- http://halobates.de/firewire/firescope-0.2.2.tar.bz263- http://v3.sk/~lkundrak/firescope/
68 64
69and he implemented fast system dump (alpha version - read README.txt):65and he implemented fast system dump (alpha version - read README.txt):
70- http://halobates.de/firewire/firedump-0.1.tar.bz266- http://halobates.de/firewire/firedump-0.1.tar.bz2
@@ -92,11 +88,11 @@ Step-by-step instructions for using firescope with early OHCI initialization: · 21 unmodified lines
92 88
931) Verify that your hardware is supported:891) Verify that your hardware is supported:
94 90
95 Load the ohci1394 or the fw-ohci module and check your kernel logs.91 Load the firewire-ohci module and check your kernel logs.
96 You should see a line similar to92 You should see a line similar to
97 93
98 ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[18] MMIO=[fe9ff800-fe9fffff]94 firewire_ohci 0000:15:00.1: added OHCI v1.0 device as card 2, 4 IR + 4 IT
99 ... Max Packet=[2048] IR/IT contexts=[4/8]95 ... contexts, quirks 0x11
100 96
101 when loading the driver. If you have no supported controller, many PCI,97 when loading the driver. If you have no supported controller, many PCI,
102 CardBus and even some Express cards which are fully compliant to OHCI-139498 CardBus and even some Express cards which are fully compliant to OHCI-1394
@@ -105,6 +101,9 @@ Step-by-step instructions for using firescope with early OHCI initialization: · 2 unmodified lines
105 compliant, they are based on TI PCILynx chips and require drivers for Win-101 compliant, they are based on TI PCILynx chips and require drivers for Win-
106 dows operating systems.102 dows operating systems.
107 103
104 The mentioned kernel log message contains ">4 GB phys DMA" in case of
105 OHCI-1394 controllers which support accesses above this limit.
106
1082) Establish a working FireWire cable connection:1072) Establish a working FireWire cable connection:
109 108
110 Any FireWire cable, as long at it provides electrically and mechanically109 Any FireWire cable, as long at it provides electrically and mechanically
@@ -113,20 +112,18 @@ Step-by-step instructions for using firescope with early OHCI initialization: · 2 unmodified lines
113 112
114 If an driver is running on both machines you should see a line like113 If an driver is running on both machines you should see a line like
115 114
116 ieee1394: Node added: ID:BUS[0-01:1023] GUID[0090270001b84bba]115 firewire_core 0000:15:00.1: created device fw1: GUID 00061b0020105917, S400
117 116
118 on both machines in the kernel log when the cable is plugged in117 on both machines in the kernel log when the cable is plugged in
119 and connects the two machines.118 and connects the two machines.
120 119
1213) Test physical DMA using firescope:1203) Test physical DMA using firescope:
122 121
123 On the debug host,122 On the debug host, make sure that /dev/fw* is accessible,
124 - load the raw1394 module,
125 - make sure that /dev/raw1394 is accessible,
126 then start firescope:123 then start firescope:
127 124
128 $ firescope125 $ firescope
129 Port 0 (ohci1394) opened, 2 nodes detected126 Port 0 (/dev/fw1) opened, 2 nodes detected
130 127
131 FireScope128 FireScope
132 ---------129 ---------
Documentation/device-mapper/cache-policies.txt+14−2
@@ -40,8 +40,11 @@ on hit count on entry. The policy aims to take different cache miss · 39 unmodified lines
40costs into account and to adjust to varying load patterns automatically.40costs into account and to adjust to varying load patterns automatically.
41 41
42Message and constructor argument pairs are:42Message and constructor argument pairs are:
43 'sequential_threshold <#nr_sequential_ios>' and43 'sequential_threshold <#nr_sequential_ios>'
44 'random_threshold <#nr_random_ios>'.44 'random_threshold <#nr_random_ios>'
45 'read_promote_adjustment <value>'
46 'write_promote_adjustment <value>'
47 'discard_promote_adjustment <value>'
45 48
46The sequential threshold indicates the number of contiguous I/Os49The sequential threshold indicates the number of contiguous I/Os
47required before a stream is treated as sequential. The random threshold50required before a stream is treated as sequential. The random threshold
@@ -55,6 +58,15 @@ since spindles tend to have good bandwidth. The io_tracker counts · 7 unmodified lines
55contiguous I/Os to try to spot when the io is in one of these sequential58contiguous I/Os to try to spot when the io is in one of these sequential
56modes.59modes.
57 60
61Internally the mq policy maintains a promotion threshold variable. If
62the hit count of a block not in the cache goes above this threshold it
63gets promoted to the cache. The read, write and discard promote adjustment
64tunables allow you to tweak the promotion threshold by adding a small
65value based on the io type. They default to 4, 8 and 1 respectively.
66If you're trying to quickly warm a new cache device you may wish to
67reduce these to encourage promotion. Remember to switch them back to
68their defaults after the cache fills though.
69
58cleaner70cleaner
59-------71-------
60 72
Documentation/device-mapper/cache.txt+29−22
@@ -217,36 +217,43 @@ the characteristics of a specific policy, always request it by name. · 216 unmodified lines
217Status217Status
218------218------
219 219
220<#used metadata blocks>/<#total metadata blocks> <#read hits> <#read misses>220<metadata block size> <#used metadata blocks>/<#total metadata blocks>
221<#write hits> <#write misses> <#demotions> <#promotions> <#blocks in cache>221<cache block size> <#used cache blocks>/<#total cache blocks>
222<#dirty> <#features> <features>* <#core args> <core args>* <#policy args>222<#read hits> <#read misses> <#write hits> <#write misses>
223<policy args>*223<#demotions> <#promotions> <#dirty> <#features> <features>*
224 224<#core args> <core args>* <policy name> <#policy args> <policy args>*
225#used metadata blocks : Number of metadata blocks used225
226#total metadata blocks : Total number of metadata blocks226metadata block size : Fixed block size for each metadata block in
227#read hits : Number of times a READ bio has been mapped227 sectors
228#used metadata blocks : Number of metadata blocks used
229#total metadata blocks : Total number of metadata blocks
230cache block size : Configurable block size for the cache device
231 in sectors
232#used cache blocks : Number of blocks resident in the cache
233#total cache blocks : Total number of cache blocks
234#read hits : Number of times a READ bio has been mapped
228 to the cache235 to the cache
229#read misses : Number of times a READ bio has been mapped236#read misses : Number of times a READ bio has been mapped
230 to the origin237 to the origin
231#write hits : Number of times a WRITE bio has been mapped238#write hits : Number of times a WRITE bio has been mapped
232 to the cache239 to the cache
233#write misses : Number of times a WRITE bio has been240#write misses : Number of times a WRITE bio has been
234 mapped to the origin241 mapped to the origin
235#demotions : Number of times a block has been removed242#demotions : Number of times a block has been removed
236 from the cache243 from the cache
237#promotions : Number of times a block has been moved to244#promotions : Number of times a block has been moved to
238 the cache245 the cache
239#blocks in cache : Number of blocks resident in the cache246#dirty : Number of blocks in the cache that differ
240#dirty : Number of blocks in the cache that differ
241 from the origin247 from the origin
242#feature args : Number of feature args to follow248#feature args : Number of feature args to follow
243feature args : 'writethrough' (optional)249feature args : 'writethrough' (optional)
244#core args : Number of core arguments (must be even)250#core args : Number of core arguments (must be even)
245core args : Key/value pairs for tuning the core251core args : Key/value pairs for tuning the core
246 e.g. migration_threshold252 e.g. migration_threshold
247#policy args : Number of policy arguments to follow (must be even)253policy name : Name of the policy
248policy args : Key/value pairs254#policy args : Number of policy arguments to follow (must be even)
249 e.g. 'sequential_threshold 1024255policy args : Key/value pairs
256 e.g. sequential_threshold
250 257
251Messages258Messages
252--------259--------
Documentation/device-mapper/thin-provisioning.txt+7−0
@@ -235,6 +235,8 @@ i) Constructor · 234 unmodified lines
235 read_only: Don't allow any changes to be made to the pool235 read_only: Don't allow any changes to be made to the pool
236 metadata.236 metadata.
237 237
238 error_if_no_space: Error IOs, instead of queueing, if no space.
239
238 Data block size must be between 64KB (128 sectors) and 1GB240 Data block size must be between 64KB (128 sectors) and 1GB
239 (2097152 sectors) inclusive.241 (2097152 sectors) inclusive.
240 242
@@ -276,6 +278,11 @@ ii) Status · 35 unmodified lines
276 contain the string 'Fail'. The userspace recovery tools278 contain the string 'Fail'. The userspace recovery tools
277 should then be used.279 should then be used.
278 280
281 error_if_no_space|queue_if_no_space
282 If the pool runs out of data or metadata space, the pool will
283 either queue or error the IO destined to the data device. The
284 default is to queue the IO until more space is added.
285
279iii) Messages286iii) Messages
280 287
281 create_thin <dev id>288 create_thin <dev id>
Documentation/devices.txt+1−0
@@ -409,6 +409,7 @@ Your cooperation is appreciated. · 408 unmodified lines
409 193 = /dev/d7s SPARC 7-segment display409 193 = /dev/d7s SPARC 7-segment display
410 194 = /dev/zkshim Zero-Knowledge network shim control410 194 = /dev/zkshim Zero-Knowledge network shim control
411 195 = /dev/elographics/e2201 Elographics touchscreen E271-2201411 195 = /dev/elographics/e2201 Elographics touchscreen E271-2201
412 196 = /dev/vfio/vfio VFIO userspace driver interface
412 198 = /dev/sexec Signed executable interface413 198 = /dev/sexec Signed executable interface
413 199 = /dev/scanners/cuecat :CueCat barcode scanner414 199 = /dev/scanners/cuecat :CueCat barcode scanner
414 200 = /dev/net/tun TAP/TUN network device415 200 = /dev/net/tun TAP/TUN network device
Documentation/devicetree/bindings/ABI.txt+39−0
@@ -0,0 +1,39 @@
1
2 Devicetree (DT) ABI
3
4I. Regarding stable bindings/ABI, we quote from the 2013 ARM mini-summit
5 summary document:
6
7 "That still leaves the question of, what does a stable binding look
8 like? Certainly a stable binding means that a newer kernel will not
9 break on an older device tree, but that doesn't mean the binding is
10 frozen for all time. Grant said there are ways to change bindings that
11 don't result in breakage. For instance, if a new property is added,
12 then default to the previous behaviour if it is missing. If a binding
13 truly needs an incompatible change, then change the compatible string
14 at the same time. The driver can bind against both the old and the
15 new. These guidelines aren't new, but they desperately need to be
16 documented."
17
18II. General binding rules
19
20 1) Maintainers, don't let perfect be the enemy of good. Don't hold up a
21 binding because it isn't perfect.
22
23 2) Use specific compatible strings so that if we need to add a feature (DMA)
24 in the future, we can create a new compatible string. See I.
25
26 3) Bindings can be augmented, but the driver shouldn't break when given
27 the old binding. ie. add additional properties, but don't change the
28 meaning of an existing property. For drivers, default to the original
29 behaviour when a newly added property is missing.
30
31 4) Don't submit bindings for staging or unstable. That will be decided by
32 the devicetree maintainers *after* discussion on the mailinglist.
33
34III. Notes
35
36 1) This document is intended as a general familiarization with the process as
37 decided at the 2013 Kernel Summit. When in doubt, the current word of the
38 devicetree maintainers overrules this document. In that situation, a patch
39 updating this document would be appreciated.
Documentation/devicetree/bindings/arm/arm-boards+8−0
@@ -14,6 +14,9 @@ Required nodes: · 13 unmodified lines
14- core-module: the root node to the Integrator platforms must have14- core-module: the root node to the Integrator platforms must have
15 a core-module with regs and the compatible string15 a core-module with regs and the compatible string
16 "arm,core-module-integrator"16 "arm,core-module-integrator"
17- external-bus-interface: the root node to the Integrator platforms
18 must have an external bus interface with regs and the
19 compatible-string "arm,external-bus-interface"
17 20
18 Required properties for the core module:21 Required properties for the core module:
19 - regs: the location and size of the core module registers, one22 - regs: the location and size of the core module registers, one
@@ -48,6 +51,11 @@ Required nodes: · 28 unmodified lines
48 reg = <0x10000000 0x200>;51 reg = <0x10000000 0x200>;
49 };52 };
50 53
54 ebi@12000000 {
55 compatible = "arm,external-bus-interface";
56 reg = <0x12000000 0x100>;
57 };
58
51 syscon {59 syscon {
52 compatible = "arm,integrator-ap-syscon";60 compatible = "arm,integrator-ap-syscon";
53 reg = <0x11000000 0x100>;61 reg = <0x11000000 0x100>;
Documentation/devicetree/bindings/arm/atmel-aic.txt+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
2 2
3Required properties:3Required properties:
4- compatible: Should be "atmel,<chip>-aic"4- compatible: Should be "atmel,<chip>-aic"
5 <chip> can be "at91rm9200" or "sama5d3"
5- interrupt-controller: Identifies the node as an interrupt controller.6- interrupt-controller: Identifies the node as an interrupt controller.
6- interrupt-parent: For single AIC system, it is an empty property.7- interrupt-parent: For single AIC system, it is an empty property.
7- #interrupt-cells: The number of cells to define the interrupts. It should be 3.8- #interrupt-cells: The number of cells to define the interrupts. It should be 3.
Documentation/devicetree/bindings/arm/atmel-at91.txt+10−1
@@ -20,6 +20,10 @@ TC/TCLIB Timer required properties: · 19 unmodified lines
20- interrupts: Should contain all interrupts for the TC block20- interrupts: Should contain all interrupts for the TC block
21 Note that you can specify several interrupt cells if the TC21 Note that you can specify several interrupt cells if the TC
22 block has one interrupt per channel.22 block has one interrupt per channel.
23- clock-names: tuple listing input clock names.
24 Required elements: "t0_clk"
25 Optional elements: "t1_clk", "t2_clk"
26- clocks: phandles to input clocks.
23 27
24Examples:28Examples:
25 29
@@ -28,6 +32,8 @@ One interrupt per TC block: · 2 unmodified lines
28 compatible = "atmel,at91rm9200-tcb";32 compatible = "atmel,at91rm9200-tcb";
29 reg = <0xfff7c000 0x100>;33 reg = <0xfff7c000 0x100>;
30 interrupts = <18 4>;34 interrupts = <18 4>;
35 clocks = <&tcb0_clk>;
36 clock-names = "t0_clk";
31 };37 };
32 38
33One interrupt per TC channel in a TC block:39One interrupt per TC channel in a TC block:
@@ -35,6 +41,8 @@ One interrupt per TC channel in a TC block: · 1 unmodified line
35 compatible = "atmel,at91rm9200-tcb";41 compatible = "atmel,at91rm9200-tcb";
36 reg = <0xfffdc000 0x100>;42 reg = <0xfffdc000 0x100>;
37 interrupts = <26 4 27 4 28 4>;43 interrupts = <26 4 27 4 28 4>;
44 clocks = <&tcb1_clk>;
45 clock-names = "t0_clk";
38 };46 };
39 47
40RSTC Reset Controller required properties:48RSTC Reset Controller required properties:
@@ -50,7 +58,8 @@ Example: · 9 unmodified lines
50 };58 };
51 59
52RAMC SDRAM/DDR Controller required properties:60RAMC SDRAM/DDR Controller required properties:
53- compatible: Should be "atmel,at91sam9260-sdramc",61- compatible: Should be "atmel,at91rm9200-sdramc",
62 "atmel,at91sam9260-sdramc",
54 "atmel,at91sam9g45-ddramc",63 "atmel,at91sam9g45-ddramc",
55- reg: Should contain registers location and length64- reg: Should contain registers location and length
56 For at91sam9263 and at91sam9g45 you must specify 2 entries.65 For at91sam9263 and at91sam9g45 you must specify 2 entries.
Documentation/devicetree/bindings/arm/bcm/kona-timer.txt+6−1
@@ -8,13 +8,18 @@ Required properties: · 7 unmodified lines
8- DEPRECATED: compatible : "bcm,kona-timer"8- DEPRECATED: compatible : "bcm,kona-timer"
9- reg : Register range for the timer9- reg : Register range for the timer
10- interrupts : interrupt for the timer10- interrupts : interrupt for the timer
11- clocks: phandle + clock specifier pair of the external clock
11- clock-frequency: frequency that the clock operates12- clock-frequency: frequency that the clock operates
12 13
14Only one of clocks or clock-frequency should be specified.
15
16Refer to clocks/clock-bindings.txt for generic clock consumer properties.
17
13Example:18Example:
14 timer@35006000 {19 timer@35006000 {
15 compatible = "brcm,kona-timer";20 compatible = "brcm,kona-timer";
16 reg = <0x35006000 0x1000>;21 reg = <0x35006000 0x1000>;
17 interrupts = <0x0 7 0x4>;22 interrupts = <0x0 7 0x4>;
18 clock-frequency = <32768>;23 clocks = <&hub_timer_clk>;
19 };24 };
20 25
Documentation/devicetree/bindings/arm/davinci/nand.txt+0−46
@@ -1,46 +0,0 @@
1* Texas Instruments Davinci NAND
2
3This file provides information, what the device node for the
4davinci nand interface contain.
5
6Required properties:
7- compatible: "ti,davinci-nand";
8- reg : contain 2 offset/length values:
9 - offset and length for the access window
10 - offset and length for accessing the aemif control registers
11- ti,davinci-chipselect: Indicates on the davinci_nand driver which
12 chipselect is used for accessing the nand.
13
14Recommended properties :
15- ti,davinci-mask-ale: mask for ale
16- ti,davinci-mask-cle: mask for cle
17- ti,davinci-mask-chipsel: mask for chipselect
18- ti,davinci-ecc-mode: ECC mode valid values for davinci driver:
19 - "none"
20 - "soft"
21 - "hw"
22- ti,davinci-ecc-bits: used ECC bits, currently supported 1 or 4.
23- ti,davinci-nand-buswidth: buswidth 8 or 16
24- ti,davinci-nand-use-bbt: use flash based bad block table support.
25
26nand device bindings may contain additional sub-nodes describing
27partitions of the address space. See partition.txt for more detail.
28
29Example(da850 EVM ):
30nand_cs3@62000000 {
31 compatible = "ti,davinci-nand";
32 reg = <0x62000000 0x807ff
33 0x68000000 0x8000>;
34 ti,davinci-chipselect = <1>;
35 ti,davinci-mask-ale = <0>;
36 ti,davinci-mask-cle = <0>;
37 ti,davinci-mask-chipsel = <0>;
38 ti,davinci-ecc-mode = "hw";
39 ti,davinci-ecc-bits = <4>;
40 ti,davinci-nand-use-bbt;
41
42 partition@180000 {
43 label = "ubifs";
44 reg = <0x180000 0x7e80000>;
45 };
46};
Documentation/devicetree/bindings/arm/firmware/tlm,trusted-foundations.txt+20−0
@@ -0,0 +1,20 @@
1Trusted Foundations
2-------------------
3
4Boards that use the Trusted Foundations secure monitor can signal its
5presence by declaring a node compatible with "tlm,trusted-foundations"
6under the /firmware/ node
7
8Required properties:
9- compatible: "tlm,trusted-foundations"
10- tlm,version-major: major version number of Trusted Foundations firmware
11- tlm,version-minor: minor version number of Trusted Foundations firmware
12
13Example:
14 firmware {
15 trusted-foundations {
16 compatible = "tlm,trusted-foundations";
17 tlm,version-major = <2>;
18 tlm,version-minor = <8>;
19 };
20 };
Documentation/devicetree/bindings/arm/gic.txt+1−0
@@ -11,6 +11,7 @@ have PPIs or SGIs. · 10 unmodified lines
11Main node required properties:11Main node required properties:
12 12
13- compatible : should be one of:13- compatible : should be one of:
14 "arm,gic-400"
14 "arm,cortex-a15-gic"15 "arm,cortex-a15-gic"
15 "arm,cortex-a9-gic"16 "arm,cortex-a9-gic"
16 "arm,cortex-a7-gic"17 "arm,cortex-a7-gic"
Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt+32−0
@@ -0,0 +1,32 @@
1Hisilicon Platforms Device Tree Bindings
2----------------------------------------------------
3
4Hi4511 Board
5Required root node properties:
6 - compatible = "hisilicon,hi3620-hi4511";
7
8Hisilicon system controller
9
10Required properties:
11- compatible : "hisilicon,sysctrl"
12- reg : Register address and size
13
14Optional properties:
15- smp-offset : offset in sysctrl for notifying slave cpu booting
16 cpu 1, reg;
17 cpu 2, reg + 0x4;
18 cpu 3, reg + 0x8;
19 If reg value is not zero, cpun exit wfi and go
20- resume-offset : offset in sysctrl for notifying cpu0 when resume
21- reboot-offset : offset in sysctrl for system reboot
22
23Example:
24
25 /* for Hi3620 */
26 sysctrl: system-controller@fc802000 {
27 compatible = "hisilicon,sysctrl";
28 reg = <0xfc802000 0x1000>;
29 smp-offset = <0x31c>;
30 resume-offset = <0x308>;
31 reboot-offset = <0x4>;
32 };
Documentation/devicetree/bindings/arm/l2cc.txt+12−11
@@ -7,20 +7,21 @@ The ARM L2 cache representation in the device tree should be done as follows: · 6 unmodified lines
7Required properties:7Required properties:
8 8
9- compatible : should be one of:9- compatible : should be one of:
10 "arm,pl310-cache"10 "arm,pl310-cache"
11 "arm,l220-cache"11 "arm,l220-cache"
12 "arm,l210-cache"12 "arm,l210-cache"
13 "marvell,aurora-system-cache": Marvell Controller designed to be13 "bcm,bcm11351-a2-pl310-cache": DEPRECATED by "brcm,bcm11351-a2-pl310-cache"
14 "brcm,bcm11351-a2-pl310-cache": For Broadcom bcm11351 chipset where an
15 offset needs to be added to the address before passing down to the L2
16 cache controller
17 "marvell,aurora-system-cache": Marvell Controller designed to be
14 compatible with the ARM one, with system cache mode (meaning18 compatible with the ARM one, with system cache mode (meaning
15 maintenance operations on L1 are broadcasted to the L2 and L219 maintenance operations on L1 are broadcasted to the L2 and L2
16 performs the same operation).20 performs the same operation).
17 "marvell,"aurora-outer-cache: Marvell Controller designed to be21 "marvell,aurora-outer-cache": Marvell Controller designed to be
18 compatible with the ARM one with outer cache mode.22 compatible with the ARM one with outer cache mode.
19 "brcm,bcm11351-a2-pl310-cache": For Broadcom bcm11351 chipset where an23 "marvell,tauros3-cache": Marvell Tauros3 cache controller, compatible
20 offset needs to be added to the address before passing down to the L224 with arm,pl310-cache controller.
21 cache controller
22 "bcm,bcm11351-a2-pl310-cache": DEPRECATED by
23 "brcm,bcm11351-a2-pl310-cache"
24- cache-unified : Specifies the cache is a unified cache.25- cache-unified : Specifies the cache is a unified cache.
25- cache-level : Should be set to 2 for a level 2 cache.26- cache-level : Should be set to 2 for a level 2 cache.
26- reg : Physical base address and size of cache controller's memory mapped27- reg : Physical base address and size of cache controller's memory mapped
Documentation/devicetree/bindings/arm/marvell,berlin.txt+24−0
@@ -0,0 +1,24 @@
1Marvell Berlin SoC Family Device Tree Bindings
2---------------------------------------------------------------
3
4Boards with a SoC of the Marvell Berlin family, e.g. Armada 1500
5shall have the following properties:
6
7* Required root node properties:
8compatible: must contain "marvell,berlin"
9
10In addition, the above compatible shall be extended with the specific
11SoC and board used. Currently known SoC compatibles are:
12 "marvell,berlin2" for Marvell Armada 1500 (BG2, 88DE3100),
13 "marvell,berlin2cd" for Marvell Armada 1500-mini (BG2CD, 88DE3005)
14 "marvell,berlin2ct" for Marvell Armada ? (BG2CT, 88DE????)
15 "marvell,berlin3" for Marvell Armada ? (BG3, 88DE????)
16
17* Example:
18
19/ {
20 model = "Sony NSZ-GS7";
21 compatible = "sony,nsz-gs7", "marvell,berlin2", "marvell,berlin";
22
23 ...
24}
Documentation/devicetree/bindings/arm/moxart.txt+12−0
@@ -0,0 +1,12 @@
1MOXA ART device tree bindings
2
3Boards with the MOXA ART SoC shall have the following properties:
4
5Required root node property:
6
7compatible = "moxa,moxart";
8
9Boards:
10
11- UC-7112-LX: embedded computer
12 compatible = "moxa,moxart-uc-7112-lx", "moxa,moxart"
Documentation/devicetree/bindings/arm/omap/omap.txt+53−0
@@ -31,6 +31,59 @@ spinlock@1 { · 30 unmodified lines
31 ti,hwmods = "spinlock";31 ti,hwmods = "spinlock";
32};32};
33 33
34SoC Type (optional):
35
36- General Purpose devices
37 compatible = "ti,gp"
38- High Security devices
39 compatible = "ti,hs"
40
41SoC Families:
42
43- OMAP2 generic - defaults to OMAP2420
44 compatible = "ti,omap2"
45- OMAP3 generic - defaults to OMAP3430
46 compatible = "ti,omap3"
47- OMAP4 generic - defaults to OMAP4430
48 compatible = "ti,omap4"
49- OMAP5 generic - defaults to OMAP5430
50 compatible = "ti,omap5"
51- DRA7 generic - defaults to DRA742
52 compatible = "ti,dra7"
53- AM43x generic - defaults to AM4372
54 compatible = "ti,am43"
55
56SoCs:
57
58- OMAP2420
59 compatible = "ti,omap2420", "ti,omap2"
60- OMAP2430
61 compatible = "ti,omap2430", "ti,omap2"
62
63- OMAP3430
64 compatible = "ti,omap3430", "ti,omap3"
65- AM3517
66 compatible = "ti,am3517", "ti,omap3"
67- OMAP3630
68 compatible = "ti,omap36xx", "ti,omap3"
69- AM33xx
70 compatible = "ti,am33xx", "ti,omap3"
71
72- OMAP4430
73 compatible = "ti,omap4430", "ti,omap4"
74- OMAP4460
75 compatible = "ti,omap4460", "ti,omap4"
76
77- OMAP5430
78 compatible = "ti,omap5430", "ti,omap5"
79- OMAP5432
80 compatible = "ti,omap5432", "ti,omap5"
81
82- DRA742
83 compatible = "ti,dra7xx", "ti,dra7"
84
85- AM4372
86 compatible = "ti,am4372", "ti,am43"
34 87
35Boards:88Boards:
36 89
Documentation/devicetree/bindings/arm/samsung/sysreg.txt+6−1
@@ -1,7 +1,12 @@
1SAMSUNG S5P/Exynos SoC series System Registers (SYSREG)1SAMSUNG S5P/Exynos SoC series System Registers (SYSREG)
2 2
3Properties:3Properties:
4 - name : should be 'sysreg';
5 - compatible : should contain "samsung,<chip name>-sysreg", "syscon";4 - compatible : should contain "samsung,<chip name>-sysreg", "syscon";
6 For Exynos4 SoC series it should be "samsung,exynos4-sysreg", "syscon";5 For Exynos4 SoC series it should be "samsung,exynos4-sysreg", "syscon";
7 - reg : offset and length of the register set.6 - reg : offset and length of the register set.
7
8Example:
9 syscon@10010000 {
10 compatible = "samsung,exynos4-sysreg", "syscon";
11 reg = <0x10010000 0x400>;
12 };
Documentation/devicetree/bindings/arm/tegra.txt+5−0
@@ -32,3 +32,8 @@ board-specific compatible values: · 31 unmodified lines
32 nvidia,whistler32 nvidia,whistler
33 toradex,colibri_t20-51233 toradex,colibri_t20-512
34 toradex,iris34 toradex,iris
35
36Trusted Foundations
37-------------------------------------------
38Tegra supports the Trusted Foundation secure monitor. See the
39"tlm,trusted-foundations" binding's documentation for more details.
Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt+1−0
@@ -9,6 +9,7 @@ Required properties: · 8 unmodified lines
9- compatible : Should contain "nvidia,tegra<chip>-pmc".9- compatible : Should contain "nvidia,tegra<chip>-pmc".
10- reg : Offset and length of the register set for the device10- reg : Offset and length of the register set for the device
11- clocks : Must contain an entry for each entry in clock-names.11- clocks : Must contain an entry for each entry in clock-names.
12 See ../clocks/clock-bindings.txt for details.
12- clock-names : Must include the following entries:13- clock-names : Must include the following entries:
13 "pclk" (The Tegra clock of that name),14 "pclk" (The Tegra clock of that name),
14 "clk32k_in" (The 32KHz clock input to Tegra).15 "clk32k_in" (The 32KHz clock input to Tegra).
Documentation/devicetree/bindings/arm/versatile-fpga-irq.txt+5−0
@@ -29,3 +29,8 @@ pic: pic@14000000 { · 28 unmodified lines
29 clear-mask = <0xffffffff>;29 clear-mask = <0xffffffff>;
30 valid-mask = <0x003fffff>;30 valid-mask = <0x003fffff>;
31};31};
32
33Optional properties:
34- interrupts: if the FPGA IRQ controller is cascaded, i.e. if its IRQ
35 output is simply connected to the input of another IRQ controller,
36 then the parent IRQ shall be specified in this property.
Documentation/devicetree/bindings/ata/marvell.txt+1−1
@@ -1,7 +1,7 @@
1* Marvell Orion SATA1* Marvell Orion SATA
2 2
3Required Properties:3Required Properties:
4- compatibility : "marvell,orion-sata"4- compatibility : "marvell,orion-sata" or "marvell,armada-370-sata"
5- reg : Address range of controller5- reg : Address range of controller
6- interrupts : Interrupt controller is using6- interrupts : Interrupt controller is using
7- nr-ports : Number of SATA ports in use.7- nr-ports : Number of SATA ports in use.
Documentation/devicetree/bindings/ata/sata_rcar.txt+18−0
@@ -0,0 +1,18 @@
1* Renesas R-Car SATA
2
3Required properties:
4- compatible : should contain one of the following:
5 - "renesas,sata-r8a7779" for R-Car H1
6 - "renesas,sata-r8a7790" for R-Car H2
7 - "renesas,sata-r8a7791" for R-Car M2
8- reg : address and length of the SATA registers;
9- interrupts : must consist of one interrupt specifier.
10
11Example:
12
13sata: sata@fc600000 {
14 compatible = "renesas,sata-r8a7779";
15 reg = <0xfc600000 0x2000>;
16 interrupt-parent = <&gic>;
17 interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>;
18};
Documentation/devicetree/bindings/clock/at91-clock.txt+339−0
@@ -0,0 +1,339 @@
1Device Tree Clock bindings for arch-at91
2
3This binding uses the common clock binding[1].
4
5[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
6
7Required properties:
8- compatible : shall be one of the following:
9 "atmel,at91rm9200-pmc" or
10 "atmel,at91sam9g45-pmc" or
11 "atmel,at91sam9n12-pmc" or
12 "atmel,at91sam9x5-pmc" or
13 "atmel,sama5d3-pmc":
14 at91 PMC (Power Management Controller)
15 All at91 specific clocks (clocks defined below) must be child
16 node of the PMC node.
17
18 "atmel,at91rm9200-clk-main":
19 at91 main oscillator
20
21 "atmel,at91rm9200-clk-master" or
22 "atmel,at91sam9x5-clk-master":
23 at91 master clock
24
25 "atmel,at91sam9x5-clk-peripheral" or
26 "atmel,at91rm9200-clk-peripheral":
27 at91 peripheral clocks
28
29 "atmel,at91rm9200-clk-pll" or
30 "atmel,at91sam9g45-clk-pll" or
31 "atmel,at91sam9g20-clk-pllb" or
32 "atmel,sama5d3-clk-pll":
33 at91 pll clocks
34
35 "atmel,at91sam9x5-clk-plldiv":
36 at91 plla divisor
37
38 "atmel,at91rm9200-clk-programmable" or
39 "atmel,at91sam9g45-clk-programmable" or
40 "atmel,at91sam9x5-clk-programmable":
41 at91 programmable clocks
42
43 "atmel,at91sam9x5-clk-smd":
44 at91 SMD (Soft Modem) clock
45
46 "atmel,at91rm9200-clk-system":
47 at91 system clocks
48
49 "atmel,at91rm9200-clk-usb" or
50 "atmel,at91sam9x5-clk-usb" or
51 "atmel,at91sam9n12-clk-usb":
52 at91 usb clock
53
54 "atmel,at91sam9x5-clk-utmi":
55 at91 utmi clock
56
57Required properties for PMC node:
58- reg : defines the IO memory reserved for the PMC.
59- #size-cells : shall be 0 (reg is used to encode clk id).
60- #address-cells : shall be 1 (reg is used to encode clk id).
61- interrupts : shall be set to PMC interrupt line.
62- interrupt-controller : tell that the PMC is an interrupt controller.
63- #interrupt-cells : must be set to 1. The first cell encodes the interrupt id,
64 and reflect the bit position in the PMC_ER/DR/SR registers.
65 You can use the dt macros defined in dt-bindings/clk/at91.h.
66 0 (AT91_PMC_MOSCS) -> main oscillator ready
67 1 (AT91_PMC_LOCKA) -> PLL A ready
68 2 (AT91_PMC_LOCKB) -> PLL B ready
69 3 (AT91_PMC_MCKRDY) -> master clock ready
70 6 (AT91_PMC_LOCKU) -> UTMI PLL clock ready
71 8 .. 15 (AT91_PMC_PCKRDY(id)) -> programmable clock ready
72 16 (AT91_PMC_MOSCSELS) -> main oscillator selected
73 17 (AT91_PMC_MOSCRCS) -> RC main oscillator stabilized
74 18 (AT91_PMC_CFDEV) -> clock failure detected
75
76For example:
77 pmc: pmc@fffffc00 {
78 compatible = "atmel,sama5d3-pmc";
79 interrupts = <1 4 7>;
80 interrupt-controller;
81 #interrupt-cells = <2>;
82 #size-cells = <0>;
83 #address-cells = <1>;
84
85 /* put at91 clocks here */
86 };
87
88Required properties for main clock:
89- interrupt-parent : must reference the PMC node.
90- interrupts : shall be set to "<0>".
91- #clock-cells : from common clock binding; shall be set to 0.
92- clocks (optional if clock-frequency is provided) : shall be the slow clock
93 phandle. This clock is used to calculate the main clock rate if
94 "clock-frequency" is not provided.
95- clock-frequency : the main oscillator frequency.Prefer the use of
96 "clock-frequency" over automatic clock rate calculation.
97
98For example:
99 main: mainck {
100 compatible = "atmel,at91rm9200-clk-main";
101 interrupt-parent = <&pmc>;
102 interrupts = <0>;
103 #clock-cells = <0>;
104 clocks = <&ck32k>;
105 clock-frequency = <18432000>;
106 };
107
108Required properties for master clock:
109- interrupt-parent : must reference the PMC node.
110- interrupts : shall be set to "<3>".
111- #clock-cells : from common clock binding; shall be set to 0.
112- clocks : shall be the master clock sources (see atmel datasheet) phandles.
113 e.g. "<&ck32k>, <&main>, <&plla>, <&pllb>".
114- atmel,clk-output-range : minimum and maximum clock frequency (two u32
115 fields).
116 e.g. output = <0 133000000>; <=> 0 to 133MHz.
117- atmel,clk-divisors : master clock divisors table (four u32 fields).
118 0 <=> reserved value.
119 e.g. divisors = <1 2 4 6>;
120- atmel,master-clk-have-div3-pres : some SoC use the reserved value 7 in the
121 PRES field as CLOCK_DIV3 (e.g sam9x5).
122
123For example:
124 mck: mck {
125 compatible = "atmel,at91rm9200-clk-master";
126 interrupt-parent = <&pmc>;
127 interrupts = <3>;
128 #clock-cells = <0>;
129 atmel,clk-output-range = <0 133000000>;
130 atmel,clk-divisors = <1 2 4 0>;
131 };
132
133Required properties for peripheral clocks:
134- #size-cells : shall be 0 (reg is used to encode clk id).
135- #address-cells : shall be 1 (reg is used to encode clk id).
136- clocks : shall be the master clock phandle.
137 e.g. clocks = <&mck>;
138- name: device tree node describing a specific system clock.
139 * #clock-cells : from common clock binding; shall be set to 0.
140 * reg: peripheral id. See Atmel's datasheets to get a full
141 list of peripheral ids.
142 * atmel,clk-output-range : minimum and maximum clock frequency
143 (two u32 fields). Only valid on at91sam9x5-clk-peripheral
144 compatible IPs.
145
146For example:
147 periph: periphck {
148 compatible = "atmel,at91sam9x5-clk-peripheral";
149 #size-cells = <0>;
150 #address-cells = <1>;
151 clocks = <&mck>;
152
153 ssc0_clk {
154 #clock-cells = <0>;
155 reg = <2>;
156 atmel,clk-output-range = <0 133000000>;
157 };
158
159 usart0_clk {
160 #clock-cells = <0>;
161 reg = <3>;
162 atmel,clk-output-range = <0 66000000>;
163 };
164 };
165
166
167Required properties for pll clocks:
168- interrupt-parent : must reference the PMC node.
169- interrupts : shall be set to "<1>".
170- #clock-cells : from common clock binding; shall be set to 0.
171- clocks : shall be the main clock phandle.
172- reg : pll id.
173 0 -> PLL A
174 1 -> PLL B
175- atmel,clk-input-range : minimum and maximum source clock frequency (two u32
176 fields).
177 e.g. input = <1 32000000>; <=> 1 to 32MHz.
178- #atmel,pll-clk-output-range-cells : number of cells reserved for pll output
179 range description. Sould be set to 2, 3
180 or 4.
181 * 1st and 2nd cells represent the frequency range (min-max).
182 * 3rd cell is optional and represents the OUT field value for the given
183 range.
184 * 4th cell is optional and represents the ICPLL field (PLLICPR
185 register)
186- atmel,pll-clk-output-ranges : pll output frequency ranges + optional parameter
187 depending on #atmel,pll-output-range-cells
188 property value.
189
190For example:
191 plla: pllack {
192 compatible = "atmel,at91sam9g45-clk-pll";
193 interrupt-parent = <&pmc>;
194 interrupts = <1>;
195 #clock-cells = <0>;
196 clocks = <&main>;
197 reg = <0>;
198 atmel,clk-input-range = <2000000 32000000>;
199 #atmel,pll-clk-output-range-cells = <4>;
200 atmel,pll-clk-output-ranges = <74500000 800000000 0 0
201 69500000 750000000 1 0
202 64500000 700000000 2 0
203 59500000 650000000 3 0
204 54500000 600000000 0 1
205 49500000 550000000 1 1
206 44500000 500000000 2 1
207 40000000 450000000 3 1>;
208 };
209
210Required properties for plldiv clocks (plldiv = pll / 2):
211- #clock-cells : from common clock binding; shall be set to 0.
212- clocks : shall be the plla clock phandle.
213
214The pll divisor is equal to 2 and cannot be changed.
215
216For example:
217 plladiv: plladivck {
218 compatible = "atmel,at91sam9x5-clk-plldiv";
219 #clock-cells = <0>;
220 clocks = <&plla>;
221 };
222
223Required properties for programmable clocks:
224- interrupt-parent : must reference the PMC node.
225- #size-cells : shall be 0 (reg is used to encode clk id).
226- #address-cells : shall be 1 (reg is used to encode clk id).
227- clocks : shall be the programmable clock source phandles.
228 e.g. clocks = <&clk32k>, <&main>, <&plla>, <&pllb>;
229- name: device tree node describing a specific prog clock.
230 * #clock-cells : from common clock binding; shall be set to 0.
231 * reg : programmable clock id (register offset from PCKx
232 register).
233 * interrupts : shall be set to "<(8 + id)>".
234
235For example:
236 prog: progck {
237 compatible = "atmel,at91sam9g45-clk-programmable";
238 #size-cells = <0>;
239 #address-cells = <1>;
240 interrupt-parent = <&pmc>;
241 clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>, <&mck>;
242
243 prog0 {
244 #clock-cells = <0>;
245 reg = <0>;
246 interrupts = <8>;
247 };
248
249 prog1 {
250 #clock-cells = <0>;
251 reg = <1>;
252 interrupts = <9>;
253 };
254 };
255
256
257Required properties for smd clock:
258- #clock-cells : from common clock binding; shall be set to 0.
259- clocks : shall be the smd clock source phandles.
260 e.g. clocks = <&plladiv>, <&utmi>;
261
262For example:
263 smd: smdck {
264 compatible = "atmel,at91sam9x5-clk-smd";
265 #clock-cells = <0>;
266 clocks = <&plladiv>, <&utmi>;
267 };
268
269Required properties for system clocks:
270- #size-cells : shall be 0 (reg is used to encode clk id).
271- #address-cells : shall be 1 (reg is used to encode clk id).
272- name: device tree node describing a specific system clock.
273 * #clock-cells : from common clock binding; shall be set to 0.
274 * reg: system clock id (bit position in SCER/SCDR/SCSR registers).
275 See Atmel's datasheet to get a full list of system clock ids.
276
277For example:
278 system: systemck {
279 compatible = "atmel,at91rm9200-clk-system";
280 #address-cells = <1>;
281 #size-cells = <0>;
282
283 ddrck {
284 #clock-cells = <0>;
285 reg = <2>;
286 clocks = <&mck>;
287 };
288
289 uhpck {
290 #clock-cells = <0>;
291 reg = <6>;
292 clocks = <&usb>;
293 };
294
295 udpck {
296 #clock-cells = <0>;
297 reg = <7>;
298 clocks = <&usb>;
299 };
300 };
301
302
303Required properties for usb clock:
304- #clock-cells : from common clock binding; shall be set to 0.
305- clocks : shall be the smd clock source phandles.
306 e.g. clocks = <&pllb>;
307- atmel,clk-divisors (only available for "atmel,at91rm9200-clk-usb"):
308 usb clock divisor table.
309 e.g. divisors = <1 2 4 0>;
310
311For example:
312 usb: usbck {
313 compatible = "atmel,at91sam9x5-clk-usb";
314 #clock-cells = <0>;
315 clocks = <&plladiv>, <&utmi>;
316 };
317
318 usb: usbck {
319 compatible = "atmel,at91rm9200-clk-usb";
320 #clock-cells = <0>;
321 clocks = <&pllb>;
322 atmel,clk-divisors = <1 2 4 0>;
323 };
324
325
326Required properties for utmi clock:
327- interrupt-parent : must reference the PMC node.
328- interrupts : shall be set to "<AT91_PMC_LOCKU IRQ_TYPE_LEVEL_HIGH>".
329- #clock-cells : from common clock binding; shall be set to 0.
330- clocks : shall be the main clock source phandle.
331
332For example:
333 utmi: utmick {
334 compatible = "atmel,at91sam9x5-clk-utmi";
335 interrupt-parent = <&pmc>;
336 interrupts = <AT91_PMC_LOCKU IRQ_TYPE_LEVEL_HIGH>;
337 #clock-cells = <0>;
338 clocks = <&main>;
339 };
Documentation/devicetree/bindings/clock/bcm-kona-clock.txt+93−0
@@ -0,0 +1,93 @@
1Broadcom Kona Family Clocks
2
3This binding is associated with Broadcom SoCs having "Kona" style
4clock control units (CCUs). A CCU is a clock provider that manages
5a set of clock signals. Each CCU is represented by a node in the
6device tree.
7
8This binding uses the common clock binding:
9 Documentation/devicetree/bindings/clock/clock-bindings.txt
10
11Required properties:
12- compatible
13 Shall have one of the following values:
14 - "brcm,bcm11351-root-ccu"
15 - "brcm,bcm11351-aon-ccu"
16 - "brcm,bcm11351-hub-ccu"
17 - "brcm,bcm11351-master-ccu"
18 - "brcm,bcm11351-slave-ccu"
19- reg
20 Shall define the base and range of the address space
21 containing clock control registers
22- #clock-cells
23 Shall have value <1>. The permitted clock-specifier values
24 are defined below.
25- clock-output-names
26 Shall be an ordered list of strings defining the names of
27 the clocks provided by the CCU.
28
29
30BCM281XX family SoCs use Kona CCUs. The following table defines
31the set of CCUs and clock specifiers for BCM281XX clocks. When
32a clock consumer references a clocks, its symbolic specifier
33(rather than its numeric index value) should be used. These
34specifiers are defined in "include/dt-bindings/clock/bcm281xx.h".
35
36 CCU Clock Type Index Specifier
37 --- ----- ---- ----- ---------
38 root frac_1m peri 0 BCM281XX_ROOT_CCU_FRAC_1M
39
40 aon hub_timer peri 0 BCM281XX_AON_CCU_HUB_TIMER
41 aon pmu_bsc peri 1 BCM281XX_AON_CCU_PMU_BSC
42 aon pmu_bsc_var peri 2 BCM281XX_AON_CCU_PMU_BSC_VAR
43
44 hub tmon_1m peri 0 BCM281XX_HUB_CCU_TMON_1M
45
46 master sdio1 peri 0 BCM281XX_MASTER_CCU_SDIO1
47 master sdio2 peri 1 BCM281XX_MASTER_CCU_SDIO2
48 master sdio3 peri 2 BCM281XX_MASTER_CCU_SDIO3
49 master sdio4 peri 3 BCM281XX_MASTER_CCU_SDIO4
50 master dmac peri 4 BCM281XX_MASTER_CCU_DMAC
51 master usb_ic peri 5 BCM281XX_MASTER_CCU_USB_IC
52 master hsic2_48m peri 6 BCM281XX_MASTER_CCU_HSIC_48M
53 master hsic2_12m peri 7 BCM281XX_MASTER_CCU_HSIC_12M
54
55 slave uartb peri 0 BCM281XX_SLAVE_CCU_UARTB
56 slave uartb2 peri 1 BCM281XX_SLAVE_CCU_UARTB2
57 slave uartb3 peri 2 BCM281XX_SLAVE_CCU_UARTB3
58 slave uartb4 peri 3 BCM281XX_SLAVE_CCU_UARTB4
59 slave ssp0 peri 4 BCM281XX_SLAVE_CCU_SSP0
60 slave ssp2 peri 5 BCM281XX_SLAVE_CCU_SSP2
61 slave bsc1 peri 6 BCM281XX_SLAVE_CCU_BSC1
62 slave bsc2 peri 7 BCM281XX_SLAVE_CCU_BSC2
63 slave bsc3 peri 8 BCM281XX_SLAVE_CCU_BSC3
64 slave pwm peri 9 BCM281XX_SLAVE_CCU_PWM
65
66
67Device tree example:
68
69 slave_ccu: slave_ccu {
70 compatible = "brcm,bcm11351-slave-ccu";
71 reg = <0x3e011000 0x0f00>;
72 #clock-cells = <1>;
73 clock-output-names = "uartb",
74 "uartb2",
75 "uartb3",
76 "uartb4";
77 };
78
79 ref_crystal_clk: ref_crystal {
80 #clock-cells = <0>;
81 compatible = "fixed-clock";
82 clock-frequency = <26000000>;
83 };
84
85 uart@3e002000 {
86 compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
87 status = "disabled";
88 reg = <0x3e002000 0x1000>;
89 clocks = <&slave_ccu BCM281XX_SLAVE_CCU_UARTB3>;
90 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
91 reg-shift = <2>;
92 reg-io-width = <4>;
93 };
Documentation/devicetree/bindings/clock/clk-exynos-audss.txt+35−4
@@ -8,12 +8,29 @@ Required Properties: · 7 unmodified lines
8 8
9- compatible: should be one of the following:9- compatible: should be one of the following:
10 - "samsung,exynos4210-audss-clock" - controller compatible with all Exynos4 SoCs.10 - "samsung,exynos4210-audss-clock" - controller compatible with all Exynos4 SoCs.
11 - "samsung,exynos5250-audss-clock" - controller compatible with all Exynos5 SoCs.11 - "samsung,exynos5250-audss-clock" - controller compatible with Exynos5250
12 12 SoCs.
13 - "samsung,exynos5420-audss-clock" - controller compatible with Exynos5420
14 SoCs.
13- reg: physical base address and length of the controller's register set.15- reg: physical base address and length of the controller's register set.
14 16
15- #clock-cells: should be 1.17- #clock-cells: should be 1.
16 18
19- clocks:
20 - pll_ref: Fixed rate PLL reference clock, parent of mout_audss. "fin_pll"
21 is used if not specified.
22 - pll_in: Input PLL to the AudioSS block, parent of mout_audss. "fout_epll"
23 is used if not specified.
24 - cdclk: External i2s clock, parent of mout_i2s. "cdclk0" is used if not
25 specified.
26 - sclk_audio: Audio bus clock, parent of mout_i2s. "sclk_audio0" is used if
27 not specified.
28 - sclk_pcm_in: PCM clock, parent of sclk_pcm. "sclk_pcm0" is used if not
29 specified.
30
31- clock-names: Aliases for the above clocks. They should be "pll_ref",
32 "pll_in", "cdclk", "sclk_audio", and "sclk_pcm_in" respectively.
33
17The following is the list of clocks generated by the controller. Each clock is34The following is the list of clocks generated by the controller. Each clock is
18assigned an identifier and client nodes use this identifier to specify the35assigned an identifier and client nodes use this identifier to specify the
19clock which they consume. Some of the clocks are available only on a particular36clock which they consume. Some of the clocks are available only on a particular
@@ -34,16 +51,30 @@ i2s_bus 6 · 14 unmodified lines
34sclk_i2s 751sclk_i2s 7
35pcm_bus 852pcm_bus 8
36sclk_pcm 953sclk_pcm 9
54adma 10 Exynos5420
55
56Example 1: An example of a clock controller node using the default input
57 clock names is listed below.
58
59clock_audss: audss-clock-controller@3810000 {
60 compatible = "samsung,exynos5250-audss-clock";
61 reg = <0x03810000 0x0C>;
62 #clock-cells = <1>;
63};
37 64
38Example 1: An example of a clock controller node is listed below.65Example 2: An example of a clock controller node with the input clocks
66 specified.
39 67
40clock_audss: audss-clock-controller@3810000 {68clock_audss: audss-clock-controller@3810000 {
41 compatible = "samsung,exynos5250-audss-clock";69 compatible = "samsung,exynos5250-audss-clock";
42 reg = <0x03810000 0x0C>;70 reg = <0x03810000 0x0C>;
43 #clock-cells = <1>;71 #clock-cells = <1>;
72 clocks = <&clock 1>, <&clock 7>, <&clock 138>, <&clock 160>,
73 <&ext_i2s_clk>;
74 clock-names = "pll_ref", "pll_in", "sclk_audio", "sclk_pcm_in", "cdclk";
44};75};
45 76
46Example 2: I2S controller node that consumes the clock generated by the clock77Example 3: I2S controller node that consumes the clock generated by the clock
47 controller. Refer to the standard clock bindings for information78 controller. Refer to the standard clock bindings for information
48 about 'clocks' and 'clock-names' property.79 about 'clocks' and 'clock-names' property.
49 80
Documentation/devicetree/bindings/clock/clock-bindings.txt+1−1
@@ -5,7 +5,7 @@ Sources of clock signal can be represented by any node in the device · 4 unmodified lines
5tree. Those nodes are designated as clock providers. Clock consumer5tree. Those nodes are designated as clock providers. Clock consumer
6nodes use a phandle and clock specifier pair to connect clock provider6nodes use a phandle and clock specifier pair to connect clock provider
7outputs to clock inputs. Similar to the gpio specifiers, a clock7outputs to clock inputs. Similar to the gpio specifiers, a clock
8specifier is an array of one more more cells identifying the clock8specifier is an array of zero, one or more cells identifying the clock
9output on a device. The length of a clock specifier is defined by the9output on a device. The length of a clock specifier is defined by the
10value of a #clock-cells property in the clock provider node.10value of a #clock-cells property in the clock provider node.
11 11
Documentation/devicetree/bindings/clock/corenet-clock.txt+134−0
@@ -0,0 +1,134 @@
1* Clock Block on Freescale CoreNet Platforms
2
3Freescale CoreNet chips take primary clocking input from the external
4SYSCLK signal. The SYSCLK input (frequency) is multiplied using
5multiple phase locked loops (PLL) to create a variety of frequencies
6which can then be passed to a variety of internal logic, including
7cores and peripheral IP blocks.
8Please refer to the Reference Manual for details.
9
101. Clock Block Binding
11
12Required properties:
13- compatible: Should contain a specific clock block compatible string
14 and a single chassis clock compatible string.
15 Clock block strings include, but not limited to, one of the:
16 * "fsl,p2041-clockgen"
17 * "fsl,p3041-clockgen"
18 * "fsl,p4080-clockgen"
19 * "fsl,p5020-clockgen"
20 * "fsl,p5040-clockgen"
21 * "fsl,t4240-clockgen"
22 * "fsl,b4420-clockgen"
23 * "fsl,b4860-clockgen"
24 Chassis clock strings include:
25 * "fsl,qoriq-clockgen-1.0": for chassis 1.0 clocks
26 * "fsl,qoriq-clockgen-2.0": for chassis 2.0 clocks
27- reg: Describes the address of the device's resources within the
28 address space defined by its parent bus, and resource zero
29 represents the clock register set
30- clock-frequency: Input system clock frequency
31
32Recommended properties:
33- ranges: Allows valid translation between child's address space and
34 parent's. Must be present if the device has sub-nodes.
35- #address-cells: Specifies the number of cells used to represent
36 physical base addresses. Must be present if the device has
37 sub-nodes and set to 1 if present
38- #size-cells: Specifies the number of cells used to represent
39 the size of an address. Must be present if the device has
40 sub-nodes and set to 1 if present
41
422. Clock Provider/Consumer Binding
43
44Most of the bindings are from the common clock binding[1].
45 [1] Documentation/devicetree/bindings/clock/clock-bindings.txt
46
47Required properties:
48- compatible : Should include one of the following:
49 * "fsl,qoriq-core-pll-1.0" for core PLL clocks (v1.0)
50 * "fsl,qoriq-core-pll-2.0" for core PLL clocks (v2.0)
51 * "fsl,qoriq-core-mux-1.0" for core mux clocks (v1.0)
52 * "fsl,qoriq-core-mux-2.0" for core mux clocks (v2.0)
53 * "fsl,qoriq-sysclk-1.0": for input system clock (v1.0).
54 It takes parent's clock-frequency as its clock.
55 * "fsl,qoriq-sysclk-2.0": for input system clock (v2.0).
56 It takes parent's clock-frequency as its clock.
57- #clock-cells: From common clock binding. The number of cells in a
58 clock-specifier. Should be <0> for "fsl,qoriq-sysclk-[1,2].0"
59 clocks, or <1> for "fsl,qoriq-core-pll-[1,2].0" clocks.
60 For "fsl,qoriq-core-pll-[1,2].0" clocks, the single
61 clock-specifier cell may take the following values:
62 * 0 - equal to the PLL frequency
63 * 1 - equal to the PLL frequency divided by 2
64 * 2 - equal to the PLL frequency divided by 4
65
66Recommended properties:
67- clocks: Should be the phandle of input parent clock
68- clock-names: From common clock binding, indicates the clock name
69- clock-output-names: From common clock binding, indicates the names of
70 output clocks
71- reg: Should be the offset and length of clock block base address.
72 The length should be 4.
73
74Example for clock block and clock provider:
75/ {
76 clockgen: global-utilities@e1000 {
77 compatible = "fsl,p5020-clockgen", "fsl,qoriq-clockgen-1.0";
78 ranges = <0x0 0xe1000 0x1000>;
79 clock-frequency = <133333333>;
80 reg = <0xe1000 0x1000>;
81 #address-cells = <1>;
82 #size-cells = <1>;
83
84 sysclk: sysclk {
85 #clock-cells = <0>;
86 compatible = "fsl,qoriq-sysclk-1.0";
87 clock-output-names = "sysclk";
88 }
89
90 pll0: pll0@800 {
91 #clock-cells = <1>;
92 reg = <0x800 0x4>;
93 compatible = "fsl,qoriq-core-pll-1.0";
94 clocks = <&sysclk>;
95 clock-output-names = "pll0", "pll0-div2";
96 };
97
98 pll1: pll1@820 {
99 #clock-cells = <1>;
100 reg = <0x820 0x4>;
101 compatible = "fsl,qoriq-core-pll-1.0";
102 clocks = <&sysclk>;
103 clock-output-names = "pll1", "pll1-div2";
104 };
105
106 mux0: mux0@0 {
107 #clock-cells = <0>;
108 reg = <0x0 0x4>;
109 compatible = "fsl,qoriq-core-mux-1.0";
110 clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>;
111 clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2";
112 clock-output-names = "cmux0";
113 };
114
115 mux1: mux1@20 {
116 #clock-cells = <0>;
117 reg = <0x20 0x4>;
118 compatible = "fsl,qoriq-core-mux-1.0";
119 clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>;
120 clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2";
121 clock-output-names = "cmux1";
122 };
123 };
124 }
125
126Example for clock consumer:
127
128/ {
129 cpu0: PowerPC,e5500@0 {
130 ...
131 clocks = <&mux0>;
132 ...
133 };
134 }
Documentation/devicetree/bindings/clock/emev2-clock.txt+98−0
@@ -0,0 +1,98 @@
1Device tree Clock bindings for Renesas EMMA Mobile EV2
2
3This binding uses the common clock binding.
4
5* SMU
6System Management Unit described in user's manual R19UH0037EJ1000_SMU.
7This is not a clock provider, but clocks under SMU depend on it.
8
9Required properties:
10- compatible: Should be "renesas,emev2-smu"
11- reg: Address and Size of SMU registers
12
13* SMU_CLKDIV
14Function block with an input mux and a divider, which corresponds to
15"Serial clock generator" in fig."Clock System Overview" of the manual,
16and "xxx frequency division setting register" (XXXCLKDIV) registers.
17This makes internal (neither input nor output) clock that is provided
18to input of xxxGCLK block.
19
20Required properties:
21- compatible: Should be "renesas,emev2-smu-clkdiv"
22- reg: Byte offset from SMU base and Bit position in the register
23- clocks: Parent clocks. Input clocks as described in clock-bindings.txt
24- #clock-cells: Should be <0>
25
26* SMU_GCLK
27Clock gating node shown as "Clock stop processing block" in the
28fig."Clock System Overview" of the manual.
29Registers are "xxx clock gate control register" (XXXGCLKCTRL).
30
31Required properties:
32- compatible: Should be "renesas,emev2-smu-gclk"
33- reg: Byte offset from SMU base and Bit position in the register
34- clocks: Input clock as described in clock-bindings.txt
35- #clock-cells: Should be <0>
36
37Example of provider:
38
39usia_u0_sclkdiv: usia_u0_sclkdiv {
40 compatible = "renesas,emev2-smu-clkdiv";
41 reg = <0x610 0>;
42 clocks = <&pll3_fo>, <&pll4_fo>, <&pll1_fo>, <&osc1_fo>;
43 #clock-cells = <0>;
44};
45
46usia_u0_sclk: usia_u0_sclk {
47 compatible = "renesas,emev2-smu-gclk";
48 reg = <0x4a0 1>;
49 clocks = <&usia_u0_sclkdiv>;
50 #clock-cells = <0>;
51};
52
53Example of consumer:
54
55uart@e1020000 {
56 compatible = "renesas,em-uart";
57 reg = <0xe1020000 0x38>;
58 interrupts = <0 8 0>;
59 clocks = <&usia_u0_sclk>;
60 clock-names = "sclk";
61};
62
63Example of clock-tree description:
64
65 This describes a clock path in the clock tree
66 c32ki -> pll3_fo -> usia_u0_sclkdiv -> usia_u0_sclk
67
68smu@e0110000 {
69 compatible = "renesas,emev2-smu";
70 reg = <0xe0110000 0x10000>;
71 #address-cells = <2>;
72 #size-cells = <0>;
73
74 c32ki: c32ki {
75 compatible = "fixed-clock";
76 clock-frequency = <32768>;
77 #clock-cells = <0>;
78 };
79 pll3_fo: pll3_fo {
80 compatible = "fixed-factor-clock";
81 clocks = <&c32ki>;
82 clock-div = <1>;
83 clock-mult = <7000>;
84 #clock-cells = <0>;
85 };
86 usia_u0_sclkdiv: usia_u0_sclkdiv {
87 compatible = "renesas,emev2-smu-clkdiv";
88 reg = <0x610 0>;
89 clocks = <&pll3_fo>;
90 #clock-cells = <0>;
91 };
92 usia_u0_sclk: usia_u0_sclk {
93 compatible = "renesas,emev2-smu-gclk";
94 reg = <0x4a0 1>;
95 clocks = <&usia_u0_sclkdiv>;
96 #clock-cells = <0>;
97 };
98};
Documentation/devicetree/bindings/clock/exynos5250-clock.txt+1−0
@@ -62,6 +62,7 @@ clock which they consume. · 61 unmodified lines
62 div_i2s1 15762 div_i2s1 157
63 div_i2s2 15863 div_i2s2 158
64 sclk_hdmiphy 15964 sclk_hdmiphy 159
65 div_pcm0 160
65 66
66 67
67 [Peripheral Clock Gates]68 [Peripheral Clock Gates]
Documentation/devicetree/bindings/clock/fixed-clock.txt+3−0
@@ -10,6 +10,8 @@ Required properties: · 9 unmodified lines
10- clock-frequency : frequency of clock in Hz. Should be a single cell.10- clock-frequency : frequency of clock in Hz. Should be a single cell.
11 11
12Optional properties:12Optional properties:
13- clock-accuracy : accuracy of clock in ppb (parts per billion).
14 Should be a single cell.
13- gpios : From common gpio binding; gpio connection to clock enable pin.15- gpios : From common gpio binding; gpio connection to clock enable pin.
14- clock-output-names : From common clock binding.16- clock-output-names : From common clock binding.
15 17
@@ -18,4 +20,5 @@ Example: · 2 unmodified lines
18 compatible = "fixed-clock";20 compatible = "fixed-clock";
19 #clock-cells = <0>;21 #clock-cells = <0>;
20 clock-frequency = <1000000000>;22 clock-frequency = <1000000000>;
23 clock-accuracy = <100>;
21 };24 };
Documentation/devicetree/bindings/clock/fixed-factor-clock.txt+2−2
@@ -19,6 +19,6 @@ Example: · 18 unmodified lines
19 compatible = "fixed-factor-clock";19 compatible = "fixed-factor-clock";
20 clocks = <&parentclk>;20 clocks = <&parentclk>;
21 #clock-cells = <0>;21 #clock-cells = <0>;
22 div = <2>;22 clock-div = <2>;
23 mult = <1>;23 clock-mult = <1>;
24 };24 };
Documentation/devicetree/bindings/clock/hi3620-clock.txt+19−0
@@ -0,0 +1,19 @@
1* Hisilicon Hi3620 Clock Controller
2
3The Hi3620 clock controller generates and supplies clock to various
4controllers within the Hi3620 SoC.
5
6Required Properties:
7
8- compatible: should be one of the following.
9 - "hisilicon,hi3620-clock" - controller compatible with Hi3620 SoC.
10
11- reg: physical base address of the controller and length of memory mapped
12 region.
13
14- #clock-cells: should be 1.
15
16Each clock is assigned an identifier and client nodes use this identifier
17to specify the clock which they consume.
18
19All these identifier could be found in <dt-bindings/clock/hi3620-clock.h>.
Documentation/devicetree/bindings/clock/imx35-clock.txt+113−0
@@ -0,0 +1,113 @@
1* Clock bindings for Freescale i.MX35
2
3Required properties:
4- compatible: Should be "fsl,imx35-ccm"
5- reg: Address and length of the register set
6- interrupts: Should contain CCM interrupt
7- #clock-cells: Should be <1>
8
9The clock consumer should specify the desired clock by having the clock
10ID in its "clocks" phandle cell. The following is a full list of i.MX35
11clocks and IDs.
12
13 Clock ID
14 ---------------------------
15 ckih 0
16 mpll 1
17 ppll 2
18 mpll_075 3
19 arm 4
20 hsp 5
21 hsp_div 6
22 hsp_sel 7
23 ahb 8
24 ipg 9
25 arm_per_div 10
26 ahb_per_div 11
27 ipg_per 12
28 uart_sel 13
29 uart_div 14
30 esdhc_sel 15
31 esdhc1_div 16
32 esdhc2_div 17
33 esdhc3_div 18
34 spdif_sel 19
35 spdif_div_pre 20
36 spdif_div_post 21
37 ssi_sel 22
38 ssi1_div_pre 23
39 ssi1_div_post 24
40 ssi2_div_pre 25
41 ssi2_div_post 26
42 usb_sel 27
43 usb_div 28
44 nfc_div 29
45 asrc_gate 30
46 pata_gate 31
47 audmux_gate 32
48 can1_gate 33
49 can2_gate 34
50 cspi1_gate 35
51 cspi2_gate 36
52 ect_gate 37
53 edio_gate 38
54 emi_gate 39
55 epit1_gate 40
56 epit2_gate 41
57 esai_gate 42
58 esdhc1_gate 43
59 esdhc2_gate 44
60 esdhc3_gate 45
61 fec_gate 46
62 gpio1_gate 47
63 gpio2_gate 48
64 gpio3_gate 49
65 gpt_gate 50
66 i2c1_gate 51
67 i2c2_gate 52
68 i2c3_gate 53
69 iomuxc_gate 54
70 ipu_gate 55
71 kpp_gate 56
72 mlb_gate 57
73 mshc_gate 58
74 owire_gate 59
75 pwm_gate 60
76 rngc_gate 61
77 rtc_gate 62
78 rtic_gate 63
79 scc_gate 64
80 sdma_gate 65
81 spba_gate 66
82 spdif_gate 67
83 ssi1_gate 68
84 ssi2_gate 69
85 uart1_gate 70
86 uart2_gate 71
87 uart3_gate 72
88 usbotg_gate 73
89 wdog_gate 74
90 max_gate 75
91 admux_gate 76
92 csi_gate 77
93 csi_div 78
94 csi_sel 79
95 iim_gate 80
96 gpu2d_gate 81
97
98Examples:
99
100clks: ccm@53f80000 {
101 compatible = "fsl,imx35-ccm";
102 reg = <0x53f80000 0x4000>;
103 interrupts = <31>;
104 #clock-cells = <1>;
105};
106
107esdhc1: esdhc@53fb4000 {
108 compatible = "fsl,imx35-esdhc";
109 reg = <0x53fb4000 0x4000>;
110 interrupts = <7>;
111 clocks = <&clks 9>, <&clks 8>, <&clks 43>;
112 clock-names = "ipg", "ahb", "per";
113};
Documentation/devicetree/bindings/clock/imx5-clock.txt+3−192
@@ -7,197 +7,8 @@ Required properties: · 6 unmodified lines
7- #clock-cells: Should be <1>7- #clock-cells: Should be <1>
8 8
9The clock consumer should specify the desired clock by having the clock9The clock consumer should specify the desired clock by having the clock
10ID in its "clocks" phandle cell. The following is a full list of i.MX510ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx5-clock.h
11clocks and IDs.11for the full list of i.MX5 clock IDs.
12
13 Clock ID
14 ---------------------------
15 dummy 0
16 ckil 1
17 osc 2
18 ckih1 3
19 ckih2 4
20 ahb 5
21 ipg 6
22 axi_a 7
23 axi_b 8
24 uart_pred 9
25 uart_root 10
26 esdhc_a_pred 11
27 esdhc_b_pred 12
28 esdhc_c_s 13
29 esdhc_d_s 14
30 emi_sel 15
31 emi_slow_podf 16
32 nfc_podf 17
33 ecspi_pred 18
34 ecspi_podf 19
35 usboh3_pred 20
36 usboh3_podf 21
37 usb_phy_pred 22
38 usb_phy_podf 23
39 cpu_podf 24
40 di_pred 25
41 tve_s 27
42 uart1_ipg_gate 28
43 uart1_per_gate 29
44 uart2_ipg_gate 30
45 uart2_per_gate 31
46 uart3_ipg_gate 32
47 uart3_per_gate 33
48 i2c1_gate 34
49 i2c2_gate 35
50 gpt_ipg_gate 36
51 pwm1_ipg_gate 37
52 pwm1_hf_gate 38
53 pwm2_ipg_gate 39
54 pwm2_hf_gate 40
55 gpt_hf_gate 41
56 fec_gate 42
57 usboh3_per_gate 43
58 esdhc1_ipg_gate 44
59 esdhc2_ipg_gate 45
60 esdhc3_ipg_gate 46
61 esdhc4_ipg_gate 47
62 ssi1_ipg_gate 48
63 ssi2_ipg_gate 49
64 ssi3_ipg_gate 50
65 ecspi1_ipg_gate 51
66 ecspi1_per_gate 52
67 ecspi2_ipg_gate 53
68 ecspi2_per_gate 54
69 cspi_ipg_gate 55
70 sdma_gate 56
71 emi_slow_gate 57
72 ipu_s 58
73 ipu_gate 59
74 nfc_gate 60
75 ipu_di1_gate 61
76 vpu_s 62
77 vpu_gate 63
78 vpu_reference_gate 64
79 uart4_ipg_gate 65
80 uart4_per_gate 66
81 uart5_ipg_gate 67
82 uart5_per_gate 68
83 tve_gate 69
84 tve_pred 70
85 esdhc1_per_gate 71
86 esdhc2_per_gate 72
87 esdhc3_per_gate 73
88 esdhc4_per_gate 74
89 usb_phy_gate 75
90 hsi2c_gate 76
91 mipi_hsc1_gate 77
92 mipi_hsc2_gate 78
93 mipi_esc_gate 79
94 mipi_hsp_gate 80
95 ldb_di1_div_3_5 81
96 ldb_di1_div 82
97 ldb_di0_div_3_5 83
98 ldb_di0_div 84
99 ldb_di1_gate 85
100 can2_serial_gate 86
101 can2_ipg_gate 87
102 i2c3_gate 88
103 lp_apm 89
104 periph_apm 90
105 main_bus 91
106 ahb_max 92
107 aips_tz1 93
108 aips_tz2 94
109 tmax1 95
110 tmax2 96
111 tmax3 97
112 spba 98
113 uart_sel 99
114 esdhc_a_sel 100
115 esdhc_b_sel 101
116 esdhc_a_podf 102
117 esdhc_b_podf 103
118 ecspi_sel 104
119 usboh3_sel 105
120 usb_phy_sel 106
121 iim_gate 107
122 usboh3_gate 108
123 emi_fast_gate 109
124 ipu_di0_gate 110
125 gpc_dvfs 111
126 pll1_sw 112
127 pll2_sw 113
128 pll3_sw 114
129 ipu_di0_sel 115
130 ipu_di1_sel 116
131 tve_ext_sel 117
132 mx51_mipi 118
133 pll4_sw 119
134 ldb_di1_sel 120
135 di_pll4_podf 121
136 ldb_di0_sel 122
137 ldb_di0_gate 123
138 usb_phy1_gate 124
139 usb_phy2_gate 125
140 per_lp_apm 126
141 per_pred1 127
142 per_pred2 128
143 per_podf 129
144 per_root 130
145 ssi_apm 131
146 ssi1_root_sel 132
147 ssi2_root_sel 133
148 ssi3_root_sel 134
149 ssi_ext1_sel 135
150 ssi_ext2_sel 136
151 ssi_ext1_com_sel 137
152 ssi_ext2_com_sel 138
153 ssi1_root_pred 139
154 ssi1_root_podf 140
155 ssi2_root_pred 141
156 ssi2_root_podf 142
157 ssi_ext1_pred 143
158 ssi_ext1_podf 144
159 ssi_ext2_pred 145
160 ssi_ext2_podf 146
161 ssi1_root_gate 147
162 ssi2_root_gate 148
163 ssi3_root_gate 149
164 ssi_ext1_gate 150
165 ssi_ext2_gate 151
166 epit1_ipg_gate 152
167 epit1_hf_gate 153
168 epit2_ipg_gate 154
169 epit2_hf_gate 155
170 can_sel 156
171 can1_serial_gate 157
172 can1_ipg_gate 158
173 owire_gate 159
174 gpu3d_s 160
175 gpu2d_s 161
176 gpu3d_gate 162
177 gpu2d_gate 163
178 garb_gate 164
179 cko1_sel 165
180 cko1_podf 166
181 cko1 167
182 cko2_sel 168
183 cko2_podf 169
184 cko2 170
185 srtc_gate 171
186 pata_gate 172
187 sata_gate 173
188 spdif_xtal_sel 174
189 spdif0_sel 175
190 spdif1_sel 176
191 spdif0_pred 177
192 spdif0_podf 178
193 spdif1_pred 179
194 spdif1_podf 180
195 spdif0_com_sel 181
196 spdif1_com_sel 182
197 spdif0_gate 183
198 spdif1_gate 184
199 spdif_ipg_gate 185
200 ocram 186
201 12
202Examples (for mx53):13Examples (for mx53):
203 14
@@ -212,7 +23,7 @@ can1: can@53fc8000 { · 8 unmodified lines
212 compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan";23 compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan";
213 reg = <0x53fc8000 0x4000>;24 reg = <0x53fc8000 0x4000>;
214 interrupts = <82>;25 interrupts = <82>;
215 clocks = <&clks 158>, <&clks 157>;26 clocks = <&clks IMX5_CLK_CAN1_IPG_GATE>, <&clks IMX5_CLK_CAN1_SERIAL_GATE>;
216 clock-names = "ipg", "per";27 clock-names = "ipg", "per";
217 status = "disabled";28 status = "disabled";
218};29};
Documentation/devicetree/bindings/clock/keystone-pll.txt+4−4
@@ -17,13 +17,14 @@ Required properties: · 16 unmodified lines
17- reg - pll control0 and pll multipler registers17- reg - pll control0 and pll multipler registers
18- reg-names : control and multiplier. The multiplier is applicable only for18- reg-names : control and multiplier. The multiplier is applicable only for
19 main pll clock19 main pll clock
20- fixed-postdiv : fixed post divider value20- fixed-postdiv : fixed post divider value. If absent, use clkod register bits
21 for postdiv
21 22
22Example:23Example:
23 mainpllclk: mainpllclk@2310110 {24 mainpllclk: mainpllclk@2310110 {
24 #clock-cells = <0>;25 #clock-cells = <0>;
25 compatible = "ti,keystone,main-pll-clock";26 compatible = "ti,keystone,main-pll-clock";
26 clocks = <&refclkmain>;27 clocks = <&refclksys>;
27 reg = <0x02620350 4>, <0x02310110 4>;28 reg = <0x02620350 4>, <0x02310110 4>;
28 reg-names = "control", "multiplier";29 reg-names = "control", "multiplier";
29 fixed-postdiv = <2>;30 fixed-postdiv = <2>;
@@ -32,11 +33,10 @@ Example: · 2 unmodified lines
32 papllclk: papllclk@2620358 {33 papllclk: papllclk@2620358 {
33 #clock-cells = <0>;34 #clock-cells = <0>;
34 compatible = "ti,keystone,pll-clock";35 compatible = "ti,keystone,pll-clock";
35 clocks = <&refclkmain>;36 clocks = <&refclkpass>;
36 clock-output-names = "pa-pll-clk";37 clock-output-names = "pa-pll-clk";
37 reg = <0x02620358 4>;38 reg = <0x02620358 4>;
38 reg-names = "control";39 reg-names = "control";
39 fixed-postdiv = <6>;
40 };40 };
41 41
42Required properties:42Required properties:
Documentation/devicetree/bindings/clock/maxim,max77686.txt+38−0
@@ -0,0 +1,38 @@
1Binding for Maxim MAX77686 32k clock generator block
2
3This is a part of device tree bindings of MAX77686 multi-function device.
4More information can be found in bindings/mfd/max77686.txt file.
5
6The MAX77686 contains three 32.768khz clock outputs that can be controlled
7(gated/ungated) over I2C.
8
9Following properties should be presend in main device node of the MFD chip.
10
11Required properties:
12- #clock-cells: simple one-cell clock specifier format is used, where the
13 only cell is used as an index of the clock inside the provider. Following
14 indices are allowed:
15 - 0: 32khz_ap clock,
16 - 1: 32khz_cp clock,
17 - 2: 32khz_pmic clock.
18
19Example: Node of the MFD chip
20
21 max77686: max77686@09 {
22 compatible = "maxim,max77686";
23 interrupt-parent = <&wakeup_eint>;
24 interrupts = <26 0>;
25 reg = <0x09>;
26 #clock-cells = <1>;
27
28 /* ... */
29 };
30
31Example: Clock consumer node
32
33 foo@0 {
34 compatible = "bar,foo";
35 /* ... */
36 clock-names = "my-clock";
37 clocks = <&max77686 2>;
38 };
Documentation/devicetree/bindings/clock/nvidia,tegra114-car.txt+4−0
@@ -15,6 +15,9 @@ Required properties : · 14 unmodified lines
15 In clock consumers, this cell represents the clock ID exposed by the15 In clock consumers, this cell represents the clock ID exposed by the
16 CAR. The assignments may be found in header file16 CAR. The assignments may be found in header file
17 <dt-bindings/clock/tegra114-car.h>.17 <dt-bindings/clock/tegra114-car.h>.
18- #reset-cells : Should be 1.
19 In clock consumers, this cell represents the bit number in the CAR's
20 array of CLK_RST_CONTROLLER_RST_DEVICES_* registers.
18 21
19Example SoC include file:22Example SoC include file:
20 23
@@ -23,6 +26,7 @@ Example SoC include file: · 2 unmodified lines
23 compatible = "nvidia,tegra114-car";26 compatible = "nvidia,tegra114-car";
24 reg = <0x60006000 0x1000>;27 reg = <0x60006000 0x1000>;
25 #clock-cells = <1>;28 #clock-cells = <1>;
29 #reset-cells = <1>;
26 };30 };
27 31
28 usb@c5004000 {32 usb@c5004000 {
Documentation/devicetree/bindings/clock/nvidia,tegra124-car.txt+63−0
@@ -0,0 +1,63 @@
1NVIDIA Tegra124 Clock And Reset Controller
2
3This binding uses the common clock binding:
4Documentation/devicetree/bindings/clock/clock-bindings.txt
5
6The CAR (Clock And Reset) Controller on Tegra is the HW module responsible
7for muxing and gating Tegra's clocks, and setting their rates.
8
9Required properties :
10- compatible : Should be "nvidia,tegra124-car"
11- reg : Should contain CAR registers location and length
12- clocks : Should contain phandle and clock specifiers for two clocks:
13 the 32 KHz "32k_in", and the board-specific oscillator "osc".
14- #clock-cells : Should be 1.
15 In clock consumers, this cell represents the clock ID exposed by the
16 CAR. The assignments may be found in header file
17 <dt-bindings/clock/tegra124-car.h>.
18- #reset-cells : Should be 1.
19 In clock consumers, this cell represents the bit number in the CAR's
20 array of CLK_RST_CONTROLLER_RST_DEVICES_* registers.
21
22Example SoC include file:
23
24/ {
25 tegra_car: clock {
26 compatible = "nvidia,tegra124-car";
27 reg = <0x60006000 0x1000>;
28 #clock-cells = <1>;
29 #reset-cells = <1>;
30 };
31
32 usb@c5004000 {
33 clocks = <&tegra_car TEGRA124_CLK_USB2>;
34 };
35};
36
37Example board file:
38
39/ {
40 clocks {
41 compatible = "simple-bus";
42 #address-cells = <1>;
43 #size-cells = <0>;
44
45 osc: clock@0 {
46 compatible = "fixed-clock";
47 reg = <0>;
48 #clock-cells = <0>;
49 clock-frequency = <112400000>;
50 };
51
52 clk_32k: clock@1 {
53 compatible = "fixed-clock";
54 reg = <1>;
55 #clock-cells = <0>;
56 clock-frequency = <32768>;
57 };
58 };
59
60 &tegra_car {
61 clocks = <&clk_32k> <&osc>;
62 };
63};
Documentation/devicetree/bindings/clock/nvidia,tegra20-car.txt+4−0
@@ -15,6 +15,9 @@ Required properties : · 14 unmodified lines
15 In clock consumers, this cell represents the clock ID exposed by the15 In clock consumers, this cell represents the clock ID exposed by the
16 CAR. The assignments may be found in header file16 CAR. The assignments may be found in header file
17 <dt-bindings/clock/tegra20-car.h>.17 <dt-bindings/clock/tegra20-car.h>.
18- #reset-cells : Should be 1.
19 In clock consumers, this cell represents the bit number in the CAR's
20 array of CLK_RST_CONTROLLER_RST_DEVICES_* registers.
18 21
19Example SoC include file:22Example SoC include file:
20 23
@@ -23,6 +26,7 @@ Example SoC include file: · 2 unmodified lines
23 compatible = "nvidia,tegra20-car";26 compatible = "nvidia,tegra20-car";
24 reg = <0x60006000 0x1000>;27 reg = <0x60006000 0x1000>;
25 #clock-cells = <1>;28 #clock-cells = <1>;
29 #reset-cells = <1>;
26 };30 };
27 31
28 usb@c5004000 {32 usb@c5004000 {
Documentation/devicetree/bindings/clock/nvidia,tegra30-car.txt+4−0
@@ -15,6 +15,9 @@ Required properties : · 14 unmodified lines
15 In clock consumers, this cell represents the clock ID exposed by the15 In clock consumers, this cell represents the clock ID exposed by the
16 CAR. The assignments may be found in header file16 CAR. The assignments may be found in header file
17 <dt-bindings/clock/tegra30-car.h>.17 <dt-bindings/clock/tegra30-car.h>.
18- #reset-cells : Should be 1.
19 In clock consumers, this cell represents the bit number in the CAR's
20 array of CLK_RST_CONTROLLER_RST_DEVICES_* registers.
18 21
19Example SoC include file:22Example SoC include file:
20 23
@@ -23,6 +26,7 @@ Example SoC include file: · 2 unmodified lines
23 compatible = "nvidia,tegra30-car";26 compatible = "nvidia,tegra30-car";
24 reg = <0x60006000 0x1000>;27 reg = <0x60006000 0x1000>;
25 #clock-cells = <1>;28 #clock-cells = <1>;
29 #reset-cells = <1>;
26 };30 };
27 31
28 usb@c5004000 {32 usb@c5004000 {
Documentation/devicetree/bindings/clock/qcom,gcc.txt+21−0
@@ -0,0 +1,21 @@
1Qualcomm Global Clock & Reset Controller Binding
2------------------------------------------------
3
4Required properties :
5- compatible : shall contain only one of the following:
6
7 "qcom,gcc-msm8660"
8 "qcom,gcc-msm8960"
9 "qcom,gcc-msm8974"
10
11- reg : shall contain base register location and length
12- #clock-cells : shall contain 1
13- #reset-cells : shall contain 1
14
15Example:
16 clock-controller@900000 {
17 compatible = "qcom,gcc-msm8960";
18 reg = <0x900000 0x4000>;
19 #clock-cells = <1>;
20 #reset-cells = <1>;
21 };
Documentation/devicetree/bindings/clock/qcom,mmcc.txt+21−0
@@ -0,0 +1,21 @@
1Qualcomm Multimedia Clock & Reset Controller Binding
2----------------------------------------------------
3
4Required properties :
5- compatible : shall contain only one of the following:
6
7 "qcom,mmcc-msm8660"
8 "qcom,mmcc-msm8960"
9 "qcom,mmcc-msm8974"
10
11- reg : shall contain base register location and length
12- #clock-cells : shall contain 1
13- #reset-cells : shall contain 1
14
15Example:
16 clock-controller@4000000 {
17 compatible = "qcom,mmcc-msm8960";
18 reg = <0x4000000 0x1000>;
19 #clock-cells = <1>;
20 #reset-cells = <1>;
21 };
Documentation/devicetree/bindings/clock/renesas,cpg-div6-clocks.txt+28−0
@@ -0,0 +1,28 @@
1* Renesas CPG DIV6 Clock
2
3The CPG DIV6 clocks are variable factor clocks provided by the Clock Pulse
4Generator (CPG). They clock input is divided by a configurable factor from 1
5to 64.
6
7Required Properties:
8
9 - compatible: Must be one of the following
10 - "renesas,r8a7790-div6-clock" for R8A7790 (R-Car H2) DIV6 clocks
11 - "renesas,r8a7791-div6-clock" for R8A7791 (R-Car M2) DIV6 clocks
12 - "renesas,cpg-div6-clock" for generic DIV6 clocks
13 - reg: Base address and length of the memory resource used by the DIV6 clock
14 - clocks: Reference to the parent clock
15 - #clock-cells: Must be 0
16 - clock-output-names: The name of the clock as a free-form string
17
18
19Example
20-------
21
22 sd2_clk: sd2_clk@e6150078 {
23 compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock";
24 reg = <0 0xe6150078 0 4>;
25 clocks = <&pll1_div2_clk>;
26 #clock-cells = <0>;
27 clock-output-names = "sd2";
28 };
Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt+51−0
@@ -0,0 +1,51 @@
1* Renesas CPG Module Stop (MSTP) Clocks
2
3The CPG can gate SoC device clocks. The gates are organized in groups of up to
432 gates.
5
6This device tree binding describes a single 32 gate clocks group per node.
7Clocks are referenced by user nodes by the MSTP node phandle and the clock
8index in the group, from 0 to 31.
9
10Required Properties:
11
12 - compatible: Must be one of the following
13 - "renesas,r8a7790-mstp-clocks" for R8A7790 (R-Car H2) MSTP gate clocks
14 - "renesas,r8a7791-mstp-clocks" for R8A7791 (R-Car M2) MSTP gate clocks
15 - "renesas,cpg-mstp-clock" for generic MSTP gate clocks
16 - reg: Base address and length of the I/O mapped registers used by the MSTP
17 clocks. The first register is the clock control register and is mandatory.
18 The second register is the clock status register and is optional when not
19 implemented in hardware.
20 - clocks: Reference to the parent clocks, one per output clock. The parents
21 must appear in the same order as the output clocks.
22 - #clock-cells: Must be 1
23 - clock-output-names: The name of the clocks as free-form strings
24 - renesas,indices: Indices of the gate clocks into the group (0 to 31)
25
26The clocks, clock-output-names and renesas,indices properties contain one
27entry per gate clock. The MSTP groups are sparsely populated. Unimplemented
28gate clocks must not be declared.
29
30
31Example
32-------
33
34 #include <dt-bindings/clock/r8a7790-clock.h>
35
36 mstp3_clks: mstp3_clks@e615013c {
37 compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks";
38 reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>;
39 clocks = <&cp_clk>, <&mmc1_clk>, <&sd3_clk>, <&sd2_clk>,
40 <&cpg_clocks R8A7790_CLK_SD1>, <&cpg_clocks R8A7790_CLK_SD0>,
41 <&mmc0_clk>;
42 #clock-cells = <1>;
43 clock-output-names =
44 "tpu0", "mmcif1", "sdhi3", "sdhi2",
45 "sdhi1", "sdhi0", "mmcif0";
46 renesas,clock-indices = <
47 R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SDHI3
48 R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0
49 R8A7790_CLK_MMCIF0
50 >;
51 };
Documentation/devicetree/bindings/clock/renesas,rcar-gen2-cpg-clocks.txt+32−0
@@ -0,0 +1,32 @@
1* Renesas R-Car Gen2 Clock Pulse Generator (CPG)
2
3The CPG generates core clocks for the R-Car Gen2 SoCs. It includes three PLLs
4and several fixed ratio dividers.
5
6Required Properties:
7
8 - compatible: Must be one of
9 - "renesas,r8a7790-cpg-clocks" for the r8a7790 CPG
10 - "renesas,r8a7791-cpg-clocks" for the r8a7791 CPG
11 - "renesas,rcar-gen2-cpg-clocks" for the generic R-Car Gen2 CPG
12
13 - reg: Base address and length of the memory resource used by the CPG
14
15 - clocks: Reference to the parent clock
16 - #clock-cells: Must be 1
17 - clock-output-names: The names of the clocks. Supported clocks are "main",
18 "pll0", "pll1", "pll3", "lb", "qspi", "sdh", "sd0", "sd1" and "z"
19
20
21Example
22-------
23
24 cpg_clocks: cpg_clocks@e6150000 {
25 compatible = "renesas,r8a7790-cpg-clocks",
26 "renesas,rcar-gen2-cpg-clocks";
27 reg = <0 0xe6150000 0 0x1000>;
28 clocks = <&extal_clk>;
29 #clock-cells = <1>;
30 clock-output-names = "main", "pll0, "pll1", "pll3",
31 "lb", "qspi", "sdh", "sd0", "sd1", "z";
32 };
Documentation/devicetree/bindings/clock/silabs,si570.txt+39−0
@@ -0,0 +1,39 @@
1Binding for Silicon Labs 570, 571, 598 and 599 programmable
2I2C clock generators.
3
4Reference
5This binding uses the common clock binding[1]. Details about the devices can be
6found in the data sheets[2][3].
7
8[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
9[2] Si570/571 Data Sheet
10 http://www.silabs.com/Support%20Documents/TechnicalDocs/si570.pdf
11[3] Si598/599 Data Sheet
12 http://www.silabs.com/Support%20Documents/TechnicalDocs/si598-99.pdf
13
14Required properties:
15 - compatible: Shall be one of "silabs,si570", "silabs,si571",
16 "silabs,si598", "silabs,si599"
17 - reg: I2C device address.
18 - #clock-cells: From common clock bindings: Shall be 0.
19 - factory-fout: Factory set default frequency. This frequency is part specific.
20 The correct frequency for the part used has to be provided in
21 order to generate the correct output frequencies. For more
22 details, please refer to the data sheet.
23 - temperature-stability: Temperature stability of the device in PPM. Should be
24 one of: 7, 20, 50 or 100.
25
26Optional properties:
27 - clock-output-names: From common clock bindings. Recommended to be "si570".
28 - clock-frequency: Output frequency to generate. This defines the output
29 frequency set during boot. It can be reprogrammed during
30 runtime through the common clock framework.
31
32Example:
33 si570: clock-generator@5d {
34 #clock-cells = <0>;
35 compatible = "silabs,si570";
36 temperature-stability = <50>;
37 reg = <0x5d>;
38 factory-fout = <156250000>;
39 };
Documentation/devicetree/bindings/clock/sunxi.txt+8−2
@@ -7,8 +7,10 @@ This binding uses the common clock binding[1]. · 6 unmodified lines
7Required properties:7Required properties:
8- compatible : shall be one of the following:8- compatible : shall be one of the following:
9 "allwinner,sun4i-osc-clk" - for a gatable oscillator9 "allwinner,sun4i-osc-clk" - for a gatable oscillator
10 "allwinner,sun4i-pll1-clk" - for the main PLL clock10 "allwinner,sun4i-pll1-clk" - for the main PLL clock and PLL4
11 "allwinner,sun6i-a31-pll1-clk" - for the main PLL clock on A3111 "allwinner,sun6i-a31-pll1-clk" - for the main PLL clock on A31
12 "allwinner,sun4i-pll5-clk" - for the PLL5 clock
13 "allwinner,sun4i-pll6-clk" - for the PLL6 clock
12 "allwinner,sun4i-cpu-clk" - for the CPU multiplexer clock14 "allwinner,sun4i-cpu-clk" - for the CPU multiplexer clock
13 "allwinner,sun4i-axi-clk" - for the AXI clock15 "allwinner,sun4i-axi-clk" - for the AXI clock
14 "allwinner,sun4i-axi-gates-clk" - for the AXI gates16 "allwinner,sun4i-axi-gates-clk" - for the AXI gates
@@ -33,10 +35,14 @@ Required properties: · 18 unmodified lines
33 "allwinner,sun7i-a20-apb1-gates-clk" - for the APB1 gates on A2035 "allwinner,sun7i-a20-apb1-gates-clk" - for the APB1 gates on A20
34 "allwinner,sun6i-a31-apb2-div-clk" - for the APB2 gates on A3136 "allwinner,sun6i-a31-apb2-div-clk" - for the APB2 gates on A31
35 "allwinner,sun6i-a31-apb2-gates-clk" - for the APB2 gates on A3137 "allwinner,sun6i-a31-apb2-gates-clk" - for the APB2 gates on A31
38 "allwinner,sun4i-mod0-clk" - for the module 0 family of clocks
39 "allwinner,sun7i-a20-out-clk" - for the external output clocks
36 40
37Required properties for all clocks:41Required properties for all clocks:
38- reg : shall be the control register address for the clock.42- reg : shall be the control register address for the clock.
39- clocks : shall be the input parent clock(s) phandle for the clock43- clocks : shall be the input parent clock(s) phandle for the clock. For
44 multiplexed clocks, the list order must match the hardware
45 programming order.
40- #clock-cells : from common clock binding; shall be set to 0 except for46- #clock-cells : from common clock binding; shall be set to 0 except for
41 "allwinner,*-gates-clk" where it shall be set to 147 "allwinner,*-gates-clk" where it shall be set to 1
42 48
Documentation/devicetree/bindings/clock/ti/apll.txt+31−0
@@ -0,0 +1,31 @@
1Binding for Texas Instruments APLL clock.
2
3Binding status: Unstable - ABI compatibility may be broken in the future
4
5This binding uses the common clock binding[1]. It assumes a
6register-mapped APLL with usually two selectable input clocks
7(reference clock and bypass clock), with analog phase locked
8loop logic for multiplying the input clock to a desired output
9clock. This clock also typically supports different operation
10modes (locked, low power stop etc.) APLL mostly behaves like
11a subtype of a DPLL [2], although a simplified one at that.
12
13[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
14[2] Documentation/devicetree/bindings/clock/ti/dpll.txt
15
16Required properties:
17- compatible : shall be "ti,dra7-apll-clock"
18- #clock-cells : from common clock binding; shall be set to 0.
19- clocks : link phandles of parent clocks (clk-ref and clk-bypass)
20- reg : address and length of the register set for controlling the APLL.
21 It contains the information of registers in the following order:
22 "control" - contains the control register base address
23 "idlest" - contains the idlest register base address
24
25Examples:
26 apll_pcie_ck: apll_pcie_ck@4a008200 {
27 #clock-cells = <0>;
28 clocks = <&apll_pcie_in_clk_mux>, <&dpll_pcie_ref_ck>;
29 reg = <0x4a00821c 0x4>, <0x4a008220 0x4>;
30 compatible = "ti,dra7-apll-clock";
31 };
Documentation/devicetree/bindings/clock/ti/autoidle.txt+39−0
@@ -0,0 +1,39 @@
1Binding for Texas Instruments autoidle clock.
2
3Binding status: Unstable - ABI compatibility may be broken in the future
4
5This binding uses the common clock binding[1]. It assumes a register mapped
6clock which can be put to idle automatically by hardware based on the usage
7and a configuration bit setting. Autoidle clock is never an individual
8clock, it is always a derivative of some basic clock like a gate, divider,
9or fixed-factor.
10
11[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
12
13Required properties:
14- reg : offset for the register controlling the autoidle
15- ti,autoidle-shift : bit shift of the autoidle enable bit
16- ti,invert-autoidle-bit : autoidle is enabled by setting the bit to 0
17
18Examples:
19 dpll_core_m4_ck: dpll_core_m4_ck {
20 #clock-cells = <0>;
21 compatible = "ti,divider-clock";
22 clocks = <&dpll_core_x2_ck>;
23 ti,max-div = <31>;
24 ti,autoidle-shift = <8>;
25 reg = <0x2d38>;
26 ti,index-starts-at-one;
27 ti,invert-autoidle-bit;
28 };
29
30 dpll_usb_clkdcoldo_ck: dpll_usb_clkdcoldo_ck {
31 #clock-cells = <0>;
32 compatible = "ti,fixed-factor-clock";
33 clocks = <&dpll_usb_ck>;
34 ti,clock-div = <1>;
35 ti,autoidle-shift = <8>;
36 reg = <0x01b4>;
37 ti,clock-mult = <1>;
38 ti,invert-autoidle-bit;
39 };
Documentation/devicetree/bindings/clock/ti/clockdomain.txt+24−0
@@ -0,0 +1,24 @@
1Binding for Texas Instruments clockdomain.
2
3Binding status: Unstable - ABI compatibility may be broken in the future
4
5This binding uses the common clock binding[1] in consumer role.
6Every clock on TI SoC belongs to one clockdomain, but software
7only needs this information for specific clocks which require
8their parent clockdomain to be controlled when the clock is
9enabled/disabled. This binding doesn't define a new clock
10binding type, it is used to group existing clock nodes under
11hardware hierarchy.
12
13[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
14
15Required properties:
16- compatible : shall be "ti,clockdomain"
17- #clock-cells : from common clock binding; shall be set to 0.
18- clocks : link phandles of clocks within this domain
19
20Examples:
21 dss_clkdm: dss_clkdm {
22 compatible = "ti,clockdomain";
23 clocks = <&dss1_alwon_fck_3430es2>, <&dss_ick_3430es2>;
24 };
Documentation/devicetree/bindings/clock/ti/composite.txt+54−0
@@ -0,0 +1,54 @@
1Binding for TI composite clock.
2
3Binding status: Unstable - ABI compatibility may be broken in the future
4
5This binding uses the common clock binding[1]. It assumes a
6register-mapped composite clock with multiple different sub-types;
7
8a multiplexer clock with multiple input clock signals or parents, one
9of which can be selected as output, this behaves exactly as [2]
10
11an adjustable clock rate divider, this behaves exactly as [3]
12
13a gating function which can be used to enable and disable the output
14clock, this behaves exactly as [4]
15
16The binding must provide a list of the component clocks that shall be
17merged to this clock. The component clocks shall be of one of the
18"ti,*composite*-clock" types.
19
20[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
21[2] Documentation/devicetree/bindings/clock/ti/mux.txt
22[3] Documentation/devicetree/bindings/clock/ti/divider.txt
23[4] Documentation/devicetree/bindings/clock/ti/gate.txt
24
25Required properties:
26- compatible : shall be: "ti,composite-clock"
27- clocks : link phandles of component clocks
28- #clock-cells : from common clock binding; shall be set to 0.
29
30Examples:
31
32usb_l4_gate_ick: usb_l4_gate_ick {
33 #clock-cells = <0>;
34 compatible = "ti,composite-interface-clock";
35 clocks = <&l4_ick>;
36 ti,bit-shift = <5>;
37 reg = <0x0a10>;
38};
39
40usb_l4_div_ick: usb_l4_div_ick {
41 #clock-cells = <0>;
42 compatible = "ti,composite-divider-clock";
43 clocks = <&l4_ick>;
44 ti,bit-shift = <4>;
45 ti,max-div = <1>;
46 reg = <0x0a40>;
47 ti,index-starts-at-one;
48};
49
50usb_l4_ick: usb_l4_ick {
51 #clock-cells = <0>;
52 compatible = "ti,composite-clock";
53 clocks = <&usb_l4_gate_ick>, <&usb_l4_div_ick>;
54};
Documentation/devicetree/bindings/clock/ti/divider.txt+114−0
@@ -0,0 +1,114 @@
1Binding for TI divider clock
2
3Binding status: Unstable - ABI compatibility may be broken in the future
4
5This binding uses the common clock binding[1]. It assumes a
6register-mapped adjustable clock rate divider that does not gate and has
7only one input clock or parent. By default the value programmed into
8the register is one less than the actual divisor value. E.g:
9
10register value actual divisor value
110 1
121 2
132 3
14
15This assumption may be modified by the following optional properties:
16
17ti,index-starts-at-one - valid divisor values start at 1, not the default
18of 0. E.g:
19register value actual divisor value
201 1
212 2
223 3
23
24ti,index-power-of-two - valid divisor values are powers of two. E.g:
25register value actual divisor value
260 1
271 2
282 4
29
30Additionally an array of valid dividers may be supplied like so:
31
32 ti,dividers = <4>, <8>, <0>, <16>;
33
34Which will map the resulting values to a divisor table by their index:
35register value actual divisor value
360 4
371 8
382 <invalid divisor, skipped>
393 16
40
41Any zero value in this array means the corresponding bit-value is invalid
42and must not be used.
43
44The binding must also provide the register to control the divider and
45unless the divider array is provided, min and max dividers. Optionally
46the number of bits to shift that mask, if necessary. If the shift value
47is missing it is the same as supplying a zero shift.
48
49This binding can also optionally provide support to the hardware autoidle
50feature, see [2].
51
52[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
53[2] Documentation/devicetree/bindings/clock/ti/autoidle.txt
54
55Required properties:
56- compatible : shall be "ti,divider-clock" or "ti,composite-divider-clock".
57- #clock-cells : from common clock binding; shall be set to 0.
58- clocks : link to phandle of parent clock
59- reg : offset for register controlling adjustable divider
60
61Optional properties:
62- clock-output-names : from common clock binding.
63- ti,dividers : array of integers defining divisors
64- ti,bit-shift : number of bits to shift the divider value, defaults to 0
65- ti,min-div : min divisor for dividing the input clock rate, only
66 needed if the first divisor is offset from the default value (1)
67- ti,max-div : max divisor for dividing the input clock rate, only needed
68 if ti,dividers is not defined.
69- ti,index-starts-at-one : valid divisor programming starts at 1, not zero,
70 only valid if ti,dividers is not defined.
71- ti,index-power-of-two : valid divisor programming must be a power of two,
72 only valid if ti,dividers is not defined.
73- ti,autoidle-shift : bit shift of the autoidle enable bit for the clock,
74 see [2]
75- ti,invert-autoidle-bit : autoidle is enabled by setting the bit to 0,
76 see [2]
77- ti,set-rate-parent : clk_set_rate is propagated to parent
78
79Examples:
80dpll_usb_m2_ck: dpll_usb_m2_ck@4a008190 {
81 #clock-cells = <0>;
82 compatible = "ti,divider-clock";
83 clocks = <&dpll_usb_ck>;
84 ti,max-div = <127>;
85 reg = <0x190>;
86 ti,index-starts-at-one;
87};
88
89aess_fclk: aess_fclk@4a004528 {
90 #clock-cells = <0>;
91 compatible = "ti,divider-clock";
92 clocks = <&abe_clk>;
93 ti,bit-shift = <24>;
94 reg = <0x528>;
95 ti,max-div = <2>;
96};
97
98dpll_core_m3x2_div_ck: dpll_core_m3x2_div_ck {
99 #clock-cells = <0>;
100 compatible = "ti,composite-divider-clock";
101 clocks = <&dpll_core_x2_ck>;
102 ti,max-div = <31>;
103 reg = <0x0134>;
104 ti,index-starts-at-one;
105};
106
107ssi_ssr_div_fck_3430es2: ssi_ssr_div_fck_3430es2 {
108 #clock-cells = <0>;
109 compatible = "ti,composite-divider-clock";
110 clocks = <&corex2_fck>;
111 ti,bit-shift = <8>;
112 reg = <0x0a40>;
113 ti,dividers = <0>, <1>, <2>, <3>, <4>, <0>, <6>, <0>, <8>;
114};
Documentation/devicetree/bindings/clock/ti/dpll.txt+75−0
@@ -0,0 +1,75 @@
1Binding for Texas Instruments DPLL clock.
2
3Binding status: Unstable - ABI compatibility may be broken in the future
4
5This binding uses the common clock binding[1]. It assumes a
6register-mapped DPLL with usually two selectable input clocks
7(reference clock and bypass clock), with digital phase locked
8loop logic for multiplying the input clock to a desired output
9clock. This clock also typically supports different operation
10modes (locked, low power stop etc.) This binding has several
11sub-types, which effectively result in slightly different setup
12for the actual DPLL clock.
13
14[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
15
16Required properties:
17- compatible : shall be one of:
18 "ti,omap3-dpll-clock",
19 "ti,omap3-dpll-core-clock",
20 "ti,omap3-dpll-per-clock",
21 "ti,omap3-dpll-per-j-type-clock",
22 "ti,omap4-dpll-clock",
23 "ti,omap4-dpll-x2-clock",
24 "ti,omap4-dpll-core-clock",
25 "ti,omap4-dpll-m4xen-clock",
26 "ti,omap4-dpll-j-type-clock",
27 "ti,am3-dpll-no-gate-clock",
28 "ti,am3-dpll-j-type-clock",
29 "ti,am3-dpll-no-gate-j-type-clock",
30 "ti,am3-dpll-clock",
31 "ti,am3-dpll-core-clock",
32 "ti,am3-dpll-x2-clock",
33
34- #clock-cells : from common clock binding; shall be set to 0.
35- clocks : link phandles of parent clocks, first entry lists reference clock
36 and second entry bypass clock
37- reg : offsets for the register set for controlling the DPLL.
38 Registers are listed in following order:
39 "control" - contains the control register base address
40 "idlest" - contains the idle status register base address
41 "mult-div1" - contains the multiplier / divider register base address
42 "autoidle" - contains the autoidle register base address (optional)
43 ti,am3-* dpll types do not have autoidle register
44
45Optional properties:
46- DPLL mode setting - defining any one or more of the following overrides
47 default setting.
48 - ti,low-power-stop : DPLL supports low power stop mode, gating output
49 - ti,low-power-bypass : DPLL output matches rate of parent bypass clock
50 - ti,lock : DPLL locks in programmed rate
51
52Examples:
53 dpll_core_ck: dpll_core_ck@44e00490 {
54 #clock-cells = <0>;
55 compatible = "ti,omap4-dpll-core-clock";
56 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
57 reg = <0x490>, <0x45c>, <0x488>, <0x468>;
58 };
59
60 dpll2_ck: dpll2_ck@48004004 {
61 #clock-cells = <0>;
62 compatible = "ti,omap3-dpll-clock";
63 clocks = <&sys_ck>, <&dpll2_fck>;
64 ti,low-power-stop;
65 ti,low-power-bypass;
66 ti,lock;
67 reg = <0x4>, <0x24>, <0x34>, <0x40>;
68 };
69
70 dpll_core_ck: dpll_core_ck@44e00490 {
71 #clock-cells = <0>;
72 compatible = "ti,am3-dpll-core-clock";
73 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
74 reg = <0x90>, <0x5c>, <0x68>;
75 };
Documentation/devicetree/bindings/clock/ti/fixed-factor-clock.txt+43−0
@@ -0,0 +1,43 @@
1Binding for TI fixed factor rate clock sources.
2
3Binding status: Unstable - ABI compatibility may be broken in the future
4
5This binding uses the common clock binding[1], and also uses the autoidle
6support from TI autoidle clock [2].
7
8[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
9[2] Documentation/devicetree/bindings/clock/ti/autoidle.txt
10
11Required properties:
12- compatible : shall be "ti,fixed-factor-clock".
13- #clock-cells : from common clock binding; shall be set to 0.
14- ti,clock-div: fixed divider.
15- ti,clock-mult: fixed multiplier.
16- clocks: parent clock.
17
18Optional properties:
19- ti,autoidle-shift: bit shift of the autoidle enable bit for the clock,
20 see [2]
21- reg: offset for the autoidle register of this clock, see [2]
22- ti,invert-autoidle-bit: autoidle is enabled by setting the bit to 0, see [2]
23- ti,set-rate-parent: clk_set_rate is propagated to parent
24
25Example:
26 clock {
27 compatible = "ti,fixed-factor-clock";
28 clocks = <&parentclk>;
29 #clock-cells = <0>;
30 ti,clock-div = <2>;
31 ti,clock-mult = <1>;
32 };
33
34 dpll_usb_clkdcoldo_ck: dpll_usb_clkdcoldo_ck {
35 #clock-cells = <0>;
36 compatible = "ti,fixed-factor-clock";
37 clocks = <&dpll_usb_ck>;
38 ti,clock-div = <1>;
39 ti,autoidle-shift = <8>;
40 reg = <0x01b4>;
41 ti,clock-mult = <1>;
42 ti,invert-autoidle-bit;
43 };
Documentation/devicetree/bindings/clock/ti/gate.txt+85−0
@@ -0,0 +1,85 @@
1Binding for Texas Instruments gate clock.
2
3Binding status: Unstable - ABI compatibility may be broken in the future
4
5This binding uses the common clock binding[1]. This clock is
6quite much similar to the basic gate-clock [2], however,
7it supports a number of additional features. If no register
8is provided for this clock, the code assumes that a clockdomain
9will be controlled instead and the corresponding hw-ops for
10that is used.
11
12[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
13[2] Documentation/devicetree/bindings/clock/gate-clock.txt
14[3] Documentation/devicetree/bindings/clock/ti/clockdomain.txt
15
16Required properties:
17- compatible : shall be one of:
18 "ti,gate-clock" - basic gate clock
19 "ti,wait-gate-clock" - gate clock which waits until clock is active before
20 returning from clk_enable()
21 "ti,dss-gate-clock" - gate clock with DSS specific hardware handling
22 "ti,am35xx-gate-clock" - gate clock with AM35xx specific hardware handling
23 "ti,clkdm-gate-clock" - clockdomain gate clock, which derives its functional
24 clock directly from a clockdomain, see [3] how
25 to map clockdomains properly
26 "ti,hsdiv-gate-clock" - gate clock with OMAP36xx specific hardware handling,
27 required for a hardware errata
28- #clock-cells : from common clock binding; shall be set to 0
29- clocks : link to phandle of parent clock
30- reg : offset for register controlling adjustable gate, not needed for
31 ti,clkdm-gate-clock type
32
33Optional properties:
34- ti,bit-shift : bit shift for programming the clock gate, invalid for
35 ti,clkdm-gate-clock type
36- ti,set-bit-to-disable : inverts default gate programming. Setting the bit
37 gates the clock and clearing the bit ungates the clock.
38
39Examples:
40 mmchs2_fck: mmchs2_fck@48004a00 {
41 #clock-cells = <0>;
42 compatible = "ti,gate-clock";
43 clocks = <&core_96m_fck>;
44 reg = <0x48004a00 0x4>;
45 ti,bit-shift = <25>;
46 };
47
48 uart4_fck_am35xx: uart4_fck_am35xx {
49 #clock-cells = <0>;
50 compatible = "ti,wait-gate-clock";
51 clocks = <&core_48m_fck>;
52 reg = <0x0a00>;
53 ti,bit-shift = <23>;
54 };
55
56 dss1_alwon_fck_3430es2: dss1_alwon_fck_3430es2@48004e00 {
57 #clock-cells = <0>;
58 compatible = "ti,dss-gate-clock";
59 clocks = <&dpll4_m4x2_ck>;
60 reg = <0x48004e00 0x4>;
61 ti,bit-shift = <0>;
62 };
63
64 emac_ick: emac_ick@4800259c {
65 #clock-cells = <0>;
66 compatible = "ti,am35xx-gate-clock";
67 clocks = <&ipss_ick>;
68 reg = <0x4800259c 0x4>;
69 ti,bit-shift = <1>;
70 };
71
72 emu_src_ck: emu_src_ck {
73 #clock-cells = <0>;
74 compatible = "ti,clkdm-gate-clock";
75 clocks = <&emu_src_mux_ck>;
76 };
77
78 dpll4_m2x2_ck: dpll4_m2x2_ck@48004d00 {
79 #clock-cells = <0>;
80 compatible = "ti,hsdiv-gate-clock";
81 clocks = <&dpll4_m2x2_mul_ck>;
82 ti,bit-shift = <0x1b>;
83 reg = <0x48004d00 0x4>;
84 ti,set-bit-to-disable;
85 };
Documentation/devicetree/bindings/clock/ti/interface.txt+54−0
@@ -0,0 +1,54 @@
1Binding for Texas Instruments interface clock.
2
3Binding status: Unstable - ABI compatibility may be broken in the future
4
5This binding uses the common clock binding[1]. This clock is
6quite much similar to the basic gate-clock [2], however,
7it supports a number of additional features, including
8companion clock finding (match corresponding functional gate
9clock) and hardware autoidle enable / disable.
10
11[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
12[2] Documentation/devicetree/bindings/clock/gate-clock.txt
13
14Required properties:
15- compatible : shall be one of:
16 "ti,omap3-interface-clock" - basic OMAP3 interface clock
17 "ti,omap3-no-wait-interface-clock" - interface clock which has no hardware
18 capability for waiting clock to be ready
19 "ti,omap3-hsotgusb-interface-clock" - interface clock with USB specific HW
20 handling
21 "ti,omap3-dss-interface-clock" - interface clock with DSS specific HW handling
22 "ti,omap3-ssi-interface-clock" - interface clock with SSI specific HW handling
23 "ti,am35xx-interface-clock" - interface clock with AM35xx specific HW handling
24- #clock-cells : from common clock binding; shall be set to 0
25- clocks : link to phandle of parent clock
26- reg : base address for the control register
27
28Optional properties:
29- ti,bit-shift : bit shift for the bit enabling/disabling the clock (default 0)
30
31Examples:
32 aes1_ick: aes1_ick@48004a14 {
33 #clock-cells = <0>;
34 compatible = "ti,omap3-interface-clock";
35 clocks = <&security_l4_ick2>;
36 reg = <0x48004a14 0x4>;
37 ti,bit-shift = <3>;
38 };
39
40 cam_ick: cam_ick@48004f10 {
41 #clock-cells = <0>;
42 compatible = "ti,omap3-no-wait-interface-clock";
43 clocks = <&l4_ick>;
44 reg = <0x48004f10 0x4>;
45 ti,bit-shift = <0>;
46 };
47
48 ssi_ick_3430es2: ssi_ick_3430es2@48004a10 {
49 #clock-cells = <0>;
50 compatible = "ti,omap3-ssi-interface-clock";
51 clocks = <&ssi_l4_ick>;
52 reg = <0x48004a10 0x4>;
53 ti,bit-shift = <0>;
54 };
Documentation/devicetree/bindings/clock/ti/mux.txt+76−0
@@ -0,0 +1,76 @@
1Binding for TI mux clock.
2
3Binding status: Unstable - ABI compatibility may be broken in the future
4
5This binding uses the common clock binding[1]. It assumes a
6register-mapped multiplexer with multiple input clock signals or
7parents, one of which can be selected as output. This clock does not
8gate or adjust the parent rate via a divider or multiplier.
9
10By default the "clocks" property lists the parents in the same order
11as they are programmed into the regster. E.g:
12
13 clocks = <&foo_clock>, <&bar_clock>, <&baz_clock>;
14
15results in programming the register as follows:
16
17register value selected parent clock
180 foo_clock
191 bar_clock
202 baz_clock
21
22Some clock controller IPs do not allow a value of zero to be programmed
23into the register, instead indexing begins at 1. The optional property
24"index-starts-at-one" modified the scheme as follows:
25
26register value selected clock parent
271 foo_clock
282 bar_clock
293 baz_clock
30
31The binding must provide the register to control the mux. Optionally
32the number of bits to shift the control field in the register can be
33supplied. If the shift value is missing it is the same as supplying
34a zero shift.
35
36[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
37
38Required properties:
39- compatible : shall be "ti,mux-clock" or "ti,composite-mux-clock".
40- #clock-cells : from common clock binding; shall be set to 0.
41- clocks : link phandles of parent clocks
42- reg : register offset for register controlling adjustable mux
43
44Optional properties:
45- ti,bit-shift : number of bits to shift the bit-mask, defaults to
46 0 if not present
47- ti,index-starts-at-one : valid input select programming starts at 1, not
48 zero
49- ti,set-rate-parent : clk_set_rate is propagated to parent clock,
50 not supported by the composite-mux-clock subtype
51
52Examples:
53
54sys_clkin_ck: sys_clkin_ck@4a306110 {
55 #clock-cells = <0>;
56 compatible = "ti,mux-clock";
57 clocks = <&virt_12000000_ck>, <&virt_13000000_ck>, <&virt_16800000_ck>, <&virt_19200000_ck>, <&virt_26000000_ck>, <&virt_27000000_ck>, <&virt_38400000_ck>;
58 reg = <0x0110>;
59 ti,index-starts-at-one;
60};
61
62abe_dpll_bypass_clk_mux_ck: abe_dpll_bypass_clk_mux_ck@4a306108 {
63 #clock-cells = <0>;
64 compatible = "ti,mux-clock";
65 clocks = <&sys_clkin_ck>, <&sys_32k_ck>;
66 ti,bit-shift = <24>;
67 reg = <0x0108>;
68};
69
70mcbsp5_mux_fck: mcbsp5_mux_fck {
71 #clock-cells = <0>;
72 compatible = "ti,composite-mux-clock";
73 clocks = <&core_96m_fck>, <&mcbsp_clks>;
74 ti,bit-shift = <4>;
75 reg = <0x02d8>;
76};
Documentation/devicetree/bindings/clock/zynq-7000.txt+4−0
@@ -22,6 +22,10 @@ Required properties: · 21 unmodified lines
22Optional properties:22Optional properties:
23 - clocks : as described in the clock bindings23 - clocks : as described in the clock bindings
24 - clock-names : as described in the clock bindings24 - clock-names : as described in the clock bindings
25 - fclk-enable : Bit mask to enable FCLKs statically at boot time.
26 Bit [0..3] correspond to FCLK0..FCLK3. The corresponding
27 FCLK will only be enabled if it is actually running at
28 boot time.
25 29
26Clock inputs:30Clock inputs:
27The following strings are optional parameters to the 'clock-names' property in31The following strings are optional parameters to the 'clock-names' property in
Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt+7−0
@@ -15,6 +15,10 @@ Optional properties: · 14 unmodified lines
15- clock-latency: Specify the possible maximum transition latency for clock,15- clock-latency: Specify the possible maximum transition latency for clock,
16 in unit of nanoseconds.16 in unit of nanoseconds.
17- voltage-tolerance: Specify the CPU voltage tolerance in percentage.17- voltage-tolerance: Specify the CPU voltage tolerance in percentage.
18- #cooling-cells:
19- cooling-min-level:
20- cooling-max-level:
21 Please refer to Documentation/devicetree/bindings/thermal/thermal.txt.
18 22
19Examples:23Examples:
20 24
@@ -33,6 +37,9 @@ cpus { · 12 unmodified lines
33 198000 85000037 198000 850000
34 >;38 >;
35 clock-latency = <61036>; /* two CLK32 periods */39 clock-latency = <61036>; /* two CLK32 periods */
40 #cooling-cells = <2>;
41 cooling-min-level = <0>;
42 cooling-max-level = <2>;
36 };43 };
37 44
38 cpu@1 {45 cpu@1 {
Documentation/devicetree/bindings/crypto/atmel-crypto.txt+68−0
@@ -0,0 +1,68 @@
1* Atmel HW cryptographic accelerators
2
3These are the HW cryptographic accelerators found on some Atmel products.
4
5* Advanced Encryption Standard (AES)
6
7Required properties:
8- compatible : Should be "atmel,at91sam9g46-aes".
9- reg: Should contain AES registers location and length.
10- interrupts: Should contain the IRQ line for the AES.
11- dmas: List of two DMA specifiers as described in
12 atmel-dma.txt and dma.txt files.
13- dma-names: Contains one identifier string for each DMA specifier
14 in the dmas property.
15
16Example:
17aes@f8038000 {
18 compatible = "atmel,at91sam9g46-aes";
19 reg = <0xf8038000 0x100>;
20 interrupts = <43 4 0>;
21 dmas = <&dma1 2 18>,
22 <&dma1 2 19>;
23 dma-names = "tx", "rx";
24
25* Triple Data Encryption Standard (Triple DES)
26
27Required properties:
28- compatible : Should be "atmel,at91sam9g46-tdes".
29- reg: Should contain TDES registers location and length.
30- interrupts: Should contain the IRQ line for the TDES.
31
32Optional properties:
33- dmas: List of two DMA specifiers as described in
34 atmel-dma.txt and dma.txt files.
35- dma-names: Contains one identifier string for each DMA specifier
36 in the dmas property.
37
38Example:
39tdes@f803c000 {
40 compatible = "atmel,at91sam9g46-tdes";
41 reg = <0xf803c000 0x100>;
42 interrupts = <44 4 0>;
43 dmas = <&dma1 2 20>,
44 <&dma1 2 21>;
45 dma-names = "tx", "rx";
46};
47
48* Secure Hash Algorithm (SHA)
49
50Required properties:
51- compatible : Should be "atmel,at91sam9g46-sha".
52- reg: Should contain SHA registers location and length.
53- interrupts: Should contain the IRQ line for the SHA.
54
55Optional properties:
56- dmas: One DMA specifiers as described in
57 atmel-dma.txt and dma.txt files.
58- dma-names: Contains one identifier string for each DMA specifier
59 in the dmas property. Only one "tx" string needed.
60
61Example:
62sha@f8034000 {
63 compatible = "atmel,at91sam9g46-sha";
64 reg = <0xf8034000 0x100>;
65 interrupts = <42 4 0>;
66 dmas = <&dma1 2 17>;
67 dma-names = "tx";
68};
Documentation/devicetree/bindings/crypto/fsl-dcp.txt+17−0
@@ -0,0 +1,17 @@
1Freescale DCP (Data Co-Processor) found on i.MX23/i.MX28 .
2
3Required properties:
4- compatible : Should be "fsl,<soc>-dcp"
5- reg : Should contain MXS DCP registers location and length
6- interrupts : Should contain MXS DCP interrupt numbers, VMI IRQ and DCP IRQ
7 must be supplied, optionally Secure IRQ can be present, but
8 is currently not implemented and not used.
9
10Example:
11
12dcp@80028000 {
13 compatible = "fsl,imx28-dcp", "fsl,imx23-dcp";
14 reg = <0x80028000 0x2000>;
15 interrupts = <52 53>;
16 status = "okay";
17};
Documentation/devicetree/bindings/dma/bcm2835-dma.txt+57−0
@@ -0,0 +1,57 @@
1* BCM2835 DMA controller
2
3The BCM2835 DMA controller has 16 channels in total.
4Only the lower 13 channels have an associated IRQ.
5Some arbitrary channels are used by the firmware
6(1,3,6,7 in the current firmware version).
7The channels 0,2 and 3 have special functionality
8and should not be used by the driver.
9
10Required properties:
11- compatible: Should be "brcm,bcm2835-dma".
12- reg: Should contain DMA registers location and length.
13- interrupts: Should contain the DMA interrupts associated
14 to the DMA channels in ascending order.
15- #dma-cells: Must be <1>, the cell in the dmas property of the
16 client device represents the DREQ number.
17- brcm,dma-channel-mask: Bit mask representing the channels
18 not used by the firmware in ascending order,
19 i.e. first channel corresponds to LSB.
20
21Example:
22
23dma: dma@7e007000 {
24 compatible = "brcm,bcm2835-dma";
25 reg = <0x7e007000 0xf00>;
26 interrupts = <1 16>,
27 <1 17>,
28 <1 18>,
29 <1 19>,
30 <1 20>,
31 <1 21>,
32 <1 22>,
33 <1 23>,
34 <1 24>,
35 <1 25>,
36 <1 26>,
37 <1 27>,
38 <1 28>;
39
40 #dma-cells = <1>;
41 brcm,dma-channel-mask = <0x7f35>;
42};
43
44DMA clients connected to the BCM2835 DMA controller must use the format
45described in the dma.txt file, using a two-cell specifier for each channel.
46
47Example:
48
49bcm2835_i2s: i2s@7e203000 {
50 compatible = "brcm,bcm2835-i2s";
51 reg = < 0x7e203000 0x20>,
52 < 0x7e101098 0x02>;
53
54 dmas = <&dma 2>,
55 <&dma 3>;
56 dma-names = "tx", "rx";
57};
Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt+1−0
@@ -42,6 +42,7 @@ The full ID of peripheral types can be found below. · 41 unmodified lines
42 19 IPU Memory42 19 IPU Memory
43 20 ASRC43 20 ASRC
44 21 ESAI44 21 ESAI
45 22 SSI Dual FIFO (needs firmware ver >= 2)
45 46
46The third cell specifies the transfer priority as below.47The third cell specifies the transfer priority as below.
47 48
Documentation/devicetree/bindings/dma/moxa,moxart-dma.txt+45−0
@@ -0,0 +1,45 @@
1MOXA ART DMA Controller
2
3See dma.txt first
4
5Required properties:
6
7- compatible : Must be "moxa,moxart-dma"
8- reg : Should contain registers location and length
9- interrupts : Should contain an interrupt-specifier for the sole
10 interrupt generated by the device
11- #dma-cells : Should be 1, a single cell holding a line request number
12
13Example:
14
15 dma: dma@90500000 {
16 compatible = "moxa,moxart-dma";
17 reg = <0x90500080 0x40>;
18 interrupts = <24 0>;
19 #dma-cells = <1>;
20 };
21
22
23Clients:
24
25DMA clients connected to the MOXA ART DMA controller must use the format
26described in the dma.txt file, using a two-cell specifier for each channel:
27a phandle plus one integer cells.
28The two cells in order are:
29
301. A phandle pointing to the DMA controller.
312. Peripheral identifier for the hardware handshaking interface.
32
33Example:
34Use specific request line passing from dma
35For example, MMC request line is 5
36
37 sdhci: sdhci@98e00000 {
38 compatible = "moxa,moxart-sdhci";
39 reg = <0x98e00000 0x5C>;
40 interrupts = <5 0>;
41 clocks = <&clk_apb>;
42 dmas = <&dma 5>,
43 <&dma 5>;
44 dma-names = "tx", "rx";
45 };
Documentation/devicetree/bindings/dma/ste-dma40.txt+3−0
@@ -50,6 +50,9 @@ Each dmas request consists of 4 cells: · 49 unmodified lines
50 0x00000008: Use fixed channel:50 0x00000008: Use fixed channel:
51 Use automatic channel selection when unset51 Use automatic channel selection when unset
52 Use DMA request line number when set52 Use DMA request line number when set
53 0x00000010: Set channel as high priority:
54 Normal priority when unset
55 High priority when set
53 56
54Example:57Example:
55 58
Documentation/devicetree/bindings/dma/tegra20-apbdma.txt+14−0
@@ -5,6 +5,16 @@ Required properties: · 4 unmodified lines
5- reg: Should contain DMA registers location and length. This shuld include5- reg: Should contain DMA registers location and length. This shuld include
6 all of the per-channel registers.6 all of the per-channel registers.
7- interrupts: Should contain all of the per-channel DMA interrupts.7- interrupts: Should contain all of the per-channel DMA interrupts.
8- clocks: Must contain one entry, for the module clock.
9 See ../clocks/clock-bindings.txt for details.
10- resets : Must contain an entry for each entry in reset-names.
11 See ../reset/reset.txt for details.
12- reset-names : Must include the following entries:
13 - dma
14- #dma-cells : Must be <1>. This dictates the length of DMA specifiers in
15 client nodes' dmas properties. The specifier represents the DMA request
16 select value for the peripheral. For more details, consult the Tegra TRM's
17 documentation of the APB DMA channel control register REQ_SEL field.
8 18
9Examples:19Examples:
10 20
@@ -27,4 +37,8 @@ apbdma: dma@6000a000 { · 16 unmodified lines
27 0 149 0x0437 0 149 0x04
28 0 150 0x0438 0 150 0x04
29 0 151 0x04 >;39 0 151 0x04 >;
40 clocks = <&tegra_car 34>;
41 resets = <&tegra_car 34>;
42 reset-names = "dma";
43 #dma-cells = <1>;
30};44};
Documentation/devicetree/bindings/extcon/extcon-palmas.txt+5−1
@@ -2,7 +2,11 @@ EXTCON FOR PALMAS/TWL CHIPS · 1 unmodified line
2 2
3PALMAS USB COMPARATOR3PALMAS USB COMPARATOR
4Required Properties:4Required Properties:
5 - compatible : Should be "ti,palmas-usb" or "ti,twl6035-usb"5 - compatible: should contain one of:
6 * "ti,palmas-usb-vid".
7 * "ti,twl6035-usb-vid".
8 * "ti,palmas-usb" (DEPRECATED - use "ti,palmas-usb-vid").
9 * "ti,twl6035-usb" (DEPRECATED - use "ti,twl6035-usb-vid").
6 10
7Optional Properties:11Optional Properties:
8 - ti,wakeup : To enable the wakeup comparator in probe12 - ti,wakeup : To enable the wakeup comparator in probe
Documentation/devicetree/bindings/gpio/gpio-davinci.txt+41−0
@@ -0,0 +1,41 @@
1Davinci GPIO controller bindings
2
3Required Properties:
4- compatible: should be "ti,dm6441-gpio"
5
6- reg: Physical base address of the controller and the size of memory mapped
7 registers.
8
9- gpio-controller : Marks the device node as a gpio controller.
10
11- interrupt-parent: phandle of the parent interrupt controller.
12
13- interrupts: Array of GPIO interrupt number. Only banked or unbanked IRQs are
14 supported at a time.
15
16- ti,ngpio: The number of GPIO pins supported.
17
18- ti,davinci-gpio-unbanked: The number of GPIOs that have an individual interrupt
19 line to processor.
20
21The GPIO controller also acts as an interrupt controller. It uses the default
22two cells specifier as described in Documentation/devicetree/bindings/
23interrupt-controller/interrupts.txt.
24
25Example:
26
27gpio: gpio@1e26000 {
28 compatible = "ti,dm6441-gpio";
29 gpio-controller;
30 reg = <0x226000 0x1000>;
31 interrupt-parent = <&intc>;
32 interrupts = <42 IRQ_TYPE_EDGE_BOTH 43 IRQ_TYPE_EDGE_BOTH
33 44 IRQ_TYPE_EDGE_BOTH 45 IRQ_TYPE_EDGE_BOTH
34 46 IRQ_TYPE_EDGE_BOTH 47 IRQ_TYPE_EDGE_BOTH
35 48 IRQ_TYPE_EDGE_BOTH 49 IRQ_TYPE_EDGE_BOTH
36 50 IRQ_TYPE_EDGE_BOTH>;
37 ti,ngpio = <144>;
38 ti,davinci-gpio-unbanked = <0>;
39 interrupt-controller;
40 #interrupt-cells = <2>;
41};
Documentation/devicetree/bindings/gpio/gpio-lp3943.txt+37−0
@@ -0,0 +1,37 @@
1TI/National Semiconductor LP3943 GPIO controller
2
3Required properties:
4 - compatible: "ti,lp3943-gpio"
5 - gpio-controller: Marks the device node as a GPIO controller.
6 - #gpio-cells: Should be 2. See gpio.txt in this directory for a
7 description of the cells format.
8
9Example:
10Simple LED controls with LP3943 GPIO controller
11
12&i2c4 {
13 lp3943@60 {
14 compatible = "ti,lp3943";
15 reg = <0x60>;
16
17 gpioex: gpio {
18 compatible = "ti,lp3943-gpio";
19 gpio-controller;
20 #gpio-cells = <2>;
21 };
22 };
23};
24
25leds {
26 compatible = "gpio-leds";
27 indicator1 {
28 label = "indi1";
29 gpios = <&gpioex 9 GPIO_ACTIVE_LOW>;
30 };
31
32 indicator2 {
33 label = "indi2";
34 gpios = <&gpioex 10 GPIO_ACTIVE_LOW>;
35 default-state = "off";
36 };
37};
Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt+27−1
@@ -38,12 +38,38 @@ Required device specific properties (only for SPI chips): · 37 unmodified lines
38 removed.38 removed.
39- spi-max-frequency = The maximum frequency this chip is able to handle39- spi-max-frequency = The maximum frequency this chip is able to handle
40 40
41Example I2C:41Optional properties:
42- #interrupt-cells : Should be two.
43 - first cell is the pin number
44 - second cell is used to specify flags.
45- interrupt-controller: Marks the device node as a interrupt controller.
46NOTE: The interrupt functionality is only supported for i2c versions of the
47chips. The spi chips can also do the interrupts, but this is not supported by
48the linux driver yet.
49
50Optional device specific properties:
51- microchip,irq-mirror: Sets the mirror flag in the IOCON register. Devices
52 with two interrupt outputs (these are the devices ending with 17 and
53 those that have 16 IOs) have two IO banks: IO 0-7 form bank 1 and
54 IO 8-15 are bank 2. These chips have two different interrupt outputs:
55 One for bank 1 and another for bank 2. If irq-mirror is set, both
56 interrupts are generated regardless of the bank that an input change
57 occured on. If it is not set, the interrupt are only generated for the
58 bank they belong to.
59 On devices with only one interrupt output this property is useless.
60
61Example I2C (with interrupt):
42gpiom1: gpio@20 {62gpiom1: gpio@20 {
43 compatible = "microchip,mcp23017";63 compatible = "microchip,mcp23017";
44 gpio-controller;64 gpio-controller;
45 #gpio-cells = <2>;65 #gpio-cells = <2>;
46 reg = <0x20>;66 reg = <0x20>;
67
68 interrupt-parent = <&gpio1>;
69 interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
70 interrupt-controller;
71 #interrupt-cells=<2>;
72 microchip,irq-mirror;
47};73};
48 74
49Example SPI:75Example SPI:
Documentation/devicetree/bindings/gpio/moxa,moxart-gpio.txt+19−0
@@ -0,0 +1,19 @@
1MOXA ART GPIO Controller
2
3Required properties:
4
5- #gpio-cells : Should be 2, The first cell is the pin number,
6 the second cell is used to specify polarity:
7 0 = active high
8 1 = active low
9- compatible : Must be "moxa,moxart-gpio"
10- reg : Should contain registers location and length
11
12Example:
13
14 gpio: gpio@98700000 {
15 gpio-controller;
16 #gpio-cells = <2>;
17 compatible = "moxa,moxart-gpio";
18 reg = <0x98700000 0xC>;
19 };
Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt+2−1
@@ -2,10 +2,11 @@ · 1 unmodified line
2 2
3Required Properties:3Required Properties:
4 4
5 - compatible: should be one of the following.5 - compatible: should contain one of the following.
6 - "renesas,gpio-r8a7778": for R8A7778 (R-Mobile M1) compatible GPIO controller.6 - "renesas,gpio-r8a7778": for R8A7778 (R-Mobile M1) compatible GPIO controller.
7 - "renesas,gpio-r8a7779": for R8A7779 (R-Car H1) compatible GPIO controller.7 - "renesas,gpio-r8a7779": for R8A7779 (R-Car H1) compatible GPIO controller.
8 - "renesas,gpio-r8a7790": for R8A7790 (R-Car H2) compatible GPIO controller.8 - "renesas,gpio-r8a7790": for R8A7790 (R-Car H2) compatible GPIO controller.
9 - "renesas,gpio-r8a7791": for R8A7791 (R-Car M2) compatible GPIO controller.
9 - "renesas,gpio-rcar": for generic R-Car GPIO controller.10 - "renesas,gpio-rcar": for generic R-Car GPIO controller.
10 11
11 - reg: Base address and length of each memory resource used by the GPIO12 - reg: Base address and length of each memory resource used by the GPIO
Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt+137−0
@@ -9,6 +9,12 @@ Required properties: · 8 unmodified lines
9- #size-cells: The number of cells used to represent the size of an address9- #size-cells: The number of cells used to represent the size of an address
10 range in the host1x address space. Should be 1.10 range in the host1x address space. Should be 1.
11- ranges: The mapping of the host1x address space to the CPU address space.11- ranges: The mapping of the host1x address space to the CPU address space.
12- clocks: Must contain one entry, for the module clock.
13 See ../clocks/clock-bindings.txt for details.
14- resets: Must contain an entry for each entry in reset-names.
15 See ../reset/reset.txt for details.
16- reset-names: Must include the following entries:
17 - host1x
12 18
13The host1x top-level node defines a number of children, each representing one19The host1x top-level node defines a number of children, each representing one
14of the following host1x client modules:20of the following host1x client modules:
@@ -19,6 +25,12 @@ of the following host1x client modules: · 4 unmodified lines
19 - compatible: "nvidia,tegra<chip>-mpe"25 - compatible: "nvidia,tegra<chip>-mpe"
20 - reg: Physical base address and length of the controller's registers.26 - reg: Physical base address and length of the controller's registers.
21 - interrupts: The interrupt outputs from the controller.27 - interrupts: The interrupt outputs from the controller.
28 - clocks: Must contain one entry, for the module clock.
29 See ../clocks/clock-bindings.txt for details.
30 - resets: Must contain an entry for each entry in reset-names.
31 See ../reset/reset.txt for details.
32 - reset-names: Must include the following entries:
33 - mpe
22 34
23- vi: video input35- vi: video input
24 36
@@ -26,6 +38,12 @@ of the following host1x client modules: · 1 unmodified line
26 - compatible: "nvidia,tegra<chip>-vi"38 - compatible: "nvidia,tegra<chip>-vi"
27 - reg: Physical base address and length of the controller's registers.39 - reg: Physical base address and length of the controller's registers.
28 - interrupts: The interrupt outputs from the controller.40 - interrupts: The interrupt outputs from the controller.
41 - clocks: Must contain one entry, for the module clock.
42 See ../clocks/clock-bindings.txt for details.
43 - resets: Must contain an entry for each entry in reset-names.
44 See ../reset/reset.txt for details.
45 - reset-names: Must include the following entries:
46 - vi
29 47
30- epp: encoder pre-processor48- epp: encoder pre-processor
31 49
@@ -33,6 +51,12 @@ of the following host1x client modules: · 1 unmodified line
33 - compatible: "nvidia,tegra<chip>-epp"51 - compatible: "nvidia,tegra<chip>-epp"
34 - reg: Physical base address and length of the controller's registers.52 - reg: Physical base address and length of the controller's registers.
35 - interrupts: The interrupt outputs from the controller.53 - interrupts: The interrupt outputs from the controller.
54 - clocks: Must contain one entry, for the module clock.
55 See ../clocks/clock-bindings.txt for details.
56 - resets: Must contain an entry for each entry in reset-names.
57 See ../reset/reset.txt for details.
58 - reset-names: Must include the following entries:
59 - epp
36 60
37- isp: image signal processor61- isp: image signal processor
38 62
@@ -40,6 +64,12 @@ of the following host1x client modules: · 1 unmodified line
40 - compatible: "nvidia,tegra<chip>-isp"64 - compatible: "nvidia,tegra<chip>-isp"
41 - reg: Physical base address and length of the controller's registers.65 - reg: Physical base address and length of the controller's registers.
42 - interrupts: The interrupt outputs from the controller.66 - interrupts: The interrupt outputs from the controller.
67 - clocks: Must contain one entry, for the module clock.
68 See ../clocks/clock-bindings.txt for details.
69 - resets: Must contain an entry for each entry in reset-names.
70 See ../reset/reset.txt for details.
71 - reset-names: Must include the following entries:
72 - isp
43 73
44- gr2d: 2D graphics engine74- gr2d: 2D graphics engine
45 75
@@ -47,12 +77,30 @@ of the following host1x client modules: · 1 unmodified line
47 - compatible: "nvidia,tegra<chip>-gr2d"77 - compatible: "nvidia,tegra<chip>-gr2d"
48 - reg: Physical base address and length of the controller's registers.78 - reg: Physical base address and length of the controller's registers.
49 - interrupts: The interrupt outputs from the controller.79 - interrupts: The interrupt outputs from the controller.
80 - clocks: Must contain one entry, for the module clock.
81 See ../clocks/clock-bindings.txt for details.
82 - resets: Must contain an entry for each entry in reset-names.
83 See ../reset/reset.txt for details.
84 - reset-names: Must include the following entries:
85 - 2d
50 86
51- gr3d: 3D graphics engine87- gr3d: 3D graphics engine
52 88
53 Required properties:89 Required properties:
54 - compatible: "nvidia,tegra<chip>-gr3d"90 - compatible: "nvidia,tegra<chip>-gr3d"
55 - reg: Physical base address and length of the controller's registers.91 - reg: Physical base address and length of the controller's registers.
92 - clocks: Must contain an entry for each entry in clock-names.
93 See ../clocks/clock-bindings.txt for details.
94 - clock-names: Must include the following entries:
95 (This property may be omitted if the only clock in the list is "3d")
96 - 3d
97 This MUST be the first entry.
98 - 3d2 (Only required on SoCs with two 3D clocks)
99 - resets: Must contain an entry for each entry in reset-names.
100 See ../reset/reset.txt for details.
101 - reset-names: Must include the following entries:
102 - 3d
103 - 3d2 (Only required on SoCs with two 3D clocks)
56 104
57- dc: display controller105- dc: display controller
58 106
@@ -60,6 +108,19 @@ of the following host1x client modules: · 1 unmodified line
60 - compatible: "nvidia,tegra<chip>-dc"108 - compatible: "nvidia,tegra<chip>-dc"
61 - reg: Physical base address and length of the controller's registers.109 - reg: Physical base address and length of the controller's registers.
62 - interrupts: The interrupt outputs from the controller.110 - interrupts: The interrupt outputs from the controller.
111 - clocks: Must contain an entry for each entry in clock-names.
112 See ../clocks/clock-bindings.txt for details.
113 - clock-names: Must include the following entries:
114 - dc
115 This MUST be the first entry.
116 - parent
117 - resets: Must contain an entry for each entry in reset-names.
118 See ../reset/reset.txt for details.
119 - reset-names: Must include the following entries:
120 - dc
121 - nvidia,head: The number of the display controller head. This is used to
122 setup the various types of output to receive video data from the given
123 head.
63 124
64 Each display controller node has a child node, named "rgb", that represents125 Each display controller node has a child node, named "rgb", that represents
65 the RGB output associated with the controller. It can take the following126 the RGB output associated with the controller. It can take the following
@@ -67,6 +128,7 @@ of the following host1x client modules: · 1 unmodified line
67 - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing128 - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
68 - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection129 - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
69 - nvidia,edid: supplies a binary EDID blob130 - nvidia,edid: supplies a binary EDID blob
131 - nvidia,panel: phandle of a display panel
70 132
71- hdmi: High Definition Multimedia Interface133- hdmi: High Definition Multimedia Interface
72 134
@@ -76,11 +138,22 @@ of the following host1x client modules: · 3 unmodified lines
76 - interrupts: The interrupt outputs from the controller.138 - interrupts: The interrupt outputs from the controller.
77 - vdd-supply: regulator for supply voltage139 - vdd-supply: regulator for supply voltage
78 - pll-supply: regulator for PLL140 - pll-supply: regulator for PLL
141 - clocks: Must contain an entry for each entry in clock-names.
142 See ../clocks/clock-bindings.txt for details.
143 - clock-names: Must include the following entries:
144 - hdmi
145 This MUST be the first entry.
146 - parent
147 - resets: Must contain an entry for each entry in reset-names.
148 See ../reset/reset.txt for details.
149 - reset-names: Must include the following entries:
150 - hdmi
79 151
80 Optional properties:152 Optional properties:
81 - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing153 - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
82 - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection154 - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
83 - nvidia,edid: supplies a binary EDID blob155 - nvidia,edid: supplies a binary EDID blob
156 - nvidia,panel: phandle of a display panel
84 157
85- tvo: TV encoder output158- tvo: TV encoder output
86 159
@@ -88,12 +161,34 @@ of the following host1x client modules: · 1 unmodified line
88 - compatible: "nvidia,tegra<chip>-tvo"161 - compatible: "nvidia,tegra<chip>-tvo"
89 - reg: Physical base address and length of the controller's registers.162 - reg: Physical base address and length of the controller's registers.
90 - interrupts: The interrupt outputs from the controller.163 - interrupts: The interrupt outputs from the controller.
164 - clocks: Must contain one entry, for the module clock.
165 See ../clocks/clock-bindings.txt for details.
91 166
92- dsi: display serial interface167- dsi: display serial interface
93 168
94 Required properties:169 Required properties:
95 - compatible: "nvidia,tegra<chip>-dsi"170 - compatible: "nvidia,tegra<chip>-dsi"
96 - reg: Physical base address and length of the controller's registers.171 - reg: Physical base address and length of the controller's registers.
172 - clocks: Must contain an entry for each entry in clock-names.
173 See ../clocks/clock-bindings.txt for details.
174 - clock-names: Must include the following entries:
175 - dsi
176 This MUST be the first entry.
177 - lp
178 - parent
179 - resets: Must contain an entry for each entry in reset-names.
180 See ../reset/reset.txt for details.
181 - reset-names: Must include the following entries:
182 - dsi
183 - nvidia,mipi-calibrate: Should contain a phandle and a specifier specifying
184 which pads are used by this DSI output and need to be calibrated. See also
185 ../mipi/nvidia,tegra114-mipi.txt.
186
187 Optional properties:
188 - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
189 - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
190 - nvidia,edid: supplies a binary EDID blob
191 - nvidia,panel: phandle of a display panel
97 192
98Example:193Example:
99 194
@@ -105,6 +200,9 @@ Example: · 5 unmodified lines
105 reg = <0x50000000 0x00024000>;200 reg = <0x50000000 0x00024000>;
106 interrupts = <0 65 0x04 /* mpcore syncpt */201 interrupts = <0 65 0x04 /* mpcore syncpt */
107 0 67 0x04>; /* mpcore general */202 0 67 0x04>; /* mpcore general */
203 clocks = <&tegra_car TEGRA20_CLK_HOST1X>;
204 resets = <&tegra_car 28>;
205 reset-names = "host1x";
108 206
109 #address-cells = <1>;207 #address-cells = <1>;
110 #size-cells = <1>;208 #size-cells = <1>;
@@ -115,41 +213,64 @@ Example: · 4 unmodified lines
115 compatible = "nvidia,tegra20-mpe";213 compatible = "nvidia,tegra20-mpe";
116 reg = <0x54040000 0x00040000>;214 reg = <0x54040000 0x00040000>;
117 interrupts = <0 68 0x04>;215 interrupts = <0 68 0x04>;
216 clocks = <&tegra_car TEGRA20_CLK_MPE>;
217 resets = <&tegra_car 60>;
218 reset-names = "mpe";
118 };219 };
119 220
120 vi {221 vi {
121 compatible = "nvidia,tegra20-vi";222 compatible = "nvidia,tegra20-vi";
122 reg = <0x54080000 0x00040000>;223 reg = <0x54080000 0x00040000>;
123 interrupts = <0 69 0x04>;224 interrupts = <0 69 0x04>;
225 clocks = <&tegra_car TEGRA20_CLK_VI>;
226 resets = <&tegra_car 100>;
227 reset-names = "vi";
124 };228 };
125 229
126 epp {230 epp {
127 compatible = "nvidia,tegra20-epp";231 compatible = "nvidia,tegra20-epp";
128 reg = <0x540c0000 0x00040000>;232 reg = <0x540c0000 0x00040000>;
129 interrupts = <0 70 0x04>;233 interrupts = <0 70 0x04>;
234 clocks = <&tegra_car TEGRA20_CLK_EPP>;
235 resets = <&tegra_car 19>;
236 reset-names = "epp";
130 };237 };
131 238
132 isp {239 isp {
133 compatible = "nvidia,tegra20-isp";240 compatible = "nvidia,tegra20-isp";
134 reg = <0x54100000 0x00040000>;241 reg = <0x54100000 0x00040000>;
135 interrupts = <0 71 0x04>;242 interrupts = <0 71 0x04>;
243 clocks = <&tegra_car TEGRA20_CLK_ISP>;
244 resets = <&tegra_car 23>;
245 reset-names = "isp";
136 };246 };
137 247
138 gr2d {248 gr2d {
139 compatible = "nvidia,tegra20-gr2d";249 compatible = "nvidia,tegra20-gr2d";
140 reg = <0x54140000 0x00040000>;250 reg = <0x54140000 0x00040000>;
141 interrupts = <0 72 0x04>;251 interrupts = <0 72 0x04>;
252 clocks = <&tegra_car TEGRA20_CLK_GR2D>;
253 resets = <&tegra_car 21>;
254 reset-names = "2d";
142 };255 };
143 256
144 gr3d {257 gr3d {
145 compatible = "nvidia,tegra20-gr3d";258 compatible = "nvidia,tegra20-gr3d";
146 reg = <0x54180000 0x00040000>;259 reg = <0x54180000 0x00040000>;
260 clocks = <&tegra_car TEGRA20_CLK_GR3D>;
261 resets = <&tegra_car 24>;
262 reset-names = "3d";
147 };263 };
148 264
149 dc@54200000 {265 dc@54200000 {
150 compatible = "nvidia,tegra20-dc";266 compatible = "nvidia,tegra20-dc";
151 reg = <0x54200000 0x00040000>;267 reg = <0x54200000 0x00040000>;
152 interrupts = <0 73 0x04>;268 interrupts = <0 73 0x04>;
269 clocks = <&tegra_car TEGRA20_CLK_DISP1>,
270 <&tegra_car TEGRA20_CLK_PLL_P>;
271 clock-names = "dc", "parent";
272 resets = <&tegra_car 27>;
273 reset-names = "dc";
153 274
154 rgb {275 rgb {
155 status = "disabled";276 status = "disabled";
@@ -160,6 +281,11 @@ Example: · 4 unmodified lines
160 compatible = "nvidia,tegra20-dc";281 compatible = "nvidia,tegra20-dc";
161 reg = <0x54240000 0x00040000>;282 reg = <0x54240000 0x00040000>;
162 interrupts = <0 74 0x04>;283 interrupts = <0 74 0x04>;
284 clocks = <&tegra_car TEGRA20_CLK_DISP2>,
285 <&tegra_car TEGRA20_CLK_PLL_P>;
286 clock-names = "dc", "parent";
287 resets = <&tegra_car 26>;
288 reset-names = "dc";
163 289
164 rgb {290 rgb {
165 status = "disabled";291 status = "disabled";
@@ -170,6 +296,11 @@ Example: · 4 unmodified lines
170 compatible = "nvidia,tegra20-hdmi";296 compatible = "nvidia,tegra20-hdmi";
171 reg = <0x54280000 0x00040000>;297 reg = <0x54280000 0x00040000>;
172 interrupts = <0 75 0x04>;298 interrupts = <0 75 0x04>;
299 clocks = <&tegra_car TEGRA20_CLK_HDMI>,
300 <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
301 clock-names = "hdmi", "parent";
302 resets = <&tegra_car 51>;
303 reset-names = "hdmi";
173 status = "disabled";304 status = "disabled";
174 };305 };
175 306
@@ -177,12 +308,18 @@ Example: · 1 unmodified line
177 compatible = "nvidia,tegra20-tvo";308 compatible = "nvidia,tegra20-tvo";
178 reg = <0x542c0000 0x00040000>;309 reg = <0x542c0000 0x00040000>;
179 interrupts = <0 76 0x04>;310 interrupts = <0 76 0x04>;
311 clocks = <&tegra_car TEGRA20_CLK_TVO>;
180 status = "disabled";312 status = "disabled";
181 };313 };
182 314
183 dsi {315 dsi {
184 compatible = "nvidia,tegra20-dsi";316 compatible = "nvidia,tegra20-dsi";
185 reg = <0x54300000 0x00040000>;317 reg = <0x54300000 0x00040000>;
318 clocks = <&tegra_car TEGRA20_CLK_DSI>,
319 <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
320 clock-names = "dsi", "parent";
321 resets = <&tegra_car 48>;
322 reset-names = "dsi";
186 status = "disabled";323 status = "disabled";
187 };324 };
188 };325 };
Documentation/devicetree/bindings/i2c/i2c-at91.txt+2−0
@@ -9,6 +9,7 @@ Required properties : · 8 unmodified lines
9- interrupts: interrupt number to the cpu.9- interrupts: interrupt number to the cpu.
10- #address-cells = <1>;10- #address-cells = <1>;
11- #size-cells = <0>;11- #size-cells = <0>;
12- clocks: phandles to input clocks.
12 13
13Optional properties:14Optional properties:
14- Child nodes conforming to i2c bus binding15- Child nodes conforming to i2c bus binding
@@ -21,6 +22,7 @@ i2c0: i2c@fff84000 { · 6 unmodified lines
21 interrupts = <12 4 6>;22 interrupts = <12 4 6>;
22 #address-cells = <1>;23 #address-cells = <1>;
23 #size-cells = <0>;24 #size-cells = <0>;
25 clocks = <&twi0_clk>;
24 26
25 24c512@50 {27 24c512@50 {
26 compatible = "24c512";28 compatible = "24c512";
Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.txt+50−0
@@ -0,0 +1,50 @@
1* NXP PCA954x I2C bus switch
2
3Required Properties:
4
5 - compatible: Must contain one of the following.
6 "nxp,pca9540", "nxp,pca9542", "nxp,pca9543", "nxp,pca9544",
7 "nxp,pca9545", "nxp,pca9546", "nxp,pca9547", "nxp,pca9548"
8
9 - reg: The I2C address of the device.
10
11 The following required properties are defined externally:
12
13 - Standard I2C mux properties. See i2c-mux.txt in this directory.
14 - I2C child bus nodes. See i2c-mux.txt in this directory.
15
16Optional Properties:
17
18 - reset-gpios: Reference to the GPIO connected to the reset input.
19
20
21Example:
22
23 i2c-switch@74 {
24 compatible = "nxp,pca9548";
25 #address-cells = <1>;
26 #size-cells = <0>;
27 reg = <0x74>;
28
29 i2c@2 {
30 #address-cells = <1>;
31 #size-cells = <0>;
32 reg = <2>;
33
34 eeprom@54 {
35 compatible = "at,24c08";
36 reg = <0x54>;
37 };
38 };
39
40 i2c@4 {
41 #address-cells = <1>;
42 #size-cells = <0>;
43 reg = <4>;
44
45 rtc@51 {
46 compatible = "nxp,pcf8563";
47 reg = <0x51>;
48 };
49 };
50 };
Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt+5−1
@@ -5,7 +5,11 @@ Required properties : · 4 unmodified lines
5 5
6 - reg : Offset and length of the register set for the device6 - reg : Offset and length of the register set for the device
7 - compatible : Should be "marvell,mv64xxx-i2c" or "allwinner,sun4i-i2c"7 - compatible : Should be "marvell,mv64xxx-i2c" or "allwinner,sun4i-i2c"
8 or "marvell,mv78230-i2c"8 or "marvell,mv78230-i2c" or "marvell,mv78230-a0-i2c"
9 Note: Only use "marvell,mv78230-a0-i2c" for a very rare,
10 initial version of the SoC which had broken offload
11 support. Linux auto-detects this and sets it
12 appropriately.
9 - interrupts : The interrupt number13 - interrupts : The interrupt number
10 14
11Optional properties :15Optional properties :
Documentation/devicetree/bindings/i2c/i2c-riic.txt+29−0
@@ -0,0 +1,29 @@
1Device tree configuration for Renesas RIIC driver
2
3Required properties:
4- compatible : "renesas,riic-<soctype>". "renesas,riic-rz" as fallback
5- reg : address start and address range size of device
6- interrupts : 8 interrupts (TEI, RI, TI, SPI, STI, NAKI, ALI, TMOI)
7- clock-frequency : frequency of bus clock in Hz
8- #address-cells : should be <1>
9- #size-cells : should be <0>
10
11Pinctrl properties might be needed, too. See there.
12
13Example:
14
15 i2c0: i2c@fcfee000 {
16 compatible = "renesas,riic-r7s72100", "renesas,riic-rz";
17 reg = <0xfcfee000 0x44>;
18 interrupts = <0 157 IRQ_TYPE_LEVEL_HIGH>,
19 <0 158 IRQ_TYPE_EDGE_RISING>,
20 <0 159 IRQ_TYPE_EDGE_RISING>,
21 <0 160 IRQ_TYPE_LEVEL_HIGH>,
22 <0 161 IRQ_TYPE_LEVEL_HIGH>,
23 <0 162 IRQ_TYPE_LEVEL_HIGH>,
24 <0 163 IRQ_TYPE_LEVEL_HIGH>,
25 <0 164 IRQ_TYPE_LEVEL_HIGH>;
26 clock-frequency = <100000>;
27 #address-cells = <1>;
28 #size-cells = <0>;
29 };
Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt+2−0
@@ -10,6 +10,8 @@ Required properties: · 9 unmodified lines
10 inside HDMIPHY block found on several samsung SoCs10 inside HDMIPHY block found on several samsung SoCs
11 (d) "samsung, exynos5440-i2c", for s3c2440-like i2c used11 (d) "samsung, exynos5440-i2c", for s3c2440-like i2c used
12 on EXYNOS5440 which does not need GPIO configuration.12 on EXYNOS5440 which does not need GPIO configuration.
13 (e) "samsung, exynos5-sata-phy-i2c", for s3c2440-like i2c used as
14 a host to SATA PHY controller on an internal bus.
13 - reg: physical base address of the controller and length of memory mapped15 - reg: physical base address of the controller and length of memory mapped
14 region.16 region.
15 - interrupts: interrupt number to the cpu.17 - interrupts: interrupt number to the cpu.
Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt+21−6
@@ -39,12 +39,23 @@ Required properties: · 38 unmodified lines
39- interrupts: Should contain I2C controller interrupts.39- interrupts: Should contain I2C controller interrupts.
40- address-cells: Address cells for I2C device address.40- address-cells: Address cells for I2C device address.
41- size-cells: Size of the I2C device address.41- size-cells: Size of the I2C device address.
42- clocks: Clock ID as per42- clocks: Must contain an entry for each entry in clock-names.
43 Documentation/devicetree/bindings/clock/tegra<chip-id>.txt43 See ../clocks/clock-bindings.txt for details.
44 for I2C controller.44- clock-names: Must include the following entries:
45- clock-names: Name of the clock:45 Tegra20/Tegra30:
46 Tegra20/Tegra30 I2C controller: "div-clk and "fast-clk".46 - div-clk
47 Tegra114 I2C controller: "div-clk".47 - fast-clk
48 Tegra114:
49 - div-clk
50- resets: Must contain an entry for each entry in reset-names.
51 See ../reset/reset.txt for details.
52- reset-names: Must include the following entries:
53 - i2c
54- dmas: Must contain an entry for each entry in clock-names.
55 See ../dma/dma.txt for details.
56- dma-names: Must include the following entries:
57 - rx
58 - tx
48 59
49Example:60Example:
50 61
@@ -56,5 +67,9 @@ Example: · 5 unmodified lines
56 #size-cells = <0>;67 #size-cells = <0>;
57 clocks = <&tegra_car 12>, <&tegra_car 124>;68 clocks = <&tegra_car 12>, <&tegra_car 124>;
58 clock-names = "div-clk", "fast-clk";69 clock-names = "div-clk", "fast-clk";
70 resets = <&tegra_car 12>;
71 reset-names = "i2c";
72 dmas = <&apbdma 16>, <&apbdma 16>;
73 dma-names = "rx", "tx";
59 status = "disabled";74 status = "disabled";
60 };75 };
Documentation/devicetree/bindings/i2c/trivial-devices.txt+2−0
@@ -16,6 +16,7 @@ adt7461 +/-1C TDM Extended Temp Range I.C · 15 unmodified lines
16at,24c08 i2c serial eeprom (24cxx)16at,24c08 i2c serial eeprom (24cxx)
17atmel,24c02 i2c serial eeprom (24cxx)17atmel,24c02 i2c serial eeprom (24cxx)
18atmel,at97sc3204t i2c trusted platform module (TPM)18atmel,at97sc3204t i2c trusted platform module (TPM)
19capella,cm32181 CM32181: Ambient Light Sensor
19catalyst,24c32 i2c serial eeprom20catalyst,24c32 i2c serial eeprom
20dallas,ds1307 64 x 8, Serial, I2C Real-Time Clock21dallas,ds1307 64 x 8, Serial, I2C Real-Time Clock
21dallas,ds1338 I2C RTC with 56-Byte NV RAM22dallas,ds1338 I2C RTC with 56-Byte NV RAM
@@ -39,6 +40,7 @@ fsl,sgtl5000 SGTL5000: Ultra Low-Power Audio Codec · 17 unmodified lines
39gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire Interface40gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire Interface
40infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz)41infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz)
41infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz)42infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz)
43isl,isl12057 Intersil ISL12057 I2C RTC Chip
42maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator44maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator
43maxim,max1237 Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs45maxim,max1237 Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs
44maxim,max6625 9-Bit/12-Bit Temperature Sensors with I²C-Compatible Serial Interface46maxim,max6625 9-Bit/12-Bit Temperature Sensors with I²C-Compatible Serial Interface
Documentation/devicetree/bindings/iio/humidity/dht11.txt+14−0
@@ -0,0 +1,14 @@
1* DHT11 humidity/temperature sensor (and compatibles like DHT22)
2
3Required properties:
4 - compatible: Should be "dht11"
5 - gpios: Should specify the GPIO connected to the sensor's data
6 line, see "gpios property" in
7 Documentation/devicetree/bindings/gpio/gpio.txt.
8
9Example:
10
11humidity_sensor {
12 compatible = "dht11";
13 gpios = <&gpio0 6 0>;
14}
Documentation/devicetree/bindings/iio/light/tsl2563.txt+19−0
@@ -0,0 +1,19 @@
1* AMS TAOS TSL2563 ambient light sensor
2
3Required properties:
4
5 - compatible : should be "amstaos,tsl2563"
6 - reg : the I2C address of the sensor
7
8Optional properties:
9
10 - amstaos,cover-comp-gain : integer used as multiplier for gain
11 compensation (default = 1)
12
13Example:
14
15tsl2563@29 {
16 compatible = "amstaos,tsl2563";
17 reg = <0x29>;
18 amstaos,cover-comp-gain = <16>;
19};
Documentation/devicetree/bindings/iio/magnetometer/hmc5843.txt+17−0
@@ -0,0 +1,17 @@
1* Honeywell HMC5843 magnetometer sensor
2
3Required properties:
4
5 - compatible : should be "honeywell,hmc5843"
6 - reg : the I2C address of the magnetometer - typically 0x1e
7
8Optional properties:
9
10 - gpios : should be device tree identifier of the magnetometer DRDY pin
11
12Example:
13
14hmc5843@1e {
15 compatible = "honeywell,hmc5843"
16 reg = <0x1e>;
17};
Documentation/devicetree/bindings/input/gpio-beeper.txt+13−0
@@ -0,0 +1,13 @@
1* GPIO beeper device tree bindings
2
3Register a beeper connected to GPIO pin.
4
5Required properties:
6- compatible: Should be "gpio-beeper".
7- gpios: From common gpio binding; gpio connection to beeper enable pin.
8
9Example:
10 beeper: beeper {
11 compatible = "gpio-beeper";
12 gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
13 };
Documentation/devicetree/bindings/input/nvidia,tegra20-kbc.txt+9−0
@@ -13,6 +13,12 @@ Required properties: · 12 unmodified lines
13 array of pin numbers which is used as column.13 array of pin numbers which is used as column.
14- linux,keymap: The keymap for keys as described in the binding document14- linux,keymap: The keymap for keys as described in the binding document
15 devicetree/bindings/input/matrix-keymap.txt.15 devicetree/bindings/input/matrix-keymap.txt.
16- clocks: Must contain one entry, for the module clock.
17 See ../clocks/clock-bindings.txt for details.
18- resets: Must contain an entry for each entry in reset-names.
19 See ../reset/reset.txt for details.
20- reset-names: Must include the following entries:
21 - kbc
16 22
17Optional properties, in addition to those specified by the shared23Optional properties, in addition to those specified by the shared
18matrix-keyboard bindings:24matrix-keyboard bindings:
@@ -31,6 +37,9 @@ keyboard: keyboard { · 12 unmodified lines
31 compatible = "nvidia,tegra20-kbc";37 compatible = "nvidia,tegra20-kbc";
32 reg = <0x7000e200 0x100>;38 reg = <0x7000e200 0x100>;
33 interrupts = <0 85 0x04>;39 interrupts = <0 85 0x04>;
40 clocks = <&tegra_car 36>;
41 resets = <&tegra_car 36>;
42 reset-names = "kbc";
34 nvidia,ghost-filter;43 nvidia,ghost-filter;
35 nvidia,debounce-delay-ms = <640>;44 nvidia,debounce-delay-ms = <640>;
36 nvidia,kbc-row-pins = <0 1 2>; /* pin 0, 1, 2 as rows */45 nvidia,kbc-row-pins = <0 1 2>; /* pin 0, 1, 2 as rows */
Documentation/devicetree/bindings/input/touchscreen/tsc2007.txt+41−0
@@ -0,0 +1,41 @@
1* Texas Instruments tsc2007 touchscreen controller
2
3Required properties:
4- compatible: must be "ti,tsc2007".
5- reg: I2C address of the chip.
6- ti,x-plate-ohms: X-plate resistance in ohms.
7
8Optional properties:
9- gpios: the interrupt gpio the chip is connected to (trough the penirq pin).
10 The penirq pin goes to low when the panel is touched.
11 (see GPIO binding[1] for more details).
12- interrupt-parent: the phandle for the gpio controller
13 (see interrupt binding[0]).
14- interrupts: (gpio) interrupt to which the chip is connected
15 (see interrupt binding[0]).
16- ti,max-rt: maximum pressure.
17- ti,fuzzx: specifies the absolute input fuzz x value.
18 If set, it will permit noise in the data up to +- the value given to the fuzz
19 parameter, that is used to filter noise from the event stream.
20- ti,fuzzy: specifies the absolute input fuzz y value.
21- ti,fuzzz: specifies the absolute input fuzz z value.
22- ti,poll-period: how much time to wait (in milliseconds) before reading again the
23 values from the tsc2007.
24
25[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
26[1]: Documentation/devicetree/bindings/gpio/gpio.txt
27
28Example:
29 &i2c1 {
30 /* ... */
31 tsc2007@49 {
32 compatible = "ti,tsc2007";
33 reg = <0x49>;
34 interrupt-parent = <&gpio4>;
35 interrupts = <0x0 0x8>;
36 gpios = <&gpio4 0 0>;
37 ti,x-plate-ohms = <180>;
38 };
39
40 /* ... */
41 };
Documentation/devicetree/bindings/input/twl4030-keypad.txt+27−0
@@ -0,0 +1,27 @@
1* TWL4030's Keypad Controller device tree bindings
2
3TWL4030's Keypad controller is used to interface a SoC with a matrix-type
4keypad device. The keypad controller supports multiple row and column lines.
5A key can be placed at each intersection of a unique row and a unique column.
6The keypad controller can sense a key-press and key-release and report the
7event using a interrupt to the cpu.
8
9This binding is based on the matrix-keymap binding with the following
10changes:
11
12 * keypad,num-rows and keypad,num-columns are required.
13
14Required SoC Specific Properties:
15- compatible: should be one of the following
16 - "ti,twl4030-keypad": For controllers compatible with twl4030 keypad
17 controller.
18- interrupt: should be one of the following
19 - <1>: For controllers compatible with twl4030 keypad controller.
20
21Example:
22 twl_keypad: keypad {
23 compatible = "ti,twl4030-keypad";
24 interrupts = <1>;
25 keypad,num-rows = <8>;
26 keypad,num-columns = <8>;
27 };
Documentation/devicetree/bindings/input/twl4030-pwrbutton.txt+21−0
@@ -0,0 +1,21 @@
1Texas Instruments TWL family (twl4030) pwrbutton module
2
3This module is part of the TWL4030. For more details about the whole
4chip see Documentation/devicetree/bindings/mfd/twl-familly.txt.
5
6This module provides a simple power button event via an Interrupt.
7
8Required properties:
9- compatible: should be one of the following
10 - "ti,twl4030-pwrbutton": For controllers compatible with twl4030
11- interrupts: should be one of the following
12 - <8>: For controllers compatible with twl4030
13
14Example:
15
16&twl {
17 twl_pwrbutton: pwrbutton {
18 compatible = "ti,twl4030-pwrbutton";
19 interrupts = <8>;
20 };
21};
Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt+1−1
@@ -14,5 +14,5 @@ intc: interrupt-controller { · 13 unmodified lines
14 compatible = "allwinner,sun4i-ic";14 compatible = "allwinner,sun4i-ic";
15 reg = <0x01c20400 0x400>;15 reg = <0x01c20400 0x400>;
16 interrupt-controller;16 interrupt-controller;
17 #interrupt-cells = <2>;17 #interrupt-cells = <1>;
18};18};
Documentation/devicetree/bindings/interrupt-controller/snps,dw-apb-ictl.txt+32−0
@@ -0,0 +1,32 @@
1Synopsys DesignWare APB interrupt controller (dw_apb_ictl)
2
3Synopsys DesignWare provides interrupt controller IP for APB known as
4dw_apb_ictl. The IP is used as secondary interrupt controller in some SoCs with
5APB bus, e.g. Marvell Armada 1500.
6
7Required properties:
8- compatible: shall be "snps,dw-apb-ictl"
9- reg: physical base address of the controller and length of memory mapped
10 region starting with ENABLE_LOW register
11- interrupt-controller: identifies the node as an interrupt controller
12- #interrupt-cells: number of cells to encode an interrupt-specifier, shall be 1
13- interrupts: interrupt reference to primary interrupt controller
14- interrupt-parent: (optional) reference specific primary interrupt controller
15
16The interrupt sources map to the corresponding bits in the interrupt
17registers, i.e.
18- 0 maps to bit 0 of low interrupts,
19- 1 maps to bit 1 of low interrupts,
20- 32 maps to bit 0 of high interrupts,
21- 33 maps to bit 1 of high interrupts,
22- (optional) fast interrupts start at 64.
23
24Example:
25 aic: interrupt-controller@3000 {
26 compatible = "snps,dw-apb-ictl";
27 reg = <0x3000 0xc00>;
28 interrupt-controller;
29 #interrupt-cells = <1>;
30 interrupt-parent = <&gic>;
31 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
32 };
Documentation/devicetree/bindings/leds/tca6507.txt+16−0
@@ -2,6 +2,13 @@ LEDs connected to tca6507 · 1 unmodified line
2 2
3Required properties:3Required properties:
4- compatible : should be : "ti,tca6507".4- compatible : should be : "ti,tca6507".
5- #address-cells: must be 1
6- #size-cells: must be 0
7- reg: typically 0x45.
8
9Optional properties:
10- gpio-controller: allows lines to be used as output-only GPIOs.
11- #gpio-cells: if present, must be 0.
5 12
6Each led is represented as a sub-node of the ti,tca6507 device.13Each led is represented as a sub-node of the ti,tca6507 device.
7 14
@@ -10,6 +17,7 @@ LED sub-node properties: · 2 unmodified lines
10- reg : number of LED line (could be from 0 to 6)17- reg : number of LED line (could be from 0 to 6)
11- linux,default-trigger : (optional)18- linux,default-trigger : (optional)
12 see Documentation/devicetree/bindings/leds/common.txt19 see Documentation/devicetree/bindings/leds/common.txt
20- compatible: either "led" (the default) or "gpio".
13 21
14Examples:22Examples:
15 23
@@ -19,6 +27,9 @@ tca6507@45 { · 3 unmodified lines
19 #size-cells = <0>;27 #size-cells = <0>;
20 reg = <0x45>;28 reg = <0x45>;
21 29
30 gpio-controller;
31 #gpio-cells = <2>;
32
22 led0: red-aux@0 {33 led0: red-aux@0 {
23 label = "red:aux";34 label = "red:aux";
24 reg = <0x0>;35 reg = <0x0>;
@@ -29,5 +40,10 @@ tca6507@45 { · 4 unmodified lines
29 reg = <0x5>;40 reg = <0x5>;
30 linux,default-trigger = "default-on";41 linux,default-trigger = "default-on";
31 };42 };
43
44 wifi-reset@6 {
45 reg = <0x6>;
46 compatible = "gpio";
47 };
32};48};
33 49
Documentation/devicetree/bindings/marvell.txt+0−8
@@ -79,7 +79,6 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd. · 78 unmodified lines
79 Required properties:79 Required properties:
80 - #address-cells : Should be <1>80 - #address-cells : Should be <1>
81 - #size-cells : Should be <0>81 - #size-cells : Should be <0>
82 - device_type : Should be "mdio"
83 - compatible : Should be "marvell,mv64360-mdio"82 - compatible : Should be "marvell,mv64360-mdio"
84 83
85 Example:84 Example:
@@ -87,7 +86,6 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd. · 1 unmodified line
87 mdio {86 mdio {
88 #address-cells = <1>;87 #address-cells = <1>;
89 #size-cells = <0>;88 #size-cells = <0>;
90 device_type = "mdio";
91 compatible = "marvell,mv64360-mdio";89 compatible = "marvell,mv64360-mdio";
92 90
93 ethernet-phy@0 {91 ethernet-phy@0 {
@@ -132,7 +130,6 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd. · 38 unmodified lines
132 Ethernet port node130 Ethernet port node
133 131
134 Required properties:132 Required properties:
135 - device_type : Should be "network".
136 - compatible : Should be "marvell,mv64360-eth".133 - compatible : Should be "marvell,mv64360-eth".
137 - reg : Should be <0>, <1>, or <2>, according to which registers134 - reg : Should be <0>, <1>, or <2>, according to which registers
138 within the silicon block the device uses.135 within the silicon block the device uses.
@@ -145,7 +142,6 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd. · 6 unmodified lines
145 142
146 Example Discovery Ethernet port node:143 Example Discovery Ethernet port node:
147 ethernet@0 {144 ethernet@0 {
148 device_type = "network";
149 compatible = "marvell,mv64360-eth";145 compatible = "marvell,mv64360-eth";
150 reg = <0>;146 reg = <0>;
151 interrupts = <32>;147 interrupts = <32>;
@@ -159,7 +155,6 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd. · 7 unmodified lines
159 c) Marvell Discovery PHY nodes155 c) Marvell Discovery PHY nodes
160 156
161 Required properties:157 Required properties:
162 - device_type : Should be "ethernet-phy"
163 - interrupts : <a> where a is the interrupt number for this phy.158 - interrupts : <a> where a is the interrupt number for this phy.
164 - interrupt-parent : the phandle for the interrupt controller that159 - interrupt-parent : the phandle for the interrupt controller that
165 services interrupts for this device.160 services interrupts for this device.
@@ -167,7 +162,6 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd. · 1 unmodified line
167 162
168 Example Discovery PHY node:163 Example Discovery PHY node:
169 ethernet-phy@1 {164 ethernet-phy@1 {
170 device_type = "ethernet-phy";
171 compatible = "broadcom,bcm5421";165 compatible = "broadcom,bcm5421";
172 interrupts = <76>; /* GPP 12 */166 interrupts = <76>; /* GPP 12 */
173 interrupt-parent = <&PIC>;167 interrupt-parent = <&PIC>;
@@ -271,7 +265,6 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd. · 97 unmodified lines
271 serial port.265 serial port.
272 266
273 Required properties:267 Required properties:
274 - device_type : "serial"
275 - compatible : "marvell,mv64360-mpsc"268 - compatible : "marvell,mv64360-mpsc"
276 - reg : Offset and length of the register set for this device269 - reg : Offset and length of the register set for this device
277 - sdma : the phandle for the SDMA node used by this port270 - sdma : the phandle for the SDMA node used by this port
@@ -288,7 +281,6 @@ prefixed with the string "marvell,", for Marvell Technology Group Ltd. · 10 unmodified lines
288 281
289 Example Discovery MPSCINTR node:282 Example Discovery MPSCINTR node:
290 mpsc@8000 {283 mpsc@8000 {
291 device_type = "serial";
292 compatible = "marvell,mv64360-mpsc";284 compatible = "marvell,mv64360-mpsc";
293 reg = <0x8000 0x38>;285 reg = <0x8000 0x38>;
294 virtual-reg = <0xf1008000>;286 virtual-reg = <0xf1008000>;
Documentation/devicetree/bindings/media/exynos-jpeg-codec.txt+11−0
@@ -0,0 +1,11 @@
1Samsung S5P/EXYNOS SoC series JPEG codec
2
3Required properties:
4
5- compatible : should be one of:
6 "samsung,s5pv210-jpeg", "samsung,exynos4210-jpeg";
7- reg : address and length of the JPEG codec IP register set;
8- interrupts : specifies the JPEG codec IP interrupt;
9- clocks : should contain the JPEG codec IP gate clock specifier, from the
10 common clock bindings;
11- clock-names : should contain "jpeg" entry.
Documentation/devicetree/bindings/media/samsung-s5k5baf.txt+58−0
@@ -0,0 +1,58 @@
1Samsung S5K5BAF UXGA 1/5" 2M CMOS Image Sensor with embedded SoC ISP
2--------------------------------------------------------------------
3
4Required properties:
5
6- compatible : "samsung,s5k5baf";
7- reg : I2C slave address of the sensor;
8- vdda-supply : analog power supply 2.8V (2.6V to 3.0V);
9- vddreg-supply : regulator input power supply 1.8V (1.7V to 1.9V)
10 or 2.8V (2.6V to 3.0);
11- vddio-supply : I/O power supply 1.8V (1.65V to 1.95V)
12 or 2.8V (2.5V to 3.1V);
13- stbyn-gpios : GPIO connected to STDBYN pin;
14- rstn-gpios : GPIO connected to RSTN pin;
15- clocks : list of phandle and clock specifier pairs
16 according to common clock bindings for the
17 clocks described in clock-names;
18- clock-names : should include "mclk" for the sensor's master clock;
19
20Optional properties:
21
22- clock-frequency : the frequency at which the "mclk" clock should be
23 configured to operate, in Hz; if this property is not
24 specified default 24 MHz value will be used.
25
26The device node should contain one 'port' child node with one child 'endpoint'
27node, according to the bindings defined in Documentation/devicetree/bindings/
28media/video-interfaces.txt. The following are properties specific to those
29nodes.
30
31endpoint node
32-------------
33
34- data-lanes : (optional) specifies MIPI CSI-2 data lanes as covered in
35 video-interfaces.txt. If present it should be <1> - the device
36 supports only one data lane without re-mapping.
37
38Example:
39
40s5k5bafx@2d {
41 compatible = "samsung,s5k5baf";
42 reg = <0x2d>;
43 vdda-supply = <&cam_io_en_reg>;
44 vddreg-supply = <&vt_core_15v_reg>;
45 vddio-supply = <&vtcam_reg>;
46 stbyn-gpios = <&gpl2 0 1>;
47 rstn-gpios = <&gpl2 1 1>;
48 clock-names = "mclk";
49 clocks = <&clock_cam 0>;
50 clock-frequency = <24000000>;
51
52 port {
53 s5k5bafx_ep: endpoint {
54 remote-endpoint = <&csis1_ep>;
55 data-lanes = <1>;
56 };
57 };
58};
Documentation/devicetree/bindings/mfd/as3722.txt+11−0
@@ -112,6 +112,15 @@ Following are properties of regulator subnode. · 111 unmodified lines
112 ams,enable-tracking: Enable tracking with SD1, only supported112 ams,enable-tracking: Enable tracking with SD1, only supported
113 by LDO3.113 by LDO3.
114 114
115Power-off:
116=========
117AS3722 supports the system power off by turning off all its rail. This
118is provided through pm_power_off.
119The device node should have the following properties to enable this
120functionality
121ams,system-power-controller: Boolean, to enable the power off functionality
122 through this device.
123
115Example:124Example:
116--------125--------
117#include <dt-bindings/mfd/as3722.h>126#include <dt-bindings/mfd/as3722.h>
@@ -120,6 +129,8 @@ ams3722 { · 2 unmodified lines
120 compatible = "ams,as3722";129 compatible = "ams,as3722";
121 reg = <0x48>;130 reg = <0x48>;
122 131
132 ams,system-power-controller;
133
123 interrupt-parent = <&intc>;134 interrupt-parent = <&intc>;
124 interrupt-controller;135 interrupt-controller;
125 #interrupt-cells = <2>;136 #interrupt-cells = <2>;
Documentation/devicetree/bindings/mfd/cros-ec.txt+9−0
@@ -17,6 +17,15 @@ Required properties (SPI): · 16 unmodified lines
17- compatible: "google,cros-ec-spi"17- compatible: "google,cros-ec-spi"
18- reg: SPI chip select18- reg: SPI chip select
19 19
20Optional properties (SPI):
21- google,cros-ec-spi-msg-delay: Some implementations of the EC require some
22 additional processing time in order to accept new transactions. If the delay
23 between transactions is not long enough the EC may not be able to respond
24 properly to subsequent transactions and cause them to hang. This property
25 specifies the delay, in usecs, introduced between transactions to account
26 for the time required by the EC to get back into a state in which new data
27 can be accepted.
28
20Required properties (LPC):29Required properties (LPC):
21- compatible: "google,cros-ec-lpc"30- compatible: "google,cros-ec-lpc"
22- reg: List of (IO address, size) pairs defining the interface uses31- reg: List of (IO address, size) pairs defining the interface uses
Documentation/devicetree/bindings/mfd/lp3943.txt+33−0
@@ -0,0 +1,33 @@
1TI/National Semiconductor LP3943 MFD driver
2
3Required properties:
4 - compatible: "ti,lp3943"
5 - reg: I2C slave address. From 0x60 to 0x67.
6
7LP3943 consists of two sub-devices, lp3943-gpio and lp3943-pwm.
8
9For the LP3943 GPIO properties please refer to:
10Documentation/devicetree/bindings/gpio/gpio-lp3943.txt
11
12For the LP3943 PWM properties please refer to:
13Documentation/devicetree/bindings/pwm/pwm-lp3943.txt
14
15Example:
16
17lp3943@60 {
18 compatible = "ti,lp3943";
19 reg = <0x60>;
20
21 gpioex: gpio {
22 compatible = "ti,lp3943-gpio";
23 gpio-controller;
24 #gpio-cells = <2>;
25 };
26
27 pwm3943: pwm {
28 compatible = "ti,lp3943-pwm";
29 #pwm-cells = <2>;
30 ti,pwm0 = <8 9 10>;
31 ti,pwm1 = <15>;
32 };
33};
Documentation/devicetree/bindings/mfd/max77686.txt+3−0
@@ -7,6 +7,9 @@ different i2c slave address,presently for which we are statically creating i2c · 6 unmodified lines
7client while probing.This document describes the binding for mfd device and7client while probing.This document describes the binding for mfd device and
8PMIC submodule.8PMIC submodule.
9 9
10Binding for the built-in 32k clock generator block is defined separately
11in bindings/clk/maxim,max77686.txt file.
12
10Required properties:13Required properties:
11- compatible : Must be "maxim,max77686";14- compatible : Must be "maxim,max77686";
12- reg : Specifies the i2c slave address of PMIC block.15- reg : Specifies the i2c slave address of PMIC block.
Documentation/devicetree/bindings/mfd/s2mps11.txt+1−1
@@ -60,7 +60,7 @@ as per the datasheet of s2mps11. · 59 unmodified lines
60 60
61 - LDOn61 - LDOn
62 - valid values for n are 1 to 3862 - valid values for n are 1 to 38
63 - Example: LDO0, LD01, LDO2863 - Example: LDO1, LD02, LDO28
64 - BUCKn64 - BUCKn
65 - valid values for n are 1 to 10.65 - valid values for n are 1 to 10.
66 - Example: BUCK1, BUCK2, BUCK966 - Example: BUCK1, BUCK2, BUCK9
Documentation/devicetree/bindings/mfd/tps65910.txt+2−2
@@ -21,7 +21,7 @@ Required properties: · 20 unmodified lines
21 21
22 The valid regulator-compatible values are:22 The valid regulator-compatible values are:
23 tps65910: vrtc, vio, vdd1, vdd2, vdd3, vdig1, vdig2, vpll, vdac, vaux1,23 tps65910: vrtc, vio, vdd1, vdd2, vdd3, vdig1, vdig2, vpll, vdac, vaux1,
24 vaux2, vaux33, vmmc24 vaux2, vaux33, vmmc, vbb
25 tps65911: vrtc, vio, vdd1, vdd3, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5,25 tps65911: vrtc, vio, vdd1, vdd3, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5,
26 ldo6, ldo7, ldo826 ldo6, ldo7, ldo8
27 27
@@ -38,7 +38,7 @@ Required properties: · 10 unmodified lines
38 vcc4-supply: VAUX1 and VAUX2 input.38 vcc4-supply: VAUX1 and VAUX2 input.
39 vcc5-supply: VPLL and VDAC input.39 vcc5-supply: VPLL and VDAC input.
40 vcc6-supply: VDIG1 and VDIG2 input.40 vcc6-supply: VDIG1 and VDIG2 input.
41 vcc7-supply: VRTC input.41 vcc7-supply: VRTC and VBB input.
42 vccio-supply: VIO input.42 vccio-supply: VIO input.
43 tps65911:43 tps65911:
44 vcc1-supply: VDD1 input.44 vcc1-supply: VDD1 input.
Documentation/devicetree/bindings/mipi/dsi/mipi-dsi-bus.txt+98−0
@@ -0,0 +1,98 @@
1MIPI DSI (Display Serial Interface) busses
2==========================================
3
4The MIPI Display Serial Interface specifies a serial bus and a protocol for
5communication between a host and up to four peripherals. This document will
6define the syntax used to represent a DSI bus in a device tree.
7
8This document describes DSI bus-specific properties only or defines existing
9standard properties in the context of the DSI bus.
10
11Each DSI host provides a DSI bus. The DSI host controller's node contains a
12set of properties that characterize the bus. Child nodes describe individual
13peripherals on that bus.
14
15The following assumes that only a single peripheral is connected to a DSI
16host. Experience shows that this is true for the large majority of setups.
17
18DSI host
19--------
20
21In addition to the standard properties and those defined by the parent bus of
22a DSI host, the following properties apply to a node representing a DSI host.
23
24Required properties:
25- #address-cells: The number of cells required to represent an address on the
26 bus. DSI peripherals are addressed using a 2-bit virtual channel number, so
27 a maximum of 4 devices can be addressed on a single bus. Hence the value of
28 this property should be 1.
29- #size-cells: Should be 0. There are cases where it makes sense to use a
30 different value here. See below.
31
32DSI peripheral
33--------------
34
35Peripherals are represented as child nodes of the DSI host's node. Properties
36described here apply to all DSI peripherals, but individual bindings may want
37to define additional, device-specific properties.
38
39Required properties:
40- reg: The virtual channel number of a DSI peripheral. Must be in the range
41 from 0 to 3.
42
43Some DSI peripherals respond to more than a single virtual channel. In that
44case two alternative representations can be chosen:
45- The reg property can take multiple entries, one for each virtual channel
46 that the peripheral responds to.
47- If the virtual channels that a peripheral responds to are consecutive, the
48 #size-cells can be set to 1. The first cell of each entry in the reg
49 property is the number of the first virtual channel and the second cell is
50 the number of consecutive virtual channels.
51
52Example
53-------
54
55 dsi-host {
56 ...
57
58 #address-cells = <1>;
59 #size-cells = <0>;
60
61 /* peripheral responds to virtual channel 0 */
62 peripheral@0 {
63 compatible = "...";
64 reg = <0>;
65 };
66
67 ...
68 };
69
70 dsi-host {
71 ...
72
73 #address-cells = <1>;
74 #size-cells = <0>;
75
76 /* peripheral responds to virtual channels 0 and 2 */
77 peripheral@0 {
78 compatible = "...";
79 reg = <0, 2>;
80 };
81
82 ...
83 };
84
85 dsi-host {
86 ...
87
88 #address-cells = <1>;
89 #size-cells = <1>;
90
91 /* peripheral responds to virtual channels 1, 2 and 3 */
92 peripheral@1 {
93 compatible = "...";
94 reg = <1 3>;
95 };
96
97 ...
98 };
Documentation/devicetree/bindings/mipi/nvidia,tegra114-mipi.txt+41−0
@@ -0,0 +1,41 @@
1NVIDIA Tegra MIPI pad calibration controller
2
3Required properties:
4- compatible: "nvidia,tegra<chip>-mipi"
5- reg: Physical base address and length of the controller's registers.
6- clocks: Must contain an entry for each entry in clock-names.
7 See ../clocks/clock-bindings.txt for details.
8- clock-names: Must include the following entries:
9 - mipi-cal
10- #nvidia,mipi-calibrate-cells: Should be 1. The cell is a bitmask of the pads
11 that need to be calibrated for a given device.
12
13User nodes need to contain an nvidia,mipi-calibrate property that has a
14phandle to refer to the calibration controller node and a bitmask of the pads
15that need to be calibrated.
16
17Example:
18
19 mipi: mipi@700e3000 {
20 compatible = "nvidia,tegra114-mipi";
21 reg = <0x700e3000 0x100>;
22 clocks = <&tegra_car TEGRA114_CLK_MIPI_CAL>;
23 clock-names = "mipi-cal";
24 #nvidia,mipi-calibrate-cells = <1>;
25 };
26
27 ...
28
29 host1x@50000000 {
30 ...
31
32 dsi@54300000 {
33 ...
34
35 nvidia,mipi-calibrate = <&mipi 0x060>;
36
37 ...
38 };
39
40 ...
41 };
Documentation/devicetree/bindings/misc/atmel-ssc.txt+5−0
@@ -6,6 +6,9 @@ Required properties: · 5 unmodified lines
6 - atmel,at91sam9g45-ssc: support dma transfer6 - atmel,at91sam9g45-ssc: support dma transfer
7- reg: Should contain SSC registers location and length7- reg: Should contain SSC registers location and length
8- interrupts: Should contain SSC interrupt8- interrupts: Should contain SSC interrupt
9- clock-names: tuple listing input clock names.
10 Required elements: "pclk"
11- clocks: phandles to input clocks.
9 12
10 13
11Required properties for devices compatible with "atmel,at91sam9g45-ssc":14Required properties for devices compatible with "atmel,at91sam9g45-ssc":
@@ -20,6 +23,8 @@ ssc0: ssc@fffbc000 { · 8 unmodified lines
20 compatible = "atmel,at91rm9200-ssc";23 compatible = "atmel,at91rm9200-ssc";
21 reg = <0xfffbc000 0x4000>;24 reg = <0xfffbc000 0x4000>;
22 interrupts = <14 4 5>;25 interrupts = <14 4 5>;
26 clocks = <&ssc0_clk>;
27 clock-names = "pclk";
23};28};
24 29
25- DMA transfer:30- DMA transfer:
Documentation/devicetree/bindings/misc/bmp085.txt+4−0
@@ -8,6 +8,8 @@ Optional properties: · 7 unmodified lines
8- temp-measurement-period: temperature measurement period (milliseconds)8- temp-measurement-period: temperature measurement period (milliseconds)
9- default-oversampling: default oversampling value to be used at startup,9- default-oversampling: default oversampling value to be used at startup,
10 value range is 0-3 with rising sensitivity.10 value range is 0-3 with rising sensitivity.
11- interrupt-parent: should be the phandle for the interrupt controller
12- interrupts: interrupt mapping for IRQ
11 13
12Example:14Example:
13 15
@@ -17,4 +19,6 @@ pressure@77 { · 3 unmodified lines
17 chip-id = <10>;19 chip-id = <10>;
18 temp-measurement-period = <100>;20 temp-measurement-period = <100>;
19 default-oversampling = <2>;21 default-oversampling = <2>;
22 interrupt-parent = <&gpio0>;
23 interrupts = <25 IRQ_TYPE_EDGE_RISING>;
20};24};
Documentation/devicetree/bindings/mmc/arasan,sdhci.txt+27−0
@@ -0,0 +1,27 @@
1Device Tree Bindings for the Arasan SDHCI Controller
2
3 The bindings follow the mmc[1], clock[2] and interrupt[3] bindings. Only
4 deviations are documented here.
5
6 [1] Documentation/devicetree/bindings/mmc/mmc.txt
7 [2] Documentation/devicetree/bindings/clock/clock-bindings.txt
8 [3] Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
9
10Required Properties:
11 - compatible: Compatibility string. Must be 'arasan,sdhci-8.9a'
12 - reg: From mmc bindings: Register location and length.
13 - clocks: From clock bindings: Handles to clock inputs.
14 - clock-names: From clock bindings: Tuple including "clk_xin" and "clk_ahb"
15 - interrupts: Interrupt specifier
16 - interrupt-parent: Phandle for the interrupt controller that services
17 interrupts for this device.
18
19Example:
20 sdhci@e0100000 {
21 compatible = "arasan,sdhci-8.9a";
22 reg = <0xe0100000 0x1000>;
23 clock-names = "clk_xin", "clk_ahb";
24 clocks = <&clkc 21>, <&clkc 32>;
25 interrupt-parent = <&gic>;
26 interrupts = <0 24 4>;
27 } ;
Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt+2−0
@@ -16,6 +16,8 @@ Required Properties: · 15 unmodified lines
16 specific extensions.16 specific extensions.
17 - "samsung,exynos5250-dw-mshc": for controllers with Samsung Exynos525017 - "samsung,exynos5250-dw-mshc": for controllers with Samsung Exynos5250
18 specific extensions.18 specific extensions.
19 - "samsung,exynos5420-dw-mshc": for controllers with Samsung Exynos5420
20 specific extensions.
19 21
20* samsung,dw-mshc-ciu-div: Specifies the divider value for the card interface22* samsung,dw-mshc-ciu-div: Specifies the divider value for the card interface
21 unit (ciu) clock. This property is applicable only for Exynos5 SoC's and23 unit (ciu) clock. This property is applicable only for Exynos5 SoC's and
Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt+46−0
@@ -0,0 +1,46 @@
1* Hisilicon specific extensions to the Synopsys Designware Mobile
2 Storage Host Controller
3
4Read synopsys-dw-mshc.txt for more details
5
6The Synopsys designware mobile storage host controller is used to interface
7a SoC with storage medium such as eMMC or SD/MMC cards. This file documents
8differences between the core Synopsys dw mshc controller properties described
9by synopsys-dw-mshc.txt and the properties used by the Hisilicon specific
10extensions to the Synopsys Designware Mobile Storage Host Controller.
11
12Required Properties:
13
14* compatible: should be one of the following.
15 - "hisilicon,hi4511-dw-mshc": for controllers with hi4511 specific extentions.
16
17Example:
18
19 /* for Hi3620 */
20
21 /* SoC portion */
22 dwmmc_0: dwmmc0@fcd03000 {
23 compatible = "hisilicon,hi4511-dw-mshc";
24 reg = <0xfcd03000 0x1000>;
25 interrupts = <0 16 4>;
26 #address-cells = <1>;
27 #size-cells = <0>;
28 clocks = <&mmc_clock HI3620_SD_CIUCLK>, <&clock HI3620_DDRC_PER_CLK>;
29 clock-names = "ciu", "biu";
30 };
31
32 /* Board portion */
33 dwmmc0@fcd03000 {
34 num-slots = <1>;
35 vmmc-supply = <&ldo12>;
36 fifo-depth = <0x100>;
37 supports-highspeed;
38 pinctrl-names = "default";
39 pinctrl-0 = <&sd_pmx_pins &sd_cfg_func1 &sd_cfg_func2>;
40 slot@0 {
41 reg = <0>;
42 bus-width = <4>;
43 disable-wp;
44 cd-gpios = <&gpio10 3 0>;
45 };
46 };
Documentation/devicetree/bindings/mmc/kona-sdhci.txt+4−0
@@ -6,12 +6,16 @@ and the properties present in the bcm281xx SDHCI · 5 unmodified lines
6Required properties:6Required properties:
7- compatible : Should be "brcm,kona-sdhci"7- compatible : Should be "brcm,kona-sdhci"
8- DEPRECATED: compatible : Should be "bcm,kona-sdhci"8- DEPRECATED: compatible : Should be "bcm,kona-sdhci"
9- clocks: phandle + clock specifier pair of the external clock
10
11Refer to clocks/clock-bindings.txt for generic clock consumer properties.
9 12
10Example:13Example:
11 14
12sdio2: sdio@0x3f1a0000 {15sdio2: sdio@0x3f1a0000 {
13 compatible = "brcm,kona-sdhci";16 compatible = "brcm,kona-sdhci";
14 reg = <0x3f1a0000 0x10000>;17 reg = <0x3f1a0000 0x10000>;
18 clocks = <&sdio3_clk>;
15 interrupts = <0x0 74 0x4>;19 interrupts = <0x0 74 0x4>;
16};20};
17 21
Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.txt+9−0
@@ -8,6 +8,12 @@ by mmc.txt and the properties used by the sdhci-tegra driver. · 7 unmodified lines
8 8
9Required properties:9Required properties:
10- compatible : Should be "nvidia,<chip>-sdhci"10- compatible : Should be "nvidia,<chip>-sdhci"
11- clocks : Must contain one entry, for the module clock.
12 See ../clocks/clock-bindings.txt for details.
13- resets : Must contain an entry for each entry in reset-names.
14 See ../reset/reset.txt for details.
15- reset-names : Must include the following entries:
16 - sdhci
11 17
12Optional properties:18Optional properties:
13- power-gpios : Specify GPIOs for power control19- power-gpios : Specify GPIOs for power control
@@ -18,6 +24,9 @@ sdhci@c8000200 { · 4 unmodified lines
18 compatible = "nvidia,tegra20-sdhci";24 compatible = "nvidia,tegra20-sdhci";
19 reg = <0xc8000200 0x200>;25 reg = <0xc8000200 0x200>;
20 interrupts = <47>;26 interrupts = <47>;
27 clocks = <&tegra_car 14>;
28 resets = <&tegra_car 14>;
29 reset-names = "sdhci";
21 cd-gpios = <&gpio 69 0>; /* gpio PI5 */30 cd-gpios = <&gpio 69 0>; /* gpio PI5 */
22 wp-gpios = <&gpio 57 0>; /* gpio PH1 */31 wp-gpios = <&gpio 57 0>; /* gpio PH1 */
23 power-gpios = <&gpio 155 0>; /* gpio PT3 */32 power-gpios = <&gpio 155 0>; /* gpio PT3 */
Documentation/devicetree/bindings/mtd/davinci-nand.txt+94−0
@@ -0,0 +1,94 @@
1Device tree bindings for Texas instruments Davinci/Keystone NAND controller
2
3This file provides information, what the device node for the davinci/keystone
4NAND interface contains.
5
6Documentation:
7Davinci DM646x - http://www.ti.com/lit/ug/sprueq7c/sprueq7c.pdf
8Kestone - http://www.ti.com/lit/ug/sprugz3a/sprugz3a.pdf
9
10Required properties:
11
12- compatible: "ti,davinci-nand"
13 "ti,keystone-nand"
14
15- reg: Contains 2 offset/length values:
16 - offset and length for the access window.
17 - offset and length for accessing the AEMIF
18 control registers.
19
20- ti,davinci-chipselect: number of chipselect. Indicates on the
21 davinci_nand driver which chipselect is used
22 for accessing the nand.
23 Can be in the range [0-3].
24
25Recommended properties :
26
27- ti,davinci-mask-ale: mask for ALE. Needed for executing address
28 phase. These offset will be added to the base
29 address for the chip select space the NAND Flash
30 device is connected to.
31 If not set equal to 0x08.
32
33- ti,davinci-mask-cle: mask for CLE. Needed for executing command
34 phase. These offset will be added to the base
35 address for the chip select space the NAND Flash
36 device is connected to.
37 If not set equal to 0x10.
38
39- ti,davinci-mask-chipsel: mask for chipselect address. Needed to mask
40 addresses for given chipselect.
41
42- nand-ecc-mode: operation mode of the NAND ecc mode. ECC mode
43 valid values for davinci driver:
44 - "none"
45 - "soft"
46 - "hw"
47
48- ti,davinci-ecc-bits: used ECC bits, currently supported 1 or 4.
49
50- nand-bus-width: buswidth 8 or 16. If not present 8.
51
52- nand-on-flash-bbt: use flash based bad block table support. OOB
53 identifier is saved in OOB area. If not present
54 false.
55
56Deprecated properties:
57
58- ti,davinci-ecc-mode: operation mode of the NAND ecc mode. ECC mode
59 valid values for davinci driver:
60 - "none"
61 - "soft"
62 - "hw"
63
64- ti,davinci-nand-buswidth: buswidth 8 or 16. If not present 8.
65
66- ti,davinci-nand-use-bbt: use flash based bad block table support. OOB
67 identifier is saved in OOB area. If not present
68 false.
69
70Nand device bindings may contain additional sub-nodes describing partitions of
71the address space. See partition.txt for more detail. The NAND Flash timing
72values must be programmed in the chip select’s node of AEMIF
73memory-controller (see Documentation/devicetree/bindings/memory-controllers/
74davinci-aemif.txt).
75
76Example(da850 EVM ):
77
78nand_cs3@62000000 {
79 compatible = "ti,davinci-nand";
80 reg = <0x62000000 0x807ff
81 0x68000000 0x8000>;
82 ti,davinci-chipselect = <1>;
83 ti,davinci-mask-ale = <0>;
84 ti,davinci-mask-cle = <0>;
85 ti,davinci-mask-chipsel = <0>;
86 nand-ecc-mode = "hw";
87 ti,davinci-ecc-bits = <4>;
88 nand-on-flash-bbt;
89
90 partition@180000 {
91 label = "ubifs";
92 reg = <0x180000 0x7e80000>;
93 };
94};
Documentation/devicetree/bindings/mtd/gpmi-nand.txt+8−0
@@ -17,6 +17,14 @@ Required properties: · 16 unmodified lines
17Optional properties:17Optional properties:
18 - nand-on-flash-bbt: boolean to enable on flash bbt option if not18 - nand-on-flash-bbt: boolean to enable on flash bbt option if not
19 present false19 present false
20 - fsl,use-minimum-ecc: Protect this NAND flash with the minimum ECC
21 strength required. The required ECC strength is
22 automatically discoverable for some flash
23 (e.g., according to the ONFI standard).
24 However, note that if this strength is not
25 discoverable or this property is not enabled,
26 the software may chooses an implementation-defined
27 ECC scheme.
20 28
21The device tree may optionally contain sub-nodes describing partitions of the29The device tree may optionally contain sub-nodes describing partitions of the
22address space. See partition.txt for more detail.30address space. See partition.txt for more detail.
Documentation/devicetree/bindings/mtd/pxa3xx-nand.txt+5−1
@@ -2,7 +2,9 @@ PXA3xx NAND DT bindings · 1 unmodified line
2 2
3Required properties:3Required properties:
4 4
5 - compatible: Should be "marvell,pxa3xx-nand"5 - compatible: Should be set to one of the following:
6 marvell,pxa3xx-nand
7 marvell,armada370-nand
6 - reg: The register base for the controller8 - reg: The register base for the controller
7 - interrupts: The interrupt to map9 - interrupts: The interrupt to map
8 - #address-cells: Set to <1> if the node includes partitions10 - #address-cells: Set to <1> if the node includes partitions
@@ -13,6 +15,8 @@ Optional properties: · 4 unmodified lines
13 - marvell,nand-keep-config: Set to keep the NAND controller config as set15 - marvell,nand-keep-config: Set to keep the NAND controller config as set
14 by the bootloader16 by the bootloader
15 - num-cs: Number of chipselect lines to usw17 - num-cs: Number of chipselect lines to usw
18 - nand-on-flash-bbt: boolean to enable on flash bbt option if
19 not present false
16 20
17Example:21Example:
18 22
Documentation/devicetree/bindings/net/allwinner,sun7i-a20-gmac.txt+27−0
@@ -0,0 +1,27 @@
1* Allwinner GMAC ethernet controller
2
3This device is a platform glue layer for stmmac.
4Please see stmmac.txt for the other unchanged properties.
5
6Required properties:
7 - compatible: Should be "allwinner,sun7i-a20-gmac"
8 - clocks: Should contain the GMAC main clock, and tx clock
9 The tx clock type should be "allwinner,sun7i-a20-gmac-clk"
10 - clock-names: Should contain the clock names "stmmaceth",
11 and "allwinner_gmac_tx"
12
13Optional properties:
14- phy-supply: phandle to a regulator if the PHY needs one
15
16Examples:
17
18 gmac: ethernet@01c50000 {
19 compatible = "allwinner,sun7i-a20-gmac";
20 reg = <0x01c50000 0x10000>,
21 <0x01c20164 0x4>;
22 interrupts = <0 85 1>;
23 interrupt-names = "macirq";
24 clocks = <&ahb_gates 49>, <&gmac_tx>;
25 clock-names = "stmmaceth", "allwinner_gmac_tx";
26 phy-mode = "mii";
27 };
Documentation/devicetree/bindings/net/can/microchip,mcp251x.txt+25−0
@@ -0,0 +1,25 @@
1* Microchip MCP251X stand-alone CAN controller device tree bindings
2
3Required properties:
4 - compatible: Should be one of the following:
5 - "microchip,mcp2510" for MCP2510.
6 - "microchip,mcp2515" for MCP2515.
7 - reg: SPI chip select.
8 - clocks: The clock feeding the CAN controller.
9 - interrupt-parent: The parent interrupt controller.
10 - interrupts: Should contain IRQ line for the CAN controller.
11
12Optional properties:
13 - vdd-supply: Regulator that powers the CAN controller.
14 - xceiver-supply: Regulator that powers the CAN transceiver.
15
16Example:
17 can0: can@1 {
18 compatible = "microchip,mcp2515";
19 reg = <1>;
20 clocks = <&clk24m>;
21 interrupt-parent = <&gpio4>;
22 interrupts = <13 0x2>;
23 vdd-supply = <&reg5v0>;
24 xceiver-supply = <&reg5v0>;
25 };
Documentation/devicetree/bindings/net/davinci_emac.txt+4−4
@@ -10,10 +10,6 @@ Required properties: · 9 unmodified lines
10- ti,davinci-ctrl-mod-reg-offset: offset to control module register10- ti,davinci-ctrl-mod-reg-offset: offset to control module register
11- ti,davinci-ctrl-ram-offset: offset to control module ram11- ti,davinci-ctrl-ram-offset: offset to control module ram
12- ti,davinci-ctrl-ram-size: size of control module ram12- ti,davinci-ctrl-ram-size: size of control module ram
13- ti,davinci-rmii-en: use RMII
14- ti,davinci-no-bd-ram: has the emac controller BD RAM
15- phy-handle: Contains a phandle to an Ethernet PHY.
16 if not, davinci_emac driver defaults to 100/FULL
17- interrupts: interrupt mapping for the davinci emac interrupts sources:13- interrupts: interrupt mapping for the davinci emac interrupts sources:
18 4 sources: <Receive Threshold Interrupt14 4 sources: <Receive Threshold Interrupt
19 Receive Interrupt15 Receive Interrupt
@@ -21,7 +17,11 @@ Required properties: · 1 unmodified line
21 Miscellaneous Interrupt>17 Miscellaneous Interrupt>
22 18
23Optional properties:19Optional properties:
20- phy-handle: Contains a phandle to an Ethernet PHY.
21 If absent, davinci_emac driver defaults to 100/FULL.
24- local-mac-address : 6 bytes, mac address22- local-mac-address : 6 bytes, mac address
23- ti,davinci-rmii-en: 1 byte, 1 means use RMII
24- ti,davinci-no-bd-ram: boolean, does EMAC have BD RAM?
25 25
26Example (enbw_cmc board):26Example (enbw_cmc board):
27 eth0: emac@1e20000 {27 eth0: emac@1e20000 {
Documentation/devicetree/bindings/net/macb.txt+6−0
@@ -10,6 +10,10 @@ Required properties: · 9 unmodified lines
10- interrupts: Should contain macb interrupt10- interrupts: Should contain macb interrupt
11- phy-mode: String, operation mode of the PHY interface.11- phy-mode: String, operation mode of the PHY interface.
12 Supported values are: "mii", "rmii", "gmii", "rgmii".12 Supported values are: "mii", "rmii", "gmii", "rgmii".
13- clock-names: Tuple listing input clock names.
14 Required elements: 'pclk', 'hclk'
15 Optional elements: 'tx_clk'
16- clocks: Phandles to input clocks.
13 17
14Optional properties:18Optional properties:
15- local-mac-address: 6 bytes, mac address19- local-mac-address: 6 bytes, mac address
@@ -22,4 +26,6 @@ Examples: · 6 unmodified lines
22 interrupts = <21>;26 interrupts = <21>;
23 phy-mode = "rmii";27 phy-mode = "rmii";
24 local-mac-address = [3a 0e 03 04 05 06];28 local-mac-address = [3a 0e 03 04 05 06];
29 clock-names = "pclk", "hclk", "tx_clk";
30 clocks = <&clkc 30>, <&clkc 30>, <&clkc 13>;
25 };31 };
Documentation/devicetree/bindings/net/marvell-orion-net.txt+0−3
@@ -32,7 +32,6 @@ Optional controller properties: · 31 unmodified lines
32* Ethernet port node32* Ethernet port node
33 33
34Required port properties:34Required port properties:
35 - device_type: shall be "network".
36 - compatible: shall be one of "marvell,orion-eth-port",35 - compatible: shall be one of "marvell,orion-eth-port",
37 "marvell,kirkwood-eth-port".36 "marvell,kirkwood-eth-port".
38 - reg: port number relative to ethernet controller, shall be 0, 1, or 2.37 - reg: port number relative to ethernet controller, shall be 0, 1, or 2.
@@ -61,7 +60,6 @@ or · 22 unmodified lines
61mdio-bus {60mdio-bus {
62 ...61 ...
63 ethphy: ethernet-phy@8 {62 ethphy: ethernet-phy@8 {
64 device_type = "ethernet-phy";
65 ...63 ...
66 };64 };
67};65};
@@ -75,7 +73,6 @@ eth: ethernet-controller@72000 { · 7 unmodified lines
75 marvell,tx-checksum-limit = <1600>;73 marvell,tx-checksum-limit = <1600>;
76 74
77 ethernet@0 {75 ethernet@0 {
78 device_type = "network";
79 compatible = "marvell,orion-eth-port";76 compatible = "marvell,orion-eth-port";
80 reg = <0>;77 reg = <0>;
81 interrupts = <29>;78 interrupts = <29>;
Documentation/devicetree/bindings/net/phy.txt+1−5
@@ -2,7 +2,6 @@ PHY nodes · 1 unmodified line
2 2
3Required properties:3Required properties:
4 4
5 - device_type : Should be "ethernet-phy"
6 - interrupts : <a b> where a is the interrupt number and b is a5 - interrupts : <a b> where a is the interrupt number and b is a
7 field that represents an encoding of the sense and level6 field that represents an encoding of the sense and level
8 information for the interrupt. This should be encoded based on7 information for the interrupt. This should be encoded based on
@@ -11,8 +10,6 @@ Required properties: · 2 unmodified lines
11 - interrupt-parent : the phandle for the interrupt controller that10 - interrupt-parent : the phandle for the interrupt controller that
12 services interrupts for this device.11 services interrupts for this device.
13 - reg : The ID number for the phy, usually a small integer12 - reg : The ID number for the phy, usually a small integer
14 - linux,phandle : phandle for this node; likely referenced by an
15 ethernet controller node.
16 13
17Optional Properties:14Optional Properties:
18 15
@@ -22,14 +19,13 @@ Optional Properties: · 3 unmodified lines
22 specifications. If neither of these are specified, the default is to19 specifications. If neither of these are specified, the default is to
23 assume clause 22. The compatible list may also contain other20 assume clause 22. The compatible list may also contain other
24 elements.21 elements.
22- max-speed: Maximum PHY supported speed (10, 100, 1000...)
25 23
26Example:24Example:
27 25
28ethernet-phy@0 {26ethernet-phy@0 {
29 compatible = "ethernet-phy-ieee802.3-c22";27 compatible = "ethernet-phy-ieee802.3-c22";
30 linux,phandle = <2452000>;
31 interrupt-parent = <40000>;28 interrupt-parent = <40000>;
32 interrupts = <35 1>;29 interrupts = <35 1>;
33 reg = <0>;30 reg = <0>;
34 device_type = "ethernet-phy";
35};31};
Documentation/devicetree/bindings/net/stmmac.txt+6−1
@@ -12,7 +12,6 @@ Required properties: · 11 unmodified lines
12 property12 property
13- phy-mode: String, operation mode of the PHY interface.13- phy-mode: String, operation mode of the PHY interface.
14 Supported values are: "mii", "rmii", "gmii", "rgmii".14 Supported values are: "mii", "rmii", "gmii", "rgmii".
15- snps,phy-addr phy address to connect to.
16- snps,reset-gpio gpio number for phy reset.15- snps,reset-gpio gpio number for phy reset.
17- snps,reset-active-low boolean flag to indicate if phy reset is active low.16- snps,reset-active-low boolean flag to indicate if phy reset is active low.
18- snps,reset-delays-us is triplet of delays17- snps,reset-delays-us is triplet of delays
@@ -30,6 +29,11 @@ Required properties: · 11 unmodified lines
30 29
31Optional properties:30Optional properties:
32- mac-address: 6 bytes, mac address31- mac-address: 6 bytes, mac address
32- resets: Should contain a phandle to the STMMAC reset signal, if any
33- reset-names: Should contain the reset signal name "stmmaceth", if a
34 reset phandle is given
35- max-frame-size: Maximum Transfer Unit (IEEE defined MTU), rather
36 than the maximum frame size.
33 37
34Examples:38Examples:
35 39
@@ -40,5 +44,6 @@ Examples: · 4 unmodified lines
40 interrupts = <24 23>;44 interrupts = <24 23>;
41 interrupt-names = "macirq", "eth_wake_irq";45 interrupt-names = "macirq", "eth_wake_irq";
42 mac-address = [000000000000]; /* Filled in by U-Boot */46 mac-address = [000000000000]; /* Filled in by U-Boot */
47 max-frame-size = <3800>;
43 phy-mode = "gmii";48 phy-mode = "gmii";
44 };49 };
Documentation/devicetree/bindings/nvec/nvidia,nvec.txt+12−0
@@ -7,3 +7,15 @@ Required properties: · 6 unmodified lines
7- clock-frequency : the frequency of the i2c bus7- clock-frequency : the frequency of the i2c bus
8- gpios : the gpio used for ec request8- gpios : the gpio used for ec request
9- slave-addr: the i2c address of the slave controller9- slave-addr: the i2c address of the slave controller
10- clocks : Must contain an entry for each entry in clock-names.
11 See ../clocks/clock-bindings.txt for details.
12- clock-names : Must include the following entries:
13 Tegra20/Tegra30:
14 - div-clk
15 - fast-clk
16 Tegra114:
17 - div-clk
18- resets : Must contain an entry for each entry in reset-names.
19 See ../reset/reset.txt for details.
20- reset-names : Must include the following entries:
21 - i2c
Documentation/devicetree/bindings/panel/auo,b101aw03.txt+7−0
@@ -0,0 +1,7 @@
1AU Optronics Corporation 10.1" WSVGA TFT LCD panel
2
3Required properties:
4- compatible: should be "auo,b101aw03"
5
6This binding is compatible with the simple-panel binding, which is specified
7in simple-panel.txt in this directory.
Documentation/devicetree/bindings/panel/chunghwa,claa101wa01a.txt+7−0
@@ -0,0 +1,7 @@
1Chunghwa Picture Tubes Ltd. 10.1" WXGA TFT LCD panel
2
3Required properties:
4- compatible: should be "chunghwa,claa101wa01a"
5
6This binding is compatible with the simple-panel binding, which is specified
7in simple-panel.txt in this directory.
Documentation/devicetree/bindings/panel/chunghwa,claa101wb03.txt+7−0
@@ -0,0 +1,7 @@
1Chunghwa Picture Tubes Ltd. 10.1" WXGA TFT LCD panel
2
3Required properties:
4- compatible: should be "chunghwa,claa101wb03"
5
6This binding is compatible with the simple-panel binding, which is specified
7in simple-panel.txt in this directory.
Documentation/devicetree/bindings/panel/panasonic,vvx10f004b00.txt+7−0
@@ -0,0 +1,7 @@
1Panasonic Corporation 10.1" WUXGA TFT LCD panel
2
3Required properties:
4- compatible: should be "panasonic,vvx10f004b00"
5
6This binding is compatible with the simple-panel binding, which is specified
7in simple-panel.txt in this directory.
Documentation/devicetree/bindings/panel/samsung,ltn101nt05.txt+7−0
@@ -0,0 +1,7 @@
1Samsung Electronics 10.1" WSVGA TFT LCD panel
2
3Required properties:
4- compatible: should be "samsung,ltn101nt05"
5
6This binding is compatible with the simple-panel binding, which is specified
7in simple-panel.txt in this directory.
Documentation/devicetree/bindings/panel/simple-panel.txt+21−0
@@ -0,0 +1,21 @@
1Simple display panel
2
3Required properties:
4- power-supply: regulator to provide the supply voltage
5
6Optional properties:
7- ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
8- enable-gpios: GPIO pin to enable or disable the panel
9- backlight: phandle of the backlight device attached to the panel
10
11Example:
12
13 panel: panel {
14 compatible = "cptt,claa101wb01";
15 ddc-i2c-bus = <&panelddc>;
16
17 power-supply = <&vdd_pnl_reg>;
18 enable-gpios = <&gpio 90 0>;
19
20 backlight = <&backlight>;
21 };
Documentation/devicetree/bindings/pci/designware-pcie.txt+2−0
@@ -19,6 +19,8 @@ Required properties: · 18 unmodified lines
19 to define the mapping of the PCIe interface to interrupt19 to define the mapping of the PCIe interface to interrupt
20 numbers.20 numbers.
21- num-lanes: number of lanes to use21- num-lanes: number of lanes to use
22
23Optional properties:
22- reset-gpio: gpio pin number of power good signal24- reset-gpio: gpio pin number of power good signal
23 25
24Optional properties for fsl,imx6q-pcie26Optional properties for fsl,imx6q-pcie
Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt+16−10
@@ -42,14 +42,19 @@ Required properties: · 41 unmodified lines
42 - 0xc2000000: prefetchable memory region42 - 0xc2000000: prefetchable memory region
43 Please refer to the standard PCI bus binding document for a more detailed43 Please refer to the standard PCI bus binding document for a more detailed
44 explanation.44 explanation.
45- clocks: List of clock inputs of the controller. Must contain an entry for45- clocks: Must contain an entry for each entry in clock-names.
46 each entry in the clock-names property.46 See ../clocks/clock-bindings.txt for details.
47- clock-names: Must include the following entries:47- clock-names: Must include the following entries:
48 "pex": The Tegra clock of that name48 - pex
49 "afi": The Tegra clock of that name49 - afi
50 "pcie_xclk": The Tegra clock of that name50 - pll_e
51 "pll_e": The Tegra clock of that name51 - cml (not required for Tegra20)
52 "cml": The Tegra clock of that name (not required for Tegra20)52- resets: Must contain an entry for each entry in reset-names.
53 See ../reset/reset.txt for details.
54- reset-names: Must include the following entries:
55 - pex
56 - afi
57 - pcie_x
53 58
54Root ports are defined as subnodes of the PCIe controller node.59Root ports are defined as subnodes of the PCIe controller node.
55 60
@@ -91,9 +96,10 @@ SoC DTSI: · 35 unmodified lines
91 0x82000000 0 0xa0000000 0xa0000000 0 0x10000000 /* non-prefetchable memory */96 0x82000000 0 0xa0000000 0xa0000000 0 0x10000000 /* non-prefetchable memory */
92 0xc2000000 0 0xb0000000 0xb0000000 0 0x10000000>; /* prefetchable memory */97 0xc2000000 0 0xb0000000 0xb0000000 0 0x10000000>; /* prefetchable memory */
93 98
94 clocks = <&tegra_car 70>, <&tegra_car 72>, <&tegra_car 74>,99 clocks = <&tegra_car 70>, <&tegra_car 72>, <&tegra_car 118>;
95 <&tegra_car 118>;100 clock-names = "pex", "afi", "pll_e";
96 clock-names = "pex", "afi", "pcie_xclk", "pll_e";101 resets = <&tegra_car 70>, <&tegra_car 72>, <&tegra_car 74>;
102 reset-names = "pex", "afi", "pcie_x";
97 status = "disabled";103 status = "disabled";
98 104
99 pci@1,0 {105 pci@1,0 {
Documentation/devicetree/bindings/phy/bcm-phy.txt+15−0
@@ -0,0 +1,15 @@
1BROADCOM KONA USB2 PHY
2
3Required properties:
4 - compatible: brcm,kona-usb2-phy
5 - reg: offset and length of the PHY registers
6 - #phy-cells: must be 0
7Refer to phy/phy-bindings.txt for the generic PHY binding properties
8
9Example:
10
11 usbphy: usb-phy@3f130000 {
12 compatible = "brcm,kona-usb2-phy";
13 reg = <0x3f130000 0x28>;
14 #phy-cells = <0>;
15 };
Documentation/devicetree/bindings/pinctrl/brcm,capri-pinctrl.txt+461−0
@@ -0,0 +1,461 @@
1Broadcom Capri Pin Controller
2
3This is a pin controller for the Broadcom BCM281xx SoC family, which includes
4BCM11130, BCM11140, BCM11351, BCM28145, and BCM28155 SoCs.
5
6=== Pin Controller Node ===
7
8Required Properties:
9
10- compatible: Must be "brcm,capri-pinctrl".
11- reg: Base address of the PAD Controller register block and the size
12 of the block.
13
14For example, the following is the bare minimum node:
15
16 pinctrl@35004800 {
17 compatible = "brcm,capri-pinctrl";
18 reg = <0x35004800 0x430>;
19 };
20
21As a pin controller device, in addition to the required properties, this node
22should also contain the pin configuration nodes that client devices reference,
23if any.
24
25=== Pin Configuration Node ===
26
27Each pin configuration node is a sub-node of the pin controller node and is a
28container of an arbitrary number of subnodes, called pin group nodes in this
29document.
30
31Please refer to the pinctrl-bindings.txt in this directory for details of the
32common pinctrl bindings used by client devices, including the definition of a
33"pin configuration node".
34
35=== Pin Group Node ===
36
37A pin group node specifies the desired pin mux and/or pin configuration for an
38arbitrary number of pins. The name of the pin group node is optional and not
39used.
40
41A pin group node only affects the properties specified in the node, and has no
42effect on any properties that are omitted.
43
44The pin group node accepts a subset of the generic pin config properties. For
45details generic pin config properties, please refer to pinctrl-bindings.txt
46and <include/linux/pinctrl/pinconfig-generic.h>.
47
48Each pin controlled by this pin controller belong to one of three types:
49Standard, I2C, and HDMI. Each type accepts a different set of pin config
50properties. A list of pins and their types is provided below.
51
52Required Properties (applicable to all pins):
53
54- pins: Multiple strings. Specifies the name(s) of one or more pins to
55 be configured by this node.
56
57Optional Properties (for standard pins):
58
59- function: String. Specifies the pin mux selection. Values
60 must be one of: "alt1", "alt2", "alt3", "alt4"
61- input-schmitt-enable: No arguments. Enable schmitt-trigger mode.
62- input-schmitt-disable: No arguments. Disable schmitt-trigger mode.
63- bias-pull-up: No arguments. Pull up on pin.
64- bias-pull-down: No arguments. Pull down on pin.
65- bias-disable: No arguments. Disable pin bias.
66- slew-rate: Integer. Meaning depends on configured pin mux:
67 *_SCL or *_SDA:
68 0: Standard(100kbps)& Fast(400kbps) mode
69 1: Highspeed (3.4Mbps) mode
70 IC_DM or IC_DP:
71 0: normal slew rate
72 1: fast slew rate
73 Otherwise:
74 0: fast slew rate
75 1: normal slew rate
76- input-enable: No arguements. Enable input (does not affect
77 output.)
78- input-disable: No arguements. Disable input (does not affect
79 output.)
80- drive-strength: Integer. Drive strength in mA. Valid values are
81 2, 4, 6, 8, 10, 12, 14, 16 mA.
82
83Optional Properties (for I2C pins):
84
85- function: String. Specifies the pin mux selection. Values
86 must be one of: "alt1", "alt2", "alt3", "alt4"
87- bias-pull-up: Integer. Pull up strength in Ohm. There are 3
88 pull-up resisitors (1.2k, 1.8k, 2.7k) available
89 in parallel for I2C pins, so the valid values
90 are: 568, 720, 831, 1080, 1200, 1800, 2700 Ohm.
91- bias-disable: No arguments. Disable pin bias.
92- slew-rate: Integer. Meaning depends on configured pin mux:
93 *_SCL or *_SDA:
94 0: Standard(100kbps)& Fast(400kbps) mode
95 1: Highspeed (3.4Mbps) mode
96 IC_DM or IC_DP:
97 0: normal slew rate
98 1: fast slew rate
99 Otherwise:
100 0: fast slew rate
101 1: normal slew rate
102- input-enable: No arguements. Enable input (does not affect
103 output.)
104- input-disable: No arguements. Disable input (does not affect
105 output.)
106
107Optional Properties (for HDMI pins):
108
109- function: String. Specifies the pin mux selection. Values
110 must be one of: "alt1", "alt2", "alt3", "alt4"
111- slew-rate: Integer. Controls slew rate.
112 0: Standard(100kbps)& Fast(400kbps) mode
113 1: Highspeed (3.4Mbps) mode
114- input-enable: No arguements. Enable input (does not affect
115 output.)
116- input-disable: No arguements. Disable input (does not affect
117 output.)
118
119Example:
120// pin controller node
121pinctrl@35004800 {
122 compatible = "brcm,capri-pinctrl";
123 reg = <0x35004800 0x430>;
124
125 // pin configuration node
126 dev_a_default: dev_a_active {
127 //group node defining 1 standard pin
128 grp_1 {
129 pins = "std_pin1";
130 function = "alt1";
131 input-schmitt-enable;
132 bias-disable;
133 slew-rate = <1>;
134 drive-strength = <4>;
135 };
136
137 // group node defining 2 I2C pins
138 grp_2 {
139 pins = "i2c_pin1", "i2c_pin2";
140 function = "alt2";
141 bias-pull-up = <720>;
142 input-enable;
143 };
144
145 // group node defining 2 HDMI pins
146 grp_3 {
147 pins = "hdmi_pin1", "hdmi_pin2";
148 function = "alt3";
149 slew-rate = <1>;
150 };
151
152 // other pin group nodes
153 ...
154 };
155
156 // other pin configuration nodes
157 ...
158};
159
160In the example above, "dev_a_active" is a pin configuration node with a number
161of sub-nodes. In the pin group node "grp_1", one pin, "std_pin1", is defined in
162the "pins" property. Thus, the remaining properties in the "grp_1" node applies
163only to this pin, including the following settings:
164 - setting pinmux to "alt1"
165 - enabling schmitt-trigger (hystersis) mode
166 - disabling pin bias
167 - setting the slew-rate to 1
168 - setting the drive strength to 4 mA
169Note that neither "input-enable" nor "input-disable" was specified - the pinctrl
170subsystem will therefore leave this property unchanged from whatever state it
171was in before applying these changes.
172
173The "pins" property in the pin group node "grp_2" specifies two pins -
174"i2c_pin1" and "i2c_pin2"; the remaining properties in this pin group node,
175therefore, applies to both of these pins. The properties include:
176 - setting pinmux to "alt2"
177 - setting pull-up resistance to 720 Ohm (ie. enabling 1.2k and 1.8k resistors
178 in parallel)
179 - enabling both pins' input
180"slew-rate" is not specified in this pin group node, so the slew-rate for these
181pins are left as-is.
182
183Finally, "grp_3" defines two HDMI pins. The following properties are applied to
184both pins:
185 - setting pinmux to "alt3"
186 - setting slew-rate to 1; for HDMI pins, this corresponds to the 3.4 Mbps
187 Highspeed mode
188The input is neither enabled or disabled, and is left untouched.
189
190=== Pin Names and Type ===
191
192The following are valid pin names and their pin types:
193
194 "adcsync", Standard
195 "bat_rm", Standard
196 "bsc1_scl", I2C
197 "bsc1_sda", I2C
198 "bsc2_scl", I2C
199 "bsc2_sda", I2C
200 "classgpwr", Standard
201 "clk_cx8", Standard
202 "clkout_0", Standard
203 "clkout_1", Standard
204 "clkout_2", Standard
205 "clkout_3", Standard
206 "clkreq_in_0", Standard
207 "clkreq_in_1", Standard
208 "cws_sys_req1", Standard
209 "cws_sys_req2", Standard
210 "cws_sys_req3", Standard
211 "digmic1_clk", Standard
212 "digmic1_dq", Standard
213 "digmic2_clk", Standard
214 "digmic2_dq", Standard
215 "gpen13", Standard
216 "gpen14", Standard
217 "gpen15", Standard
218 "gpio00", Standard
219 "gpio01", Standard
220 "gpio02", Standard
221 "gpio03", Standard
222 "gpio04", Standard
223 "gpio05", Standard
224 "gpio06", Standard
225 "gpio07", Standard
226 "gpio08", Standard
227 "gpio09", Standard
228 "gpio10", Standard
229 "gpio11", Standard
230 "gpio12", Standard
231 "gpio13", Standard
232 "gpio14", Standard
233 "gps_pablank", Standard
234 "gps_tmark", Standard
235 "hdmi_scl", HDMI
236 "hdmi_sda", HDMI
237 "ic_dm", Standard
238 "ic_dp", Standard
239 "kp_col_ip_0", Standard
240 "kp_col_ip_1", Standard
241 "kp_col_ip_2", Standard
242 "kp_col_ip_3", Standard
243 "kp_row_op_0", Standard
244 "kp_row_op_1", Standard
245 "kp_row_op_2", Standard
246 "kp_row_op_3", Standard
247 "lcd_b_0", Standard
248 "lcd_b_1", Standard
249 "lcd_b_2", Standard
250 "lcd_b_3", Standard
251 "lcd_b_4", Standard
252 "lcd_b_5", Standard
253 "lcd_b_6", Standard
254 "lcd_b_7", Standard
255 "lcd_g_0", Standard
256 "lcd_g_1", Standard
257 "lcd_g_2", Standard
258 "lcd_g_3", Standard
259 "lcd_g_4", Standard
260 "lcd_g_5", Standard
261 "lcd_g_6", Standard
262 "lcd_g_7", Standard
263 "lcd_hsync", Standard
264 "lcd_oe", Standard
265 "lcd_pclk", Standard
266 "lcd_r_0", Standard
267 "lcd_r_1", Standard
268 "lcd_r_2", Standard
269 "lcd_r_3", Standard
270 "lcd_r_4", Standard
271 "lcd_r_5", Standard
272 "lcd_r_6", Standard
273 "lcd_r_7", Standard
274 "lcd_vsync", Standard
275 "mdmgpio0", Standard
276 "mdmgpio1", Standard
277 "mdmgpio2", Standard
278 "mdmgpio3", Standard
279 "mdmgpio4", Standard
280 "mdmgpio5", Standard
281 "mdmgpio6", Standard
282 "mdmgpio7", Standard
283 "mdmgpio8", Standard
284 "mphi_data_0", Standard
285 "mphi_data_1", Standard
286 "mphi_data_2", Standard
287 "mphi_data_3", Standard
288 "mphi_data_4", Standard
289 "mphi_data_5", Standard
290 "mphi_data_6", Standard
291 "mphi_data_7", Standard
292 "mphi_data_8", Standard
293 "mphi_data_9", Standard
294 "mphi_data_10", Standard
295 "mphi_data_11", Standard
296 "mphi_data_12", Standard
297 "mphi_data_13", Standard
298 "mphi_data_14", Standard
299 "mphi_data_15", Standard
300 "mphi_ha0", Standard
301 "mphi_hat0", Standard
302 "mphi_hat1", Standard
303 "mphi_hce0_n", Standard
304 "mphi_hce1_n", Standard
305 "mphi_hrd_n", Standard
306 "mphi_hwr_n", Standard
307 "mphi_run0", Standard
308 "mphi_run1", Standard
309 "mtx_scan_clk", Standard
310 "mtx_scan_data", Standard
311 "nand_ad_0", Standard
312 "nand_ad_1", Standard
313 "nand_ad_2", Standard
314 "nand_ad_3", Standard
315 "nand_ad_4", Standard
316 "nand_ad_5", Standard
317 "nand_ad_6", Standard
318 "nand_ad_7", Standard
319 "nand_ale", Standard
320 "nand_cen_0", Standard
321 "nand_cen_1", Standard
322 "nand_cle", Standard
323 "nand_oen", Standard
324 "nand_rdy_0", Standard
325 "nand_rdy_1", Standard
326 "nand_wen", Standard
327 "nand_wp", Standard
328 "pc1", Standard
329 "pc2", Standard
330 "pmu_int", Standard
331 "pmu_scl", I2C
332 "pmu_sda", I2C
333 "rfst2g_mtsloten3g", Standard
334 "rgmii_0_rx_ctl", Standard
335 "rgmii_0_rxc", Standard
336 "rgmii_0_rxd_0", Standard
337 "rgmii_0_rxd_1", Standard
338 "rgmii_0_rxd_2", Standard
339 "rgmii_0_rxd_3", Standard
340 "rgmii_0_tx_ctl", Standard
341 "rgmii_0_txc", Standard
342 "rgmii_0_txd_0", Standard
343 "rgmii_0_txd_1", Standard
344 "rgmii_0_txd_2", Standard
345 "rgmii_0_txd_3", Standard
346 "rgmii_1_rx_ctl", Standard
347 "rgmii_1_rxc", Standard
348 "rgmii_1_rxd_0", Standard
349 "rgmii_1_rxd_1", Standard
350 "rgmii_1_rxd_2", Standard
351 "rgmii_1_rxd_3", Standard
352 "rgmii_1_tx_ctl", Standard
353 "rgmii_1_txc", Standard
354 "rgmii_1_txd_0", Standard
355 "rgmii_1_txd_1", Standard
356 "rgmii_1_txd_2", Standard
357 "rgmii_1_txd_3", Standard
358 "rgmii_gpio_0", Standard
359 "rgmii_gpio_1", Standard
360 "rgmii_gpio_2", Standard
361 "rgmii_gpio_3", Standard
362 "rtxdata2g_txdata3g1", Standard
363 "rtxen2g_txdata3g2", Standard
364 "rxdata3g0", Standard
365 "rxdata3g1", Standard
366 "rxdata3g2", Standard
367 "sdio1_clk", Standard
368 "sdio1_cmd", Standard
369 "sdio1_data_0", Standard
370 "sdio1_data_1", Standard
371 "sdio1_data_2", Standard
372 "sdio1_data_3", Standard
373 "sdio4_clk", Standard
374 "sdio4_cmd", Standard
375 "sdio4_data_0", Standard
376 "sdio4_data_1", Standard
377 "sdio4_data_2", Standard
378 "sdio4_data_3", Standard
379 "sim_clk", Standard
380 "sim_data", Standard
381 "sim_det", Standard
382 "sim_resetn", Standard
383 "sim2_clk", Standard
384 "sim2_data", Standard
385 "sim2_det", Standard
386 "sim2_resetn", Standard
387 "sri_c", Standard
388 "sri_d", Standard
389 "sri_e", Standard
390 "ssp_extclk", Standard
391 "ssp0_clk", Standard
392 "ssp0_fs", Standard
393 "ssp0_rxd", Standard
394 "ssp0_txd", Standard
395 "ssp2_clk", Standard
396 "ssp2_fs_0", Standard
397 "ssp2_fs_1", Standard
398 "ssp2_fs_2", Standard
399 "ssp2_fs_3", Standard
400 "ssp2_rxd_0", Standard
401 "ssp2_rxd_1", Standard
402 "ssp2_txd_0", Standard
403 "ssp2_txd_1", Standard
404 "ssp3_clk", Standard
405 "ssp3_fs", Standard
406 "ssp3_rxd", Standard
407 "ssp3_txd", Standard
408 "ssp4_clk", Standard
409 "ssp4_fs", Standard
410 "ssp4_rxd", Standard
411 "ssp4_txd", Standard
412 "ssp5_clk", Standard
413 "ssp5_fs", Standard
414 "ssp5_rxd", Standard
415 "ssp5_txd", Standard
416 "ssp6_clk", Standard
417 "ssp6_fs", Standard
418 "ssp6_rxd", Standard
419 "ssp6_txd", Standard
420 "stat_1", Standard
421 "stat_2", Standard
422 "sysclken", Standard
423 "traceclk", Standard
424 "tracedt00", Standard
425 "tracedt01", Standard
426 "tracedt02", Standard
427 "tracedt03", Standard
428 "tracedt04", Standard
429 "tracedt05", Standard
430 "tracedt06", Standard
431 "tracedt07", Standard
432 "tracedt08", Standard
433 "tracedt09", Standard
434 "tracedt10", Standard
435 "tracedt11", Standard
436 "tracedt12", Standard
437 "tracedt13", Standard
438 "tracedt14", Standard
439 "tracedt15", Standard
440 "txdata3g0", Standard
441 "txpwrind", Standard
442 "uartb1_ucts", Standard
443 "uartb1_urts", Standard
444 "uartb1_urxd", Standard
445 "uartb1_utxd", Standard
446 "uartb2_urxd", Standard
447 "uartb2_utxd", Standard
448 "uartb3_ucts", Standard
449 "uartb3_urts", Standard
450 "uartb3_urxd", Standard
451 "uartb3_utxd", Standard
452 "uartb4_ucts", Standard
453 "uartb4_urts", Standard
454 "uartb4_urxd", Standard
455 "uartb4_utxd", Standard
456 "vc_cam1_scl", I2C
457 "vc_cam1_sda", I2C
458 "vc_cam2_scl", I2C
459 "vc_cam2_sda", I2C
460 "vc_cam3_scl", I2C
461 "vc_cam3_sda", I2C
Documentation/devicetree/bindings/pinctrl/fsl,imx25-pinctrl.txt+23−0
@@ -0,0 +1,23 @@
1* Freescale IMX25 IOMUX Controller
2
3Please refer to fsl,imx-pinctrl.txt in this directory for common binding part
4and usage.
5
6CONFIG bits definition:
7PAD_CTL_HYS (1 << 8)
8PAD_CTL_PKE (1 << 7)
9PAD_CTL_PUE (1 << 6)
10PAD_CTL_PUS_100K_DOWN (0 << 4)
11PAD_CTL_PUS_47K_UP (1 << 4)
12PAD_CTL_PUS_100K_UP (2 << 4)
13PAD_CTL_PUS_22K_UP (3 << 4)
14PAD_CTL_ODE_CMOS (0 << 3)
15PAD_CTL_ODE_OPENDRAIN (1 << 3)
16PAD_CTL_DSE_NOMINAL (0 << 1)
17PAD_CTL_DSE_HIGH (1 << 1)
18PAD_CTL_DSE_MAX (2 << 1)
19PAD_CTL_SRE_FAST (1 << 0)
20PAD_CTL_SRE_SLOW (0 << 0)
21
22Refer to imx25-pinfunc.h in device tree source folder for all available
23imx25 PIN_FUNC_ID.
Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt+22−0
@@ -52,12 +52,25 @@ Required properties for pin configuration node: · 51 unmodified lines
52 CONFIG can be 0 or 1, meaning Pullup disable/enable.52 CONFIG can be 0 or 1, meaning Pullup disable/enable.
53 53
54 54
55The iomux controller has gpio child nodes which are embedded in the iomux
56control registers. They have to be defined as child nodes of the iomux device
57node. If gpio subnodes are defined "#address-cells", "#size-cells" and "ranges"
58properties for the iomux device node are required.
55 59
56Example:60Example:
57 61
58iomuxc: iomuxc@10015000 {62iomuxc: iomuxc@10015000 {
59 compatible = "fsl,imx27-iomuxc";63 compatible = "fsl,imx27-iomuxc";
60 reg = <0x10015000 0x600>;64 reg = <0x10015000 0x600>;
65 #address-cells = <1>;
66 #size-cells = <1>;
67 ranges;
68
69 gpio1: gpio@10015000 {
70 ...
71 };
72
73 ...
61 74
62 uart {75 uart {
63 pinctrl_uart1: uart-1 {76 pinctrl_uart1: uart-1 {
@@ -83,6 +96,15 @@ The above example using macros: · 19 unmodified lines
83iomuxc: iomuxc@10015000 {96iomuxc: iomuxc@10015000 {
84 compatible = "fsl,imx27-iomuxc";97 compatible = "fsl,imx27-iomuxc";
85 reg = <0x10015000 0x600>;98 reg = <0x10015000 0x600>;
99 #address-cells = <1>;
100 #size-cells = <1>;
101 ranges;
102
103 gpio1: gpio@10015000 {
104 ...
105 };
106
107 ...
86 108
87 uart {109 uart {
88 pinctrl_uart1: uart-1 {110 pinctrl_uart1: uart-1 {
Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.txt+144−0
@@ -0,0 +1,144 @@
1NVIDIA Tegra124 pinmux controller
2
3The Tegra124 pinctrl binding is very similar to the Tegra20 and Tegra30
4pinctrl binding, as described in nvidia,tegra20-pinmux.txt and
5nvidia,tegra30-pinmux.txt. In fact, this document assumes that binding as
6a baseline, and only documents the differences between the two bindings.
7
8Required properties:
9- compatible: "nvidia,tegra124-pinmux"
10- reg: Should contain a list of base address and size pairs for:
11 -- first entry - the drive strength and pad control registers.
12 -- second entry - the pinmux registers
13
14Tegra124 adds the following optional properties for pin configuration subnodes.
15The macros for options are defined in the
16 include/dt-binding/pinctrl/pinctrl-tegra.h.
17- nvidia,enable-input: Integer. Enable the pin's input path.
18 enable :TEGRA_PIN_ENABLE0 and
19 disable or output only: TEGRA_PIN_DISABLE.
20- nvidia,open-drain: Integer.
21 enable: TEGRA_PIN_ENABLE.
22 disable: TEGRA_PIN_DISABLE.
23- nvidia,lock: Integer. Lock the pin configuration against further changes
24 until reset.
25 enable: TEGRA_PIN_ENABLE.
26 disable: TEGRA_PIN_DISABLE.
27- nvidia,io-reset: Integer. Reset the IO path.
28 enable: TEGRA_PIN_ENABLE.
29 disable: TEGRA_PIN_DISABLE.
30- nvidia,rcv-sel: Integer. Select VIL/VIH receivers.
31 normal: TEGRA_PIN_DISABLE
32 high: TEGRA_PIN_ENABLE
33
34Please refer the Tegra TRM for complete details regarding which groups
35support which functionality.
36
37Valid values for pin and group names are:
38
39 per-pin mux groups:
40
41 These all support nvidia,function, nvidia,tristate, nvidia,pull,
42 nvidia,enable-input. Some support nvidia,lock nvidia,open-drain,
43 nvidia,io-reset and nvidia,rcv-sel.
44
45 ulpi_data0_po1, ulpi_data1_po2, ulpi_data2_po3, ulpi_data3_po4,
46 ulpi_data4_po5, ulpi_data5_po6, ulpi_data6_po7, ulpi_data7_po0,
47 ulpi_clk_py0, ulpi_dir_py1, ulpi_nxt_py2, ulpi_stp_py3, dap3_fs_pp0,
48 dap3_din_pp1, dap3_dout_pp2, dap3_sclk_pp3, pv0, pv1, sdmmc1_clk_pz0,
49 sdmmc1_cmd_pz1, sdmmc1_dat3_py4, sdmmc1_dat2_py5, sdmmc1_dat1_py6,
50 sdmmc1_dat0_py7, clk2_out_pw5, clk2_req_pcc5, hdmi_int_pn7, ddc_scl_pv4,
51 ddc_sda_pv5, uart2_rxd_pc3, uart2_txd_pc2, uart2_rts_n_pj6,
52 uart2_cts_n_pj5, uart3_txd_pw6, uart3_rxd_pw7, uart3_cts_n_pa1,
53 uart3_rts_n_pc0, pu0, pu1, pu2, pu3, pu4, pu5, pu6, gen1_i2c_scl_pc4,
54 gen1_i2c_sda_pc5, dap4_fs_pp4, dap4_din_pp5, dap4_dout_pp6,
55 dap4_sclk_pp7, clk3_out_pee0, clk3_req_pee1, pc7, pi5, pi7, pk0, pk1,
56 pj0, pj2, pk3, pk4, pk2, pi3, pi6, pg0, pg1, pg2, pg3, pg4, pg5, pg6,
57 pg7, ph0, ph1, ph2, ph3, ph4, ph5, ph6, ph7, pj7, pb0, pb1, pk7, pi0,
58 pi1, pi2, pi4, gen2_i2c_scl_pt5, gen2_i2c_sda_pt6, sdmmc4_clk_pcc4,
59 sdmmc4_cmd_pt7, sdmmc4_dat0_paa0, sdmmc4_dat1_paa1, sdmmc4_dat2_paa2,
60 sdmmc4_dat3_paa3, sdmmc4_dat4_paa4, sdmmc4_dat5_paa5, sdmmc4_dat6_paa6,
61 sdmmc4_dat7_paa7, cam_mclk_pcc0, pcc1, pbb0, cam_i2c_scl_pbb1,
62 cam_i2c_sda_pbb2, pbb3, pbb4, pbb5, pbb6, pbb7, pcc2, jtag_rtck,
63 pwr_i2c_scl_pz6, pwr_i2c_sda_pz7, kb_row0_pr0, kb_row1_pr1, kb_row2_pr2,
64 kb_row3_pr3, kb_row4_pr4, kb_row5_pr5, kb_row6_pr6, kb_row7_pr7,
65 kb_row8_ps0, kb_row9_ps1, kb_row10_ps2, kb_row11_ps3, kb_row12_ps4,
66 kb_row13_ps5, kb_row14_ps6, kb_row15_ps7, kb_col0_pq0, kb_col1_pq1,
67 kb_col2_pq2, kb_col3_pq3, kb_col4_pq4, kb_col5_pq5, kb_col6_pq6,
68 kb_col7_pq7, clk_32k_out_pa0, core_pwr_req, cpu_pwr_req, pwr_int_n,
69 clk_32k_in, owr, dap1_fs_pn0, dap1_din_pn1, dap1_dout_pn2,
70 dap1_sclk_pn3, dap_mclk1_req_pee2, dap_mclk1_pw4, spdif_in_pk6,
71 spdif_out_pk5, dap2_fs_pa2, dap2_din_pa4, dap2_dout_pa5, dap2_sclk_pa3,
72 dvfs_pwm_px0, gpio_x1_aud_px1, gpio_x3_aud_px3, dvfs_clk_px2,
73 gpio_x4_aud_px4, gpio_x5_aud_px5, gpio_x6_aud_px6, gpio_x7_aud_px7,
74 sdmmc3_clk_pa6, sdmmc3_cmd_pa7, sdmmc3_dat0_pb7, sdmmc3_dat1_pb6,
75 sdmmc3_dat2_pb5, sdmmc3_dat3_pb4, pex_l0_rst_n_pdd1,
76 pex_l0_clkreq_n_pdd2, pex_wake_n_pdd3, pex_l1_rst_n_pdd5,
77 pex_l1_clkreq_n_pdd6, hdmi_cec_pee3, sdmmc1_wp_n_pv3,
78 sdmmc3_cd_n_pv2, gpio_w2_aud_pw2, gpio_w3_aud_pw3, usb_vbus_en0_pn4,
79 usb_vbus_en1_pn5, sdmmc3_clk_lb_out_pee4, sdmmc3_clk_lb_in_pee5,
80 gmi_clk_lb, reset_out_n, kb_row16_pt0, kb_row17_pt1, usb_vbus_en2_pff1,
81 pff2, dp_hpd_pff0,
82
83 drive groups:
84
85 These all support nvidia,pull-down-strength, nvidia,pull-up-strength,
86 nvidia,slew-rate-rising, nvidia,slew-rate-falling. Most but not all
87 support nvidia,high-speed-mode, nvidia,schmitt, nvidia,low-power-mode
88 and nvidia,drive-type.
89
90 ao1, ao2, at1, at2, at3, at4, at5, cdev1, cdev2, dap1, dap2, dap3, dap4,
91 dbg, sdio3, spi, uaa, uab, uart2, uart3, sdio1, ddc, gma, gme, gmf, gmg,
92 gmh, owr, uda, gpv, dev3, cec, usb_vbus_en, ao3, ao0, hv0, sdio4, ao4.
93
94Valid values for nvidia,functions are:
95
96 blink, cec, cldvfs, clk12, cpu, dap, dap1, dap2, dev3, displaya,
97 displaya_alt, displayb, dtv, extperiph1, extperiph2, extperiph3,
98 gmi, gmi_alt, hda, hsi, i2c1, i2c2, i2c3, i2c4, i2cpwr, i2s0,
99 i2s1, i2s2, i2s3, i2s4, irda, kbc, owr, pmi, pwm0, pwm1, pwm2, pwm3,
100 pwron, reset_out_n, rsvd1, rsvd2, rsvd3, rsvd4, sdmmc1, sdmmc2, sdmmc3,
101 sdmmc4, soc, spdif, spi1, spi2, spi3, spi4, spi5, spi6, trace, uarta,
102 uartb, uartc, uartd, ulpi, usb, vgp1, vgp2, vgp3, vgp4, vgp5, vgp6,
103 vi, vi_alt1, vi_alt3, vimclk2, vimclk2_alt, sata, ccla, pe0, pe, pe1,
104 dp, rtck, sys, clk tmds.
105
106Example:
107
108 pinmux: pinmux {
109 compatible = "nvidia,tegra124-pinmux";
110 reg = <0x70000868 0x164 /* Pad control registers */
111 0x70003000 0x434>; /* PinMux registers */
112 };
113
114Example pinmux entries:
115
116 pinctrl {
117 sdmmc4_default: pinmux {
118 sdmmc4_clk_pcc4 {
119 nvidia,pins = "sdmmc4_clk_pcc4",
120 nvidia,function = "sdmmc4";
121 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
122 nvidia,tristate = <TEGRA_PIN_DISABLE>;
123 };
124
125 sdmmc4_dat0_paa0 {
126 nvidia,pins = "sdmmc4_dat0_paa0",
127 "sdmmc4_dat1_paa1",
128 "sdmmc4_dat2_paa2",
129 "sdmmc4_dat3_paa3",
130 "sdmmc4_dat4_paa4",
131 "sdmmc4_dat5_paa5",
132 "sdmmc4_dat6_paa6",
133 "sdmmc4_dat7_paa7";
134 nvidia,function = "sdmmc4";
135 nvidia,pull = <TEGRA_PIN_PULL_UP>;
136 nvidia,tristate = <TEGRA_PIN_DISABLE>;
137 };
138 };
139 };
140
141 sdhci@78000400 {
142 pinctrl-names = "default";
143 pinctrl-0 = <&sdmmc4_default>;
144 };
Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt+3−0
@@ -151,6 +151,8 @@ drive-push-pull - drive actively high and low · 150 unmodified lines
151drive-open-drain - drive with open drain151drive-open-drain - drive with open drain
152drive-open-source - drive with open source152drive-open-source - drive with open source
153drive-strength - sink or source at most X mA153drive-strength - sink or source at most X mA
154input-enable - enable input on pin (no effect on output)
155input-disable - disable input on pin (no effect on output)
154input-schmitt-enable - enable schmitt-trigger mode156input-schmitt-enable - enable schmitt-trigger mode
155input-schmitt-disable - disable schmitt-trigger mode157input-schmitt-disable - disable schmitt-trigger mode
156input-debounce - debounce mode with debound time X158input-debounce - debounce mode with debound time X
@@ -158,6 +160,7 @@ low-power-enable - enable low power mode · 1 unmodified line
158low-power-disable - disable low power mode160low-power-disable - disable low power mode
159output-low - set the pin to output mode with low level161output-low - set the pin to output mode with low level
160output-high - set the pin to output mode with high level162output-high - set the pin to output mode with high level
163slew-rate - set the slew rate
161 164
162Some of the generic properties take arguments. For those that do, the165Some of the generic properties take arguments. For those that do, the
163arguments are described below.166arguments are described below.
Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt+1−1
@@ -98,7 +98,7 @@ below for more information. · 97 unmodified lines
98In case when one register changes more than one pin's mux the98In case when one register changes more than one pin's mux the
99pinctrl-single,bits need to be used which takes three parameters:99pinctrl-single,bits need to be used which takes three parameters:
100 100
101 pinctrl-single,bits = <0xdc 0x18, 0xff>;101 pinctrl-single,bits = <0xdc 0x18 0xff>;
102 102
103Where 0xdc is the offset from the pinctrl register base address for the103Where 0xdc is the offset from the pinctrl register base address for the
104device pinctrl register, 0x18 is the desired value, and 0xff is the sub mask to104device pinctrl register, 0x18 is the desired value, and 0xff is the sub mask to
Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt+92−0
@@ -0,0 +1,92 @@
1Qualcomm MSM8974 TLMM block
2
3Required properties:
4- compatible: "qcom,msm8x74-pinctrl"
5- reg: Should be the base address and length of the TLMM block.
6- interrupts: Should be the parent IRQ of the TLMM block.
7- interrupt-controller: Marks the device node as an interrupt controller.
8- #interrupt-cells: Should be two.
9- gpio-controller: Marks the device node as a GPIO controller.
10- #gpio-cells : Should be two.
11 The first cell is the gpio pin number and the
12 second cell is used for optional parameters.
13
14Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
15a general description of GPIO and interrupt bindings.
16
17Please refer to pinctrl-bindings.txt in this directory for details of the
18common pinctrl bindings used by client devices, including the meaning of the
19phrase "pin configuration node".
20
21Qualcomm's pin configuration nodes act as a container for an abitrary number of
22subnodes. Each of these subnodes represents some desired configuration for a
23pin, a group, or a list of pins or groups. This configuration can include the
24mux function to select on those pin(s)/group(s), and various pin configuration
25parameters, such as pull-up, drive strength, etc.
26
27The name of each subnode is not important; all subnodes should be enumerated
28and processed purely based on their content.
29
30Each subnode only affects those parameters that are explicitly listed. In
31other words, a subnode that lists a mux function but no pin configuration
32parameters implies no information about any pin configuration parameters.
33Similarly, a pin subnode that describes a pullup parameter implies no
34information about e.g. the mux function.
35
36
37The following generic properties as defined in pinctrl-bindings.txt are valid
38to specify in a pin configuration subnode:
39 pins, function, bias-disable, bias-pull-down, bias-pull,up, drive-strength.
40
41Non-empty subnodes must specify the 'pins' property.
42Note that not all properties are valid for all pins.
43
44
45Valid values for qcom,pins are:
46 gpio0-gpio145
47 Supports mux, bias and drive-strength
48
49 sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk, sdc2_cmd, sdc2_data
50 Supports bias and drive-strength
51
52Valid values for qcom,function are:
53 blsp_i2c2, blsp_i2c6, blsp_i2c11, blsp_spi1, blsp_uart2, blsp_uart8, slimbus
54
55 (Note that this is not yet the complete list of functions)
56
57
58
59Example:
60
61 msmgpio: pinctrl@fd510000 {
62 compatible = "qcom,msm8974-pinctrl";
63 reg = <0xfd510000 0x4000>;
64
65 gpio-controller;
66 #gpio-cells = <2>;
67 interrupt-controller;
68 #interrupt-cells = <2>;
69 interrupts = <0 208 0>;
70
71 pinctrl-names = "default";
72 pinctrl-0 = <&uart2_default>;
73
74 uart2_default: uart2_default {
75 mux {
76 qcom,pins = "gpio4", "gpio5";
77 qcom,function = "blsp_uart2";
78 };
79
80 tx {
81 qcom,pins = "gpio4";
82 drive-strength = <4>;
83 bias-disable;
84 };
85
86 rx {
87 qcom,pins = "gpio5";
88 drive-strength = <2>;
89 bias-pull-up;
90 };
91 };
92 };
Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt+14−0
@@ -26,6 +26,11 @@ Optional properties: · 25 unmodified lines
26 - #gpio-range-cells: Mandatory when the PFC doesn't handle GPIO, forbidden26 - #gpio-range-cells: Mandatory when the PFC doesn't handle GPIO, forbidden
27 otherwise. Should be 3.27 otherwise. Should be 3.
28 28
29 - interrupts-extended: Specify the interrupts associated with external
30 IRQ pins. This property is mandatory when the PFC handles GPIOs and
31 forbidden otherwise. When specified, it must contain one interrupt per
32 external IRQ, sorted by external IRQ number.
33
29The PFC node also acts as a container for pin configuration nodes. Please refer34The PFC node also acts as a container for pin configuration nodes. Please refer
30to pinctrl-bindings.txt in this directory for the definition of the term "pin35to pinctrl-bindings.txt in this directory for the definition of the term "pin
31configuration node" and for the common pinctrl bindings used by client devices.36configuration node" and for the common pinctrl bindings used by client devices.
@@ -103,6 +108,15 @@ Example 1: SH73A0 (SH-Mobile AG5) pin controller node · 71 unmodified lines
103 <0xe605801c 0x1c>;108 <0xe605801c 0x1c>;
104 gpio-controller;109 gpio-controller;
105 #gpio-cells = <2>;110 #gpio-cells = <2>;
111 interrupts-extended =
112 <&irqpin0 0 0>, <&irqpin0 1 0>, <&irqpin0 2 0>, <&irqpin0 3 0>,
113 <&irqpin0 4 0>, <&irqpin0 5 0>, <&irqpin0 6 0>, <&irqpin0 7 0>,
114 <&irqpin1 0 0>, <&irqpin1 1 0>, <&irqpin1 2 0>, <&irqpin1 3 0>,
115 <&irqpin1 4 0>, <&irqpin1 5 0>, <&irqpin1 6 0>, <&irqpin1 7 0>,
116 <&irqpin2 0 0>, <&irqpin2 1 0>, <&irqpin2 2 0>, <&irqpin2 3 0>,
117 <&irqpin2 4 0>, <&irqpin2 5 0>, <&irqpin2 6 0>, <&irqpin2 7 0>,
118 <&irqpin3 0 0>, <&irqpin3 1 0>, <&irqpin3 2 0>, <&irqpin3 3 0>,
119 <&irqpin3 4 0>, <&irqpin3 5 0>, <&irqpin3 6 0>, <&irqpin3 7 0>;
106 };120 };
107 121
108Example 2: A GPIO LED node that references a GPIO122Example 2: A GPIO LED node that references a GPIO
Documentation/devicetree/bindings/power/isp1704.txt+17−0
@@ -0,0 +1,17 @@
1Binding for NXP ISP1704 USB Charger Detection
2
3Required properties:
4- compatible: Should contain one of the following:
5 * "nxp,isp1704"
6- nxp,enable-gpio: Should contain a phandle + gpio-specifier
7 to the GPIO pin connected to the chip's enable pin.
8- usb-phy: Should contain a phandle to the USB PHY
9 the ISP1704 is connected to.
10
11Example:
12
13isp1704 {
14 compatible = "nxp,isp1704";
15 nxp,enable-gpio = <&gpio3 3 GPIO_ACTIVE_LOW>;
16 usb-phy = <&usb2_phy>;
17};
Documentation/devicetree/bindings/power_supply/charger-manager.txt+81−0
@@ -0,0 +1,81 @@
1charger-manager bindings
2~~~~~~~~~~~~~~~~~~~~~~~~
3
4Required properties :
5 - compatible : "charger-manager"
6 - <>-supply : for regulator consumer
7 - cm-num-chargers : number of chargers
8 - cm-chargers : name of chargers
9 - cm-fuel-gauge : name of battery fuel gauge
10 - subnode <regulator> :
11 - cm-regulator-name : name of charger regulator
12 - subnode <cable> :
13 - cm-cable-name : name of charger cable
14 - cm-cable-extcon : name of extcon dev
15(optional) - cm-cable-min : minimum current of cable
16(optional) - cm-cable-max : maximum current of cable
17
18Optional properties :
19 - cm-name : charger manager's name (default : "battery")
20 - cm-poll-mode : polling mode (enum polling_modes)
21 - cm-poll-interval : polling interval
22 - cm-battery-stat : battery status (enum data_source)
23 - cm-fullbatt-* : data for full battery checking
24 - cm-thermal-zone : name of external thermometer's thermal zone
25 - cm-battery-* : threshold battery temperature for charging
26 -cold : critical cold temperature of battery for charging
27 -cold-in-minus : flag that cold temerature is in minus degree
28 -hot : critical hot temperature of battery for charging
29 -temp-diff : temperature difference to allow recharging
30 - cm-dis/charging-max = limits of charging duration
31
32Example :
33 charger-manager@0 {
34 compatible = "charger-manager";
35 chg-reg-supply = <&charger_regulator>;
36
37 cm-name = "battery";
38 /* Always polling ON : 30s */
39 cm-poll-mode = <1>;
40 cm-poll-interval = <30000>;
41
42 cm-fullbatt-vchkdrop-ms = <30000>;
43 cm-fullbatt-vchkdrop-volt = <150000>;
44 cm-fullbatt-soc = <100>;
45
46 cm-battery-stat = <3>;
47
48 cm-num-chargers = <3>;
49 cm-chargers = "charger0", "charger1", "charger2";
50
51 cm-fuel-gauge = "fuelgauge0";
52
53 cm-thermal-zone = "thermal_zone.1"
54 /* in deci centigrade */
55 cm-battery-cold = <50>;
56 cm-battery-cold-in-minus;
57 cm-battery-hot = <800>;
58 cm-battery-temp-diff = <100>;
59
60 /* Allow charging for 5hr */
61 cm-charging-max = <18000000>;
62 /* Allow discharging for 2hr */
63 cm-discharging-max = <7200000>;
64
65 regulator@0 {
66 cm-regulator-name = "chg-reg";
67 cable@0 {
68 cm-cable-name = "USB";
69 cm-cable-extcon = "extcon-dev.0";
70 cm-cable-min = <475000>;
71 cm-cable-max = <500000>;
72 };
73 cable@1 {
74 cm-cable-name = "TA";
75 cm-cable-extcon = "extcon-dev.0";
76 cm-cable-min = <650000>;
77 cm-cable-max = <675000>;
78 };
79 };
80
81 };
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/network.txt+0−2
@@ -10,7 +10,6 @@ Currently defined compatibles: · 9 unmodified lines
10Example:10Example:
11 11
12 ethernet@11300 {12 ethernet@11300 {
13 device_type = "network";
14 compatible = "fsl,mpc8272-fcc-enet",13 compatible = "fsl,mpc8272-fcc-enet",
15 "fsl,cpm2-fcc-enet";14 "fsl,cpm2-fcc-enet";
16 reg = <11300 20 8400 100 11390 1>;15 reg = <11300 20 8400 100 11390 1>;
@@ -33,7 +32,6 @@ fsl,mdc-pin : pin of port C controlling mdio clock · 16 unmodified lines
33 32
34Example:33Example:
35 mdio@10d40 {34 mdio@10d40 {
36 device_type = "mdio";
37 compatible = "fsl,mpc8272ads-mdio-bitbang",35 compatible = "fsl,mpc8272ads-mdio-bitbang",
38 "fsl,mpc8272-mdio-bitbang",36 "fsl,mpc8272-mdio-bitbang",
39 "fsl,cpm2-mdio-bitbang";37 "fsl,cpm2-mdio-bitbang";
Documentation/devicetree/bindings/powerpc/fsl/cpm_qe/qe/pincfg.txt+0−3
@@ -1,8 +1,6 @@
1* Pin configuration nodes1* Pin configuration nodes
2 2
3Required properties:3Required properties:
4- linux,phandle : phandle of this node; likely referenced by a QE
5 device.
6- pio-map : array of pin configurations. Each pin is defined by 64- pio-map : array of pin configurations. Each pin is defined by 6
7 integers. The six numbers are respectively: port, pin, dir,5 integers. The six numbers are respectively: port, pin, dir,
8 open_drain, assignment, has_irq.6 open_drain, assignment, has_irq.
@@ -29,7 +27,6 @@ Required properties: · 20 unmodified lines
29 27
30Example:28Example:
31 ucc_pin@01 {29 ucc_pin@01 {
32 linux,phandle = <140001>;
33 pio-map = <30 pio-map = <
34 /* port pin dir open_drain assignment has_irq */31 /* port pin dir open_drain assignment has_irq */
35 0 3 1 0 1 0 /* TxD0 */32 0 3 1 0 1 0 /* TxD0 */
Documentation/devicetree/bindings/pwm/atmel-pwm.txt+33−0
@@ -0,0 +1,33 @@
1Atmel PWM controller
2
3Required properties:
4 - compatible: should be one of:
5 - "atmel,at91sam9rl-pwm"
6 - "atmel,sama5d3-pwm"
7 - reg: physical base address and length of the controller's registers
8 - #pwm-cells: Should be 3. See pwm.txt in this directory for a
9 description of the cells format.
10
11Example:
12
13 pwm0: pwm@f8034000 {
14 compatible = "atmel,at91sam9rl-pwm";
15 reg = <0xf8034000 0x400>;
16 #pwm-cells = <3>;
17 };
18
19 pwmleds {
20 compatible = "pwm-leds";
21
22 d1 {
23 label = "d1";
24 pwms = <&pwm0 3 5000 0>
25 max-brightness = <255>;
26 };
27
28 d2 {
29 label = "d2";
30 pwms = <&pwm0 1 5000 1>
31 max-brightness = <255>;
32 };
33 };
Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt+9−0
@@ -7,6 +7,12 @@ Required properties: · 6 unmodified lines
7- reg: physical base address and length of the controller's registers7- reg: physical base address and length of the controller's registers
8- #pwm-cells: should be 2. See pwm.txt in this directory for a description of8- #pwm-cells: should be 2. See pwm.txt in this directory for a description of
9 the cells format.9 the cells format.
10- clocks: Must contain one entry, for the module clock.
11 See ../clocks/clock-bindings.txt for details.
12- resets: Must contain an entry for each entry in reset-names.
13 See ../reset/reset.txt for details.
14- reset-names: Must include the following entries:
15 - pwm
10 16
11Example:17Example:
12 18
@@ -14,4 +20,7 @@ Example: · 1 unmodified line
14 compatible = "nvidia,tegra20-pwm";20 compatible = "nvidia,tegra20-pwm";
15 reg = <0x7000a000 0x100>;21 reg = <0x7000a000 0x100>;
16 #pwm-cells = <2>;22 #pwm-cells = <2>;
23 clocks = <&tegra_car 17>;
24 resets = <&tegra_car 17>;
25 reset-names = "pwm";
17 };26 };
Documentation/devicetree/bindings/pwm/pwm-lp3943.txt+58−0
@@ -0,0 +1,58 @@
1TI/National Semiconductor LP3943 PWM controller
2
3Required properties:
4 - compatible: "ti,lp3943-pwm"
5 - #pwm-cells: Should be 2. See pwm.txt in this directory for a
6 description of the cells format.
7 Note that this hardware limits the period length to the
8 range 6250~1600000.
9 - ti,pwm0 or ti,pwm1: Output pin number(s) for PWM channel 0 or 1.
10 0 = output 0
11 1 = output 1
12 .
13 .
14 15 = output 15
15
16Example:
17PWM 0 is for RGB LED brightness control
18PWM 1 is for brightness control of LP8557 backlight device
19
20&i2c3 {
21 lp3943@60 {
22 compatible = "ti,lp3943";
23 reg = <0x60>;
24
25 /*
26 * PWM 0 : output 8, 9 and 10
27 * PWM 1 : output 15
28 */
29 pwm3943: pwm {
30 compatible = "ti,lp3943-pwm";
31 #pwm-cells = <2>;
32 ti,pwm0 = <8 9 10>;
33 ti,pwm1 = <15>;
34 };
35 };
36
37};
38
39/* LEDs control with PWM 0 of LP3943 */
40pwmleds {
41 compatible = "pwm-leds";
42 rgb {
43 label = "indi::rgb";
44 pwms = <&pwm3943 0 10000>;
45 max-brightness = <255>;
46 };
47};
48
49&i2c4 {
50 /* Backlight control with PWM 1 of LP3943 */
51 backlight@2c {
52 compatible = "ti,lp8557";
53 reg = <0x2c>;
54
55 pwms = <&pwm3943 1 10000>;
56 pwm-names = "lp8557";
57 };
58};
Documentation/devicetree/bindings/pwm/pxa-pwm.txt+30−0
@@ -0,0 +1,30 @@
1Marvell PWM controller
2
3Required properties:
4- compatible: should be one or more of:
5 - "marvell,pxa250-pwm"
6 - "marvell,pxa270-pwm"
7 - "marvell,pxa168-pwm"
8 - "marvell,pxa910-pwm"
9- reg: Physical base address and length of the registers used by the PWM channel
10 Note that one device instance must be created for each PWM that is used, so the
11 length covers only the register window for one PWM output, not that of the
12 entire PWM controller. Currently length is 0x10 for all supported devices.
13- #pwm-cells: Should be 1. This cell is used to specify the period in
14 nanoseconds.
15
16Example PWM device node:
17
18pwm0: pwm@40b00000 {
19 compatible = "marvell,pxa250-pwm";
20 reg = <0x40b00000 0x10>;
21 #pwm-cells = <1>;
22};
23
24Example PWM client node:
25
26backlight {
27 compatible = "pwm-backlight";
28 pwms = <&pwm0 5000000>;
29 ...
30}
Documentation/devicetree/bindings/regulator/act8865-regulator.txt+60−0
@@ -0,0 +1,60 @@
1ACT8865 regulator
2-------------------
3
4Required properties:
5- compatible: "active-semi,act8865"
6- reg: I2C slave address
7
8Any standard regulator properties can be used to configure the single regulator.
9
10The valid names for regulators are:
11 DCDC_REG1, DCDC_REG2, DCDC_REG3, LDO_REG1, LDO_REG2, LDO_REG3, LDO_REG4.
12
13Example:
14--------
15
16 i2c1: i2c@f0018000 {
17 pmic: act8865@5b {
18 compatible = "active-semi,act8865";
19 reg = <0x5b>;
20 status = "disabled";
21
22 regulators {
23 vcc_1v8_reg: DCDC_REG1 {
24 regulator-name = "VCC_1V8";
25 regulator-min-microvolt = <1800000>;
26 regulator-max-microvolt = <1800000>;
27 regulator-always-on;
28 };
29
30 vcc_1v2_reg: DCDC_REG2 {
31 regulator-name = "VCC_1V2";
32 regulator-min-microvolt = <1100000>;
33 regulator-max-microvolt = <1300000>;
34 regulator-suspend-mem-microvolt = <1150000>;
35 regulator-suspend-standby-microvolt = <1150000>;
36 regulator-always-on;
37 };
38
39 vcc_3v3_reg: DCDC_REG3 {
40 regulator-name = "VCC_3V3";
41 regulator-min-microvolt = <3300000>;
42 regulator-max-microvolt = <3300000>;
43 regulator-always-on;
44 };
45
46 vddana_reg: LDO_REG1 {
47 regulator-name = "VDDANA";
48 regulator-min-microvolt = <3300000>;
49 regulator-max-microvolt = <3300000>;
50 regulator-always-on;
51 };
52
53 vddfuse_reg: LDO_REG2 {
54 regulator-name = "FUSE_2V5";
55 regulator-min-microvolt = <2500000>;
56 regulator-max-microvolt = <2500000>;
57 };
58 };
59 };
60 };
Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt+1−1
@@ -83,7 +83,7 @@ as per the datasheet of s5m8767. · 82 unmodified lines
83 83
84 - LDOn84 - LDOn
85 - valid values for n are 1 to 2885 - valid values for n are 1 to 28
86 - Example: LDO0, LD01, LDO2886 - Example: LDO1, LD02, LDO28
87 - BUCKn87 - BUCKn
88 - valid values for n are 1 to 9.88 - valid values for n are 1 to 9.
89 - Example: BUCK1, BUCK2, BUCK989 - Example: BUCK1, BUCK2, BUCK9
Documentation/devicetree/bindings/rtc/haoyu,hym8563.txt+27−0
@@ -0,0 +1,27 @@
1Haoyu Microelectronics HYM8563 Real Time Clock
2
3The HYM8563 provides basic rtc and alarm functionality
4as well as a clock output of up to 32kHz.
5
6Required properties:
7- compatible: should be: "haoyu,hym8563"
8- reg: i2c address
9- interrupts: rtc alarm/event interrupt
10- #clock-cells: the value should be 0
11
12Example:
13
14hym8563: hym8563@51 {
15 compatible = "haoyu,hym8563";
16 reg = <0x51>;
17
18 interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
19
20 #clock-cells = <0>;
21};
22
23device {
24...
25 clocks = <&hym8563>;
26...
27};
Documentation/devicetree/bindings/rtc/maxim,ds1742.txt+12−0
@@ -0,0 +1,12 @@
1* Maxim (Dallas) DS1742/DS1743 Real Time Clock
2
3Required properties:
4- compatible: Should contain "maxim,ds1742".
5- reg: Physical base address of the RTC and length of memory
6 mapped region.
7
8Example:
9 rtc: rtc@10000000 {
10 compatible = "maxim,ds1742";
11 reg = <0x10000000 0x800>;
12 };
Documentation/devicetree/bindings/rtc/nvidia,tegra20-rtc.txt+3−0
@@ -9,6 +9,8 @@ Required properties: · 8 unmodified lines
9- compatible : should be "nvidia,tegra20-rtc".9- compatible : should be "nvidia,tegra20-rtc".
10- reg : Specifies base physical address and size of the registers.10- reg : Specifies base physical address and size of the registers.
11- interrupts : A single interrupt specifier.11- interrupts : A single interrupt specifier.
12- clocks : Must contain one entry, for the module clock.
13 See ../clocks/clock-bindings.txt for details.
12 14
13Example:15Example:
14 16
@@ -16,4 +18,5 @@ timer { · 1 unmodified line
16 compatible = "nvidia,tegra20-rtc";18 compatible = "nvidia,tegra20-rtc";
17 reg = <0x7000e000 0x100>;19 reg = <0x7000e000 0x100>;
18 interrupts = <0 2 0x04>;20 interrupts = <0 2 0x04>;
21 clocks = <&tegra_car 4>;
19};22};
Documentation/devicetree/bindings/rtc/sunxi-rtc.txt+17−0
@@ -0,0 +1,17 @@
1* sun4i/sun7i Real Time Clock
2
3RTC controller for the Allwinner A10/A20
4
5Required properties:
6- compatible : Should be "allwinner,sun4i-rtc" or "allwinner,sun7i-a20-rtc"
7- reg: physical base address of the controller and length of memory mapped
8 region.
9- interrupts: IRQ line for the RTC.
10
11Example:
12
13rtc: rtc@01c20d00 {
14 compatible = "allwinner,sun4i-rtc";
15 reg = <0x01c20d00 0x20>;
16 interrupts = <24>;
17};
Documentation/devicetree/bindings/serial/atmel-usart.txt+7−0
@@ -6,6 +6,9 @@ Required properties: · 5 unmodified lines
6 additional mode or an USART new feature.6 additional mode or an USART new feature.
7- reg: Should contain registers location and length7- reg: Should contain registers location and length
8- interrupts: Should contain interrupt8- interrupts: Should contain interrupt
9- clock-names: tuple listing input clock names.
10 Required elements: "usart"
11- clocks: phandles to input clocks.
9 12
10Optional properties:13Optional properties:
11- atmel,use-dma-rx: use of PDC or DMA for receiving data14- atmel,use-dma-rx: use of PDC or DMA for receiving data
@@ -26,6 +29,8 @@ Example: · 14 unmodified lines
26 compatible = "atmel,at91sam9260-usart";29 compatible = "atmel,at91sam9260-usart";
27 reg = <0xfff8c000 0x4000>;30 reg = <0xfff8c000 0x4000>;
28 interrupts = <7>;31 interrupts = <7>;
32 clocks = <&usart0_clk>;
33 clock-names = "usart";
29 atmel,use-dma-rx;34 atmel,use-dma-rx;
30 atmel,use-dma-tx;35 atmel,use-dma-tx;
31 };36 };
@@ -35,6 +40,8 @@ Example: · 3 unmodified lines
35 compatible = "atmel,at91sam9260-usart";40 compatible = "atmel,at91sam9260-usart";
36 reg = <0xf001c000 0x100>;41 reg = <0xf001c000 0x100>;
37 interrupts = <12 4 5>;42 interrupts = <12 4 5>;
43 clocks = <&usart0_clk>;
44 clock-names = "usart";
38 atmel,use-dma-rx;45 atmel,use-dma-rx;
39 atmel,use-dma-tx;46 atmel,use-dma-tx;
40 dmas = <&dma0 2 0x3>,47 dmas = <&dma0 2 0x3>,
Documentation/devicetree/bindings/serial/cirrus,clps711x-uart.txt+28−0
@@ -0,0 +1,28 @@
1* Cirrus Logic CLPS711X Universal Asynchronous Receiver/Transmitter (UART)
2
3Required properties:
4- compatible: Should be "cirrus,clps711x-uart".
5- reg: Address and length of the register set for the device.
6- interrupts: Should contain UART TX and RX interrupt.
7- clocks: Should contain UART core clock number.
8- syscon: Phandle to SYSCON node, which contain UART control bits.
9
10Optional properties:
11- uart-use-ms: Indicate the UART has modem signal (DCD, DSR, CTS).
12
13Note: Each UART port should have an alias correctly numbered
14in "aliases" node.
15
16Example:
17 aliases {
18 serial0 = &uart1;
19 };
20
21 uart1: uart@80000480 {
22 compatible = "cirrus,clps711x-uart";
23 reg = <0x80000480 0x80>;
24 interrupts = <12 13>;
25 clocks = <&clks 11>;
26 syscon = <&syscon1>;
27 uart-use-ms;
28 };
Documentation/devicetree/bindings/serial/nvidia,tegra20-hsuart.txt+16−3
@@ -4,8 +4,17 @@ Required properties: · 3 unmodified lines
4- compatible : should be "nvidia,tegra30-hsuart", "nvidia,tegra20-hsuart".4- compatible : should be "nvidia,tegra30-hsuart", "nvidia,tegra20-hsuart".
5- reg: Should contain UART controller registers location and length.5- reg: Should contain UART controller registers location and length.
6- interrupts: Should contain UART controller interrupts.6- interrupts: Should contain UART controller interrupts.
7- nvidia,dma-request-selector : The Tegra DMA controller's phandle and7- clocks: Must contain one entry, for the module clock.
8 request selector for this UART controller.8 See ../clocks/clock-bindings.txt for details.
9- resets : Must contain an entry for each entry in reset-names.
10 See ../reset/reset.txt for details.
11- reset-names : Must include the following entries:
12 - serial
13- dmas : Must contain an entry for each entry in clock-names.
14 See ../dma/dma.txt for details.
15- dma-names : Must include the following entries:
16 - rx
17 - tx
9 18
10Optional properties:19Optional properties:
11- nvidia,enable-modem-interrupt: Enable modem interrupts. Should be enable20- nvidia,enable-modem-interrupt: Enable modem interrupts. Should be enable
@@ -18,7 +27,11 @@ serial@70006000 { · 6 unmodified lines
18 reg = <0x70006000 0x40>;27 reg = <0x70006000 0x40>;
19 reg-shift = <2>;28 reg-shift = <2>;
20 interrupts = <0 36 0x04>;29 interrupts = <0 36 0x04>;
21 nvidia,dma-request-selector = <&apbdma 8>;
22 nvidia,enable-modem-interrupt;30 nvidia,enable-modem-interrupt;
31 clocks = <&tegra_car 6>;
32 resets = <&tegra_car 6>;
33 reset-names = "serial";
34 dmas = <&apbdma 8>, <&apbdma 8>;
35 dma-names = "rx", "tx";
23 status = "disabled";36 status = "disabled";
24};37};
Documentation/devicetree/bindings/serial/renesas,sci-serial.txt+46−0
@@ -0,0 +1,46 @@
1* Renesas SH-Mobile Serial Communication Interface
2
3Required properties:
4
5 - compatible: Must contain one of the following:
6
7 - "renesas,scif-r8a7790" for R8A7790 (R-Car H2) SCIF compatible UART.
8 - "renesas,scifa-r8a7790" for R8A7790 (R-Car H2) SCIFA compatible UART.
9 - "renesas,scifb-r8a7790" for R8A7790 (R-Car H2) SCIFB compatible UART.
10 - "renesas,hscif-r8a7790" for R8A7790 (R-Car H2) HSCIF compatible UART.
11 - "renesas,scif-r8a7791" for R8A7791 (R-Car M2) SCIF compatible UART.
12 - "renesas,scifa-r8a7791" for R8A7791 (R-Car M2) SCIFA compatible UART.
13 - "renesas,scifb-r8a7791" for R8A7791 (R-Car M2) SCIFB compatible UART.
14 - "renesas,hscif-r8a7791" for R8A7791 (R-Car M2) HSCIF compatible UART.
15 - "renesas,scif" for generic SCIF compatible UART.
16 - "renesas,scifa" for generic SCIFA compatible UART.
17 - "renesas,scifb" for generic SCIFB compatible UART.
18 - "renesas,hscif" for generic HSCIF compatible UART.
19
20 When compatible with the generic version, nodes must list the
21 SoC-specific version corresponding to the platform first followed by the
22 generic version.
23
24 - reg: Base address and length of the I/O registers used by the UART.
25 - interrupts: Must contain an interrupt-specifier for the SCIx interrupt.
26
27 - clocks: Must contain a phandle and clock-specifier pair for each entry
28 in clock-names.
29 - clock-names: Must contain "sci_ick" for the SCIx UART interface clock.
30
31Note: Each enabled SCIx UART should have an alias correctly numbered in the
32"aliases" node.
33
34Example:
35 aliases {
36 serial0 = &scifa0;
37 };
38
39 scifa0: serial@e6c40000 {
40 compatible = "renesas,scifa-r8a7790", "renesas,scifa-generic";
41 reg = <0 0xe6c40000 0 64>;
42 interrupt-parent = <&gic>;
43 interrupts = <0 144 IRQ_TYPE_LEVEL_HIGH>;
44 clocks = <&mstp2_clks R8A7790_CLK_SCIFA0>;
45 clock-names = "sci_ick";
46 };
Documentation/devicetree/bindings/serial/vt8500-uart.txt+26−0
@@ -0,0 +1,26 @@
1* VIA VT8500 and WonderMedia WM8xxx UART Controller
2
3Required properties:
4- compatible: should be "via,vt8500-uart"
5
6- reg: base physical address of the controller and length of memory mapped
7 region.
8
9- interrupts: hardware interrupt number
10
11- clocks: shall be the input parent clock phandle for the clock. This should
12 be the 24Mhz reference clock.
13
14Aliases may be defined to ensure the correct ordering of the uarts.
15
16Example:
17 aliases {
18 serial0 = &uart0;
19 };
20
21 uart0: serial@d8200000 {
22 compatible = "via,vt8500-uart";
23 reg = <0xd8200000 0x1040>;
24 interrupts = <32>;
25 clocks = <&clkuart0>;
26 };
Documentation/devicetree/bindings/sound/adi,axi-i2s.txt+31−0
@@ -0,0 +1,31 @@
1ADI AXI-I2S controller
2
3Required properties:
4 - compatible : Must be "adi,axi-i2s-1.00.a"
5 - reg : Must contain I2S core's registers location and length
6 - clocks : Pairs of phandle and specifier referencing the controller's clocks.
7 The controller expects two clocks, the clock used for the AXI interface and
8 the clock used as the sampling rate reference clock sample.
9 - clock-names : "axi" for the clock to the AXI interface, "ref" for the sample
10 rate reference clock.
11 - dmas: Pairs of phandle and specifier for the DMA channels that are used by
12 the core. The core expects two dma channels, one for transmit and one for
13 receive.
14 - dma-names : "tx" for the transmit channel, "rx" for the receive channel.
15
16For more details on the 'dma', 'dma-names', 'clock' and 'clock-names' properties
17please check:
18 * resource-names.txt
19 * clock/clock-bindings.txt
20 * dma/dma.txt
21
22Example:
23
24 i2s: i2s@0x77600000 {
25 compatible = "adi,axi-i2s-1.00.a";
26 reg = <0x77600000 0x1000>;
27 clocks = <&clk 15>, <&audio_clock>;
28 clock-names = "axi", "ref";
29 dmas = <&ps7_dma 0>, <&ps7_dma 1>;
30 dma-names = "tx", "rx";
31 };
Documentation/devicetree/bindings/sound/adi,axi-spdif-tx.txt+30−0
@@ -0,0 +1,30 @@
1ADI AXI-SPDIF controller
2
3Required properties:
4 - compatible : Must be "adi,axi-spdif-1.00.a"
5 - reg : Must contain SPDIF core's registers location and length
6 - clocks : Pairs of phandle and specifier referencing the controller's clocks.
7 The controller expects two clocks, the clock used for the AXI interface and
8 the clock used as the sampling rate reference clock sample.
9 - clock-names: "axi" for the clock to the AXI interface, "ref" for the sample
10 rate reference clock.
11 - dmas: Pairs of phandle and specifier for the DMA channel that is used by
12 the core. The core expects one dma channel for transmit.
13 - dma-names : Must be "tx"
14
15For more details on the 'dma', 'dma-names', 'clock' and 'clock-names' properties
16please check:
17 * resource-names.txt
18 * clock/clock-bindings.txt
19 * dma/dma.txt
20
21Example:
22
23 spdif: spdif@0x77400000 {
24 compatible = "adi,axi-spdif-tx-1.00.a";
25 reg = <0x77600000 0x1000>;
26 clocks = <&clk 15>, <&audio_clock>;
27 clock-names = "axi", "ref";
28 dmas = <&ps7_dma 0>;
29 dma-names = "tx";
30 };
Documentation/devicetree/bindings/sound/bcm2835-i2s.txt+25−0
@@ -0,0 +1,25 @@
1* Broadcom BCM2835 SoC I2S/PCM module
2
3Required properties:
4- compatible: "brcm,bcm2835-i2s"
5- reg: A list of base address and size entries:
6 * The first entry should cover the PCM registers
7 * The second entry should cover the PCM clock registers
8- dmas: List of DMA controller phandle and DMA request line ordered pairs.
9- dma-names: Identifier string for each DMA request line in the dmas property.
10 These strings correspond 1:1 with the ordered pairs in dmas.
11
12 One of the DMA channels will be responsible for transmission (should be
13 named "tx") and one for reception (should be named "rx").
14
15Example:
16
17bcm2835_i2s: i2s@7e203000 {
18 compatible = "brcm,bcm2835-i2s";
19 reg = <0x7e203000 0x20>,
20 <0x7e101098 0x02>;
21
22 dmas = <&dma 2>,
23 <&dma 3>;
24 dma-names = "tx", "rx";
25};
Documentation/devicetree/bindings/sound/cs42l52.txt+46−0
@@ -0,0 +1,46 @@
1CS42L52 audio CODEC
2
3Required properties:
4
5 - compatible : "cirrus,cs42l52"
6
7 - reg : the I2C address of the device for I2C
8
9Optional properties:
10
11 - cirrus,reset-gpio : GPIO controller's phandle and the number
12 of the GPIO used to reset the codec.
13
14 - cirrus,chgfreq-divisor : Values used to set the Charge Pump Frequency.
15 Allowable values of 0x00 through 0x0F. These are raw values written to the
16 register, not the actual frequency. The frequency is determined by the following.
17 Frequency = (64xFs)/(N+2)
18 N = chgfreq_val
19 Fs = Sample Rate (variable)
20
21 - cirrus,mica-differential-cfg : boolean, If present, then the MICA input is configured
22 as a differential input. If not present then the MICA input is configured as
23 Single-ended input. Single-ended mode allows for MIC1 or MIC2 muxing for input.
24
25 - cirrus,micb-differential-cfg : boolean, If present, then the MICB input is configured
26 as a differential input. If not present then the MICB input is configured as
27 Single-ended input. Single-ended mode allows for MIC1 or MIC2 muxing for input.
28
29 - cirrus,micbias-lvl: Set the output voltage level on the MICBIAS Pin
30 0 = 0.5 x VA
31 1 = 0.6 x VA
32 2 = 0.7 x VA
33 3 = 0.8 x VA
34 4 = 0.83 x VA
35 5 = 0.91 x VA
36
37Example:
38
39codec: codec@4a {
40 compatible = "cirrus,cs42l52";
41 reg = <0x4a>;
42 reset-gpio = <&gpio 10 0>;
43 cirrus,chgfreq-divisor = <0x05>;
44 cirrus.mica-differential-cfg;
45 cirrus,micbias-lvl = <5>;
46};
Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt+4−2
@@ -4,7 +4,8 @@ Required properties: · 3 unmodified lines
4- compatible :4- compatible :
5 "ti,dm646x-mcasp-audio" : for DM646x platforms5 "ti,dm646x-mcasp-audio" : for DM646x platforms
6 "ti,da830-mcasp-audio" : for both DA830 & DA850 platforms6 "ti,da830-mcasp-audio" : for both DA830 & DA850 platforms
7 "ti,am33xx-mcasp-audio" : for AM33xx platforms (AM33xx, TI81xx)7 "ti,am33xx-mcasp-audio" : for AM33xx platforms (AM33xx, AM43xx, TI81xx)
8 "ti,dra7-mcasp-audio" : for DRA7xx platforms
8 9
9- reg : Should contain reg specifiers for the entries in the reg-names property.10- reg : Should contain reg specifiers for the entries in the reg-names property.
10- reg-names : Should contain:11- reg-names : Should contain:
@@ -36,7 +37,8 @@ Optional properties: · 25 unmodified lines
36- pinctrl-0: Should specify pin control group used for this controller.37- pinctrl-0: Should specify pin control group used for this controller.
37- pinctrl-names: Should contain only one value - "default", for more details38- pinctrl-names: Should contain only one value - "default", for more details
38 please refer to pinctrl-bindings.txt39 please refer to pinctrl-bindings.txt
39 40- fck_parent : Should contain a valid clock name which will be used as parent
41 for the McASP fck
40 42
41Example:43Example:
42 44
Documentation/devicetree/bindings/sound/fsl,esai.txt+50−0
@@ -0,0 +1,50 @@
1Freescale Enhanced Serial Audio Interface (ESAI) Controller
2
3The Enhanced Serial Audio Interface (ESAI) provides a full-duplex serial port
4for serial communication with a variety of serial devices, including industry
5standard codecs, Sony/Phillips Digital Interface (S/PDIF) transceivers, and
6other DSPs. It has up to six transmitters and four receivers.
7
8Required properties:
9
10 - compatible : Compatible list, must contain "fsl,imx35-esai".
11
12 - reg : Offset and length of the register set for the device.
13
14 - interrupts : Contains the spdif interrupt.
15
16 - dmas : Generic dma devicetree binding as described in
17 Documentation/devicetree/bindings/dma/dma.txt.
18
19 - dma-names : Two dmas have to be defined, "tx" and "rx".
20
21 - clocks: Contains an entry for each entry in clock-names.
22
23 - clock-names : Includes the following entries:
24 "core" The core clock used to access registers
25 "extal" The esai baud clock for esai controller used to derive
26 HCK, SCK and FS.
27 "fsys" The system clock derived from ahb clock used to derive
28 HCK, SCK and FS.
29
30 - fsl,fifo-depth: The number of elements in the transmit and receive FIFOs.
31 This number is the maximum allowed value for TFCR[TFWM] or RFCR[RFWM].
32
33 - fsl,esai-synchronous: This is a boolean property. If present, indicating
34 that ESAI would work in the synchronous mode, which means all the settings
35 for Receiving would be duplicated from Transmition related registers.
36
37Example:
38
39esai: esai@02024000 {
40 compatible = "fsl,imx35-esai";
41 reg = <0x02024000 0x4000>;
42 interrupts = <0 51 0x04>;
43 clocks = <&clks 208>, <&clks 118>, <&clks 208>;
44 clock-names = "core", "extal", "fsys";
45 dmas = <&sdma 23 21 0>, <&sdma 24 21 0>;
46 dma-names = "rx", "tx";
47 fsl,fifo-depth = <128>;
48 fsl,esai-synchronous;
49 status = "disabled";
50};
Documentation/devicetree/bindings/sound/fsl,ssi.txt+6−1
@@ -4,7 +4,12 @@ The SSI is a serial device that communicates with audio codecs. It can · 3 unmodified lines
4be programmed in AC97, I2S, left-justified, or right-justified modes.4be programmed in AC97, I2S, left-justified, or right-justified modes.
5 5
6Required properties:6Required properties:
7- compatible: Compatible list, contains "fsl,ssi".7- compatible: Compatible list, should contain one of the following
8 compatibles:
9 fsl,mpc8610-ssi
10 fsl,imx51-ssi
11 fsl,imx35-ssi
12 fsl,imx21-ssi
8- cell-index: The SSI, <0> = SSI1, <1> = SSI2, and so on.13- cell-index: The SSI, <0> = SSI1, <1> = SSI2, and so on.
9- reg: Offset and length of the register set for the device.14- reg: Offset and length of the register set for the device.
10- interrupts: <a b> where a is the interrupt number and b is a15- interrupts: <a b> where a is the interrupt number and b is a
Documentation/devicetree/bindings/sound/fsl-sai.txt+40−0
@@ -0,0 +1,40 @@
1Freescale Synchronous Audio Interface (SAI).
2
3The SAI is based on I2S module that used communicating with audio codecs,
4which provides a synchronous audio interface that supports fullduplex
5serial interfaces with frame synchronization such as I2S, AC97, TDM, and
6codec/DSP interfaces.
7
8
9Required properties:
10- compatible: Compatible list, contains "fsl,vf610-sai".
11- reg: Offset and length of the register set for the device.
12- clocks: Must contain an entry for each entry in clock-names.
13- clock-names : Must include the "sai" entry.
14- dmas : Generic dma devicetree binding as described in
15 Documentation/devicetree/bindings/dma/dma.txt.
16- dma-names : Two dmas have to be defined, "tx" and "rx".
17- pinctrl-names: Must contain a "default" entry.
18- pinctrl-NNN: One property must exist for each entry in pinctrl-names.
19 See ../pinctrl/pinctrl-bindings.txt for details of the property values.
20- big-endian-regs: If this property is absent, the little endian mode will
21 be in use as default, or the big endian mode will be in use for all the
22 device registers.
23- big-endian-data: If this property is absent, the little endian mode will
24 be in use as default, or the big endian mode will be in use for all the
25 fifo data.
26
27Example:
28sai2: sai@40031000 {
29 compatible = "fsl,vf610-sai";
30 reg = <0x40031000 0x1000>;
31 pinctrl-names = "default";
32 pinctrl-0 = <&pinctrl_sai2_1>;
33 clocks = <&clks VF610_CLK_SAI2>;
34 clock-names = "sai";
35 dma-names = "tx", "rx";
36 dmas = <&edma0 0 VF610_EDMA_MUXID0_SAI2_TX>,
37 <&edma0 0 VF610_EDMA_MUXID0_SAI2_RX>;
38 big-endian-regs;
39 big-endian-data;
40};
Documentation/devicetree/bindings/sound/hdmi.txt+17−0
@@ -0,0 +1,17 @@
1Device-Tree bindings for dummy HDMI codec
2
3Required properties:
4 - compatible: should be "linux,hdmi-audio".
5
6CODEC output pins:
7 * TX
8
9CODEC input pins:
10 * RX
11
12Example node:
13
14 hdmi_audio: hdmi_audio@0 {
15 compatible = "linux,hdmi-audio";
16 status = "okay";
17 };
Documentation/devicetree/bindings/sound/max98090.txt+43−0
@@ -0,0 +1,43 @@
1MAX98090 audio CODEC
2
3This device supports I2C only.
4
5Required properties:
6
7- compatible : "maxim,max98090".
8
9- reg : The I2C address of the device.
10
11- interrupts : The CODEC's interrupt output.
12
13Pins on the device (for linking into audio routes):
14
15 * MIC1
16 * MIC2
17 * DMICL
18 * DMICR
19 * IN1
20 * IN2
21 * IN3
22 * IN4
23 * IN5
24 * IN6
25 * IN12
26 * IN34
27 * IN56
28 * HPL
29 * HPR
30 * SPKL
31 * SPKR
32 * RCVL
33 * RCVR
34 * MICBIAS
35
36Example:
37
38audio-codec@10 {
39 compatible = "maxim,max98090";
40 reg = <0x10>;
41 interrupt-parent = <&gpio>;
42 interrupts = <TEGRA_GPIO(H, 4) GPIO_ACTIVE_HIGH>;
43};
Documentation/devicetree/bindings/sound/nvidia,tegra-audio-alc5632.txt+4−3
@@ -3,10 +3,11 @@ NVIDIA Tegra audio complex · 2 unmodified lines
3Required properties:3Required properties:
4- compatible : "nvidia,tegra-audio-alc5632"4- compatible : "nvidia,tegra-audio-alc5632"
5- clocks : Must contain an entry for each entry in clock-names.5- clocks : Must contain an entry for each entry in clock-names.
6 See ../clocks/clock-bindings.txt for details.
6- clock-names : Must include the following entries:7- clock-names : Must include the following entries:
7 "pll_a" (The Tegra clock of that name),8 - pll_a
8 "pll_a_out0" (The Tegra clock of that name),9 - pll_a_out0
9 "mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)10 - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
10- nvidia,model : The user-visible name of this sound complex.11- nvidia,model : The user-visible name of this sound complex.
11- nvidia,audio-routing : A list of the connections between audio components.12- nvidia,audio-routing : A list of the connections between audio components.
12 Each entry is a pair of strings, the first being the connection's sink,13 Each entry is a pair of strings, the first being the connection's sink,
Documentation/devicetree/bindings/sound/nvidia,tegra-audio-max98090.txt+51−0
@@ -0,0 +1,51 @@
1NVIDIA Tegra audio complex, with MAX98090 CODEC
2
3Required properties:
4- compatible : "nvidia,tegra-audio-max98090"
5- clocks : Must contain an entry for each entry in clock-names.
6 See ../clocks/clock-bindings.txt for details.
7- clock-names : Must include the following entries:
8 - pll_a
9 - pll_a_out0
10 - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
11- nvidia,model : The user-visible name of this sound complex.
12- nvidia,audio-routing : A list of the connections between audio components.
13 Each entry is a pair of strings, the first being the connection's sink,
14 the second being the connection's source. Valid names for sources and
15 sinks are the MAX98090's pins (as documented in its binding), and the jacks
16 on the board:
17
18 * Headphones
19 * Speakers
20 * Mic Jack
21
22- nvidia,i2s-controller : The phandle of the Tegra I2S controller that's
23 connected to the CODEC.
24- nvidia,audio-codec : The phandle of the MAX98090 audio codec.
25
26Optional properties:
27- nvidia,hp-det-gpios : The GPIO that detect headphones are plugged in
28
29Example:
30
31sound {
32 compatible = "nvidia,tegra-audio-max98090-venice2",
33 "nvidia,tegra-audio-max98090";
34 nvidia,model = "NVIDIA Tegra Venice2";
35
36 nvidia,audio-routing =
37 "Headphones", "HPR",
38 "Headphones", "HPL",
39 "Speakers", "SPKR",
40 "Speakers", "SPKL",
41 "Mic Jack", "MICBIAS",
42 "IN34", "Mic Jack";
43
44 nvidia,i2s-controller = <&tegra_i2s1>;
45 nvidia,audio-codec = <&acodec>;
46
47 clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
48 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
49 <&tegra_car TEGRA124_CLK_EXTERN1>;
50 clock-names = "pll_a", "pll_a_out0", "mclk";
51};
Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5640.txt+4−3
@@ -3,10 +3,11 @@ NVIDIA Tegra audio complex, with RT5640 CODEC · 2 unmodified lines
3Required properties:3Required properties:
4- compatible : "nvidia,tegra-audio-rt5640"4- compatible : "nvidia,tegra-audio-rt5640"
5- clocks : Must contain an entry for each entry in clock-names.5- clocks : Must contain an entry for each entry in clock-names.
6 See ../clocks/clock-bindings.txt for details.
6- clock-names : Must include the following entries:7- clock-names : Must include the following entries:
7 "pll_a" (The Tegra clock of that name),8 - pll_a
8 "pll_a_out0" (The Tegra clock of that name),9 - pll_a_out0
9 "mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)10 - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
10- nvidia,model : The user-visible name of this sound complex.11- nvidia,model : The user-visible name of this sound complex.
11- nvidia,audio-routing : A list of the connections between audio components.12- nvidia,audio-routing : A list of the connections between audio components.
12 Each entry is a pair of strings, the first being the connection's sink,13 Each entry is a pair of strings, the first being the connection's sink,
Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8753.txt+4−3
@@ -3,10 +3,11 @@ NVIDIA Tegra audio complex · 2 unmodified lines
3Required properties:3Required properties:
4- compatible : "nvidia,tegra-audio-wm8753"4- compatible : "nvidia,tegra-audio-wm8753"
5- clocks : Must contain an entry for each entry in clock-names.5- clocks : Must contain an entry for each entry in clock-names.
6 See ../clocks/clock-bindings.txt for details.
6- clock-names : Must include the following entries:7- clock-names : Must include the following entries:
7 "pll_a" (The Tegra clock of that name),8 - pll_a
8 "pll_a_out0" (The Tegra clock of that name),9 - pll_a_out0
9 "mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)10 - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
10- nvidia,model : The user-visible name of this sound complex.11- nvidia,model : The user-visible name of this sound complex.
11- nvidia,audio-routing : A list of the connections between audio components.12- nvidia,audio-routing : A list of the connections between audio components.
12 Each entry is a pair of strings, the first being the connection's sink,13 Each entry is a pair of strings, the first being the connection's sink,
Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8903.txt+4−3
@@ -3,10 +3,11 @@ NVIDIA Tegra audio complex · 2 unmodified lines
3Required properties:3Required properties:
4- compatible : "nvidia,tegra-audio-wm8903"4- compatible : "nvidia,tegra-audio-wm8903"
5- clocks : Must contain an entry for each entry in clock-names.5- clocks : Must contain an entry for each entry in clock-names.
6 See ../clocks/clock-bindings.txt for details.
6- clock-names : Must include the following entries:7- clock-names : Must include the following entries:
7 "pll_a" (The Tegra clock of that name),8 - pll_a
8 "pll_a_out0" (The Tegra clock of that name),9 - pll_a_out0
9 "mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)10 - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
10- nvidia,model : The user-visible name of this sound complex.11- nvidia,model : The user-visible name of this sound complex.
11- nvidia,audio-routing : A list of the connections between audio components.12- nvidia,audio-routing : A list of the connections between audio components.
12 Each entry is a pair of strings, the first being the connection's sink,13 Each entry is a pair of strings, the first being the connection's sink,
Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm9712.txt+4−3
@@ -3,10 +3,11 @@ NVIDIA Tegra audio complex · 2 unmodified lines
3Required properties:3Required properties:
4- compatible : "nvidia,tegra-audio-wm9712"4- compatible : "nvidia,tegra-audio-wm9712"
5- clocks : Must contain an entry for each entry in clock-names.5- clocks : Must contain an entry for each entry in clock-names.
6 See ../clocks/clock-bindings.txt for details.
6- clock-names : Must include the following entries:7- clock-names : Must include the following entries:
7 "pll_a" (The Tegra clock of that name),8 - pll_a
8 "pll_a_out0" (The Tegra clock of that name),9 - pll_a_out0
9 "mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)10 - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
10- nvidia,model : The user-visible name of this sound complex.11- nvidia,model : The user-visible name of this sound complex.
11- nvidia,audio-routing : A list of the connections between audio components.12- nvidia,audio-routing : A list of the connections between audio components.
12 Each entry is a pair of strings, the first being the connection's sink,13 Each entry is a pair of strings, the first being the connection's sink,
Documentation/devicetree/bindings/sound/nvidia,tegra20-ac97.txt+17−3
@@ -4,19 +4,33 @@ Required properties: · 3 unmodified lines
4- compatible : "nvidia,tegra20-ac97"4- compatible : "nvidia,tegra20-ac97"
5- reg : Should contain AC97 controller registers location and length5- reg : Should contain AC97 controller registers location and length
6- interrupts : Should contain AC97 interrupt6- interrupts : Should contain AC97 interrupt
7- nvidia,dma-request-selector : The Tegra DMA controller's phandle and7- resets : Must contain an entry for each entry in reset-names.
8 request selector for the AC97 controller8 See ../reset/reset.txt for details.
9- reset-names : Must include the following entries:
10 - ac97
11- dmas : Must contain an entry for each entry in clock-names.
12 See ../dma/dma.txt for details.
13- dma-names : Must include the following entries:
14 - rx
15 - tx
16- clocks : Must contain one entry, for the module clock.
17 See ../clocks/clock-bindings.txt for details.
9- nvidia,codec-reset-gpio : The Tegra GPIO controller's phandle and the number18- nvidia,codec-reset-gpio : The Tegra GPIO controller's phandle and the number
10 of the GPIO used to reset the external AC97 codec19 of the GPIO used to reset the external AC97 codec
11- nvidia,codec-sync-gpio : The Tegra GPIO controller's phandle and the number20- nvidia,codec-sync-gpio : The Tegra GPIO controller's phandle and the number
12 of the GPIO corresponding with the AC97 DAP _FS line21 of the GPIO corresponding with the AC97 DAP _FS line
22
13Example:23Example:
14 24
15ac97@70002000 {25ac97@70002000 {
16 compatible = "nvidia,tegra20-ac97";26 compatible = "nvidia,tegra20-ac97";
17 reg = <0x70002000 0x200>;27 reg = <0x70002000 0x200>;
18 interrupts = <0 81 0x04>;28 interrupts = <0 81 0x04>;
19 nvidia,dma-request-selector = <&apbdma 12>;
20 nvidia,codec-reset-gpio = <&gpio 170 0>;29 nvidia,codec-reset-gpio = <&gpio 170 0>;
21 nvidia,codec-sync-gpio = <&gpio 120 0>;30 nvidia,codec-sync-gpio = <&gpio 120 0>;
31 clocks = <&tegra_car 3>;
32 resets = <&tegra_car 3>;
33 reset-names = "ac97";
34 dmas = <&apbdma 12>, <&apbdma 12>;
35 dma-names = "rx", "tx";
22};36};
Documentation/devicetree/bindings/sound/nvidia,tegra20-i2s.txt+16−3
@@ -4,8 +4,17 @@ Required properties: · 3 unmodified lines
4- compatible : "nvidia,tegra20-i2s"4- compatible : "nvidia,tegra20-i2s"
5- reg : Should contain I2S registers location and length5- reg : Should contain I2S registers location and length
6- interrupts : Should contain I2S interrupt6- interrupts : Should contain I2S interrupt
7- nvidia,dma-request-selector : The Tegra DMA controller's phandle and7- resets : Must contain an entry for each entry in reset-names.
8 request selector for this I2S controller8 See ../reset/reset.txt for details.
9- reset-names : Must include the following entries:
10 - i2s
11- dmas : Must contain an entry for each entry in clock-names.
12 See ../dma/dma.txt for details.
13- dma-names : Must include the following entries:
14 - rx
15 - tx
16- clocks : Must contain one entry, for the module clock.
17 See ../clocks/clock-bindings.txt for details.
9 18
10Example:19Example:
11 20
@@ -13,5 +22,9 @@ i2s@70002800 { · 1 unmodified line
13 compatible = "nvidia,tegra20-i2s";22 compatible = "nvidia,tegra20-i2s";
14 reg = <0x70002800 0x200>;23 reg = <0x70002800 0x200>;
15 interrupts = < 45 >;24 interrupts = < 45 >;
16 nvidia,dma-request-selector = < &apbdma 2 >;25 clocks = <&tegra_car 11>;
26 resets = <&tegra_car 11>;
27 reset-names = "i2s";
28 dmas = <&apbdma 21>, <&apbdma 21>;
29 dma-names = "rx", "tx";
17};30};
Documentation/devicetree/bindings/sound/nvidia,tegra30-ahub.txt+50−13
@@ -7,18 +7,48 @@ Required properties: · 6 unmodified lines
7 - Tegra30 requires 2 entries, for the APBIF and AHUB/AUDIO register blocks.7 - Tegra30 requires 2 entries, for the APBIF and AHUB/AUDIO register blocks.
8 - Tegra114 requires an additional entry, for the APBIF2 register block.8 - Tegra114 requires an additional entry, for the APBIF2 register block.
9- interrupts : Should contain AHUB interrupt9- interrupts : Should contain AHUB interrupt
10- nvidia,dma-request-selector : A list of the DMA channel specifiers. Each10- clocks : Must contain an entry for each entry in clock-names.
11 entry contains the Tegra DMA controller's phandle and request selector.11 See ../clocks/clock-bindings.txt for details.
12 If a single entry is present, the request selectors for the channels are
13 assumed to be contiguous, and increment from this value.
14 If multiple values are given, one value must be given per channel.
15- clocks : Must contain an entry for each required entry in clock-names.
16- clock-names : Must include the following entries:12- clock-names : Must include the following entries:
17 - Tegra30: Requires d_audio, apbif, i2s0, i2s1, i2s2, i2s3, i2s4, dam0,13 - d_audio
18 dam1, dam2, spdif_in.14 - apbif
19 - Tegra114: Additionally requires amx, adx.15- resets : Must contain an entry for each entry in reset-names.
16 See ../reset/reset.txt for details.
17- reset-names : Must include the following entries:
18 Tegra30 and later:
19 - d_audio
20 - apbif
21 - i2s0
22 - i2s1
23 - i2s2
24 - i2s3
25 - i2s4
26 - dam0
27 - dam1
28 - dam2
29 - spdif
30 Tegra114 and later additionally require:
31 - amx
32 - adx
33 Tegra124 and later additionally require:
34 - amx1
35 - adx1
36 - afc0
37 - afc1
38 - afc2
39 - afc3
40 - afc4
41 - afc5
20- ranges : The bus address mapping for the configlink register bus.42- ranges : The bus address mapping for the configlink register bus.
21 Can be empty since the mapping is 1:1.43 Can be empty since the mapping is 1:1.
44- dmas : Must contain an entry for each entry in clock-names.
45 See ../dma/dma.txt for details.
46- dma-names : Must include the following entries:
47 - rx0 .. rx<n>
48 - tx0 .. tx<n>
49 ... where n is:
50 Tegra30: 3
51 Tegra114, Tegra124: 9
22- #address-cells : For the configlink bus. Should be <1>;52- #address-cells : For the configlink bus. Should be <1>;
23- #size-cells : For the configlink bus. Should be <1>.53- #size-cells : For the configlink bus. Should be <1>.
24 54
@@ -35,13 +65,20 @@ ahub@70080000 { · 10 unmodified lines
35 reg = <0x70080000 0x200 0x70080200 0x100>;65 reg = <0x70080000 0x200 0x70080200 0x100>;
36 interrupts = < 0 103 0x04 >;66 interrupts = < 0 103 0x04 >;
37 nvidia,dma-request-selector = <&apbdma 1>;67 nvidia,dma-request-selector = <&apbdma 1>;
38 clocks = <&tegra_car 106>, <&tegra_car 107>, <&tegra_car 30>,68 clocks = <&tegra_car 106>, <&tegra_car 107>;
69 clock-names = "d_audio", "apbif";
70 resets = <&tegra_car 106>, <&tegra_car 107>, <&tegra_car 30>,
39 <&tegra_car 11>, <&tegra_car 18>, <&tegra_car 101>,71 <&tegra_car 11>, <&tegra_car 18>, <&tegra_car 101>,
40 <&tegra_car 102>, <&tegra_car 108>, <&tegra_car 109>,72 <&tegra_car 102>, <&tegra_car 108>, <&tegra_car 109>,
41 <&tegra_car 110>, <&tegra_car 162>;73 <&tegra_car 110>, <&tegra_car 10>;
42 clock-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",74 reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
43 "i2s3", "i2s4", "dam0", "dam1", "dam2",75 "i2s3", "i2s4", "dam0", "dam1", "dam2",
44 "spdif_in";76 "spdif";
77 dmas = <&apbdma 1>, <&apbdma 1>;
78 <&apbdma 2>, <&apbdma 2>;
79 <&apbdma 3>, <&apbdma 3>;
80 <&apbdma 4>, <&apbdma 4>;
81 dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2", "rx3", "tx3";
45 ranges;82 ranges;
46 #address-cells = <1>;83 #address-cells = <1>;
47 #size-cells = <1>;84 #size-cells = <1>;
Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt+10−1
@@ -3,13 +3,22 @@ NVIDIA Tegra30 I2S controller · 2 unmodified lines
3Required properties:3Required properties:
4- compatible : "nvidia,tegra30-i2s"4- compatible : "nvidia,tegra30-i2s"
5- reg : Should contain I2S registers location and length5- reg : Should contain I2S registers location and length
6- clocks : Must contain one entry, for the module clock.
7 See ../clocks/clock-bindings.txt for details.
8- resets : Must contain an entry for each entry in reset-names.
9 See ../reset/reset.txt for details.
10- reset-names : Must include the following entries:
11 - i2s
6- nvidia,ahub-cif-ids : The list of AHUB CIF IDs for this port, rx (playback)12- nvidia,ahub-cif-ids : The list of AHUB CIF IDs for this port, rx (playback)
7 first, tx (capture) second. See nvidia,tegra30-ahub.txt for values.13 first, tx (capture) second. See nvidia,tegra30-ahub.txt for values.
8 14
9Example:15Example:
10 16
11i2s@70002800 {17i2s@70080300 {
12 compatible = "nvidia,tegra30-i2s";18 compatible = "nvidia,tegra30-i2s";
13 reg = <0x70080300 0x100>;19 reg = <0x70080300 0x100>;
14 nvidia,ahub-cif-ids = <4 4>;20 nvidia,ahub-cif-ids = <4 4>;
21 clocks = <&tegra_car 11>;
22 resets = <&tegra_car 11>;
23 reset-names = "i2s";
15};24};
Documentation/devicetree/bindings/sound/simple-card.txt+77−0
@@ -0,0 +1,77 @@
1Simple-Card:
2
3Simple-Card specifies audio DAI connection of SoC <-> codec.
4
5Required properties:
6
7- compatible : "simple-audio-card"
8
9Optional properties:
10
11- simple-audio-card,format : CPU/CODEC common audio format.
12 "i2s", "right_j", "left_j" , "dsp_a"
13 "dsp_b", "ac97", "pdm", "msb", "lsb"
14- simple-audio-card,routing : A list of the connections between audio components.
15 Each entry is a pair of strings, the first being the
16 connection's sink, the second being the connection's
17 source.
18
19Required subnodes:
20
21- simple-audio-card,cpu : CPU sub-node
22- simple-audio-card,codec : CODEC sub-node
23
24Required CPU/CODEC subnodes properties:
25
26- sound-dai : phandle and port of CPU/CODEC
27
28Optional CPU/CODEC subnodes properties:
29
30- format : CPU/CODEC specific audio format if needed.
31 see simple-audio-card,format
32- frame-master : bool property. add this if subnode is frame master
33- bitclock-master : bool property. add this if subnode is bitclock master
34- bitclock-inversion : bool property. add this if subnode has clock inversion
35- frame-inversion : bool property. add this if subnode has frame inversion
36- clocks / system-clock-frequency : specify subnode's clock if needed.
37 it can be specified via "clocks" if system has
38 clock node (= common clock), or "system-clock-frequency"
39 (if system doens't support common clock)
40
41Example:
42
43sound {
44 compatible = "simple-audio-card";
45 simple-audio-card,format = "left_j";
46 simple-audio-card,routing =
47 "MIC_IN", "Mic Jack",
48 "Headphone Jack", "HP_OUT",
49 "Ext Spk", "LINE_OUT";
50
51 simple-audio-card,cpu {
52 sound-dai = <&sh_fsi2 0>;
53 };
54
55 simple-audio-card,codec {
56 sound-dai = <&ak4648>;
57 bitclock-master;
58 frame-master;
59 clocks = <&osc>;
60 };
61};
62
63&i2c0 {
64 ak4648: ak4648@12 {
65 #sound-dai-cells = <0>;
66 compatible = "asahi-kasei,ak4648";
67 reg = <0x12>;
68 };
69};
70
71sh_fsi2: sh_fsi2@ec230000 {
72 #sound-dai-cells = <1>;
73 compatible = "renesas,sh_fsi2";
74 reg = <0xec230000 0x400>;
75 interrupt-parent = <&gic>;
76 interrupts = <0 146 0x4>;
77};
Documentation/devicetree/bindings/sound/tlv320aic3x.txt+1−0
@@ -6,6 +6,7 @@ Required properties: · 5 unmodified lines
6 6
7- compatible - "string" - One of:7- compatible - "string" - One of:
8 "ti,tlv320aic3x" - Generic TLV320AIC3x device8 "ti,tlv320aic3x" - Generic TLV320AIC3x device
9 "ti,tlv320aic32x4" - TLV320AIC32x4
9 "ti,tlv320aic33" - TLV320AIC3310 "ti,tlv320aic33" - TLV320AIC33
10 "ti,tlv320aic3007" - TLV320AIC300711 "ti,tlv320aic3007" - TLV320AIC3007
11 "ti,tlv320aic3106" - TLV320AIC310612 "ti,tlv320aic3106" - TLV320AIC3106
Documentation/devicetree/bindings/spi/nvidia,tegra114-spi.txt+19−5
@@ -4,10 +4,19 @@ Required properties: · 3 unmodified lines
4- compatible : should be "nvidia,tegra114-spi".4- compatible : should be "nvidia,tegra114-spi".
5- reg: Should contain SPI registers location and length.5- reg: Should contain SPI registers location and length.
6- interrupts: Should contain SPI interrupts.6- interrupts: Should contain SPI interrupts.
7- nvidia,dma-request-selector : The Tegra DMA controller's phandle and7- clock-names : Must include the following entries:
8 request selector for this SPI controller.8 - spi
9- This is also require clock named "spi" as per binding document9- resets : Must contain an entry for each entry in reset-names.
10 Documentation/devicetree/bindings/clock/clock-bindings.txt10 See ../reset/reset.txt for details.
11- reset-names : Must include the following entries:
12 - spi
13- dmas : Must contain an entry for each entry in clock-names.
14 See ../dma/dma.txt for details.
15- dma-names : Must include the following entries:
16 - rx
17 - tx
18- clocks : Must contain an entry for each entry in clock-names.
19 See ../clocks/clock-bindings.txt for details.
11 20
12Recommended properties:21Recommended properties:
13- spi-max-frequency: Definition as per22- spi-max-frequency: Definition as per
@@ -18,9 +27,14 @@ spi@7000d600 { · 4 unmodified lines
18 compatible = "nvidia,tegra114-spi";27 compatible = "nvidia,tegra114-spi";
19 reg = <0x7000d600 0x200>;28 reg = <0x7000d600 0x200>;
20 interrupts = <0 82 0x04>;29 interrupts = <0 82 0x04>;
21 nvidia,dma-request-selector = <&apbdma 16>;
22 spi-max-frequency = <25000000>;30 spi-max-frequency = <25000000>;
23 #address-cells = <1>;31 #address-cells = <1>;
24 #size-cells = <0>;32 #size-cells = <0>;
33 clocks = <&tegra_car 44>;
34 clock-names = "spi";
35 resets = <&tegra_car 44>;
36 reset-names = "spi";
37 dmas = <&apbdma 16>, <&apbdma 16>;
38 dma-names = "rx", "tx";
25 status = "disabled";39 status = "disabled";
26};40};
Documentation/devicetree/bindings/spi/nvidia,tegra20-sflash.txt+16−4
@@ -4,8 +4,17 @@ Required properties: · 3 unmodified lines
4- compatible : should be "nvidia,tegra20-sflash".4- compatible : should be "nvidia,tegra20-sflash".
5- reg: Should contain SFLASH registers location and length.5- reg: Should contain SFLASH registers location and length.
6- interrupts: Should contain SFLASH interrupts.6- interrupts: Should contain SFLASH interrupts.
7- nvidia,dma-request-selector : The Tegra DMA controller's phandle and7- clocks : Must contain one entry, for the module clock.
8 request selector for this SFLASH controller.8 See ../clocks/clock-bindings.txt for details.
9- resets : Must contain an entry for each entry in reset-names.
10 See ../reset/reset.txt for details.
11- reset-names : Must include the following entries:
12 - spi
13- dmas : Must contain an entry for each entry in clock-names.
14 See ../dma/dma.txt for details.
15- dma-names : Must include the following entries:
16 - rx
17 - tx
9 18
10Recommended properties:19Recommended properties:
11- spi-max-frequency: Definition as per20- spi-max-frequency: Definition as per
@@ -17,10 +26,13 @@ spi@7000c380 { · 5 unmodified lines
17 compatible = "nvidia,tegra20-sflash";26 compatible = "nvidia,tegra20-sflash";
18 reg = <0x7000c380 0x80>;27 reg = <0x7000c380 0x80>;
19 interrupts = <0 39 0x04>;28 interrupts = <0 39 0x04>;
20 nvidia,dma-request-selector = <&apbdma 16>;
21 spi-max-frequency = <25000000>;29 spi-max-frequency = <25000000>;
22 #address-cells = <1>;30 #address-cells = <1>;
23 #size-cells = <0>;31 #size-cells = <0>;
32 clocks = <&tegra_car 43>;
33 resets = <&tegra_car 43>;
34 reset-names = "spi";
35 dmas = <&apbdma 11>, <&apbdma 11>;
36 dma-names = "rx", "tx";
24 status = "disabled";37 status = "disabled";
25};38};
26
Documentation/devicetree/bindings/spi/nvidia,tegra20-slink.txt+16−4
@@ -4,8 +4,17 @@ Required properties: · 3 unmodified lines
4- compatible : should be "nvidia,tegra20-slink", "nvidia,tegra30-slink".4- compatible : should be "nvidia,tegra20-slink", "nvidia,tegra30-slink".
5- reg: Should contain SLINK registers location and length.5- reg: Should contain SLINK registers location and length.
6- interrupts: Should contain SLINK interrupts.6- interrupts: Should contain SLINK interrupts.
7- nvidia,dma-request-selector : The Tegra DMA controller's phandle and7- clocks : Must contain one entry, for the module clock.
8 request selector for this SLINK controller.8 See ../clocks/clock-bindings.txt for details.
9- resets : Must contain an entry for each entry in reset-names.
10 See ../reset/reset.txt for details.
11- reset-names : Must include the following entries:
12 - spi
13- dmas : Must contain an entry for each entry in clock-names.
14 See ../dma/dma.txt for details.
15- dma-names : Must include the following entries:
16 - rx
17 - tx
9 18
10Recommended properties:19Recommended properties:
11- spi-max-frequency: Definition as per20- spi-max-frequency: Definition as per
@@ -17,10 +26,13 @@ spi@7000d600 { · 5 unmodified lines
17 compatible = "nvidia,tegra20-slink";26 compatible = "nvidia,tegra20-slink";
18 reg = <0x7000d600 0x200>;27 reg = <0x7000d600 0x200>;
19 interrupts = <0 82 0x04>;28 interrupts = <0 82 0x04>;
20 nvidia,dma-request-selector = <&apbdma 16>;
21 spi-max-frequency = <25000000>;29 spi-max-frequency = <25000000>;
22 #address-cells = <1>;30 #address-cells = <1>;
23 #size-cells = <0>;31 #size-cells = <0>;
32 clocks = <&tegra_car 44>;
33 resets = <&tegra_car 44>;
34 reset-names = "spi";
35 dmas = <&apbdma 16>, <&apbdma 16>;
36 dma-names = "rx", "tx";
24 status = "disabled";37 status = "disabled";
25};38};
26
Documentation/devicetree/bindings/spi/spi-bus.txt+1−1
@@ -67,7 +67,7 @@ only 1(SINGLE), 2(DUAL) and 4(QUAD). · 66 unmodified lines
67Dual/Quad mode is not allowed when 3-wire mode is used.67Dual/Quad mode is not allowed when 3-wire mode is used.
68 68
69If a gpio chipselect is used for the SPI slave the gpio number will be passed69If a gpio chipselect is used for the SPI slave the gpio number will be passed
70via the cs_gpio70via the SPI master node cs-gpios property.
71 71
72SPI example for an MPC5200 SPI bus:72SPI example for an MPC5200 SPI bus:
73 spi@f00 {73 spi@f00 {
Documentation/devicetree/bindings/spi/ti_qspi.txt+7−1
@@ -3,6 +3,11 @@ TI QSPI controller. · 2 unmodified lines
3Required properties:3Required properties:
4- compatible : should be "ti,dra7xxx-qspi" or "ti,am4372-qspi".4- compatible : should be "ti,dra7xxx-qspi" or "ti,am4372-qspi".
5- reg: Should contain QSPI registers location and length.5- reg: Should contain QSPI registers location and length.
6- reg-names: Should contain the resource reg names.
7 - qspi_base: Qspi configuration register Address space
8 - qspi_mmap: Memory mapped Address space
9 - (optional) qspi_ctrlmod: Control module Address space
10- interrupts: should contain the qspi interrupt number.
6- #address-cells, #size-cells : Must be present if the device has sub-nodes11- #address-cells, #size-cells : Must be present if the device has sub-nodes
7- ti,hwmods: Name of the hwmod associated to the QSPI12- ti,hwmods: Name of the hwmod associated to the QSPI
8 13
@@ -14,7 +19,8 @@ Example: · 5 unmodified lines
14 19
15qspi: qspi@4b300000 {20qspi: qspi@4b300000 {
16 compatible = "ti,dra7xxx-qspi";21 compatible = "ti,dra7xxx-qspi";
17 reg = <0x4b300000 0x100>;22 reg = <0x47900000 0x100>, <0x30000000 0x3ffffff>;
23 reg-names = "qspi_base", "qspi_mmap";
18 #address-cells = <1>;24 #address-cells = <1>;
19 #size-cells = <0>;25 #size-cells = <0>;
20 spi-max-frequency = <25000000>;26 spi-max-frequency = <25000000>;
Documentation/devicetree/bindings/staging/dwc2.txt+0−15
@@ -1,15 +0,0 @@
1Platform DesignWare HS OTG USB 2.0 controller
2-----------------------------------------------------
3
4Required properties:
5- compatible : "snps,dwc2"
6- reg : Should contain 1 register range (address and length)
7- interrupts : Should contain 1 interrupt
8
9Example:
10
11 usb@101c0000 {
12 compatible = "ralink,rt3050-usb, snps,dwc2";
13 reg = <0x101c0000 40000>;
14 interrupts = <18>;
15 };
Documentation/devicetree/bindings/staging/xillybus.txt+20−0
@@ -0,0 +1,20 @@
1* Xillybus driver for generic FPGA interface
2
3Required properties:
4- compatible: Should be "xillybus,xillybus-1.00.a"
5- reg: Address and length of the register set for the device
6- interrupts: Contains one interrupt node, typically consisting of three cells.
7- interrupt-parent: the phandle for the interrupt controller that
8 services interrupts for this device.
9
10Optional properties:
11- dma-coherent: Present if DMA operations are coherent
12
13Example:
14
15 xillybus@ff200400 {
16 compatible = "xillybus,xillybus-1.00.a";
17 reg = < 0xff200400 0x00000080 >;
18 interrupts = < 0 40 1 >;
19 interrupt-parent = <&intc>;
20 } ;
Documentation/devicetree/bindings/submitting-patches.txt+38−0
@@ -0,0 +1,38 @@
1
2 Submitting devicetree (DT) binding patches
3
4I. For patch submitters
5
6 0) Normal patch submission rules from Documentation/SubmittingPatches
7 applies.
8
9 1) The Documentation/ portion of the patch should be a separate patch.
10
11 2) Submit the entire series to the devicetree mailinglist at
12
13 devicetree@vger.kernel.org
14
15II. For kernel maintainers
16
17 1) If you aren't comfortable reviewing a given binding, reply to it and ask
18 the devicetree maintainers for guidance. This will help them prioritize
19 which ones to review and which ones are ok to let go.
20
21 2) For driver (not subsystem) bindings: If you are comfortable with the
22 binding, and it hasn't received an Acked-by from the devicetree
23 maintainers after a few weeks, go ahead and take it.
24
25 Subsystem bindings (anything affecting more than a single device)
26 then getting a devicetree maintainer to review it is required.
27
28 3) For a series going though multiple trees, the binding patch should be
29 kept with the driver using the binding.
30
31III. Notes
32
33 0) Please see ...bindings/ABI.txt for details regarding devicetree ABI.
34
35 1) This document is intended as a general familiarization with the process as
36 decided at the 2013 Kernel Summit. When in doubt, the current word of the
37 devicetree maintainers overrules this document. In that situation, a patch
38 updating this document would be appreciated.
Documentation/devicetree/bindings/thermal/imx-thermal.txt+4−0
@@ -8,10 +8,14 @@ Required properties: · 7 unmodified lines
8 calibration data, e.g. OCOTP on imx6q. The details about calibration data8 calibration data, e.g. OCOTP on imx6q. The details about calibration data
9 can be found in SoC Reference Manual.9 can be found in SoC Reference Manual.
10 10
11Optional properties:
12- clocks : thermal sensor's clock source.
13
11Example:14Example:
12 15
13tempmon {16tempmon {
14 compatible = "fsl,imx6q-tempmon";17 compatible = "fsl,imx6q-tempmon";
15 fsl,tempmon = <&anatop>;18 fsl,tempmon = <&anatop>;
16 fsl,tempmon-data = <&ocotp>;19 fsl,tempmon-data = <&ocotp>;
20 clocks = <&clks 172>;
17};21};
Documentation/devicetree/bindings/thermal/thermal.txt+595−0
@@ -0,0 +1,595 @@
1* Thermal Framework Device Tree descriptor
2
3This file describes a generic binding to provide a way of
4defining hardware thermal structure using device tree.
5A thermal structure includes thermal zones and their components,
6such as trip points, polling intervals, sensors and cooling devices
7binding descriptors.
8
9The target of device tree thermal descriptors is to describe only
10the hardware thermal aspects. The thermal device tree bindings are
11not about how the system must control or which algorithm or policy
12must be taken in place.
13
14There are five types of nodes involved to describe thermal bindings:
15- thermal sensors: devices which may be used to take temperature
16 measurements.
17- cooling devices: devices which may be used to dissipate heat.
18- trip points: describe key temperatures at which cooling is recommended. The
19 set of points should be chosen based on hardware limits.
20- cooling maps: used to describe links between trip points and cooling devices;
21- thermal zones: used to describe thermal data within the hardware;
22
23The following is a description of each of these node types.
24
25* Thermal sensor devices
26
27Thermal sensor devices are nodes providing temperature sensing capabilities on
28thermal zones. Typical devices are I2C ADC converters and bandgaps. These are
29nodes providing temperature data to thermal zones. Thermal sensor devices may
30control one or more internal sensors.
31
32Required property:
33- #thermal-sensor-cells: Used to provide sensor device specific information
34 Type: unsigned while referring to it. Typically 0 on thermal sensor
35 Size: one cell nodes with only one sensor, and at least 1 on nodes
36 with several internal sensors, in order
37 to identify uniquely the sensor instances within
38 the IC. See thermal zone binding for more details
39 on how consumers refer to sensor devices.
40
41* Cooling device nodes
42
43Cooling devices are nodes providing control on power dissipation. There
44are essentially two ways to provide control on power dissipation. First
45is by means of regulating device performance, which is known as passive
46cooling. A typical passive cooling is a CPU that has dynamic voltage and
47frequency scaling (DVFS), and uses lower frequencies as cooling states.
48Second is by means of activating devices in order to remove
49the dissipated heat, which is known as active cooling, e.g. regulating
50fan speeds. In both cases, cooling devices shall have a way to determine
51the state of cooling in which the device is.
52
53Any cooling device has a range of cooling states (i.e. different levels
54of heat dissipation). For example a fan's cooling states correspond to
55the different fan speeds possible. Cooling states are referred to by
56single unsigned integers, where larger numbers mean greater heat
57dissipation. The precise set of cooling states associated with a device
58(as referred to be the cooling-min-state and cooling-max-state
59properties) should be defined in a particular device's binding.
60For more examples of cooling devices, refer to the example sections below.
61
62Required properties:
63- cooling-min-state: An integer indicating the smallest
64 Type: unsigned cooling state accepted. Typically 0.
65 Size: one cell
66
67- cooling-max-state: An integer indicating the largest
68 Type: unsigned cooling state accepted.
69 Size: one cell
70
71- #cooling-cells: Used to provide cooling device specific information
72 Type: unsigned while referring to it. Must be at least 2, in order
73 Size: one cell to specify minimum and maximum cooling state used
74 in the reference. The first cell is the minimum
75 cooling state requested and the second cell is
76 the maximum cooling state requested in the reference.
77 See Cooling device maps section below for more details
78 on how consumers refer to cooling devices.
79
80* Trip points
81
82The trip node is a node to describe a point in the temperature domain
83in which the system takes an action. This node describes just the point,
84not the action.
85
86Required properties:
87- temperature: An integer indicating the trip temperature level,
88 Type: signed in millicelsius.
89 Size: one cell
90
91- hysteresis: A low hysteresis value on temperature property (above).
92 Type: unsigned This is a relative value, in millicelsius.
93 Size: one cell
94
95- type: a string containing the trip type. Expected values are:
96 "active": A trip point to enable active cooling
97 "passive": A trip point to enable passive cooling
98 "hot": A trip point to notify emergency
99 "critical": Hardware not reliable.
100 Type: string
101
102* Cooling device maps
103
104The cooling device maps node is a node to describe how cooling devices
105get assigned to trip points of the zone. The cooling devices are expected
106to be loaded in the target system.
107
108Required properties:
109- cooling-device: A phandle of a cooling device with its specifier,
110 Type: phandle + referring to which cooling device is used in this
111 cooling specifier binding. In the cooling specifier, the first cell
112 is the minimum cooling state and the second cell
113 is the maximum cooling state used in this map.
114- trip: A phandle of a trip point node within the same thermal
115 Type: phandle of zone.
116 trip point node
117
118Optional property:
119- contribution: The cooling contribution to the thermal zone of the
120 Type: unsigned referred cooling device at the referred trip point.
121 Size: one cell The contribution is a ratio of the sum
122 of all cooling contributions within a thermal zone.
123
124Note: Using the THERMAL_NO_LIMIT (-1UL) constant in the cooling-device phandle
125limit specifier means:
126(i) - minimum state allowed for minimum cooling state used in the reference.
127(ii) - maximum state allowed for maximum cooling state used in the reference.
128Refer to include/dt-bindings/thermal/thermal.h for definition of this constant.
129
130* Thermal zone nodes
131
132The thermal zone node is the node containing all the required info
133for describing a thermal zone, including its cooling device bindings. The
134thermal zone node must contain, apart from its own properties, one sub-node
135containing trip nodes and one sub-node containing all the zone cooling maps.
136
137Required properties:
138- polling-delay: The maximum number of milliseconds to wait between polls
139 Type: unsigned when checking this thermal zone.
140 Size: one cell
141
142- polling-delay-passive: The maximum number of milliseconds to wait
143 Type: unsigned between polls when performing passive cooling.
144 Size: one cell
145
146- thermal-sensors: A list of thermal sensor phandles and sensor specifier
147 Type: list of used while monitoring the thermal zone.
148 phandles + sensor
149 specifier
150
151- trips: A sub-node which is a container of only trip point nodes
152 Type: sub-node required to describe the thermal zone.
153
154- cooling-maps: A sub-node which is a container of only cooling device
155 Type: sub-node map nodes, used to describe the relation between trips
156 and cooling devices.
157
158Optional property:
159- coefficients: An array of integers (one signed cell) containing
160 Type: array coefficients to compose a linear relation between
161 Elem size: one cell the sensors listed in the thermal-sensors property.
162 Elem type: signed Coefficients defaults to 1, in case this property
163 is not specified. A simple linear polynomial is used:
164 Z = c0 * x0 + c1 + x1 + ... + c(n-1) * x(n-1) + cn.
165
166 The coefficients are ordered and they match with sensors
167 by means of sensor ID. Additional coefficients are
168 interpreted as constant offset.
169
170Note: The delay properties are bound to the maximum dT/dt (temperature
171derivative over time) in two situations for a thermal zone:
172(i) - when passive cooling is activated (polling-delay-passive); and
173(ii) - when the zone just needs to be monitored (polling-delay) or
174when active cooling is activated.
175
176The maximum dT/dt is highly bound to hardware power consumption and dissipation
177capability. The delays should be chosen to account for said max dT/dt,
178such that a device does not cross several trip boundaries unexpectedly
179between polls. Choosing the right polling delays shall avoid having the
180device in temperature ranges that may damage the silicon structures and
181reduce silicon lifetime.
182
183* The thermal-zones node
184
185The "thermal-zones" node is a container for all thermal zone nodes. It shall
186contain only sub-nodes describing thermal zones as in the section
187"Thermal zone nodes". The "thermal-zones" node appears under "/".
188
189* Examples
190
191Below are several examples on how to use thermal data descriptors
192using device tree bindings:
193
194(a) - CPU thermal zone
195
196The CPU thermal zone example below describes how to setup one thermal zone
197using one single sensor as temperature source and many cooling devices and
198power dissipation control sources.
199
200#include <dt-bindings/thermal/thermal.h>
201
202cpus {
203 /*
204 * Here is an example of describing a cooling device for a DVFS
205 * capable CPU. The CPU node describes its four OPPs.
206 * The cooling states possible are 0..3, and they are
207 * used as OPP indexes. The minimum cooling state is 0, which means
208 * all four OPPs can be available to the system. The maximum
209 * cooling state is 3, which means only the lowest OPPs (198MHz@0.85V)
210 * can be available in the system.
211 */
212 cpu0: cpu@0 {
213 ...
214 operating-points = <
215 /* kHz uV */
216 970000 1200000
217 792000 1100000
218 396000 950000
219 198000 850000
220 >;
221 cooling-min-state = <0>;
222 cooling-max-state = <3>;
223 #cooling-cells = <2>; /* min followed by max */
224 };
225 ...
226};
227
228&i2c1 {
229 ...
230 /*
231 * A simple fan controller which supports 10 speeds of operation
232 * (represented as 0-9).
233 */
234 fan0: fan@0x48 {
235 ...
236 cooling-min-state = <0>;
237 cooling-max-state = <9>;
238 #cooling-cells = <2>; /* min followed by max */
239 };
240};
241
242ocp {
243 ...
244 /*
245 * A simple IC with a single bandgap temperature sensor.
246 */
247 bandgap0: bandgap@0x0000ED00 {
248 ...
249 #thermal-sensor-cells = <0>;
250 };
251};
252
253thermal-zones {
254 cpu-thermal: cpu-thermal {
255 polling-delay-passive = <250>; /* milliseconds */
256 polling-delay = <1000>; /* milliseconds */
257
258 thermal-sensors = <&bandgap0>;
259
260 trips {
261 cpu-alert0: cpu-alert {
262 temperature = <90000>; /* millicelsius */
263 hysteresis = <2000>; /* millicelsius */
264 type = "active";
265 };
266 cpu-alert1: cpu-alert {
267 temperature = <100000>; /* millicelsius */
268 hysteresis = <2000>; /* millicelsius */
269 type = "passive";
270 };
271 cpu-crit: cpu-crit {
272 temperature = <125000>; /* millicelsius */
273 hysteresis = <2000>; /* millicelsius */
274 type = "critical";
275 };
276 };
277
278 cooling-maps {
279 map0 {
280 trip = <&cpu-alert0>;
281 cooling-device = <&fan0 THERMAL_NO_LIMITS 4>;
282 };
283 map1 {
284 trip = <&cpu-alert1>;
285 cooling-device = <&fan0 5 THERMAL_NO_LIMITS>;
286 };
287 map2 {
288 trip = <&cpu-alert1>;
289 cooling-device =
290 <&cpu0 THERMAL_NO_LIMITS THERMAL_NO_LIMITS>;
291 };
292 };
293 };
294};
295
296In the example above, the ADC sensor (bandgap0) at address 0x0000ED00 is
297used to monitor the zone 'cpu-thermal' using its sole sensor. A fan
298device (fan0) is controlled via I2C bus 1, at address 0x48, and has ten
299different cooling states 0-9. It is used to remove the heat out of
300the thermal zone 'cpu-thermal' using its cooling states
301from its minimum to 4, when it reaches trip point 'cpu-alert0'
302at 90C, as an example of active cooling. The same cooling device is used at
303'cpu-alert1', but from 5 to its maximum state. The cpu@0 device is also
304linked to the same thermal zone, 'cpu-thermal', as a passive cooling device,
305using all its cooling states at trip point 'cpu-alert1',
306which is a trip point at 100C. On the thermal zone 'cpu-thermal', at the
307temperature of 125C, represented by the trip point 'cpu-crit', the silicon
308is not reliable anymore.
309
310(b) - IC with several internal sensors
311
312The example below describes how to deploy several thermal zones based off a
313single sensor IC, assuming it has several internal sensors. This is a common
314case on SoC designs with several internal IPs that may need different thermal
315requirements, and thus may have their own sensor to monitor or detect internal
316hotspots in their silicon.
317
318#include <dt-bindings/thermal/thermal.h>
319
320ocp {
321 ...
322 /*
323 * A simple IC with several bandgap temperature sensors.
324 */
325 bandgap0: bandgap@0x0000ED00 {
326 ...
327 #thermal-sensor-cells = <1>;
328 };
329};
330
331thermal-zones {
332 cpu-thermal: cpu-thermal {
333 polling-delay-passive = <250>; /* milliseconds */
334 polling-delay = <1000>; /* milliseconds */
335
336 /* sensor ID */
337 thermal-sensors = <&bandgap0 0>;
338
339 trips {
340 /* each zone within the SoC may have its own trips */
341 cpu-alert: cpu-alert {
342 temperature = <100000>; /* millicelsius */
343 hysteresis = <2000>; /* millicelsius */
344 type = "passive";
345 };
346 cpu-crit: cpu-crit {
347 temperature = <125000>; /* millicelsius */
348 hysteresis = <2000>; /* millicelsius */
349 type = "critical";
350 };
351 };
352
353 cooling-maps {
354 /* each zone within the SoC may have its own cooling */
355 ...
356 };
357 };
358
359 gpu-thermal: gpu-thermal {
360 polling-delay-passive = <120>; /* milliseconds */
361 polling-delay = <1000>; /* milliseconds */
362
363 /* sensor ID */
364 thermal-sensors = <&bandgap0 1>;
365
366 trips {
367 /* each zone within the SoC may have its own trips */
368 gpu-alert: gpu-alert {
369 temperature = <90000>; /* millicelsius */
370 hysteresis = <2000>; /* millicelsius */
371 type = "passive";
372 };
373 gpu-crit: gpu-crit {
374 temperature = <105000>; /* millicelsius */
375 hysteresis = <2000>; /* millicelsius */
376 type = "critical";
377 };
378 };
379
380 cooling-maps {
381 /* each zone within the SoC may have its own cooling */
382 ...
383 };
384 };
385
386 dsp-thermal: dsp-thermal {
387 polling-delay-passive = <50>; /* milliseconds */
388 polling-delay = <1000>; /* milliseconds */
389
390 /* sensor ID */
391 thermal-sensors = <&bandgap0 2>;
392
393 trips {
394 /* each zone within the SoC may have its own trips */
395 dsp-alert: gpu-alert {
396 temperature = <90000>; /* millicelsius */
397 hysteresis = <2000>; /* millicelsius */
398 type = "passive";
399 };
400 dsp-crit: gpu-crit {
401 temperature = <135000>; /* millicelsius */
402 hysteresis = <2000>; /* millicelsius */
403 type = "critical";
404 };
405 };
406
407 cooling-maps {
408 /* each zone within the SoC may have its own cooling */
409 ...
410 };
411 };
412};
413
414In the example above, there is one bandgap IC which has the capability to
415monitor three sensors. The hardware has been designed so that sensors are
416placed on different places in the DIE to monitor different temperature
417hotspots: one for CPU thermal zone, one for GPU thermal zone and the
418other to monitor a DSP thermal zone.
419
420Thus, there is a need to assign each sensor provided by the bandgap IC
421to different thermal zones. This is achieved by means of using the
422#thermal-sensor-cells property and using the first cell of the sensor
423specifier as sensor ID. In the example, then, <bandgap 0> is used to
424monitor CPU thermal zone, <bandgap 1> is used to monitor GPU thermal
425zone and <bandgap 2> is used to monitor DSP thermal zone. Each zone
426may be uncorrelated, having its own dT/dt requirements, trips
427and cooling maps.
428
429
430(c) - Several sensors within one single thermal zone
431
432The example below illustrates how to use more than one sensor within
433one thermal zone.
434
435#include <dt-bindings/thermal/thermal.h>
436
437&i2c1 {
438 ...
439 /*
440 * A simple IC with a single temperature sensor.
441 */
442 adc: sensor@0x49 {
443 ...
444 #thermal-sensor-cells = <0>;
445 };
446};
447
448ocp {
449 ...
450 /*
451 * A simple IC with a single bandgap temperature sensor.
452 */
453 bandgap0: bandgap@0x0000ED00 {
454 ...
455 #thermal-sensor-cells = <0>;
456 };
457};
458
459thermal-zones {
460 cpu-thermal: cpu-thermal {
461 polling-delay-passive = <250>; /* milliseconds */
462 polling-delay = <1000>; /* milliseconds */
463
464 thermal-sensors = <&bandgap0>, /* cpu */
465 <&adc>; /* pcb north */
466
467 /* hotspot = 100 * bandgap - 120 * adc + 484 */
468 coefficients = <100 -120 484>;
469
470 trips {
471 ...
472 };
473
474 cooling-maps {
475 ...
476 };
477 };
478};
479
480In some cases, there is a need to use more than one sensor to extrapolate
481a thermal hotspot in the silicon. The above example illustrates this situation.
482For instance, it may be the case that a sensor external to CPU IP may be placed
483close to CPU hotspot and together with internal CPU sensor, it is used
484to determine the hotspot. Assuming this is the case for the above example,
485the hypothetical extrapolation rule would be:
486 hotspot = 100 * bandgap - 120 * adc + 484
487
488In other context, the same idea can be used to add fixed offset. For instance,
489consider the hotspot extrapolation rule below:
490 hotspot = 1 * adc + 6000
491
492In the above equation, the hotspot is always 6C higher than what is read
493from the ADC sensor. The binding would be then:
494 thermal-sensors = <&adc>;
495
496 /* hotspot = 1 * adc + 6000 */
497 coefficients = <1 6000>;
498
499(d) - Board thermal
500
501The board thermal example below illustrates how to setup one thermal zone
502with many sensors and many cooling devices.
503
504#include <dt-bindings/thermal/thermal.h>
505
506&i2c1 {
507 ...
508 /*
509 * An IC with several temperature sensor.
510 */
511 adc-dummy: sensor@0x50 {
512 ...
513 #thermal-sensor-cells = <1>; /* sensor internal ID */
514 };
515};
516
517thermal-zones {
518 batt-thermal {
519 polling-delay-passive = <500>; /* milliseconds */
520 polling-delay = <2500>; /* milliseconds */
521
522 /* sensor ID */
523 thermal-sensors = <&adc-dummy 4>;
524
525 trips {
526 ...
527 };
528
529 cooling-maps {
530 ...
531 };
532 };
533
534 board-thermal: board-thermal {
535 polling-delay-passive = <1000>; /* milliseconds */
536 polling-delay = <2500>; /* milliseconds */
537
538 /* sensor ID */
539 thermal-sensors = <&adc-dummy 0>, /* pcb top edge */
540 <&adc-dummy 1>, /* lcd */
541 <&adc-dymmy 2>; /* back cover */
542 /*
543 * An array of coefficients describing the sensor
544 * linear relation. E.g.:
545 * z = c1*x1 + c2*x2 + c3*x3
546 */
547 coefficients = <1200 -345 890>;
548
549 trips {
550 /* Trips are based on resulting linear equation */
551 cpu-trip: cpu-trip {
552 temperature = <60000>; /* millicelsius */
553 hysteresis = <2000>; /* millicelsius */
554 type = "passive";
555 };
556 gpu-trip: gpu-trip {
557 temperature = <55000>; /* millicelsius */
558 hysteresis = <2000>; /* millicelsius */
559 type = "passive";
560 }
561 lcd-trip: lcp-trip {
562 temperature = <53000>; /* millicelsius */
563 hysteresis = <2000>; /* millicelsius */
564 type = "passive";
565 };
566 crit-trip: crit-trip {
567 temperature = <68000>; /* millicelsius */
568 hysteresis = <2000>; /* millicelsius */
569 type = "critical";
570 };
571 };
572
573 cooling-maps {
574 map0 {
575 trip = <&cpu-trip>;
576 cooling-device = <&cpu0 0 2>;
577 contribution = <55>;
578 };
579 map1 {
580 trip = <&gpu-trip>;
581 cooling-device = <&gpu0 0 2>;
582 contribution = <20>;
583 };
584 map2 {
585 trip = <&lcd-trip>;
586 cooling-device = <&lcd0 5 10>;
587 contribution = <15>;
588 };
589 };
590 };
591};
592
593The above example is a mix of previous examples, a sensor IP with several internal
594sensors used to monitor different zones, one of them is composed by several sensors and
595with different cooling devices.
Documentation/devicetree/bindings/timer/nvidia,tegra20-timer.txt+3−0
@@ -8,6 +8,8 @@ Required properties: · 7 unmodified lines
8- compatible : should be "nvidia,tegra20-timer".8- compatible : should be "nvidia,tegra20-timer".
9- reg : Specifies base physical address and size of the registers.9- reg : Specifies base physical address and size of the registers.
10- interrupts : A list of 4 interrupts; one per timer channel.10- interrupts : A list of 4 interrupts; one per timer channel.
11- clocks : Must contain one entry, for the module clock.
12 See ../clocks/clock-bindings.txt for details.
11 13
12Example:14Example:
13 15
@@ -18,4 +20,5 @@ timer { · 4 unmodified lines
18 0 1 0x0420 0 1 0x04
19 0 41 0x0421 0 41 0x04
20 0 42 0x04>;22 0 42 0x04>;
23 clocks = <&tegra_car 132>;
21};24};
Documentation/devicetree/bindings/timer/nvidia,tegra30-timer.txt+3−0
@@ -10,6 +10,8 @@ Required properties: · 9 unmodified lines
10- reg : Specifies base physical address and size of the registers.10- reg : Specifies base physical address and size of the registers.
11- interrupts : A list of 6 interrupts; one per each of timer channels 111- interrupts : A list of 6 interrupts; one per each of timer channels 1
12 through 5, and one for the shared interrupt for the remaining channels.12 through 5, and one for the shared interrupt for the remaining channels.
13- clocks : Must contain one entry, for the module clock.
14 See ../clocks/clock-bindings.txt for details.
13 15
14timer {16timer {
15 compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";17 compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
@@ -20,4 +22,5 @@ timer { · 4 unmodified lines
20 0 42 0x0422 0 42 0x04
21 0 121 0x0423 0 121 0x04
22 0 122 0x04>;24 0 122 0x04>;
25 clocks = <&tegra_car 214>;
23};26};
Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt+37−17
@@ -31,38 +31,58 @@ Required properties: · 30 unmodified lines
31 7: ..31 7: ..
32 i: Local Timer Interrupt n32 i: Local Timer Interrupt n
33 33
34Example 1: In this example, the system uses only the first global timer34 For MCT block that uses a per-processor interrupt for local timers, such
35 interrupt generated by MCT and the remaining three global timer35 as ones compatible with "samsung,exynos4412-mct", only one local timer
36 interrupts are unused. Two local timer interrupts have been36 interrupt might be specified, meaning that all local timers use the same
37 specified.37 per processor interrupt.
38
39Example 1: In this example, the IP contains two local timers, using separate
40 interrupts, so two local timer interrupts have been specified,
41 in addition to four global timer interrupts.
38 42
39 mct@10050000 {43 mct@10050000 {
40 compatible = "samsung,exynos4210-mct";44 compatible = "samsung,exynos4210-mct";
41 reg = <0x10050000 0x800>;45 reg = <0x10050000 0x800>;
42 interrupts = <0 57 0>, <0 0 0>, <0 0 0>, <0 0 0>,46 interrupts = <0 57 0>, <0 69 0>, <0 70 0>, <0 71 0>,
43 <0 42 0>, <0 48 0>;47 <0 42 0>, <0 48 0>;
44 };48 };
45 49
46Example 2: In this example, the MCT global and local timer interrupts are50Example 2: In this example, the timer interrupts are connected to two separate
47 connected to two separate interrupt controllers. Hence, an51 interrupt controllers. Hence, an interrupt-map is created to map
48 interrupt-map is created to map the interrupts to the respective52 the interrupts to the respective interrupt controllers.
49 interrupt controllers.
50 53
51 mct@101C0000 {54 mct@101C0000 {
52 compatible = "samsung,exynos4210-mct";55 compatible = "samsung,exynos4210-mct";
53 reg = <0x101C0000 0x800>;56 reg = <0x101C0000 0x800>;
54 interrupt-controller;
55 #interrups-cells = <2>;
56 interrupt-parent = <&mct_map>;57 interrupt-parent = <&mct_map>;
57 interrupts = <0 0>, <1 0>, <2 0>, <3 0>,58 interrupts = <0>, <1>, <2>, <3>, <4>, <5>;
58 <4 0>, <5 0>;
59 59
60 mct_map: mct-map {60 mct_map: mct-map {
61 #interrupt-cells = <2>;61 #interrupt-cells = <1>;
62 #address-cells = <0>;62 #address-cells = <0>;
63 #size-cells = <0>;63 #size-cells = <0>;
64 interrupt-map = <0x0 0 &combiner 23 3>,64 interrupt-map = <0 &gic 0 57 0>,
65 <0x4 0 &gic 0 120 0>,65 <1 &gic 0 69 0>,
66 <0x5 0 &gic 0 121 0>;66 <2 &combiner 12 6>,
67 <3 &combiner 12 7>,
68 <4 &gic 0 42 0>,
69 <5 &gic 0 48 0>;
67 };70 };
68 };71 };
72
73Example 3: In this example, the IP contains four local timers, but using
74 a per-processor interrupt to handle them. Either all the local
75 timer interrupts can be specified, with the same interrupt specifier
76 value or just the first one.
77
78 mct@10050000 {
79 compatible = "samsung,exynos4412-mct";
80 reg = <0x10050000 0x800>;
81
82 /* Both ways are possible in this case. Either: */
83 interrupts = <0 57 0>, <0 69 0>, <0 70 0>, <0 71 0>,
84 <0 42 0>;
85 /* or: */
86 interrupts = <0 57 0>, <0 69 0>, <0 70 0>, <0 71 0>,
87 <0 42 0>, <0 42 0>, <0 42 0>, <0 42 0>;
88 };
Documentation/devicetree/bindings/usb/ci-hdrc-imx.txtrenamed from Documentation/devicetree/bindings/usb/ci13xxx-imx.txt+0−0

File renamed without changes.

Documentation/devicetree/bindings/usb/dwc2.txt+29−0
@@ -0,0 +1,29 @@
1Platform DesignWare HS OTG USB 2.0 controller
2-----------------------------------------------------
3
4Required properties:
5- compatible : One of:
6 - brcm,bcm2835-usb: The DWC2 USB controller instance in the BCM2835 SoC.
7 - snps,dwc2: A generic DWC2 USB controller with default parameters.
8- reg : Should contain 1 register range (address and length)
9- interrupts : Should contain 1 interrupt
10- clocks: clock provider specifier
11- clock-names: shall be "otg"
12Refer to clk/clock-bindings.txt for generic clock consumer properties
13
14Optional properties:
15- phys: phy provider specifier
16- phy-names: shall be "device"
17Refer to phy/phy-bindings.txt for generic phy consumer properties
18
19Example:
20
21 usb@101c0000 {
22 compatible = "ralink,rt3050-usb, snps,dwc2";
23 reg = <0x101c0000 40000>;
24 interrupts = <18>;
25 clocks = <&usb_otg_ahb_clk>;
26 clock-names = "otg";
27 phys = <&usbphy>;
28 phy-names = "usb2-phy";
29 };
Documentation/devicetree/bindings/usb/gr-udc.txt+28−0
@@ -0,0 +1,28 @@
1USB Peripheral Controller driver for Aeroflex Gaisler GRUSBDC.
2
3The GRUSBDC USB Device Controller core is available in the GRLIB VHDL
4IP core library.
5
6Note: In the ordinary environment for the core, a Leon SPARC system,
7these properties are built from information in the AMBA plug&play.
8
9Required properties:
10
11- name : Should be "GAISLER_USBDC" or "01_021"
12
13- reg : Address and length of the register set for the device
14
15- interrupts : Interrupt numbers for this device
16
17Optional properties:
18
19- epobufsizes : An array of buffer sizes for OUT endpoints. If the property is
20 not present, or for endpoints outside of the array, 1024 is assumed by
21 the driver.
22
23- epibufsizes : An array of buffer sizes for IN endpoints. If the property is
24 not present, or for endpoints outside of the array, 1024 is assumed by
25 the driver.
26
27For further information look in the documentation for the GLIB IP core library:
28http://www.gaisler.com/products/grlib/grip.pdf
Documentation/devicetree/bindings/usb/keystone-phy.txt+20−0
@@ -0,0 +1,20 @@
1TI Keystone USB PHY
2
3Required properties:
4 - compatible: should be "ti,keystone-usbphy".
5 - #address-cells, #size-cells : should be '1' if the device has sub-nodes
6 with 'reg' property.
7 - reg : Address and length of the usb phy control register set.
8
9The main purpose of this PHY driver is to enable the USB PHY reference clock
10gate on the Keystone SOC for both the USB2 and USB3 PHY. Otherwise it is just
11an NOP PHY driver. Hence this node is referenced as both the usb2 and usb3
12phy node in the USB Glue layer driver node.
13
14usb_phy: usb_phy@2620738 {
15 compatible = "ti,keystone-usbphy";
16 #address-cells = <1>;
17 #size-cells = <1>;
18 reg = <0x2620738 32>;
19 status = "disabled";
20};
Documentation/devicetree/bindings/usb/keystone-usb.txt+42−0
@@ -0,0 +1,42 @@
1TI Keystone Soc USB Controller
2
3DWC3 GLUE
4
5Required properties:
6 - compatible: should be "ti,keystone-dwc3".
7 - #address-cells, #size-cells : should be '1' if the device has sub-nodes
8 with 'reg' property.
9 - reg : Address and length of the register set for the USB subsystem on
10 the SOC.
11 - interrupts : The irq number of this device that is used to interrupt the
12 MPU.
13 - ranges: allows valid 1:1 translation between child's address space and
14 parent's address space.
15 - clocks: Clock IDs array as required by the controller.
16 - clock-names: names of clocks correseponding to IDs in the clock property.
17
18Sub-nodes:
19The dwc3 core should be added as subnode to Keystone DWC3 glue.
20- dwc3 :
21 The binding details of dwc3 can be found in:
22 Documentation/devicetree/bindings/usb/dwc3.txt
23
24Example:
25 usb: usb@2680000 {
26 compatible = "ti,keystone-dwc3";
27 #address-cells = <1>;
28 #size-cells = <1>;
29 reg = <0x2680000 0x10000>;
30 clocks = <&clkusb>;
31 clock-names = "usb";
32 interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
33 ranges;
34 status = "disabled";
35
36 dwc3@2690000 {
37 compatible = "synopsys,dwc3";
38 reg = <0x2690000 0x70000>;
39 interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
40 usb-phy = <&usb_phy>, <&usb_phy>;
41 };
42 };
Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt+6−1
@@ -8,7 +8,12 @@ and additions : · 7 unmodified lines
8Required properties :8Required properties :
9 - compatible : Should be "nvidia,tegra20-ehci".9 - compatible : Should be "nvidia,tegra20-ehci".
10 - nvidia,phy : phandle of the PHY that the controller is connected to.10 - nvidia,phy : phandle of the PHY that the controller is connected to.
11 - clocks : Contains a single entry which defines the USB controller's clock.11 - clocks : Must contain one entry, for the module clock.
12 See ../clocks/clock-bindings.txt for details.
13 - resets : Must contain an entry for each entry in reset-names.
14 See ../reset/reset.txt for details.
15 - reset-names : Must include the following entries:
16 - usb
12 17
13Optional properties:18Optional properties:
14 - nvidia,needs-double-reset : boolean is to be set for some of the Tegra2019 - nvidia,needs-double-reset : boolean is to be set for some of the Tegra20
Documentation/devicetree/bindings/usb/omap-usb.txt+2−0
@@ -87,6 +87,8 @@ Required properties: · 86 unmodified lines
87 e.g. USB3 PHY and SATA PHY on OMAP5.87 e.g. USB3 PHY and SATA PHY on OMAP5.
88 "ti,control-phy-dra7usb2" - if it has power down register like USB2 PHY on88 "ti,control-phy-dra7usb2" - if it has power down register like USB2 PHY on
89 DRA7 platform.89 DRA7 platform.
90 "ti,control-phy-am437usb2" - if it has power down register like USB2 PHY on
91 AM437 platform.
90 - reg : Address and length of the register set for the device. It contains92 - reg : Address and length of the register set for the device. It contains
91 the address of "otghs_control" for control-phy-otghs or "power" register93 the address of "otghs_control" for control-phy-otghs or "power" register
92 for other types.94 for other types.
Documentation/devicetree/bindings/vendor-prefixes.txt+10−0
@@ -3,12 +3,14 @@ Device tree binding vendor prefix registry. Keep list in alphabetical order. · 2 unmodified lines
3This isn't an exhaustive list, but you should add new prefixes to it before3This isn't an exhaustive list, but you should add new prefixes to it before
4using them to avoid name-space collisions.4using them to avoid name-space collisions.
5 5
6active-semi Active-Semi International Inc
6ad Avionic Design GmbH7ad Avionic Design GmbH
7adi Analog Devices, Inc.8adi Analog Devices, Inc.
8aeroflexgaisler Aeroflex Gaisler AB9aeroflexgaisler Aeroflex Gaisler AB
9ak Asahi Kasei Corp.10ak Asahi Kasei Corp.
10altr Altera Corp.11altr Altera Corp.
11amcc Applied Micro Circuits Corporation (APM, formally AMCC)12amcc Applied Micro Circuits Corporation (APM, formally AMCC)
13amstaos AMS-Taos Inc.
12apm Applied Micro Circuits Corporation (APM)14apm Applied Micro Circuits Corporation (APM)
13arm ARM Ltd.15arm ARM Ltd.
14atmel Atmel Corporation16atmel Atmel Corporation
@@ -26,19 +28,25 @@ cortina Cortina Systems, Inc. · 11 unmodified lines
26dallas Maxim Integrated Products (formerly Dallas Semiconductor)28dallas Maxim Integrated Products (formerly Dallas Semiconductor)
27davicom DAVICOM Semiconductor, Inc.29davicom DAVICOM Semiconductor, Inc.
28denx Denx Software Engineering30denx Denx Software Engineering
31edt Emerging Display Technologies
29emmicro EM Microelectronic32emmicro EM Microelectronic
33epfl Ecole Polytechnique Fédérale de Lausanne
30epson Seiko Epson Corp.34epson Seiko Epson Corp.
31est ESTeem Wireless Modems35est ESTeem Wireless Modems
32fsl Freescale Semiconductor36fsl Freescale Semiconductor
33GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc.37GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc.
34gef GE Fanuc Intelligent Platforms Embedded Systems, Inc.38gef GE Fanuc Intelligent Platforms Embedded Systems, Inc.
35gmt Global Mixed-mode Technology, Inc.39gmt Global Mixed-mode Technology, Inc.
40gumstix Gumstix, Inc.
41haoyu Haoyu Microelectronic Co. Ltd.
36hisilicon Hisilicon Limited.42hisilicon Hisilicon Limited.
37hp Hewlett Packard43hp Hewlett Packard
38ibm International Business Machines (IBM)44ibm International Business Machines (IBM)
39idt Integrated Device Technologies, Inc.45idt Integrated Device Technologies, Inc.
40img Imagination Technologies Ltd.46img Imagination Technologies Ltd.
41intercontrol Inter Control Group47intercontrol Inter Control Group
48isl Intersil
49karo Ka-Ro electronics GmbH
42lg LG Corporation50lg LG Corporation
43linux Linux-specific binding51linux Linux-specific binding
44lsi LSI Corp. (LSI Logic)52lsi LSI Corp. (LSI Logic)
@@ -61,6 +69,7 @@ ralink Mediatek/Ralink Technology Corp. · 16 unmodified lines
61ramtron Ramtron International69ramtron Ramtron International
62realtek Realtek Semiconductor Corp.70realtek Realtek Semiconductor Corp.
63renesas Renesas Electronics Corporation71renesas Renesas Electronics Corporation
72rockchip Fuzhou Rockchip Electronics Co., Ltd
64samsung Samsung Semiconductor73samsung Samsung Semiconductor
65sbs Smart Battery System74sbs Smart Battery System
66schindler Schindler75schindler Schindler
@@ -73,6 +82,7 @@ st STMicroelectronics · 6 unmodified lines
73ste ST-Ericsson82ste ST-Ericsson
74stericsson ST-Ericsson83stericsson ST-Ericsson
75ti Texas Instruments84ti Texas Instruments
85tlm Trusted Logic Mobility
76toshiba Toshiba Corporation86toshiba Toshiba Corporation
77toumaz Toumaz87toumaz Toumaz
78v3 V3 Semiconductor88v3 V3 Semiconductor
Documentation/devicetree/bindings/video/ssd1289fb.txt+13−0
@@ -0,0 +1,13 @@
1* Solomon SSD1289 Framebuffer Driver
2
3Required properties:
4 - compatible: Should be "solomon,ssd1289fb". The only supported bus for
5 now is lbc.
6 - reg: Should contain address of the controller on the LBC bus. The detail
7 was described in Documentation/devicetree/bindings/powerpc/fsl/lbc.txt
8
9Examples:
10display@2,0 {
11 compatible = "solomon,ssd1289fb";
12 reg = <0x2 0x0000 0x0004>;
13};
Documentation/devicetree/bindings/watchdog/atmel-wdt.txt+28−2
@@ -9,11 +9,37 @@ Required properties: · 8 unmodified lines
9 9
10Optional properties:10Optional properties:
11- timeout-sec: contains the watchdog timeout in seconds.11- timeout-sec: contains the watchdog timeout in seconds.
12- interrupts : Should contain WDT interrupt.
13- atmel,max-heartbeat-sec : Should contain the maximum heartbeat value in
14 seconds. This value should be less or equal to 16. It is used to
15 compute the WDV field.
16- atmel,min-heartbeat-sec : Should contain the minimum heartbeat value in
17 seconds. This value must be smaller than the max-heartbeat-sec value.
18 It is used to compute the WDD field.
19- atmel,watchdog-type : Should be "hardware" or "software". Hardware watchdog
20 use the at91 watchdog reset. Software watchdog use the watchdog
21 interrupt to trigger a software reset.
22- atmel,reset-type : Should be "proc" or "all".
23 "all" : assert peripherals and processor reset signals
24 "proc" : assert the processor reset signal
25 This is valid only when using "hardware" watchdog.
26- atmel,disable : Should be present if you want to disable the watchdog.
27- atmel,idle-halt : Should be present if you want to stop the watchdog when
28 entering idle state.
29- atmel,dbg-halt : Should be present if you want to stop the watchdog when
30 entering debug state.
12 31
13Example:32Example:
14
15 watchdog@fffffd40 {33 watchdog@fffffd40 {
16 compatible = "atmel,at91sam9260-wdt";34 compatible = "atmel,at91sam9260-wdt";
17 reg = <0xfffffd40 0x10>;35 reg = <0xfffffd40 0x10>;
18 timeout-sec = <10>;36 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
37 timeout-sec = <15>;
38 atmel,watchdog-type = "hardware";
39 atmel,reset-type = "all";
40 atmel,dbg-halt;
41 atmel,idle-halt;
42 atmel,max-heartbeat-sec = <16>;
43 atmel,min-heartbeat-sec = <0>;
44 status = "okay";
19 };45 };
Documentation/devicetree/bindings/watchdog/davinci-wdt.txt+14−2
@@ -1,12 +1,24 @@
1DaVinci Watchdog Timer (WDT) Controller1Texas Instruments DaVinci/Keystone Watchdog Timer (WDT) Controller
2 2
3Required properties:3Required properties:
4- compatible : Should be "ti,davinci-wdt"4- compatible : Should be "ti,davinci-wdt", "ti,keystone-wdt"
5- reg : Should contain WDT registers location and length5- reg : Should contain WDT registers location and length
6 6
7Optional properties:
8- timeout-sec : Contains the watchdog timeout in seconds
9- clocks : the clock feeding the watchdog timer.
10 Needed if platform uses clocks.
11 See clock-bindings.txt
12
13Documentation:
14Davinci DM646x - http://www.ti.com/lit/ug/spruer5b/spruer5b.pdf
15Keystone - http://www.ti.com/lit/ug/sprugv5a/sprugv5a.pdf
16
7Examples:17Examples:
8 18
9wdt: wdt@2320000 {19wdt: wdt@2320000 {
10 compatible = "ti,davinci-wdt";20 compatible = "ti,davinci-wdt";
11 reg = <0x02320000 0x80>;21 reg = <0x02320000 0x80>;
22 timeout-sec = <30>;
23 clocks = <&clkwdtimer0>;
12};24};
Documentation/devicetree/bindings/watchdog/gpio-wdt.txt+23−0
@@ -0,0 +1,23 @@
1* GPIO-controlled Watchdog
2
3Required Properties:
4- compatible: Should contain "linux,wdt-gpio".
5- gpios: From common gpio binding; gpio connection to WDT reset pin.
6- hw_algo: The algorithm used by the driver. Should be one of the
7 following values:
8 - toggle: Either a high-to-low or a low-to-high transition clears
9 the WDT counter. The watchdog timer is disabled when GPIO is
10 left floating or connected to a three-state buffer.
11 - level: Low or high level starts counting WDT timeout,
12 the opposite level disables the WDT. Active level is determined
13 by the GPIO flags.
14- hw_margin_ms: Maximum time to reset watchdog circuit (milliseconds).
15
16Example:
17 watchdog: watchdog {
18 /* ADM706 */
19 compatible = "linux,wdt-gpio";
20 gpios = <&gpio3 9 GPIO_ACTIVE_LOW>;
21 hw_algo = "toggle";
22 hw_margin_ms = <1600>;
23 };
Documentation/devicetree/bindings/watchdog/samsung-wdt.txt+20−1
@@ -5,10 +5,29 @@ after a preset amount of time during which the WDT reset event has not · 4 unmodified lines
5occurred.5occurred.
6 6
7Required properties:7Required properties:
8- compatible : should be "samsung,s3c2410-wdt"8- compatible : should be one among the following
9 (a) "samsung,s3c2410-wdt" for Exynos4 and previous SoCs
10 (b) "samsung,exynos5250-wdt" for Exynos5250
11 (c) "samsung,exynos5420-wdt" for Exynos5420
12
9- reg : base physical address of the controller and length of memory mapped13- reg : base physical address of the controller and length of memory mapped
10 region.14 region.
11- interrupts : interrupt number to the cpu.15- interrupts : interrupt number to the cpu.
16- samsung,syscon-phandle : reference to syscon node (This property required only
17 in case of compatible being "samsung,exynos5250-wdt" or "samsung,exynos5420-wdt".
18 In case of Exynos5250 and 5420 this property points to syscon node holding the PMU
19 base address)
12 20
13Optional properties:21Optional properties:
14- timeout-sec : contains the watchdog timeout in seconds.22- timeout-sec : contains the watchdog timeout in seconds.
23
24Example:
25
26watchdog@101D0000 {
27 compatible = "samsung,exynos5250-wdt";
28 reg = <0x101D0000 0x100>;
29 interrupts = <0 42 0>;
30 clocks = <&clock 336>;
31 clock-names = "watchdog";
32 samsung,syscon-phandle = <&pmu_syscon>;
33};
Documentation/devicetree/booting-without-of.txt+0−3
@@ -1364,19 +1364,16 @@ Appendix A - Sample SOC node for MPC8540 · 1363 unmodified lines
1364 phy0: ethernet-phy@0 {1364 phy0: ethernet-phy@0 {
1365 interrupts = <5 1>;1365 interrupts = <5 1>;
1366 reg = <0>;1366 reg = <0>;
1367 device_type = "ethernet-phy";
1368 };1367 };
1369 1368
1370 phy1: ethernet-phy@1 {1369 phy1: ethernet-phy@1 {
1371 interrupts = <5 1>;1370 interrupts = <5 1>;
1372 reg = <1>;1371 reg = <1>;
1373 device_type = "ethernet-phy";
1374 };1372 };
1375 1373
1376 phy3: ethernet-phy@3 {1374 phy3: ethernet-phy@3 {
1377 interrupts = <7 1>;1375 interrupts = <7 1>;
1378 reg = <3>;1376 reg = <3>;
1379 device_type = "ethernet-phy";
1380 };1377 };
1381 };1378 };
1382 };1379 };
Documentation/driver-model/design-patterns.txt+116−0
@@ -0,0 +1,116 @@
1
2Device Driver Design Patterns
3~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4
5This document describes a few common design patterns found in device drivers.
6It is likely that subsystem maintainers will ask driver developers to
7conform to these design patterns.
8
91. State Container
102. container_of()
11
12
131. State Container
14~~~~~~~~~~~~~~~~~~
15
16While the kernel contains a few device drivers that assume that they will
17only be probed() once on a certain system (singletons), it is custom to assume
18that the device the driver binds to will appear in several instances. This
19means that the probe() function and all callbacks need to be reentrant.
20
21The most common way to achieve this is to use the state container design
22pattern. It usually has this form:
23
24struct foo {
25 spinlock_t lock; /* Example member */
26 (...)
27};
28
29static int foo_probe(...)
30{
31 struct foo *foo;
32
33 foo = devm_kzalloc(dev, sizeof(*foo), GFP_KERNEL);
34 if (!foo)
35 return -ENOMEM;
36 spin_lock_init(&foo->lock);
37 (...)
38}
39
40This will create an instance of struct foo in memory every time probe() is
41called. This is our state container for this instance of the device driver.
42Of course it is then necessary to always pass this instance of the
43state around to all functions that need access to the state and its members.
44
45For example, if the driver is registering an interrupt handler, you would
46pass around a pointer to struct foo like this:
47
48static irqreturn_t foo_handler(int irq, void *arg)
49{
50 struct foo *foo = arg;
51 (...)
52}
53
54static int foo_probe(...)
55{
56 struct foo *foo;
57
58 (...)
59 ret = request_irq(irq, foo_handler, 0, "foo", foo);
60}
61
62This way you always get a pointer back to the correct instance of foo in
63your interrupt handler.
64
65
662. container_of()
67~~~~~~~~~~~~~~~~~
68
69Continuing on the above example we add an offloaded work:
70
71struct foo {
72 spinlock_t lock;
73 struct workqueue_struct *wq;
74 struct work_struct offload;
75 (...)
76};
77
78static void foo_work(struct work_struct *work)
79{
80 struct foo *foo = container_of(work, struct foo, offload);
81
82 (...)
83}
84
85static irqreturn_t foo_handler(int irq, void *arg)
86{
87 struct foo *foo = arg;
88
89 queue_work(foo->wq, &foo->offload);
90 (...)
91}
92
93static int foo_probe(...)
94{
95 struct foo *foo;
96
97 foo->wq = create_singlethread_workqueue("foo-wq");
98 INIT_WORK(&foo->offload, foo_work);
99 (...)
100}
101
102The design pattern is the same for an hrtimer or something similar that will
103return a single argument which is a pointer to a struct member in the
104callback.
105
106container_of() is a macro defined in <linux/kernel.h>
107
108What container_of() does is to obtain a pointer to the containing struct from
109a pointer to a member by a simple subtraction using the offsetof() macro from
110standard C, which allows something similar to object oriented behaviours.
111Notice that the contained member must not be a pointer, but an actual member
112for this to work.
113
114We can see here that we avoid having global pointers to our struct foo *
115instance this way, while still keeping the number of parameters passed to the
116work function to a single pointer.
Documentation/driver-model/devres.txt+2−0
@@ -242,6 +242,8 @@ IIO · 241 unmodified lines
242 devm_iio_device_free()242 devm_iio_device_free()
243 devm_iio_trigger_alloc()243 devm_iio_trigger_alloc()
244 devm_iio_trigger_free()244 devm_iio_trigger_free()
245 devm_iio_device_register()
246 devm_iio_device_unregister()
245 247
246IO region248IO region
247 devm_request_region()249 devm_request_region()
Documentation/driver-model/platform.txt+1−1
@@ -48,7 +48,7 @@ struct platform_driver { · 47 unmodified lines
48 struct device_driver driver;48 struct device_driver driver;
49};49};
50 50
51Note that probe() should general verify that the specified device hardware51Note that probe() should in general verify that the specified device hardware
52actually exists; sometimes platform setup code can't be sure. The probing52actually exists; sometimes platform setup code can't be sure. The probing
53can use device resources, including clocks, and device platform_data.53can use device resources, including clocks, and device platform_data.
54 54
Documentation/dynamic-debug-howto.txt+9−0
@@ -108,6 +108,12 @@ If your query set is big, you can batch them too: · 107 unmodified lines
108 108
109 ~# cat query-batch-file > <debugfs>/dynamic_debug/control109 ~# cat query-batch-file > <debugfs>/dynamic_debug/control
110 110
111A another way is to use wildcard. The match rule support '*' (matches
112zero or more characters) and '?' (matches exactly one character).For
113example, you can match all usb drivers:
114
115 ~# echo "file drivers/usb/* +p" > <debugfs>/dynamic_debug/control
116
111At the syntactical level, a command comprises a sequence of match117At the syntactical level, a command comprises a sequence of match
112specifications, followed by a flags change specification.118specifications, followed by a flags change specification.
113 119
@@ -315,6 +321,9 @@ nullarbor:~ # echo -n 'func svc_process -p' > · 201 unmodified lines
315nullarbor:~ # echo -n 'format "nfsd: READ" +p' >321nullarbor:~ # echo -n 'format "nfsd: READ" +p' >
316 <debugfs>/dynamic_debug/control322 <debugfs>/dynamic_debug/control
317 323
324// enable messages in files of which the pathes include string "usb"
325nullarbor:~ # echo -n '*usb* +p' > <debugfs>/dynamic_debug/control
326
318// enable all messages327// enable all messages
319nullarbor:~ # echo -n '+p' > <debugfs>/dynamic_debug/control328nullarbor:~ # echo -n '+p' > <debugfs>/dynamic_debug/control
320 329
Documentation/efi-stub.txt+1−1
@@ -20,7 +20,7 @@ The EFI boot stub is enabled with the CONFIG_EFI_STUB kernel option. · 19 unmodified lines
20**** How to install bzImage.efi20**** How to install bzImage.efi
21 21
22The bzImage located in arch/x86/boot/bzImage must be copied to the EFI22The bzImage located in arch/x86/boot/bzImage must be copied to the EFI
23System Partiion (ESP) and renamed with the extension ".efi". Without23System Partition (ESP) and renamed with the extension ".efi". Without
24the extension the EFI firmware loader will refuse to execute it. It's24the extension the EFI firmware loader will refuse to execute it. It's
25not possible to execute bzImage.efi from the usual Linux file systems25not possible to execute bzImage.efi from the usual Linux file systems
26because EFI firmware doesn't have support for them.26because EFI firmware doesn't have support for them.
Documentation/email-clients.txt+1−1
@@ -104,7 +104,7 @@ Then from the "Message" menu item, select insert file and choose your patch. · 103 unmodified lines
104As an added bonus you can customise the message creation toolbar menu104As an added bonus you can customise the message creation toolbar menu
105and put the "insert file" icon there.105and put the "insert file" icon there.
106 106
107Make the the composer window wide enough so that no lines wrap. As of107Make the composer window wide enough so that no lines wrap. As of
108KMail 1.13.5 (KDE 4.5.4), KMail will apply word wrapping when sending108KMail 1.13.5 (KDE 4.5.4), KMail will apply word wrapping when sending
109the email if the lines wrap in the composer window. Having word wrapping109the email if the lines wrap in the composer window. Having word wrapping
110disabled in the Options menu isn't enough. Thus, if your patch has very110disabled in the Options menu isn't enough. Thus, if your patch has very
Documentation/extcon/porting-android-switch-class+3−6
@@ -50,7 +50,7 @@ so that they are still compatible with legacy userspace processes. · 49 unmodified lines
50 Extcon's extended features for switch device drivers with50 Extcon's extended features for switch device drivers with
51 complex features usually required magic numbers in state51 complex features usually required magic numbers in state
52 value of switch_dev. With extcon, such magic numbers that52 value of switch_dev. With extcon, such magic numbers that
53 support multiple cables (53 support multiple cables are no more required or supported.
54 54
55 1. Define cable names at edev->supported_cable.55 1. Define cable names at edev->supported_cable.
56 2. (Recommended) remove print_state callback.56 2. (Recommended) remove print_state callback.
@@ -114,11 +114,8 @@ exclusive, the two cables cannot be in ATTACHED state simulteneously. · 57 unmodified lines
114 114
115****** ABI Location115****** ABI Location
116 116
117 If "CONFIG_ANDROID" is enabled and "CONFIG_ANDROID_SWITCH" is117 If "CONFIG_ANDROID" is enabled, /sys/class/switch/* are created
118disabled, /sys/class/switch/* are created as symbolic links to118as symbolic links to /sys/class/extcon/*.
119/sys/class/extcon/*. Because CONFIG_ANDROID_SWITCH creates
120/sys/class/switch directory, we disable symboling linking if
121CONFIG_ANDROID_SWITCH is enabled.
122 119
123 The two files of switch class, name and state, are provided with120 The two files of switch class, name and state, are provided with
124extcon, too. When the multistate support (STEP 2 of CHAPTER 1.) is121extcon, too. When the multistate support (STEP 2 of CHAPTER 1.) is
Documentation/filesystems/00-INDEX+45−13
@@ -10,24 +10,32 @@ afs.txt · 9 unmodified lines
10 - info and examples for the distributed AFS (Andrew File System) fs.10 - info and examples for the distributed AFS (Andrew File System) fs.
11affs.txt11affs.txt
12 - info and mount options for the Amiga Fast File System.12 - info and mount options for the Amiga Fast File System.
13autofs4-mount-control.txt
14 - info on device control operations for autofs4 module.
13automount-support.txt15automount-support.txt
14 - information about filesystem automount support.16 - information about filesystem automount support.
15befs.txt17befs.txt
16 - information about the BeOS filesystem for Linux.18 - information about the BeOS filesystem for Linux.
17bfs.txt19bfs.txt
18 - info for the SCO UnixWare Boot Filesystem (BFS).20 - info for the SCO UnixWare Boot Filesystem (BFS).
21btrfs.txt
22 - info for the BTRFS filesystem.
23caching/
24 - directory containing filesystem cache documentation.
19ceph.txt25ceph.txt
20 - info for the Ceph Distributed File System26 - info for the Ceph Distributed File System.
21cifs.txt27cifs/
22 - description of the CIFS filesystem.28 - directory containing CIFS filesystem documentation and example code.
23coda.txt29coda.txt
24 - description of the CODA filesystem.30 - description of the CODA filesystem.
25configfs/31configfs/
26 - directory containing configfs documentation and example code.32 - directory containing configfs documentation and example code.
27cramfs.txt33cramfs.txt
28 - info on the cram filesystem for small storage (ROMs etc).34 - info on the cram filesystem for small storage (ROMs etc).
29dentry-locking.txt35debugfs.txt
30 - info on the RCU-based dcache locking model.36 - info on the debugfs filesystem.
37devpts.txt
38 - info on the devpts filesystem.
31directory-locking39directory-locking
32 - info about the locking scheme used for directory operations.40 - info about the locking scheme used for directory operations.
33dlmfs.txt41dlmfs.txt
@@ -35,7 +43,7 @@ dlmfs.txt · 1 unmodified line
35dnotify.txt43dnotify.txt
36 - info about directory notification in Linux.44 - info about directory notification in Linux.
37dnotify_test.c45dnotify_test.c
38 - example program for dnotify46 - example program for dnotify.
39ecryptfs.txt47ecryptfs.txt
40 - docs on eCryptfs: stacked cryptographic filesystem for Linux.48 - docs on eCryptfs: stacked cryptographic filesystem for Linux.
41efivarfs.txt49efivarfs.txt
@@ -48,12 +56,18 @@ ext3.txt · 6 unmodified lines
48 - info, mount options and specifications for the Ext3 filesystem.56 - info, mount options and specifications for the Ext3 filesystem.
49ext4.txt57ext4.txt
50 - info, mount options and specifications for the Ext4 filesystem.58 - info, mount options and specifications for the Ext4 filesystem.
51files.txt
52 - info on file management in the Linux kernel.
53f2fs.txt59f2fs.txt
54 - info and mount options for the F2FS filesystem.60 - info and mount options for the F2FS filesystem.
61fiemap.txt
62 - info on fiemap ioctl.
63files.txt
64 - info on file management in the Linux kernel.
55fuse.txt65fuse.txt
56 - info on the Filesystem in User SpacE including mount options.66 - info on the Filesystem in User SpacE including mount options.
67gfs2-glocks.txt
68 - info on the Global File System 2 - Glock internal locking rules.
69gfs2-uevents.txt
70 - info on the Global File System 2 - uevents.
57gfs2.txt71gfs2.txt
58 - info on the Global File System 2.72 - info on the Global File System 2.
59hfs.txt73hfs.txt
@@ -84,40 +98,58 @@ ntfs.txt · 24 unmodified lines
84 - info and mount options for the NTFS filesystem (Windows NT).98 - info and mount options for the NTFS filesystem (Windows NT).
85ocfs2.txt99ocfs2.txt
86 - info and mount options for the OCFS2 clustered filesystem.100 - info and mount options for the OCFS2 clustered filesystem.
101omfs.txt
102 - info on the Optimized MPEG FileSystem.
103path-lookup.txt
104 - info on path walking and name lookup locking.
105pohmelfs/
106 - directory containing pohmelfs filesystem documentation.
87porting107porting
88 - various information on filesystem porting.108 - various information on filesystem porting.
89proc.txt109proc.txt
90 - info on Linux's /proc filesystem.110 - info on Linux's /proc filesystem.
111qnx6.txt
112 - info on the QNX6 filesystem.
113quota.txt
114 - info on Quota subsystem.
91ramfs-rootfs-initramfs.txt115ramfs-rootfs-initramfs.txt
92 - info on the 'in memory' filesystems ramfs, rootfs and initramfs.116 - info on the 'in memory' filesystems ramfs, rootfs and initramfs.
93reiser4.txt
94 - info on the Reiser4 filesystem based on dancing tree algorithms.
95relay.txt117relay.txt
96 - info on relay, for efficient streaming from kernel to user space.118 - info on relay, for efficient streaming from kernel to user space.
97romfs.txt119romfs.txt
98 - description of the ROMFS filesystem.120 - description of the ROMFS filesystem.
99seq_file.txt121seq_file.txt
100 - how to use the seq_file API122 - how to use the seq_file API.
101sharedsubtree.txt123sharedsubtree.txt
102 - a description of shared subtrees for namespaces.124 - a description of shared subtrees for namespaces.
103spufs.txt125spufs.txt
104 - info and mount options for the SPU filesystem used on Cell.126 - info and mount options for the SPU filesystem used on Cell.
127squashfs.txt
128 - info on the squashfs filesystem.
105sysfs-pci.txt129sysfs-pci.txt
106 - info on accessing PCI device resources through sysfs.130 - info on accessing PCI device resources through sysfs.
131sysfs-tagging.txt
132 - info on sysfs tagging to avoid duplicates.
107sysfs.txt133sysfs.txt
108 - info on sysfs, a ram-based filesystem for exporting kernel objects.134 - info on sysfs, a ram-based filesystem for exporting kernel objects.
109sysv-fs.txt135sysv-fs.txt
110 - info on the SystemV/V7/Xenix/Coherent filesystem.136 - info on the SystemV/V7/Xenix/Coherent filesystem.
111tmpfs.txt137tmpfs.txt
112 - info on tmpfs, a filesystem that holds all files in virtual memory.138 - info on tmpfs, a filesystem that holds all files in virtual memory.
139ubifs.txt
140 - info on the Unsorted Block Images FileSystem.
113udf.txt141udf.txt
114 - info and mount options for the UDF filesystem.142 - info and mount options for the UDF filesystem.
115ufs.txt143ufs.txt
116 - info on the ufs filesystem.144 - info on the ufs filesystem.
117vfat.txt145vfat.txt
118 - info on using the VFAT filesystem used in Windows NT and Windows 95146 - info on using the VFAT filesystem used in Windows NT and Windows 95.
119vfs.txt147vfs.txt
120 - overview of the Virtual File System148 - overview of the Virtual File System.
149xfs-delayed-logging-design.txt
150 - info on the XFS Delayed Logging Design.
151xfs-self-describing-metadata.txt
152 - info on XFS Self Describing Metadata.
121xfs.txt153xfs.txt
122 - info and mount options for the XFS filesystem.154 - info and mount options for the XFS filesystem.
123xip.txt155xip.txt
Documentation/filesystems/9p.txt+6−11
@@ -69,10 +69,14 @@ OPTIONS · 68 unmodified lines
69 offering several exported file systems.69 offering several exported file systems.
70 70
71 cache=mode specifies a caching policy. By default, no caches are used.71 cache=mode specifies a caching policy. By default, no caches are used.
72 none = default no cache policy, metadata and data
73 alike are synchronous.
72 loose = no attempts are made at consistency,74 loose = no attempts are made at consistency,
73 intended for exclusive, read-only mounts75 intended for exclusive, read-only mounts
74 fscache = use FS-Cache for a persistent, read-only76 fscache = use FS-Cache for a persistent, read-only
75 cache backend.77 cache backend.
78 mmap = minimal cache that is only used for read-write
79 mmap. Northing else is cached, like cache=none
76 80
77 debug=n specifies debug level. The debug level is a bitmask.81 debug=n specifies debug level. The debug level is a bitmask.
78 0x01 = display verbose error messages82 0x01 = display verbose error messages
@@ -147,8 +151,7 @@ on sourceforge (http://sourceforge.net/projects/v9fs). · 68 unmodified lines
147News and other information is maintained on a Wiki.151News and other information is maintained on a Wiki.
148(http://sf.net/apps/mediawiki/v9fs/index.php).152(http://sf.net/apps/mediawiki/v9fs/index.php).
149 153
150Bug reports may be issued through the kernel.org bugzilla 154Bug reports are best issued via the mailing list.
151(http://bugzilla.kernel.org)
152 155
153For more information on the Plan 9 Operating System check out156For more information on the Plan 9 Operating System check out
154http://plan9.bell-labs.com/plan9157http://plan9.bell-labs.com/plan9
@@ -156,11 +159,3 @@ http://plan9.bell-labs.com/plan9 · 1 unmodified line
156For information on Plan 9 from User Space (Plan 9 applications and libraries159For information on Plan 9 from User Space (Plan 9 applications and libraries
157ported to Linux/BSD/OSX/etc) check out http://swtch.com/plan9160ported to Linux/BSD/OSX/etc) check out http://swtch.com/plan9
158 161
159
160STATUS
161======
162
163The 2.6 kernel support is working on PPC and x86.
164
165PLEASE USE THE KERNEL BUGZILLA TO REPORT PROBLEMS. (http://bugzilla.kernel.org)
166
Documentation/filesystems/Locking+1−1
@@ -544,7 +544,7 @@ like the ->fault() handler, but simply return with VM_FAULT_NOPAGE, which · 543 unmodified lines
544will cause the VM to retry the fault.544will cause the VM to retry the fault.
545 545
546 ->access() is called when get_user_pages() fails in546 ->access() is called when get_user_pages() fails in
547acces_process_vm(), typically used to debug a process through547access_process_vm(), typically used to debug a process through
548/proc/pid/mem or ptrace. This function is needed only for548/proc/pid/mem or ptrace. This function is needed only for
549VM_IO | VM_PFNMAP VMAs.549VM_IO | VM_PFNMAP VMAs.
550 550
Documentation/filesystems/btrfs.txt+30−17
@@ -38,7 +38,7 @@ Mount Options · 37 unmodified lines
38=============38=============
39 39
40When mounting a btrfs filesystem, the following option are accepted.40When mounting a btrfs filesystem, the following option are accepted.
41Unless otherwise specified, all options default to off.41Options with (*) are default options and will not show in the mount options.
42 42
43 alloc_start=<bytes>43 alloc_start=<bytes>
44 Debugging option to force all block allocations above a certain44 Debugging option to force all block allocations above a certain
@@ -46,10 +46,12 @@ Unless otherwise specified, all options default to off. · 1 unmodified line
46 bytes, optionally with a K, M, or G suffix, case insensitive.46 bytes, optionally with a K, M, or G suffix, case insensitive.
47 Default is 1MB.47 Default is 1MB.
48 48
49 noautodefrag(*)
49 autodefrag50 autodefrag
50 Detect small random writes into files and queue them up for the51 Disable/enable auto defragmentation.
51 defrag process. Works best for small files; Not well suited for52 Auto defragmentation detects small random writes into files and queue
52 large database workloads.53 them up for the defrag process. Works best for small files;
54 Not well suited for large database workloads.
53 55
54 check_int56 check_int
55 check_int_data57 check_int_data
@@ -96,21 +98,26 @@ Unless otherwise specified, all options default to off. · 40 unmodified lines
96 can be avoided. Especially useful when trying to mount a multi-device98 can be avoided. Especially useful when trying to mount a multi-device
97 setup as root. May be specified multiple times for multiple devices.99 setup as root. May be specified multiple times for multiple devices.
98 100
101 nodiscard(*)
99 discard102 discard
100 Issue frequent commands to let the block device reclaim space freed by103 Disable/enable discard mount option.
101 the filesystem. This is useful for SSD devices, thinly provisioned104 Discard issues frequent commands to let the block device reclaim space
105 freed by the filesystem.
106 This is useful for SSD devices, thinly provisioned
102 LUNs and virtual machine images, but may have a significant107 LUNs and virtual machine images, but may have a significant
103 performance impact. (The fstrim command is also available to108 performance impact. (The fstrim command is also available to
104 initiate batch trims from userspace).109 initiate batch trims from userspace).
105 110
111 noenospc_debug(*)
106 enospc_debug112 enospc_debug
107 Debugging option to be more verbose in some ENOSPC conditions.113 Disable/enable debugging option to be more verbose in some ENOSPC conditions.
108 114
109 fatal_errors=<action>115 fatal_errors=<action>
110 Action to take when encountering a fatal error: 116 Action to take when encountering a fatal error:
111 "bug" - BUG() on a fatal error. This is the default.117 "bug" - BUG() on a fatal error. This is the default.
112 "panic" - panic() on a fatal error.118 "panic" - panic() on a fatal error.
113 119
120 noflushoncommit(*)
114 flushoncommit121 flushoncommit
115 The 'flushoncommit' mount option forces any data dirtied by a write in a122 The 'flushoncommit' mount option forces any data dirtied by a write in a
116 prior transaction to commit as part of the current commit. This makes123 prior transaction to commit as part of the current commit. This makes
@@ -134,26 +141,32 @@ Unless otherwise specified, all options default to off. · 17 unmodified lines
134 Specify that 1 metadata chunk should be allocated after every <value>141 Specify that 1 metadata chunk should be allocated after every <value>
135 data chunks. Off by default.142 data chunks. Off by default.
136 143
144 acl(*)
137 noacl145 noacl
138 Disable support for Posix Access Control Lists (ACLs). See the146 Enable/disable support for Posix Access Control Lists (ACLs). See the
139 acl(5) manual page for more information about ACLs.147 acl(5) manual page for more information about ACLs.
140 148
149 barrier(*)
141 nobarrier150 nobarrier
142 Disables the use of block layer write barriers. Write barriers ensure151 Enable/disable the use of block layer write barriers. Write barriers
143 that certain IOs make it through the device cache and are on persistent152 ensure that certain IOs make it through the device cache and are on
144 storage. If used on a device with a volatile (non-battery-backed)153 persistent storage. If disabled on a device with a volatile
145 write-back cache, this option will lead to filesystem corruption on a154 (non-battery-backed) write-back cache, nobarrier option will lead to
146 system crash or power loss.155 filesystem corruption on a system crash or power loss.
147 156
157 datacow(*)
148 nodatacow158 nodatacow
149 Disable data copy-on-write for newly created files. Implies nodatasum,159 Enable/disable data copy-on-write for newly created files.
150 and disables all compression.160 Nodatacow implies nodatasum, and disables all compression.
151 161
162 datasum(*)
152 nodatasum163 nodatasum
153 Disable data checksumming for newly created files.164 Enable/disable data checksumming for newly created files.
165 Datasum implies datacow.
154 166
167 treelog(*)
155 notreelog168 notreelog
156 Disable the tree logging used for fsync and O_SYNC writes.169 Enable/disable the tree logging used for fsync and O_SYNC writes.
157 170
158 recovery171 recovery
159 Enable autorecovery attempts if a bad tree root is found at mount time.172 Enable autorecovery attempts if a bad tree root is found at mount time.
Documentation/filesystems/f2fs.txt+24−0
@@ -120,6 +120,8 @@ active_logs=%u Support configuring the number of active logs. In the · 119 unmodified lines
120disable_ext_identify Disable the extension list configured by mkfs, so f2fs120disable_ext_identify Disable the extension list configured by mkfs, so f2fs
121 does not aware of cold files such as media files.121 does not aware of cold files such as media files.
122inline_xattr Enable the inline xattrs feature.122inline_xattr Enable the inline xattrs feature.
123inline_data Enable the inline data feature: New created small(<~3.4k)
124 files can be written into inode block.
123 125
124================================================================================126================================================================================
125DEBUGFS ENTRIES127DEBUGFS ENTRIES
@@ -171,6 +173,28 @@ Files in /sys/fs/f2fs/<devname> · 45 unmodified lines
171 conduct checkpoint to reclaim the prefree segments173 conduct checkpoint to reclaim the prefree segments
172 to free segments. By default, 100 segments, 200MB.174 to free segments. By default, 100 segments, 200MB.
173 175
176 max_small_discards This parameter controls the number of discard
177 commands that consist small blocks less than 2MB.
178 The candidates to be discarded are cached until
179 checkpoint is triggered, and issued during the
180 checkpoint. By default, it is disabled with 0.
181
182 ipu_policy This parameter controls the policy of in-place
183 updates in f2fs. There are five policies:
184 0: F2FS_IPU_FORCE, 1: F2FS_IPU_SSR,
185 2: F2FS_IPU_UTIL, 3: F2FS_IPU_SSR_UTIL,
186 4: F2FS_IPU_DISABLE.
187
188 min_ipu_util This parameter controls the threshold to trigger
189 in-place-updates. The number indicates percentage
190 of the filesystem utilization, and used by
191 F2FS_IPU_UTIL and F2FS_IPU_SSR_UTIL policies.
192
193 max_victim_search This parameter controls the number of trials to
194 find a victim segment when conducting SSR and
195 cleaning operations. The default value is 4096
196 which covers 8GB block address range.
197
174================================================================================198================================================================================
175USAGE199USAGE
176================================================================================200================================================================================
Documentation/filesystems/nfs/nfs41-server.txt+14−28
@@ -5,11 +5,11 @@ Server support for minorversion 1 can be controlled using the · 4 unmodified lines
5by reading this file will contain either "+4.1" or "-4.1"5by reading this file will contain either "+4.1" or "-4.1"
6correspondingly.6correspondingly.
7 7
8Currently, server support for minorversion 1 is disabled by default.8Currently, server support for minorversion 1 is enabled by default.
9It can be enabled at run time by writing the string "+4.1" to9It can be disabled at run time by writing the string "-4.1" to
10the /proc/fs/nfsd/versions control file. Note that to write this10the /proc/fs/nfsd/versions control file. Note that to write this
11control file, the nfsd service must be taken down. Use your user-mode11control file, the nfsd service must be taken down. You can use rpc.nfsd
12nfs-utils to set this up; see rpc.nfsd(8)12for this; see rpc.nfsd(8).
13 13
14(Warning: older servers will interpret "+4.1" and "-4.1" as "+4" and14(Warning: older servers will interpret "+4.1" and "-4.1" as "+4" and
15"-4", respectively. Therefore, code meant to work on both new and old15"-4", respectively. Therefore, code meant to work on both new and old
@@ -29,29 +29,6 @@ are still under development out of tree. · 13 unmodified lines
29See http://wiki.linux-nfs.org/wiki/index.php/PNFS_prototype_design29See http://wiki.linux-nfs.org/wiki/index.php/PNFS_prototype_design
30for more information.30for more information.
31 31
32The current implementation is intended for developers only: while it
33does support ordinary file operations on clients we have tested against
34(including the linux client), it is incomplete in ways which may limit
35features unexpectedly, cause known bugs in rare cases, or cause
36interoperability problems with future clients. Known issues:
37
38 - gss support is questionable: currently mounts with kerberos
39 from a linux client are possible, but we aren't really
40 conformant with the spec (for example, we don't use kerberos
41 on the backchannel correctly).
42 - We do not support SSV, which provides security for shared
43 client-server state (thus preventing unauthorized tampering
44 with locks and opens, for example). It is mandatory for
45 servers to support this, though no clients use it yet.
46
47In addition, some limitations are inherited from the current NFSv4
48implementation:
49
50 - Incomplete delegation enforcement: if a file is renamed or
51 unlinked by a local process, a client holding a delegation may
52 continue to indefinitely allow opens of the file under the old
53 name.
54
55The table below, taken from the NFSv4.1 document, lists32The table below, taken from the NFSv4.1 document, lists
56the operations that are mandatory to implement (REQ), optional33the operations that are mandatory to implement (REQ), optional
57(OPT), and NFSv4.0 operations that are required not to implement (MNI)34(OPT), and NFSv4.0 operations that are required not to implement (MNI)
@@ -169,6 +146,16 @@ NS*| CB_WANTS_CANCELLED | OPT | FDELG, | Section 20.10 | · 111 unmodified lines
169 146
170Implementation notes:147Implementation notes:
171 148
149SSV:
150* The spec claims this is mandatory, but we don't actually know of any
151 implementations, so we're ignoring it for now. The server returns
152 NFS4ERR_ENCR_ALG_UNSUPP on EXCHANGE_ID, which should be future-proof.
153
154GSS on the backchannel:
155* Again, theoretically required but not widely implemented (in
156 particular, the current Linux client doesn't request it). We return
157 NFS4ERR_ENCR_ALG_UNSUPP on CREATE_SESSION.
158
172DELEGPURGE:159DELEGPURGE:
173* mandatory only for servers that support CLAIM_DELEGATE_PREV and/or160* mandatory only for servers that support CLAIM_DELEGATE_PREV and/or
174 CLAIM_DELEG_PREV_FH (which allows clients to keep delegations that161 CLAIM_DELEG_PREV_FH (which allows clients to keep delegations that
@@ -176,7 +163,6 @@ DELEGPURGE: · 1 unmodified line
176 now.163 now.
177 164
178EXCHANGE_ID:165EXCHANGE_ID:
179* only SP4_NONE state protection supported
180* implementation ids are ignored166* implementation ids are ignored
181 167
182CREATE_SESSION:168CREATE_SESSION:
Documentation/filesystems/nilfs2.txt+56−0
@@ -81,6 +81,62 @@ nodiscard(*) The discard/TRIM commands are sent to the underlying · 80 unmodified lines
81 block device when blocks are freed. This is useful81 block device when blocks are freed. This is useful
82 for SSD devices and sparse/thinly-provisioned LUNs.82 for SSD devices and sparse/thinly-provisioned LUNs.
83 83
84Ioctls
85======
86
87There is some NILFS2 specific functionality which can be accessed by applications
88through the system call interfaces. The list of all NILFS2 specific ioctls are
89shown in the table below.
90
91Table of NILFS2 specific ioctls
92..............................................................................
93 Ioctl Description
94 NILFS_IOCTL_CHANGE_CPMODE Change mode of given checkpoint between
95 checkpoint and snapshot state. This ioctl is
96 used in chcp and mkcp utilities.
97
98 NILFS_IOCTL_DELETE_CHECKPOINT Remove checkpoint from NILFS2 file system.
99 This ioctl is used in rmcp utility.
100
101 NILFS_IOCTL_GET_CPINFO Return info about requested checkpoints. This
102 ioctl is used in lscp utility and by
103 nilfs_cleanerd daemon.
104
105 NILFS_IOCTL_GET_CPSTAT Return checkpoints statistics. This ioctl is
106 used by lscp, rmcp utilities and by
107 nilfs_cleanerd daemon.
108
109 NILFS_IOCTL_GET_SUINFO Return segment usage info about requested
110 segments. This ioctl is used in lssu,
111 nilfs_resize utilities and by nilfs_cleanerd
112 daemon.
113
114 NILFS_IOCTL_GET_SUSTAT Return segment usage statistics. This ioctl
115 is used in lssu, nilfs_resize utilities and
116 by nilfs_cleanerd daemon.
117
118 NILFS_IOCTL_GET_VINFO Return information on virtual block addresses.
119 This ioctl is used by nilfs_cleanerd daemon.
120
121 NILFS_IOCTL_GET_BDESCS Return information about descriptors of disk
122 block numbers. This ioctl is used by
123 nilfs_cleanerd daemon.
124
125 NILFS_IOCTL_CLEAN_SEGMENTS Do garbage collection operation in the
126 environment of requested parameters from
127 userspace. This ioctl is used by
128 nilfs_cleanerd daemon.
129
130 NILFS_IOCTL_SYNC Make a checkpoint. This ioctl is used in
131 mkcp utility.
132
133 NILFS_IOCTL_RESIZE Resize NILFS2 volume. This ioctl is used
134 by nilfs_resize utility.
135
136 NILFS_IOCTL_SET_ALLOC_RANGE Define lower limit of segments in bytes and
137 upper limit of segments in bytes. This ioctl
138 is used by nilfs_resize utility.
139
84NILFS2 usage140NILFS2 usage
85============141============
86 142
Documentation/filesystems/proc.txt+12−3
@@ -547,7 +547,7 @@ Table 1-5: Kernel info in /proc · 546 unmodified lines
547 sys See chapter 2 547 sys See chapter 2
548 sysvipc Info of SysVIPC Resources (msg, sem, shm) (2.4)548 sysvipc Info of SysVIPC Resources (msg, sem, shm) (2.4)
549 tty Info of tty drivers549 tty Info of tty drivers
550 uptime System uptime 550 uptime Wall clock since boot, combined idle time of all cpus
551 version Kernel version 551 version Kernel version
552 video bttv info of video resources (2.4)552 video bttv info of video resources (2.4)
553 vmallocinfo Show vmalloced areas553 vmallocinfo Show vmalloced areas
@@ -767,6 +767,7 @@ The "Locked" indicates whether the mapping is locked in memory or not. · 213 unmodified lines
767 767
768MemTotal: 16344972 kB768MemTotal: 16344972 kB
769MemFree: 13634064 kB769MemFree: 13634064 kB
770MemAvailable: 14836172 kB
770Buffers: 3656 kB771Buffers: 3656 kB
771Cached: 1195708 kB772Cached: 1195708 kB
772SwapCached: 0 kB773SwapCached: 0 kB
@@ -799,6 +800,14 @@ AnonHugePages: 49152 kB · 26 unmodified lines
799 MemTotal: Total usable ram (i.e. physical ram minus a few reserved800 MemTotal: Total usable ram (i.e. physical ram minus a few reserved
800 bits and the kernel binary code)801 bits and the kernel binary code)
801 MemFree: The sum of LowFree+HighFree802 MemFree: The sum of LowFree+HighFree
803MemAvailable: An estimate of how much memory is available for starting new
804 applications, without swapping. Calculated from MemFree,
805 SReclaimable, the size of the file LRU lists, and the low
806 watermarks in each zone.
807 The estimate takes into account that the system needs some
808 page cache to function well, and that not all reclaimable
809 slab will be reclaimable, due to items being in use. The
810 impact of those factors will vary from system to system.
802 Buffers: Relatively temporary storage for raw disk blocks811 Buffers: Relatively temporary storage for raw disk blocks
803 shouldn't get tremendously large (20MB or so)812 shouldn't get tremendously large (20MB or so)
804 Cached: in-memory cache for files read from the disk (the813 Cached: in-memory cache for files read from the disk (the
@@ -1377,8 +1386,8 @@ may allocate from based on an estimation of its current memory and swap use. · 572 unmodified lines
1377For example, if a task is using all allowed memory, its badness score will be1386For example, if a task is using all allowed memory, its badness score will be
13781000. If it is using half of its allowed memory, its score will be 500.13871000. If it is using half of its allowed memory, its score will be 500.
1379 1388
1380There is an additional factor included in the badness score: root1389There is an additional factor included in the badness score: the current memory
1381processes are given 3% extra memory over other tasks.1390and swap usage is discounted by 3% for root processes.
1382 1391
1383The amount of "allowed" memory depends on the context in which the oom killer1392The amount of "allowed" memory depends on the context in which the oom killer
1384was called. If it is due to the memory assigned to the allocating task's cpuset1393was called. If it is due to the memory assigned to the allocating task's cpuset
Documentation/filesystems/sysfs.txt+3−3
@@ -108,12 +108,12 @@ static DEVICE_ATTR(foo, S_IWUSR | S_IRUGO, show_foo, store_foo); · 107 unmodified lines
108is equivalent to doing:108is equivalent to doing:
109 109
110static struct device_attribute dev_attr_foo = {110static struct device_attribute dev_attr_foo = {
111 .attr = {111 .attr = {
112 .name = "foo",112 .name = "foo",
113 .mode = S_IWUSR | S_IRUGO,113 .mode = S_IWUSR | S_IRUGO,
114 .show = show_foo,
115 .store = store_foo,
116 },114 },
115 .show = show_foo,
116 .store = store_foo,
117};117};
118 118
119 119
Documentation/filesystems/vfs.txt+2−10
@@ -782,7 +782,7 @@ struct file_operations · 781 unmodified lines
782----------------------782----------------------
783 783
784This describes how the VFS can manipulate an open file. As of kernel784This describes how the VFS can manipulate an open file. As of kernel
7853.5, the following members are defined:7853.12, the following members are defined:
786 786
787struct file_operations {787struct file_operations {
788 struct module *owner;788 struct module *owner;
@@ -803,9 +803,6 @@ struct file_operations { · 14 unmodified lines
803 int (*aio_fsync) (struct kiocb *, int datasync);803 int (*aio_fsync) (struct kiocb *, int datasync);
804 int (*fasync) (int, struct file *, int);804 int (*fasync) (int, struct file *, int);
805 int (*lock) (struct file *, int, struct file_lock *);805 int (*lock) (struct file *, int, struct file_lock *);
806 ssize_t (*readv) (struct file *, const struct iovec *, unsigned long, loff_t *);
807 ssize_t (*writev) (struct file *, const struct iovec *, unsigned long, loff_t *);
808 ssize_t (*sendfile) (struct file *, loff_t *, size_t, read_actor_t, void *);
809 ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);806 ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);
810 unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);807 unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
811 int (*check_flags)(int);808 int (*check_flags)(int);
@@ -814,6 +811,7 @@ struct file_operations { · 2 unmodified lines
814 ssize_t (*splice_read)(struct file *, struct pipe_inode_info *, size_t, unsigned int);811 ssize_t (*splice_read)(struct file *, struct pipe_inode_info *, size_t, unsigned int);
815 int (*setlease)(struct file *, long arg, struct file_lock **);812 int (*setlease)(struct file *, long arg, struct file_lock **);
816 long (*fallocate)(struct file *, int mode, loff_t offset, loff_t len);813 long (*fallocate)(struct file *, int mode, loff_t offset, loff_t len);
814 int (*show_fdinfo)(struct seq_file *m, struct file *f);
817};815};
818 816
819Again, all methods are called without any locks being held, unless817Again, all methods are called without any locks being held, unless
@@ -864,12 +862,6 @@ otherwise noted. · 44 unmodified lines
864 lock: called by the fcntl(2) system call for F_GETLK, F_SETLK, and F_SETLKW862 lock: called by the fcntl(2) system call for F_GETLK, F_SETLK, and F_SETLKW
865 commands863 commands
866 864
867 readv: called by the readv(2) system call
868
869 writev: called by the writev(2) system call
870
871 sendfile: called by the sendfile(2) system call
872
873 get_unmapped_area: called by the mmap(2) system call865 get_unmapped_area: called by the mmap(2) system call
874 866
875 check_flags: called by the fcntl(2) system call for F_SETFL command867 check_flags: called by the fcntl(2) system call for F_SETFL command
Documentation/gpio/board.txt+17−11
@@ -72,10 +72,11 @@ where · 71 unmodified lines
72 72
73 - chip_label is the label of the gpiod_chip instance providing the GPIO73 - chip_label is the label of the gpiod_chip instance providing the GPIO
74 - chip_hwnum is the hardware number of the GPIO within the chip74 - chip_hwnum is the hardware number of the GPIO within the chip
75 - dev_id is the identifier of the device that will make use of this GPIO. If75 - dev_id is the identifier of the device that will make use of this GPIO. It
76 NULL, the GPIO will be available to all devices.76 can be NULL, in which case it will be matched for calls to gpiod_get()
77 with a NULL device.
77 - con_id is the name of the GPIO function from the device point of view. It78 - con_id is the name of the GPIO function from the device point of view. It
78 can be NULL.79 can be NULL, in which case it will match any function.
79 - idx is the index of the GPIO within the function.80 - idx is the index of the GPIO within the function.
80 - flags is defined to specify the following properties:81 - flags is defined to specify the following properties:
81 * GPIOF_ACTIVE_LOW - to configure the GPIO as active-low82 * GPIOF_ACTIVE_LOW - to configure the GPIO as active-low
@@ -86,18 +87,23 @@ In the future, these flags might be extended to support more properties. · 4 unmodified lines
86 87
87Note that GPIO_LOOKUP() is just a shortcut to GPIO_LOOKUP_IDX() where idx = 0.88Note that GPIO_LOOKUP() is just a shortcut to GPIO_LOOKUP_IDX() where idx = 0.
88 89
89A lookup table can then be defined as follows:90A lookup table can then be defined as follows, with an empty entry defining its
91end:
90 92
91 struct gpiod_lookup gpios_table[] = {93struct gpiod_lookup_table gpios_table = {
92 GPIO_LOOKUP_IDX("gpio.0", 15, "foo.0", "led", 0, GPIO_ACTIVE_HIGH),94 .dev_id = "foo.0",
93 GPIO_LOOKUP_IDX("gpio.0", 16, "foo.0", "led", 1, GPIO_ACTIVE_HIGH),95 .table = {
94 GPIO_LOOKUP_IDX("gpio.0", 17, "foo.0", "led", 2, GPIO_ACTIVE_HIGH),96 GPIO_LOOKUP_IDX("gpio.0", 15, "led", 0, GPIO_ACTIVE_HIGH),
95 GPIO_LOOKUP("gpio.0", 1, "foo.0", "power", GPIO_ACTIVE_LOW),97 GPIO_LOOKUP_IDX("gpio.0", 16, "led", 1, GPIO_ACTIVE_HIGH),
96 };98 GPIO_LOOKUP_IDX("gpio.0", 17, "led", 2, GPIO_ACTIVE_HIGH),
99 GPIO_LOOKUP("gpio.0", 1, "power", GPIO_ACTIVE_LOW),
100 { },
101 },
102};
97 103
98And the table can be added by the board code as follows:104And the table can be added by the board code as follows:
99 105
100 gpiod_add_table(gpios_table, ARRAY_SIZE(gpios_table));106 gpiod_add_lookup_table(&gpios_table);
101 107
102The driver controlling "foo.0" will then be able to obtain its GPIOs as follows:108The driver controlling "foo.0" will then be able to obtain its GPIOs as follows:
103 109
Documentation/gpio/consumer.txt+5−1
@@ -38,7 +38,11 @@ device that displays digits), an additional index argument can be specified: · 37 unmodified lines
38 const char *con_id, unsigned int idx)38 const char *con_id, unsigned int idx)
39 39
40Both functions return either a valid GPIO descriptor, or an error code checkable40Both functions return either a valid GPIO descriptor, or an error code checkable
41with IS_ERR(). They will never return a NULL pointer.41with IS_ERR() (they will never return a NULL pointer). -ENOENT will be returned
42if and only if no GPIO has been assigned to the device/function/index triplet,
43other error codes are used for cases where a GPIO has been assigned but an error
44occured while trying to acquire it. This is useful to discriminate between mere
45errors and an absence of GPIO for optional GPIO parameters.
42 46
43Device-managed variants of these functions are also defined:47Device-managed variants of these functions are also defined:
44 48
Documentation/hwmon/adm1025+1−1
@@ -18,7 +18,7 @@ The NE1619 presents some differences with the original ADM1025: · 17 unmodified lines
18 18
19Authors:19Authors:
20 Chen-Yuan Wu <gwu@esoft.com>,20 Chen-Yuan Wu <gwu@esoft.com>,
21 Jean Delvare <khali@linux-fr.org>21 Jean Delvare <jdelvare@suse.de>
22 22
23Description23Description
24-----------24-----------
Documentation/hwmon/adm1031+1−1
@@ -16,7 +16,7 @@ Supported chips: · 15 unmodified lines
16 16
17Authors:17Authors:
18 Alexandre d'Alton <alex@alexdalton.org>18 Alexandre d'Alton <alex@alexdalton.org>
19 Jean Delvare <khali@linux-fr.org>19 Jean Delvare <jdelvare@suse.de>
20 20
21Description21Description
22-----------22-----------
Documentation/hwmon/adm9240+1−1
@@ -25,7 +25,7 @@ Authors: · 24 unmodified lines
25 Philip Edelbrock <phil@netroedge.com>,25 Philip Edelbrock <phil@netroedge.com>,
26 Michiel Rook <michiel@grendelproject.nl>,26 Michiel Rook <michiel@grendelproject.nl>,
27 Grant Coady <gcoady.lk@gmail.com> with guidance27 Grant Coady <gcoady.lk@gmail.com> with guidance
28 from Jean Delvare <khali@linux-fr.org>28 from Jean Delvare <jdelvare@suse.de>
29 29
30Interface30Interface
31---------31---------
Documentation/hwmon/ds1621+1−1
@@ -31,7 +31,7 @@ Authors: · 30 unmodified lines
31 Christian W. Zuckschwerdt <zany@triq.net>31 Christian W. Zuckschwerdt <zany@triq.net>
32 valuable contributions by Jan M. Sendler <sendler@sendler.de>32 valuable contributions by Jan M. Sendler <sendler@sendler.de>
33 ported to 2.6 by Aurelien Jarno <aurelien@aurel32.net>33 ported to 2.6 by Aurelien Jarno <aurelien@aurel32.net>
34 with the help of Jean Delvare <khali@linux-fr.org>34 with the help of Jean Delvare <jdelvare@suse.de>
35 35
36Module Parameters36Module Parameters
37------------------37------------------
Documentation/hwmon/emc6w201+1−1
@@ -7,7 +7,7 @@ Supported chips: · 6 unmodified lines
7 Addresses scanned: I2C 0x2c, 0x2d, 0x2e7 Addresses scanned: I2C 0x2c, 0x2d, 0x2e
8 Datasheet: Not public8 Datasheet: Not public
9 9
10Author: Jean Delvare <khali@linux-fr.org>10Author: Jean Delvare <jdelvare@suse.de>
11 11
12 12
13Description13Description
Documentation/hwmon/f71805f+1−1
@@ -15,7 +15,7 @@ Supported chips: · 14 unmodified lines
15 Addresses scanned: none, address read from Super I/O config space15 Addresses scanned: none, address read from Super I/O config space
16 Datasheet: Available from the Fintek website16 Datasheet: Available from the Fintek website
17 17
18Author: Jean Delvare <khali@linux-fr.org>18Author: Jean Delvare <jdelvare@suse.de>
19 19
20Thanks to Denis Kieft from Barracuda Networks for the donation of a20Thanks to Denis Kieft from Barracuda Networks for the donation of a
21test system (custom Jetway K8M8MS motherboard, with CPU and RAM) and21test system (custom Jetway K8M8MS motherboard, with CPU and RAM) and
Documentation/hwmon/gl518sm+1−1
@@ -14,7 +14,7 @@ Authors: · 13 unmodified lines
14 Frodo Looijaard <frodol@dds.nl>,14 Frodo Looijaard <frodol@dds.nl>,
15 Kyösti Mälkki <kmalkki@cc.hut.fi>15 Kyösti Mälkki <kmalkki@cc.hut.fi>
16 Hong-Gunn Chew <hglinux@gunnet.org>16 Hong-Gunn Chew <hglinux@gunnet.org>
17 Jean Delvare <khali@linux-fr.org>17 Jean Delvare <jdelvare@suse.de>
18 18
19Description19Description
20-----------20-----------
Documentation/hwmon/it87+20−9
@@ -2,6 +2,10 @@ Kernel driver it87 · 1 unmodified line
2==================2==================
3 3
4Supported chips:4Supported chips:
5 * IT8603E
6 Prefix: 'it8603'
7 Addresses scanned: from Super I/O config space (8 I/O ports)
8 Datasheet: Not publicly available
5 * IT8705F9 * IT8705F
6 Prefix: 'it87'10 Prefix: 'it87'
7 Addresses scanned: from Super I/O config space (8 I/O ports)11 Addresses scanned: from Super I/O config space (8 I/O ports)
@@ -53,7 +57,7 @@ Supported chips: · 45 unmodified lines
53 57
54Authors:58Authors:
55 Christophe Gauthron59 Christophe Gauthron
56 Jean Delvare <khali@linux-fr.org>60 Jean Delvare <jdelvare@suse.de>
57 61
58 62
59Module Parameters63Module Parameters
@@ -90,7 +94,7 @@ motherboard models. · 30 unmodified lines
90Description94Description
91-----------95-----------
92 96
93This driver implements support for the IT8705F, IT8712F, IT8716F,97This driver implements support for the IT8603E, IT8705F, IT8712F, IT8716F,
94IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8758E, IT8771E, IT8772E,98IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8758E, IT8771E, IT8772E,
95IT8782F, IT8783E/F, and SiS950 chips.99IT8782F, IT8783E/F, and SiS950 chips.
96 100
@@ -129,6 +133,10 @@ to userspace applications. · 32 unmodified lines
129The IT8728F, IT8771E, and IT8772E are considered compatible with the IT8721F,133The IT8728F, IT8771E, and IT8772E are considered compatible with the IT8721F,
130until a datasheet becomes available (hopefully.)134until a datasheet becomes available (hopefully.)
131 135
136The IT8603E is a custom design, hardware monitoring part is similar to
137IT8728F. It only supports 16-bit fan mode, the full speed mode of the
138fan is not supported (value 0 of pwmX_enable).
139
132Temperatures are measured in degrees Celsius. An alarm is triggered once140Temperatures are measured in degrees Celsius. An alarm is triggered once
133when the Overtemperature Shutdown limit is crossed.141when the Overtemperature Shutdown limit is crossed.
134 142
@@ -145,13 +153,16 @@ alarm is triggered if the voltage has crossed a programmable minimum or · 10 unmodified lines
145maximum limit. Note that minimum in this case always means 'closest to153maximum limit. Note that minimum in this case always means 'closest to
146zero'; this is important for negative voltage measurements. All voltage154zero'; this is important for negative voltage measurements. All voltage
147inputs can measure voltages between 0 and 4.08 volts, with a resolution of155inputs can measure voltages between 0 and 4.08 volts, with a resolution of
1480.016 volt (except IT8721F/IT8758E and IT8728F: 0.012 volt.) The battery1560.016 volt (except IT8603E, IT8721F/IT8758E and IT8728F: 0.012 volt.) The
149voltage in8 does not have limit registers.157battery voltage in8 does not have limit registers.
150 158
151On the IT8721F/IT8758E, IT8782F, and IT8783E/F, some voltage inputs are159On the IT8603E, IT8721F/IT8758E, IT8782F, and IT8783E/F, some voltage inputs
152internal and scaled inside the chip (in7 (optional for IT8782F and IT8783E/F),160are internal and scaled inside the chip:
153in8 and optionally in3). The driver handles this transparently so user-space161* in3 (optional)
154doesn't have to care.162* in7 (optional for IT8782F and IT8783E/F)
163* in8 (always)
164* in9 (relevant for IT8603E only)
165The driver handles this transparently so user-space doesn't have to care.
155 166
156The VID lines (IT8712F/IT8716F/IT8718F/IT8720F) encode the core voltage value:167The VID lines (IT8712F/IT8716F/IT8718F/IT8720F) encode the core voltage value:
157the voltage level your processor should work with. This is hardcoded by168the voltage level your processor should work with. This is hardcoded by
Documentation/hwmon/lm63+1−1
@@ -18,7 +18,7 @@ Supported chips: · 17 unmodified lines
18 Datasheet: Publicly available at the National Semiconductor website18 Datasheet: Publicly available at the National Semiconductor website
19 http://www.national.com/pf/LM/LM96163.html19 http://www.national.com/pf/LM/LM96163.html
20 20
21Author: Jean Delvare <khali@linux-fr.org>21Author: Jean Delvare <jdelvare@suse.de>
22 22
23Thanks go to Tyan and especially Alex Buckingham for setting up a remote23Thanks go to Tyan and especially Alex Buckingham for setting up a remote
24access to their S4882 test platform for this driver.24access to their S4882 test platform for this driver.
Documentation/hwmon/lm70+1−1
@@ -43,5 +43,5 @@ data (0.03125 degrees celsius resolution). · 42 unmodified lines
43 43
44Thanks to44Thanks to
45---------45---------
46Jean Delvare <khali@linux-fr.org> for mentoring the hwmon-side driver46Jean Delvare <jdelvare@suse.de> for mentoring the hwmon-side driver
47development.47development.
Documentation/hwmon/lm78+1−1
@@ -14,7 +14,7 @@ Supported chips: · 13 unmodified lines
14 http://www.national.com/14 http://www.national.com/
15 15
16Authors: Frodo Looijaard <frodol@dds.nl>16Authors: Frodo Looijaard <frodol@dds.nl>
17 Jean Delvare <khali@linux-fr.org>17 Jean Delvare <jdelvare@suse.de>
18 18
19Description19Description
20-----------20-----------
Documentation/hwmon/lm83+1−1
@@ -13,7 +13,7 @@ Supported chips: · 12 unmodified lines
13 http://www.national.com/pf/LM/LM82.html13 http://www.national.com/pf/LM/LM82.html
14 14
15 15
16Author: Jean Delvare <khali@linux-fr.org>16Author: Jean Delvare <jdelvare@suse.de>
17 17
18Description18Description
19-----------19-----------
Documentation/hwmon/lm87+1−1
@@ -17,7 +17,7 @@ Authors: · 16 unmodified lines
17 Mark Studebaker <mdsxyz123@yahoo.com>,17 Mark Studebaker <mdsxyz123@yahoo.com>,
18 Stephen Rousset <stephen.rousset@rocketlogix.com>,18 Stephen Rousset <stephen.rousset@rocketlogix.com>,
19 Dan Eaton <dan.eaton@rocketlogix.com>,19 Dan Eaton <dan.eaton@rocketlogix.com>,
20 Jean Delvare <khali@linux-fr.org>,20 Jean Delvare <jdelvare@suse.de>,
21 Original 2.6 port Jeff Oliver21 Original 2.6 port Jeff Oliver
22 22
23Description23Description
Documentation/hwmon/lm90+1−1
@@ -129,7 +129,7 @@ Supported chips: · 128 unmodified lines
129 http://www.ti.com/litv/pdf/sbos686129 http://www.ti.com/litv/pdf/sbos686
130 130
131 131
132Author: Jean Delvare <khali@linux-fr.org>132Author: Jean Delvare <jdelvare@suse.de>
133 133
134 134
135Description135Description
Documentation/hwmon/lm92+1−1
@@ -19,7 +19,7 @@ Supported chips: · 18 unmodified lines
19 19
20Authors:20Authors:
21 Abraham van der Merwe <abraham@2d3d.co.za>21 Abraham van der Merwe <abraham@2d3d.co.za>
22 Jean Delvare <khali@linux-fr.org>22 Jean Delvare <jdelvare@suse.de>
23 23
24 24
25Description25Description
Documentation/hwmon/max1619+1−1
@@ -10,7 +10,7 @@ Supported chips: · 9 unmodified lines
10 10
11Authors:11Authors:
12 Oleksij Rempel <bug-track@fisher-privat.net>,12 Oleksij Rempel <bug-track@fisher-privat.net>,
13 Jean Delvare <khali@linux-fr.org>13 Jean Delvare <jdelvare@suse.de>
14 14
15Description15Description
16-----------16-----------
Documentation/hwmon/pc87360+1−1
@@ -7,7 +7,7 @@ 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 Datasheets: No longer available8 Datasheets: No longer available
9 9
10Authors: Jean Delvare <khali@linux-fr.org>10Authors: Jean Delvare <jdelvare@suse.de>
11 11
12Thanks to Sandeep Mehta, Tonko de Rooy and Daniel Ceregatti for testing.12Thanks to Sandeep Mehta, Tonko de Rooy and Daniel Ceregatti for testing.
13Thanks to Rudolf Marek for helping me investigate conversion issues.13Thanks to Rudolf Marek for helping me investigate conversion issues.
Documentation/hwmon/pc87427+1−1
@@ -7,7 +7,7 @@ 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 Datasheet: No longer available8 Datasheet: No longer available
9 9
10Author: Jean Delvare <khali@linux-fr.org>10Author: Jean Delvare <jdelvare@suse.de>
11 11
12Thanks to Amir Habibi at Candelis for setting up a test system, and to12Thanks to Amir Habibi at Candelis for setting up a test system, and to
13Michael Kress for testing several iterations of this driver.13Michael Kress for testing several iterations of this driver.
Documentation/hwmon/pcf8591+1−1
@@ -11,7 +11,7 @@ Supported chips: · 10 unmodified lines
11Authors:11Authors:
12 Aurelien Jarno <aurelien@aurel32.net>12 Aurelien Jarno <aurelien@aurel32.net>
13 valuable contributions by Jan M. Sendler <sendler@sendler.de>,13 valuable contributions by Jan M. Sendler <sendler@sendler.de>,
14 Jean Delvare <khali@linux-fr.org>14 Jean Delvare <jdelvare@suse.de>
15 15
16 16
17Description17Description
Documentation/hwmon/smsc47m1+1−1
@@ -25,7 +25,7 @@ Authors: · 24 unmodified lines
25 With assistance from Bruce Allen <ballen@uwm.edu>, and his25 With assistance from Bruce Allen <ballen@uwm.edu>, and his
26 fan.c program: http://www.lsc-group.phys.uwm.edu/%7Eballen/driver/26 fan.c program: http://www.lsc-group.phys.uwm.edu/%7Eballen/driver/
27 Gabriele Gorla <gorlik@yahoo.com>,27 Gabriele Gorla <gorlik@yahoo.com>,
28 Jean Delvare <khali@linux-fr.org>28 Jean Delvare <jdelvare@suse.de>
29 29
30Description30Description
31-----------31-----------
Documentation/hwmon/w83627ehf+1−1
@@ -36,7 +36,7 @@ Supported chips: · 35 unmodified lines
36 Datasheet: Available from Nuvoton upon request36 Datasheet: Available from Nuvoton upon request
37 37
38Authors:38Authors:
39 Jean Delvare <khali@linux-fr.org>39 Jean Delvare <jdelvare@suse.de>
40 Yuan Mu (Winbond)40 Yuan Mu (Winbond)
41 Rudolf Marek <r.marek@assembler.cz>41 Rudolf Marek <r.marek@assembler.cz>
42 David Hubbard <david.c.hubbard@gmail.com>42 David Hubbard <david.c.hubbard@gmail.com>
Documentation/hwmon/w83795+1−1
@@ -13,7 +13,7 @@ Supported chips: · 12 unmodified lines
13 13
14Authors:14Authors:
15 Wei Song (Nuvoton)15 Wei Song (Nuvoton)
16 Jean Delvare <khali@linux-fr.org>16 Jean Delvare <jdelvare@suse.de>
17 17
18 18
19Pin mapping19Pin mapping
Documentation/hwmon/w83l785ts+1−1
@@ -9,7 +9,7 @@ Supported chips: · 8 unmodified lines
9 http://www.winbond-usa.com/products/winbond_products/pdfs/PCIC/W83L785TS-S.pdf9 http://www.winbond-usa.com/products/winbond_products/pdfs/PCIC/W83L785TS-S.pdf
10 10
11Authors:11Authors:
12 Jean Delvare <khali@linux-fr.org>12 Jean Delvare <jdelvare@suse.de>
13 13
14Description14Description
15-----------15-----------
Documentation/i2c/busses/i2c-i801+1−1
@@ -33,7 +33,7 @@ and the additional 'Integrated Device Function' controllers are supported. · 32 unmodified lines
33 33
34Authors: 34Authors:
35 Mark Studebaker <mdsxyz123@yahoo.com>35 Mark Studebaker <mdsxyz123@yahoo.com>
36 Jean Delvare <khali@linux-fr.org>36 Jean Delvare <jdelvare@suse.de>
37 37
38 38
39Module Parameters39Module Parameters
Documentation/i2c/busses/i2c-parport+1−1
@@ -1,6 +1,6 @@
1Kernel driver i2c-parport1Kernel driver i2c-parport
2 2
3Author: Jean Delvare <khali@linux-fr.org> 3Author: Jean Delvare <jdelvare@suse.de>
4 4
5This is a unified driver for several i2c-over-parallel-port adapters,5This is a unified driver for several i2c-over-parallel-port adapters,
6such as the ones made by Philips, Velleman or ELV. This driver is6such as the ones made by Philips, Velleman or ELV. This driver is
Documentation/i2c/busses/i2c-parport-light+1−1
@@ -1,6 +1,6 @@
1Kernel driver i2c-parport-light1Kernel driver i2c-parport-light
2 2
3Author: Jean Delvare <khali@linux-fr.org> 3Author: Jean Delvare <jdelvare@suse.de>
4 4
5This driver is a light version of i2c-parport. It doesn't depend 5This driver is a light version of i2c-parport. It doesn't depend
6on the parport driver, and uses direct I/O access instead. This might be6on the parport driver, and uses direct I/O access instead. This might be
Documentation/i2c/busses/i2c-piix4+1−1
@@ -13,7 +13,7 @@ Supported adapters: · 12 unmodified lines
13 * AMD SP5100 (SB700 derivative found on some server mainboards)13 * AMD SP5100 (SB700 derivative found on some server mainboards)
14 Datasheet: Publicly available at the AMD website14 Datasheet: Publicly available at the AMD website
15 http://support.amd.com/us/Embedded_TechDocs/44413.pdf15 http://support.amd.com/us/Embedded_TechDocs/44413.pdf
16 * AMD Hudson-2, CZ16 * AMD Hudson-2, ML, CZ
17 Datasheet: Not publicly available17 Datasheet: Not publicly available
18 * Standard Microsystems (SMSC) SLC90E66 (Victory66) southbridge18 * Standard Microsystems (SMSC) SLC90E66 (Victory66) southbridge
19 Datasheet: Publicly available at the SMSC website http://www.smsc.com19 Datasheet: Publicly available at the SMSC website http://www.smsc.com
Documentation/i2c/busses/i2c-taos-evm+1−1
@@ -1,6 +1,6 @@
1Kernel driver i2c-taos-evm1Kernel driver i2c-taos-evm
2 2
3Author: Jean Delvare <khali@linux-fr.org>3Author: Jean Delvare <jdelvare@suse.de>
4 4
5This is a driver for the evaluation modules for TAOS I2C/SMBus chips.5This is a driver for the evaluation modules for TAOS I2C/SMBus chips.
6The modules include an SMBus master with limited capabilities, which can6The modules include an SMBus master with limited capabilities, which can
Documentation/i2c/busses/i2c-viapro+1−1
@@ -28,7 +28,7 @@ Supported adapters: · 27 unmodified lines
28Authors:28Authors:
29 Kyösti Mälkki <kmalkki@cc.hut.fi>,29 Kyösti Mälkki <kmalkki@cc.hut.fi>,
30 Mark D. Studebaker <mdsxyz123@yahoo.com>,30 Mark D. Studebaker <mdsxyz123@yahoo.com>,
31 Jean Delvare <khali@linux-fr.org>31 Jean Delvare <jdelvare@suse.de>
32 32
33Module Parameters33Module Parameters
34-----------------34-----------------
Documentation/i2c/fault-codes+0−3
@@ -64,9 +64,6 @@ EINVAL · 63 unmodified lines
64 detected before any I/O operation was started. Use a more64 detected before any I/O operation was started. Use a more
65 specific fault code when you can.65 specific fault code when you can.
66 66
67 One example would be a driver trying an SMBus Block Write
68 with block size outside the range of 1-32 bytes.
69
70EIO67EIO
71 This rather vague error means something went wrong when68 This rather vague error means something went wrong when
72 performing an I/O operation. Use a more specific fault69 performing an I/O operation. Use a more specific fault
Documentation/input/gamepad.txt+3−3
@@ -68,7 +68,7 @@ features that you need, first. How each feature is mapped is described below. · 67 unmodified lines
68Legacy drivers often don't comply to these rules. As we cannot change them68Legacy drivers often don't comply to these rules. As we cannot change them
69for backwards-compatibility reasons, you need to provide fixup mappings in69for backwards-compatibility reasons, you need to provide fixup mappings in
70user-space yourself. Some of them might also provide module-options that70user-space yourself. Some of them might also provide module-options that
71change the mappings so you can adivce users to set these.71change the mappings so you can advise users to set these.
72 72
73All new gamepads are supposed to comply with this mapping. Please report any73All new gamepads are supposed to comply with this mapping. Please report any
74bugs, if they don't.74bugs, if they don't.
@@ -150,10 +150,10 @@ Menu-Pad: · 75 unmodified lines
150 BTN_START150 BTN_START
151 Many pads also have a third button which is branded or has a special symbol151 Many pads also have a third button which is branded or has a special symbol
152 and meaning. Such buttons are mapped as BTN_MODE. Examples are the Nintendo152 and meaning. Such buttons are mapped as BTN_MODE. Examples are the Nintendo
153 "HOME" button, the XBox "X"-button or Sony "P" button.153 "HOME" button, the XBox "X"-button or Sony "PS" button.
154 154
155Rumble:155Rumble:
156 Rumble is adverticed as FF_RUMBLE.156 Rumble is advertised as FF_RUMBLE.
157 157
158----------------------------------------------------------------------------158----------------------------------------------------------------------------
159 Written 2013 by David Herrmann <dh.herrmann@gmail.com>159 Written 2013 by David Herrmann <dh.herrmann@gmail.com>
Documentation/input/joystick-api.txt+19−19
@@ -16,14 +16,14 @@ joystick. · 15 unmodified lines
16 16
17By default, the device is opened in blocking mode.17By default, the device is opened in blocking mode.
18 18
19 int fd = open ("/dev/js0", O_RDONLY);19 int fd = open ("/dev/input/js0", O_RDONLY);
20 20
21 21
222. Event Reading222. Event Reading
23~~~~~~~~~~~~~~~~23~~~~~~~~~~~~~~~~
24 24
25 struct js_event e;25 struct js_event e;
26 read (fd, &e, sizeof(struct js_event));26 read (fd, &e, sizeof(e));
27 27
28where js_event is defined as28where js_event is defined as
29 29
@@ -34,8 +34,8 @@ where js_event is defined as · 4 unmodified lines
34 __u8 number; /* axis/button number */34 __u8 number; /* axis/button number */
35 };35 };
36 36
37If the read is successful, it will return sizeof(struct js_event), unless37If the read is successful, it will return sizeof(e), unless you wanted to read
38you wanted to read more than one event per read as described in section 3.1.38more than one event per read as described in section 3.1.
39 39
40 40
412.1 js_event.type412.1 js_event.type
@@ -99,9 +99,9 @@ may work well if you handle JS_EVENT_INIT events separately, · 57 unmodified lines
99 99
100 if ((js_event.type & ~JS_EVENT_INIT) == JS_EVENT_BUTTON) {100 if ((js_event.type & ~JS_EVENT_INIT) == JS_EVENT_BUTTON) {
101 if (js_event.value)101 if (js_event.value)
102 buttons_state |= (1 << js_event.number);102 buttons_state |= (1 << js_event.number);
103 else103 else
104 buttons_state &= ~(1 << js_event.number);104 buttons_state &= ~(1 << js_event.number);
105 }105 }
106 106
107is much safer since it can't lose sync with the driver. As you would107is much safer since it can't lose sync with the driver. As you would
@@ -144,14 +144,14 @@ all events on the queue (that is, until you get a -1). · 36 unmodified lines
144For example,144For example,
145 145
146 while (1) {146 while (1) {
147 while (read (fd, &e, sizeof(struct js_event)) > 0) {147 while (read (fd, &e, sizeof(e)) > 0) {
148 process_event (e);148 process_event (e);
149 }149 }
150 /* EAGAIN is returned when the queue is empty */150 /* EAGAIN is returned when the queue is empty */
151 if (errno != EAGAIN) {151 if (errno != EAGAIN) {
152 /* error */152 /* error */
153 }153 }
154 /* do something interesting with processed events */154 /* do something interesting with processed events */
155 }155 }
156 156
157One reason for emptying the queue is that if it gets full you'll start157One reason for emptying the queue is that if it gets full you'll start
@@ -181,7 +181,7 @@ at a time using the typical read(2) functionality. For that, you would · 23 unmodified lines
181replace the read above with something like181replace the read above with something like
182 182
183 struct js_event mybuffer[0xff];183 struct js_event mybuffer[0xff];
184 int i = read (fd, mybuffer, sizeof(struct mybuffer));184 int i = read (fd, mybuffer, sizeof(mybuffer));
185 185
186In this case, read would return -1 if the queue was empty, or some186In this case, read would return -1 if the queue was empty, or some
187other value in which the number of events read would be i /187other value in which the number of events read would be i /
@@ -269,9 +269,9 @@ The driver offers backward compatibility, though. Here's a quick summary: · 81 unmodified lines
269 struct JS_DATA_TYPE js;269 struct JS_DATA_TYPE js;
270 while (1) {270 while (1) {
271 if (read (fd, &js, JS_RETURN) != JS_RETURN) {271 if (read (fd, &js, JS_RETURN) != JS_RETURN) {
272 /* error */272 /* error */
273 }273 }
274 usleep (1000);274 usleep (1000);
275 }275 }
276 276
277As you can figure out from the example, the read returns immediately,277As you can figure out from the example, the read returns immediately,
Documentation/input/joystick.txt+4−4
@@ -116,7 +116,7 @@ your needs: · 115 unmodified lines
116 For testing the joystick driver functionality, there is the jstest116 For testing the joystick driver functionality, there is the jstest
117program in the utilities package. You run it by typing:117program in the utilities package. You run it by typing:
118 118
119 jstest /dev/js0119 jstest /dev/input/js0
120 120
121 And it should show a line with the joystick values, which update as you121 And it should show a line with the joystick values, which update as you
122move the stick, and press its buttons. The axes should all be zero when the122move the stick, and press its buttons. The axes should all be zero when the
@@ -136,7 +136,7 @@ joystick should be autocalibrated by the driver automagically. However, with · 13 unmodified lines
136some analog joysticks, that either do not use linear resistors, or if you136some analog joysticks, that either do not use linear resistors, or if you
137want better precision, you can use the jscal program137want better precision, you can use the jscal program
138 138
139 jscal -c /dev/js0139 jscal -c /dev/input/js0
140 140
141 included in the joystick package to set better correction coefficients than141 included in the joystick package to set better correction coefficients than
142what the driver would choose itself.142what the driver would choose itself.
@@ -145,7 +145,7 @@ what the driver would choose itself. · 2 unmodified lines
145calibration using the jstest command, and if you do, you then can save the145calibration using the jstest command, and if you do, you then can save the
146correction coefficients into a file146correction coefficients into a file
147 147
148 jscal -p /dev/js0 > /etc/joystick.cal148 jscal -p /dev/input/js0 > /etc/joystick.cal
149 149
150 And add a line to your rc script executing that file150 And add a line to your rc script executing that file
151 151
@@ -556,7 +556,7 @@ interface, and "old" for the "0.x" interface. You run it by typing: · 404 unmodified lines
556 556
5575. FAQ5575. FAQ
558~~~~~~558~~~~~~
559Q: Running 'jstest /dev/js0' results in "File not found" error. What's the559Q: Running 'jstest /dev/input/js0' results in "File not found" error. What's the
560 cause?560 cause?
561A: The device files don't exist. Create them (see section 2.2).561A: The device files don't exist. Create them (see section 2.2).
562 562
Documentation/io-mapping.txt+1−1
@@ -38,7 +38,7 @@ maps are more efficient: · 37 unmodified lines
38 38
39 void io_mapping_unmap_atomic(void *vaddr)39 void io_mapping_unmap_atomic(void *vaddr)
40 40
41 'vaddr' must be the the value returned by the last41 'vaddr' must be the value returned by the last
42 io_mapping_map_atomic_wc call. This unmaps the specified42 io_mapping_map_atomic_wc call. This unmaps the specified
43 page and allows the task to sleep once again.43 page and allows the task to sleep once again.
44 44
Documentation/ioctl/ioctl-number.txt+1−0
@@ -73,6 +73,7 @@ Code Seq#(hex) Include File Comments · 72 unmodified lines
730x09 all linux/raid/md_u.h730x09 all linux/raid/md_u.h
740x10 00-0F drivers/char/s390/vmcp.h740x10 00-0F drivers/char/s390/vmcp.h
750x10 10-1F arch/s390/include/uapi/sclp_ctl.h750x10 10-1F arch/s390/include/uapi/sclp_ctl.h
760x10 20-2F arch/s390/include/uapi/asm/hypfs.h
760x12 all linux/fs.h770x12 all linux/fs.h
77 linux/blkpg.h78 linux/blkpg.h
780x1b all InfiniBand Subsystem <http://infiniband.sourceforge.net/>790x1b all InfiniBand Subsystem <http://infiniband.sourceforge.net/>
Documentation/ja_JP/HOWTO+2−2
@@ -149,7 +149,7 @@ linux-api@ver.kernel.org に送ることを勧めます。 · 148 unmodified lines
149 この他にパッチを作る方法についてのよくできた記述は-149 この他にパッチを作る方法についてのよくできた記述は-
150 150
151 "The Perfect Patch"151 "The Perfect Patch"
152 http://userweb.kernel.org/~akpm/stuff/tpp.txt152 http://www.ozlabs.org/~akpm/stuff/tpp.txt
153 "Linux kernel patch submission format"153 "Linux kernel patch submission format"
154 http://linux.yyz.us/patch-format.html154 http://linux.yyz.us/patch-format.html
155 155
@@ -622,7 +622,7 @@ Linux カーネルコミュニティは、一度に大量のコードの塊を · 466 unmodified lines
622これについて全てがどのようにあるべきかについての詳細は、以下のドキュメ622これについて全てがどのようにあるべきかについての詳細は、以下のドキュメ
623ントの ChangeLog セクションを見てください-623ントの ChangeLog セクションを見てください-
624 "The Perfect Patch"624 "The Perfect Patch"
625 http://userweb.kernel.org/~akpm/stuff/tpp.txt625 http://www.ozlabs.org/~akpm/stuff/tpp.txt
626 626
627これらのどれもが、時にはとても困難です。これらの慣例を完璧に実施するに627これらのどれもが、時にはとても困難です。これらの慣例を完璧に実施するに
628は数年かかるかもしれません。これは継続的な改善のプロセスであり、そのた628は数年かかるかもしれません。これは継続的な改善のプロセスであり、そのた
Documentation/kernel-parameters.txt+42−3
@@ -343,6 +343,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 342 unmodified lines
343 no: ACPI OperationRegions are not marked as reserved,343 no: ACPI OperationRegions are not marked as reserved,
344 no further checks are performed.344 no further checks are performed.
345 345
346 acpi_no_memhotplug [ACPI] Disable memory hotplug. Useful for kdump
347 kernels.
348
346 add_efi_memmap [EFI; X86] Include EFI memory map in349 add_efi_memmap [EFI; X86] Include EFI memory map in
347 kernel's map of available physical RAM.350 kernel's map of available physical RAM.
348 351
@@ -463,6 +466,22 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 114 unmodified lines
463 atkbd.softrepeat= [HW]466 atkbd.softrepeat= [HW]
464 Use software keyboard repeat467 Use software keyboard repeat
465 468
469 audit= [KNL] Enable the audit sub-system
470 Format: { "0" | "1" } (0 = disabled, 1 = enabled)
471 0 - kernel audit is disabled and can not be enabled
472 until the next reboot
473 unset - kernel audit is initialized but disabled and
474 will be fully enabled by the userspace auditd.
475 1 - kernel audit is initialized and partially enabled,
476 storing at most audit_backlog_limit messages in
477 RAM until it is fully enabled by the userspace
478 auditd.
479 Default: unset
480
481 audit_backlog_limit= [KNL] Set the audit queue size limit.
482 Format: <int> (must be >=0)
483 Default: 64
484
466 baycom_epp= [HW,AX25]485 baycom_epp= [HW,AX25]
467 Format: <io>,<mode>486 Format: <io>,<mode>
468 487
@@ -515,7 +534,14 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 46 unmodified lines
515 534
516 cgroup_disable= [KNL] Disable a particular controller535 cgroup_disable= [KNL] Disable a particular controller
517 Format: {name of the controller(s) to disable}536 Format: {name of the controller(s) to disable}
518 {Currently supported controllers - "memory"}537 The effects of cgroup_disable=foo are:
538 - foo isn't auto-mounted if you mount all cgroups in
539 a single hierarchy
540 - foo isn't visible as an individually mountable
541 subsystem
542 {Currently only "memory" controller deal with this and
543 cut the overhead, others just disable the usage. So
544 only cgroup_disable=memory is actually worthy}
519 545
520 checkreqprot [SELINUX] Set initial checkreqprot flag value.546 checkreqprot [SELINUX] Set initial checkreqprot flag value.
521 Format: { "0" | "1" }547 Format: { "0" | "1" }
@@ -1036,7 +1062,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 514 unmodified lines
1036 debugfs files are removed at module unload time.1062 debugfs files are removed at module unload time.
1037 1063
1038 gpt [EFI] Forces disk with valid GPT signature but1064 gpt [EFI] Forces disk with valid GPT signature but
1039 invalid Protective MBR to be treated as GPT.1065 invalid Protective MBR to be treated as GPT. If the
1066 primary GPT is corrupted, it enables the backup/alternate
1067 GPT to be used instead.
1040 1068
1041 grcan.enable0= [HW] Configuration of physical interface 0. Determines1069 grcan.enable0= [HW] Configuration of physical interface 0. Determines
1042 the "Enable 0" bit of the configuration register.1070 the "Enable 0" bit of the configuration register.
@@ -1438,6 +1466,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 395 unmodified lines
1438 Valid arguments: on, off1466 Valid arguments: on, off
1439 Default: on1467 Default: on
1440 1468
1469 kmemcheck= [X86] Boot-time kmemcheck enable/disable/one-shot mode
1470 Valid arguments: 0, 1, 2
1471 kmemcheck=0 (disabled)
1472 kmemcheck=1 (enabled)
1473 kmemcheck=2 (one-shot mode)
1474 Default: 2 (one-shot mode)
1475
1441 kstack=N [X86] Print N words from the kernel stack1476 kstack=N [X86] Print N words from the kernel stack
1442 in oops dumps.1477 in oops dumps.
1443 1478
@@ -3089,7 +3124,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 1645 unmodified lines
3089 controller if no parameter or 1 is given or disable3124 controller if no parameter or 1 is given or disable
3090 it if 0 is given (See Documentation/cgroups/memory.txt)3125 it if 0 is given (See Documentation/cgroups/memory.txt)
3091 3126
3092 swiotlb= [IA-64] Number of I/O TLB slabs3127 swiotlb= [ARM,IA-64,PPC,MIPS,X86]
3128 Format: { <int> | force }
3129 <int> -- Number of I/O TLB slabs
3130 force -- force using of bounce buffers even if they
3131 wouldn't be automatically used by the kernel
3093 3132
3094 switches= [HW,M68k]3133 switches= [HW,M68k]
3095 3134
Documentation/kmsg/s390/zcrypt+0−20
@@ -1,20 +0,0 @@
1/*?
2 * Text: "Cryptographic device %x failed and was set offline\n"
3 * Severity: Error
4 * Parameter:
5 * @1: device index
6 * Description:
7 * A cryptographic device failed to process a cryptographic request.
8 * The cryptographic device driver could not correct the error and
9 * set the device offline. The application that issued the
10 * request received an indication that the request has failed.
11 * User action:
12 * Use the lszcrypt command to confirm that the cryptographic
13 * hardware is still configured to your LPAR or z/VM guest virtual
14 * machine. If the device is available to your Linux instance the
15 * command output contains a line that begins with 'card<device index>',
16 * where <device index> is the two-digit decimal number in the message text.
17 * After ensuring that the device is available, use the chzcrypt command to
18 * set it online again.
19 * If the error persists, contact your support organization.
20 */
Documentation/ko_KR/HOWTO+46−84
@@ -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://userweb.kernel.org/~akpm/stuff/tpp.txt125 http://www.ozlabs.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
@@ -213,7 +213,7 @@ Documentation/DocBook/ 디렉토리 내에서 만들어지며 PDF, Postscript, H · 84 unmodified lines
213것은 Linux Cross-Reference project이며 그것은 자기 참조 방식이며213것은 Linux Cross-Reference project이며 그것은 자기 참조 방식이며
214소스코드를 인덱스된 웹 페이지들의 형태로 보여준다. 최신의 멋진 커널214소스코드를 인덱스된 웹 페이지들의 형태로 보여준다. 최신의 멋진 커널
215코드 저장소는 다음을 통하여 참조할 수 있다.215코드 저장소는 다음을 통하여 참조할 수 있다.
216 http://users.sosdg.org/~qiyong/lxr/216 http://lxr.linux.no/+trees
217 217
218 218
219개발 프로세스219개발 프로세스
@@ -222,20 +222,20 @@ Documentation/DocBook/ 디렉토리 내에서 만들어지며 PDF, Postscript, H · 2 unmodified lines
222리눅스 커널 개발 프로세스는 현재 몇몇 다른 메인 커널 "브랜치들"과222리눅스 커널 개발 프로세스는 현재 몇몇 다른 메인 커널 "브랜치들"과
223서브시스템에 특화된 커널 브랜치들로 구성된다. 몇몇 다른 메인223서브시스템에 특화된 커널 브랜치들로 구성된다. 몇몇 다른 메인
224브랜치들은 다음과 같다.224브랜치들은 다음과 같다.
225 - main 2.6.x 커널 트리225 - main 3.x 커널 트리
226 - 2.6.x.y - 안정된 커널 트리226 - 3.x.y - 안정된 커널 트리
227 - 2.6.x -git 커널 패치들227 - 3.x -git 커널 패치들
228 - 2.6.x -mm 커널 패치들
229 - 서브시스템을 위한 커널 트리들과 패치들228 - 서브시스템을 위한 커널 트리들과 패치들
229 - 3.x - 통합 테스트를 위한 next 커널 트리
230 230
2312.6.x 커널 트리2313.x 커널 트리
232---------------232---------------
233 233
2342.6.x 커널들은 Linux Torvalds가 관리하며 kernel.org의 pub/linux/kernel/v2.6/2343.x 커널들은 Linux Torvalds가 관리하며 kernel.org의 pub/linux/kernel/v3.x/
235디렉토리에서 참조될 수 있다.개발 프로세스는 다음과 같다.235디렉토리에서 참조될 수 있다.개발 프로세스는 다음과 같다.
236 - 새로운 커널이 배포되자마자 2주의 시간이 주어진다. 이 기간동은236 - 새로운 커널이 배포되자마자 2주의 시간이 주어진다. 이 기간동은
237 메인테이너들은 큰 diff들을 Linus에게 제출할 수 있다. 대개 이 패치들은237 메인테이너들은 큰 diff들을 Linus에게 제출할 수 있다. 대개 이 패치들은
238 몇 주 동안 -mm 커널내에 이미 있었던 것들이다. 큰 변경들을 제출하는 데238 몇 주 동안 -next 커널내에 이미 있었던 것들이다. 큰 변경들을 제출하는 데
239 선호되는 방법은 git(커널의 소스 관리 툴, 더 많은 정보들은 http://git.or.cz/239 선호되는 방법은 git(커널의 소스 관리 툴, 더 많은 정보들은 http://git.or.cz/
240 에서 참조할 수 있다)를 사용하는 것이지만 순수한 패치파일의 형식으로 보내는240 에서 참조할 수 있다)를 사용하는 것이지만 순수한 패치파일의 형식으로 보내는
241 것도 무관하다.241 것도 무관하다.
@@ -262,20 +262,20 @@ Andrew Morton의 글이 있다. · 20 unmodified lines
262 버그의 상황에 따라 배포되는 것이지 미리정해 놓은 시간에 따라262 버그의 상황에 따라 배포되는 것이지 미리정해 놓은 시간에 따라
263 배포되는 것은 아니기 때문이다."263 배포되는 것은 아니기 때문이다."
264 264
2652.6.x.y - 안정 커널 트리2653.x.y - 안정 커널 트리
266------------------------266------------------------
267 267
2684 자리 숫자로 이루어진 버젼의 커널들은 -stable 커널들이다. 그것들은 2.6.x2683 자리 숫자로 이루어진 버젼의 커널들은 -stable 커널들이다. 그것들은 3.x
269커널에서 발견된 큰 회귀들이나 보안 문제들 중 비교적 작고 중요한 수정들을269커널에서 발견된 큰 회귀들이나 보안 문제들 중 비교적 작고 중요한 수정들을
270포함한다.270포함한다.
271 271
272이것은 가장 최근의 안정적인 커널을 원하는 사용자에게 추천되는 브랜치이며,272이것은 가장 최근의 안정적인 커널을 원하는 사용자에게 추천되는 브랜치이며,
273개발/실험적 버젼을 테스트하는 것을 돕고자 하는 사용자들과는 별로 관련이 없다.273개발/실험적 버젼을 테스트하는 것을 돕고자 하는 사용자들과는 별로 관련이 없다.
274 274
275어떤 2.6.x.y 커널도 사용할 수 없다면 그때는 가장 높은 숫자의 2.6.x275어떤 3.x.y 커널도 사용할 수 없다면 그때는 가장 높은 숫자의 3.x
276커널이 현재의 안정 커널이다.276커널이 현재의 안정 커널이다.
277 277
2782.6.x.y는 "stable" 팀<stable@kernel.org>에 의해 관리되며 거의 매번 격주로2783.x.y는 "stable" 팀<stable@vger.kernel.org>에 의해 관리되며 거의 매번 격주로
279배포된다.279배포된다.
280 280
281커널 트리 문서들 내에 Documentation/stable_kernel_rules.txt 파일은 어떤281커널 트리 문서들 내에 Documentation/stable_kernel_rules.txt 파일은 어떤
@@ -283,84 +283,46 @@ Andrew Morton의 글이 있다. · 1 unmodified line
283진행되는지를 설명한다.283진행되는지를 설명한다.
284 284
285 285
2862.6.x -git 패치들2863.x -git 패치들
287------------------287------------------
288git 저장소(그러므로 -git이라는 이름이 붙음)에는 날마다 관리되는 Linus의288git 저장소(그러므로 -git이라는 이름이 붙음)에는 날마다 관리되는 Linus의
289커널 트리의 snapshot 들이 있다. 이 패치들은 일반적으로 날마다 배포되며289커널 트리의 snapshot 들이 있다. 이 패치들은 일반적으로 날마다 배포되며
290Linus의 트리의 현재 상태를 나타낸다. 이 패치들은 정상적인지 조금도290Linus의 트리의 현재 상태를 나타낸다. 이 패치들은 정상적인지 조금도
291살펴보지 않고 자동적으로 생성된 것이므로 -rc 커널들 보다도 더 실험적이다.291살펴보지 않고 자동적으로 생성된 것이므로 -rc 커널들 보다도 더 실험적이다.
292 292
2932.6.x -mm 커널 패치들
294---------------------
295Andrew Morton에 의해 배포된 실험적인 커널 패치들이다. Andrew는 모든 다른
296서브시스템 커널 트리와 패치들을 가져와서 리눅스 커널 메일링 리스트로
297온 많은 패치들과 한데 묶는다. 이 트리는 새로운 기능들과 패치들을 위한
298장소를 제공하는 역할을 한다. 하나의 패치가 -mm에 한동안 있으면서 그 가치가
299증명되게 되면 Andrew나 서브시스템 메인테이너는 그것을 메인라인에 포함시키기
300위하여 Linus에게 보낸다.
301
302커널 트리에 포함하고 싶은 모든 새로운 패치들은 Linus에게 보내지기 전에
303-mm 트리에서 테스트를 하는 것을 적극 추천한다.
304
305이 커널들은 안정되게 사용할 시스템에서에 실행하는 것은 적합하지 않으며
306다른 브랜치들의 어떤 것들보다 위험하다.
307
308여러분이 커널 개발 프로세스를 돕길 원한다면 이 커널 배포들을 사용하고
309테스트한 후 어떤 문제를 발견하거나 또는 모든 것이 잘 동작한다면 리눅스
310커널 메일링 리스트로 피드백을 해달라.
311
312이 커널들은 일반적으로 모든 다른 실험적인 패치들과 배포될 당시의
313사용가능한 메인라인 -git 커널들의 몇몇 변경을 포함한다.
314
315-mm 커널들은 정해진 일정대로 배포되지 않는다. 하지만 대개 몇몇 -mm 커널들은
316각 -rc 커널(1부터 3이 흔함) 사이에서 배포된다.
317
318서브시스템 커널 트리들과 패치들293서브시스템 커널 트리들과 패치들
319-------------------------------294-------------------------------
320많은 다른 커널 서브시스템 개발자들은 커널의 다른 부분들에서 무슨 일이295다양한 커널 서브시스템의 메인테이너들 --- 그리고 많은 커널 서브시스템 개발자들
321일어나고 있는지를 볼수 있도록 그들의 개발 트리를 공개한다. 이 트리들은296--- 은 그들의 현재 개발 상태를 소스 저장소로 노출한다. 이를 통해 다른 사람들도
322위에서 설명하였던 것 처럼 -mm 커널 배포들로 합쳐진다.297커널의 다른 영역에 어떤 변화가 이루어지고 있는지 알 수 있다. 급속히 개발이
323 298진행되는 영역이 있고 그렇지 않은 영역이 있으므로, 개발자는 다른 개발자가 제출한
324다음은 활용가능한 커널 트리들을 나열한다.299수정 사항과 자신의 수정사항의 충돌이나 동일한 일을 동시에 두사람이 따로
325 git trees:300진행하는 사태를 방지하기 위해 급속히 개발이 진행되고 있는 영역에 작업의
326 - Kbuild development tree, Sam Ravnborg < sam@ravnborg.org>301베이스를 맞춰줄 것이 요구된다.
327 git.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git302
328 303대부분의 이러한 저장소는 git 트리지만, git이 아닌 SCM으로 관리되거나, quilt
329 - ACPI development tree, Len Brown <len.brown@intel.com >304시리즈로 제공되는 패치들도 존재한다. 이러한 서브시스템 저장소들은 MAINTAINERS
330 git.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git305파일에 나열되어 있다. 대부분은 http://git.kernel.org 에서 볼 수 있다.
331 306
332 - Block development tree, Jens Axboe <jens.axboe@oracle.com>307제안된 패치는 서브시스템 트리에 커밋되기 전에 메일링 리스트를 통해
333 git.kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git308리뷰된다(아래의 관련 섹션을 참고하기 바란다). 일부 커널 서브시스템의 경우, 이
334 309리뷰 프로세스는 patchwork라는 도구를 통해 추적된다. patchwork은 등록된 패치와
335 - DRM development tree, Dave Airlie <airlied@linux.ie>310패치에 대한 코멘트, 패치의 버전을 볼 수 있는 웹 인터페이스를 제공하고,
336 git.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git311메인테이너는 패치를 리뷰 중, 리뷰 통과, 또는 반려됨으로 표시할 수 있다.
337 312대부분의 이러한 patchwork 사이트는 http://patchwork.kernel.org/ 또는
338 - ia64 development tree, Tony Luck < tony.luck@intel.com>313http://patchwork.ozlabs.org/ 에 나열되어 있다.
339 git.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git314
340 3153.x - 통합 테스트를 위한 next 커널 트리
341 - infiniband, Roland Dreier <rolandd@cisco.com >316-----------------------------------------
342 git.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git317서브시스템 트리들의 변경사항들은 mainline 3.x 트리로 들어오기 전에 통합
343 318테스트를 거쳐야 한다. 이런 목적으로, 모든 서브시스템 트리의 변경사항을 거의
344 - libata, Jeff Garzik <jgarzik@pobox.com>319매일 받아가는 특수한 테스트 저장소가 존재한다:
345 git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git320 http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git
346 321 http://linux.f-seidel.de/linux-next/pmwiki/
347 - network drivers, Jeff Garzik <jgarzik@pobox.com>322
348 git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git323이런 식으로, -next 커널을 통해 다음 머지 기간에 메인라인 커널에 어떤 변경이
349 324가해질 것인지 간략히 알 수 있다. 모험심 강한 테스터라면 -next 커널에서 테스트를
350 - pcmcia, Dominik Brodowski < linux@dominikbrodowski.net>325수행하는 것도 좋을 것이다.
351 git.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git
352
353 - SCSI, James Bottomley < James.Bottomley@SteelEye.com>
354 git.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
355
356 quilt trees:
357 - USB, PCI, Driver Core, and I2C, Greg Kroah-Hartman < gregkh@linuxfoundation.org>
358 kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
359 - x86-64, partly i386, Andi Kleen < ak@suse.de>
360 ftp.firstfloor.org:/pub/ak/x86_64/quilt/
361
362 다른 커널 트리들은 http://kernel.org/git와 MAINTAINERS 파일에서 참조할 수
363 있다.
364 326
365버그 보고327버그 보고
366---------328---------
@@ -597,7 +559,7 @@ Pat이라는 이름을 가진 여자가 있을 수도 있는 것이다. 리눅 · 230 unmodified lines
597 559
598이것이 무엇인지 더 자세한 것을 알고 싶다면 다음 문서의 ChageLog 항을 봐라.560이것이 무엇인지 더 자세한 것을 알고 싶다면 다음 문서의 ChageLog 항을 봐라.
599 "The Perfect Patch"561 "The Perfect Patch"
600 http://userweb.kernel.org/~akpm/stuff/tpp.txt562 http://www.ozlabs.org/~akpm/stuff/tpp.txt
601 563
602 564
603 565
Documentation/kobject.txt+4−1
@@ -342,7 +342,10 @@ kset use: · 341 unmodified lines
342 342
343When you are finished with the kset, call:343When you are finished with the kset, call:
344 void kset_unregister(struct kset *kset);344 void kset_unregister(struct kset *kset);
345to destroy it.345to destroy it. This removes the kset from sysfs and decrements its reference
346count. When the reference count goes to zero, the kset will be released.
347Because other references to the kset may still exist, the release may happen
348after kset_unregister() returns.
346 349
347An example of using a kset can be seen in the350An example of using a kset can be seen in the
348samples/kobject/kset-example.c file in the kernel tree.351samples/kobject/kset-example.c file in the kernel tree.
Documentation/laptops/hpfall.c+1−1
@@ -29,7 +29,7 @@ int set_unload_heads_path(char *device) · 28 unmodified lines
29 return -EINVAL;29 return -EINVAL;
30 strncpy(devname, device + 5, sizeof(devname));30 strncpy(devname, device + 5, sizeof(devname));
31 31
32 snprintf(unload_heads_path, sizeof(unload_heads_path),32 snprintf(unload_heads_path, sizeof(unload_heads_path) - 1,
33 "/sys/block/%s/device/unload_heads", devname);33 "/sys/block/%s/device/unload_heads", devname);
34 return 0;34 return 0;
35}35}
Documentation/leds/leds-lp55xx.txt+9−1
@@ -73,6 +73,10 @@ select_engine : Select which engine is used for running program · 72 unmodified lines
73run_engine : Start program which is loaded via the firmware interface73run_engine : Start program which is loaded via the firmware interface
74firmware : Load program data74firmware : Load program data
75 75
76In case of LP5523, one more command is required, 'enginex_leds'.
77It is used for selecting LED output(s) at each engine number.
78In more details, please refer to 'leds-lp5523.txt'.
79
76For example, run blinking pattern in engine #1 of LP552180For example, run blinking pattern in engine #1 of LP5521
77echo 1 > /sys/bus/i2c/devices/xxxx/select_engine81echo 1 > /sys/bus/i2c/devices/xxxx/select_engine
78echo 1 > /sys/class/firmware/lp5521/loading82echo 1 > /sys/class/firmware/lp5521/loading
@@ -81,10 +85,12 @@ echo 0 > /sys/class/firmware/lp5521/loading · 2 unmodified lines
81echo 1 > /sys/bus/i2c/devices/xxxx/run_engine85echo 1 > /sys/bus/i2c/devices/xxxx/run_engine
82 86
83For example, run blinking pattern in engine #3 of LP5523187For example, run blinking pattern in engine #3 of LP55231
88Two LEDs are configured as pattern output channels.
84echo 3 > /sys/bus/i2c/devices/xxxx/select_engine89echo 3 > /sys/bus/i2c/devices/xxxx/select_engine
85echo 1 > /sys/class/firmware/lp55231/loading90echo 1 > /sys/class/firmware/lp55231/loading
86echo "9d0740ff7e0040007e00a0010000" > /sys/class/firmware/lp55231/data91echo "9d0740ff7e0040007e00a0010000" > /sys/class/firmware/lp55231/data
87echo 0 > /sys/class/firmware/lp55231/loading92echo 0 > /sys/class/firmware/lp55231/loading
93echo "000001100" > /sys/bus/i2c/devices/xxxx/engine3_leds
88echo 1 > /sys/bus/i2c/devices/xxxx/run_engine94echo 1 > /sys/bus/i2c/devices/xxxx/run_engine
89 95
90To start blinking patterns in engine #2 and #3 simultaneously,96To start blinking patterns in engine #2 and #3 simultaneously,
@@ -99,17 +105,19 @@ done · 8 unmodified lines
99echo 1 > /sys/class/leds/red/device/run_engine105echo 1 > /sys/class/leds/red/device/run_engine
100 106
101Here is another example for LP5523.107Here is another example for LP5523.
108Full LED strings are selected by 'engine2_leds'.
102echo 2 > /sys/bus/i2c/devices/xxxx/select_engine109echo 2 > /sys/bus/i2c/devices/xxxx/select_engine
103echo 1 > /sys/class/firmware/lp5523/loading110echo 1 > /sys/class/firmware/lp5523/loading
104echo "9d80400004ff05ff437f0000" > /sys/class/firmware/lp5523/data111echo "9d80400004ff05ff437f0000" > /sys/class/firmware/lp5523/data
105echo 0 > /sys/class/firmware/lp5523/loading112echo 0 > /sys/class/firmware/lp5523/loading
113echo "111111111" > /sys/bus/i2c/devices/xxxx/engine2_leds
106echo 1 > /sys/bus/i2c/devices/xxxx/run_engine114echo 1 > /sys/bus/i2c/devices/xxxx/run_engine
107 115
108As soon as 'loading' is set to 0, registered callback is called.116As soon as 'loading' is set to 0, registered callback is called.
109Inside the callback, the selected engine is loaded and memory is updated.117Inside the callback, the selected engine is loaded and memory is updated.
110To run programmed pattern, 'run_engine' attribute should be enabled.118To run programmed pattern, 'run_engine' attribute should be enabled.
111 119
112The pattern sqeuence of LP8501 is same as LP5523.120The pattern sqeuence of LP8501 is similar to LP5523.
113However pattern data is specific.121However pattern data is specific.
114Ex 1) Engine 1 is used122Ex 1) Engine 1 is used
115echo 1 > /sys/bus/i2c/devices/xxxx/select_engine123echo 1 > /sys/bus/i2c/devices/xxxx/select_engine
Documentation/md.txt+1−1
@@ -533,7 +533,7 @@ also have · 532 unmodified lines
533 found. The count in 'mismatch_cnt' is the number of sectors533 found. The count in 'mismatch_cnt' is the number of sectors
534 that were re-written, or (for 'check') would have been534 that were re-written, or (for 'check') would have been
535 re-written. As most raid levels work in units of pages rather535 re-written. As most raid levels work in units of pages rather
536 than sectors, this my be larger than the number of actual errors536 than sectors, this may be larger than the number of actual errors
537 by a factor of the number of sectors in a page.537 by a factor of the number of sectors in a page.
538 538
539 bitmap_set_bits539 bitmap_set_bits
Documentation/misc-devices/eeprom+1−1
@@ -38,7 +38,7 @@ Supported chips: · 37 unmodified lines
38Authors:38Authors:
39 Frodo Looijaard <frodol@dds.nl>,39 Frodo Looijaard <frodol@dds.nl>,
40 Philip Edelbrock <phil@netroedge.com>,40 Philip Edelbrock <phil@netroedge.com>,
41 Jean Delvare <khali@linux-fr.org>,41 Jean Delvare <jdelvare@suse.de>,
42 Greg Kroah-Hartman <greg@kroah.com>,42 Greg Kroah-Hartman <greg@kroah.com>,
43 IBM Corp.43 IBM Corp.
44 44
Documentation/misc-devices/mei/mei-amt-version.c+0−2
@@ -115,8 +115,6 @@ static bool mei_init(struct mei *me, const uuid_le *guid, · 114 unmodified lines
115 struct mei_client *cl;115 struct mei_client *cl;
116 struct mei_connect_client_data data;116 struct mei_connect_client_data data;
117 117
118 mei_deinit(me);
119
120 me->verbose = verbose;118 me->verbose = verbose;
121 119
122 me->fd = open("/dev/mei", O_RDWR);120 me->fd = open("/dev/mei", O_RDWR);
Documentation/mtd/nand/pxa3xx-nand.txt+113−0
@@ -0,0 +1,113 @@
1
2About this document
3===================
4
5Some notes about Marvell's NAND controller available in PXA and Armada 370/XP
6SoC (aka NFCv1 and NFCv2), with an emphasis on the latter.
7
8NFCv2 controller background
9===========================
10
11The controller has a 2176 bytes FIFO buffer. Therefore, in order to support
12larger pages, I/O operations on 4 KiB and 8 KiB pages is done with a set of
13chunked transfers.
14
15For instance, if we choose a 2048 data chunk and set "BCH" ECC (see below)
16we'll have this layout in the pages:
17
18 ------------------------------------------------------------------------------
19 | 2048B data | 32B spare | 30B ECC || 2048B data | 32B spare | 30B ECC | ... |
20 ------------------------------------------------------------------------------
21
22The driver reads the data and spare portions independently and builds an internal
23buffer with this layout (in the 4 KiB page case):
24
25 ------------------------------------------
26 | 4096B data | 64B spare |
27 ------------------------------------------
28
29Also, for the READOOB command the driver disables the ECC and reads a 'spare + ECC'
30OOB, one per chunk read.
31
32 -------------------------------------------------------------------
33 | 4096B data | 32B spare | 30B ECC | 32B spare | 30B ECC |
34 -------------------------------------------------------------------
35
36So, in order to achieve reading (for instance), we issue several READ0 commands
37(with some additional controller-specific magic) and read two chunks of 2080B
38(2048 data + 32 spare) each.
39The driver accommodates this data to expose the NAND core a contiguous buffer
40(4096 data + spare) or (4096 + spare + ECC + spare + ECC).
41
42ECC
43===
44
45The controller has built-in hardware ECC capabilities. In addition it is
46configurable between two modes: 1) Hamming, 2) BCH.
47
48Note that the actual BCH mode: BCH-4 or BCH-8 will depend on the way
49the controller is configured to transfer the data.
50
51In the BCH mode the ECC code will be calculated for each transfered chunk
52and expected to be located (when reading/programming) right after the spare
53bytes as the figure above shows.
54
55So, repeating the above scheme, a 2048B data chunk will be followed by 32B
56spare, and then the ECC controller will read/write the ECC code (30B in
57this case):
58
59 ------------------------------------
60 | 2048B data | 32B spare | 30B ECC |
61 ------------------------------------
62
63If the ECC mode is 'BCH' then the ECC is *always* 30 bytes long.
64If the ECC mode is 'Hamming' the ECC is 6 bytes long, for each 512B block.
65So in Hamming mode, a 2048B page will have a 24B ECC.
66
67Despite all of the above, the controller requires the driver to only read or
68write in multiples of 8-bytes, because the data buffer is 64-bits.
69
70OOB
71===
72
73Because of the above scheme, and because the "spare" OOB is really located in
74the middle of a page, spare OOB cannot be read or write independently of the
75data area. In other words, in order to read the OOB (aka READOOB), the entire
76page (aka READ0) has to be read.
77
78In the same sense, in order to write to the spare OOB the driver has to write
79an *entire* page.
80
81Factory bad blocks handling
82===========================
83
84Given the ECC BCH requires to layout the device's pages in a split
85data/OOB/data/OOB way, the controller has a view of the flash page that's
86different from the specified (aka the manufacturer's) view. In other words,
87
88Factory view:
89
90 -----------------------------------------------
91 | Data |x OOB |
92 -----------------------------------------------
93
94Driver's view:
95
96 -----------------------------------------------
97 | Data | OOB | Data x | OOB |
98 -----------------------------------------------
99
100It can be seen from the above, that the factory bad block marker must be
101searched within the 'data' region, and not in the usual OOB region.
102
103In addition, this means under regular usage the driver will write such
104position (since it belongs to the data region) and every used block is
105likely to be marked as bad.
106
107For this reason, marking the block as bad in the OOB is explicitly
108disabled by using the NAND_BBT_NO_OOB_BBM option in the driver. The rationale
109for this is that there's no point in marking a block as bad, because good
110blocks are also 'marked as bad' (in the OOB BBM sense) under normal usage.
111
112Instead, the driver relies on the bad block table alone, and should only perform
113the bad block scan on the very first time (when the device hasn't been used).
Documentation/networking/batman-adv.txt+4−5
@@ -66,11 +66,10 @@ All mesh wide settings can be found in batman's own interface · 65 unmodified lines
66folder:66folder:
67 67
68# ls /sys/class/net/bat0/mesh/68# ls /sys/class/net/bat0/mesh/
69# aggregated_ogms gw_bandwidth log_level69#aggregated_ogms distributed_arp_table gw_sel_class orig_interval
70# ap_isolation gw_mode orig_interval70#ap_isolation fragmentation hop_penalty routing_algo
71# bonding gw_sel_class routing_algo71#bonding gw_bandwidth isolation_mark vlan0
72# bridge_loop_avoidance hop_penalty fragmentation72#bridge_loop_avoidance gw_mode log_level
73
74 73
75There is a special folder for debugging information:74There is a special folder for debugging information:
76 75
Documentation/networking/bonding.txt+10−1
@@ -657,7 +657,8 @@ primary · 656 unmodified lines
657 one slave is preferred over another, e.g., when one slave has657 one slave is preferred over another, e.g., when one slave has
658 higher throughput than another.658 higher throughput than another.
659 659
660 The primary option is only valid for active-backup mode.660 The primary option is only valid for active-backup(1),
661 balance-tlb (5) and balance-alb (6) mode.
661 662
662primary_reselect663primary_reselect
663 664
@@ -853,6 +854,14 @@ resend_igmp · 189 unmodified lines
853 854
854 This option was added for bonding version 3.7.0.855 This option was added for bonding version 3.7.0.
855 856
857lp_interval
858
859 Specifies the number of seconds between instances where the bonding
860 driver sends learning packets to each slaves peer switch.
861
862 The valid range is 1 - 0x7fffffff; the default value is 1. This Option
863 has effect only in balance-tlb and balance-alb modes.
864
8563. Configuring Bonding Devices8653. Configuring Bonding Devices
857==============================866==============================
858 867
Documentation/networking/can.txt+37−57
@@ -2,21 +2,20 @@ · 1 unmodified line
2 2
3can.txt3can.txt
4 4
5Readme file for the Controller Area Network Protocol Family (aka Socket CAN)5Readme file for the Controller Area Network Protocol Family (aka SocketCAN)
6 6
7This file contains7This file contains
8 8
9 1 Overview / What is Socket CAN9 1 Overview / What is SocketCAN
10 10
11 2 Motivation / Why using the socket API11 2 Motivation / Why using the socket API
12 12
13 3 Socket CAN concept13 3 SocketCAN concept
14 3.1 receive lists14 3.1 receive lists
15 3.2 local loopback of sent frames15 3.2 local loopback of sent frames
16 3.3 network security issues (capabilities)16 3.3 network problem notifications
17 3.4 network problem notifications
18 17
19 4 How to use Socket CAN18 4 How to use SocketCAN
20 4.1 RAW protocol sockets with can_filters (SOCK_RAW)19 4.1 RAW protocol sockets with can_filters (SOCK_RAW)
21 4.1.1 RAW socket option CAN_RAW_FILTER20 4.1.1 RAW socket option CAN_RAW_FILTER
22 4.1.2 RAW socket option CAN_RAW_ERR_FILTER21 4.1.2 RAW socket option CAN_RAW_ERR_FILTER
@@ -34,7 +33,7 @@ This file contains · 11 unmodified lines
34 4.3 connected transport protocols (SOCK_SEQPACKET)33 4.3 connected transport protocols (SOCK_SEQPACKET)
35 4.4 unconnected transport protocols (SOCK_DGRAM)34 4.4 unconnected transport protocols (SOCK_DGRAM)
36 35
37 5 Socket CAN core module36 5 SocketCAN core module
38 5.1 can.ko module params37 5.1 can.ko module params
39 5.2 procfs content38 5.2 procfs content
40 5.3 writing own CAN protocol modules39 5.3 writing own CAN protocol modules
@@ -51,20 +50,20 @@ This file contains · 10 unmodified lines
51 6.6 CAN FD (flexible data rate) driver support50 6.6 CAN FD (flexible data rate) driver support
52 6.7 supported CAN hardware51 6.7 supported CAN hardware
53 52
54 7 Socket CAN resources53 7 SocketCAN resources
55 54
56 8 Credits55 8 Credits
57 56
58============================================================================57============================================================================
59 58
601. Overview / What is Socket CAN591. Overview / What is SocketCAN
61--------------------------------60--------------------------------
62 61
63The socketcan package is an implementation of CAN protocols62The socketcan package is an implementation of CAN protocols
64(Controller Area Network) for Linux. CAN is a networking technology63(Controller Area Network) for Linux. CAN is a networking technology
65which has widespread use in automation, embedded devices, and64which has widespread use in automation, embedded devices, and
66automotive fields. While there have been other CAN implementations65automotive fields. While there have been other CAN implementations
67for Linux based on character devices, Socket CAN uses the Berkeley66for Linux based on character devices, SocketCAN uses the Berkeley
68socket API, the Linux network stack and implements the CAN device67socket API, the Linux network stack and implements the CAN device
69drivers as network interfaces. The CAN socket API has been designed68drivers as network interfaces. The CAN socket API has been designed
70as similar as possible to the TCP/IP protocols to allow programmers,69as similar as possible to the TCP/IP protocols to allow programmers,
@@ -74,7 +73,7 @@ sockets. · 3 unmodified lines
742. Motivation / Why using the socket API732. Motivation / Why using the socket API
75----------------------------------------74----------------------------------------
76 75
77There have been CAN implementations for Linux before Socket CAN so the76There have been CAN implementations for Linux before SocketCAN so the
78question arises, why we have started another project. Most existing77question arises, why we have started another project. Most existing
79implementations come as a device driver for some CAN hardware, they78implementations come as a device driver for some CAN hardware, they
80are based on character devices and provide comparatively little79are based on character devices and provide comparatively little
@@ -89,10 +88,10 @@ the CAN controller requires employment of another device driver and · 8 unmodified lines
89often the need for adaption of large parts of the application to the88often the need for adaption of large parts of the application to the
90new driver's API.89new driver's API.
91 90
92Socket CAN was designed to overcome all of these limitations. A new91SocketCAN was designed to overcome all of these limitations. A new
93protocol family has been implemented which provides a socket interface92protocol family has been implemented which provides a socket interface
94to user space applications and which builds upon the Linux network93to user space applications and which builds upon the Linux network
95layer, so to use all of the provided queueing functionality. A device94layer, enabling use all of the provided queueing functionality. A device
96driver for CAN controller hardware registers itself with the Linux95driver for CAN controller hardware registers itself with the Linux
97network layer as a network device, so that CAN frames from the96network layer as a network device, so that CAN frames from the
98controller can be passed up to the network layer and on to the CAN97controller can be passed up to the network layer and on to the CAN
@@ -146,15 +145,15 @@ solution for a couple of reasons: · 47 unmodified lines
146 providing an API for device drivers to register with. However, then145 providing an API for device drivers to register with. However, then
147 it would be no more difficult, or may be even easier, to use the146 it would be no more difficult, or may be even easier, to use the
148 networking framework provided by the Linux kernel, and this is what147 networking framework provided by the Linux kernel, and this is what
149 Socket CAN does.148 SocketCAN does.
150 149
151 The use of the networking framework of the Linux kernel is just the150 The use of the networking framework of the Linux kernel is just the
152 natural and most appropriate way to implement CAN for Linux.151 natural and most appropriate way to implement CAN for Linux.
153 152
1543. Socket CAN concept1533. SocketCAN concept
155---------------------154---------------------
156 155
157 As described in chapter 2 it is the main goal of Socket CAN to156 As described in chapter 2 it is the main goal of SocketCAN to
158 provide a socket interface to user space applications which builds157 provide a socket interface to user space applications which builds
159 upon the Linux network layer. In contrast to the commonly known158 upon the Linux network layer. In contrast to the commonly known
160 TCP/IP and ethernet networking, the CAN bus is a broadcast-only(!)159 TCP/IP and ethernet networking, the CAN bus is a broadcast-only(!)
@@ -168,11 +167,11 @@ solution for a couple of reasons: · 7 unmodified lines
168 167
169 The network transparent access of multiple applications leads to the168 The network transparent access of multiple applications leads to the
170 problem that different applications may be interested in the same169 problem that different applications may be interested in the same
171 CAN-IDs from the same CAN network interface. The Socket CAN core170 CAN-IDs from the same CAN network interface. The SocketCAN core
172 module - which implements the protocol family CAN - provides several171 module - which implements the protocol family CAN - provides several
173 high efficient receive lists for this reason. If e.g. a user space172 high efficient receive lists for this reason. If e.g. a user space
174 application opens a CAN RAW socket, the raw protocol module itself173 application opens a CAN RAW socket, the raw protocol module itself
175 requests the (range of) CAN-IDs from the Socket CAN core that are174 requests the (range of) CAN-IDs from the SocketCAN core that are
176 requested by the user. The subscription and unsubscription of175 requested by the user. The subscription and unsubscription of
177 CAN-IDs can be done for specific CAN interfaces or for all(!) known176 CAN-IDs can be done for specific CAN interfaces or for all(!) known
178 CAN interfaces with the can_rx_(un)register() functions provided to177 CAN interfaces with the can_rx_(un)register() functions provided to
@@ -217,21 +216,7 @@ solution for a couple of reasons: · 38 unmodified lines
217 * = you really like to have this when you're running analyser tools216 * = you really like to have this when you're running analyser tools
218 like 'candump' or 'cansniffer' on the (same) node.217 like 'candump' or 'cansniffer' on the (same) node.
219 218
220 3.3 network security issues (capabilities)219 3.3 network problem notifications
221
222 The Controller Area Network is a local field bus transmitting only
223 broadcast messages without any routing and security concepts.
224 In the majority of cases the user application has to deal with
225 raw CAN frames. Therefore it might be reasonable NOT to restrict
226 the CAN access only to the user root, as known from other networks.
227 Since the currently implemented CAN_RAW and CAN_BCM sockets can only
228 send and receive frames to/from CAN interfaces it does not affect
229 security of others networks to allow all users to access the CAN.
230 To enable non-root users to access CAN_RAW and CAN_BCM protocol
231 sockets the Kconfig options CAN_RAW_USER and/or CAN_BCM_USER may be
232 selected at kernel compile time.
233
234 3.4 network problem notifications
235 220
236 The use of the CAN bus may lead to several problems on the physical221 The use of the CAN bus may lead to several problems on the physical
237 and media access control layer. Detecting and logging of these lower222 and media access control layer. Detecting and logging of these lower
@@ -251,11 +236,11 @@ solution for a couple of reasons: · 13 unmodified lines
251 by default. The format of the CAN error message frame is briefly236 by default. The format of the CAN error message frame is briefly
252 described in the Linux header file "include/linux/can/error.h".237 described in the Linux header file "include/linux/can/error.h".
253 238
2544. How to use Socket CAN2394. How to use SocketCAN
255------------------------240------------------------
256 241
257 Like TCP/IP, you first need to open a socket for communicating over a242 Like TCP/IP, you first need to open a socket for communicating over a
258 CAN network. Since Socket CAN implements a new protocol family, you243 CAN network. Since SocketCAN implements a new protocol family, you
259 need to pass PF_CAN as the first argument to the socket(2) system244 need to pass PF_CAN as the first argument to the socket(2) system
260 call. Currently, there are two CAN protocols to choose from, the raw245 call. Currently, there are two CAN protocols to choose from, the raw
261 socket protocol and the broadcast manager (BCM). So to open a socket,246 socket protocol and the broadcast manager (BCM). So to open a socket,
@@ -286,8 +271,8 @@ solution for a couple of reasons: · 24 unmodified lines
286 };271 };
287 272
288 The alignment of the (linear) payload data[] to a 64bit boundary273 The alignment of the (linear) payload data[] to a 64bit boundary
289 allows the user to define own structs and unions to easily access the274 allows the user to define their own structs and unions to easily access
290 CAN payload. There is no given byteorder on the CAN bus by275 the CAN payload. There is no given byteorder on the CAN bus by
291 default. A read(2) system call on a CAN_RAW socket transfers a276 default. A read(2) system call on a CAN_RAW socket transfers a
292 struct can_frame to the user space.277 struct can_frame to the user space.
293 278
@@ -479,7 +464,7 @@ solution for a couple of reasons: · 185 unmodified lines
479 464
480 setsockopt(s, SOL_CAN_RAW, CAN_RAW_FILTER, NULL, 0);465 setsockopt(s, SOL_CAN_RAW, CAN_RAW_FILTER, NULL, 0);
481 466
482 To set the filters to zero filters is quite obsolete as not read467 To set the filters to zero filters is quite obsolete as to not read
483 data causes the raw socket to discard the received CAN frames. But468 data causes the raw socket to discard the received CAN frames. But
484 having this 'send only' use-case we may remove the receive list in the469 having this 'send only' use-case we may remove the receive list in the
485 Kernel to save a little (really a very little!) CPU usage.470 Kernel to save a little (really a very little!) CPU usage.
@@ -814,17 +799,17 @@ solution for a couple of reasons: · 328 unmodified lines
814 4.4 unconnected transport protocols (SOCK_DGRAM)799 4.4 unconnected transport protocols (SOCK_DGRAM)
815 800
816 801
8175. Socket CAN core module8025. SocketCAN core module
818-------------------------803-------------------------
819 804
820 The Socket CAN core module implements the protocol family805 The SocketCAN core module implements the protocol family
821 PF_CAN. CAN protocol modules are loaded by the core module at806 PF_CAN. CAN protocol modules are loaded by the core module at
822 runtime. The core module provides an interface for CAN protocol807 runtime. The core module provides an interface for CAN protocol
823 modules to subscribe needed CAN IDs (see chapter 3.1).808 modules to subscribe needed CAN IDs (see chapter 3.1).
824 809
825 5.1 can.ko module params810 5.1 can.ko module params
826 811
827 - stats_timer: To calculate the Socket CAN core statistics812 - stats_timer: To calculate the SocketCAN core statistics
828 (e.g. current/maximum frames per second) this 1 second timer is813 (e.g. current/maximum frames per second) this 1 second timer is
829 invoked at can.ko module start time by default. This timer can be814 invoked at can.ko module start time by default. This timer can be
830 disabled by using stattimer=0 on the module commandline.815 disabled by using stattimer=0 on the module commandline.
@@ -833,7 +818,7 @@ solution for a couple of reasons: · 2 unmodified lines
833 818
834 5.2 procfs content819 5.2 procfs content
835 820
836 As described in chapter 3.1 the Socket CAN core uses several filter821 As described in chapter 3.1 the SocketCAN core uses several filter
837 lists to deliver received CAN frames to CAN protocol modules. These822 lists to deliver received CAN frames to CAN protocol modules. These
838 receive lists, their filters and the count of filter matches can be823 receive lists, their filters and the count of filter matches can be
839 checked in the appropriate receive list. All entries contain the824 checked in the appropriate receive list. All entries contain the
@@ -860,15 +845,15 @@ solution for a couple of reasons: · 20 unmodified lines
860 845
861 Additional procfs files in /proc/net/can846 Additional procfs files in /proc/net/can
862 847
863 stats - Socket CAN core statistics (rx/tx frames, match ratios, ...)848 stats - SocketCAN core statistics (rx/tx frames, match ratios, ...)
864 reset_stats - manual statistic reset849 reset_stats - manual statistic reset
865 version - prints the Socket CAN core version and the ABI version850 version - prints the SocketCAN core version and the ABI version
866 851
867 5.3 writing own CAN protocol modules852 5.3 writing own CAN protocol modules
868 853
869 To implement a new protocol in the protocol family PF_CAN a new854 To implement a new protocol in the protocol family PF_CAN a new
870 protocol has to be defined in include/linux/can.h .855 protocol has to be defined in include/linux/can.h .
871 The prototypes and definitions to use the Socket CAN core can be856 The prototypes and definitions to use the SocketCAN core can be
872 accessed by including include/linux/can/core.h .857 accessed by including include/linux/can/core.h .
873 In addition to functions that register the CAN protocol and the858 In addition to functions that register the CAN protocol and the
874 CAN device notifier chain there are functions to subscribe CAN859 CAN device notifier chain there are functions to subscribe CAN
@@ -1105,7 +1090,7 @@ solution for a couple of reasons: · 230 unmodified lines
1105 1090
1106 $ ip link set canX up type can bitrate 1250001091 $ ip link set canX up type can bitrate 125000
1107 1092
1108 A device may enter the "bus-off" state if too much errors occurred on1093 A device may enter the "bus-off" state if too many errors occurred on
1109 the CAN bus. Then no more messages are received or sent. An automatic1094 the CAN bus. Then no more messages are received or sent. An automatic
1110 bus-off recovery can be enabled by setting the "restart-ms" to a1095 bus-off recovery can be enabled by setting the "restart-ms" to a
1111 non-zero value, e.g.:1096 non-zero value, e.g.:
@@ -1125,7 +1110,7 @@ solution for a couple of reasons: · 13 unmodified lines
1125 1110
1126 CAN FD capable CAN controllers support two different bitrates for the1111 CAN FD capable CAN controllers support two different bitrates for the
1127 arbitration phase and the payload phase of the CAN FD frame. Therefore a1112 arbitration phase and the payload phase of the CAN FD frame. Therefore a
1128 second bittiming has to be specified in order to enable the CAN FD bitrate.1113 second bit timing has to be specified in order to enable the CAN FD bitrate.
1129 1114
1130 Additionally CAN FD capable CAN controllers support up to 64 bytes of1115 Additionally CAN FD capable CAN controllers support up to 64 bytes of
1131 payload. The representation of this length in can_frame.can_dlc and1116 payload. The representation of this length in can_frame.can_dlc and
@@ -1150,21 +1135,16 @@ solution for a couple of reasons: · 18 unmodified lines
1150 6.7 Supported CAN hardware1135 6.7 Supported CAN hardware
1151 1136
1152 Please check the "Kconfig" file in "drivers/net/can" to get an actual1137 Please check the "Kconfig" file in "drivers/net/can" to get an actual
1153 list of the support CAN hardware. On the Socket CAN project website1138 list of the support CAN hardware. On the SocketCAN project website
1154 (see chapter 7) there might be further drivers available, also for1139 (see chapter 7) there might be further drivers available, also for
1155 older kernel versions.1140 older kernel versions.
1156 1141
11577. Socket CAN resources11427. SocketCAN resources
1158-----------------------1143-----------------------
1159 1144
1160 You can find further resources for Socket CAN like user space tools,1145 The Linux CAN / SocketCAN project ressources (project site / mailing list)
1161 support for old kernel versions, more drivers, mailing lists, etc.1146 are referenced in the MAINTAINERS file in the Linux source tree.
1162 at the BerliOS OSS project website for Socket CAN:1147 Search for CAN NETWORK [LAYERS|DRIVERS].
1163
1164 http://developer.berlios.de/projects/socketcan
1165
1166 If you have questions, bug fixes, etc., don't hesitate to post them to
1167 the Socketcan-Users mailing list. But please search the archives first.
1168 1148
11698. Credits11498. Credits
1170----------1150----------
Documentation/networking/filter.txt+561−47
@@ -1,49 +1,563 @@
1filter.txt: Linux Socket Filtering1Linux Socket Filtering aka Berkeley Packet Filter (BPF)
2Written by: Jay Schulist <jschlst@samba.org>2=======================================================
3 3
4Introduction4Introduction
5============5------------
6 6
7 Linux Socket Filtering is derived from the Berkeley7Linux Socket Filtering (LSF) is derived from the Berkeley Packet Filter.
8Packet Filter. There are some distinct differences between8Though there are some distinct differences between the BSD and Linux
9the BSD and Linux Kernel Filtering.9Kernel filtering, but when we speak of BPF or LSF in Linux context, we
10 10mean the very same mechanism of filtering in the Linux kernel.
11Linux Socket Filtering (LSF) allows a user-space program to11
12attach a filter onto any socket and allow or disallow certain12BPF allows a user-space program to attach a filter onto any socket and
13types of data to come through the socket. LSF follows exactly13allow or disallow certain types of data to come through the socket. LSF
14the same filter code structure as the BSD Berkeley Packet Filter14follows exactly the same filter code structure as BSD's BPF, so referring
15(BPF), so referring to the BSD bpf.4 manpage is very helpful in15to the BSD bpf.4 manpage is very helpful in creating filters.
16creating filters.16
17 17On Linux, BPF is much simpler than on BSD. One does not have to worry
18LSF is much simpler than BPF. One does not have to worry about18about devices or anything like that. You simply create your filter code,
19devices or anything like that. You simply create your filter19send it to the kernel via the SO_ATTACH_FILTER option and if your filter
20code, send it to the kernel via the SO_ATTACH_FILTER option and20code passes the kernel check on it, you then immediately begin filtering
21if your filter code passes the kernel check on it, you then21data on that socket.
22immediately begin filtering data on that socket.22
23 23You can also detach filters from your socket via the SO_DETACH_FILTER
24You can also detach filters from your socket via the24option. This will probably not be used much since when you close a socket
25SO_DETACH_FILTER option. This will probably not be used much25that has a filter on it the filter is automagically removed. The other
26since when you close a socket that has a filter on it the26less common case may be adding a different filter on the same socket where
27filter is automagically removed. The other less common case27you had another filter that is still running: the kernel takes care of
28may be adding a different filter on the same socket where you had another28removing the old one and placing your new one in its place, assuming your
29filter that is still running: the kernel takes care of removing29filter has passed the checks, otherwise if it fails the old filter will
30the old one and placing your new one in its place, assuming your30remain on that socket.
31filter has passed the checks, otherwise if it fails the old filter31
32will remain on that socket.32SO_LOCK_FILTER option allows to lock the filter attached to a socket. Once
33 33set, a filter cannot be removed or changed. This allows one process to
34SO_LOCK_FILTER option allows to lock the filter attached to a34setup a socket, attach a filter, lock it then drop privileges and be
35socket. Once set, a filter cannot be removed or changed. This allows35assured that the filter will be kept until the socket is closed.
36one process to setup a socket, attach a filter, lock it then drop36
37privileges and be assured that the filter will be kept until the37The biggest user of this construct might be libpcap. Issuing a high-level
38socket is closed.38filter command like `tcpdump -i em1 port 22` passes through the libpcap
39 39internal compiler that generates a structure that can eventually be loaded
40Examples40via SO_ATTACH_FILTER to the kernel. `tcpdump -i em1 port 22 -ddd`
41========41displays what is being placed into this structure.
42 42
43Ioctls-43Although we were only speaking about sockets here, BPF in Linux is used
44setsockopt(sockfd, SOL_SOCKET, SO_ATTACH_FILTER, &Filter, sizeof(Filter));44in many more places. There's xt_bpf for netfilter, cls_bpf in the kernel
45setsockopt(sockfd, SOL_SOCKET, SO_DETACH_FILTER, &value, sizeof(value));45qdisc layer, SECCOMP-BPF (SECure COMPuting [1]), and lots of other places
46setsockopt(sockfd, SOL_SOCKET, SO_LOCK_FILTER, &value, sizeof(value));46such as team driver, PTP code, etc where BPF is being used.
47 47
48See the BSD bpf.4 manpage and the BSD Packet Filter paper written by48 [1] Documentation/prctl/seccomp_filter.txt
49Steven McCanne and Van Jacobson of Lawrence Berkeley Laboratory.49
50Original BPF paper:
51
52Steven McCanne and Van Jacobson. 1993. The BSD packet filter: a new
53architecture for user-level packet capture. In Proceedings of the
54USENIX Winter 1993 Conference Proceedings on USENIX Winter 1993
55Conference Proceedings (USENIX'93). USENIX Association, Berkeley,
56CA, USA, 2-2. [http://www.tcpdump.org/papers/bpf-usenix93.pdf]
57
58Structure
59---------
60
61User space applications include <linux/filter.h> which contains the
62following relevant structures:
63
64struct sock_filter { /* Filter block */
65 __u16 code; /* Actual filter code */
66 __u8 jt; /* Jump true */
67 __u8 jf; /* Jump false */
68 __u32 k; /* Generic multiuse field */
69};
70
71Such a structure is assembled as an array of 4-tuples, that contains
72a code, jt, jf and k value. jt and jf are jump offsets and k a generic
73value to be used for a provided code.
74
75struct sock_fprog { /* Required for SO_ATTACH_FILTER. */
76 unsigned short len; /* Number of filter blocks */
77 struct sock_filter __user *filter;
78};
79
80For socket filtering, a pointer to this structure (as shown in
81follow-up example) is being passed to the kernel through setsockopt(2).
82
83Example
84-------
85
86#include <sys/socket.h>
87#include <sys/types.h>
88#include <arpa/inet.h>
89#include <linux/if_ether.h>
90/* ... */
91
92/* From the example above: tcpdump -i em1 port 22 -dd */
93struct sock_filter code[] = {
94 { 0x28, 0, 0, 0x0000000c },
95 { 0x15, 0, 8, 0x000086dd },
96 { 0x30, 0, 0, 0x00000014 },
97 { 0x15, 2, 0, 0x00000084 },
98 { 0x15, 1, 0, 0x00000006 },
99 { 0x15, 0, 17, 0x00000011 },
100 { 0x28, 0, 0, 0x00000036 },
101 { 0x15, 14, 0, 0x00000016 },
102 { 0x28, 0, 0, 0x00000038 },
103 { 0x15, 12, 13, 0x00000016 },
104 { 0x15, 0, 12, 0x00000800 },
105 { 0x30, 0, 0, 0x00000017 },
106 { 0x15, 2, 0, 0x00000084 },
107 { 0x15, 1, 0, 0x00000006 },
108 { 0x15, 0, 8, 0x00000011 },
109 { 0x28, 0, 0, 0x00000014 },
110 { 0x45, 6, 0, 0x00001fff },
111 { 0xb1, 0, 0, 0x0000000e },
112 { 0x48, 0, 0, 0x0000000e },
113 { 0x15, 2, 0, 0x00000016 },
114 { 0x48, 0, 0, 0x00000010 },
115 { 0x15, 0, 1, 0x00000016 },
116 { 0x06, 0, 0, 0x0000ffff },
117 { 0x06, 0, 0, 0x00000000 },
118};
119
120struct sock_fprog bpf = {
121 .len = ARRAY_SIZE(code),
122 .filter = code,
123};
124
125sock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
126if (sock < 0)
127 /* ... bail out ... */
128
129ret = setsockopt(sock, SOL_SOCKET, SO_ATTACH_FILTER, &bpf, sizeof(bpf));
130if (ret < 0)
131 /* ... bail out ... */
132
133/* ... */
134close(sock);
135
136The above example code attaches a socket filter for a PF_PACKET socket
137in order to let all IPv4/IPv6 packets with port 22 pass. The rest will
138be dropped for this socket.
139
140The setsockopt(2) call to SO_DETACH_FILTER doesn't need any arguments
141and SO_LOCK_FILTER for preventing the filter to be detached, takes an
142integer value with 0 or 1.
143
144Note that socket filters are not restricted to PF_PACKET sockets only,
145but can also be used on other socket families.
146
147Summary of system calls:
148
149 * setsockopt(sockfd, SOL_SOCKET, SO_ATTACH_FILTER, &val, sizeof(val));
150 * setsockopt(sockfd, SOL_SOCKET, SO_DETACH_FILTER, &val, sizeof(val));
151 * setsockopt(sockfd, SOL_SOCKET, SO_LOCK_FILTER, &val, sizeof(val));
152
153Normally, most use cases for socket filtering on packet sockets will be
154covered by libpcap in high-level syntax, so as an application developer
155you should stick to that. libpcap wraps its own layer around all that.
156
157Unless i) using/linking to libpcap is not an option, ii) the required BPF
158filters use Linux extensions that are not supported by libpcap's compiler,
159iii) a filter might be more complex and not cleanly implementable with
160libpcap's compiler, or iv) particular filter codes should be optimized
161differently than libpcap's internal compiler does; then in such cases
162writing such a filter "by hand" can be of an alternative. For example,
163xt_bpf and cls_bpf users might have requirements that could result in
164more complex filter code, or one that cannot be expressed with libpcap
165(e.g. different return codes for various code paths). Moreover, BPF JIT
166implementors may wish to manually write test cases and thus need low-level
167access to BPF code as well.
168
169BPF engine and instruction set
170------------------------------
171
172Under tools/net/ there's a small helper tool called bpf_asm which can
173be used to write low-level filters for example scenarios mentioned in the
174previous section. Asm-like syntax mentioned here has been implemented in
175bpf_asm and will be used for further explanations (instead of dealing with
176less readable opcodes directly, principles are the same). The syntax is
177closely modelled after Steven McCanne's and Van Jacobson's BPF paper.
178
179The BPF architecture consists of the following basic elements:
180
181 Element Description
182
183 A 32 bit wide accumulator
184 X 32 bit wide X register
185 M[] 16 x 32 bit wide misc registers aka "scratch memory
186 store", addressable from 0 to 15
187
188A program, that is translated by bpf_asm into "opcodes" is an array that
189consists of the following elements (as already mentioned):
190
191 op:16, jt:8, jf:8, k:32
192
193The element op is a 16 bit wide opcode that has a particular instruction
194encoded. jt and jf are two 8 bit wide jump targets, one for condition
195"jump if true", the other one "jump if false". Eventually, element k
196contains a miscellaneous argument that can be interpreted in different
197ways depending on the given instruction in op.
198
199The instruction set consists of load, store, branch, alu, miscellaneous
200and return instructions that are also represented in bpf_asm syntax. This
201table lists all bpf_asm instructions available resp. what their underlying
202opcodes as defined in linux/filter.h stand for:
203
204 Instruction Addressing mode Description
205
206 ld 1, 2, 3, 4, 10 Load word into A
207 ldi 4 Load word into A
208 ldh 1, 2 Load half-word into A
209 ldb 1, 2 Load byte into A
210 ldx 3, 4, 5, 10 Load word into X
211 ldxi 4 Load word into X
212 ldxb 5 Load byte into X
213
214 st 3 Store A into M[]
215 stx 3 Store X into M[]
216
217 jmp 6 Jump to label
218 ja 6 Jump to label
219 jeq 7, 8 Jump on k == A
220 jneq 8 Jump on k != A
221 jne 8 Jump on k != A
222 jlt 8 Jump on k < A
223 jle 8 Jump on k <= A
224 jgt 7, 8 Jump on k > A
225 jge 7, 8 Jump on k >= A
226 jset 7, 8 Jump on k & A
227
228 add 0, 4 A + <x>
229 sub 0, 4 A - <x>
230 mul 0, 4 A * <x>
231 div 0, 4 A / <x>
232 mod 0, 4 A % <x>
233 neg 0, 4 !A
234 and 0, 4 A & <x>
235 or 0, 4 A | <x>
236 xor 0, 4 A ^ <x>
237 lsh 0, 4 A << <x>
238 rsh 0, 4 A >> <x>
239
240 tax Copy A into X
241 txa Copy X into A
242
243 ret 4, 9 Return
244
245The next table shows addressing formats from the 2nd column:
246
247 Addressing mode Syntax Description
248
249 0 x/%x Register X
250 1 [k] BHW at byte offset k in the packet
251 2 [x + k] BHW at the offset X + k in the packet
252 3 M[k] Word at offset k in M[]
253 4 #k Literal value stored in k
254 5 4*([k]&0xf) Lower nibble * 4 at byte offset k in the packet
255 6 L Jump label L
256 7 #k,Lt,Lf Jump to Lt if true, otherwise jump to Lf
257 8 #k,Lt Jump to Lt if predicate is true
258 9 a/%a Accumulator A
259 10 extension BPF extension
260
261The Linux kernel also has a couple of BPF extensions that are used along
262with the class of load instructions by "overloading" the k argument with
263a negative offset + a particular extension offset. The result of such BPF
264extensions are loaded into A.
265
266Possible BPF extensions are shown in the following table:
267
268 Extension Description
269
270 len skb->len
271 proto skb->protocol
272 type skb->pkt_type
273 poff Payload start offset
274 ifidx skb->dev->ifindex
275 nla Netlink attribute of type X with offset A
276 nlan Nested Netlink attribute of type X with offset A
277 mark skb->mark
278 queue skb->queue_mapping
279 hatype skb->dev->type
280 rxhash skb->rxhash
281 cpu raw_smp_processor_id()
282 vlan_tci vlan_tx_tag_get(skb)
283 vlan_pr vlan_tx_tag_present(skb)
284
285These extensions can also be prefixed with '#'.
286Examples for low-level BPF:
287
288** ARP packets:
289
290 ldh [12]
291 jne #0x806, drop
292 ret #-1
293 drop: ret #0
294
295** IPv4 TCP packets:
296
297 ldh [12]
298 jne #0x800, drop
299 ldb [23]
300 jneq #6, drop
301 ret #-1
302 drop: ret #0
303
304** (Accelerated) VLAN w/ id 10:
305
306 ld vlan_tci
307 jneq #10, drop
308 ret #-1
309 drop: ret #0
310
311** SECCOMP filter example:
312
313 ld [4] /* offsetof(struct seccomp_data, arch) */
314 jne #0xc000003e, bad /* AUDIT_ARCH_X86_64 */
315 ld [0] /* offsetof(struct seccomp_data, nr) */
316 jeq #15, good /* __NR_rt_sigreturn */
317 jeq #231, good /* __NR_exit_group */
318 jeq #60, good /* __NR_exit */
319 jeq #0, good /* __NR_read */
320 jeq #1, good /* __NR_write */
321 jeq #5, good /* __NR_fstat */
322 jeq #9, good /* __NR_mmap */
323 jeq #14, good /* __NR_rt_sigprocmask */
324 jeq #13, good /* __NR_rt_sigaction */
325 jeq #35, good /* __NR_nanosleep */
326 bad: ret #0 /* SECCOMP_RET_KILL */
327 good: ret #0x7fff0000 /* SECCOMP_RET_ALLOW */
328
329The above example code can be placed into a file (here called "foo"), and
330then be passed to the bpf_asm tool for generating opcodes, output that xt_bpf
331and cls_bpf understands and can directly be loaded with. Example with above
332ARP code:
333
334$ ./bpf_asm foo
3354,40 0 0 12,21 0 1 2054,6 0 0 4294967295,6 0 0 0,
336
337In copy and paste C-like output:
338
339$ ./bpf_asm -c foo
340{ 0x28, 0, 0, 0x0000000c },
341{ 0x15, 0, 1, 0x00000806 },
342{ 0x06, 0, 0, 0xffffffff },
343{ 0x06, 0, 0, 0000000000 },
344
345In particular, as usage with xt_bpf or cls_bpf can result in more complex BPF
346filters that might not be obvious at first, it's good to test filters before
347attaching to a live system. For that purpose, there's a small tool called
348bpf_dbg under tools/net/ in the kernel source directory. This debugger allows
349for testing BPF filters against given pcap files, single stepping through the
350BPF code on the pcap's packets and to do BPF machine register dumps.
351
352Starting bpf_dbg is trivial and just requires issuing:
353
354# ./bpf_dbg
355
356In case input and output do not equal stdin/stdout, bpf_dbg takes an
357alternative stdin source as a first argument, and an alternative stdout
358sink as a second one, e.g. `./bpf_dbg test_in.txt test_out.txt`.
359
360Other than that, a particular libreadline configuration can be set via
361file "~/.bpf_dbg_init" and the command history is stored in the file
362"~/.bpf_dbg_history".
363
364Interaction in bpf_dbg happens through a shell that also has auto-completion
365support (follow-up example commands starting with '>' denote bpf_dbg shell).
366The usual workflow would be to ...
367
368> load bpf 6,40 0 0 12,21 0 3 2048,48 0 0 23,21 0 1 1,6 0 0 65535,6 0 0 0
369 Loads a BPF filter from standard output of bpf_asm, or transformed via
370 e.g. `tcpdump -iem1 -ddd port 22 | tr '\n' ','`. Note that for JIT
371 debugging (next section), this command creates a temporary socket and
372 loads the BPF code into the kernel. Thus, this will also be useful for
373 JIT developers.
374
375> load pcap foo.pcap
376 Loads standard tcpdump pcap file.
377
378> run [<n>]
379bpf passes:1 fails:9
380 Runs through all packets from a pcap to account how many passes and fails
381 the filter will generate. A limit of packets to traverse can be given.
382
383> disassemble
384l0: ldh [12]
385l1: jeq #0x800, l2, l5
386l2: ldb [23]
387l3: jeq #0x1, l4, l5
388l4: ret #0xffff
389l5: ret #0
390 Prints out BPF code disassembly.
391
392> dump
393/* { op, jt, jf, k }, */
394{ 0x28, 0, 0, 0x0000000c },
395{ 0x15, 0, 3, 0x00000800 },
396{ 0x30, 0, 0, 0x00000017 },
397{ 0x15, 0, 1, 0x00000001 },
398{ 0x06, 0, 0, 0x0000ffff },
399{ 0x06, 0, 0, 0000000000 },
400 Prints out C-style BPF code dump.
401
402> breakpoint 0
403breakpoint at: l0: ldh [12]
404> breakpoint 1
405breakpoint at: l1: jeq #0x800, l2, l5
406 ...
407 Sets breakpoints at particular BPF instructions. Issuing a `run` command
408 will walk through the pcap file continuing from the current packet and
409 break when a breakpoint is being hit (another `run` will continue from
410 the currently active breakpoint executing next instructions):
411
412 > run
413 -- register dump --
414 pc: [0] <-- program counter
415 code: [40] jt[0] jf[0] k[12] <-- plain BPF code of current instruction
416 curr: l0: ldh [12] <-- disassembly of current instruction
417 A: [00000000][0] <-- content of A (hex, decimal)
418 X: [00000000][0] <-- content of X (hex, decimal)
419 M[0,15]: [00000000][0] <-- folded content of M (hex, decimal)
420 -- packet dump -- <-- Current packet from pcap (hex)
421 len: 42
422 0: 00 19 cb 55 55 a4 00 14 a4 43 78 69 08 06 00 01
423 16: 08 00 06 04 00 01 00 14 a4 43 78 69 0a 3b 01 26
424 32: 00 00 00 00 00 00 0a 3b 01 01
425 (breakpoint)
426 >
427
428> breakpoint
429breakpoints: 0 1
430 Prints currently set breakpoints.
431
432> step [-<n>, +<n>]
433 Performs single stepping through the BPF program from the current pc
434 offset. Thus, on each step invocation, above register dump is issued.
435 This can go forwards and backwards in time, a plain `step` will break
436 on the next BPF instruction, thus +1. (No `run` needs to be issued here.)
437
438> select <n>
439 Selects a given packet from the pcap file to continue from. Thus, on
440 the next `run` or `step`, the BPF program is being evaluated against
441 the user pre-selected packet. Numbering starts just as in Wireshark
442 with index 1.
443
444> quit
445#
446 Exits bpf_dbg.
447
448JIT compiler
449------------
450
451The Linux kernel has a built-in BPF JIT compiler for x86_64, SPARC, PowerPC,
452ARM and s390 and can be enabled through CONFIG_BPF_JIT. The JIT compiler is
453transparently invoked for each attached filter from user space or for internal
454kernel users if it has been previously enabled by root:
455
456 echo 1 > /proc/sys/net/core/bpf_jit_enable
457
458For JIT developers, doing audits etc, each compile run can output the generated
459opcode image into the kernel log via:
460
461 echo 2 > /proc/sys/net/core/bpf_jit_enable
462
463Example output from dmesg:
464
465[ 3389.935842] flen=6 proglen=70 pass=3 image=ffffffffa0069c8f
466[ 3389.935847] JIT code: 00000000: 55 48 89 e5 48 83 ec 60 48 89 5d f8 44 8b 4f 68
467[ 3389.935849] JIT code: 00000010: 44 2b 4f 6c 4c 8b 87 d8 00 00 00 be 0c 00 00 00
468[ 3389.935850] JIT code: 00000020: e8 1d 94 ff e0 3d 00 08 00 00 75 16 be 17 00 00
469[ 3389.935851] JIT code: 00000030: 00 e8 28 94 ff e0 83 f8 01 75 07 b8 ff ff 00 00
470[ 3389.935852] JIT code: 00000040: eb 02 31 c0 c9 c3
471
472In the kernel source tree under tools/net/, there's bpf_jit_disasm for
473generating disassembly out of the kernel log's hexdump:
474
475# ./bpf_jit_disasm
47670 bytes emitted from JIT compiler (pass:3, flen:6)
477ffffffffa0069c8f + <x>:
478 0: push %rbp
479 1: mov %rsp,%rbp
480 4: sub $0x60,%rsp
481 8: mov %rbx,-0x8(%rbp)
482 c: mov 0x68(%rdi),%r9d
483 10: sub 0x6c(%rdi),%r9d
484 14: mov 0xd8(%rdi),%r8
485 1b: mov $0xc,%esi
486 20: callq 0xffffffffe0ff9442
487 25: cmp $0x800,%eax
488 2a: jne 0x0000000000000042
489 2c: mov $0x17,%esi
490 31: callq 0xffffffffe0ff945e
491 36: cmp $0x1,%eax
492 39: jne 0x0000000000000042
493 3b: mov $0xffff,%eax
494 40: jmp 0x0000000000000044
495 42: xor %eax,%eax
496 44: leaveq
497 45: retq
498
499Issuing option `-o` will "annotate" opcodes to resulting assembler
500instructions, which can be very useful for JIT developers:
501
502# ./bpf_jit_disasm -o
50370 bytes emitted from JIT compiler (pass:3, flen:6)
504ffffffffa0069c8f + <x>:
505 0: push %rbp
506 55
507 1: mov %rsp,%rbp
508 48 89 e5
509 4: sub $0x60,%rsp
510 48 83 ec 60
511 8: mov %rbx,-0x8(%rbp)
512 48 89 5d f8
513 c: mov 0x68(%rdi),%r9d
514 44 8b 4f 68
515 10: sub 0x6c(%rdi),%r9d
516 44 2b 4f 6c
517 14: mov 0xd8(%rdi),%r8
518 4c 8b 87 d8 00 00 00
519 1b: mov $0xc,%esi
520 be 0c 00 00 00
521 20: callq 0xffffffffe0ff9442
522 e8 1d 94 ff e0
523 25: cmp $0x800,%eax
524 3d 00 08 00 00
525 2a: jne 0x0000000000000042
526 75 16
527 2c: mov $0x17,%esi
528 be 17 00 00 00
529 31: callq 0xffffffffe0ff945e
530 e8 28 94 ff e0
531 36: cmp $0x1,%eax
532 83 f8 01
533 39: jne 0x0000000000000042
534 75 07
535 3b: mov $0xffff,%eax
536 b8 ff ff 00 00
537 40: jmp 0x0000000000000044
538 eb 02
539 42: xor %eax,%eax
540 31 c0
541 44: leaveq
542 c9
543 45: retq
544 c3
545
546For BPF JIT developers, bpf_jit_disasm, bpf_asm and bpf_dbg provides a useful
547toolchain for developing and testing the kernel's JIT compiler.
548
549Misc
550----
551
552Also trinity, the Linux syscall fuzzer, has built-in support for BPF and
553SECCOMP-BPF kernel fuzzing.
554
555Written by
556----------
557
558The document was written in the hope that it is found useful and in order
559to give potential BPF hackers or security auditors a better overview of
560the underlying architecture.
561
562Jay Schulist <jschlst@samba.org>
563Daniel Borkmann <dborkman@redhat.com>
Documentation/networking/i40evf.txt+47−0
@@ -0,0 +1,47 @@
1Linux* Base Driver for Intel(R) Network Connection
2==================================================
3
4Intel XL710 X710 Virtual Function Linux driver.
5Copyright(c) 2013 Intel Corporation.
6
7Contents
8========
9
10- Identifying Your Adapter
11- Known Issues/Troubleshooting
12- Support
13
14This file describes the i40evf Linux* Base Driver for the Intel(R) XL710
15X710 Virtual Function.
16
17The i40evf driver supports XL710 and X710 virtual function devices that
18can only be activated on kernels with CONFIG_PCI_IOV enabled.
19
20The guest OS loading the i40evf driver must support MSI-X interrupts.
21
22Identifying Your Adapter
23========================
24
25For more information on how to identify your adapter, go to the Adapter &
26Driver ID Guide at:
27
28 http://support.intel.com/support/go/network/adapter/idguide.htm
29
30Known Issues/Troubleshooting
31============================
32
33
34Support
35=======
36
37For general information, go to the Intel support website at:
38
39 http://support.intel.com
40
41or the Intel Wired Networking project hosted by Sourceforge at:
42
43 http://sourceforge.net/projects/e1000
44
45If an issue is identified with the released source code on the supported
46kernel with a supported adapter, email the specific information related
47to the issue to e1000-devel@lists.sf.net
Documentation/networking/ip-sysctl.txt+63−2
@@ -15,17 +15,47 @@ ip_default_ttl - INTEGER · 14 unmodified lines
15 forwarded) IP packets. Should be between 1 and 255 inclusive.15 forwarded) IP packets. Should be between 1 and 255 inclusive.
16 Default: 64 (as recommended by RFC1700)16 Default: 64 (as recommended by RFC1700)
17 17
18ip_no_pmtu_disc - BOOLEAN18ip_no_pmtu_disc - INTEGER
19 Disable Path MTU Discovery. If enabled and a19 Disable Path MTU Discovery. If enabled in mode 1 and a
20 fragmentation-required ICMP is received, the PMTU to this20 fragmentation-required ICMP is received, the PMTU to this
21 destination will be set to min_pmtu (see below). You will need21 destination will be set to min_pmtu (see below). You will need
22 to raise min_pmtu to the smallest interface MTU on your system22 to raise min_pmtu to the smallest interface MTU on your system
23 manually if you want to avoid locally generated fragments.23 manually if you want to avoid locally generated fragments.
24
25 In mode 2 incoming Path MTU Discovery messages will be
26 discarded. Outgoing frames are handled the same as in mode 1,
27 implicitly setting IP_PMTUDISC_DONT on every created socket.
28
29 Mode 3 is a hardend pmtu discover mode. The kernel will only
30 accept fragmentation-needed errors if the underlying protocol
31 can verify them besides a plain socket lookup. Current
32 protocols for which pmtu events will be honored are TCP, SCTP
33 and DCCP as they verify e.g. the sequence number or the
34 association. This mode should not be enabled globally but is
35 only intended to secure e.g. name servers in namespaces where
36 TCP path mtu must still work but path MTU information of other
37 protocols should be discarded. If enabled globally this mode
38 could break other protocols.
39
40 Possible values: 0-3
24 Default: FALSE41 Default: FALSE
25 42
26min_pmtu - INTEGER43min_pmtu - INTEGER
27 default 552 - minimum discovered Path MTU44 default 552 - minimum discovered Path MTU
28 45
46ip_forward_use_pmtu - BOOLEAN
47 By default we don't trust protocol path MTUs while forwarding
48 because they could be easily forged and can lead to unwanted
49 fragmentation by the router.
50 You only need to enable this if you have user-space software
51 which tries to discover path mtus by itself and depends on the
52 kernel honoring this information. This is normally not the
53 case.
54 Default: 0 (disabled)
55 Possible values:
56 0 - disabled
57 1 - enabled
58
29route/max_size - INTEGER59route/max_size - INTEGER
30 Maximum number of routes allowed in the kernel. Increase60 Maximum number of routes allowed in the kernel. Increase
31 this when using large numbers of interfaces and/or routes.61 this when using large numbers of interfaces and/or routes.
@@ -160,6 +190,16 @@ tcp_app_win - INTEGER · 128 unmodified lines
160 buffer. Value 0 is special, it means that nothing is reserved.190 buffer. Value 0 is special, it means that nothing is reserved.
161 Default: 31191 Default: 31
162 192
193tcp_autocorking - BOOLEAN
194 Enable TCP auto corking :
195 When applications do consecutive small write()/sendmsg() system calls,
196 we try to coalesce these small writes as much as possible, to lower
197 total amount of sent packets. This is done if at least one prior
198 packet for the flow is waiting in Qdisc queues or device transmit
199 queue. Applications can still use TCP_CORK for optimal behavior
200 when they know how/when to uncork their sockets.
201 Default : 1
202
163tcp_available_congestion_control - STRING203tcp_available_congestion_control - STRING
164 Shows the available congestion control choices that are registered.204 Shows the available congestion control choices that are registered.
165 More congestion control algorithms may be available as modules,205 More congestion control algorithms may be available as modules,
@@ -1048,6 +1088,12 @@ igmpv3_unsolicited_report_interval - INTEGER · 882 unmodified lines
1048 IGMPv3 report retransmit will take place.1088 IGMPv3 report retransmit will take place.
1049 Default: 1000 (1 seconds)1089 Default: 1000 (1 seconds)
1050 1090
1091promote_secondaries - BOOLEAN
1092 When a primary IP address is removed from this interface
1093 promote a corresponding secondary IP address instead of
1094 removing all the corresponding secondary IP addresses.
1095
1096
1051tag - INTEGER1097tag - INTEGER
1052 Allows you to write a number, which can be used as required.1098 Allows you to write a number, which can be used as required.
1053 Default value is 0.1099 Default value is 0.
@@ -1078,6 +1124,21 @@ bindv6only - BOOLEAN · 24 unmodified lines
1078 1124
1079 Default: FALSE (as specified in RFC3493)1125 Default: FALSE (as specified in RFC3493)
1080 1126
1127flowlabel_consistency - BOOLEAN
1128 Protect the consistency (and unicity) of flow label.
1129 You have to disable it to use IPV6_FL_F_REFLECT flag on the
1130 flow label manager.
1131 TRUE: enabled
1132 FALSE: disabled
1133 Default: TRUE
1134
1135anycast_src_echo_reply - BOOLEAN
1136 Controls the use of anycast addresses as source addresses for ICMPv6
1137 echo reply
1138 TRUE: enabled
1139 FALSE: disabled
1140 Default: FALSE
1141
1081IPv6 Fragmentation:1142IPv6 Fragmentation:
1082 1143
1083ip6frag_high_thresh - INTEGER1144ip6frag_high_thresh - INTEGER
Documentation/networking/ipsec.txt+38−0
@@ -0,0 +1,38 @@
1
2Here documents known IPsec corner cases which need to be keep in mind when
3deploy various IPsec configuration in real world production environment.
4
51. IPcomp: Small IP packet won't get compressed at sender, and failed on
6 policy check on receiver.
7
8Quote from RFC3173:
92.2. Non-Expansion Policy
10
11 If the total size of a compressed payload and the IPComp header, as
12 defined in section 3, is not smaller than the size of the original
13 payload, the IP datagram MUST be sent in the original non-compressed
14 form. To clarify: If an IP datagram is sent non-compressed, no
15
16 IPComp header is added to the datagram. This policy ensures saving
17 the decompression processing cycles and avoiding incurring IP
18 datagram fragmentation when the expanded datagram is larger than the
19 MTU.
20
21 Small IP datagrams are likely to expand as a result of compression.
22 Therefore, a numeric threshold should be applied before compression,
23 where IP datagrams of size smaller than the threshold are sent in the
24 original form without attempting compression. The numeric threshold
25 is implementation dependent.
26
27Current IPComp implementation is indeed by the book, while as in practice
28when sending non-compressed packet to the peer(whether or not packet len
29is smaller than the threshold or the compressed len is large than original
30packet len), the packet is dropped when checking the policy as this packet
31matches the selector but not coming from any XFRM layer, i.e., with no
32security path. Such naked packet will not eventually make it to upper layer.
33The result is much more wired to the user when ping peer with different
34payload length.
35
36One workaround is try to set "level use" for each policy if user observed
37above scenario. The consequence of doing so is small packet(uncompressed)
38will skip policy checking on receiver side.
Documentation/networking/packet_mmap.txt+47−2
@@ -98,6 +98,11 @@ by the kernel. · 97 unmodified lines
98The destruction of the socket and all associated resources98The destruction of the socket and all associated resources
99is done by a simple call to close(fd).99is done by a simple call to close(fd).
100 100
101Similarly as without PACKET_MMAP, it is possible to use one socket
102for capture and transmission. This can be done by mapping the
103allocated RX and TX buffer ring with a single mmap() call.
104See "Mapping and use of the circular buffer (ring)".
105
101Next I will describe PACKET_MMAP settings and its constraints,106Next I will describe PACKET_MMAP settings and its constraints,
102also the mapping of the circular buffer in the user process and 107also the mapping of the circular buffer in the user process and
103the use of this buffer.108the use of this buffer.
@@ -414,6 +419,19 @@ tp_block_size/tp_frame_size frames there will be a gap between · 310 unmodified lines
414the frames. This is because a frame cannot be spawn across two419the frames. This is because a frame cannot be spawn across two
415blocks. 420blocks.
416 421
422To use one socket for capture and transmission, the mapping of both the
423RX and TX buffer ring has to be done with one call to mmap:
424
425 ...
426 setsockopt(fd, SOL_PACKET, PACKET_RX_RING, &foo, sizeof(foo));
427 setsockopt(fd, SOL_PACKET, PACKET_TX_RING, &bar, sizeof(bar));
428 ...
429 rx_ring = mmap(0, size * 2, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
430 tx_ring = rx_ring + size;
431
432RX must be the first as the kernel maps the TX ring memory right
433after the RX one.
434
417At the beginning of each frame there is an status field (see 435At the beginning of each frame there is an status field (see
418struct tpacket_hdr). If this field is 0 means that the frame is ready436struct tpacket_hdr). If this field is 0 means that the frame is ready
419to be used for the kernel, If not, there is a frame the user can read 437to be used for the kernel, If not, there is a frame the user can read
@@ -517,8 +535,6 @@ where 'tpacket_version' can be TPACKET_V1 (default), TPACKET_V2, TPACKET_V3. · 97 unmodified lines
517TPACKET_V1:535TPACKET_V1:
518 - Default if not otherwise specified by setsockopt(2)536 - Default if not otherwise specified by setsockopt(2)
519 - RX_RING, TX_RING available537 - RX_RING, TX_RING available
520 - VLAN metadata information available for packets
521 (TP_STATUS_VLAN_VALID)
522 538
523TPACKET_V1 --> TPACKET_V2:539TPACKET_V1 --> TPACKET_V2:
524 - Made 64 bit clean due to unsigned long usage in TPACKET_V1540 - Made 64 bit clean due to unsigned long usage in TPACKET_V1
@@ -526,6 +542,13 @@ TPACKET_V1 --> TPACKET_V2: · 1 unmodified line
526 userspace and the like542 userspace and the like
527 - Timestamp resolution in nanoseconds instead of microseconds543 - Timestamp resolution in nanoseconds instead of microseconds
528 - RX_RING, TX_RING available544 - RX_RING, TX_RING available
545 - VLAN metadata information available for packets
546 (TP_STATUS_VLAN_VALID, TP_STATUS_VLAN_TPID_VALID),
547 in the tpacket2_hdr structure:
548 - TP_STATUS_VLAN_VALID bit being set into the tp_status field indicates
549 that the tp_vlan_tci field has valid VLAN TCI value
550 - TP_STATUS_VLAN_TPID_VALID bit being set into the tp_status field
551 indicates that the tp_vlan_tpid field has valid VLAN TPID value
529 - How to switch to TPACKET_V2:552 - How to switch to TPACKET_V2:
530 1. Replace struct tpacket_hdr by struct tpacket2_hdr553 1. Replace struct tpacket_hdr by struct tpacket2_hdr
531 2. Query header len and save554 2. Query header len and save
@@ -560,6 +583,7 @@ Currently implemented fanout policies are: · 28 unmodified lines
560 - PACKET_FANOUT_CPU: schedule to socket by CPU packet arrives on583 - PACKET_FANOUT_CPU: schedule to socket by CPU packet arrives on
561 - PACKET_FANOUT_RND: schedule to socket by random selection584 - PACKET_FANOUT_RND: schedule to socket by random selection
562 - PACKET_FANOUT_ROLLOVER: if one socket is full, rollover to another585 - PACKET_FANOUT_ROLLOVER: if one socket is full, rollover to another
586 - PACKET_FANOUT_QM: schedule to socket by skbs recorded queue_mapping
563 587
564Minimal example code by David S. Miller (try things like "./test eth0 hash",588Minimal example code by David S. Miller (try things like "./test eth0 hash",
565"./test eth0 lb", etc.):589"./test eth0 lb", etc.):
@@ -952,6 +976,27 @@ int main(int argc, char **argp) · 386 unmodified lines
952 return 0;976 return 0;
953}977}
954 978
979-------------------------------------------------------------------------------
980+ PACKET_QDISC_BYPASS
981-------------------------------------------------------------------------------
982
983If there is a requirement to load the network with many packets in a similar
984fashion as pktgen does, you might set the following option after socket
985creation:
986
987 int one = 1;
988 setsockopt(fd, SOL_PACKET, PACKET_QDISC_BYPASS, &one, sizeof(one));
989
990This has the side-effect, that packets sent through PF_PACKET will bypass the
991kernel's qdisc layer and are forcedly pushed to the driver directly. Meaning,
992packet are not buffered, tc disciplines are ignored, increased loss can occur
993and such packets are also not visible to other PF_PACKET sockets anymore. So,
994you have been warned; generally, this can be useful for stress testing various
995components of a system.
996
997On default, PACKET_QDISC_BYPASS is disabled and needs to be explicitly enabled
998on PF_PACKET sockets.
999
955-------------------------------------------------------------------------------1000-------------------------------------------------------------------------------
956+ PACKET_TIMESTAMP1001+ PACKET_TIMESTAMP
957-------------------------------------------------------------------------------1002-------------------------------------------------------------------------------
Documentation/networking/phy.txt+2−1
@@ -255,7 +255,8 @@ Writing a PHY driver · 254 unmodified lines
255 255
256 config_init: configures PHY into a sane state after a reset.256 config_init: configures PHY into a sane state after a reset.
257 For instance, a Davicom PHY requires descrambling disabled.257 For instance, a Davicom PHY requires descrambling disabled.
258 probe: Does any setup needed by the driver258 probe: Allocate phy->priv, optionally refuse to bind.
259 PHY may not have been reset or had fixups run yet.
259 suspend/resume: power management260 suspend/resume: power management
260 config_aneg: Changes the speed/duplex/negotiation settings261 config_aneg: Changes the speed/duplex/negotiation settings
261 read_status: Reads the current speed/duplex/negotiation settings262 read_status: Reads the current speed/duplex/negotiation settings
Documentation/networking/pktgen.txt+15−0
@@ -108,7 +108,9 @@ Examples: · 107 unmodified lines
108 MPLS_RND, VID_RND, SVID_RND108 MPLS_RND, VID_RND, SVID_RND
109 QUEUE_MAP_RND # queue map random109 QUEUE_MAP_RND # queue map random
110 QUEUE_MAP_CPU # queue map mirrors smp_processor_id()110 QUEUE_MAP_CPU # queue map mirrors smp_processor_id()
111 IPSEC # Make IPsec encapsulation for packet
111 112
113 pgset spi SPI_VALUE Set specific SA used to transform packet.
112 114
113 pgset "udp_src_min 9" set UDP source port min, If < udp_src_max, then115 pgset "udp_src_min 9" set UDP source port min, If < udp_src_max, then
114 cycle through the port range.116 cycle through the port range.
@@ -177,6 +179,18 @@ Note when adding devices to a specific CPU there good idea to also assign · 62 unmodified lines
177/proc/irq/XX/smp_affinity so the TX-interrupts gets bound to the same CPU.179/proc/irq/XX/smp_affinity so the TX-interrupts gets bound to the same CPU.
178as this reduces cache bouncing when freeing skb's.180as this reduces cache bouncing when freeing skb's.
179 181
182Enable IPsec
183============
184Default IPsec transformation with ESP encapsulation plus Transport mode
185could be enabled by simply setting:
186
187pgset "flag IPSEC"
188pgset "flows 1"
189
190To avoid breaking existing testbed scripts for using AH type and tunnel mode,
191user could use "pgset spi SPI_VALUE" to specify which formal of transformation
192to employ.
193
180 194
181Current commands and configuration options195Current commands and configuration options
182==========================================196==========================================
@@ -225,6 +239,7 @@ flag · 42 unmodified lines
225 UDPDST_RND239 UDPDST_RND
226 MACSRC_RND240 MACSRC_RND
227 MACDST_RND241 MACDST_RND
242 IPSEC
228 243
229dst_min244dst_min
230dst_max245dst_max
Documentation/networking/regulatory.txt+2−2
@@ -159,10 +159,10 @@ struct ieee80211_regdomain mydriver_jp_regdom = { · 158 unmodified lines
159 REG_RULE(2412-20, 2484+20, 40, 6, 20, 0),159 REG_RULE(2412-20, 2484+20, 40, 6, 20, 0),
160 /* IEEE 802.11a, channels 34..48 */160 /* IEEE 802.11a, channels 34..48 */
161 REG_RULE(5170-20, 5240+20, 40, 6, 20,161 REG_RULE(5170-20, 5240+20, 40, 6, 20,
162 NL80211_RRF_PASSIVE_SCAN),162 NL80211_RRF_NO_IR),
163 /* IEEE 802.11a, channels 52..64 */163 /* IEEE 802.11a, channels 52..64 */
164 REG_RULE(5260-20, 5320+20, 40, 6, 20,164 REG_RULE(5260-20, 5320+20, 40, 6, 20,
165 NL80211_RRF_NO_IBSS |165 NL80211_RRF_NO_IR|
166 NL80211_RRF_DFS),166 NL80211_RRF_DFS),
167 }167 }
168};168};
Documentation/networking/stmmac.txt+8−4
@@ -127,8 +127,9 @@ struct plat_stmmacenet_data { · 126 unmodified lines
127 int riwt_off;127 int riwt_off;
128 void (*fix_mac_speed)(void *priv, unsigned int speed);128 void (*fix_mac_speed)(void *priv, unsigned int speed);
129 void (*bus_setup)(void __iomem *ioaddr);129 void (*bus_setup)(void __iomem *ioaddr);
130 int (*init)(struct platform_device *pdev);130 void *(*setup)(struct platform_device *pdev);
131 void (*exit)(struct platform_device *pdev);131 int (*init)(struct platform_device *pdev, void *priv);
132 void (*exit)(struct platform_device *pdev, void *priv);
132 void *custom_cfg;133 void *custom_cfg;
133 void *custom_data;134 void *custom_data;
134 void *bsp_priv;135 void *bsp_priv;
@@ -169,10 +170,13 @@ Where: · 34 unmodified lines
169 o bus_setup: perform HW setup of the bus. For example, on some ST platforms170 o bus_setup: perform HW setup of the bus. For example, on some ST platforms
170 this field is used to configure the AMBA bridge to generate more171 this field is used to configure the AMBA bridge to generate more
171 efficient STBus traffic.172 efficient STBus traffic.
172 o init/exit: callbacks used for calling a custom initialization;173 o setup/init/exit: callbacks used for calling a custom initialization;
173 this is sometime necessary on some platforms (e.g. ST boxes)174 this is sometime necessary on some platforms (e.g. ST boxes)
174 where the HW needs to have set some PIO lines or system cfg175 where the HW needs to have set some PIO lines or system cfg
175 registers.176 registers. setup should return a pointer to private data,
177 which will be stored in bsp_priv, and then passed to init and
178 exit callbacks. init/exit callbacks should not use or modify
179 platform data.
176 o custom_cfg/custom_data: this is a custom configuration that can be passed180 o custom_cfg/custom_data: this is a custom configuration that can be passed
177 while initializing the resources.181 while initializing the resources.
178 o bsp_priv: another private pointer.182 o bsp_priv: another private pointer.
Documentation/networking/timestamping.txt+7−2
@@ -85,7 +85,7 @@ Filled in if SOF_TIMESTAMPING_SYS_HARDWARE is set. Requires support · 84 unmodified lines
85by the network device and will be empty without that support.85by the network device and will be empty without that support.
86 86
87 87
88SIOCSHWTSTAMP:88SIOCSHWTSTAMP, SIOCGHWTSTAMP:
89 89
90Hardware time stamping must also be initialized for each device driver90Hardware time stamping must also be initialized for each device driver
91that is expected to do hardware time stamping. The parameter is defined in91that is expected to do hardware time stamping. The parameter is defined in
@@ -115,6 +115,10 @@ Only a processes with admin rights may change the configuration. User · 23 unmodified lines
115space is responsible to ensure that multiple processes don't interfere115space is responsible to ensure that multiple processes don't interfere
116with each other and that the settings are reset.116with each other and that the settings are reset.
117 117
118Any process can read the actual configuration by passing this
119structure to ioctl(SIOCGHWTSTAMP) in the same way. However, this has
120not been implemented in all drivers.
121
118/* possible values for hwtstamp_config->tx_type */122/* possible values for hwtstamp_config->tx_type */
119enum {123enum {
120 /*124 /*
@@ -157,7 +161,8 @@ DEVICE IMPLEMENTATION · 36 unmodified lines
157 161
158A driver which supports hardware time stamping must support the162A driver which supports hardware time stamping must support the
159SIOCSHWTSTAMP ioctl and update the supplied struct hwtstamp_config with163SIOCSHWTSTAMP ioctl and update the supplied struct hwtstamp_config with
160the actual values as described in the section on SIOCSHWTSTAMP.164the actual values as described in the section on SIOCSHWTSTAMP. It
165should also support SIOCGHWTSTAMP.
161 166
162Time stamps for received packets must be stored in the skb. To get a pointer167Time stamps for received packets must be stored in the skb. To get a pointer
163to the shared time stamp structure of the skb call skb_hwtstamps(). Then168to the shared time stamp structure of the skb call skb_hwtstamps(). Then
Documentation/networking/timestamping/.gitignore+1−0
@@ -1 +1,2 @@
1timestamping1timestamping
2hwtstamp_config
Documentation/networking/timestamping/Makefile+3−2
@@ -2,12 +2,13 @@ · 1 unmodified line
2obj- := dummy.o2obj- := dummy.o
3 3
4# List of programs to build4# List of programs to build
5hostprogs-y := timestamping5hostprogs-y := timestamping hwtstamp_config
6 6
7# Tell kbuild to always build the programs7# Tell kbuild to always build the programs
8always := $(hostprogs-y)8always := $(hostprogs-y)
9 9
10HOSTCFLAGS_timestamping.o += -I$(objtree)/usr/include10HOSTCFLAGS_timestamping.o += -I$(objtree)/usr/include
11HOSTCFLAGS_hwtstamp_config.o += -I$(objtree)/usr/include
11 12
12clean:13clean:
13 rm -f timestamping14 rm -f timestamping hwtstamp_config
Documentation/networking/timestamping/hwtstamp_config.c+134−0
@@ -0,0 +1,134 @@
1/* Test program for SIOC{G,S}HWTSTAMP
2 * Copyright 2013 Solarflare Communications
3 * Author: Ben Hutchings
4 */
5
6#include <errno.h>
7#include <stdio.h>
8#include <stdlib.h>
9#include <string.h>
10
11#include <sys/socket.h>
12#include <sys/ioctl.h>
13
14#include <linux/if.h>
15#include <linux/net_tstamp.h>
16#include <linux/sockios.h>
17
18static int
19lookup_value(const char **names, int size, const char *name)
20{
21 int value;
22
23 for (value = 0; value < size; value++)
24 if (names[value] && strcasecmp(names[value], name) == 0)
25 return value;
26
27 return -1;
28}
29
30static const char *
31lookup_name(const char **names, int size, int value)
32{
33 return (value >= 0 && value < size) ? names[value] : NULL;
34}
35
36static void list_names(FILE *f, const char **names, int size)
37{
38 int value;
39
40 for (value = 0; value < size; value++)
41 if (names[value])
42 fprintf(f, " %s\n", names[value]);
43}
44
45static const char *tx_types[] = {
46#define TX_TYPE(name) [HWTSTAMP_TX_ ## name] = #name
47 TX_TYPE(OFF),
48 TX_TYPE(ON),
49 TX_TYPE(ONESTEP_SYNC)
50#undef TX_TYPE
51};
52#define N_TX_TYPES ((int)(sizeof(tx_types) / sizeof(tx_types[0])))
53
54static const char *rx_filters[] = {
55#define RX_FILTER(name) [HWTSTAMP_FILTER_ ## name] = #name
56 RX_FILTER(NONE),
57 RX_FILTER(ALL),
58 RX_FILTER(SOME),
59 RX_FILTER(PTP_V1_L4_EVENT),
60 RX_FILTER(PTP_V1_L4_SYNC),
61 RX_FILTER(PTP_V1_L4_DELAY_REQ),
62 RX_FILTER(PTP_V2_L4_EVENT),
63 RX_FILTER(PTP_V2_L4_SYNC),
64 RX_FILTER(PTP_V2_L4_DELAY_REQ),
65 RX_FILTER(PTP_V2_L2_EVENT),
66 RX_FILTER(PTP_V2_L2_SYNC),
67 RX_FILTER(PTP_V2_L2_DELAY_REQ),
68 RX_FILTER(PTP_V2_EVENT),
69 RX_FILTER(PTP_V2_SYNC),
70 RX_FILTER(PTP_V2_DELAY_REQ),
71#undef RX_FILTER
72};
73#define N_RX_FILTERS ((int)(sizeof(rx_filters) / sizeof(rx_filters[0])))
74
75static void usage(void)
76{
77 fputs("Usage: hwtstamp_config if_name [tx_type rx_filter]\n"
78 "tx_type is any of (case-insensitive):\n",
79 stderr);
80 list_names(stderr, tx_types, N_TX_TYPES);
81 fputs("rx_filter is any of (case-insensitive):\n", stderr);
82 list_names(stderr, rx_filters, N_RX_FILTERS);
83}
84
85int main(int argc, char **argv)
86{
87 struct ifreq ifr;
88 struct hwtstamp_config config;
89 const char *name;
90 int sock;
91
92 if ((argc != 2 && argc != 4) || (strlen(argv[1]) >= IFNAMSIZ)) {
93 usage();
94 return 2;
95 }
96
97 if (argc == 4) {
98 config.flags = 0;
99 config.tx_type = lookup_value(tx_types, N_TX_TYPES, argv[2]);
100 config.rx_filter = lookup_value(rx_filters, N_RX_FILTERS, argv[3]);
101 if (config.tx_type < 0 || config.rx_filter < 0) {
102 usage();
103 return 2;
104 }
105 }
106
107 sock = socket(AF_INET, SOCK_DGRAM, 0);
108 if (sock < 0) {
109 perror("socket");
110 return 1;
111 }
112
113 strcpy(ifr.ifr_name, argv[1]);
114 ifr.ifr_data = (caddr_t)&config;
115
116 if (ioctl(sock, (argc == 2) ? SIOCGHWTSTAMP : SIOCSHWTSTAMP, &ifr)) {
117 perror("ioctl");
118 return 1;
119 }
120
121 printf("flags = %#x\n", config.flags);
122 name = lookup_name(tx_types, N_TX_TYPES, config.tx_type);
123 if (name)
124 printf("tx_type = %s\n", name);
125 else
126 printf("tx_type = %d\n", config.tx_type);
127 name = lookup_name(rx_filters, N_RX_FILTERS, config.rx_filter);
128 if (name)
129 printf("rx_filter = %s\n", name);
130 else
131 printf("rx_filter = %d\n", config.rx_filter);
132
133 return 0;
134}
Documentation/pinctrl.txt+21−22
@@ -18,7 +18,7 @@ Definition of PIN CONTROLLER: · 17 unmodified lines
18 18
19- A pin controller is a piece of hardware, usually a set of registers, that19- A pin controller is a piece of hardware, usually a set of registers, that
20 can control PINs. It may be able to multiplex, bias, set load capacitance,20 can control PINs. It may be able to multiplex, bias, set load capacitance,
21 set drive strength etc for individual pins or groups of pins.21 set drive strength, etc. for individual pins or groups of pins.
22 22
23Definition of PIN:23Definition of PIN:
24 24
@@ -90,7 +90,7 @@ selected drivers, you need to select them from your machine's Kconfig entry, · 65 unmodified lines
90since these are so tightly integrated with the machines they are used on.90since these are so tightly integrated with the machines they are used on.
91See for example arch/arm/mach-u300/Kconfig for an example.91See for example arch/arm/mach-u300/Kconfig for an example.
92 92
93Pins usually have fancier names than this. You can find these in the dataheet93Pins usually have fancier names than this. You can find these in the datasheet
94for your chip. Notice that the core pinctrl.h file provides a fancy macro94for your chip. Notice that the core pinctrl.h file provides a fancy macro
95called PINCTRL_PIN() to create the struct entries. As you can see I enumerated95called PINCTRL_PIN() to create the struct entries. As you can see I enumerated
96the pins from 0 in the upper left corner to 63 in the lower right corner.96the pins from 0 in the upper left corner to 63 in the lower right corner.
@@ -185,7 +185,7 @@ static struct pinctrl_desc foo_desc = { · 88 unmodified lines
185};185};
186 186
187The pin control subsystem will call the .get_groups_count() function to187The pin control subsystem will call the .get_groups_count() function to
188determine total number of legal selectors, then it will call the other functions188determine the total number of legal selectors, then it will call the other functions
189to retrieve the name and pins of the group. Maintaining the data structure of189to retrieve the name and pins of the group. Maintaining the data structure of
190the groups is up to the driver, this is just a simple example - in practice you190the groups is up to the driver, this is just a simple example - in practice you
191may need more entries in your group structure, for example specific register191may need more entries in your group structure, for example specific register
@@ -195,7 +195,7 @@ ranges associated with each group and so on. · 3 unmodified lines
195Pin configuration195Pin configuration
196=================196=================
197 197
198Pins can sometimes be software-configured in an various ways, mostly related198Pins can sometimes be software-configured in various ways, mostly related
199to their electronic properties when used as inputs or outputs. For example you199to their electronic properties when used as inputs or outputs. For example you
200may be able to make an output pin high impedance, or "tristate" meaning it is200may be able to make an output pin high impedance, or "tristate" meaning it is
201effectively disconnected. You may be able to connect an input pin to VDD or GND201effectively disconnected. You may be able to connect an input pin to VDD or GND
@@ -291,7 +291,7 @@ Since the pin controller subsystem have its pinspace local to the pin · 89 unmodified lines
291controller we need a mapping so that the pin control subsystem can figure out291controller we need a mapping so that the pin control subsystem can figure out
292which pin controller handles control of a certain GPIO pin. Since a single292which pin controller handles control of a certain GPIO pin. Since a single
293pin controller may be muxing several GPIO ranges (typically SoCs that have293pin controller may be muxing several GPIO ranges (typically SoCs that have
294one set of pins but internally several GPIO silicon blocks, each modelled as294one set of pins, but internally several GPIO silicon blocks, each modelled as
295a struct gpio_chip) any number of GPIO ranges can be added to a pin controller295a struct gpio_chip) any number of GPIO ranges can be added to a pin controller
296instance like this:296instance like this:
297 297
@@ -373,9 +373,9 @@ will be called on that specific pin controller. · 75 unmodified lines
373 373
374For all functionalities dealing with pin biasing, pin muxing etc, the pin374For all functionalities dealing with pin biasing, pin muxing etc, the pin
375controller subsystem will look up the corresponding pin number from the passed375controller subsystem will look up the corresponding pin number from the passed
376in gpio number, and use the range's internals to retrive a pin number. After376in gpio number, and use the range's internals to retrieve a pin number. After
377that, the subsystem passes it on to the pin control driver, so the driver377that, the subsystem passes it on to the pin control driver, so the driver
378will get an pin number into its handled number range. Further it is also passed378will get a pin number into its handled number range. Further it is also passed
379the range ID value, so that the pin controller knows which range it should379the range ID value, so that the pin controller knows which range it should
380deal with.380deal with.
381 381
@@ -430,8 +430,8 @@ pins you see some will be taken by things like a few VCC and GND to feed power · 48 unmodified lines
430to the chip, and quite a few will be taken by large ports like an external430to the chip, and quite a few will be taken by large ports like an external
431memory interface. The remaining pins will often be subject to pin multiplexing.431memory interface. The remaining pins will often be subject to pin multiplexing.
432 432
433The example 8x8 PGA package above will have pin numbers 0 thru 63 assigned to433The example 8x8 PGA package above will have pin numbers 0 through 63 assigned
434its physical pins. It will name the pins { A1, A2, A3 ... H6, H7, H8 } using434to its physical pins. It will name the pins { A1, A2, A3 ... H6, H7, H8 } using
435pinctrl_register_pins() and a suitable data set as shown earlier.435pinctrl_register_pins() and a suitable data set as shown earlier.
436 436
437In this 8x8 BGA package the pins { A8, A7, A6, A5 } can be used as an SPI port437In this 8x8 BGA package the pins { A8, A7, A6, A5 } can be used as an SPI port
@@ -442,7 +442,7 @@ we cannot use the SPI port and I2C port at the same time. However in the inside · 4 unmodified lines
442of the package the silicon performing the SPI logic can alternatively be routed442of the package the silicon performing the SPI logic can alternatively be routed
443out on pins { G4, G3, G2, G1 }.443out on pins { G4, G3, G2, G1 }.
444 444
445On the botton row at { A1, B1, C1, D1, E1, F1, G1, H1 } we have something445On the bottom row at { A1, B1, C1, D1, E1, F1, G1, H1 } we have something
446special - it's an external MMC bus that can be 2, 4 or 8 bits wide, and it will446special - it's an external MMC bus that can be 2, 4 or 8 bits wide, and it will
447consume 2, 4 or 8 pins respectively, so either { A1, B1 } are taken or447consume 2, 4 or 8 pins respectively, so either { A1, B1 } are taken or
448{ A1, B1, C1, D1 } or all of them. If we use all 8 bits, we cannot use the SPI448{ A1, B1, C1, D1 } or all of them. If we use all 8 bits, we cannot use the SPI
@@ -549,7 +549,7 @@ Assumptions: · 100 unmodified lines
549 549
550We assume that the number of possible function maps to pin groups is limited by550We assume that the number of possible function maps to pin groups is limited by
551the hardware. I.e. we assume that there is no system where any function can be551the hardware. I.e. we assume that there is no system where any function can be
552mapped to any pin, like in a phone exchange. So the available pins groups for552mapped to any pin, like in a phone exchange. So the available pin groups for
553a certain function will be limited to a few choices (say up to eight or so),553a certain function will be limited to a few choices (say up to eight or so),
554not hundreds or any amount of choices. This is the characteristic we have found554not hundreds or any amount of choices. This is the characteristic we have found
555by inspecting available pinmux hardware, and a necessary assumption since we555by inspecting available pinmux hardware, and a necessary assumption since we
@@ -564,7 +564,7 @@ The pinmux core takes care of preventing conflicts on pins and calling · 8 unmodified lines
564the pin controller driver to execute different settings.564the pin controller driver to execute different settings.
565 565
566It is the responsibility of the pinmux driver to impose further restrictions566It is the responsibility of the pinmux driver to impose further restrictions
567(say for example infer electronic limitations due to load etc) to determine567(say for example infer electronic limitations due to load, etc.) to determine
568whether or not the requested function can actually be allowed, and in case it568whether or not the requested function can actually be allowed, and in case it
569is possible to perform the requested mux setting, poke the hardware so that569is possible to perform the requested mux setting, poke the hardware so that
570this happens.570this happens.
@@ -755,7 +755,7 @@ Pin control interaction with the GPIO subsystem · 184 unmodified lines
755Note that the following implies that the use case is to use a certain pin755Note that the following implies that the use case is to use a certain pin
756from the Linux kernel using the API in <linux/gpio.h> with gpio_request()756from the Linux kernel using the API in <linux/gpio.h> with gpio_request()
757and similar functions. There are cases where you may be using something757and similar functions. There are cases where you may be using something
758that your datasheet calls "GPIO mode" but actually is just an electrical758that your datasheet calls "GPIO mode", but actually is just an electrical
759configuration for a certain device. See the section below named759configuration for a certain device. See the section below named
760"GPIO mode pitfalls" for more details on this scenario.760"GPIO mode pitfalls" for more details on this scenario.
761 761
@@ -871,7 +871,7 @@ hardware and shall be put into different subsystems: · 109 unmodified lines
871 871
872- Registers (or fields within registers) that control muxing of signals872- Registers (or fields within registers) that control muxing of signals
873 from various other HW blocks (e.g. I2C, MMC, or GPIO) onto pins should873 from various other HW blocks (e.g. I2C, MMC, or GPIO) onto pins should
874 be exposed through the pinctrl subssytem, as mux functions.874 be exposed through the pinctrl subsystem, as mux functions.
875 875
876- Registers (or fields within registers) that control GPIO functionality876- Registers (or fields within registers) that control GPIO functionality
877 such as setting a GPIO's output value, reading a GPIO's input value, or877 such as setting a GPIO's output value, reading a GPIO's input value, or
@@ -895,7 +895,7 @@ Example: a pin is usually muxed in to be used as a UART TX line. But during · 17 unmodified lines
895system sleep, we need to put this pin into "GPIO mode" and ground it.895system sleep, we need to put this pin into "GPIO mode" and ground it.
896 896
897If you make a 1-to-1 map to the GPIO subsystem for this pin, you may start897If you make a 1-to-1 map to the GPIO subsystem for this pin, you may start
898to think that you need to come up with something real complex, that the898to think that you need to come up with something really complex, that the
899pin shall be used for UART TX and GPIO at the same time, that you will grab899pin shall be used for UART TX and GPIO at the same time, that you will grab
900a pin control handle and set it to a certain state to enable UART TX to be900a pin control handle and set it to a certain state to enable UART TX to be
901muxed in, then twist it over to GPIO mode and use gpio_direction_output()901muxed in, then twist it over to GPIO mode and use gpio_direction_output()
@@ -964,12 +964,12 @@ GPIO mode. · 62 unmodified lines
964This will give the desired effect without any bogus interaction with the964This will give the desired effect without any bogus interaction with the
965GPIO subsystem. It is just an electrical configuration used by that device965GPIO subsystem. It is just an electrical configuration used by that device
966when going to sleep, it might imply that the pin is set into something the966when going to sleep, it might imply that the pin is set into something the
967datasheet calls "GPIO mode" but that is not the point: it is still used967datasheet calls "GPIO mode", but that is not the point: it is still used
968by that UART device to control the pins that pertain to that very UART968by that UART device to control the pins that pertain to that very UART
969driver, putting them into modes needed by the UART. GPIO in the Linux969driver, putting them into modes needed by the UART. GPIO in the Linux
970kernel sense are just some 1-bit line, and is a different use case.970kernel sense are just some 1-bit line, and is a different use case.
971 971
972How the registers are poked to attain the push/pull and output low972How the registers are poked to attain the push or pull, and output low
973configuration and the muxing of the "u0" or "gpio-mode" group onto these973configuration and the muxing of the "u0" or "gpio-mode" group onto these
974pins is a question for the driver.974pins is a question for the driver.
975 975
@@ -977,7 +977,7 @@ Some datasheets will be more helpful and refer to the "GPIO mode" as · 1 unmodified line
977"low power mode" rather than anything to do with GPIO. This often means977"low power mode" rather than anything to do with GPIO. This often means
978the same thing electrically speaking, but in this latter case the978the same thing electrically speaking, but in this latter case the
979software engineers will usually quickly identify that this is some979software engineers will usually quickly identify that this is some
980specific muxing/configuration rather than anything related to the GPIO980specific muxing or configuration rather than anything related to the GPIO
981API.981API.
982 982
983 983
@@ -1024,8 +1024,7 @@ up the device struct (just like with clockdev or regulators). The function name · 40 unmodified lines
1024must match a function provided by the pinmux driver handling this pin range.1024must match a function provided by the pinmux driver handling this pin range.
1025 1025
1026As you can see we may have several pin controllers on the system and thus1026As you can see we may have several pin controllers on the system and thus
1027we need to specify which one of them that contain the functions we wish1027we need to specify which one of them contains the functions we wish to map.
1028to map.
1029 1028
1030You register this pinmux mapping to the pinmux subsystem by simply:1029You register this pinmux mapping to the pinmux subsystem by simply:
1031 1030
@@ -1254,10 +1253,10 @@ The semantics of the pinctrl APIs are: · 222 unmodified lines
1254 pinctrl_get().1253 pinctrl_get().
1255 1254
1256- pinctrl_lookup_state() is called in process context to obtain a handle to a1255- pinctrl_lookup_state() is called in process context to obtain a handle to a
1257 specific state for a the client device. This operation may be slow too.1256 specific state for a client device. This operation may be slow, too.
1258 1257
1259- pinctrl_select_state() programs pin controller hardware according to the1258- pinctrl_select_state() programs pin controller hardware according to the
1260 definition of the state as given by the mapping table. In theory this is a1259 definition of the state as given by the mapping table. In theory, this is a
1261 fast-path operation, since it only involved blasting some register settings1260 fast-path operation, since it only involved blasting some register settings
1262 into hardware. However, note that some pin controllers may have their1261 into hardware. However, note that some pin controllers may have their
1263 registers on a slow/IRQ-based bus, so client devices should not assume they1262 registers on a slow/IRQ-based bus, so client devices should not assume they
Documentation/power/basic-pm-debugging.txt+1−1
@@ -172,7 +172,7 @@ you can boot the kernel with the 'no_console_suspend' parameter and try to log · 171 unmodified lines
172kernel messages using the serial console. This may provide you with some172kernel messages using the serial console. This may provide you with some
173information about the reasons of the suspend (resume) failure. Alternatively,173information about the reasons of the suspend (resume) failure. Alternatively,
174it may be possible to use a FireWire port for debugging with firescope174it may be possible to use a FireWire port for debugging with firescope
175(ftp://ftp.firstfloor.org/pub/ak/firescope/). On x86 it is also possible to175(http://v3.sk/~lkundrak/firescope/). On x86 it is also possible to
176use the PM_TRACE mechanism documented in Documentation/power/s2ram.txt .176use the PM_TRACE mechanism documented in Documentation/power/s2ram.txt .
177 177
1782. Testing suspend to RAM (STR)1782. Testing suspend to RAM (STR)
Documentation/printk-formats.txt+9−2
@@ -55,14 +55,21 @@ Struct Resources: · 54 unmodified lines
55 For printing struct resources. The 'R' and 'r' specifiers result in a55 For printing struct resources. The 'R' and 'r' specifiers result in a
56 printed resource with ('R') or without ('r') a decoded flags member.56 printed resource with ('R') or without ('r') a decoded flags member.
57 57
58Physical addresses:58Physical addresses types phys_addr_t:
59 59
60 %pa 0x01234567 or 0x0123456789abcdef60 %pa[p] 0x01234567 or 0x0123456789abcdef
61 61
62 For printing a phys_addr_t type (and its derivatives, such as62 For printing a phys_addr_t type (and its derivatives, such as
63 resource_size_t) which can vary based on build options, regardless of63 resource_size_t) which can vary based on build options, regardless of
64 the width of the CPU data path. Passed by reference.64 the width of the CPU data path. Passed by reference.
65 65
66DMA addresses types dma_addr_t:
67
68 %pad 0x01234567 or 0x0123456789abcdef
69
70 For printing a dma_addr_t type which can vary based on build options,
71 regardless of the width of the CPU data path. Passed by reference.
72
66Raw buffer as a hex string:73Raw buffer as a hex string:
67 %*ph 00 01 02 ... 3f74 %*ph 00 01 02 ... 3f
68 %*phC 00:01:02: ... :3f75 %*phC 00:01:02: ... :3f
Documentation/rfkill.txt+1−1
@@ -71,7 +71,7 @@ To create an rfkill driver, driver's Kconfig needs to have · 70 unmodified lines
71 depends on RFKILL || !RFKILL71 depends on RFKILL || !RFKILL
72 72
73to ensure the driver cannot be built-in when rfkill is modular. The !RFKILL73to ensure the driver cannot be built-in when rfkill is modular. The !RFKILL
74case allows the driver to be built when rfkill is not configured, which which74case allows the driver to be built when rfkill is not configured, which
75case all rfkill API can still be used but will be provided by static inlines75case all rfkill API can still be used but will be provided by static inlines
76which compile to almost nothing.76which compile to almost nothing.
77 77
Documentation/rt-mutex-design.txt+1−1
@@ -30,7 +30,7 @@ is something called unbounded priority inversion. That is when the high · 29 unmodified lines
30priority process is prevented from running by a lower priority process for30priority process is prevented from running by a lower priority process for
31an undetermined amount of time.31an undetermined amount of time.
32 32
33The classic example of unbounded priority inversion is were you have three33The classic example of unbounded priority inversion is where you have three
34processes, let's call them processes A, B, and C, where A is the highest34processes, let's call them processes A, B, and C, where A is the highest
35priority process, C is the lowest, and B is in between. A tries to grab a lock35priority process, C is the lowest, and B is in between. A tries to grab a lock
36that C owns and must wait and lets C run to release the lock. But in the36that C owns and must wait and lets C run to release the lock. But in the
Documentation/s390/qeth.txt+50−0
@@ -0,0 +1,50 @@
1IBM s390 QDIO Ethernet Driver
2
3HiperSockets Bridge Port Support
4
5Uevents
6
7To generate the events the device must be assigned a role of either
8a primary or a secondary Bridge Port. For more information, see
9"z/VM Connectivity, SC24-6174".
10
11When run on HiperSockets Bridge Capable Port hardware, and the state
12of some configured Bridge Port device on the channel changes, a udev
13event with ACTION=CHANGE is emitted on behalf of the corresponding
14ccwgroup device. The event has the following attributes:
15
16BRIDGEPORT=statechange - indicates that the Bridge Port device changed
17 its state.
18
19ROLE={primary|secondary|none} - the role assigned to the port.
20
21STATE={active|standby|inactive} - the newly assumed state of the port.
22
23When run on HiperSockets Bridge Capable Port hardware with host address
24notifications enabled, a udev event with ACTION=CHANGE is emitted.
25It is emitted on behalf of the corresponding ccwgroup device when a host
26or a VLAN is registered or unregistered on the network served by the device.
27The event has the following attributes:
28
29BRIDGEDHOST={reset|register|deregister|abort} - host address
30 notifications are started afresh, a new host or VLAN is registered or
31 deregistered on the Bridge Port HiperSockets channel, or address
32 notifications are aborted.
33
34VLAN=numeric-vlan-id - VLAN ID on which the event occurred. Not included
35 if no VLAN is involved in the event.
36
37MAC=xx:xx:xx:xx:xx:xx - MAC address of the host that is being registered
38 or deregistered from the HiperSockets channel. Not reported if the
39 event reports the creation or destruction of a VLAN.
40
41NTOK_BUSID=x.y.zzzz - device bus ID (CSSID, SSID and device number).
42
43NTOK_IID=xx - device IID.
44
45NTOK_CHPID=xx - device CHPID.
46
47NTOK_CHID=xxxx - device channel ID.
48
49Note that the NTOK_* attributes refer to devices other than the one
50connected to the system on which the OS is running.
Documentation/scsi/00-INDEX+0−2
@@ -42,8 +42,6 @@ aic79xx.txt · 41 unmodified lines
42 - Adaptec Ultra320 SCSI host adapters42 - Adaptec Ultra320 SCSI host adapters
43aic7xxx.txt43aic7xxx.txt
44 - info on driver for Adaptec controllers44 - info on driver for Adaptec controllers
45aic7xxx_old.txt
46 - info on driver for Adaptec controllers, old generation
47arcmsr_spec.txt45arcmsr_spec.txt
48 - ARECA FIRMWARE SPEC (for IOP331 adapter)46 - ARECA FIRMWARE SPEC (for IOP331 adapter)
49dc395x.txt47dc395x.txt
Documentation/scsi/aic7xxx_old.txt+0−511
@@ -1,511 +0,0 @@
1 AIC7xxx Driver for Linux
2
3Introduction
4----------------------------
5The AIC7xxx SCSI driver adds support for Adaptec (http://www.adaptec.com)
6SCSI controllers and chipsets. Major portions of the driver and driver
7development are shared between both Linux and FreeBSD. Support for the
8AIC-7xxx chipsets have been in the default Linux kernel since approximately
9linux-1.1.x and fairly stable since linux-1.2.x, and are also in FreeBSD
102.1.0 or later.
11
12 Supported cards/chipsets
13 ----------------------------
14 Adaptec Cards
15 ----------------------------
16 AHA-274x
17 AHA-274xT
18 AHA-2842
19 AHA-2910B
20 AHA-2920C
21 AHA-2930
22 AHA-2930U
23 AHA-2930CU
24 AHA-2930U2
25 AHA-2940
26 AHA-2940W
27 AHA-2940U
28 AHA-2940UW
29 AHA-2940UW-PRO
30 AHA-2940AU
31 AHA-2940U2W
32 AHA-2940U2
33 AHA-2940U2B
34 AHA-2940U2BOEM
35 AHA-2944D
36 AHA-2944WD
37 AHA-2944UD
38 AHA-2944UWD
39 AHA-2950U2
40 AHA-2950U2W
41 AHA-2950U2B
42 AHA-29160M
43 AHA-3940
44 AHA-3940U
45 AHA-3940W
46 AHA-3940UW
47 AHA-3940AUW
48 AHA-3940U2W
49 AHA-3950U2B
50 AHA-3950U2D
51 AHA-3960D
52 AHA-39160M
53 AHA-3985
54 AHA-3985U
55 AHA-3985W
56 AHA-3985UW
57
58 Motherboard Chipsets
59 ----------------------------
60 AIC-777x
61 AIC-785x
62 AIC-786x
63 AIC-787x
64 AIC-788x
65 AIC-789x
66 AIC-3860
67
68 Bus Types
69 ----------------------------
70 W - Wide SCSI, SCSI-3, 16bit bus, 68pin connector, will also support
71 SCSI-1/SCSI-2 50pin devices, transfer rates up to 20MB/s.
72 U - Ultra SCSI, transfer rates up to 40MB/s.
73 U2- Ultra 2 SCSI, transfer rates up to 80MB/s.
74 D - Differential SCSI.
75 T - Twin Channel SCSI. Up to 14 SCSI devices.
76
77 AHA-274x - EISA SCSI controller
78 AHA-284x - VLB SCSI controller
79 AHA-29xx - PCI SCSI controller
80 AHA-394x - PCI controllers with two separate SCSI controllers on-board.
81 AHA-398x - PCI RAID controllers with three separate SCSI controllers
82 on-board.
83
84 Not Supported Devices
85 ------------------------------
86 Adaptec Cards
87 ----------------------------
88 AHA-2920 (Only the cards that use the Future Domain chipset are not
89 supported, any 2920 cards based on Adaptec AIC chipsets,
90 such as the 2920C, are supported)
91 AAA-13x Raid Adapters
92 AAA-113x Raid Port Card
93
94 Motherboard Chipsets
95 ----------------------------
96 AIC-7810
97
98 Bus Types
99 ----------------------------
100 R - Raid Port busses are not supported.
101
102 The hardware RAID devices sold by Adaptec are *NOT* supported by this
103 driver (and will people please stop emailing me about them, they are
104 a totally separate beast from the bare SCSI controllers and this driver
105 cannot be retrofitted in any sane manner to support the hardware RAID
106 features on those cards - Doug Ledford).
107
108
109 People
110 ------------------------------
111 Justin T Gibbs gibbs@plutotech.com
112 (BSD Driver Author)
113 Dan Eischen deischen@iworks.InterWorks.org
114 (Original Linux Driver Co-maintainer)
115 Dean Gehnert deang@teleport.com
116 (Original Linux FTP/patch maintainer)
117 Jess Johnson jester@frenzy.com
118 (AIC7xxx FAQ author)
119 Doug Ledford dledford@redhat.com
120 (Current Linux aic7xxx-5.x.x Driver/Patch/FTP maintainer)
121
122 Special thanks go to John Aycock (aycock@cpsc.ucalgary.ca), the original
123 author of the driver. John has since retired from the project. Thanks
124 again for all his work!
125
126 Mailing list
127 ------------------------------
128 There is a mailing list available for users who want to track development
129 and converse with other users and developers. This list is for both
130 FreeBSD and Linux support of the AIC7xxx chipsets.
131
132 To subscribe to the AIC7xxx mailing list send mail to the list server,
133 with "subscribe AIC7xxx" in the body (no Subject: required):
134 To: majordomo@FreeBSD.ORG
135 ---
136 subscribe AIC7xxx
137
138 To unsubscribe from the list, send mail to the list server with:
139 To: majordomo@FreeBSD.ORG
140 ---
141 unsubscribe AIC7xxx
142
143 Send regular messages and replies to: AIC7xxx@FreeBSD.ORG
144
145 Boot Command line options
146 ------------------------------
147 "aic7xxx=no_reset" - Eliminate the SCSI bus reset during startup.
148 Some SCSI devices need the initial reset that this option disables
149 in order to work. If you have problems at bootup, please make sure
150 you aren't using this option.
151
152 "aic7xxx=reverse_scan" - Certain PCI motherboards scan for devices at
153 bootup by scanning from the highest numbered PCI device to the
154 lowest numbered PCI device, others do just the opposite and scan
155 from lowest to highest numbered PCI device. There is no reliable
156 way to autodetect this ordering. So, we default to the most common
157 order, which is lowest to highest. Then, in case your motherboard
158 scans from highest to lowest, we have this option. If your BIOS
159 finds the drives on controller A before controller B but the linux
160 kernel finds your drives on controller B before A, then you should
161 use this option.
162
163 "aic7xxx=extended" - Force the driver to detect extended drive translation
164 on your controller. This helps those people who have cards without
165 a SEEPROM make sure that linux and all other operating systems think
166 the same way about your hard drives.
167
168 "aic7xxx=scbram" - Some cards have external SCB RAM that can be used to
169 give the card more hardware SCB slots. This allows the driver to use
170 that SCB RAM. Without this option, the driver won't touch the SCB
171 RAM because it is known to cause problems on a few cards out there
172 (such as 3985 class cards).
173
174 "aic7xxx=irq_trigger:x" - Replace x with either 0 or 1 to force the kernel
175 to use the correct IRQ type for your card. This only applies to EISA
176 based controllers. On these controllers, 0 is for Edge triggered
177 interrupts, and 1 is for Level triggered interrupts. If you aren't
178 sure or don't know which IRQ trigger type your EISA card uses, then
179 let the kernel autodetect the trigger type.
180
181 "aic7xxx=verbose" - This option can be used in one of two ways. If you
182 simply specify aic7xxx=verbose, then the kernel will automatically
183 pick the default set of verbose messages for you to see.
184 Alternatively, you can specify the command as
185 "aic7xxx=verbose:0xXXXX" where the X entries are replaced with
186 hexadecimal digits. This option is a bit field type option. For
187 a full listing of the available options, search for the
188 #define VERBOSE_xxxxxx lines in the aic7xxx.c file. If you want
189 verbose messages, then it is recommended that you simply use the
190 aic7xxx=verbose variant of this command.
191
192 "aic7xxx=pci_parity:x" - This option controls whether or not the driver
193 enables PCI parity error checking on the PCI bus. By default, this
194 checking is disabled. To enable the checks, simply specify pci_parity
195 with no value afterwords. To reverse the parity from even to odd,
196 supply any number other than 0 or 255. In short:
197 pci_parity - Even parity checking (even is the normal PCI parity)
198 pci_parity:x - Where x > 0, Odd parity checking
199 pci_parity:0 - No check (default)
200 NOTE: In order to get Even PCI parity checking, you must use the
201 version of the option that does not include the : and a number at
202 the end (unless you want to enter exactly 2^32 - 1 as the number).
203
204 "aic7xxx=no_probe" - This option will disable the probing for any VLB
205 based 2842 controllers and any EISA based controllers. This is
206 needed on certain newer motherboards where the normal EISA I/O ranges
207 have been claimed by other PCI devices. Probing on those machines
208 will often result in the machine crashing or spontaneously rebooting
209 during startup. Examples of machines that need this are the
210 Dell PowerEdge 6300 machines.
211
212 "aic7xxx=seltime:2" - This option controls how long the card waits
213 during a device selection sequence for the device to respond.
214 The original SCSI spec says that this "should be" 256ms. This
215 is generally not required with modern devices. However, some
216 very old SCSI I devices need the full 256ms. Most modern devices
217 can run fine with only 64ms. The default for this option is
218 64ms. If you need to change this option, then use the following
219 table to set the proper value in the example above:
220 0 - 256ms
221 1 - 128ms
222 2 - 64ms
223 3 - 32ms
224
225 "aic7xxx=panic_on_abort" - This option is for debugging and will cause
226 the driver to panic the linux kernel and freeze the system the first
227 time the drivers abort or reset routines are called. This is most
228 helpful when some problem causes infinite reset loops that scroll too
229 fast to see. By using this option, you can write down what the errors
230 actually are and send that information to me so it can be fixed.
231
232 "aic7xxx=dump_card" - This option will print out the *entire* set of
233 configuration registers on the card during the init sequence. This
234 is a debugging aid used to see exactly what state the card is in
235 when we finally finish our initialization routines. If you don't
236 have documentation on the chipsets, this will do you absolutely
237 no good unless you are simply trying to write all the information
238 down in order to send it to me.
239
240 "aic7xxx=dump_sequencer" - This is the same as the above options except
241 that instead of dumping the register contents on the card, this
242 option dumps the contents of the sequencer program RAM. This gives
243 the ability to verify that the instructions downloaded to the
244 card's sequencer are indeed what they are supposed to be. Again,
245 unless you have documentation to tell you how to interpret these
246 numbers, then it is totally useless.
247
248 "aic7xxx=override_term:0xffffffff" - This option is used to force the
249 termination on your SCSI controllers to a particular setting. This
250 is a bit mask variable that applies for up to 8 aic7xxx SCSI channels.
251 Each channel gets 4 bits, divided as follows:
252 bit 3 2 1 0
253 | | | Enable/Disable Single Ended Low Byte Termination
254 | | En/Disable Single Ended High Byte Termination
255 | En/Disable Low Byte LVD Termination
256 En/Disable High Byte LVD Termination
257
258 The upper 2 bits that deal with LVD termination only apply to Ultra2
259 controllers. Furthermore, due to the current Ultra2 controller
260 designs, these bits are tied together such that setting either bit
261 enables both low and high byte LVD termination. It is not possible
262 to only set high or low byte LVD termination in this manner. This is
263 an artifact of the BIOS definition on Ultra2 controllers. For other
264 controllers, the only important bits are the two lowest bits. Setting
265 the higher bits on non-Ultra2 controllers has no effect. A few
266 examples of how to use this option:
267
268 Enable low and high byte termination on a non-ultra2 controller that
269 is the first aic7xxx controller (the correct bits are 0011),
270 aic7xxx=override_term:0x3
271
272 Enable all termination on the third aic7xxx controller, high byte
273 termination on the second aic7xxx controller, and low and high byte
274 SE termination on the first aic7xxx controller
275 (bits are 1111 0010 0011),
276 aic7xxx=override_term:0xf23
277
278 No attempt has been made to make this option non-cryptic. It really
279 shouldn't be used except in dire circumstances, and if that happens,
280 I'm probably going to be telling you what to set this to anyway :)
281
282 "aic7xxx=stpwlev:0xffffffff" - This option is used to control the STPWLEV
283 bit in the DEVCONFIG PCI register. Currently, this is one of the
284 very few registers that we have absolutely *no* way of detecting
285 what the variable should be. It depends entirely on how the chipset
286 and external terminators were coupled by the card/motherboard maker.
287 Further, a chip reset (at power up) always sets this bit to 0. If
288 there is no BIOS to run on the chipset/card (such as with a 2910C
289 or a motherboard controller with the BIOS totally disabled) then
290 the variable may not get set properly. Of course, if the proper
291 setting was 0, then that's what it would be after the reset, but if
292 the proper setting is actually 1.....you get the picture. Now, since
293 we can't detect this at all, I've added this option to force the
294 setting. If you have a BIOS on your controller then you should never
295 need to use this option. However, if you are having lots of SCSI
296 reset problems and can't seem to get them knocked out, this may help.
297
298 Here's a test to know for certain if you need this option. Make
299 a boot floppy that you can use to boot your computer up and that
300 will detect the aic7xxx controller. Next, power down your computer.
301 While it's down, unplug all SCSI cables from your Adaptec SCSI
302 controller. Boot the system back up to the Adaptec EZ-SCSI BIOS
303 and then make sure that termination is enabled on your adapter (if
304 you have an Adaptec BIOS of course). Next, boot up the floppy you
305 made and wait for it to detect the aic7xxx controller. If the kernel
306 finds the controller fine, says scsi : x hosts and then tries to
307 detect your devices like normal, up to the point where it fails to
308 mount your root file system and panics, then you're fine. If, on
309 the other hand, the system goes into an infinite reset loop, then
310 you need to use this option and/or the previous option to force the
311 proper termination settings on your controller. If this happens,
312 then you next need to figure out what your settings should be.
313
314 To find the correct settings, power your machine back down, connect
315 back up the SCSI cables, and boot back into your machine like normal.
316 However, boot with the aic7xxx=verbose:0x39 option. Record the
317 initial DEVCONFIG values for each of your aic7xxx controllers as
318 they are listed, and also record what the machine is detecting as
319 the proper termination on your controllers. NOTE: the order in
320 which the initial DEVCONFIG values are printed out is not guaranteed
321 to be the same order as the SCSI controllers are registered. The
322 above option and this option both work on the order of the SCSI
323 controllers as they are registered, so make sure you match the right
324 DEVCONFIG values with the right controllers if you have more than
325 one aic7xxx controller.
326
327 Once you have the detected termination settings and the initial
328 DEVCONFIG values for each controller, then figure out what the
329 termination on each of the controllers *should* be. Hopefully, that
330 part is correct, but it could possibly be wrong if there is
331 bogus cable detection logic on your controller or something similar.
332 If all the controllers have the correct termination settings, then
333 don't set the aic7xxx=override_term variable at all, leave it alone.
334 Next, on any controllers that go into an infinite reset loop when
335 you unplug all the SCSI cables, get the starting DEVCONFIG value.
336 If the initial DEVCONFIG value is divisible by 2, then the correct
337 setting for that controller is 0. If it's an odd number, then
338 the correct setting for that controller is 1. For any other
339 controllers that didn't have an infinite reset problem, then reverse
340 the above options. If DEVCONFIG was even, then the correct setting
341 is 1, if not then the correct setting is 0.
342
343 Now that you know what the correct setting was for each controller,
344 we need to encode that into the aic7xxx=stpwlev:0x... variable.
345 This variable is a bit field encoded variable. Bit 0 is for the first
346 aic7xxx controller, bit 1 for the next, etc. Put all these bits
347 together and you get a number. For example, if the third aic7xxx
348 needed a 1, but the second and first both needed a 0, then the bits
349 would be 100 in binary. This then translates to 0x04. You would
350 therefore set aic7xxx=stpwlev:0x04. This is fairly standard binary
351 to hexadecimal conversions here. If you aren't up to speed on the
352 binary->hex conversion then send an email to the aic7xxx mailing
353 list and someone can help you out.
354
355 "aic7xxx=tag_info:{{8,8..},{8,8..},..}" - This option is used to disable
356 or enable Tagged Command Queueing (TCQ) on specific devices. As of
357 driver version 5.1.11, TCQ is now either on or off by default
358 according to the setting you choose during the make config process.
359 In order to en/disable TCQ for certain devices at boot time, a user
360 may use this boot param. The driver will then parse this message out
361 and en/disable the specific device entries that are present based upon
362 the value given. The param line is parsed in the following manner:
363
364 { - first instance indicates the start of this parameter values
365 second instance is the start of entries for a particular
366 device entry
367 } - end the entries for a particular host adapter, or end the entire
368 set of parameter entries
369 , - move to next entry. Inside of a set of device entries, this
370 moves us to the next device on the list. Outside of device
371 entries, this moves us to the next host adapter
372 . - Same effect as , but is safe to use with insmod.
373 x - the number to enter into the array at this position.
374 0 = Enable tagged queueing on this device and use the default
375 queue depth
376 1-254 = Enable tagged queueing on this device and use this
377 number as the queue depth
378 255 = Disable tagged queueing on this device.
379 Note: anything above 32 for an actual queue depth is wasteful
380 and not recommended.
381
382 A few examples of how this can be used:
383
384 tag_info:{{8,12,,0,,255,4}}
385 This line will only effect the first aic7xxx card registered. It
386 will set scsi id 0 to a queue depth of 8, id 1 to 12, leave id 2
387 at the default, set id 3 to tagged queueing enabled and use the
388 default queue depth, id 4 default, id 5 disabled, and id 6 to 4.
389 Any not specified entries stay at the default value, repeated
390 commas with no value specified will simply increment to the next id
391 without changing anything for the missing values.
392
393 tag_info:{,,,{,,,255}}
394 First, second, and third adapters at default values. Fourth
395 adapter, id 3 is disabled. Notice that leading commas simply
396 increment what the first number effects, and there are no need
397 for trailing commas. When you close out an adapter, or the
398 entire entry, anything not explicitly set stays at the default
399 value.
400
401 A final note on this option. The scanner I used for this isn't
402 perfect or highly robust. If you mess the line up, the worst that
403 should happen is that the line will get ignored. If you don't
404 close out the entire entry with the final bracket, then any other
405 aic7xxx options after this will get ignored. So, in general, be
406 sure of what you are entering, and after you have it right, just
407 add it to the lilo.conf file so there won't be any mistakes. As
408 a means of checking this parser, the entire tag_info array for
409 each card is now printed out in the /proc/scsi/aic7xxx/x file. You
410 can use that to verify that your options were parsed correctly.
411
412 Boot command line options may be combined to form the proper set of options
413 a user might need. For example, the following is valid:
414
415 aic7xxx=verbose,extended,irq_trigger:1
416
417 The only requirement is that individual options be separated by a comma or
418 a period on the command line.
419
420 Module Loading command options
421 ------------------------------
422 When loading the aic7xxx driver as a module, the exact same options are
423 available to the user. However, the syntax to specify the options changes
424 slightly. For insmod, you need to wrap the aic7xxx= argument in quotes
425 and replace all ',' with '.'. So, for example, a valid insmod line
426 would be:
427
428 insmod aic7xxx aic7xxx='verbose.irq_trigger:1.extended'
429
430 This line should result in the *exact* same behaviour as if you typed
431 it in at the lilo prompt and the driver was compiled into the kernel
432 instead of being a module. The reason for the single quote is so that
433 the shell won't try to interpret anything in the line, such as {.
434 Insmod assumes any options starting with a letter instead of a number
435 is a character string (which is what we want) and by switching all of
436 the commas to periods, insmod won't interpret this as more than one
437 string and write junk into our binary image. I consider it a bug in
438 the insmod program that even if you wrap your string in quotes (quotes
439 that pass the shell mind you and that insmod sees) it still treats
440 a comma inside of those quotes as starting a new variable, resulting
441 in memory scribbles if you don't switch the commas to periods.
442
443
444 Kernel Compile options
445 ------------------------------
446 The various kernel compile time options for this driver are now fairly
447 well documented in the file drivers/scsi/Kconfig. In order to
448 see this documentation, you need to use one of the advanced configuration
449 programs (menuconfig and xconfig). If you are using the "make menuconfig"
450 method of configuring your kernel, then you would simply highlight the
451 option in question and hit the ? key. If you are using the "make xconfig"
452 method of configuring your kernel, then simply click on the help button
453 next to the option you have questions about. The help information from
454 the Configure.help file will then get automatically displayed.
455
456 /proc support
457 ------------------------------
458 The /proc support for the AIC7xxx can be found in the /proc/scsi/aic7xxx/
459 directory. That directory contains a file for each SCSI controller in
460 the system. Each file presents the current configuration and transfer
461 statistics (enabled with #define in aic7xxx.c) for each controller.
462
463 Thanks to Michael Neuffer for his upper-level SCSI help, and
464 Matthew Jacob for statistics support.
465
466 Debugging the driver
467 ------------------------------
468 Should you have problems with this driver, and would like some help in
469 getting them solved, there are a couple debugging items built into
470 the driver to facilitate getting the needed information from the system.
471 In general, I need a complete description of the problem, with as many
472 logs as possible concerning what happens. To help with this, there is
473 a command option aic7xxx=panic_on_abort. This option, when set, forces
474 the driver to panic the kernel on the first SCSI abort issued by the
475 mid level SCSI code. If your system is going to reset loops and you
476 can't read the screen, then this is what you need. Not only will it
477 stop the system, but it also prints out a large amount of state
478 information in the process. Second, if you specify the option
479 "aic7xxx=verbose:0x1ffff", the system will print out *SOOOO* much
480 information as it runs that you won't be able to see anything.
481 However, this can actually be very useful if your machine simply
482 locks up when trying to boot, since it will pin-point what was last
483 happening (in regards to the aic7xxx driver) immediately prior to
484 the lockup. This is really only useful if your machine simply can
485 not boot up successfully. If you can get your machine to run, then
486 this will produce far too much information.
487
488 FTP sites
489 ------------------------------
490 ftp://ftp.redhat.com/pub/aic/
491 - Out of date. I used to keep stuff here, but too many people
492 complained about having a hard time getting into Red Hat's ftp
493 server. So use the web site below instead.
494 ftp://ftp.pcnet.com/users/eischen/Linux/
495 - Dan Eischen's driver distribution area
496 ftp://ekf2.vsb.cz/pub/linux/kernel/aic7xxx/ftp.teleport.com/
497 - European Linux mirror of Teleport site
498
499 Web sites
500 ------------------------------
501 http://people.redhat.com/dledford/
502 - My web site, also the primary aic7xxx site with several related
503 pages.
504
505Dean W. Gehnert
506deang@teleport.com
507
508$Revision: 3.0 $
509
510Modified by Doug Ledford 1998-2000
511
Documentation/scsi/scsi_eh.txt+39−30
@@ -42,20 +42,14 @@ discussion. · 41 unmodified lines
42 42
43 Once LLDD gets hold of a scmd, either the LLDD will complete the43 Once LLDD gets hold of a scmd, either the LLDD will complete the
44command by calling scsi_done callback passed from midlayer when44command by calling scsi_done callback passed from midlayer when
45invoking hostt->queuecommand() or SCSI midlayer will time it out.45invoking hostt->queuecommand() or the block layer will time it out.
46 46
47 47
48[1-2-1] Completing a scmd w/ scsi_done48[1-2-1] Completing a scmd w/ scsi_done
49 49
50 For all non-EH commands, scsi_done() is the completion callback. It50 For all non-EH commands, scsi_done() is the completion callback. It
51does the following.51just calls blk_complete_request() to delete the block layer timer and
52 52raise SCSI_SOFTIRQ
53 1. Delete timeout timer. If it fails, it means that timeout timer
54 has expired and is going to finish the command. Just return.
55
56 2. Link scmd to per-cpu scsi_done_q using scmd->en_entry
57
58 3. Raise SCSI_SOFTIRQ
59 53
60 SCSI_SOFTIRQ handler scsi_softirq calls scsi_decide_disposition() to54 SCSI_SOFTIRQ handler scsi_softirq calls scsi_decide_disposition() to
61determine what to do with the command. scsi_decide_disposition()55determine what to do with the command. scsi_decide_disposition()
@@ -64,10 +58,12 @@ with the command. · 2 unmodified lines
64 58
65 - SUCCESS59 - SUCCESS
66 scsi_finish_command() is invoked for the command. The60 scsi_finish_command() is invoked for the command. The
67 function does some maintenance choirs and notify completion by61 function does some maintenance chores and then calls
68 calling scmd->done() callback, which, for fs requests, would62 scsi_io_completion() to finish the I/O.
69 be HLD completion callback - sd:sd_rw_intr, sr:rw_intr,63 scsi_io_completion() then notifies the block layer on
70 st:st_intr.64 the completed request by calling blk_end_request and
65 friends or figures out what to do with the remainder
66 of the data in case of an error.
71 67
72 - NEEDS_RETRY68 - NEEDS_RETRY
73 - ADD_TO_MLQUEUE69 - ADD_TO_MLQUEUE
@@ -86,33 +82,45 @@ function · 12 unmodified lines
86 1. invokes optional hostt->eh_timed_out() callback. Return value can82 1. invokes optional hostt->eh_timed_out() callback. Return value can
87 be one of83 be one of
88 84
89 - EH_HANDLED85 - BLK_EH_HANDLED
90 This indicates that eh_timed_out() dealt with the timeout. The86 This indicates that eh_timed_out() dealt with the timeout.
91 scmd is passed to __scsi_done() and thus linked into per-cpu87 The command is passed back to the block layer and completed
92 scsi_done_q. Normal command completion described in [1-2-1]88 via __blk_complete_requests().
93 follows.89
90 *NOTE* After returning BLK_EH_HANDLED the SCSI layer is
91 assumed to be finished with the command, and no other
92 functions from the SCSI layer will be called. So this
93 should typically only be returned if the eh_timed_out()
94 handler raced with normal completion.
94 95
95 - EH_RESET_TIMER96 - BLK_EH_RESET_TIMER
96 This indicates that more time is required to finish the97 This indicates that more time is required to finish the
97 command. Timer is restarted. This action is counted as a98 command. Timer is restarted. This action is counted as a
98 retry and only allowed scmd->allowed + 1(!) times. Once the99 retry and only allowed scmd->allowed + 1(!) times. Once the
99 limit is reached, action for EH_NOT_HANDLED is taken instead.100 limit is reached, action for BLK_EH_NOT_HANDLED is taken instead.
100 101
101 *NOTE* This action is racy as the LLDD could finish the scmd102 - BLK_EH_NOT_HANDLED
102 after the timeout has expired but before it's added back. In103 eh_timed_out() callback did not handle the command.
103 such cases, scsi_done() would think that timeout has occurred
104 and return without doing anything. We lose completion and the
105 command will time out again.
106
107 - EH_NOT_HANDLED
108 This is the same as when eh_timed_out() callback doesn't exist.
109 Step #2 is taken.104 Step #2 is taken.
110 105
106 2. If the host supports asynchronous completion (as indicated by the
107 no_async_abort setting in the host template) scsi_abort_command()
108 is invoked to schedule an asynchrous abort. If that fails
109 Step #3 is taken.
110
111 2. scsi_eh_scmd_add(scmd, SCSI_EH_CANCEL_CMD) is invoked for the111 2. scsi_eh_scmd_add(scmd, SCSI_EH_CANCEL_CMD) is invoked for the
112 command. See [1-3] for more information.112 command. See [1-3] for more information.
113 113
114[1-3] Asynchronous command aborts
115
116 After a timeout occurs a command abort is scheduled from
117 scsi_abort_command(). If the abort is successful the command
118 will either be retried (if the number of retries is not exhausted)
119 or terminated with DID_TIME_OUT.
120 Otherwise scsi_eh_scmd_add() is invoked for the command.
121 See [1-4] for more information.
114 122
115[1-3] How EH takes over123[1-4] How EH takes over
116 124
117 scmds enter EH via scsi_eh_scmd_add(), which does the following.125 scmds enter EH via scsi_eh_scmd_add(), which does the following.
118 126
@@ -320,7 +328,8 @@ scmd->allowed. · 201 unmodified lines
320 328
321 <<scsi_eh_abort_cmds>>329 <<scsi_eh_abort_cmds>>
322 330
323 This action is taken for each timed out command.331 This action is taken for each timed out command when
332 no_async_abort is enabled in the host template.
324 hostt->eh_abort_handler() is invoked for each scmd. The333 hostt->eh_abort_handler() is invoked for each scmd. The
325 handler returns SUCCESS if it has succeeded to make LLDD and334 handler returns SUCCESS if it has succeeded to make LLDD and
326 all related hardware forget about the scmd.335 all related hardware forget about the scmd.
Documentation/scsi/scsi_mid_low_api.txt+7−2
@@ -882,8 +882,11 @@ Details: · 881 unmodified lines
882 *882 *
883 * Calling context: kernel thread883 * Calling context: kernel thread
884 *884 *
885 * Notes: Invoked from scsi_eh thread. No other commands will be885 * Notes: If 'no_async_abort' is defined this callback
886 * queued on current host during eh.886 * will be invoked from scsi_eh thread. No other commands
887 * will then be queued on current host during eh.
888 * Otherwise it will be called whenever scsi_times_out()
889 * is called due to a command timeout.
887 *890 *
888 * Optionally defined in: LLD891 * Optionally defined in: LLD
889 **/892 **/
@@ -1257,6 +1260,8 @@ of interest: · 367 unmodified lines
1257 address space1260 address space
1258 use_clustering - 1=>SCSI commands in mid level's queue can be merged,1261 use_clustering - 1=>SCSI commands in mid level's queue can be merged,
1259 0=>disallow SCSI command merging1262 0=>disallow SCSI command merging
1263 no_async_abort - 1=>Asynchronous aborts are not supported
1264 0=>Timed-out commands will be aborted asynchronously
1260 hostt - pointer to driver's struct scsi_host_template from which1265 hostt - pointer to driver's struct scsi_host_template from which
1261 this struct Scsi_Host instance was spawned1266 this struct Scsi_Host instance was spawned
1262 hostt->proc_name - name of LLD. This is the driver name that sysfs uses1267 hostt->proc_name - name of LLD. This is the driver name that sysfs uses
Documentation/scsi/scsi_transport_srp/Makefile+7−0
@@ -0,0 +1,7 @@
1all: rport_state_diagram.svg rport_state_diagram.png
2
3rport_state_diagram.svg: rport_state_diagram.dot
4 dot -Tsvg -o $@ $<
5
6rport_state_diagram.png: rport_state_diagram.dot
7 dot -Tpng -o $@ $<
Documentation/scsi/scsi_transport_srp/rport_state_diagram.dot+26−0
@@ -0,0 +1,26 @@
1digraph srp_initiator {
2 node [shape = doublecircle]; running lost;
3 node [shape = circle];
4
5 {
6 rank = min;
7 running_rta [ label = "running;\nreconnect\ntimer\nactive" ];
8 };
9 running [ label = "running;\nreconnect\ntimer\nstopped" ];
10 blocked;
11 failfast [ label = "fail I/O\nfast" ];
12 lost;
13
14 running -> running_rta [ label = "fast_io_fail_tmo = off and\ndev_loss_tmo = off;\nsrp_start_tl_fail_timers()" ];
15 running_rta -> running [ label = "fast_io_fail_tmo = off and\ndev_loss_tmo = off;\nreconnecting succeeded" ];
16 running -> blocked [ label = "fast_io_fail_tmo >= 0 or\ndev_loss_tmo >= 0;\nsrp_start_tl_fail_timers()" ];
17 running -> failfast [ label = "fast_io_fail_tmo = off and\ndev_loss_tmo = off;\nreconnecting failed\n" ];
18 blocked -> failfast [ label = "fast_io_fail_tmo\nexpired or\nreconnecting\nfailed" ];
19 blocked -> lost [ label = "dev_loss_tmo\nexpired or\nsrp_stop_rport_timers()" ];
20 failfast -> lost [ label = "dev_loss_tmo\nexpired or\nsrp_stop_rport_timers()" ];
21 blocked -> running [ label = "reconnecting\nsucceeded" ];
22 failfast -> failfast [ label = "reconnecting\nfailed" ];
23 failfast -> running [ label = "reconnecting\nsucceeded" ];
24 running -> lost [ label = "srp_stop_rport_timers()" ];
25 running_rta -> lost [ label = "srp_stop_rport_timers()" ];
26}
Documentation/security/IMA-templates.txt+4−2
@@ -67,12 +67,14 @@ descriptors by adding their identifier to the format string · 66 unmodified lines
67 - 'd-ng': the digest of the event, calculated with an arbitrary hash67 - 'd-ng': the digest of the event, calculated with an arbitrary hash
68 algorithm (field format: [<hash algo>:]digest, where the digest68 algorithm (field format: [<hash algo>:]digest, where the digest
69 prefix is shown only if the hash algorithm is not SHA1 or MD5);69 prefix is shown only if the hash algorithm is not SHA1 or MD5);
70 - 'n-ng': the name of the event, without size limitations.70 - 'n-ng': the name of the event, without size limitations;
71 - 'sig': the file signature.
71 72
72 73
73Below, there is the list of defined template descriptors:74Below, there is the list of defined template descriptors:
74 - "ima": its format is 'd|n';75 - "ima": its format is 'd|n';
75 - "ima-ng" (default): its format is 'd-ng|n-ng'.76 - "ima-ng" (default): its format is 'd-ng|n-ng';
77 - "ima-sig": its format is 'd-ng|n-ng|sig'.
76 78
77 79
78 80
Documentation/sound/alsa/soc/overview.txt+18−9
@@ -49,18 +49,23 @@ features :- · 48 unmodified lines
49 * Machine specific controls: Allow machines to add controls to the sound card49 * Machine specific controls: Allow machines to add controls to the sound card
50 (e.g. volume control for speaker amplifier).50 (e.g. volume control for speaker amplifier).
51 51
52To achieve all this, ASoC basically splits an embedded audio system into 352To achieve all this, ASoC basically splits an embedded audio system into
53components :-53multiple re-usable component drivers :-
54 54
55 * Codec driver: The codec driver is platform independent and contains audio55 * Codec class drivers: The codec class driver is platform independent and
56 controls, audio interface capabilities, codec DAPM definition and codec IO56 contains audio controls, audio interface capabilities, codec DAPM
57 functions.57 definition and codec IO functions. This class extends to BT, FM and MODEM
58 ICs if required. Codec class drivers should be generic code that can run
59 on any architecture and machine.
58 60
59 * Platform driver: The platform driver contains the audio DMA engine and audio61 * Platform class drivers: The platform class driver includes the audio DMA
60 interface drivers (e.g. I2S, AC97, PCM) for that platform.62 engine driver, digital audio interface (DAI) drivers (e.g. I2S, AC97, PCM)
63 and any audio DSP drivers for that platform.
61 64
62 * Machine driver: The machine driver handles any machine specific controls and65 * Machine class driver: The machine driver class acts as the glue that
63 audio events (e.g. turning on an amp at start of playback).66 decribes and binds the other component drivers together to form an ALSA
67 "sound card device". It handles any machine specific controls and
68 machine level audio events (e.g. turning on an amp at start of playback).
64 69
65 70
66Documentation71Documentation
@@ -84,3 +89,7 @@ machine.txt: Machine driver internals. · 17 unmodified lines
84pop_clicks.txt: How to minimise audio artifacts.89pop_clicks.txt: How to minimise audio artifacts.
85 90
86clocking.txt: ASoC clocking for best power performance.91clocking.txt: ASoC clocking for best power performance.
92
93jack.txt: ASoC jack detection.
94
95DPCM.txt: Dynamic PCM - Describes DPCM with DSP examples.
Documentation/spi/spi-summary+4−4
@@ -34,7 +34,7 @@ SPI slave functions are usually not interoperable between vendors · 33 unmodified lines
34 - It may also be used to stream data in either direction (half duplex),34 - It may also be used to stream data in either direction (half duplex),
35 or both of them at the same time (full duplex).35 or both of them at the same time (full duplex).
36 36
37 - Some devices may use eight bit words. Others may different word37 - Some devices may use eight bit words. Others may use different word
38 lengths, such as streams of 12-bit or 20-bit digital samples.38 lengths, such as streams of 12-bit or 20-bit digital samples.
39 39
40 - Words are usually sent with their most significant bit (MSB) first,40 - Words are usually sent with their most significant bit (MSB) first,
@@ -121,7 +121,7 @@ active. So the master must set the clock to inactive before selecting · 80 unmodified lines
121a slave, and the slave can tell the chosen polarity by sampling the121a slave, and the slave can tell the chosen polarity by sampling the
122clock level when its select line goes active. That's why many devices122clock level when its select line goes active. That's why many devices
123support for example both modes 0 and 3: they don't care about polarity,123support for example both modes 0 and 3: they don't care about polarity,
124and alway clock data in/out on rising clock edges.124and always clock data in/out on rising clock edges.
125 125
126 126
127How do these driver programming interfaces work?127How do these driver programming interfaces work?
@@ -139,7 +139,7 @@ a command and then reading its response. · 11 unmodified lines
139 139
140There are two types of SPI driver, here called:140There are two types of SPI driver, here called:
141 141
142 Controller drivers ... controllers may be built in to System-On-Chip142 Controller drivers ... controllers may be built into System-On-Chip
143 processors, and often support both Master and Slave roles.143 processors, and often support both Master and Slave roles.
144 These drivers touch hardware registers and may use DMA.144 These drivers touch hardware registers and may use DMA.
145 Or they can be PIO bitbangers, needing just GPIO pins.145 Or they can be PIO bitbangers, needing just GPIO pins.
@@ -548,7 +548,7 @@ SPI MASTER METHODS · 402 unmodified lines
548 DEPRECATED METHODS548 DEPRECATED METHODS
549 549
550 master->transfer(struct spi_device *spi, struct spi_message *message)550 master->transfer(struct spi_device *spi, struct spi_message *message)
551 This must not sleep. Its responsibility is arrange that the551 This must not sleep. Its responsibility is to arrange that the
552 transfer happens and its complete() callback is issued. The two552 transfer happens and its complete() callback is issued. The two
553 will normally happen later, after other transfers complete, and553 will normally happen later, after other transfers complete, and
554 if the controller is idle it will need to be kickstarted. This554 if the controller is idle it will need to be kickstarted. This
Documentation/static-keys.txt+2−2
@@ -116,7 +116,7 @@ The branch(es) can then be switched via: · 115 unmodified lines
116 static_key_slow_dec(&key);116 static_key_slow_dec(&key);
117 117
118Thus, 'static_key_slow_inc()' means 'make the branch true', and118Thus, 'static_key_slow_inc()' means 'make the branch true', and
119'static_key_slow_dec()' means 'make the the branch false' with appropriate119'static_key_slow_dec()' means 'make the branch false' with appropriate
120reference counting. For example, if the key is initialized true, a120reference counting. For example, if the key is initialized true, a
121static_key_slow_dec(), will switch the branch to false. And a subsequent121static_key_slow_dec(), will switch the branch to false. And a subsequent
122static_key_slow_inc(), will change the branch back to true. Likewise, if the122static_key_slow_inc(), will change the branch back to true. Likewise, if the
@@ -236,7 +236,7 @@ label case adds: · 113 unmodified lines
236 236
237If we then include the padding bytes, the jump label code saves, 16 total bytes237If we then include the padding bytes, the jump label code saves, 16 total bytes
238of instruction memory for this small function. In this case the non-jump label238of instruction memory for this small function. In this case the non-jump label
239function is 80 bytes long. Thus, we have have saved 20% of the instruction239function is 80 bytes long. Thus, we have saved 20% of the instruction
240footprint. We can in fact improve this even further, since the 5-byte no-op240footprint. We can in fact improve this even further, since the 5-byte no-op
241really can be a 2-byte no-op since we can reach the branch with a 2-byte jmp.241really can be a 2-byte no-op since we can reach the branch with a 2-byte jmp.
242However, we have not yet implemented optimal no-op sizes (they are currently242However, we have not yet implemented optimal no-op sizes (they are currently
Documentation/sysctl/kernel.txt+56−1
@@ -33,6 +33,11 @@ show up in /proc/sys/kernel: · 32 unmodified lines
33- domainname33- domainname
34- hostname34- hostname
35- hotplug35- hotplug
36- hung_task_panic
37- hung_task_check_count
38- hung_task_timeout_secs
39- hung_task_warnings
40- kexec_load_disabled
36- kptr_restrict41- kptr_restrict
37- kstack_depth_to_print [ X86 only ]42- kstack_depth_to_print [ X86 only ]
38- l2cr [ PPC only ]43- l2cr [ PPC only ]
@@ -287,6 +292,56 @@ Default value is "/sbin/hotplug". · 248 unmodified lines
287 292
288==============================================================293==============================================================
289 294
295hung_task_panic:
296
297Controls the kernel's behavior when a hung task is detected.
298This file shows up if CONFIG_DETECT_HUNG_TASK is enabled.
299
3000: continue operation. This is the default behavior.
301
3021: panic immediately.
303
304==============================================================
305
306hung_task_check_count:
307
308The upper bound on the number of tasks that are checked.
309This file shows up if CONFIG_DETECT_HUNG_TASK is enabled.
310
311==============================================================
312
313hung_task_timeout_secs:
314
315Check interval. When a task in D state did not get scheduled
316for more than this value report a warning.
317This file shows up if CONFIG_DETECT_HUNG_TASK is enabled.
318
3190: means infinite timeout - no checking done.
320
321==============================================================
322
323hung_task_warning:
324
325The maximum number of warnings to report. During a check interval
326When this value is reached, no more the warnings will be reported.
327This file shows up if CONFIG_DETECT_HUNG_TASK is enabled.
328
329-1: report an infinite number of warnings.
330
331==============================================================
332
333kexec_load_disabled:
334
335A toggle indicating if the kexec_load syscall has been disabled. This
336value defaults to 0 (false: kexec_load enabled), but can be set to 1
337(true: kexec_load disabled). Once true, kexec can no longer be used, and
338the toggle cannot be set back to false. This allows a kexec image to be
339loaded before disabling the syscall, allowing a system to set up (and
340later use) an image without it being altered. Generally used together
341with the "modules_disabled" sysctl.
342
343==============================================================
344
290kptr_restrict:345kptr_restrict:
291 346
292This toggle indicates whether restrictions are placed on347This toggle indicates whether restrictions are placed on
@@ -331,7 +386,7 @@ A toggle value indicating if modules are allowed to be loaded · 38 unmodified lines
331in an otherwise modular kernel. This toggle defaults to off386in an otherwise modular kernel. This toggle defaults to off
332(0), but can be set true (1). Once true, modules can be387(0), but can be set true (1). Once true, modules can be
333neither loaded nor unloaded, and the toggle cannot be set back388neither loaded nor unloaded, and the toggle cannot be set back
334to false.389to false. Generally used with the "kexec_load_disabled" toggle.
335 390
336==============================================================391==============================================================
337 392
Documentation/sysctl/vm.txt+15−1
@@ -47,6 +47,7 @@ Currently, these files are in /proc/sys/vm: · 46 unmodified lines
47- numa_zonelist_order47- numa_zonelist_order
48- oom_dump_tasks48- oom_dump_tasks
49- oom_kill_allocating_task49- oom_kill_allocating_task
50- overcommit_kbytes
50- overcommit_memory51- overcommit_memory
51- overcommit_ratio52- overcommit_ratio
52- page-cluster53- page-cluster
@@ -574,6 +575,17 @@ The default value is 0. · 521 unmodified lines
574 575
575==============================================================576==============================================================
576 577
578overcommit_kbytes:
579
580When overcommit_memory is set to 2, the committed address space is not
581permitted to exceed swap plus this amount of physical RAM. See below.
582
583Note: overcommit_kbytes is the counterpart of overcommit_ratio. Only one
584of them may be specified at a time. Setting one disables the other (which
585then appears as 0 when read).
586
587==============================================================
588
577overcommit_memory:589overcommit_memory:
578 590
579This value contains a flag that enables memory overcommitment.591This value contains a flag that enables memory overcommitment.
@@ -684,7 +696,9 @@ swappiness · 104 unmodified lines
684 696
685This control is used to define how aggressive the kernel will swap697This control is used to define how aggressive the kernel will swap
686memory pages. Higher values will increase agressiveness, lower values698memory pages. Higher values will increase agressiveness, lower values
687decrease the amount of swap.699decrease the amount of swap. A value of 0 instructs the kernel not to
700initiate swap until the amount of free and file-backed pages is less
701than the high water mark in a zone.
688 702
689The default value is 60.703The default value is 60.
690 704
Documentation/trace/events.txt+207−0
@@ -287,3 +287,210 @@ their old filters): · 286 unmodified lines
287prev_pid == 0287prev_pid == 0
288# cat sched_wakeup/filter288# cat sched_wakeup/filter
289common_pid == 0289common_pid == 0
290
2916. Event triggers
292=================
293
294Trace events can be made to conditionally invoke trigger 'commands'
295which can take various forms and are described in detail below;
296examples would be enabling or disabling other trace events or invoking
297a stack trace whenever the trace event is hit. Whenever a trace event
298with attached triggers is invoked, the set of trigger commands
299associated with that event is invoked. Any given trigger can
300additionally have an event filter of the same form as described in
301section 5 (Event filtering) associated with it - the command will only
302be invoked if the event being invoked passes the associated filter.
303If no filter is associated with the trigger, it always passes.
304
305Triggers are added to and removed from a particular event by writing
306trigger expressions to the 'trigger' file for the given event.
307
308A given event can have any number of triggers associated with it,
309subject to any restrictions that individual commands may have in that
310regard.
311
312Event triggers are implemented on top of "soft" mode, which means that
313whenever a trace event has one or more triggers associated with it,
314the event is activated even if it isn't actually enabled, but is
315disabled in a "soft" mode. That is, the tracepoint will be called,
316but just will not be traced, unless of course it's actually enabled.
317This scheme allows triggers to be invoked even for events that aren't
318enabled, and also allows the current event filter implementation to be
319used for conditionally invoking triggers.
320
321The syntax for event triggers is roughly based on the syntax for
322set_ftrace_filter 'ftrace filter commands' (see the 'Filter commands'
323section of Documentation/trace/ftrace.txt), but there are major
324differences and the implementation isn't currently tied to it in any
325way, so beware about making generalizations between the two.
326
3276.1 Expression syntax
328---------------------
329
330Triggers are added by echoing the command to the 'trigger' file:
331
332 # echo 'command[:count] [if filter]' > trigger
333
334Triggers are removed by echoing the same command but starting with '!'
335to the 'trigger' file:
336
337 # echo '!command[:count] [if filter]' > trigger
338
339The [if filter] part isn't used in matching commands when removing, so
340leaving that off in a '!' command will accomplish the same thing as
341having it in.
342
343The filter syntax is the same as that described in the 'Event
344filtering' section above.
345
346For ease of use, writing to the trigger file using '>' currently just
347adds or removes a single trigger and there's no explicit '>>' support
348('>' actually behaves like '>>') or truncation support to remove all
349triggers (you have to use '!' for each one added.)
350
3516.2 Supported trigger commands
352------------------------------
353
354The following commands are supported:
355
356- enable_event/disable_event
357
358 These commands can enable or disable another trace event whenever
359 the triggering event is hit. When these commands are registered,
360 the other trace event is activated, but disabled in a "soft" mode.
361 That is, the tracepoint will be called, but just will not be traced.
362 The event tracepoint stays in this mode as long as there's a trigger
363 in effect that can trigger it.
364
365 For example, the following trigger causes kmalloc events to be
366 traced when a read system call is entered, and the :1 at the end
367 specifies that this enablement happens only once:
368
369 # echo 'enable_event:kmem:kmalloc:1' > \
370 /sys/kernel/debug/tracing/events/syscalls/sys_enter_read/trigger
371
372 The following trigger causes kmalloc events to stop being traced
373 when a read system call exits. This disablement happens on every
374 read system call exit:
375
376 # echo 'disable_event:kmem:kmalloc' > \
377 /sys/kernel/debug/tracing/events/syscalls/sys_exit_read/trigger
378
379 The format is:
380
381 enable_event:<system>:<event>[:count]
382 disable_event:<system>:<event>[:count]
383
384 To remove the above commands:
385
386 # echo '!enable_event:kmem:kmalloc:1' > \
387 /sys/kernel/debug/tracing/events/syscalls/sys_enter_read/trigger
388
389 # echo '!disable_event:kmem:kmalloc' > \
390 /sys/kernel/debug/tracing/events/syscalls/sys_exit_read/trigger
391
392 Note that there can be any number of enable/disable_event triggers
393 per triggering event, but there can only be one trigger per
394 triggered event. e.g. sys_enter_read can have triggers enabling both
395 kmem:kmalloc and sched:sched_switch, but can't have two kmem:kmalloc
396 versions such as kmem:kmalloc and kmem:kmalloc:1 or 'kmem:kmalloc if
397 bytes_req == 256' and 'kmem:kmalloc if bytes_alloc == 256' (they
398 could be combined into a single filter on kmem:kmalloc though).
399
400- stacktrace
401
402 This command dumps a stacktrace in the trace buffer whenever the
403 triggering event occurs.
404
405 For example, the following trigger dumps a stacktrace every time the
406 kmalloc tracepoint is hit:
407
408 # echo 'stacktrace' > \
409 /sys/kernel/debug/tracing/events/kmem/kmalloc/trigger
410
411 The following trigger dumps a stacktrace the first 5 times a kmalloc
412 request happens with a size >= 64K
413
414 # echo 'stacktrace:5 if bytes_req >= 65536' > \
415 /sys/kernel/debug/tracing/events/kmem/kmalloc/trigger
416
417 The format is:
418
419 stacktrace[:count]
420
421 To remove the above commands:
422
423 # echo '!stacktrace' > \
424 /sys/kernel/debug/tracing/events/kmem/kmalloc/trigger
425
426 # echo '!stacktrace:5 if bytes_req >= 65536' > \
427 /sys/kernel/debug/tracing/events/kmem/kmalloc/trigger
428
429 The latter can also be removed more simply by the following (without
430 the filter):
431
432 # echo '!stacktrace:5' > \
433 /sys/kernel/debug/tracing/events/kmem/kmalloc/trigger
434
435 Note that there can be only one stacktrace trigger per triggering
436 event.
437
438- snapshot
439
440 This command causes a snapshot to be triggered whenever the
441 triggering event occurs.
442
443 The following command creates a snapshot every time a block request
444 queue is unplugged with a depth > 1. If you were tracing a set of
445 events or functions at the time, the snapshot trace buffer would
446 capture those events when the trigger event occured:
447
448 # echo 'snapshot if nr_rq > 1' > \
449 /sys/kernel/debug/tracing/events/block/block_unplug/trigger
450
451 To only snapshot once:
452
453 # echo 'snapshot:1 if nr_rq > 1' > \
454 /sys/kernel/debug/tracing/events/block/block_unplug/trigger
455
456 To remove the above commands:
457
458 # echo '!snapshot if nr_rq > 1' > \
459 /sys/kernel/debug/tracing/events/block/block_unplug/trigger
460
461 # echo '!snapshot:1 if nr_rq > 1' > \
462 /sys/kernel/debug/tracing/events/block/block_unplug/trigger
463
464 Note that there can be only one snapshot trigger per triggering
465 event.
466
467- traceon/traceoff
468
469 These commands turn tracing on and off when the specified events are
470 hit. The parameter determines how many times the tracing system is
471 turned on and off. If unspecified, there is no limit.
472
473 The following command turns tracing off the first time a block
474 request queue is unplugged with a depth > 1. If you were tracing a
475 set of events or functions at the time, you could then examine the
476 trace buffer to see the sequence of events that led up to the
477 trigger event:
478
479 # echo 'traceoff:1 if nr_rq > 1' > \
480 /sys/kernel/debug/tracing/events/block/block_unplug/trigger
481
482 To always disable tracing when nr_rq > 1 :
483
484 # echo 'traceoff if nr_rq > 1' > \
485 /sys/kernel/debug/tracing/events/block/block_unplug/trigger
486
487 To remove the above commands:
488
489 # echo '!traceoff:1 if nr_rq > 1' > \
490 /sys/kernel/debug/tracing/events/block/block_unplug/trigger
491
492 # echo '!traceoff if nr_rq > 1' > \
493 /sys/kernel/debug/tracing/events/block/block_unplug/trigger
494
495 Note that there can be only one traceon or traceoff trigger per
496 triggering event.
Documentation/trace/postprocess/trace-vmscan-postprocess.pl+9−9
@@ -123,7 +123,7 @@ my $regex_writepage; · 122 unmodified lines
123 123
124# Static regex used. Specified like this for readability and for use with /o124# Static regex used. Specified like this for readability and for use with /o
125# (process_pid) (cpus ) ( time ) (tpoint ) (details)125# (process_pid) (cpus ) ( time ) (tpoint ) (details)
126my $regex_traceevent = '\s*([a-zA-Z0-9-]*)\s*(\[[0-9]*\])\s*([0-9.]*):\s*([a-zA-Z_]*):\s*(.*)';126my $regex_traceevent = '\s*([a-zA-Z0-9-]*)\s*(\[[0-9]*\])(\s*[dX.][Nnp.][Hhs.][0-9a-fA-F.]*|)\s*([0-9.]*):\s*([a-zA-Z_]*):\s*(.*)';
127my $regex_statname = '[-0-9]*\s\((.*)\).*';127my $regex_statname = '[-0-9]*\s\((.*)\).*';
128my $regex_statppid = '[-0-9]*\s\(.*\)\s[A-Za-z]\s([0-9]*).*';128my $regex_statppid = '[-0-9]*\s\(.*\)\s[A-Za-z]\s([0-9]*).*';
129 129
@@ -270,8 +270,8 @@ EVENT_PROCESS: · 140 unmodified lines
270 while ($traceevent = <STDIN>) {270 while ($traceevent = <STDIN>) {
271 if ($traceevent =~ /$regex_traceevent/o) {271 if ($traceevent =~ /$regex_traceevent/o) {
272 $process_pid = $1;272 $process_pid = $1;
273 $timestamp = $3;273 $timestamp = $4;
274 $tracepoint = $4;274 $tracepoint = $5;
275 275
276 $process_pid =~ /(.*)-([0-9]*)$/;276 $process_pid =~ /(.*)-([0-9]*)$/;
277 my $process = $1;277 my $process = $1;
@@ -299,7 +299,7 @@ EVENT_PROCESS: · 21 unmodified lines
299 $perprocesspid{$process_pid}->{MM_VMSCAN_DIRECT_RECLAIM_BEGIN}++;299 $perprocesspid{$process_pid}->{MM_VMSCAN_DIRECT_RECLAIM_BEGIN}++;
300 $perprocesspid{$process_pid}->{STATE_DIRECT_BEGIN} = $timestamp;300 $perprocesspid{$process_pid}->{STATE_DIRECT_BEGIN} = $timestamp;
301 301
302 $details = $5;302 $details = $6;
303 if ($details !~ /$regex_direct_begin/o) {303 if ($details !~ /$regex_direct_begin/o) {
304 print "WARNING: Failed to parse mm_vmscan_direct_reclaim_begin as expected\n";304 print "WARNING: Failed to parse mm_vmscan_direct_reclaim_begin as expected\n";
305 print " $details\n";305 print " $details\n";
@@ -322,7 +322,7 @@ EVENT_PROCESS: · 16 unmodified lines
322 $perprocesspid{$process_pid}->{HIGH_DIRECT_RECLAIM_LATENCY}[$index] = "$order-$latency";322 $perprocesspid{$process_pid}->{HIGH_DIRECT_RECLAIM_LATENCY}[$index] = "$order-$latency";
323 }323 }
324 } elsif ($tracepoint eq "mm_vmscan_kswapd_wake") {324 } elsif ($tracepoint eq "mm_vmscan_kswapd_wake") {
325 $details = $5;325 $details = $6;
326 if ($details !~ /$regex_kswapd_wake/o) {326 if ($details !~ /$regex_kswapd_wake/o) {
327 print "WARNING: Failed to parse mm_vmscan_kswapd_wake as expected\n";327 print "WARNING: Failed to parse mm_vmscan_kswapd_wake as expected\n";
328 print " $details\n";328 print " $details\n";
@@ -356,7 +356,7 @@ EVENT_PROCESS: · 27 unmodified lines
356 } elsif ($tracepoint eq "mm_vmscan_wakeup_kswapd") {356 } elsif ($tracepoint eq "mm_vmscan_wakeup_kswapd") {
357 $perprocesspid{$process_pid}->{MM_VMSCAN_WAKEUP_KSWAPD}++;357 $perprocesspid{$process_pid}->{MM_VMSCAN_WAKEUP_KSWAPD}++;
358 358
359 $details = $5;359 $details = $6;
360 if ($details !~ /$regex_wakeup_kswapd/o) {360 if ($details !~ /$regex_wakeup_kswapd/o) {
361 print "WARNING: Failed to parse mm_vmscan_wakeup_kswapd as expected\n";361 print "WARNING: Failed to parse mm_vmscan_wakeup_kswapd as expected\n";
362 print " $details\n";362 print " $details\n";
@@ -366,7 +366,7 @@ EVENT_PROCESS: · 3 unmodified lines
366 my $order = $3;366 my $order = $3;
367 $perprocesspid{$process_pid}->{MM_VMSCAN_WAKEUP_KSWAPD_PERORDER}[$order]++;367 $perprocesspid{$process_pid}->{MM_VMSCAN_WAKEUP_KSWAPD_PERORDER}[$order]++;
368 } elsif ($tracepoint eq "mm_vmscan_lru_isolate") {368 } elsif ($tracepoint eq "mm_vmscan_lru_isolate") {
369 $details = $5;369 $details = $6;
370 if ($details !~ /$regex_lru_isolate/o) {370 if ($details !~ /$regex_lru_isolate/o) {
371 print "WARNING: Failed to parse mm_vmscan_lru_isolate as expected\n";371 print "WARNING: Failed to parse mm_vmscan_lru_isolate as expected\n";
372 print " $details\n";372 print " $details\n";
@@ -387,7 +387,7 @@ EVENT_PROCESS: · 14 unmodified lines
387 }387 }
388 $perprocesspid{$process_pid}->{HIGH_NR_CONTIG_DIRTY} += $nr_contig_dirty;388 $perprocesspid{$process_pid}->{HIGH_NR_CONTIG_DIRTY} += $nr_contig_dirty;
389 } elsif ($tracepoint eq "mm_vmscan_lru_shrink_inactive") {389 } elsif ($tracepoint eq "mm_vmscan_lru_shrink_inactive") {
390 $details = $5;390 $details = $6;
391 if ($details !~ /$regex_lru_shrink_inactive/o) {391 if ($details !~ /$regex_lru_shrink_inactive/o) {
392 print "WARNING: Failed to parse mm_vmscan_lru_shrink_inactive as expected\n";392 print "WARNING: Failed to parse mm_vmscan_lru_shrink_inactive as expected\n";
393 print " $details\n";393 print " $details\n";
@@ -397,7 +397,7 @@ EVENT_PROCESS: · 3 unmodified lines
397 my $nr_reclaimed = $4;397 my $nr_reclaimed = $4;
398 $perprocesspid{$process_pid}->{HIGH_NR_RECLAIMED} += $nr_reclaimed;398 $perprocesspid{$process_pid}->{HIGH_NR_RECLAIMED} += $nr_reclaimed;
399 } elsif ($tracepoint eq "mm_vmscan_writepage") {399 } elsif ($tracepoint eq "mm_vmscan_writepage") {
400 $details = $5;400 $details = $6;
401 if ($details !~ /$regex_writepage/o) {401 if ($details !~ /$regex_writepage/o) {
402 print "WARNING: Failed to parse mm_vmscan_writepage as expected\n";402 print "WARNING: Failed to parse mm_vmscan_writepage as expected\n";
403 print " $details\n";403 print " $details\n";
Documentation/trace/uprobetracer.txt+31−5
@@ -19,18 +19,44 @@ user to calculate the offset of the probepoint in the object. · 18 unmodified lines
19 19
20Synopsis of uprobe_tracer20Synopsis of uprobe_tracer
21-------------------------21-------------------------
22 p[:[GRP/]EVENT] PATH:SYMBOL[+offs] [FETCHARGS] : Set a uprobe22 p[:[GRP/]EVENT] PATH:OFFSET [FETCHARGS] : Set a uprobe
23 r[:[GRP/]EVENT] PATH:SYMBOL[+offs] [FETCHARGS] : Set a return uprobe (uretprobe)23 r[:[GRP/]EVENT] PATH:OFFSET [FETCHARGS] : Set a return uprobe (uretprobe)
24 -:[GRP/]EVENT : Clear uprobe or uretprobe event24 -:[GRP/]EVENT : Clear uprobe or uretprobe event
25 25
26 GRP : Group name. If omitted, "uprobes" is the default value.26 GRP : Group name. If omitted, "uprobes" is the default value.
27 EVENT : Event name. If omitted, the event name is generated based27 EVENT : Event name. If omitted, the event name is generated based
28 on SYMBOL+offs.28 on PATH+OFFSET.
29 PATH : Path to an executable or a library.29 PATH : Path to an executable or a library.
30 SYMBOL[+offs] : Symbol+offset where the probe is inserted.30 OFFSET : Offset where the probe is inserted.
31 31
32 FETCHARGS : Arguments. Each probe can have up to 128 args.32 FETCHARGS : Arguments. Each probe can have up to 128 args.
33 %REG : Fetch register REG33 %REG : Fetch register REG
34 @ADDR : Fetch memory at ADDR (ADDR should be in userspace)
35 @+OFFSET : Fetch memory at OFFSET (OFFSET from same file as PATH)
36 $stackN : Fetch Nth entry of stack (N >= 0)
37 $stack : Fetch stack address.
38 $retval : Fetch return value.(*)
39 +|-offs(FETCHARG) : Fetch memory at FETCHARG +|- offs address.(**)
40 NAME=FETCHARG : Set NAME as the argument name of FETCHARG.
41 FETCHARG:TYPE : Set TYPE as the type of FETCHARG. Currently, basic types
42 (u8/u16/u32/u64/s8/s16/s32/s64), "string" and bitfield
43 are supported.
44
45 (*) only for return probe.
46 (**) this is useful for fetching a field of data structures.
47
48Types
49-----
50Several types are supported for fetch-args. Uprobe tracer will access memory
51by given type. Prefix 's' and 'u' means those types are signed and unsigned
52respectively. Traced arguments are shown in decimal (signed) or hex (unsigned).
53String type is a special type, which fetches a "null-terminated" string from
54user space.
55Bitfield is another special type, which takes 3 parameters, bit-width, bit-
56offset, and container-size (usually 32). The syntax is;
57
58 b<bit-width>@<bit-offset>/<container-size>
59
34 60
35Event Profiling61Event Profiling
36---------------62---------------
Documentation/unaligned-memory-access.txt+19−9
@@ -137,24 +137,34 @@ Code that causes unaligned access · 136 unmodified lines
137=================================137=================================
138 138
139With the above in mind, let's move onto a real life example of a function139With the above in mind, let's move onto a real life example of a function
140that can cause an unaligned memory access. The following function adapted140that can cause an unaligned memory access. The following function taken
141from include/linux/etherdevice.h is an optimized routine to compare two141from include/linux/etherdevice.h is an optimized routine to compare two
142ethernet MAC addresses for equality.142ethernet MAC addresses for equality.
143 143
144unsigned int compare_ether_addr(const u8 *addr1, const u8 *addr2)144bool ether_addr_equal(const u8 *addr1, const u8 *addr2)
145{145{
146 const u16 *a = (const u16 *) addr1;146#ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
147 const u16 *b = (const u16 *) addr2;147 u32 fold = ((*(const u32 *)addr1) ^ (*(const u32 *)addr2)) |
148 ((*(const u16 *)(addr1 + 4)) ^ (*(const u16 *)(addr2 + 4)));
149
150 return fold == 0;
151#else
152 const u16 *a = (const u16 *)addr1;
153 const u16 *b = (const u16 *)addr2;
148 return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2])) != 0;154 return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2])) != 0;
155#endif
149}156}
150 157
151In the above function, the reference to a[0] causes 2 bytes (16 bits) to158In the above function, when the hardware has efficient unaligned access
152be read from memory starting at address addr1. Think about what would happen159capability, there is no issue with this code. But when the hardware isn't
153if addr1 was an odd address such as 0x10003. (Hint: it'd be an unaligned160able to access memory on arbitrary boundaries, the reference to a[0] causes
154access.)1612 bytes (16 bits) to be read from memory starting at address addr1.
162
163Think about what would happen if addr1 was an odd address such as 0x10003.
164(Hint: it'd be an unaligned access.)
155 165
156Despite the potential unaligned access problems with the above function, it166Despite the potential unaligned access problems with the above function, it
157is included in the kernel anyway but is understood to only work on167is included in the kernel anyway but is understood to only work normally on
15816-bit-aligned addresses. It is up to the caller to ensure this alignment or16816-bit-aligned addresses. It is up to the caller to ensure this alignment or
159not use this function at all. This alignment-unsafe function is still useful169not use this function at all. This alignment-unsafe function is still useful
160as it is a decent optimization for the cases when you can ensure alignment,170as it is a decent optimization for the cases when you can ensure alignment,
Documentation/usb/gadget_multi.txt+1−1
@@ -14,7 +14,7 @@ A CDC ECM (Ethernet) function may be turned on via a Kconfig option · 13 unmodified lines
14and RNDIS can be turned off. If they are both enabled the gadget will14and 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].15have two configurations -- one with RNDIS and another with CDC ECM[3].
16 16
17Please not that if you use non-standard configuration (that is enable17Please note that if you use non-standard configuration (that is enable
18CDC ECM) you may need to change vendor and/or product ID.18CDC ECM) you may need to change vendor and/or product ID.
19 19
20* Host drivers20* Host drivers
Documentation/video4linux/omap4_camera.txt+60−0
@@ -0,0 +1,60 @@
1 OMAP4 ISS Driver
2 ================
3
4Introduction
5------------
6
7The OMAP44XX family of chips contains the Imaging SubSystem (a.k.a. ISS),
8Which contains several components that can be categorized in 3 big groups:
9
10- Interfaces (2 Interfaces: CSI2-A & CSI2-B/CCP2)
11- ISP (Image Signal Processor)
12- SIMCOP (Still Image Coprocessor)
13
14For more information, please look in [1] for latest version of:
15 "OMAP4430 Multimedia Device Silicon Revision 2.x"
16
17As of Revision AB, the ISS is described in detail in section 8.
18
19This driver is supporting _only_ the CSI2-A/B interfaces for now.
20
21It makes use of the Media Controller framework [2], and inherited most of the
22code from OMAP3 ISP driver (found under drivers/media/platform/omap3isp/*),
23except that it doesn't need an IOMMU now for ISS buffers memory mapping.
24
25Supports usage of MMAP buffers only (for now).
26
27Tested platforms
28----------------
29
30- OMAP4430SDP, w/ ES2.1 GP & SEVM4430-CAM-V1-0 (Contains IMX060 & OV5640, in
31 which only the last one is supported, outputting YUV422 frames).
32
33- TI Blaze MDP, w/ OMAP4430 ES2.2 EMU (Contains 1 IMX060 & 2 OV5650 sensors, in
34 which only the OV5650 are supported, outputting RAW10 frames).
35
36- PandaBoard, Rev. A2, w/ OMAP4430 ES2.1 GP & OV adapter board, tested with
37 following sensors:
38 * OV5640
39 * OV5650
40
41- Tested on mainline kernel:
42
43 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=summary
44
45 Tag: v3.3 (commit c16fa4f2ad19908a47c63d8fa436a1178438c7e7)
46
47File list
48---------
49drivers/staging/media/omap4iss/
50include/media/omap4iss.h
51
52References
53----------
54
55[1] http://focus.ti.com/general/docs/wtbu/wtbudocumentcenter.tsp?navigationId=12037&templateId=6123#62
56[2] http://lwn.net/Articles/420485/
57[3] http://www.spinics.net/lists/linux-media/msg44370.html
58--
59Author: Sergio Aguirre <sergio.a.aguirre@gmail.com>
60Copyright (C) 2012, Texas Instruments
Documentation/video4linux/si476x.txt+1−1
@@ -147,7 +147,7 @@ The drivers exposes following files: · 146 unmodified lines
147 --------------------------------------------------------------------147 --------------------------------------------------------------------
148 0x12 | readfreq | Current tuned frequency148 0x12 | readfreq | Current tuned frequency
149 --------------------------------------------------------------------149 --------------------------------------------------------------------
150 0x14 | freqoff | Singed frequency offset in units of150 0x14 | freqoff | Signed frequency offset in units of
151 | | 2ppm151 | | 2ppm
152 --------------------------------------------------------------------152 --------------------------------------------------------------------
153 0x15 | rssi | Signed value of RSSI in dBuV153 0x15 | rssi | Signed value of RSSI in dBuV
Documentation/virtual/kvm/api.txt+10−4
@@ -1838,6 +1838,7 @@ registers, find a list below: · 1837 unmodified lines
1838 PPC | KVM_REG_PPC_LPCR | 641838 PPC | KVM_REG_PPC_LPCR | 64
1839 PPC | KVM_REG_PPC_PPR | 641839 PPC | KVM_REG_PPC_PPR | 64
1840 PPC | KVM_REG_PPC_ARCH_COMPAT 321840 PPC | KVM_REG_PPC_ARCH_COMPAT 32
1841 PPC | KVM_REG_PPC_DABRX | 32
1841 PPC | KVM_REG_PPC_TM_GPR0 | 641842 PPC | KVM_REG_PPC_TM_GPR0 | 64
1842 ...1843 ...
1843 PPC | KVM_REG_PPC_TM_GPR31 | 641844 PPC | KVM_REG_PPC_TM_GPR31 | 64
@@ -2104,7 +2105,7 @@ Returns: 0 on success, -1 on error · 260 unmodified lines
2104Allows setting an eventfd to directly trigger a guest interrupt.2105Allows setting an eventfd to directly trigger a guest interrupt.
2105kvm_irqfd.fd specifies the file descriptor to use as the eventfd and2106kvm_irqfd.fd specifies the file descriptor to use as the eventfd and
2106kvm_irqfd.gsi specifies the irqchip pin toggled by this event. When2107kvm_irqfd.gsi specifies the irqchip pin toggled by this event. When
2107an event is tiggered on the eventfd, an interrupt is injected into2108an event is triggered on the eventfd, an interrupt is injected into
2108the guest using the specified gsi pin. The irqfd is removed using2109the guest using the specified gsi pin. The irqfd is removed using
2109the KVM_IRQFD_FLAG_DEASSIGN flag, specifying both kvm_irqfd.fd2110the KVM_IRQFD_FLAG_DEASSIGN flag, specifying both kvm_irqfd.fd
2110and kvm_irqfd.gsi.2111and kvm_irqfd.gsi.
@@ -2115,7 +2116,7 @@ interrupts. When KVM_IRQFD_FLAG_RESAMPLE is set the user must pass an · 4 unmodified lines
2115additional eventfd in the kvm_irqfd.resamplefd field. When operating2116additional eventfd in the kvm_irqfd.resamplefd field. When operating
2116in resample mode, posting of an interrupt through kvm_irq.fd asserts2117in resample mode, posting of an interrupt through kvm_irq.fd asserts
2117the specified gsi in the irqchip. When the irqchip is resampled, such2118the specified gsi in the irqchip. When the irqchip is resampled, such
2118as from an EOI, the gsi is de-asserted and the user is notifed via2119as from an EOI, the gsi is de-asserted and the user is notified via
2119kvm_irqfd.resamplefd. It is the user's responsibility to re-queue2120kvm_irqfd.resamplefd. It is the user's responsibility to re-queue
2120the interrupt if the device making use of it still requires service.2121the interrupt if the device making use of it still requires service.
2121Note that closing the resamplefd is not sufficient to disable the2122Note that closing the resamplefd is not sufficient to disable the
@@ -2327,7 +2328,7 @@ current state. "addr" is ignored. · 205 unmodified lines
2327Capability: basic2328Capability: basic
2328Architectures: arm, arm642329Architectures: arm, arm64
2329Type: vcpu ioctl2330Type: vcpu ioctl
2330Parameters: struct struct kvm_vcpu_init (in)2331Parameters: struct kvm_vcpu_init (in)
2331Returns: 0 on success; -1 on error2332Returns: 0 on success; -1 on error
2332Errors:2333Errors:
2333  EINVAL:    the target is unknown, or the combination of features is invalid.2334  EINVAL:    the target is unknown, or the combination of features is invalid.
@@ -2391,7 +2392,8 @@ struct kvm_reg_list { · 57 unmodified lines
2391This ioctl returns the guest registers that are supported for the2392This ioctl returns the guest registers that are supported for the
2392KVM_GET_ONE_REG/KVM_SET_ONE_REG calls.2393KVM_GET_ONE_REG/KVM_SET_ONE_REG calls.
2393 2394
23944.85 KVM_ARM_SET_DEVICE_ADDR2395
23964.85 KVM_ARM_SET_DEVICE_ADDR (deprecated)
2395 2397
2396Capability: KVM_CAP_ARM_SET_DEVICE_ADDR2398Capability: KVM_CAP_ARM_SET_DEVICE_ADDR
2397Architectures: arm, arm642399Architectures: arm, arm64
@@ -2429,6 +2431,10 @@ must be called after calling KVM_CREATE_IRQCHIP, but before calling · 31 unmodified lines
2429KVM_RUN on any of the VCPUs. Calling this ioctl twice for any of the2431KVM_RUN on any of the VCPUs. Calling this ioctl twice for any of the
2430base addresses will return -EEXIST.2432base addresses will return -EEXIST.
2431 2433
2434Note, this IOCTL is deprecated and the more flexible SET/GET_DEVICE_ATTR API
2435should be used instead.
2436
2437
24324.86 KVM_PPC_RTAS_DEFINE_TOKEN24384.86 KVM_PPC_RTAS_DEFINE_TOKEN
2433 2439
2434Capability: KVM_CAP_PPC_RTAS2440Capability: KVM_CAP_PPC_RTAS
Documentation/virtual/kvm/devices/arm-vgic.txt+73−0
@@ -0,0 +1,73 @@
1ARM Virtual Generic Interrupt Controller (VGIC)
2===============================================
3
4Device types supported:
5 KVM_DEV_TYPE_ARM_VGIC_V2 ARM Generic Interrupt Controller v2.0
6
7Only one VGIC instance may be instantiated through either this API or the
8legacy KVM_CREATE_IRQCHIP api. The created VGIC will act as the VM interrupt
9controller, requiring emulated user-space devices to inject interrupts to the
10VGIC instead of directly to CPUs.
11
12Groups:
13 KVM_DEV_ARM_VGIC_GRP_ADDR
14 Attributes:
15 KVM_VGIC_V2_ADDR_TYPE_DIST (rw, 64-bit)
16 Base address in the guest physical address space of the GIC distributor
17 register mappings.
18
19 KVM_VGIC_V2_ADDR_TYPE_CPU (rw, 64-bit)
20 Base address in the guest physical address space of the GIC virtual cpu
21 interface register mappings.
22
23 KVM_DEV_ARM_VGIC_GRP_DIST_REGS
24 Attributes:
25 The attr field of kvm_device_attr encodes two values:
26 bits: | 63 .... 40 | 39 .. 32 | 31 .... 0 |
27 values: | reserved | cpu id | offset |
28
29 All distributor regs are (rw, 32-bit)
30
31 The offset is relative to the "Distributor base address" as defined in the
32 GICv2 specs. Getting or setting such a register has the same effect as
33 reading or writing the register on the actual hardware from the cpu
34 specified with cpu id field. Note that most distributor fields are not
35 banked, but return the same value regardless of the cpu id used to access
36 the register.
37 Limitations:
38 - Priorities are not implemented, and registers are RAZ/WI
39 Errors:
40 -ENODEV: Getting or setting this register is not yet supported
41 -EBUSY: One or more VCPUs are running
42
43 KVM_DEV_ARM_VGIC_GRP_CPU_REGS
44 Attributes:
45 The attr field of kvm_device_attr encodes two values:
46 bits: | 63 .... 40 | 39 .. 32 | 31 .... 0 |
47 values: | reserved | cpu id | offset |
48
49 All CPU interface regs are (rw, 32-bit)
50
51 The offset specifies the offset from the "CPU interface base address" as
52 defined in the GICv2 specs. Getting or setting such a register has the
53 same effect as reading or writing the register on the actual hardware.
54
55 The Active Priorities Registers APRn are implementation defined, so we set a
56 fixed format for our implementation that fits with the model of a "GICv2
57 implementation without the security extensions" which we present to the
58 guest. This interface always exposes four register APR[0-3] describing the
59 maximum possible 128 preemption levels. The semantics of the register
60 indicate if any interrupts in a given preemption level are in the active
61 state by setting the corresponding bit.
62
63 Thus, preemption level X has one or more active interrupts if and only if:
64
65 APRn[X mod 32] == 0b1, where n = X / 32
66
67 Bits for undefined preemption levels are RAZ/WI.
68
69 Limitations:
70 - Priorities are not implemented, and registers are RAZ/WI
71 Errors:
72 -ENODEV: Getting or setting this register is not yet supported
73 -EBUSY: One or more VCPUs are running
Documentation/virtual/kvm/hypercalls.txt+4−1
@@ -17,6 +17,9 @@ S390: · 16 unmodified lines
17 S390 uses diagnose instruction as hypercall (0x500) along with hypercall17 S390 uses diagnose instruction as hypercall (0x500) along with hypercall
18 number in R1.18 number in R1.
19 19
20 For further information on the S390 diagnose call as supported by KVM,
21 refer to Documentation/virtual/kvm/s390-diag.txt.
22
20 PowerPC:23 PowerPC:
21 It uses R3-R10 and hypercall number in R11. R4-R11 are used as output registers.24 It uses R3-R10 and hypercall number in R11. R4-R11 are used as output registers.
22 Return value is placed in R3.25 Return value is placed in R3.
@@ -74,7 +77,7 @@ Usage example : A vcpu of a paravirtualized guest that is busywaiting in guest · 51 unmodified lines
74kernel mode for an event to occur (ex: a spinlock to become available) can77kernel mode for an event to occur (ex: a spinlock to become available) can
75execute HLT instruction once it has busy-waited for more than a threshold78execute HLT instruction once it has busy-waited for more than a threshold
76time-interval. Execution of HLT instruction would cause the hypervisor to put79time-interval. Execution of HLT instruction would cause the hypervisor to put
77the vcpu to sleep until occurence of an appropriate event. Another vcpu of the80the vcpu to sleep until occurrence of an appropriate event. Another vcpu of the
78same guest can wakeup the sleeping vcpu by issuing KVM_HC_KICK_CPU hypercall,81same guest can wakeup the sleeping vcpu by issuing KVM_HC_KICK_CPU hypercall,
79specifying APIC ID (a1) of the vcpu to be woken up. An additional argument (a0)82specifying APIC ID (a1) of the vcpu to be woken up. An additional argument (a0)
80is used in the hypercall for future use.83is used in the hypercall for future use.
Documentation/virtual/kvm/locking.txt+2−2
@@ -112,7 +112,7 @@ The Dirty bit is lost in this case. · 111 unmodified lines
112 112
113In order to avoid this kind of issue, we always treat the spte as "volatile"113In order to avoid this kind of issue, we always treat the spte as "volatile"
114if it can be updated out of mmu-lock, see spte_has_volatile_bits(), it means,114if it can be updated out of mmu-lock, see spte_has_volatile_bits(), it means,
115the spte is always atomicly updated in this case.115the spte is always atomically updated in this case.
116 116
1173): flush tlbs due to spte updated1173): flush tlbs due to spte updated
118If the spte is updated from writable to readonly, we should flush all TLBs,118If the spte is updated from writable to readonly, we should flush all TLBs,
@@ -125,7 +125,7 @@ be flushed caused by this reason in mmu_spte_update() since this is a common · 6 unmodified lines
125function to update spte (present -> present).125function to update spte (present -> present).
126 126
127Since the spte is "volatile" if it can be updated out of mmu-lock, we always127Since the spte is "volatile" if it can be updated out of mmu-lock, we always
128atomicly update the spte, the race caused by fast page fault can be avoided,128atomically update the spte, the race caused by fast page fault can be avoided,
129See the comments in spte_has_volatile_bits() and mmu_spte_update().129See the comments in spte_has_volatile_bits() and mmu_spte_update().
130 130
1313. Reference1313. Reference
Documentation/virtual/kvm/ppc-pv.txt+1−1
@@ -115,7 +115,7 @@ If any other bit changes in the MSR, please still use mtmsr(d). · 114 unmodified lines
115Patched instructions115Patched instructions
116====================116====================
117 117
118The "ld" and "std" instructions are transormed to "lwz" and "stw" instructions118The "ld" and "std" instructions are transformed to "lwz" and "stw" instructions
119respectively on 32 bit systems with an added offset of 4 to accommodate for big119respectively on 32 bit systems with an added offset of 4 to accommodate for big
120endianness.120endianness.
121 121
Documentation/virtual/kvm/s390-diag.txt+80−0
@@ -0,0 +1,80 @@
1The s390 DIAGNOSE call on KVM
2=============================
3
4KVM on s390 supports the DIAGNOSE call for making hypercalls, both for
5native hypercalls and for selected hypercalls found on other s390
6hypervisors.
7
8Note that bits are numbered as by the usual s390 convention (most significant
9bit on the left).
10
11
12General remarks
13---------------
14
15DIAGNOSE calls by the guest cause a mandatory intercept. This implies
16all supported DIAGNOSE calls need to be handled by either KVM or its
17userspace.
18
19All DIAGNOSE calls supported by KVM use the RS-a format:
20
21--------------------------------------
22| '83' | R1 | R3 | B2 | D2 |
23--------------------------------------
240 8 12 16 20 31
25
26The second-operand address (obtained by the base/displacement calculation)
27is not used to address data. Instead, bits 48-63 of this address specify
28the function code, and bits 0-47 are ignored.
29
30The supported DIAGNOSE function codes vary by the userspace used. For
31DIAGNOSE function codes not specific to KVM, please refer to the
32documentation for the s390 hypervisors defining them.
33
34
35DIAGNOSE function code 'X'500' - KVM virtio functions
36-----------------------------------------------------
37
38If the function code specifies 0x500, various virtio-related functions
39are performed.
40
41General register 1 contains the virtio subfunction code. Supported
42virtio subfunctions depend on KVM's userspace. Generally, userspace
43provides either s390-virtio (subcodes 0-2) or virtio-ccw (subcode 3).
44
45Upon completion of the DIAGNOSE instruction, general register 2 contains
46the function's return code, which is either a return code or a subcode
47specific value.
48
49Subcode 0 - s390-virtio notification and early console printk
50 Handled by userspace.
51
52Subcode 1 - s390-virtio reset
53 Handled by userspace.
54
55Subcode 2 - s390-virtio set status
56 Handled by userspace.
57
58Subcode 3 - virtio-ccw notification
59 Handled by either userspace or KVM (ioeventfd case).
60
61 General register 2 contains a subchannel-identification word denoting
62 the subchannel of the virtio-ccw proxy device to be notified.
63
64 General register 3 contains the number of the virtqueue to be notified.
65
66 General register 4 contains a 64bit identifier for KVM usage (the
67 kvm_io_bus cookie). If general register 4 does not contain a valid
68 identifier, it is ignored.
69
70 After completion of the DIAGNOSE call, general register 2 may contain
71 a 64bit identifier (in the kvm_io_bus cookie case).
72
73 See also the virtio standard for a discussion of this hypercall.
74
75
76DIAGNOSE function code 'X'501 - KVM breakpoint
77----------------------------------------------
78
79If the function code specifies 0x501, breakpoint functions may be performed.
80This function code is handled by userspace.
Documentation/virtual/kvm/timekeeping.txt+1−1
@@ -467,7 +467,7 @@ at any time. This causes problems as the passage of real time, the injection · 466 unmodified lines
467of machine interrupts and the associated clock sources are no longer completely467of machine interrupts and the associated clock sources are no longer completely
468synchronized with real time.468synchronized with real time.
469 469
470This same problem can occur on native harware to a degree, as SMM mode may470This same problem can occur on native hardware to a degree, as SMM mode may
471steal cycles from the naturally on X86 systems when SMM mode is used by the471steal cycles from the naturally on X86 systems when SMM mode is used by the
472BIOS, but not in such an extreme fashion. However, the fact that SMM mode may472BIOS, but not in such an extreme fashion. However, the fact that SMM mode may
473cause similar problems to virtualization makes it a good justification for473cause similar problems to virtualization makes it a good justification for
Documentation/vm/locking+0−130
@@ -1,130 +0,0 @@
1Started Oct 1999 by Kanoj Sarcar <kanojsarcar@yahoo.com>
2
3The intent of this file is to have an uptodate, running commentary
4from different people about how locking and synchronization is done
5in the Linux vm code.
6
7page_table_lock & mmap_sem
8--------------------------------------
9
10Page stealers pick processes out of the process pool and scan for
11the best process to steal pages from. To guarantee the existence
12of the victim mm, a mm_count inc and a mmdrop are done in swap_out().
13Page stealers hold kernel_lock to protect against a bunch of races.
14The vma list of the victim mm is also scanned by the stealer,
15and the page_table_lock is used to preserve list sanity against the
16process adding/deleting to the list. This also guarantees existence
17of the vma. Vma existence is not guaranteed once try_to_swap_out()
18drops the page_table_lock. To guarantee the existence of the underlying
19file structure, a get_file is done before the swapout() method is
20invoked. The page passed into swapout() is guaranteed not to be reused
21for a different purpose because the page reference count due to being
22present in the user's pte is not released till after swapout() returns.
23
24Any code that modifies the vmlist, or the vm_start/vm_end/
25vm_flags:VM_LOCKED/vm_next of any vma *in the list* must prevent
26kswapd from looking at the chain.
27
28The rules are:
291. To scan the vmlist (look but don't touch) you must hold the
30 mmap_sem with read bias, i.e. down_read(&mm->mmap_sem)
312. To modify the vmlist you need to hold the mmap_sem with
32 read&write bias, i.e. down_write(&mm->mmap_sem) *AND*
33 you need to take the page_table_lock.
343. The swapper takes _just_ the page_table_lock, this is done
35 because the mmap_sem can be an extremely long lived lock
36 and the swapper just cannot sleep on that.
374. The exception to this rule is expand_stack, which just
38 takes the read lock and the page_table_lock, this is ok
39 because it doesn't really modify fields anybody relies on.
405. You must be able to guarantee that while holding page_table_lock
41 or page_table_lock of mm A, you will not try to get either lock
42 for mm B.
43
44The caveats are:
451. find_vma() makes use of, and updates, the mmap_cache pointer hint.
46The update of mmap_cache is racy (page stealer can race with other code
47that invokes find_vma with mmap_sem held), but that is okay, since it
48is a hint. This can be fixed, if desired, by having find_vma grab the
49page_table_lock.
50
51
52Code that add/delete elements from the vmlist chain are
531. callers of insert_vm_struct
542. callers of merge_segments
553. callers of avl_remove
56
57Code that changes vm_start/vm_end/vm_flags:VM_LOCKED of vma's on
58the list:
591. expand_stack
602. mprotect
613. mlock
624. mremap
63
64It is advisable that changes to vm_start/vm_end be protected, although
65in some cases it is not really needed. Eg, vm_start is modified by
66expand_stack(), it is hard to come up with a destructive scenario without
67having the vmlist protection in this case.
68
69The page_table_lock nests with the inode i_mmap_mutex and the kmem cache
70c_spinlock spinlocks. This is okay, since the kmem code asks for pages after
71dropping c_spinlock. The page_table_lock also nests with pagecache_lock and
72pagemap_lru_lock spinlocks, and no code asks for memory with these locks
73held.
74
75The page_table_lock is grabbed while holding the kernel_lock spinning monitor.
76
77The page_table_lock is a spin lock.
78
79Note: PTL can also be used to guarantee that no new clones using the
80mm start up ... this is a loose form of stability on mm_users. For
81example, it is used in copy_mm to protect against a racing tlb_gather_mmu
82single address space optimization, so that the zap_page_range (from
83truncate) does not lose sending ipi's to cloned threads that might
84be spawned underneath it and go to user mode to drag in pte's into tlbs.
85
86swap_lock
87--------------
88The swap devices are chained in priority order from the "swap_list" header.
89The "swap_list" is used for the round-robin swaphandle allocation strategy.
90The #free swaphandles is maintained in "nr_swap_pages". These two together
91are protected by the swap_lock.
92
93The swap_lock also protects all the device reference counts on the
94corresponding swaphandles, maintained in the "swap_map" array, and the
95"highest_bit" and "lowest_bit" fields.
96
97The swap_lock is a spinlock, and is never acquired from intr level.
98
99To prevent races between swap space deletion or async readahead swapins
100deciding whether a swap handle is being used, ie worthy of being read in
101from disk, and an unmap -> swap_free making the handle unused, the swap
102delete and readahead code grabs a temp reference on the swaphandle to
103prevent warning messages from swap_duplicate <- read_swap_cache_async.
104
105Swap cache locking
106------------------
107Pages are added into the swap cache with kernel_lock held, to make sure
108that multiple pages are not being added (and hence lost) by associating
109all of them with the same swaphandle.
110
111Pages are guaranteed not to be removed from the scache if the page is
112"shared": ie, other processes hold reference on the page or the associated
113swap handle. The only code that does not follow this rule is shrink_mmap,
114which deletes pages from the swap cache if no process has a reference on
115the page (multiple processes might have references on the corresponding
116swap handle though). lookup_swap_cache() races with shrink_mmap, when
117establishing a reference on a scache page, so, it must check whether the
118page it located is still in the swapcache, or shrink_mmap deleted it.
119(This race is due to the fact that shrink_mmap looks at the page ref
120count with pagecache_lock, but then drops pagecache_lock before deleting
121the page from the scache).
122
123do_wp_page and do_swap_page have MP races in them while trying to figure
124out whether a page is "shared", by looking at the page_count + swap_count.
125To preserve the sum of the counts, the page lock _must_ be acquired before
126calling is_page_shared (else processes might switch their swap_count refs
127to the page count refs, after the page count ref has been snapshotted).
128
129Swap device deletion code currently breaks all the scache assumptions,
130since it grabs neither mmap_sem nor page_table_lock.
Documentation/vm/overcommit-accounting+4−3
@@ -14,8 +14,8 @@ The Linux kernel supports the following overcommit handling modes · 13 unmodified lines
14 14
152 - Don't overcommit. The total address space commit152 - Don't overcommit. The total address space commit
16 for the system is not permitted to exceed swap + a16 for the system is not permitted to exceed swap + a
17 configurable percentage (default is 50) of physical RAM.17 configurable amount (default is 50%) of physical RAM.
18 Depending on the percentage you use, in most situations18 Depending on the amount you use, in most situations
19 this means a process will not be killed while accessing19 this means a process will not be killed while accessing
20 pages but will receive errors on memory allocation as20 pages but will receive errors on memory allocation as
21 appropriate.21 appropriate.
@@ -26,7 +26,8 @@ The Linux kernel supports the following overcommit handling modes · 4 unmodified lines
26 26
27The overcommit policy is set via the sysctl `vm.overcommit_memory'.27The overcommit policy is set via the sysctl `vm.overcommit_memory'.
28 28
29The overcommit percentage is set via `vm.overcommit_ratio'.29The overcommit amount can be set via `vm.overcommit_ratio' (percentage)
30or `vm.overcommit_kbytes' (absolute value).
30 31
31The current overcommit limit and amount committed are viewable in32The current overcommit limit and amount committed are viewable in
32/proc/meminfo as CommitLimit and Committed_AS respectively.33/proc/meminfo as CommitLimit and Committed_AS respectively.
Documentation/vme_api.txt+11−1
@@ -393,4 +393,14 @@ Slot Detection · 392 unmodified lines
393 393
394This function returns the slot ID of the provided bridge.394This function returns the slot ID of the provided bridge.
395 395
396 int vme_slot_get(struct vme_dev *dev);396 int vme_slot_num(struct vme_dev *dev);
397
398
399Bus Detection
400=============
401
402This function returns the bus ID of the provided bridge.
403
404 int vme_bus_num(struct vme_dev *dev);
405
406
Documentation/x86/x86_64/boot-options.txt+0−23
@@ -78,14 +78,6 @@ APICs · 77 unmodified lines
78 78
79 no_timer_check Don't check the IO-APIC timer. This can work around79 no_timer_check Don't check the IO-APIC timer. This can work around
80 problems with incorrect timer initialization on some boards.80 problems with incorrect timer initialization on some boards.
81
82 apicmaintimer Run time keeping from the local APIC timer instead
83 of using the PIT/HPET interrupt for this. This is useful
84 when the PIT/HPET interrupts are unreliable.
85
86 noapicmaintimer Don't do time keeping using the APIC timer.
87 Useful when this option was auto selected, but doesn't work.
88
89 apicpmtimer81 apicpmtimer
90 Do APIC timer calibration using the pmtimer. Implies82 Do APIC timer calibration using the pmtimer. Implies
91 apicmaintimer. Useful when your PIT timer is totally83 apicmaintimer. Useful when your PIT timer is totally
@@ -144,11 +136,6 @@ Non Executable Mappings · 52 unmodified lines
144 on Enable(default)136 on Enable(default)
145 off Disable137 off Disable
146 138
147SMP
148
149 additional_cpus=NUM Allow NUM more CPUs for hotplug
150 (defaults are specified by the BIOS, see Documentation/x86/x86_64/cpu-hotplug-spec)
151
152NUMA139NUMA
153 140
154 numa=off Only set up a single NUMA node spanning all memory.141 numa=off Only set up a single NUMA node spanning all memory.
@@ -289,16 +276,6 @@ Debugging · 134 unmodified lines
289 276
290 kstack=N Print N words from the kernel stack in oops dumps.277 kstack=N Print N words from the kernel stack in oops dumps.
291 278
292 pagefaulttrace Dump all page faults. Only useful for extreme debugging
293 and will create a lot of output.
294
295 call_trace=[old|both|newfallback|new]
296 old: use old inexact backtracer
297 new: use new exact dwarf2 unwinder
298 both: print entries from both
299 newfallback: use new unwinder but fall back to old if it gets
300 stuck (default)
301
302Miscellaneous279Miscellaneous
303 280
304 nogbpages281 nogbpages
Documentation/xtensa/atomctl.txt+1−1
@@ -40,5 +40,5 @@ See Section 4.3.12.4 of ISA; Bits: · 39 unmodified lines
40--------- --------------- ----------------- ----------------40--------- --------------- ----------------- ----------------
41 0 Exception Exception Exception41 0 Exception Exception Exception
42 1 RCW Transaction RCW Transaction RCW Transaction42 1 RCW Transaction RCW Transaction RCW Transaction
43 2 Internal Operation Exception Reserved43 2 Internal Operation Internal Operation Reserved
44 3 Reserved Reserved Reserved44 3 Reserved Reserved Reserved
Documentation/xtensa/mmu.txt+18−0
@@ -44,3 +44,21 @@ After step 4, we jump to intended (linked) address of this code. · 43 unmodified lines
44 40..5F -> 40 40..5F -> pc -> pc 40..5F -> pc44 40..5F -> 40 40..5F -> pc -> pc 40..5F -> pc
45 20..3F -> 20 -> 20 20..3F -> 2045 20..3F -> 20 -> 20 20..3F -> 20
46 00..1F -> 00 -> 00 00..1F -> 0046 00..1F -> 00 -> 00 00..1F -> 00
47
48The default location of IO peripherals is above 0xf0000000. This may change
49using a "ranges" property in a device tree simple-bus node. See ePAPR 1.1, §6.5
50for details on the syntax and semantic of simple-bus nodes. The following
51limitations apply:
52
531. Only top level simple-bus nodes are considered
54
552. Only one (first) simple-bus node is considered
56
573. Empty "ranges" properties are not supported
58
594. Only the first triplet in the "ranges" property is considered
60
615. The parent-bus-address value is rounded down to the nearest 256MB boundary
62
636. The IO area covers the entire 256MB segment of parent-bus-address; the
64 "ranges" triplet length field is ignored
Documentation/zh_CN/HOWTO+2−2
@@ -112,7 +112,7 @@ Linux内核代码中包含有大量的文档。这些文档对于学习如何与 · 111 unmodified lines
112 112
113 其他关于如何正确地生成补丁的优秀文档包括:113 其他关于如何正确地生成补丁的优秀文档包括:
114 "The Perfect Patch"114 "The Perfect Patch"
115 http://userweb.kernel.org/~akpm/stuff/tpp.txt115 http://www.ozlabs.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
@@ -515,7 +515,7 @@ Linux内核社区并不喜欢一下接收大段的代码。修改需要被恰当 · 396 unmodified lines
515 515
516想了解它具体应该看起来像什么,请查阅以下文档中的“ChangeLog”章节:516想了解它具体应该看起来像什么,请查阅以下文档中的“ChangeLog”章节:
517 “The Perfect Patch”517 “The Perfect Patch”
518 http://userweb.kernel.org/~akpm/stuff/tpp.txt518 http://www.ozlabs.org/~akpm/stuff/tpp.txt
519 519
520 520
521这些事情有时候做起来很难。要在任何方面都做到完美可能需要好几年时间。这是521这些事情有时候做起来很难。要在任何方面都做到完美可能需要好几年时间。这是
MAINTAINERS+212−84
@@ -93,6 +93,11 @@ Descriptions of section entries: · 92 unmodified lines
93 N: Files and directories with regex patterns.93 N: Files and directories with regex patterns.
94 N: [^a-z]tegra all files whose path contains the word tegra94 N: [^a-z]tegra all files whose path contains the word tegra
95 One pattern per line. Multiple N: lines acceptable.95 One pattern per line. Multiple N: lines acceptable.
96 scripts/get_maintainer.pl has different behavior for files that
97 match F: pattern and matches of N: patterns. By default,
98 get_maintainer will not look at git log history when an F: pattern
99 match occurs. When an N: match occurs, git log history is used
100 to also notify the people that have git commit signatures.
96 X: Files and directories that are NOT maintained, same rules as F:101 X: Files and directories that are NOT maintained, same rules as F:
97 Files exclusions are tested before file matches.102 Files exclusions are tested before file matches.
98 Can be useful for excluding a specific subdirectory, for instance:103 Can be useful for excluding a specific subdirectory, for instance:
@@ -252,6 +257,7 @@ F: Documentation/ABI/testing/sysfs-bus-acpi · 153 unmodified lines
252F: drivers/pci/*acpi*257F: drivers/pci/*acpi*
253F: drivers/pci/*/*acpi*258F: drivers/pci/*/*acpi*
254F: drivers/pci/*/*/*acpi*259F: drivers/pci/*/*/*acpi*
260F: tools/power/acpi
255 261
256ACPI COMPONENT ARCHITECTURE (ACPICA)262ACPI COMPONENT ARCHITECTURE (ACPICA)
257M: Robert Moore <robert.moore@intel.com>263M: Robert Moore <robert.moore@intel.com>
@@ -266,6 +272,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 8 unmodified lines
266S: Supported272S: Supported
267F: drivers/acpi/acpica/273F: drivers/acpi/acpica/
268F: include/acpi/274F: include/acpi/
275F: tools/power/acpi/
269 276
270ACPI FAN DRIVER277ACPI FAN DRIVER
271M: Zhang Rui <rui.zhang@intel.com>278M: Zhang Rui <rui.zhang@intel.com>
@@ -302,36 +309,36 @@ F: sound/pci/ad1889.* · 30 unmodified lines
302 309
303AD525X ANALOG DEVICES DIGITAL POTENTIOMETERS DRIVER310AD525X ANALOG DEVICES DIGITAL POTENTIOMETERS DRIVER
304M: Michael Hennerich <michael.hennerich@analog.com>311M: Michael Hennerich <michael.hennerich@analog.com>
305L: device-drivers-devel@blackfin.uclinux.org
306W: http://wiki.analog.com/AD5254312W: http://wiki.analog.com/AD5254
313W: http://ez.analog.com/community/linux-device-drivers
307S: Supported314S: Supported
308F: drivers/misc/ad525x_dpot.c315F: drivers/misc/ad525x_dpot.c
309 316
310AD5398 CURRENT REGULATOR DRIVER (AD5398/AD5821)317AD5398 CURRENT REGULATOR DRIVER (AD5398/AD5821)
311M: Michael Hennerich <michael.hennerich@analog.com>318M: Michael Hennerich <michael.hennerich@analog.com>
312L: device-drivers-devel@blackfin.uclinux.org
313W: http://wiki.analog.com/AD5398319W: http://wiki.analog.com/AD5398
320W: http://ez.analog.com/community/linux-device-drivers
314S: Supported321S: Supported
315F: drivers/regulator/ad5398.c322F: drivers/regulator/ad5398.c
316 323
317AD714X CAPACITANCE TOUCH SENSOR DRIVER (AD7142/3/7/8/7A)324AD714X CAPACITANCE TOUCH SENSOR DRIVER (AD7142/3/7/8/7A)
318M: Michael Hennerich <michael.hennerich@analog.com>325M: Michael Hennerich <michael.hennerich@analog.com>
319L: device-drivers-devel@blackfin.uclinux.org
320W: http://wiki.analog.com/AD7142326W: http://wiki.analog.com/AD7142
327W: http://ez.analog.com/community/linux-device-drivers
321S: Supported328S: Supported
322F: drivers/input/misc/ad714x.c329F: drivers/input/misc/ad714x.c
323 330
324AD7877 TOUCHSCREEN DRIVER331AD7877 TOUCHSCREEN DRIVER
325M: Michael Hennerich <michael.hennerich@analog.com>332M: Michael Hennerich <michael.hennerich@analog.com>
326L: device-drivers-devel@blackfin.uclinux.org
327W: http://wiki.analog.com/AD7877333W: http://wiki.analog.com/AD7877
334W: http://ez.analog.com/community/linux-device-drivers
328S: Supported335S: Supported
329F: drivers/input/touchscreen/ad7877.c336F: drivers/input/touchscreen/ad7877.c
330 337
331AD7879 TOUCHSCREEN DRIVER (AD7879/AD7889)338AD7879 TOUCHSCREEN DRIVER (AD7879/AD7889)
332M: Michael Hennerich <michael.hennerich@analog.com>339M: Michael Hennerich <michael.hennerich@analog.com>
333L: device-drivers-devel@blackfin.uclinux.org
334W: http://wiki.analog.com/AD7879340W: http://wiki.analog.com/AD7879
341W: http://ez.analog.com/community/linux-device-drivers
335S: Supported342S: Supported
336F: drivers/input/touchscreen/ad7879.c343F: drivers/input/touchscreen/ad7879.c
337 344
@@ -340,7 +347,7 @@ M: Jiri Kosina <jkosina@suse.cz> · 2 unmodified lines
340S: Maintained347S: Maintained
341 348
342ADM1025 HARDWARE MONITOR DRIVER349ADM1025 HARDWARE MONITOR DRIVER
343M: Jean Delvare <khali@linux-fr.org>350M: Jean Delvare <jdelvare@suse.de>
344L: lm-sensors@lm-sensors.org351L: lm-sensors@lm-sensors.org
345S: Maintained352S: Maintained
346F: Documentation/hwmon/adm1025353F: Documentation/hwmon/adm1025
@@ -367,8 +374,8 @@ F: include/media/adp1653.h · 20 unmodified lines
367 374
368ADP5520 BACKLIGHT DRIVER WITH IO EXPANDER (ADP5520/ADP5501)375ADP5520 BACKLIGHT DRIVER WITH IO EXPANDER (ADP5520/ADP5501)
369M: Michael Hennerich <michael.hennerich@analog.com>376M: Michael Hennerich <michael.hennerich@analog.com>
370L: device-drivers-devel@blackfin.uclinux.org
371W: http://wiki.analog.com/ADP5520377W: http://wiki.analog.com/ADP5520
378W: http://ez.analog.com/community/linux-device-drivers
372S: Supported379S: Supported
373F: drivers/mfd/adp5520.c380F: drivers/mfd/adp5520.c
374F: drivers/video/backlight/adp5520_bl.c381F: drivers/video/backlight/adp5520_bl.c
@@ -378,16 +385,16 @@ F: drivers/input/keyboard/adp5520-keys.c · 3 unmodified lines
378 385
379ADP5588 QWERTY KEYPAD AND IO EXPANDER DRIVER (ADP5588/ADP5587)386ADP5588 QWERTY KEYPAD AND IO EXPANDER DRIVER (ADP5588/ADP5587)
380M: Michael Hennerich <michael.hennerich@analog.com>387M: Michael Hennerich <michael.hennerich@analog.com>
381L: device-drivers-devel@blackfin.uclinux.org
382W: http://wiki.analog.com/ADP5588388W: http://wiki.analog.com/ADP5588
389W: http://ez.analog.com/community/linux-device-drivers
383S: Supported390S: Supported
384F: drivers/input/keyboard/adp5588-keys.c391F: drivers/input/keyboard/adp5588-keys.c
385F: drivers/gpio/gpio-adp5588.c392F: drivers/gpio/gpio-adp5588.c
386 393
387ADP8860 BACKLIGHT DRIVER (ADP8860/ADP8861/ADP8863)394ADP8860 BACKLIGHT DRIVER (ADP8860/ADP8861/ADP8863)
388M: Michael Hennerich <michael.hennerich@analog.com>395M: Michael Hennerich <michael.hennerich@analog.com>
389L: device-drivers-devel@blackfin.uclinux.org
390W: http://wiki.analog.com/ADP8860396W: http://wiki.analog.com/ADP8860
397W: http://ez.analog.com/community/linux-device-drivers
391S: Supported398S: Supported
392F: drivers/video/backlight/adp8860_bl.c399F: drivers/video/backlight/adp8860_bl.c
393 400
@@ -405,7 +412,7 @@ S: Maintained · 11 unmodified lines
405F: drivers/macintosh/therm_adt746x.c412F: drivers/macintosh/therm_adt746x.c
406 413
407ADT7475 HARDWARE MONITOR DRIVER414ADT7475 HARDWARE MONITOR DRIVER
408M: Jean Delvare <khali@linux-fr.org>415M: Jean Delvare <jdelvare@suse.de>
409L: lm-sensors@lm-sensors.org416L: lm-sensors@lm-sensors.org
410S: Maintained417S: Maintained
411F: Documentation/hwmon/adt7475418F: Documentation/hwmon/adt7475
@@ -413,8 +420,8 @@ F: drivers/hwmon/adt7475.c · 1 unmodified line
413 420
414ADXL34X THREE-AXIS DIGITAL ACCELEROMETER DRIVER (ADXL345/ADXL346)421ADXL34X THREE-AXIS DIGITAL ACCELEROMETER DRIVER (ADXL345/ADXL346)
415M: Michael Hennerich <michael.hennerich@analog.com>422M: Michael Hennerich <michael.hennerich@analog.com>
416L: device-drivers-devel@blackfin.uclinux.org
417W: http://wiki.analog.com/ADXL345423W: http://wiki.analog.com/ADXL345
424W: http://ez.analog.com/community/linux-device-drivers
418S: Supported425S: Supported
419F: drivers/input/misc/adxl34x.c426F: drivers/input/misc/adxl34x.c
420 427
@@ -484,7 +491,6 @@ M: Hannes Reinecke <hare@suse.de> · 63 unmodified lines
484L: linux-scsi@vger.kernel.org491L: linux-scsi@vger.kernel.org
485S: Maintained492S: Maintained
486F: drivers/scsi/aic7xxx/493F: drivers/scsi/aic7xxx/
487F: drivers/scsi/aic7xxx_old/
488 494
489AIMSLAB FM RADIO RECEIVER DRIVER495AIMSLAB FM RADIO RECEIVER DRIVER
490M: Hans Verkuil <hverkuil@xs4all.nl>496M: Hans Verkuil <hverkuil@xs4all.nl>
@@ -539,6 +545,13 @@ F: drivers/tty/serial/altera_jtaguart.c · 48 unmodified lines
539F: include/linux/altera_uart.h545F: include/linux/altera_uart.h
540F: include/linux/altera_jtaguart.h546F: include/linux/altera_jtaguart.h
541 547
548AMD CRYPTOGRAPHIC COPROCESSOR (CCP) DRIVER
549M: Tom Lendacky <thomas.lendacky@amd.com>
550L: linux-crypto@vger.kernel.org
551S: Supported
552F: drivers/crypto/ccp/
553F: include/linux/ccp.h
554
542AMD FAM15H PROCESSOR POWER MONITORING DRIVER555AMD FAM15H PROCESSOR POWER MONITORING DRIVER
543M: Andreas Herrmann <herrmann.der.user@googlemail.com>556M: Andreas Herrmann <herrmann.der.user@googlemail.com>
544L: lm-sensors@lm-sensors.org557L: lm-sensors@lm-sensors.org
@@ -614,9 +627,9 @@ F: drivers/media/i2c/adv7842* · 69 unmodified lines
614 627
615ANALOG DEVICES INC ASOC CODEC DRIVERS628ANALOG DEVICES INC ASOC CODEC DRIVERS
616M: Lars-Peter Clausen <lars@metafoo.de>629M: Lars-Peter Clausen <lars@metafoo.de>
617L: device-drivers-devel@blackfin.uclinux.org
618L: alsa-devel@alsa-project.org (moderated for non-subscribers)630L: alsa-devel@alsa-project.org (moderated for non-subscribers)
619W: http://wiki.analog.com/631W: http://wiki.analog.com/
632W: http://ez.analog.com/community/linux-device-drivers
620S: Supported633S: Supported
621F: sound/soc/codecs/adau*634F: sound/soc/codecs/adau*
622F: sound/soc/codecs/adav*635F: sound/soc/codecs/adav*
@@ -626,7 +639,7 @@ F: sound/soc/codecs/ssm* · 3 unmodified lines
626F: sound/soc/codecs/sigmadsp.*639F: sound/soc/codecs/sigmadsp.*
627 640
628ANALOG DEVICES INC ASOC DRIVERS641ANALOG DEVICES INC ASOC DRIVERS
629L: uclinux-dist-devel@blackfin.uclinux.org642L: adi-buildroot-devel@lists.sourceforge.net
630L: alsa-devel@alsa-project.org (moderated for non-subscribers)643L: alsa-devel@alsa-project.org (moderated for non-subscribers)
631W: http://blackfin.uclinux.org/644W: http://blackfin.uclinux.org/
632S: Supported645S: Supported
@@ -766,7 +779,12 @@ ARM/Allwinner A1X SoC support · 133 unmodified lines
766M: Maxime Ripard <maxime.ripard@free-electrons.com>779M: Maxime Ripard <maxime.ripard@free-electrons.com>
767L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)780L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
768S: Maintained781S: Maintained
769F: arch/arm/mach-sunxi/782N: sun[x4567]i
783
784ARM/Allwinner SoC Clock Support
785M: Emilio López <emilio@elopez.com.ar>
786S: Maintained
787F: drivers/clk/sunxi/
770 788
771ARM/ATMEL AT91RM9200 AND AT91SAM ARM ARCHITECTURES789ARM/ATMEL AT91RM9200 AND AT91SAM ARM ARCHITECTURES
772M: Andrew Victor <linux@maxim.org.za>790M: Andrew Victor <linux@maxim.org.za>
@@ -867,6 +885,12 @@ S: Maintained · 94 unmodified lines
867F: arch/arm/mach-ebsa110/885F: arch/arm/mach-ebsa110/
868F: drivers/net/ethernet/amd/am79c961a.*886F: drivers/net/ethernet/amd/am79c961a.*
869 887
888ARM/ENERGY MICRO (SILICON LABS) EFM32 SUPPORT
889M: Uwe Kleine-König <kernel@pengutronix.de>
890L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
891S: Maintained
892N: efm32
893
870ARM/EZX SMARTPHONES (A780, A910, A1200, E680, ROKR E2 and ROKR E6)894ARM/EZX SMARTPHONES (A780, A910, A1200, E680, ROKR E2 and ROKR E6)
871M: Daniel Ribeiro <drwyrm@gmail.com>895M: Daniel Ribeiro <drwyrm@gmail.com>
872M: Stefan Schmidt <stefan@openezx.org>896M: Stefan Schmidt <stefan@openezx.org>
@@ -1029,6 +1053,12 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) · 156 unmodified lines
1029S: Maintained1053S: Maintained
1030F: arch/arm/mach-mvebu/1054F: arch/arm/mach-mvebu/
1031 1055
1056ARM/Marvell Berlin SoC support
1057M: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
1058L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1059S: Maintained
1060F: arch/arm/mach-berlin/
1061
1032ARM/Marvell Dove/Kirkwood/MV78xx0/Orion SOC support1062ARM/Marvell Dove/Kirkwood/MV78xx0/Orion SOC support
1033M: Jason Cooper <jason@lakedaemon.net>1063M: Jason Cooper <jason@lakedaemon.net>
1034M: Andrew Lunn <andrew@lunn.ch>1064M: Andrew Lunn <andrew@lunn.ch>
@@ -1322,6 +1352,14 @@ F: drivers/rtc/rtc-ab8500.c · 287 unmodified lines
1322F: drivers/rtc/rtc-pl031.c1352F: drivers/rtc/rtc-pl031.c
1323T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git1353T: git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git
1324 1354
1355ARM/Ux500 CLOCK FRAMEWORK SUPPORT
1356M: Ulf Hansson <ulf.hansson@linaro.org>
1357L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1358T: git git://git.linaro.org/people/ulfh/clk.git
1359S: Maintained
1360F: drivers/clk/ux500/
1361F: include/linux/platform_data/clk-ux500.h
1362
1325ARM/VFP SUPPORT1363ARM/VFP SUPPORT
1326M: Russell King <linux@arm.linux.org.uk>1364M: Russell King <linux@arm.linux.org.uk>
1327L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)1365L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@ -1371,6 +1409,7 @@ F: drivers/cpuidle/cpuidle-zynq.c · 43 unmodified lines
1371N: zynq1409N: zynq
1372N: xilinx1410N: xilinx
1373F: drivers/clocksource/cadence_ttc_timer.c1411F: drivers/clocksource/cadence_ttc_timer.c
1412F: drivers/mmc/host/sdhci-of-arasan.c
1374 1413
1375ARM SMMU DRIVER1414ARM SMMU DRIVER
1376M: Will Deacon <will.deacon@arm.com>1415M: Will Deacon <will.deacon@arm.com>
@@ -1435,7 +1474,7 @@ F: Documentation/aoe/ · 58 unmodified lines
1435F: drivers/block/aoe/1474F: drivers/block/aoe/
1436 1475
1437ATHEROS ATH GENERIC UTILITIES1476ATHEROS ATH GENERIC UTILITIES
1438M: "Luis R. Rodriguez" <mcgrof@qca.qualcomm.com>1477M: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>
1439L: linux-wireless@vger.kernel.org1478L: linux-wireless@vger.kernel.org
1440S: Supported1479S: Supported
1441F: drivers/net/wireless/ath/*1480F: drivers/net/wireless/ath/*
@@ -1443,7 +1482,7 @@ F: drivers/net/wireless/ath/* · 1 unmodified line
1443ATHEROS ATH5K WIRELESS DRIVER1482ATHEROS ATH5K WIRELESS DRIVER
1444M: Jiri Slaby <jirislaby@gmail.com>1483M: Jiri Slaby <jirislaby@gmail.com>
1445M: Nick Kossifidis <mickflemm@gmail.com>1484M: Nick Kossifidis <mickflemm@gmail.com>
1446M: "Luis R. Rodriguez" <mcgrof@qca.qualcomm.com>1485M: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>
1447L: linux-wireless@vger.kernel.org1486L: linux-wireless@vger.kernel.org
1448L: ath5k-devel@lists.ath5k.org1487L: ath5k-devel@lists.ath5k.org
1449W: http://wireless.kernel.org/en/users/Drivers/ath5k1488W: http://wireless.kernel.org/en/users/Drivers/ath5k
@@ -1458,17 +1497,6 @@ T: git git://github.com/kvalo/ath.git · 8 unmodified lines
1458S: Supported1497S: Supported
1459F: drivers/net/wireless/ath/ath6kl/1498F: drivers/net/wireless/ath/ath6kl/
1460 1499
1461ATHEROS ATH9K WIRELESS DRIVER
1462M: "Luis R. Rodriguez" <mcgrof@qca.qualcomm.com>
1463M: Jouni Malinen <jouni@qca.qualcomm.com>
1464M: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
1465M: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
1466L: linux-wireless@vger.kernel.org
1467L: ath9k-devel@lists.ath9k.org
1468W: http://wireless.kernel.org/en/users/Drivers/ath9k
1469S: Supported
1470F: drivers/net/wireless/ath/ath9k/
1471
1472WILOCITY WIL6210 WIRELESS DRIVER1500WILOCITY WIL6210 WIRELESS DRIVER
1473M: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>1501M: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
1474L: linux-wireless@vger.kernel.org1502L: linux-wireless@vger.kernel.org
@@ -1598,11 +1626,10 @@ S: Supported · 123 unmodified lines
1598F: drivers/scsi/esas2r1626F: drivers/scsi/esas2r
1599 1627
1600AUDIT SUBSYSTEM1628AUDIT SUBSYSTEM
1601M: Al Viro <viro@zeniv.linux.org.uk>
1602M: Eric Paris <eparis@redhat.com>1629M: Eric Paris <eparis@redhat.com>
1603L: linux-audit@redhat.com (subscribers-only)1630L: linux-audit@redhat.com (subscribers-only)
1604W: http://people.redhat.com/sgrubb/audit/1631W: http://people.redhat.com/sgrubb/audit/
1605T: git git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current.git1632T: git git://git.infradead.org/users/eparis/audit.git
1606S: Maintained1633S: Maintained
1607F: include/linux/audit.h1634F: include/linux/audit.h
1608F: include/uapi/linux/audit.h1635F: include/uapi/linux/audit.h
@@ -1715,56 +1742,54 @@ F: fs/bfs/ · 106 unmodified lines
1715F: include/uapi/linux/bfs_fs.h1742F: include/uapi/linux/bfs_fs.h
1716 1743
1717BLACKFIN ARCHITECTURE1744BLACKFIN ARCHITECTURE
1718M: Mike Frysinger <vapier@gentoo.org>1745M: Steven Miao <realmz6@gmail.com>
1719L: uclinux-dist-devel@blackfin.uclinux.org1746L: adi-buildroot-devel@lists.sourceforge.net
1720W: http://blackfin.uclinux.org1747W: http://blackfin.uclinux.org
1721S: Supported1748S: Supported
1722F: arch/blackfin/1749F: arch/blackfin/
1723 1750
1724BLACKFIN EMAC DRIVER1751BLACKFIN EMAC DRIVER
1725L: uclinux-dist-devel@blackfin.uclinux.org1752L: adi-buildroot-devel@lists.sourceforge.net
1726W: http://blackfin.uclinux.org1753W: http://blackfin.uclinux.org
1727S: Supported1754S: Supported
1728F: drivers/net/ethernet/adi/1755F: drivers/net/ethernet/adi/
1729 1756
1730BLACKFIN RTC DRIVER1757BLACKFIN RTC DRIVER
1731M: Mike Frysinger <vapier.adi@gmail.com>1758L: adi-buildroot-devel@lists.sourceforge.net
1732L: uclinux-dist-devel@blackfin.uclinux.org
1733W: http://blackfin.uclinux.org1759W: http://blackfin.uclinux.org
1734S: Supported1760S: Supported
1735F: drivers/rtc/rtc-bfin.c1761F: drivers/rtc/rtc-bfin.c
1736 1762
1737BLACKFIN SDH DRIVER1763BLACKFIN SDH DRIVER
1738M: Sonic Zhang <sonic.zhang@analog.com>1764M: Sonic Zhang <sonic.zhang@analog.com>
1739L: uclinux-dist-devel@blackfin.uclinux.org1765L: adi-buildroot-devel@lists.sourceforge.net
1740W: http://blackfin.uclinux.org1766W: http://blackfin.uclinux.org
1741S: Supported1767S: Supported
1742F: drivers/mmc/host/bfin_sdh.c1768F: drivers/mmc/host/bfin_sdh.c
1743 1769
1744BLACKFIN SERIAL DRIVER1770BLACKFIN SERIAL DRIVER
1745M: Sonic Zhang <sonic.zhang@analog.com>1771M: Sonic Zhang <sonic.zhang@analog.com>
1746L: uclinux-dist-devel@blackfin.uclinux.org1772L: adi-buildroot-devel@lists.sourceforge.net
1747W: http://blackfin.uclinux.org1773W: http://blackfin.uclinux.org
1748S: Supported1774S: Supported
1749F: drivers/tty/serial/bfin_uart.c1775F: drivers/tty/serial/bfin_uart.c
1750 1776
1751BLACKFIN WATCHDOG DRIVER1777BLACKFIN WATCHDOG DRIVER
1752M: Mike Frysinger <vapier.adi@gmail.com>1778L: adi-buildroot-devel@lists.sourceforge.net
1753L: uclinux-dist-devel@blackfin.uclinux.org
1754W: http://blackfin.uclinux.org1779W: http://blackfin.uclinux.org
1755S: Supported1780S: Supported
1756F: drivers/watchdog/bfin_wdt.c1781F: drivers/watchdog/bfin_wdt.c
1757 1782
1758BLACKFIN I2C TWI DRIVER1783BLACKFIN I2C TWI DRIVER
1759M: Sonic Zhang <sonic.zhang@analog.com>1784M: Sonic Zhang <sonic.zhang@analog.com>
1760L: uclinux-dist-devel@blackfin.uclinux.org1785L: adi-buildroot-devel@lists.sourceforge.net
1761W: http://blackfin.uclinux.org/1786W: http://blackfin.uclinux.org/
1762S: Supported1787S: Supported
1763F: drivers/i2c/busses/i2c-bfin-twi.c1788F: drivers/i2c/busses/i2c-bfin-twi.c
1764 1789
1765BLACKFIN MEDIA DRIVER1790BLACKFIN MEDIA DRIVER
1766M: Scott Jiang <scott.jiang.linux@gmail.com>1791M: Scott Jiang <scott.jiang.linux@gmail.com>
1767L: uclinux-dist-devel@blackfin.uclinux.org1792L: adi-buildroot-devel@lists.sourceforge.net
1768W: http://blackfin.uclinux.org/1793W: http://blackfin.uclinux.org/
1769S: Supported1794S: Supported
1770F: drivers/media/platform/blackfin/1795F: drivers/media/platform/blackfin/
@@ -2024,6 +2049,7 @@ L: linux-can@vger.kernel.org · 253 unmodified lines
2024W: http://gitorious.org/linux-can2049W: http://gitorious.org/linux-can
2025T: git git://gitorious.org/linux-can/linux-can-next.git2050T: git git://gitorious.org/linux-can/linux-can-next.git
2026S: Maintained2051S: Maintained
2052F: Documentation/networking/can.txt
2027F: net/can/2053F: net/can/
2028F: include/linux/can/core.h2054F: include/linux/can/core.h
2029F: include/uapi/linux/can.h2055F: include/uapi/linux/can.h
@@ -2158,6 +2184,11 @@ M: Nishank Trivedi <nistrive@cisco.com> · 128 unmodified lines
2158S: Supported2184S: Supported
2159F: drivers/net/ethernet/cisco/enic/2185F: drivers/net/ethernet/cisco/enic/
2160 2186
2187CISCO VIC LOW LATENCY NIC DRIVER
2188M: Upinder Malhi <umalhi@cisco.com>
2189S: Supported
2190F: drivers/infiniband/hw/usnic
2191
2161CIRRUS LOGIC EP93XX ETHERNET DRIVER2192CIRRUS LOGIC EP93XX ETHERNET DRIVER
2162M: Hartley Sweeten <hsweeten@visionengravers.com>2193M: Hartley Sweeten <hsweeten@visionengravers.com>
2163L: netdev@vger.kernel.org2194L: netdev@vger.kernel.org
@@ -2191,6 +2222,7 @@ F: include/linux/clk.h · 27 unmodified lines
2191CLOCKSOURCE, CLOCKEVENT DRIVERS2222CLOCKSOURCE, CLOCKEVENT DRIVERS
2192M: Daniel Lezcano <daniel.lezcano@linaro.org>2223M: Daniel Lezcano <daniel.lezcano@linaro.org>
2193M: Thomas Gleixner <tglx@linutronix.de>2224M: Thomas Gleixner <tglx@linutronix.de>
2225L: linux-kernel@vger.kernel.org
2194T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core2226T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
2195S: Supported2227S: Supported
2196F: drivers/clocksource2228F: drivers/clocksource
@@ -2619,7 +2651,7 @@ S: Maintained · 422 unmodified lines
2619F: drivers/platform/x86/dell-laptop.c2651F: drivers/platform/x86/dell-laptop.c
2620 2652
2621DELL LAPTOP SMM DRIVER2653DELL LAPTOP SMM DRIVER
2622S: Orphan2654M: Guenter Roeck <linux@roeck-us.net>
2623F: drivers/char/i8k.c2655F: drivers/char/i8k.c
2624F: include/uapi/linux/i8k.h2656F: include/uapi/linux/i8k.h
2625 2657
@@ -2638,7 +2670,7 @@ DESIGNWARE USB2 DRD IP DRIVER · 12 unmodified lines
2638M: Paul Zimmerman <paulz@synopsys.com>2670M: Paul Zimmerman <paulz@synopsys.com>
2639L: linux-usb@vger.kernel.org2671L: linux-usb@vger.kernel.org
2640S: Maintained2672S: Maintained
2641F: drivers/staging/dwc2/2673F: drivers/usb/dwc2/
2642 2674
2643DESIGNWARE USB3 DRD IP DRIVER2675DESIGNWARE USB3 DRD IP DRIVER
2644M: Felipe Balbi <balbi@ti.com>2676M: Felipe Balbi <balbi@ti.com>
@@ -3335,6 +3367,7 @@ EXTERNAL CONNECTOR SUBSYSTEM (EXTCON) · 690 unmodified lines
3335M: MyungJoo Ham <myungjoo.ham@samsung.com>3367M: MyungJoo Ham <myungjoo.ham@samsung.com>
3336M: Chanwoo Choi <cw00.choi@samsung.com>3368M: Chanwoo Choi <cw00.choi@samsung.com>
3337L: linux-kernel@vger.kernel.org3369L: linux-kernel@vger.kernel.org
3370T: git git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon.git
3338S: Maintained3371S: Maintained
3339F: drivers/extcon/3372F: drivers/extcon/
3340F: Documentation/extcon/3373F: Documentation/extcon/
@@ -3344,7 +3377,6 @@ M: Jingoo Han <jg1.han@samsung.com> · 3 unmodified lines
3344L: linux-fbdev@vger.kernel.org3377L: linux-fbdev@vger.kernel.org
3345S: Maintained3378S: Maintained
3346F: drivers/video/exynos/exynos_dp*3379F: drivers/video/exynos/exynos_dp*
3347F: include/video/exynos_dp*
3348 3380
3349EXYNOS MIPI DISPLAY DRIVERS3381EXYNOS MIPI DISPLAY DRIVERS
3350M: Inki Dae <inki.dae@samsung.com>3382M: Inki Dae <inki.dae@samsung.com>
@@ -3356,7 +3388,7 @@ F: drivers/video/exynos/exynos_mipi* · 5 unmodified lines
3356F: include/video/exynos_mipi*3388F: include/video/exynos_mipi*
3357 3389
3358F71805F HARDWARE MONITORING DRIVER3390F71805F HARDWARE MONITORING DRIVER
3359M: Jean Delvare <khali@linux-fr.org>3391M: Jean Delvare <jdelvare@suse.de>
3360L: lm-sensors@lm-sensors.org3392L: lm-sensors@lm-sensors.org
3361S: Maintained3393S: Maintained
3362F: Documentation/hwmon/f71805f3394F: Documentation/hwmon/f71805f
@@ -3634,6 +3666,7 @@ W: http://en.wikipedia.org/wiki/F2FS · 271 unmodified lines
3634T: git git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git3666T: git git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
3635S: Maintained3667S: Maintained
3636F: Documentation/filesystems/f2fs.txt3668F: Documentation/filesystems/f2fs.txt
3669F: Documentation/ABI/testing/sysfs-fs-f2fs
3637F: fs/f2fs/3670F: fs/f2fs/
3638F: include/linux/f2fs_fs.h3671F: include/linux/f2fs_fs.h
3639 3672
@@ -3882,7 +3915,7 @@ S: Odd Fixes · 242 unmodified lines
3882F: drivers/tty/hvc/3915F: drivers/tty/hvc/
3883 3916
3884HARDWARE MONITORING3917HARDWARE MONITORING
3885M: Jean Delvare <khali@linux-fr.org>3918M: Jean Delvare <jdelvare@suse.de>
3886M: Guenter Roeck <linux@roeck-us.net>3919M: Guenter Roeck <linux@roeck-us.net>
3887L: lm-sensors@lm-sensors.org3920L: lm-sensors@lm-sensors.org
3888W: http://www.lm-sensors.org/3921W: http://www.lm-sensors.org/
@@ -3954,6 +3987,12 @@ S: Orphan · 65 unmodified lines
3954F: Documentation/filesystems/hfs.txt3987F: Documentation/filesystems/hfs.txt
3955F: fs/hfs/3988F: fs/hfs/
3956 3989
3990HFSPLUS FILESYSTEM
3991L: linux-fsdevel@vger.kernel.org
3992S: Orphan
3993F: Documentation/filesystems/hfsplus.txt
3994F: fs/hfsplus/
3995
3957HGA FRAMEBUFFER DRIVER3996HGA FRAMEBUFFER DRIVER
3958M: Ferenc Bakonyi <fero@drama.obuda.kando.hu>3997M: Ferenc Bakonyi <fero@drama.obuda.kando.hu>
3959L: linux-nvidia@lists.surfsouth.com3998L: linux-nvidia@lists.surfsouth.com
@@ -3985,6 +4024,7 @@ F: include/uapi/linux/hid* · 25 unmodified lines
3985 4024
3986HIGH-RESOLUTION TIMERS, CLOCKEVENTS, DYNTICKS4025HIGH-RESOLUTION TIMERS, CLOCKEVENTS, DYNTICKS
3987M: Thomas Gleixner <tglx@linutronix.de>4026M: Thomas Gleixner <tglx@linutronix.de>
4027L: linux-kernel@vger.kernel.org
3988T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core4028T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
3989S: Maintained4029S: Maintained
3990F: Documentation/timers/4030F: Documentation/timers/
@@ -4104,7 +4144,7 @@ F: include/linux/hyperv.h · 113 unmodified lines
4104F: tools/hv/4144F: tools/hv/
4105 4145
4106I2C OVER PARALLEL PORT4146I2C OVER PARALLEL PORT
4107M: Jean Delvare <khali@linux-fr.org>4147M: Jean Delvare <jdelvare@suse.de>
4108L: linux-i2c@vger.kernel.org4148L: linux-i2c@vger.kernel.org
4109S: Maintained4149S: Maintained
4110F: Documentation/i2c/busses/i2c-parport4150F: Documentation/i2c/busses/i2c-parport
@@ -4113,7 +4153,7 @@ F: drivers/i2c/busses/i2c-parport.c · 2 unmodified lines
4113F: drivers/i2c/busses/i2c-parport-light.c4153F: drivers/i2c/busses/i2c-parport-light.c
4114 4154
4115I2C/SMBUS CONTROLLER DRIVERS FOR PC4155I2C/SMBUS CONTROLLER DRIVERS FOR PC
4116M: Jean Delvare <khali@linux-fr.org>4156M: Jean Delvare <jdelvare@suse.de>
4117L: linux-i2c@vger.kernel.org4157L: linux-i2c@vger.kernel.org
4118S: Maintained4158S: Maintained
4119F: Documentation/i2c/busses/i2c-ali15354159F: Documentation/i2c/busses/i2c-ali1535
@@ -4154,7 +4194,7 @@ F: drivers/i2c/busses/i2c-ismt.c · 34 unmodified lines
4154F: Documentation/i2c/busses/i2c-ismt4194F: Documentation/i2c/busses/i2c-ismt
4155 4195
4156I2C/SMBUS STUB DRIVER4196I2C/SMBUS STUB DRIVER
4157M: Jean Delvare <khali@linux-fr.org>4197M: Jean Delvare <jdelvare@suse.de>
4158L: linux-i2c@vger.kernel.org4198L: linux-i2c@vger.kernel.org
4159S: Maintained4199S: Maintained
4160F: drivers/i2c/i2c-stub.c4200F: drivers/i2c/i2c-stub.c
@@ -4173,7 +4213,7 @@ F: include/uapi/linux/i2c.h · 12 unmodified lines
4173F: include/uapi/linux/i2c-*.h4213F: include/uapi/linux/i2c-*.h
4174 4214
4175I2C-TAOS-EVM DRIVER4215I2C-TAOS-EVM DRIVER
4176M: Jean Delvare <khali@linux-fr.org>4216M: Jean Delvare <jdelvare@suse.de>
4177L: linux-i2c@vger.kernel.org4217L: linux-i2c@vger.kernel.org
4178S: Maintained4218S: Maintained
4179F: Documentation/i2c/busses/i2c-taos-evm4219F: Documentation/i2c/busses/i2c-taos-evm
@@ -4474,7 +4514,7 @@ M: Deepak Saxena <dsaxena@plexity.net> · 294 unmodified lines
4474S: Maintained4514S: Maintained
4475F: drivers/char/hw_random/ixp4xx-rng.c4515F: drivers/char/hw_random/ixp4xx-rng.c
4476 4516
4477INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/igbvf/ixgb/ixgbe/ixgbevf/i40e)4517INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/igbvf/ixgb/ixgbe/ixgbevf/i40e/i40evf)
4478M: Jeff Kirsher <jeffrey.t.kirsher@intel.com>4518M: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
4479M: Jesse Brandeburg <jesse.brandeburg@intel.com>4519M: Jesse Brandeburg <jesse.brandeburg@intel.com>
4480M: Bruce Allan <bruce.w.allan@intel.com>4520M: Bruce Allan <bruce.w.allan@intel.com>
@@ -4483,6 +4523,7 @@ M: Don Skidmore <donald.c.skidmore@intel.com> · 2 unmodified lines
4483M: Greg Rose <gregory.v.rose@intel.com>4523M: Greg Rose <gregory.v.rose@intel.com>
4484M: Alex Duyck <alexander.h.duyck@intel.com>4524M: Alex Duyck <alexander.h.duyck@intel.com>
4485M: John Ronciak <john.ronciak@intel.com>4525M: John Ronciak <john.ronciak@intel.com>
4526M: Mitch Williams <mitch.a.williams@intel.com>
4486L: e1000-devel@lists.sourceforge.net4527L: e1000-devel@lists.sourceforge.net
4487W: http://www.intel.com/support/feedback.htm4528W: http://www.intel.com/support/feedback.htm
4488W: http://e1000.sourceforge.net/4529W: http://e1000.sourceforge.net/
@@ -4498,6 +4539,7 @@ F: Documentation/networking/ixgb.txt · 9 unmodified lines
4498F: Documentation/networking/ixgbe.txt4539F: Documentation/networking/ixgbe.txt
4499F: Documentation/networking/ixgbevf.txt4540F: Documentation/networking/ixgbevf.txt
4500F: Documentation/networking/i40e.txt4541F: Documentation/networking/i40e.txt
4542F: Documentation/networking/i40evf.txt
4501F: drivers/net/ethernet/intel/4543F: drivers/net/ethernet/intel/
4502 4544
4503INTEL-MID GPIO DRIVER4545INTEL-MID GPIO DRIVER
@@ -4654,6 +4696,7 @@ F: net/irda/ · 150 unmodified lines
4654 4696
4655IRQ SUBSYSTEM4697IRQ SUBSYSTEM
4656M: Thomas Gleixner <tglx@linutronix.de>4698M: Thomas Gleixner <tglx@linutronix.de>
4699L: linux-kernel@vger.kernel.org
4657S: Maintained4700S: Maintained
4658T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core4701T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
4659F: kernel/irq/4702F: kernel/irq/
@@ -4728,7 +4771,7 @@ S: Maintained · 68 unmodified lines
4728F: drivers/isdn/hardware/eicon/4771F: drivers/isdn/hardware/eicon/
4729 4772
4730IT87 HARDWARE MONITORING DRIVER4773IT87 HARDWARE MONITORING DRIVER
4731M: Jean Delvare <khali@linux-fr.org>4774M: Jean Delvare <jdelvare@suse.de>
4732L: lm-sensors@lm-sensors.org4775L: lm-sensors@lm-sensors.org
4733S: Maintained4776S: Maintained
4734F: Documentation/hwmon/it874777F: Documentation/hwmon/it87
@@ -4915,7 +4958,7 @@ F: include/linux/sunrpc/ · 180 unmodified lines
4915F: include/uapi/linux/sunrpc/4958F: include/uapi/linux/sunrpc/
4916 4959
4917KERNEL VIRTUAL MACHINE (KVM)4960KERNEL VIRTUAL MACHINE (KVM)
4918M: Gleb Natapov <gleb@redhat.com>4961M: Gleb Natapov <gleb@kernel.org>
4919M: Paolo Bonzini <pbonzini@redhat.com>4962M: Paolo Bonzini <pbonzini@redhat.com>
4920L: kvm@vger.kernel.org4963L: kvm@vger.kernel.org
4921W: http://www.linux-kvm.org4964W: http://www.linux-kvm.org
@@ -5098,7 +5141,7 @@ F: drivers/leds/ · 176 unmodified lines
5098F: include/linux/leds.h5141F: include/linux/leds.h
5099 5142
5100LEGACY EEPROM DRIVER5143LEGACY EEPROM DRIVER
5101M: Jean Delvare <khali@linux-fr.org>5144M: Jean Delvare <jdelvare@suse.de>
5102S: Maintained5145S: Maintained
5103F: Documentation/misc-devices/eeprom5146F: Documentation/misc-devices/eeprom
5104F: drivers/misc/eeprom/eeprom.c5147F: drivers/misc/eeprom/eeprom.c
@@ -5246,21 +5289,21 @@ S: Maintained · 141 unmodified lines
5246F: drivers/hwmon/lm73.c5289F: drivers/hwmon/lm73.c
5247 5290
5248LM78 HARDWARE MONITOR DRIVER5291LM78 HARDWARE MONITOR DRIVER
5249M: Jean Delvare <khali@linux-fr.org>5292M: Jean Delvare <jdelvare@suse.de>
5250L: lm-sensors@lm-sensors.org5293L: lm-sensors@lm-sensors.org
5251S: Maintained5294S: Maintained
5252F: Documentation/hwmon/lm785295F: Documentation/hwmon/lm78
5253F: drivers/hwmon/lm78.c5296F: drivers/hwmon/lm78.c
5254 5297
5255LM83 HARDWARE MONITOR DRIVER5298LM83 HARDWARE MONITOR DRIVER
5256M: Jean Delvare <khali@linux-fr.org>5299M: Jean Delvare <jdelvare@suse.de>
5257L: lm-sensors@lm-sensors.org5300L: lm-sensors@lm-sensors.org
5258S: Maintained5301S: Maintained
5259F: Documentation/hwmon/lm835302F: Documentation/hwmon/lm83
5260F: drivers/hwmon/lm83.c5303F: drivers/hwmon/lm83.c
5261 5304
5262LM90 HARDWARE MONITOR DRIVER5305LM90 HARDWARE MONITOR DRIVER
5263M: Jean Delvare <khali@linux-fr.org>5306M: Jean Delvare <jdelvare@suse.de>
5264L: lm-sensors@lm-sensors.org5307L: lm-sensors@lm-sensors.org
5265S: Maintained5308S: Maintained
5266F: Documentation/hwmon/lm905309F: Documentation/hwmon/lm90
@@ -5285,6 +5328,7 @@ F: drivers/media/usb/dvb-usb-v2/lmedm04* · 18 unmodified lines
5285LOCKDEP AND LOCKSTAT5328LOCKDEP AND LOCKSTAT
5286M: Peter Zijlstra <peterz@infradead.org>5329M: Peter Zijlstra <peterz@infradead.org>
5287M: Ingo Molnar <mingo@redhat.com>5330M: Ingo Molnar <mingo@redhat.com>
5331L: linux-kernel@vger.kernel.org
5288T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core/locking5332T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core/locking
5289S: Maintained5333S: Maintained
5290F: Documentation/lockdep*.txt5334F: Documentation/lockdep*.txt
@@ -5381,6 +5425,16 @@ W: http://www.tazenda.demon.co.uk/phil/linux-hp · 90 unmodified lines
5381S: Maintained5425S: Maintained
5382F: arch/m68k/hp300/5426F: arch/m68k/hp300/
5383 5427
5428M88DS3103 MEDIA DRIVER
5429M: Antti Palosaari <crope@iki.fi>
5430L: linux-media@vger.kernel.org
5431W: http://linuxtv.org/
5432W: http://palosaari.fi/linux/
5433Q: http://patchwork.linuxtv.org/project/linux-media/list/
5434T: git git://linuxtv.org/anttip/media_tree.git
5435S: Maintained
5436F: drivers/media/dvb-frontends/m88ds3103*
5437
5384M88RS2000 MEDIA DRIVER5438M88RS2000 MEDIA DRIVER
5385M: Malcolm Priestley <tvboxspy@gmail.com>5439M: Malcolm Priestley <tvboxspy@gmail.com>
5386L: linux-media@vger.kernel.org5440L: linux-media@vger.kernel.org
@@ -5389,6 +5443,16 @@ Q: http://patchwork.linuxtv.org/project/linux-media/list/ · 2 unmodified lines
5389S: Maintained5443S: Maintained
5390F: drivers/media/dvb-frontends/m88rs2000*5444F: drivers/media/dvb-frontends/m88rs2000*
5391 5445
5446M88TS2022 MEDIA DRIVER
5447M: Antti Palosaari <crope@iki.fi>
5448L: linux-media@vger.kernel.org
5449W: http://linuxtv.org/
5450W: http://palosaari.fi/linux/
5451Q: http://patchwork.linuxtv.org/project/linux-media/list/
5452T: git git://linuxtv.org/anttip/media_tree.git
5453S: Maintained
5454F: drivers/media/tuners/m88ts2022*
5455
5392MA901 MASTERKIT USB FM RADIO DRIVER5456MA901 MASTERKIT USB FM RADIO DRIVER
5393M: Alexey Klimov <klimov.linux@gmail.com>5457M: Alexey Klimov <klimov.linux@gmail.com>
5394L: linux-media@vger.kernel.org5458L: linux-media@vger.kernel.org
@@ -5580,10 +5644,11 @@ F: mm/page_cgroup.c · 185 unmodified lines
5580 5644
5581MEMORY TECHNOLOGY DEVICES (MTD)5645MEMORY TECHNOLOGY DEVICES (MTD)
5582M: David Woodhouse <dwmw2@infradead.org>5646M: David Woodhouse <dwmw2@infradead.org>
5647M: Brian Norris <computersforpeace@gmail.com>
5583L: linux-mtd@lists.infradead.org5648L: linux-mtd@lists.infradead.org
5584W: http://www.linux-mtd.infradead.org/5649W: http://www.linux-mtd.infradead.org/
5585Q: http://patchwork.ozlabs.org/project/linux-mtd/list/5650Q: http://patchwork.ozlabs.org/project/linux-mtd/list/
5586T: git git://git.infradead.org/mtd-2.6.git5651T: git git://git.infradead.org/linux-mtd.git
5587S: Maintained5652S: Maintained
5588F: drivers/mtd/5653F: drivers/mtd/
5589F: include/linux/mtd/5654F: include/linux/mtd/
@@ -5741,7 +5806,7 @@ F: drivers/mfd/ · 151 unmodified lines
5741F: include/linux/mfd/5806F: include/linux/mfd/
5742 5807
5743MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND SDIO SUBSYSTEM5808MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND SDIO SUBSYSTEM
5744M: Chris Ball <cjb@laptop.org>5809M: Chris Ball <chris@printf.net>
5745L: linux-mmc@vger.kernel.org5810L: linux-mmc@vger.kernel.org
5746T: git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git5811T: git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git
5747S: Maintained5812S: Maintained
@@ -6452,7 +6517,7 @@ S: Maintained · 704 unmodified lines
6452F: drivers/char/pc8736x_gpio.c6517F: drivers/char/pc8736x_gpio.c
6453 6518
6454PC87427 HARDWARE MONITORING DRIVER6519PC87427 HARDWARE MONITORING DRIVER
6455M: Jean Delvare <khali@linux-fr.org>6520M: Jean Delvare <jdelvare@suse.de>
6456L: lm-sensors@lm-sensors.org6521L: lm-sensors@lm-sensors.org
6457S: Maintained6522S: Maintained
6458F: Documentation/hwmon/pc874276523F: Documentation/hwmon/pc87427
@@ -6581,6 +6646,7 @@ M: Peter Zijlstra <a.p.zijlstra@chello.nl> · 122 unmodified lines
6581M: Paul Mackerras <paulus@samba.org>6646M: Paul Mackerras <paulus@samba.org>
6582M: Ingo Molnar <mingo@redhat.com>6647M: Ingo Molnar <mingo@redhat.com>
6583M: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>6648M: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
6649L: linux-kernel@vger.kernel.org
6584T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf/core6650T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf/core
6585S: Supported6651S: Supported
6586F: kernel/events/*6652F: kernel/events/*
@@ -6704,6 +6770,7 @@ F: drivers/scsi/pm8001/ · 117 unmodified lines
6704 6770
6705POSIX CLOCKS and TIMERS6771POSIX CLOCKS and TIMERS
6706M: Thomas Gleixner <tglx@linutronix.de>6772M: Thomas Gleixner <tglx@linutronix.de>
6773L: linux-kernel@vger.kernel.org
6707T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core6774T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
6708S: Supported6775S: Supported
6709F: fs/timerfd.c6776F: fs/timerfd.c
@@ -6711,7 +6778,7 @@ F: include/linux/timer* · 1 unmodified line
6711F: kernel/*timer*6778F: kernel/*timer*
6712 6779
6713POWER SUPPLY CLASS/SUBSYSTEM and DRIVERS6780POWER SUPPLY CLASS/SUBSYSTEM and DRIVERS
6714M: Anton Vorontsov <anton@enomsg.org>6781M: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
6715M: David Woodhouse <dwmw2@infradead.org>6782M: David Woodhouse <dwmw2@infradead.org>
6716T: git git://git.infradead.org/battery-2.6.git6783T: git git://git.infradead.org/battery-2.6.git
6717S: Maintained6784S: Maintained
@@ -6900,6 +6967,12 @@ F: include/sound/pxa2xx-lib.h · 182 unmodified lines
6900F: sound/arm/pxa*6967F: sound/arm/pxa*
6901F: sound/soc/pxa/6968F: sound/soc/pxa/
6902 6969
6970PXA3xx NAND FLASH DRIVER
6971M: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
6972L: linux-mtd@lists.infradead.org
6973S: Maintained
6974F: drivers/mtd/nand/pxa3xx-nand.c
6975
6903MMP SUPPORT6976MMP SUPPORT
6904M: Eric Miao <eric.y.miao@gmail.com>6977M: Eric Miao <eric.y.miao@gmail.com>
6905M: Haojian Zhuang <haojian.zhuang@gmail.com>6978M: Haojian Zhuang <haojian.zhuang@gmail.com>
@@ -6930,8 +7003,7 @@ S: Maintained · 24 unmodified lines
6930F: drivers/scsi/qla1280.[ch]7003F: drivers/scsi/qla1280.[ch]
6931 7004
6932QLOGIC QLA2XXX FC-SCSI DRIVER7005QLOGIC QLA2XXX FC-SCSI DRIVER
6933M: Andrew Vasquez <andrew.vasquez@qlogic.com>7006M: qla2xxx-upstream@qlogic.com
6934M: linux-driver@qlogic.com
6935L: linux-scsi@vger.kernel.org7007L: linux-scsi@vger.kernel.org
6936S: Supported7008S: Supported
6937F: Documentation/scsi/LICENSE.qla2xxx7009F: Documentation/scsi/LICENSE.qla2xxx
@@ -6993,6 +7065,14 @@ T: git git://linuxtv.org/anttip/media_tree.git · 55 unmodified lines
6993S: Maintained7065S: Maintained
6994F: drivers/media/tuners/qt1010*7066F: drivers/media/tuners/qt1010*
6995 7067
7068QUALCOMM ATHEROS ATH9K WIRELESS DRIVER
7069M: QCA ath9k Development <ath9k-devel@qca.qualcomm.com>
7070L: linux-wireless@vger.kernel.org
7071L: ath9k-devel@lists.ath9k.org
7072W: http://wireless.kernel.org/en/users/Drivers/ath9k
7073S: Supported
7074F: drivers/net/wireless/ath/ath9k/
7075
6996QUALCOMM ATHEROS ATH10K WIRELESS DRIVER7076QUALCOMM ATHEROS ATH10K WIRELESS DRIVER
6997M: Kalle Valo <kvalo@qca.qualcomm.com>7077M: Kalle Valo <kvalo@qca.qualcomm.com>
6998L: ath10k@lists.infradead.org7078L: ath10k@lists.infradead.org
@@ -7026,7 +7106,7 @@ F: drivers/media/parport/*-qcam* · 27 unmodified lines
7026RADOS BLOCK DEVICE (RBD)7106RADOS BLOCK DEVICE (RBD)
7027M: Yehuda Sadeh <yehuda@inktank.com>7107M: Yehuda Sadeh <yehuda@inktank.com>
7028M: Sage Weil <sage@inktank.com>7108M: Sage Weil <sage@inktank.com>
7029M: Alex Elder <elder@inktank.com>7109M: Alex Elder <elder@kernel.org>
7030M: ceph-devel@vger.kernel.org7110M: ceph-devel@vger.kernel.org
7031W: http://ceph.com/7111W: http://ceph.com/
7032T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git7112T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
@@ -7099,6 +7179,7 @@ F: drivers/net/wireless/ray* · 66 unmodified lines
7099RCUTORTURE MODULE7179RCUTORTURE MODULE
7100M: Josh Triplett <josh@freedesktop.org>7180M: Josh Triplett <josh@freedesktop.org>
7101M: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>7181M: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
7182L: linux-kernel@vger.kernel.org
7102S: Supported7183S: Supported
7103T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git7184T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
7104F: Documentation/RCU/torture.txt7185F: Documentation/RCU/torture.txt
@@ -7106,6 +7187,7 @@ F: kernel/rcu/torture.c · 1 unmodified line
7106 7187
7107RCUTORTURE TEST FRAMEWORK7188RCUTORTURE TEST FRAMEWORK
7108M: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>7189M: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
7190L: linux-kernel@vger.kernel.org
7109S: Supported7191S: Supported
7110T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git7192T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
7111F: tools/testing/selftests/rcutorture7193F: tools/testing/selftests/rcutorture
@@ -7129,6 +7211,7 @@ F: net/rds/ · 17 unmodified lines
7129READ-COPY UPDATE (RCU)7211READ-COPY UPDATE (RCU)
7130M: Dipankar Sarma <dipankar@in.ibm.com>7212M: Dipankar Sarma <dipankar@in.ibm.com>
7131M: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>7213M: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
7214L: linux-kernel@vger.kernel.org
7132W: http://www.rdrop.com/users/paulmck/RCU/7215W: http://www.rdrop.com/users/paulmck/RCU/
7133S: Supported7216S: Supported
7134T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git7217T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
@@ -7408,6 +7491,19 @@ L: linux-media@vger.kernel.org · 273 unmodified lines
7408S: Supported7491S: Supported
7409F: drivers/media/i2c/s5c73m3/*7492F: drivers/media/i2c/s5c73m3/*
7410 7493
7494SAMSUNG S5K5BAF CAMERA DRIVER
7495M: Kyungmin Park <kyungmin.park@samsung.com>
7496M: Andrzej Hajda <a.hajda@samsung.com>
7497L: linux-media@vger.kernel.org
7498S: Supported
7499F: drivers/media/i2c/s5k5baf.c
7500
7501SAMSUNG SOC CLOCK DRIVERS
7502M: Tomasz Figa <t.figa@samsung.com>
7503S: Supported
7504L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
7505F: drivers/clk/samsung/
7506
7411SERIAL DRIVERS7507SERIAL DRIVERS
7412M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>7508M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
7413L: linux-serial@vger.kernel.org7509L: linux-serial@vger.kernel.org
@@ -7432,6 +7528,7 @@ F: drivers/mmc/host/dw_mmc* · 18 unmodified lines
7432TIMEKEEPING, CLOCKSOURCE CORE, NTP7528TIMEKEEPING, CLOCKSOURCE CORE, NTP
7433M: John Stultz <john.stultz@linaro.org>7529M: John Stultz <john.stultz@linaro.org>
7434M: Thomas Gleixner <tglx@linutronix.de>7530M: Thomas Gleixner <tglx@linutronix.de>
7531L: linux-kernel@vger.kernel.org
7435T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core7532T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
7436S: Supported7533S: Supported
7437F: include/linux/clocksource.h7534F: include/linux/clocksource.h
@@ -7457,6 +7554,7 @@ F: drivers/watchdog/sc1200wdt.c · 19 unmodified lines
7457SCHEDULER7554SCHEDULER
7458M: Ingo Molnar <mingo@redhat.com>7555M: Ingo Molnar <mingo@redhat.com>
7459M: Peter Zijlstra <peterz@infradead.org>7556M: Peter Zijlstra <peterz@infradead.org>
7557L: linux-kernel@vger.kernel.org
7460T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched/core7558T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched/core
7461S: Maintained7559S: Maintained
7462F: kernel/sched/7560F: kernel/sched/
@@ -7479,7 +7577,7 @@ S: Maintained · 16 unmodified lines
7479F: drivers/scsi/sr*7577F: drivers/scsi/sr*
7480 7578
7481SCSI RDMA PROTOCOL (SRP) INITIATOR7579SCSI RDMA PROTOCOL (SRP) INITIATOR
7482M: David Dillow <dillowda@ornl.gov>7580M: Bart Van Assche <bvanassche@acm.org>
7483L: linux-rdma@vger.kernel.org7581L: linux-rdma@vger.kernel.org
7484S: Supported7582S: Supported
7485W: http://www.openfabrics.org7583W: http://www.openfabrics.org
@@ -7491,8 +7589,9 @@ F: include/scsi/srp.h · 5 unmodified lines
7491SCSI SG DRIVER7589SCSI SG DRIVER
7492M: Doug Gilbert <dgilbert@interlog.com>7590M: Doug Gilbert <dgilbert@interlog.com>
7493L: linux-scsi@vger.kernel.org7591L: linux-scsi@vger.kernel.org
7494W: http://www.torque.net/sg7592W: http://sg.danny.cz/sg
7495S: Maintained7593S: Maintained
7594F: Documentation/scsi/scsi-generic.txt
7496F: drivers/scsi/sg.c7595F: drivers/scsi/sg.c
7497F: include/scsi/sg.h7596F: include/scsi/sg.h
7498 7597
@@ -7554,7 +7653,7 @@ S: Maintained · 55 unmodified lines
7554F: drivers/mmc/host/sdricoh_cs.c7653F: drivers/mmc/host/sdricoh_cs.c
7555 7654
7556SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER7655SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER
7557M: Chris Ball <cjb@laptop.org>7656M: Chris Ball <chris@printf.net>
7558L: linux-mmc@vger.kernel.org7657L: linux-mmc@vger.kernel.org
7559T: git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git7658T: git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git
7560S: Maintained7659S: Maintained
@@ -7647,7 +7746,7 @@ F: drivers/net/ethernet/emulex/benet/ · 86 unmodified lines
7647 7746
7648SFC NETWORK DRIVER7747SFC NETWORK DRIVER
7649M: Solarflare linux maintainers <linux-net-drivers@solarflare.com>7748M: Solarflare linux maintainers <linux-net-drivers@solarflare.com>
7650M: Ben Hutchings <bhutchings@solarflare.com>7749M: Shradha Shah <sshah@solarflare.com>
7651L: netdev@vger.kernel.org7750L: netdev@vger.kernel.org
7652S: Supported7751S: Supported
7653F: drivers/net/ethernet/sfc/7752F: drivers/net/ethernet/sfc/
@@ -7702,7 +7801,7 @@ L: linux-media@vger.kernel.org · 48 unmodified lines
7702T: git git://linuxtv.org/media_tree.git7801T: git git://linuxtv.org/media_tree.git
7703W: http://linuxtv.org7802W: http://linuxtv.org
7704S: Odd Fixes7803S: Odd Fixes
7705F: drivers/media/radio/si4713-i2c.?7804F: drivers/media/radio/si4713/si4713.?
7706 7805
7707SI4713 FM RADIO TRANSMITTER PLATFORM DRIVER7806SI4713 FM RADIO TRANSMITTER PLATFORM DRIVER
7708M: Eduardo Valentin <edubezval@gmail.com>7807M: Eduardo Valentin <edubezval@gmail.com>
@@ -7710,7 +7809,15 @@ L: linux-media@vger.kernel.org · 1 unmodified line
7710T: git git://linuxtv.org/media_tree.git7809T: git git://linuxtv.org/media_tree.git
7711W: http://linuxtv.org7810W: http://linuxtv.org
7712S: Odd Fixes7811S: Odd Fixes
7713F: drivers/media/radio/radio-si4713.c7812F: drivers/media/radio/si4713/radio-platform-si4713.c
7813
7814SI4713 FM RADIO TRANSMITTER USB DRIVER
7815M: Hans Verkuil <hverkuil@xs4all.nl>
7816L: linux-media@vger.kernel.org
7817T: git git://linuxtv.org/media_tree.git
7818W: http://linuxtv.org
7819S: Maintained
7820F: drivers/media/radio/si4713/radio-usb-si4713.c
7714 7821
7715SIANO DVB DRIVER7822SIANO DVB DRIVER
7716M: Mauro Carvalho Chehab <m.chehab@samsung.com>7823M: Mauro Carvalho Chehab <m.chehab@samsung.com>
@@ -7823,6 +7930,7 @@ F: mm/sl?b.c · 106 unmodified lines
7823SLEEPABLE READ-COPY UPDATE (SRCU)7930SLEEPABLE READ-COPY UPDATE (SRCU)
7824M: Lai Jiangshan <laijs@cn.fujitsu.com>7931M: Lai Jiangshan <laijs@cn.fujitsu.com>
7825M: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>7932M: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
7933L: linux-kernel@vger.kernel.org
7826W: http://www.rdrop.com/users/paulmck/RCU/7934W: http://www.rdrop.com/users/paulmck/RCU/
7827S: Supported7935S: Supported
7828T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git7936T: git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
@@ -7882,7 +7990,7 @@ F: Documentation/hwmon/sch5627 · 53 unmodified lines
7882F: drivers/hwmon/sch5627.c7990F: drivers/hwmon/sch5627.c
7883 7991
7884SMSC47B397 HARDWARE MONITOR DRIVER7992SMSC47B397 HARDWARE MONITOR DRIVER
7885M: Jean Delvare <khali@linux-fr.org>7993M: Jean Delvare <jdelvare@suse.de>
7886L: lm-sensors@lm-sensors.org7994L: lm-sensors@lm-sensors.org
7887S: Maintained7995S: Maintained
7888F: Documentation/hwmon/smsc47b3977996F: Documentation/hwmon/smsc47b397
@@ -8561,6 +8669,14 @@ L: linux-xtensa@linux-xtensa.org · 672 unmodified lines
8561S: Maintained8669S: Maintained
8562F: arch/xtensa/8670F: arch/xtensa/
8563 8671
8672THANKO'S RAREMONO AM/FM/SW RADIO RECEIVER USB DRIVER
8673M: Hans Verkuil <hverkuil@xs4all.nl>
8674L: linux-media@vger.kernel.org
8675T: git git://linuxtv.org/media_tree.git
8676W: http://linuxtv.org
8677S: Maintained
8678F: drivers/media/radio/radio-raremono.c
8679
8564THERMAL8680THERMAL
8565M: Zhang Rui <rui.zhang@intel.com>8681M: Zhang Rui <rui.zhang@intel.com>
8566M: Eduardo Valentin <eduardo.valentin@ti.com>8682M: Eduardo Valentin <eduardo.valentin@ti.com>
@@ -8572,6 +8688,7 @@ S: Supported · 5 unmodified lines
8572F: drivers/thermal/8688F: drivers/thermal/
8573F: include/linux/thermal.h8689F: include/linux/thermal.h
8574F: include/linux/cpu_cooling.h8690F: include/linux/cpu_cooling.h
8691F: Documentation/devicetree/bindings/thermal/
8575 8692
8576THINGM BLINK(1) USB RGB LED DRIVER8693THINGM BLINK(1) USB RGB LED DRIVER
8577M: Vivien Didelot <vivien.didelot@savoirfairelinux.com>8694M: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
@@ -8639,12 +8756,11 @@ S: Maintained · 61 unmodified lines
8639F: sound/soc/codecs/twl4030*8756F: sound/soc/codecs/twl4030*
8640 8757
8641TI WILINK WIRELESS DRIVERS8758TI WILINK WIRELESS DRIVERS
8642M: Luciano Coelho <luca@coelho.fi>
8643L: linux-wireless@vger.kernel.org8759L: linux-wireless@vger.kernel.org
8644W: http://wireless.kernel.org/en/users/Drivers/wl12xx8760W: http://wireless.kernel.org/en/users/Drivers/wl12xx
8645W: http://wireless.kernel.org/en/users/Drivers/wl12518761W: http://wireless.kernel.org/en/users/Drivers/wl1251
8646T: git git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx.git8762T: git git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx.git
8647S: Maintained8763S: Orphan
8648F: drivers/net/wireless/ti/8764F: drivers/net/wireless/ti/
8649F: include/linux/wl12xx.h8765F: include/linux/wl12xx.h
8650 8766
@@ -8713,7 +8829,6 @@ F: include/linux/toshiba.h · 62 unmodified lines
8713F: include/uapi/linux/toshiba.h8829F: include/uapi/linux/toshiba.h
8714 8830
8715TMIO MMC DRIVER8831TMIO MMC DRIVER
8716M: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
8717M: Ian Molton <ian@mnementh.co.uk>8832M: Ian Molton <ian@mnementh.co.uk>
8718L: linux-mmc@vger.kernel.org8833L: linux-mmc@vger.kernel.org
8719S: Maintained8834S: Maintained
@@ -8745,14 +8860,10 @@ S: Odd fixes · 25 unmodified lines
8745F: drivers/media/usb/tm6000/8860F: drivers/media/usb/tm6000/
8746 8861
8747TPM DEVICE DRIVER8862TPM DEVICE DRIVER
8748M: Leonidas Da Silva Barbosa <leosilva@linux.vnet.ibm.com>
8749M: Ashley Lai <ashley@ashleylai.com>
8750M: Peter Huewe <peterhuewe@gmx.de>8863M: Peter Huewe <peterhuewe@gmx.de>
8751M: Rajiv Andrade <mail@srajiv.net>8864M: Ashley Lai <ashley@ashleylai.com>
8752W: http://tpmdd.sourceforge.net
8753M: Marcel Selhorst <tpmdd@selhorst.net>8865M: Marcel Selhorst <tpmdd@selhorst.net>
8754M: Sirrix AG <tpmdd@sirrix.com>8866W: http://tpmdd.sourceforge.net
8755W: http://www.sirrix.com
8756L: tpmdd-devel@lists.sourceforge.net (moderated for non-subscribers)8867L: tpmdd-devel@lists.sourceforge.net (moderated for non-subscribers)
8757S: Maintained8868S: Maintained
8758F: drivers/char/tpm/8869F: drivers/char/tpm/
@@ -8904,7 +9015,7 @@ UNSORTED BLOCK IMAGES (UBI) · 145 unmodified lines
8904M: Artem Bityutskiy <dedekind1@gmail.com>9015M: Artem Bityutskiy <dedekind1@gmail.com>
8905W: http://www.linux-mtd.infradead.org/9016W: http://www.linux-mtd.infradead.org/
8906L: linux-mtd@lists.infradead.org9017L: linux-mtd@lists.infradead.org
8907T: git git://git.infradead.org/ubi-2.6.git9018T: git git://git.infradead.org/ubifs-2.6.git
8908S: Maintained9019S: Maintained
8909F: drivers/mtd/ubi/9020F: drivers/mtd/ubi/
8910F: include/linux/mtd/ubi.h9021F: include/linux/mtd/ubi.h
@@ -9098,8 +9209,7 @@ L: linux-media@vger.kernel.org · 187 unmodified lines
9098T: git git://linuxtv.org/media_tree.git9209T: git git://linuxtv.org/media_tree.git
9099W: http://www.linux-projects.org9210W: http://www.linux-projects.org
9100S: Maintained9211S: Maintained
9101F: Documentation/video4linux/sn9c102.txt9212F: drivers/staging/media/sn9c102/
9102F: drivers/media/usb/sn9c102/
9103 9213
9104USB SUBSYSTEM9214USB SUBSYSTEM
9105M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>9215M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
@@ -9405,7 +9515,7 @@ F: Documentation/hwmon/w83793 · 299 unmodified lines
9405F: drivers/hwmon/w83793.c9515F: drivers/hwmon/w83793.c
9406 9516
9407W83795 HARDWARE MONITORING DRIVER9517W83795 HARDWARE MONITORING DRIVER
9408M: Jean Delvare <khali@linux-fr.org>9518M: Jean Delvare <jdelvare@suse.de>
9409L: lm-sensors@lm-sensors.org9519L: lm-sensors@lm-sensors.org
9410S: Maintained9520S: Maintained
9411F: drivers/hwmon/w83795.c9521F: drivers/hwmon/w83795.c
@@ -9531,6 +9641,7 @@ M: Thomas Gleixner <tglx@linutronix.de> · 119 unmodified lines
9531M: Ingo Molnar <mingo@redhat.com>9641M: Ingo Molnar <mingo@redhat.com>
9532M: "H. Peter Anvin" <hpa@zytor.com>9642M: "H. Peter Anvin" <hpa@zytor.com>
9533M: x86@kernel.org9643M: x86@kernel.org
9644L: linux-kernel@vger.kernel.org
9534T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/core9645T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/core
9535S: Maintained9646S: Maintained
9536F: Documentation/x86/9647F: Documentation/x86/
@@ -9563,6 +9674,7 @@ M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> · 26 unmodified lines
9563M: Boris Ostrovsky <boris.ostrovsky@oracle.com>9674M: Boris Ostrovsky <boris.ostrovsky@oracle.com>
9564M: David Vrabel <david.vrabel@citrix.com>9675M: David Vrabel <david.vrabel@citrix.com>
9565L: xen-devel@lists.xenproject.org (moderated for non-subscribers)9676L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
9677T: git git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git
9566S: Supported9678S: Supported
9567F: arch/x86/xen/9679F: arch/x86/xen/
9568F: drivers/*/xen-*front.c9680F: drivers/*/xen-*front.c
@@ -9683,11 +9795,27 @@ T: Mercurial http://linuxtv.org/hg/v4l-dvb · 114 unmodified lines
9683S: Odd Fixes9795S: Odd Fixes
9684F: drivers/media/pci/zoran/9796F: drivers/media/pci/zoran/
9685 9797
9798ZRAM COMPRESSED RAM BLOCK DEVICE DRVIER
9799M: Minchan Kim <minchan@kernel.org>
9800M: Nitin Gupta <ngupta@vflare.org>
9801L: linux-kernel@vger.kernel.org
9802S: Maintained
9803F: drivers/block/zram/
9804F: Documentation/blockdev/zram.txt
9805
9686ZS DECSTATION Z85C30 SERIAL DRIVER9806ZS DECSTATION Z85C30 SERIAL DRIVER
9687M: "Maciej W. Rozycki" <macro@linux-mips.org>9807M: "Maciej W. Rozycki" <macro@linux-mips.org>
9688S: Maintained9808S: Maintained
9689F: drivers/tty/serial/zs.*9809F: drivers/tty/serial/zs.*
9690 9810
9811ZSMALLOC COMPRESSED SLAB MEMORY ALLOCATOR
9812M: Minchan Kim <minchan@kernel.org>
9813M: Nitin Gupta <ngupta@vflare.org>
9814L: linux-mm@kvack.org
9815S: Maintained
9816F: mm/zsmalloc.c
9817F: include/linux/zsmalloc.h
9818
9691ZSWAP COMPRESSED SWAP CACHING9819ZSWAP COMPRESSED SWAP CACHING
9692M: Seth Jennings <sjenning@linux.vnet.ibm.com>9820M: Seth Jennings <sjenning@linux.vnet.ibm.com>
9693L: linux-mm@kvack.org9821L: linux-mm@kvack.org
Makefile+10−1
@@ -311,9 +311,15 @@ endif · 310 unmodified lines
311# If the user is running make -s (silent mode), suppress echoing of311# If the user is running make -s (silent mode), suppress echoing of
312# commands312# commands
313 313
314ifneq ($(filter 4.%,$(MAKE_VERSION)),) # make-4
315ifneq ($(filter %s ,$(firstword x$(MAKEFLAGS))),)
316 quiet=silent_
317endif
318else # make-3.8x
314ifneq ($(filter s% -s%,$(MAKEFLAGS)),)319ifneq ($(filter s% -s%,$(MAKEFLAGS)),)
315 quiet=silent_320 quiet=silent_
316endif321endif
322endif
317 323
318export quiet Q KBUILD_VERBOSE324export quiet Q KBUILD_VERBOSE
319 325
@@ -633,7 +639,7 @@ endif · 313 unmodified lines
633 639
634ifdef CONFIG_DEBUG_INFO640ifdef CONFIG_DEBUG_INFO
635KBUILD_CFLAGS += -g641KBUILD_CFLAGS += -g
636KBUILD_AFLAGS += -gdwarf-2642KBUILD_AFLAGS += -Wa,--gdwarf-2
637endif643endif
638 644
639ifdef CONFIG_DEBUG_INFO_REDUCED645ifdef CONFIG_DEBUG_INFO_REDUCED
@@ -682,6 +688,9 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=implicit-int) · 42 unmodified lines
682# require functions to have arguments in prototypes, not empty 'int foo()'688# require functions to have arguments in prototypes, not empty 'int foo()'
683KBUILD_CFLAGS += $(call cc-option,-Werror=strict-prototypes)689KBUILD_CFLAGS += $(call cc-option,-Werror=strict-prototypes)
684 690
691# Prohibit date/time macros, which would make the build non-deterministic
692KBUILD_CFLAGS += $(call cc-option,-Werror=date-time)
693
685# use the deterministic mode of AR if available694# use the deterministic mode of AR if available
686KBUILD_ARFLAGS := $(call ar-option,D)695KBUILD_ARFLAGS := $(call ar-option,D)
687 696
arch/alpha/Kconfig+8−4
@@ -2,6 +2,7 @@ config ALPHA · 1 unmodified line
2 bool2 bool
3 default y3 default y
4 select ARCH_MIGHT_HAVE_PC_PARPORT4 select ARCH_MIGHT_HAVE_PC_PARPORT
5 select ARCH_MIGHT_HAVE_PC_SERIO
5 select HAVE_AOUT6 select HAVE_AOUT
6 select HAVE_IDE7 select HAVE_IDE
7 select HAVE_OPROFILE8 select HAVE_OPROFILE
@@ -16,6 +17,7 @@ config ALPHA · 8 unmodified lines
16 select ARCH_WANT_IPC_PARSE_VERSION17 select ARCH_WANT_IPC_PARSE_VERSION
17 select ARCH_HAVE_NMI_SAFE_CMPXCHG18 select ARCH_HAVE_NMI_SAFE_CMPXCHG
18 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE19 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
20 select AUDIT_ARCH
19 select GENERIC_CLOCKEVENTS21 select GENERIC_CLOCKEVENTS
20 select GENERIC_SMP_IDLE_THREAD22 select GENERIC_SMP_IDLE_THREAD
21 select GENERIC_STRNCPY_FROM_USER23 select GENERIC_STRNCPY_FROM_USER
@@ -76,6 +78,8 @@ config GENERIC_ISA_DMA · 54 unmodified lines
76source "init/Kconfig"78source "init/Kconfig"
77source "kernel/Kconfig.freezer"79source "kernel/Kconfig.freezer"
78 80
81config AUDIT_ARCH
82 bool
79 83
80menu "System setup"84menu "System setup"
81 85
@@ -539,13 +543,13 @@ config SMP · 457 unmodified lines
539 depends on ALPHA_SABLE || ALPHA_LYNX || ALPHA_RAWHIDE || ALPHA_DP264 || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_GENERIC || ALPHA_SHARK || ALPHA_MARVEL543 depends on ALPHA_SABLE || ALPHA_LYNX || ALPHA_RAWHIDE || ALPHA_DP264 || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_GENERIC || ALPHA_SHARK || ALPHA_MARVEL
540 ---help---544 ---help---
541 This enables support for systems with more than one CPU. If you have545 This enables support for systems with more than one CPU. If you have
542 a system with only one CPU, like most personal computers, say N. If546 a system with only one CPU, say N. If you have a system with more
543 you have a system with more than one CPU, say Y.547 than one CPU, say Y.
544 548
545 If you say N here, the kernel will run on single and multiprocessor549 If you say N here, the kernel will run on uni- and multiprocessor
546 machines, but will use only one CPU of a multiprocessor machine. If550 machines, but will use only one CPU of a multiprocessor machine. If
547 you say Y here, the kernel will run on many, but not all,551 you say Y here, the kernel will run on many, but not all,
548 singleprocessor machines. On a singleprocessor machine, the kernel552 uniprocessor machines. On a uniprocessor machine, the kernel
549 will run faster if you say N here.553 will run faster if you say N here.
550 554
551 See also the SMP-HOWTO available at555 See also the SMP-HOWTO available at
arch/alpha/include/asm/Kbuild+1−0
@@ -4,3 +4,4 @@ generic-y += clkdev.h · 3 unmodified lines
4generic-y += exec.h4generic-y += exec.h
5generic-y += trace_clock.h5generic-y += trace_clock.h
6generic-y += preempt.h6generic-y += preempt.h
7generic-y += hash.h
arch/alpha/include/asm/ptrace.h+5−0
@@ -19,4 +19,9 @@ · 18 unmodified lines
19 19
20#define force_successful_syscall_return() (current_pt_regs()->r0 = 0)20#define force_successful_syscall_return() (current_pt_regs()->r0 = 0)
21 21
22static inline unsigned long regs_return_value(struct pt_regs *regs)
23{
24 return regs->r0;
25}
26
22#endif27#endif
arch/alpha/include/asm/thread_info.h+2−0
@@ -70,6 +70,7 @@ register struct thread_info *__current_thread_info __asm__("$8"); · 69 unmodified lines
70#define TIF_NOTIFY_RESUME 1 /* callback before returning to user */70#define TIF_NOTIFY_RESUME 1 /* callback before returning to user */
71#define TIF_SIGPENDING 2 /* signal pending */71#define TIF_SIGPENDING 2 /* signal pending */
72#define TIF_NEED_RESCHED 3 /* rescheduling necessary */72#define TIF_NEED_RESCHED 3 /* rescheduling necessary */
73#define TIF_SYSCALL_AUDIT 4 /* syscall audit active */
73#define TIF_DIE_IF_KERNEL 9 /* dik recursion lock */74#define TIF_DIE_IF_KERNEL 9 /* dik recursion lock */
74#define TIF_MEMDIE 13 /* is terminating due to OOM killer */75#define TIF_MEMDIE 13 /* is terminating due to OOM killer */
75 76
@@ -77,6 +78,7 @@ register struct thread_info *__current_thread_info __asm__("$8"); · 1 unmodified line
77#define _TIF_SIGPENDING (1<<TIF_SIGPENDING)78#define _TIF_SIGPENDING (1<<TIF_SIGPENDING)
78#define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED)79#define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED)
79#define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME)80#define _TIF_NOTIFY_RESUME (1<<TIF_NOTIFY_RESUME)
81#define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT)
80 82
81/* Work to do on interrupt/exception return. */83/* Work to do on interrupt/exception return. */
82#define _TIF_WORK_MASK (_TIF_SIGPENDING | _TIF_NEED_RESCHED | \84#define _TIF_WORK_MASK (_TIF_SIGPENDING | _TIF_NEED_RESCHED | \
arch/alpha/include/uapi/asm/socket.h+2−0
@@ -85,4 +85,6 @@ · 84 unmodified lines
85 85
86#define SO_MAX_PACING_RATE 4786#define SO_MAX_PACING_RATE 47
87 87
88#define SO_BPF_EXTENSIONS 48
89
88#endif /* _UAPI_ASM_SOCKET_H */90#endif /* _UAPI_ASM_SOCKET_H */
arch/alpha/kernel/Makefile+1−0
@@ -17,6 +17,7 @@ obj-$(CONFIG_SRM_ENV) += srm_env.o · 16 unmodified lines
17obj-$(CONFIG_MODULES) += module.o17obj-$(CONFIG_MODULES) += module.o
18obj-$(CONFIG_PERF_EVENTS) += perf_event.o18obj-$(CONFIG_PERF_EVENTS) += perf_event.o
19obj-$(CONFIG_RTC_DRV_ALPHA) += rtc.o19obj-$(CONFIG_RTC_DRV_ALPHA) += rtc.o
20obj-$(CONFIG_AUDIT) += audit.o
20 21
21ifdef CONFIG_ALPHA_GENERIC22ifdef CONFIG_ALPHA_GENERIC
22 23
arch/alpha/kernel/audit.c+60−0
@@ -0,0 +1,60 @@
1#include <linux/init.h>
2#include <linux/types.h>
3#include <linux/audit.h>
4#include <asm/unistd.h>
5
6static unsigned dir_class[] = {
7#include <asm-generic/audit_dir_write.h>
8~0U
9};
10
11static unsigned read_class[] = {
12#include <asm-generic/audit_read.h>
13~0U
14};
15
16static unsigned write_class[] = {
17#include <asm-generic/audit_write.h>
18~0U
19};
20
21static unsigned chattr_class[] = {
22#include <asm-generic/audit_change_attr.h>
23~0U
24};
25
26static unsigned signal_class[] = {
27#include <asm-generic/audit_signal.h>
28~0U
29};
30
31int audit_classify_arch(int arch)
32{
33 return 0;
34}
35
36int audit_classify_syscall(int abi, unsigned syscall)
37{
38 switch(syscall) {
39 case __NR_open:
40 return 2;
41 case __NR_openat:
42 return 3;
43 case __NR_execve:
44 return 5;
45 default:
46 return 0;
47 }
48}
49
50static int __init audit_classes_init(void)
51{
52 audit_register_class(AUDIT_CLASS_WRITE, write_class);
53 audit_register_class(AUDIT_CLASS_READ, read_class);
54 audit_register_class(AUDIT_CLASS_DIR_WRITE, dir_class);
55 audit_register_class(AUDIT_CLASS_CHATTR, chattr_class);
56 audit_register_class(AUDIT_CLASS_SIGNAL, signal_class);
57 return 0;
58}
59
60__initcall(audit_classes_init);
arch/alpha/kernel/entry.S+5−1
@@ -465,7 +465,11 @@ entSys: · 464 unmodified lines
465 .cfi_rel_offset $16, SP_OFF+24465 .cfi_rel_offset $16, SP_OFF+24
466 .cfi_rel_offset $17, SP_OFF+32466 .cfi_rel_offset $17, SP_OFF+32
467 .cfi_rel_offset $18, SP_OFF+40467 .cfi_rel_offset $18, SP_OFF+40
468 blbs $3, strace468#ifdef CONFIG_AUDITSYSCALL
469 lda $6, _TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT
470 and $3, $6, $3
471#endif
472 bne $3, strace
469 beq $4, 1f473 beq $4, 1f
470 ldq $27, 0($5)474 ldq $27, 0($5)
4711: jsr $26, ($27), alpha_ni_syscall4751: jsr $26, ($27), alpha_ni_syscall
arch/alpha/kernel/pci-sysfs.c+2−2
@@ -83,7 +83,7 @@ static int pci_mmap_resource(struct kobject *kobj, · 82 unmodified lines
83 if (iomem_is_exclusive(res->start))83 if (iomem_is_exclusive(res->start))
84 return -EINVAL;84 return -EINVAL;
85 85
86 pcibios_resource_to_bus(pdev, &bar, res);86 pcibios_resource_to_bus(pdev->bus, &bar, res);
87 vma->vm_pgoff += bar.start >> (PAGE_SHIFT - (sparse ? 5 : 0));87 vma->vm_pgoff += bar.start >> (PAGE_SHIFT - (sparse ? 5 : 0));
88 mmap_type = res->flags & IORESOURCE_MEM ? pci_mmap_mem : pci_mmap_io;88 mmap_type = res->flags & IORESOURCE_MEM ? pci_mmap_mem : pci_mmap_io;
89 89
@@ -139,7 +139,7 @@ static int sparse_mem_mmap_fits(struct pci_dev *pdev, int num) · 49 unmodified lines
139 long dense_offset;139 long dense_offset;
140 unsigned long sparse_size;140 unsigned long sparse_size;
141 141
142 pcibios_resource_to_bus(pdev, &bar, &pdev->resource[num]);142 pcibios_resource_to_bus(pdev->bus, &bar, &pdev->resource[num]);
143 143
144 /* All core logic chips have 4G sparse address space, except144 /* All core logic chips have 4G sparse address space, except
145 CIA which has 16G (see xxx_SPARSE_MEM and xxx_DENSE_MEM145 CIA which has 16G (see xxx_SPARSE_MEM and xxx_DENSE_MEM
arch/alpha/kernel/pci_iommu.c+1−1
@@ -325,7 +325,7 @@ pci_map_single_1(struct pci_dev *pdev, void *cpu_addr, size_t size, · 324 unmodified lines
325/* Helper for generic DMA-mapping functions. */325/* Helper for generic DMA-mapping functions. */
326static struct pci_dev *alpha_gendev_to_pci(struct device *dev)326static struct pci_dev *alpha_gendev_to_pci(struct device *dev)
327{327{
328 if (dev && dev->bus == &pci_bus_type)328 if (dev && dev_is_pci(dev))
329 return to_pci_dev(dev);329 return to_pci_dev(dev);
330 330
331 /* Assume that non-PCI devices asking for DMA are either ISA or EISA,331 /* Assume that non-PCI devices asking for DMA are either ISA or EISA,
arch/alpha/kernel/ptrace.c+4−0
@@ -14,6 +14,7 @@ · 13 unmodified lines
14#include <linux/security.h>14#include <linux/security.h>
15#include <linux/signal.h>15#include <linux/signal.h>
16#include <linux/tracehook.h>16#include <linux/tracehook.h>
17#include <linux/audit.h>
17 18
18#include <asm/uaccess.h>19#include <asm/uaccess.h>
19#include <asm/pgtable.h>20#include <asm/pgtable.h>
@@ -316,15 +317,18 @@ long arch_ptrace(struct task_struct *child, long request, · 296 unmodified lines
316asmlinkage unsigned long syscall_trace_enter(void)317asmlinkage unsigned long syscall_trace_enter(void)
317{318{
318 unsigned long ret = 0;319 unsigned long ret = 0;
320 struct pt_regs *regs = current_pt_regs();
319 if (test_thread_flag(TIF_SYSCALL_TRACE) &&321 if (test_thread_flag(TIF_SYSCALL_TRACE) &&
320 tracehook_report_syscall_entry(current_pt_regs()))322 tracehook_report_syscall_entry(current_pt_regs()))
321 ret = -1UL;323 ret = -1UL;
324 audit_syscall_entry(AUDIT_ARCH_ALPHA, regs->r0, regs->r16, regs->r17, regs->r18, regs->r19);
322 return ret ?: current_pt_regs()->r0;325 return ret ?: current_pt_regs()->r0;
323}326}
324 327
325asmlinkage void328asmlinkage void
326syscall_trace_leave(void)329syscall_trace_leave(void)
327{330{
331 audit_syscall_exit(current_pt_regs());
328 if (test_thread_flag(TIF_SYSCALL_TRACE))332 if (test_thread_flag(TIF_SYSCALL_TRACE))
329 tracehook_report_syscall_exit(current_pt_regs(), 0);333 tracehook_report_syscall_exit(current_pt_regs(), 0);
330}334}
arch/alpha/lib/csum_partial_copy.c+7−2
@@ -378,6 +378,11 @@ csum_partial_copy_from_user(const void __user *src, void *dst, int len, · 377 unmodified lines
378__wsum378__wsum
379csum_partial_copy_nocheck(const void *src, void *dst, int len, __wsum sum)379csum_partial_copy_nocheck(const void *src, void *dst, int len, __wsum sum)
380{380{
381 return csum_partial_copy_from_user((__force const void __user *)src,381 __wsum checksum;
382 dst, len, sum, NULL);382 mm_segment_t oldfs = get_fs();
383 set_fs(KERNEL_DS);
384 checksum = csum_partial_copy_from_user((__force const void __user *)src,
385 dst, len, sum, NULL);
386 set_fs(oldfs);
387 return checksum;
383}388}
arch/arc/Kconfig+2−13
@@ -128,8 +128,8 @@ config SMP · 127 unmodified lines
128 default n128 default n
129 help129 help
130 This enables support for systems with more than one CPU. If you have130 This enables support for systems with more than one CPU. If you have
131 a system with only one CPU, like most personal computers, say N. If131 a system with only one CPU, say N. If you have a system with more
132 you have a system with more than one CPU, say Y.132 than one CPU, say Y.
133 133
134if SMP134if SMP
135 135
@@ -409,17 +409,6 @@ config ARC_DBG_TLB_MISS_COUNT · 273 unmodified lines
409 Counts number of I and D TLB Misses and exports them via Debugfs409 Counts number of I and D TLB Misses and exports them via Debugfs
410 The counters can be cleared via Debugfs as well410 The counters can be cleared via Debugfs as well
411 411
412config CMDLINE_UBOOT
413 bool "Support U-boot kernel command line passing"
414 default n
415 help
416 If you are using U-boot (www.denx.de) and wish to pass the kernel
417 command line from the U-boot environment to the Linux kernel then
418 switch this option on.
419 ARC U-boot will setup the cmdline in RAM/flash and set r2 to point
420 to it. kernel startup code will append this to DeviceTree
421 /bootargs provided cmdline args.
422
423config ARC_BUILTIN_DTB_NAME412config ARC_BUILTIN_DTB_NAME
424 string "Built in DTB"413 string "Built in DTB"
425 help414 help
arch/arc/include/asm/Kbuild+1−0
@@ -12,6 +12,7 @@ generic-y += fcntl.h · 11 unmodified lines
12generic-y += fb.h12generic-y += fb.h
13generic-y += ftrace.h13generic-y += ftrace.h
14generic-y += hardirq.h14generic-y += hardirq.h
15generic-y += hash.h
15generic-y += hw_irq.h16generic-y += hw_irq.h
16generic-y += ioctl.h17generic-y += ioctl.h
17generic-y += ioctls.h18generic-y += ioctls.h
arch/arc/include/asm/linkage.h+2−0
@@ -11,6 +11,8 @@ · 10 unmodified lines
11 11
12#ifdef __ASSEMBLY__12#ifdef __ASSEMBLY__
13 13
14#define ASM_NL ` /* use '`' to mark new line in macro */
15
14/* Can't use the ENTRY macro in linux/linkage.h16/* Can't use the ENTRY macro in linux/linkage.h
15 * gas considers ';' as comment vs. newline17 * gas considers ';' as comment vs. newline
16 */18 */
arch/arc/include/asm/smp.h+4−4
@@ -46,14 +46,14 @@ extern int smp_ipi_irq_setup(int cpu, int irq); · 45 unmodified lines
46 *46 *
47 * @info: SoC SMP specific info for /proc/cpuinfo etc47 * @info: SoC SMP specific info for /proc/cpuinfo etc
48 * @cpu_kick: For Master to kickstart a cpu (optionally at a PC)48 * @cpu_kick: For Master to kickstart a cpu (optionally at a PC)
49 * @ipi_send: To send IPI to a @cpumask49 * @ipi_send: To send IPI to a @cpu
50 * @ips_clear: To clear IPI received by @cpu at @irq50 * @ips_clear: To clear IPI received at @irq
51 */51 */
52struct plat_smp_ops {52struct plat_smp_ops {
53 const char *info;53 const char *info;
54 void (*cpu_kick)(int cpu, unsigned long pc);54 void (*cpu_kick)(int cpu, unsigned long pc);
55 void (*ipi_send)(void *callmap);55 void (*ipi_send)(int cpu);
56 void (*ipi_clear)(int cpu, int irq);56 void (*ipi_clear)(int irq);
57};57};
58 58
59/* TBD: stop exporting it for direct population by platform */59/* TBD: stop exporting it for direct population by platform */
arch/arc/kernel/head.S+7−19
@@ -49,25 +49,13 @@ stext: · 48 unmodified lines
49 st.ab 0, [r5,4]49 st.ab 0, [r5,4]
50 brlt r5, r6, 1b50 brlt r5, r6, 1b
51 51
52#ifdef CONFIG_CMDLINE_UBOOT52 ; Uboot - kernel ABI
53 ; support for bootloader provided cmdline53 ; r0 = [0] No uboot interaction, [1] cmdline in r2, [2] DTB in r2
54 ; If cmdline passed by u-boot, then54 ; r1 = magic number (board identity, unused as of now
55 ; r0 = 1 (because ATAGS parsing, now retired, used to use 0)55 ; r2 = pointer to uboot provided cmdline or external DTB in mem
56 ; r1 = magic number (board identity)56 ; These are handled later in setup_arch()
57 ; r2 = addr of cmdline string (somewhere in memory/flash)57 st r0, [@uboot_tag]
58 58 st r2, [@uboot_arg]
59 brne r0, 1, .Lother_bootup_chores ; u-boot didn't pass cmdline
60 breq r2, 0, .Lother_bootup_chores ; or cmdline is NULL
61
62 mov r5, @command_line
631:
64 ldb.ab r6, [r2, 1]
65 breq r6, 0, .Lother_bootup_chores
66 b.d 1b
67 stb.ab r6, [r5, 1]
68#endif
69
70.Lother_bootup_chores:
71 59
72 ; Identify if running on ISS vs Silicon60 ; Identify if running on ISS vs Silicon
73 ; IDENTITY Reg [ 3 2 1 0 ]61 ; IDENTITY Reg [ 3 2 1 0 ]
arch/arc/kernel/setup.c+36−12
@@ -29,7 +29,10 @@ · 28 unmodified lines
29 29
30int running_on_hw = 1; /* vs. on ISS */30int running_on_hw = 1; /* vs. on ISS */
31 31
32char __initdata command_line[COMMAND_LINE_SIZE];32/* Part of U-boot ABI: see head.S */
33int __initdata uboot_tag;
34char __initdata *uboot_arg;
35
33const struct machine_desc *machine_desc;36const struct machine_desc *machine_desc;
34 37
35struct task_struct *_current_task[NR_CPUS]; /* For stack switching */38struct task_struct *_current_task[NR_CPUS]; /* For stack switching */
@@ -311,19 +314,40 @@ void setup_processor(void) · 275 unmodified lines
311 arc_chk_fpu();314 arc_chk_fpu();
312}315}
313 316
317static inline int is_kernel(unsigned long addr)
318{
319 if (addr >= (unsigned long)_stext && addr <= (unsigned long)_end)
320 return 1;
321 return 0;
322}
323
314void __init setup_arch(char **cmdline_p)324void __init setup_arch(char **cmdline_p)
315{325{
316 /* This also populates @boot_command_line from /bootargs */326 /* make sure that uboot passed pointer to cmdline/dtb is valid */
317 machine_desc = setup_machine_fdt(__dtb_start);327 if (uboot_tag && is_kernel((unsigned long)uboot_arg))
318 if (!machine_desc)328 panic("Invalid uboot arg\n");
319 panic("Embedded DT invalid\n");329
320 330 /* See if u-boot passed an external Device Tree blob */
321 /* Append any u-boot provided cmdline */331 machine_desc = setup_machine_fdt(uboot_arg); /* uboot_tag == 2 */
322#ifdef CONFIG_CMDLINE_UBOOT332 if (!machine_desc) {
323 /* Add a whitespace seperator between the 2 cmdlines */333 /* No, so try the embedded one */
324 strlcat(boot_command_line, " ", COMMAND_LINE_SIZE);334 machine_desc = setup_machine_fdt(__dtb_start);
325 strlcat(boot_command_line, command_line, COMMAND_LINE_SIZE);335 if (!machine_desc)
326#endif336 panic("Embedded DT invalid\n");
337
338 /*
339 * If we are here, it is established that @uboot_arg didn't
340 * point to DT blob. Instead if u-boot says it is cmdline,
341 * Appent to embedded DT cmdline.
342 * setup_machine_fdt() would have populated @boot_command_line
343 */
344 if (uboot_tag == 1) {
345 /* Ensure a whitespace between the 2 cmdlines */
346 strlcat(boot_command_line, " ", COMMAND_LINE_SIZE);
347 strlcat(boot_command_line, uboot_arg,
348 COMMAND_LINE_SIZE);
349 }
350 }
327 351
328 /* Save unparsed command line copy for /proc/cmdline */352 /* Save unparsed command line copy for /proc/cmdline */
329 *cmdline_p = boot_command_line;353 *cmdline_p = boot_command_line;
arch/arc/kernel/smp.c+70−54
@@ -197,51 +197,65 @@ int __init setup_profiling_timer(unsigned int multiplier) · 196 unmodified lines
197/* Inter Processor Interrupt Handling */197/* Inter Processor Interrupt Handling */
198/*****************************************************************************/198/*****************************************************************************/
199 199
200/*
201 * structures for inter-processor calls
202 * A Collection of single bit ipi messages
203 *
204 */
205
206/*
207 * TODO_rajesh investigate tlb message types.
208 * IPI Timer not needed because each ARC has an individual Interrupting Timer
209 */
210enum ipi_msg_type {200enum ipi_msg_type {
211 IPI_NOP = 0,201 IPI_EMPTY = 0,
212 IPI_RESCHEDULE = 1,202 IPI_RESCHEDULE = 1,
213 IPI_CALL_FUNC,203 IPI_CALL_FUNC,
214 IPI_CPU_STOP204 IPI_CPU_STOP,
215};205};
216 206
217struct ipi_data {207/*
218 unsigned long bits;208 * In arches with IRQ for each msg type (above), receiver can use IRQ-id to
219};209 * figure out what msg was sent. For those which don't (ARC has dedicated IPI
210 * IRQ), the msg-type needs to be conveyed via per-cpu data
211 */
220 212
221static DEFINE_PER_CPU(struct ipi_data, ipi_data);213static DEFINE_PER_CPU(unsigned long, ipi_data);
222 214
223static void ipi_send_msg(const struct cpumask *callmap, enum ipi_msg_type msg)215static void ipi_send_msg_one(int cpu, enum ipi_msg_type msg)
224{216{
217 unsigned long __percpu *ipi_data_ptr = per_cpu_ptr(&ipi_data, cpu);
218 unsigned long old, new;
225 unsigned long flags;219 unsigned long flags;
226 unsigned int cpu;220
221 pr_debug("%d Sending msg [%d] to %d\n", smp_processor_id(), msg, cpu);
227 222
228 local_irq_save(flags);223 local_irq_save(flags);
229 224
230 for_each_cpu(cpu, callmap) {225 /*
231 struct ipi_data *ipi = &per_cpu(ipi_data, cpu);226 * Atomically write new msg bit (in case others are writing too),
232 set_bit(msg, &ipi->bits);227 * and read back old value
233 }228 */
229 do {
230 new = old = *ipi_data_ptr;
231 new |= 1U << msg;
232 } while (cmpxchg(ipi_data_ptr, old, new) != old);
234 233
235 /* Call the platform specific cross-CPU call function */234 /*
236 if (plat_smp_ops.ipi_send)235 * Call the platform specific IPI kick function, but avoid if possible:
237 plat_smp_ops.ipi_send((void *)callmap);236 * Only do so if there's no pending msg from other concurrent sender(s).
237 * Otherwise, recevier will see this msg as well when it takes the
238 * IPI corresponding to that msg. This is true, even if it is already in
239 * IPI handler, because !@old means it has not yet dequeued the msg(s)
240 * so @new msg can be a free-loader
241 */
242 if (plat_smp_ops.ipi_send && !old)
243 plat_smp_ops.ipi_send(cpu);
238 244
239 local_irq_restore(flags);245 local_irq_restore(flags);
240}246}
241 247
248static void ipi_send_msg(const struct cpumask *callmap, enum ipi_msg_type msg)
249{
250 unsigned int cpu;
251
252 for_each_cpu(cpu, callmap)
253 ipi_send_msg_one(cpu, msg);
254}
255
242void smp_send_reschedule(int cpu)256void smp_send_reschedule(int cpu)
243{257{
244 ipi_send_msg(cpumask_of(cpu), IPI_RESCHEDULE);258 ipi_send_msg_one(cpu, IPI_RESCHEDULE);
245}259}
246 260
247void smp_send_stop(void)261void smp_send_stop(void)
@@ -254,7 +268,7 @@ void smp_send_stop(void) · 6 unmodified lines
254 268
255void arch_send_call_function_single_ipi(int cpu)269void arch_send_call_function_single_ipi(int cpu)
256{270{
257 ipi_send_msg(cpumask_of(cpu), IPI_CALL_FUNC);271 ipi_send_msg_one(cpu, IPI_CALL_FUNC);
258}272}
259 273
260void arch_send_call_function_ipi_mask(const struct cpumask *mask)274void arch_send_call_function_ipi_mask(const struct cpumask *mask)
@@ -265,33 +279,29 @@ void arch_send_call_function_ipi_mask(const struct cpumask *mask) · 4 unmodified lines
265/*279/*
266 * ipi_cpu_stop - handle IPI from smp_send_stop()280 * ipi_cpu_stop - handle IPI from smp_send_stop()
267 */281 */
268static void ipi_cpu_stop(unsigned int cpu)282static void ipi_cpu_stop(void)
269{283{
270 machine_halt();284 machine_halt();
271}285}
272 286
273static inline void __do_IPI(unsigned long *ops, struct ipi_data *ipi, int cpu)287static inline void __do_IPI(unsigned long msg)
274{288{
275 unsigned long msg = 0;289 switch (msg) {
290 case IPI_RESCHEDULE:
291 scheduler_ipi();
292 break;
276 293
277 do {294 case IPI_CALL_FUNC:
278 msg = find_next_bit(ops, BITS_PER_LONG, msg+1);295 generic_smp_call_function_interrupt();
296 break;
279 297
280 switch (msg) {298 case IPI_CPU_STOP:
281 case IPI_RESCHEDULE:299 ipi_cpu_stop();
282 scheduler_ipi();300 break;
283 break;
284
285 case IPI_CALL_FUNC:
286 generic_smp_call_function_interrupt();
287 break;
288
289 case IPI_CPU_STOP:
290 ipi_cpu_stop(cpu);
291 break;
292 }
293 } while (msg < BITS_PER_LONG);
294 301
302 default:
303 pr_warn("IPI with unexpected msg %ld\n", msg);
304 }
295}305}
296 306
297/*307/*
@@ -300,19 +310,25 @@ static inline void __do_IPI(unsigned long *ops, struct ipi_data *ipi, int cpu) · 2 unmodified lines
300 */310 */
301irqreturn_t do_IPI(int irq, void *dev_id)311irqreturn_t do_IPI(int irq, void *dev_id)
302{312{
303 int cpu = smp_processor_id();313 unsigned long pending;
304 struct ipi_data *ipi = &per_cpu(ipi_data, cpu);314
305 unsigned long ops;315 pr_debug("IPI [%ld] received on cpu %d\n",
316 *this_cpu_ptr(&ipi_data), smp_processor_id());
306 317
307 if (plat_smp_ops.ipi_clear)318 if (plat_smp_ops.ipi_clear)
308 plat_smp_ops.ipi_clear(cpu, irq);319 plat_smp_ops.ipi_clear(irq);
309 320
310 /*321 /*
311 * XXX: is this loop really needed322 * "dequeue" the msg corresponding to this IPI (and possibly other
312 * And do we need to move ipi_clean inside323 * piggybacked msg from elided IPIs: see ipi_send_msg_one() above)
313 */324 */
314 while ((ops = xchg(&ipi->bits, 0)) != 0)325 pending = xchg(this_cpu_ptr(&ipi_data), 0);
315 __do_IPI(&ops, ipi, cpu);326
327 do {
328 unsigned long msg = __ffs(pending);
329 __do_IPI(msg);
330 pending &= ~(1U << msg);
331 } while (pending);
316 332
317 return IRQ_HANDLED;333 return IRQ_HANDLED;
318}334}
arch/arc/plat-arcfpga/smp.c+4−8
@@ -88,18 +88,14 @@ void iss_model_init_smp(unsigned int cpu) · 87 unmodified lines
88 smp_ipi_irq_setup(cpu, IDU_INTERRUPT_0 + cpu);88 smp_ipi_irq_setup(cpu, IDU_INTERRUPT_0 + cpu);
89}89}
90 90
91static void iss_model_ipi_send(void *arg)91static void iss_model_ipi_send(int cpu)
92{92{
93 struct cpumask *callmap = arg;93 idu_irq_assert(cpu);
94 unsigned int cpu;
95
96 for_each_cpu(cpu, callmap)
97 idu_irq_assert(cpu);
98}94}
99 95
100static void iss_model_ipi_clear(int cpu, int irq)96static void iss_model_ipi_clear(int irq)
101{97{
102 idu_irq_clear(IDU_INTERRUPT_0 + cpu);98 idu_irq_clear(IDU_INTERRUPT_0 + smp_processor_id());
103}99}
104 100
105void iss_model_init_early_smp(void)101void iss_model_init_early_smp(void)
arch/arm/Kconfig+59−27
@@ -6,12 +6,13 @@ config ARM · 5 unmodified lines
6 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST6 select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
7 select ARCH_HAVE_CUSTOM_GPIO_H7 select ARCH_HAVE_CUSTOM_GPIO_H
8 select ARCH_MIGHT_HAVE_PC_PARPORT8 select ARCH_MIGHT_HAVE_PC_PARPORT
9 select ARCH_USE_BUILTIN_BSWAP
9 select ARCH_USE_CMPXCHG_LOCKREF10 select ARCH_USE_CMPXCHG_LOCKREF
10 select ARCH_WANT_IPC_PARSE_VERSION11 select ARCH_WANT_IPC_PARSE_VERSION
11 select BUILDTIME_EXTABLE_SORT if MMU12 select BUILDTIME_EXTABLE_SORT if MMU
12 select CLONE_BACKWARDS13 select CLONE_BACKWARDS
13 select CPU_PM if (SUSPEND || CPU_IDLE)14 select CPU_PM if (SUSPEND || CPU_IDLE)
14 select DCACHE_WORD_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && !CPU_BIG_ENDIAN && MMU15 select DCACHE_WORD_ACCESS if HAVE_EFFICIENT_UNALIGNED_ACCESS
15 select GENERIC_ATOMIC64 if (CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI)16 select GENERIC_ATOMIC64 if (CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI)
16 select GENERIC_CLOCKEVENTS_BROADCAST if SMP17 select GENERIC_CLOCKEVENTS_BROADCAST if SMP
17 select GENERIC_IDLE_POLL_SETUP18 select GENERIC_IDLE_POLL_SETUP
@@ -36,6 +37,7 @@ config ARM · 18 unmodified lines
36 select HAVE_DMA_ATTRS37 select HAVE_DMA_ATTRS
37 select HAVE_DMA_CONTIGUOUS if MMU38 select HAVE_DMA_CONTIGUOUS if MMU
38 select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL)39 select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL)
40 select HAVE_EFFICIENT_UNALIGNED_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && MMU
39 select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)41 select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)
40 select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL)42 select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL)
41 select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)43 select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
@@ -63,6 +65,7 @@ config ARM · 21 unmodified lines
63 select IRQ_FORCED_THREADING65 select IRQ_FORCED_THREADING
64 select KTIME_SCALAR66 select KTIME_SCALAR
65 select MODULES_USE_ELF_REL67 select MODULES_USE_ELF_REL
68 select NO_BOOTMEM
66 select OLD_SIGACTION69 select OLD_SIGACTION
67 select OLD_SIGSUSPEND370 select OLD_SIGSUSPEND3
68 select PERF_USE_VMALLOC71 select PERF_USE_VMALLOC
@@ -314,6 +317,8 @@ config ARCH_INTEGRATOR · 245 unmodified lines
314 bool "ARM Ltd. Integrator family"317 bool "ARM Ltd. Integrator family"
315 select ARCH_HAS_CPUFREQ318 select ARCH_HAS_CPUFREQ
316 select ARM_AMBA319 select ARM_AMBA
320 select ARM_PATCH_PHYS_VIRT
321 select AUTO_ZRELADDR
317 select COMMON_CLK322 select COMMON_CLK
318 select COMMON_CLK_VERSATILE323 select COMMON_CLK_VERSATILE
319 select GENERIC_CLOCKEVENTS324 select GENERIC_CLOCKEVENTS
@@ -411,6 +416,26 @@ config ARCH_EBSA110 · 91 unmodified lines
411 Ethernet interface, two PCMCIA sockets, two serial ports and a416 Ethernet interface, two PCMCIA sockets, two serial ports and a
412 parallel port.417 parallel port.
413 418
419config ARCH_EFM32
420 bool "Energy Micro efm32"
421 depends on !MMU
422 select ARCH_REQUIRE_GPIOLIB
423 select ARM_NVIC
424 # CLKSRC_MMIO is wrong here, but needed until a proper fix is merged,
425 # i.e. CLKSRC_EFM32 selecting CLKSRC_MMIO
426 select CLKSRC_MMIO
427 select CLKSRC_OF
428 select COMMON_CLK
429 select CPU_V7M
430 select GENERIC_CLOCKEVENTS
431 select NO_DMA
432 select NO_IOPORT
433 select SPARSE_IRQ
434 select USE_OF
435 help
436 Support for Energy Micro's (now Silicon Labs) efm32 Giant Gecko
437 processors.
438
414config ARCH_EP93XX439config ARCH_EP93XX
415 bool "EP93xx-based"440 bool "EP93xx-based"
416 select ARCH_HAS_HOLES_MEMORYMODEL441 select ARCH_HAS_HOLES_MEMORYMODEL
@@ -632,10 +657,10 @@ config ARCH_PXA · 215 unmodified lines
632 help657 help
633 Support for Intel/Marvell's PXA2xx/PXA3xx processor line.658 Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
634 659
635config ARCH_MSM660config ARCH_MSM_NODT
636 bool "Qualcomm MSM"661 bool "Qualcomm MSM"
662 select ARCH_MSM
637 select ARCH_REQUIRE_GPIOLIB663 select ARCH_REQUIRE_GPIOLIB
638 select CLKSRC_OF if OF
639 select COMMON_CLK664 select COMMON_CLK
640 select GENERIC_CLOCKEVENTS665 select GENERIC_CLOCKEVENTS
641 help666 help
@@ -645,8 +670,9 @@ config ARCH_MSM · 3 unmodified lines
645 stack and controls some vital subsystems670 stack and controls some vital subsystems
646 (clock and power control, etc).671 (clock and power control, etc).
647 672
648config ARCH_SHMOBILE673config ARCH_SHMOBILE_LEGACY
649 bool "Renesas SH-Mobile / R-Mobile"674 bool "Renesas ARM SoCs (non-multiplatform)"
675 select ARCH_SHMOBILE
650 select ARM_PATCH_PHYS_VIRT676 select ARM_PATCH_PHYS_VIRT
651 select CLKDEV_LOOKUP677 select CLKDEV_LOOKUP
652 select GENERIC_CLOCKEVENTS678 select GENERIC_CLOCKEVENTS
@@ -661,7 +687,9 @@ config ARCH_SHMOBILE · 8 unmodified lines
661 select PM_GENERIC_DOMAINS if PM687 select PM_GENERIC_DOMAINS if PM
662 select SPARSE_IRQ688 select SPARSE_IRQ
663 help689 help
664 Support for Renesas's SH-Mobile and R-Mobile ARM platforms.690 Support for Renesas ARM SoC platforms using a non-multiplatform
691 kernel. This includes the SH-Mobile, R-Mobile, EMMA-Mobile, R-Car
692 and RZ families.
665 693
666config ARCH_RPC694config ARCH_RPC
667 bool "RiscPC"695 bool "RiscPC"
@@ -711,7 +739,6 @@ config ARCH_S3C24XX · 43 unmodified lines
711 select HAVE_S3C2410_WATCHDOG if WATCHDOG739 select HAVE_S3C2410_WATCHDOG if WATCHDOG
712 select HAVE_S3C_RTC if RTC_CLASS740 select HAVE_S3C_RTC if RTC_CLASS
713 select MULTI_IRQ_HANDLER741 select MULTI_IRQ_HANDLER
714 select NEED_MACH_GPIO_H
715 select NEED_MACH_IO_H742 select NEED_MACH_IO_H
716 select SAMSUNG_ATAGS743 select SAMSUNG_ATAGS
717 help744 help
@@ -724,24 +751,23 @@ config ARCH_S3C64XX · 6 unmodified lines
724 bool "Samsung S3C64XX"751 bool "Samsung S3C64XX"
725 select ARCH_HAS_CPUFREQ752 select ARCH_HAS_CPUFREQ
726 select ARCH_REQUIRE_GPIOLIB753 select ARCH_REQUIRE_GPIOLIB
754 select ARM_AMBA
727 select ARM_VIC755 select ARM_VIC
728 select CLKDEV_LOOKUP756 select CLKDEV_LOOKUP
729 select CLKSRC_SAMSUNG_PWM757 select CLKSRC_SAMSUNG_PWM
730 select COMMON_CLK758 select COMMON_CLK
731 select CPU_V6759 select CPU_V6K
732 select GENERIC_CLOCKEVENTS760 select GENERIC_CLOCKEVENTS
733 select GPIO_SAMSUNG761 select GPIO_SAMSUNG
734 select HAVE_S3C2410_I2C if I2C762 select HAVE_S3C2410_I2C if I2C
735 select HAVE_S3C2410_WATCHDOG if WATCHDOG763 select HAVE_S3C2410_WATCHDOG if WATCHDOG
736 select HAVE_TCM764 select HAVE_TCM
737 select NEED_MACH_GPIO_H
738 select NO_IOPORT765 select NO_IOPORT
739 select PLAT_SAMSUNG766 select PLAT_SAMSUNG
740 select PM_GENERIC_DOMAINS767 select PM_GENERIC_DOMAINS
741 select S3C_DEV_NAND768 select S3C_DEV_NAND
742 select S3C_GPIO_TRACK769 select S3C_GPIO_TRACK
743 select SAMSUNG_ATAGS770 select SAMSUNG_ATAGS
744 select SAMSUNG_GPIOLIB_4BIT
745 select SAMSUNG_WAKEMASK771 select SAMSUNG_WAKEMASK
746 select SAMSUNG_WDT_RESET772 select SAMSUNG_WDT_RESET
747 select USB_ARCH_HAS_OHCI773 select USB_ARCH_HAS_OHCI
@@ -912,6 +938,8 @@ source "arch/arm/mach-bcm/Kconfig" · 164 unmodified lines
912 938
913source "arch/arm/mach-bcm2835/Kconfig"939source "arch/arm/mach-bcm2835/Kconfig"
914 940
941source "arch/arm/mach-berlin/Kconfig"
942
915source "arch/arm/mach-clps711x/Kconfig"943source "arch/arm/mach-clps711x/Kconfig"
916 944
917source "arch/arm/mach-cns3xxx/Kconfig"945source "arch/arm/mach-cns3xxx/Kconfig"
@@ -928,6 +956,8 @@ source "arch/arm/mach-gemini/Kconfig" · 10 unmodified lines
928 956
929source "arch/arm/mach-highbank/Kconfig"957source "arch/arm/mach-highbank/Kconfig"
930 958
959source "arch/arm/mach-hisi/Kconfig"
960
931source "arch/arm/mach-integrator/Kconfig"961source "arch/arm/mach-integrator/Kconfig"
932 962
933source "arch/arm/mach-iop32x/Kconfig"963source "arch/arm/mach-iop32x/Kconfig"
@@ -946,6 +976,8 @@ source "arch/arm/mach-ks8695/Kconfig" · 12 unmodified lines
946 976
947source "arch/arm/mach-msm/Kconfig"977source "arch/arm/mach-msm/Kconfig"
948 978
979source "arch/arm/mach-moxart/Kconfig"
980
949source "arch/arm/mach-mv78xx0/Kconfig"981source "arch/arm/mach-mv78xx0/Kconfig"
950 982
951source "arch/arm/mach-imx/Kconfig"983source "arch/arm/mach-imx/Kconfig"
@@ -1054,6 +1086,8 @@ config ARM_TIMER_SP804 · 102 unmodified lines
1054 select CLKSRC_MMIO1086 select CLKSRC_MMIO
1055 select CLKSRC_OF if OF1087 select CLKSRC_OF if OF
1056 1088
1089source "arch/arm/firmware/Kconfig"
1090
1057source arch/arm/mm/Kconfig1091source arch/arm/mm/Kconfig
1058 1092
1059config ARM_NR_BANKS1093config ARM_NR_BANKS
@@ -1436,14 +1470,14 @@ config SMP · 376 unmodified lines
1436 depends on MMU || ARM_MPU1470 depends on MMU || ARM_MPU
1437 help1471 help
1438 This enables support for systems with more than one CPU. If you have1472 This enables support for systems with more than one CPU. If you have
1439 a system with only one CPU, like most personal computers, say N. If1473 a system with only one CPU, say N. If you have a system with more
1440 you have a system with more than one CPU, say Y.1474 than one CPU, say Y.
1441 1475
1442 If you say N here, the kernel will run on single and multiprocessor1476 If you say N here, the kernel will run on uni- and multiprocessor
1443 machines, but will use only one CPU of a multiprocessor machine. If1477 machines, but will use only one CPU of a multiprocessor machine. If
1444 you say Y here, the kernel will run on many, but not all, single1478 you say Y here, the kernel will run on many, but not all,
1445 processor machines. On a single processor machine, the kernel will1479 uniprocessor machines. On a uniprocessor machine, the kernel
1446 run faster if you say N here.1480 will run faster if you say N here.
1447 1481
1448 See also <file:Documentation/x86/i386/IO-APIC.txt>,1482 See also <file:Documentation/x86/i386/IO-APIC.txt>,
1449 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at1483 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
@@ -1594,7 +1628,7 @@ config ARM_PSCI · 144 unmodified lines
1594config ARCH_NR_GPIO1628config ARCH_NR_GPIO
1595 int1629 int
1596 default 1024 if ARCH_SHMOBILE || ARCH_TEGRA1630 default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
1597 default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || SOC_DRA7XX1631 default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX
1598 default 392 if ARCH_U85001632 default 392 if ARCH_U8500
1599 default 352 if ARCH_VT85001633 default 352 if ARCH_VT8500
1600 default 288 if ARCH_SUNXI1634 default 288 if ARCH_SUNXI
@@ -1612,7 +1646,7 @@ config HZ_FIXED · 11 unmodified lines
1612 default 200 if ARCH_EBSA110 || ARCH_S3C24XX || ARCH_S5P64X0 || \1646 default 200 if ARCH_EBSA110 || ARCH_S3C24XX || ARCH_S5P64X0 || \
1613 ARCH_S5PV210 || ARCH_EXYNOS41647 ARCH_S5PV210 || ARCH_EXYNOS4
1614 default AT91_TIMER_HZ if ARCH_AT911648 default AT91_TIMER_HZ if ARCH_AT91
1615 default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE1649 default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE_LEGACY
1616 default 01650 default 0
1617 1651
1618choice1652choice
@@ -1652,9 +1686,6 @@ config HZ · 33 unmodified lines
1652config SCHED_HRTICK1686config SCHED_HRTICK
1653 def_bool HIGH_RES_TIMERS1687 def_bool HIGH_RES_TIMERS
1654 1688
1655config SCHED_HRTICK
1656 def_bool HIGH_RES_TIMERS
1657
1658config THUMB2_KERNEL1689config THUMB2_KERNEL
1659 bool "Compile the kernel in Thumb-2 mode" if !CPU_THUMBONLY1690 bool "Compile the kernel in Thumb-2 mode" if !CPU_THUMBONLY
1660 depends on (CPU_V7 || CPU_V7M) && !CPU_V6 && !CPU_V6K1691 depends on (CPU_V7 || CPU_V7M) && !CPU_V6 && !CPU_V6K
@@ -1797,10 +1828,10 @@ config ARCH_WANT_GENERAL_HUGETLB · 136 unmodified lines
1797source "mm/Kconfig"1828source "mm/Kconfig"
1798 1829
1799config FORCE_MAX_ZONEORDER1830config FORCE_MAX_ZONEORDER
1800 int "Maximum zone order" if ARCH_SHMOBILE1831 int "Maximum zone order" if ARCH_SHMOBILE_LEGACY
1801 range 11 64 if ARCH_SHMOBILE1832 range 11 64 if ARCH_SHMOBILE_LEGACY
1802 default "12" if SOC_AM33XX1833 default "12" if SOC_AM33XX
1803 default "9" if SA11111834 default "9" if SA1111 || ARCH_EFM32
1804 default "11"1835 default "11"
1805 help1836 help
1806 The kernel memory allocator divides physically contiguous memory1837 The kernel memory allocator divides physically contiguous memory
@@ -1874,6 +1905,7 @@ config XEN · 67 unmodified lines
1874 depends on !GENERIC_ATOMIC641905 depends on !GENERIC_ATOMIC64
1875 select ARM_PSCI1906 select ARM_PSCI
1876 select SWIOTLB_XEN1907 select SWIOTLB_XEN
1908 select ARCH_DMA_ADDR_T_64BIT
1877 help1909 help
1878 Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.1910 Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
1879 1911
@@ -1935,6 +1967,7 @@ config ZBOOT_ROM_BSS · 55 unmodified lines
1935config ZBOOT_ROM1967config ZBOOT_ROM
1936 bool "Compressed boot loader in ROM/flash"1968 bool "Compressed boot loader in ROM/flash"
1937 depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS1969 depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
1970 depends on !ARM_APPENDED_DTB && !XIP_KERNEL && !AUTO_ZRELADDR
1938 help1971 help
1939 Say Y here if you intend to execute your compressed kernel image1972 Say Y here if you intend to execute your compressed kernel image
1940 (zImage) directly from ROM or flash. If unsure, say N.1973 (zImage) directly from ROM or flash. If unsure, say N.
@@ -1970,7 +2003,7 @@ endchoice · 29 unmodified lines
1970 2003
1971config ARM_APPENDED_DTB2004config ARM_APPENDED_DTB
1972 bool "Use appended device tree blob to zImage (EXPERIMENTAL)"2005 bool "Use appended device tree blob to zImage (EXPERIMENTAL)"
1973 depends on OF && !ZBOOT_ROM2006 depends on OF
1974 help2007 help
1975 With this option, the boot code will look for a device tree binary2008 With this option, the boot code will look for a device tree binary
1976 (DTB) appended to zImage2009 (DTB) appended to zImage
@@ -2058,7 +2091,7 @@ endchoice · 81 unmodified lines
2058 2091
2059config XIP_KERNEL2092config XIP_KERNEL
2060 bool "Kernel Execute-In-Place from ROM"2093 bool "Kernel Execute-In-Place from ROM"
2061 depends on !ZBOOT_ROM && !ARM_LPAE && !ARCH_MULTIPLATFORM2094 depends on !ARM_LPAE && !ARCH_MULTIPLATFORM
2062 help2095 help
2063 Execute-In-Place allows the kernel to run from non-volatile storage2096 Execute-In-Place allows the kernel to run from non-volatile storage
2064 directly addressable by the CPU, such as NOR flash. This saves RAM2097 directly addressable by the CPU, such as NOR flash. This saves RAM
@@ -2121,7 +2154,6 @@ config CRASH_DUMP · 56 unmodified lines
2121 2154
2122config AUTO_ZRELADDR2155config AUTO_ZRELADDR
2123 bool "Auto calculation of the decompressed kernel image address"2156 bool "Auto calculation of the decompressed kernel image address"
2124 depends on !ZBOOT_ROM
2125 help2157 help
2126 ZRELADDR is the physical address where the decompressed kernel2158 ZRELADDR is the physical address where the decompressed kernel
2127 image will be placed. If AUTO_ZRELADDR is selected, the address2159 image will be placed. If AUTO_ZRELADDR is selected, the address
arch/arm/Kconfig.debug+57−1
@@ -2,6 +2,18 @@ menu "Kernel hacking" · 1 unmodified line
2 2
3source "lib/Kconfig.debug"3source "lib/Kconfig.debug"
4 4
5config ARM_PTDUMP
6 bool "Export kernel pagetable layout to userspace via debugfs"
7 depends on DEBUG_KERNEL
8 select DEBUG_FS
9 ---help---
10 Say Y here if you want to show the kernel pagetable layout in a
11 debugfs file. This information is only useful for kernel developers
12 who are working in architecture specific areas of the kernel.
13 It is probably not a good idea to enable this feature in a production
14 kernel.
15 If in doubt, say "N"
16
5config STRICT_DEVMEM17config STRICT_DEVMEM
6 bool "Filter access to /dev/mem"18 bool "Filter access to /dev/mem"
7 depends on MMU19 depends on MMU
@@ -94,6 +106,25 @@ choice · 86 unmodified lines
94 depends on ARCH_BCM2835106 depends on ARCH_BCM2835
95 select DEBUG_UART_PL01X107 select DEBUG_UART_PL01X
96 108
109 config DEBUG_BCM_KONA_UART
110 bool "Kernel low-level debugging messages via BCM KONA UART"
111 depends on ARCH_BCM
112 select DEBUG_UART_8250
113 help
114 Say Y here if you want kernel low-level debugging support
115 on Broadcom SoC platforms.
116 This low level debug works for Broadcom
117 mobile SoCs in the Kona family of chips (e.g. bcm28155,
118 bcm11351, etc...)
119
120 config DEBUG_BERLIN_UART
121 bool "Marvell Berlin SoC Debug UART"
122 depends on ARCH_BERLIN
123 select DEBUG_UART_8250
124 help
125 Say Y here if you want kernel low-level debugging support
126 on Marvell Berlin SoC based platforms.
127
97 config DEBUG_CLPS711X_UART1128 config DEBUG_CLPS711X_UART1
98 bool "Kernel low-level debugging messages via UART1"129 bool "Kernel low-level debugging messages via UART1"
99 depends on ARCH_CLPS711X130 depends on ARCH_CLPS711X
@@ -255,6 +286,13 @@ choice · 155 unmodified lines
255 Say Y here if you want kernel low-level debugging support286 Say Y here if you want kernel low-level debugging support
256 on i.MX35.287 on i.MX35.
257 288
289 config DEBUG_IMX50_UART
290 bool "i.MX50 Debug UART"
291 depends on SOC_IMX50
292 help
293 Say Y here if you want kernel low-level debugging support
294 on i.MX50.
295
258 config DEBUG_IMX51_UART296 config DEBUG_IMX51_UART
259 bool "i.MX51 Debug UART"297 bool "i.MX51 Debug UART"
260 depends on SOC_IMX51298 depends on SOC_IMX51
@@ -897,6 +935,7 @@ config DEBUG_IMX_UART_PORT · 636 unmodified lines
897 DEBUG_IMX21_IMX27_UART || \935 DEBUG_IMX21_IMX27_UART || \
898 DEBUG_IMX31_UART || \936 DEBUG_IMX31_UART || \
899 DEBUG_IMX35_UART || \937 DEBUG_IMX35_UART || \
938 DEBUG_IMX50_UART || \
900 DEBUG_IMX51_UART || \939 DEBUG_IMX51_UART || \
901 DEBUG_IMX53_UART || \940 DEBUG_IMX53_UART || \
902 DEBUG_IMX6Q_UART || \941 DEBUG_IMX6Q_UART || \
@@ -931,6 +970,7 @@ config DEBUG_LL_INCLUDE · 28 unmodified lines
931 DEBUG_IMX21_IMX27_UART || \970 DEBUG_IMX21_IMX27_UART || \
932 DEBUG_IMX31_UART || \971 DEBUG_IMX31_UART || \
933 DEBUG_IMX35_UART || \972 DEBUG_IMX35_UART || \
973 DEBUG_IMX50_UART || \
934 DEBUG_IMX51_UART || \974 DEBUG_IMX51_UART || \
935 DEBUG_IMX53_UART ||\975 DEBUG_IMX53_UART ||\
936 DEBUG_IMX6Q_UART || \976 DEBUG_IMX6Q_UART || \
@@ -988,6 +1028,7 @@ config DEBUG_UART_PHYS · 51 unmodified lines
988 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART21028 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
989 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART31029 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
990 default 0x20201000 if DEBUG_BCM28351030 default 0x20201000 if DEBUG_BCM2835
1031 default 0x3e000000 if DEBUG_BCM_KONA_UART
991 default 0x4000e400 if DEBUG_LL_UART_EFM321032 default 0x4000e400 if DEBUG_LL_UART_EFM32
992 default 0x40090000 if ARCH_LPC32XX1033 default 0x40090000 if ARCH_LPC32XX
993 default 0x40100000 if DEBUG_PXA_UART11034 default 0x40100000 if DEBUG_PXA_UART1
@@ -1011,6 +1052,7 @@ config DEBUG_UART_PHYS · 17 unmodified lines
1011 default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE1052 default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
1012 default 0xf1012000 if ARCH_DOVE || ARCH_KIRKWOOD || ARCH_MV78XX0 || \1053 default 0xf1012000 if ARCH_DOVE || ARCH_KIRKWOOD || ARCH_MV78XX0 || \
1013 ARCH_ORION5X1054 ARCH_ORION5X
1055 default 0xf7fc9000 if DEBUG_BERLIN_UART
1014 default 0xf8b00000 if DEBUG_HI3716_UART1056 default 0xf8b00000 if DEBUG_HI3716_UART
1015 default 0xfcb00000 if DEBUG_HI3620_UART1057 default 0xfcb00000 if DEBUG_HI3620_UART
1016 default 0xfe800000 if ARCH_IOP32X1058 default 0xfe800000 if ARCH_IOP32X
@@ -1036,6 +1078,7 @@ config DEBUG_UART_VIRT · 19 unmodified lines
1036 default 0xf2100000 if DEBUG_PXA_UART11078 default 0xf2100000 if DEBUG_PXA_UART1
1037 default 0xf4090000 if ARCH_LPC32XX1079 default 0xf4090000 if ARCH_LPC32XX
1038 default 0xf4200000 if ARCH_GEMINI1080 default 0xf4200000 if ARCH_GEMINI
1081 default 0xf7fc9000 if DEBUG_BERLIN_UART
1039 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA91082 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1040 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS11083 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1041 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT1084 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
@@ -1049,6 +1092,7 @@ config DEBUG_UART_VIRT · 7 unmodified lines
1049 default 0xfe018000 if DEBUG_MMP_UART31092 default 0xfe018000 if DEBUG_MMP_UART3
1050 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART1093 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1051 default 0xfe230000 if DEBUG_PICOXCELL_UART1094 default 0xfe230000 if DEBUG_PICOXCELL_UART
1095 default 0xfe300000 if DEBUG_BCM_KONA_UART
1052 default 0xfe800000 if ARCH_IOP32X1096 default 0xfe800000 if ARCH_IOP32X
1053 default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HI3716_UART1097 default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HI3716_UART
1054 default 0xfeb24000 if DEBUG_RK3X_UART01098 default 0xfeb24000 if DEBUG_RK3X_UART0
@@ -1091,7 +1135,8 @@ config DEBUG_UART_8250_WORD · 36 unmodified lines
1091 default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \1135 default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
1092 ARCH_KEYSTONE || \1136 ARCH_KEYSTONE || \
1093 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \1137 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1094 DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_DAVINCI_TNETV107X_UART11138 DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_DAVINCI_TNETV107X_UART1 || \
1139 DEBUG_BCM_KONA_UART
1095 1140
1096config DEBUG_UART_8250_FLOW_CONTROL1141config DEBUG_UART_8250_FLOW_CONTROL
1097 bool "Enable flow control for 8250 UART"1142 bool "Enable flow control for 8250 UART"
@@ -1150,4 +1195,15 @@ config PID_IN_CONTEXTIDR · 52 unmodified lines
1150 additional instructions during context switch. Say Y here only if you1195 additional instructions during context switch. Say Y here only if you
1151 are planning to use hardware trace tools with this kernel.1196 are planning to use hardware trace tools with this kernel.
1152 1197
1198config DEBUG_SET_MODULE_RONX
1199 bool "Set loadable kernel module data as NX and text as RO"
1200 depends on MODULES
1201 ---help---
1202 This option helps catch unintended modifications to loadable
1203 kernel module's text and read-only data. It also prevents execution
1204 of module data. Such protection may interfere with run-time code
1205 patching and dynamic kernel tracing - and they might also protect
1206 against certain classes of kernel exploits.
1207 If in doubt, say "N".
1208
1153endmenu1209endmenu
arch/arm/Makefile+6−2
@@ -96,7 +96,7 @@ tune-$(CONFIG_CPU_V6K) =$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm) · 95 unmodified lines
96tune-y := $(tune-y)96tune-y := $(tune-y)
97 97
98ifeq ($(CONFIG_AEABI),y)98ifeq ($(CONFIG_AEABI),y)
99CFLAGS_ABI :=-mabi=aapcs-linux -mno-thumb-interwork99CFLAGS_ABI :=-mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp
100else100else
101CFLAGS_ABI :=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) $(call cc-option,-mno-thumb-interwork,)101CFLAGS_ABI :=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) $(call cc-option,-mno-thumb-interwork,)
102endif102endif
@@ -144,15 +144,18 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000 · 41 unmodified lines
144machine-$(CONFIG_ARCH_AT91) += at91144machine-$(CONFIG_ARCH_AT91) += at91
145machine-$(CONFIG_ARCH_BCM) += bcm145machine-$(CONFIG_ARCH_BCM) += bcm
146machine-$(CONFIG_ARCH_BCM2835) += bcm2835146machine-$(CONFIG_ARCH_BCM2835) += bcm2835
147machine-$(CONFIG_ARCH_BERLIN) += berlin
147machine-$(CONFIG_ARCH_CLPS711X) += clps711x148machine-$(CONFIG_ARCH_CLPS711X) += clps711x
148machine-$(CONFIG_ARCH_CNS3XXX) += cns3xxx149machine-$(CONFIG_ARCH_CNS3XXX) += cns3xxx
149machine-$(CONFIG_ARCH_DAVINCI) += davinci150machine-$(CONFIG_ARCH_DAVINCI) += davinci
150machine-$(CONFIG_ARCH_DOVE) += dove151machine-$(CONFIG_ARCH_DOVE) += dove
151machine-$(CONFIG_ARCH_EBSA110) += ebsa110152machine-$(CONFIG_ARCH_EBSA110) += ebsa110
153machine-$(CONFIG_ARCH_EFM32) += efm32
152machine-$(CONFIG_ARCH_EP93XX) += ep93xx154machine-$(CONFIG_ARCH_EP93XX) += ep93xx
153machine-$(CONFIG_ARCH_EXYNOS) += exynos155machine-$(CONFIG_ARCH_EXYNOS) += exynos
154machine-$(CONFIG_ARCH_GEMINI) += gemini156machine-$(CONFIG_ARCH_GEMINI) += gemini
155machine-$(CONFIG_ARCH_HIGHBANK) += highbank157machine-$(CONFIG_ARCH_HIGHBANK) += highbank
158machine-$(CONFIG_ARCH_HI3xxx) += hisi
156machine-$(CONFIG_ARCH_INTEGRATOR) += integrator159machine-$(CONFIG_ARCH_INTEGRATOR) += integrator
157machine-$(CONFIG_ARCH_IOP13XX) += iop13xx160machine-$(CONFIG_ARCH_IOP13XX) += iop13xx
158machine-$(CONFIG_ARCH_IOP32X) += iop32x161machine-$(CONFIG_ARCH_IOP32X) += iop32x
@@ -163,6 +166,7 @@ machine-$(CONFIG_ARCH_KIRKWOOD) += kirkwood · 4 unmodified lines
163machine-$(CONFIG_ARCH_KS8695) += ks8695166machine-$(CONFIG_ARCH_KS8695) += ks8695
164machine-$(CONFIG_ARCH_LPC32XX) += lpc32xx167machine-$(CONFIG_ARCH_LPC32XX) += lpc32xx
165machine-$(CONFIG_ARCH_MMP) += mmp168machine-$(CONFIG_ARCH_MMP) += mmp
169machine-$(CONFIG_ARCH_MOXART) += moxart
166machine-$(CONFIG_ARCH_MSM) += msm170machine-$(CONFIG_ARCH_MSM) += msm
167machine-$(CONFIG_ARCH_MV78XX0) += mv78xx0171machine-$(CONFIG_ARCH_MV78XX0) += mv78xx0
168machine-$(CONFIG_ARCH_MVEBU) += mvebu172machine-$(CONFIG_ARCH_MVEBU) += mvebu
@@ -186,7 +190,6 @@ machine-$(CONFIG_ARCH_S5PC100) += s5pc100 · 17 unmodified lines
186machine-$(CONFIG_ARCH_S5PV210) += s5pv210190machine-$(CONFIG_ARCH_S5PV210) += s5pv210
187machine-$(CONFIG_ARCH_SA1100) += sa1100191machine-$(CONFIG_ARCH_SA1100) += sa1100
188machine-$(CONFIG_ARCH_SHMOBILE) += shmobile192machine-$(CONFIG_ARCH_SHMOBILE) += shmobile
189machine-$(CONFIG_ARCH_SHMOBILE_MULTI) += shmobile
190machine-$(CONFIG_ARCH_SIRF) += prima2193machine-$(CONFIG_ARCH_SIRF) += prima2
191machine-$(CONFIG_ARCH_SOCFPGA) += socfpga194machine-$(CONFIG_ARCH_SOCFPGA) += socfpga
192machine-$(CONFIG_ARCH_STI) += sti195machine-$(CONFIG_ARCH_STI) += sti
@@ -264,6 +267,7 @@ core-$(CONFIG_KVM_ARM_HOST) += arch/arm/kvm/ · 71 unmodified lines
264core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/267core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
265core-y += arch/arm/net/268core-y += arch/arm/net/
266core-y += arch/arm/crypto/269core-y += arch/arm/crypto/
270core-y += arch/arm/firmware/
267core-y += $(machdirs) $(platdirs)271core-y += $(machdirs) $(platdirs)
268 272
269drivers-$(CONFIG_OPROFILE) += arch/arm/oprofile/273drivers-$(CONFIG_OPROFILE) += arch/arm/oprofile/
arch/arm/boot/compressed/Makefile+12−5
@@ -64,7 +64,7 @@ else · 63 unmodified lines
64endif64endif
65endif65endif
66 66
67ifeq ($(CONFIG_ARCH_SHMOBILE),y)67ifeq ($(CONFIG_ARCH_SHMOBILE_LEGACY),y)
68OBJS += head-shmobile.o68OBJS += head-shmobile.o
69endif69endif
70 70
@@ -108,12 +108,12 @@ endif · 37 unmodified lines
108 108
109targets := vmlinux vmlinux.lds \109targets := vmlinux vmlinux.lds \
110 piggy.$(suffix_y) piggy.$(suffix_y).o \110 piggy.$(suffix_y) piggy.$(suffix_y).o \
111 lib1funcs.o lib1funcs.S ashldi3.o ashldi3.S \111 lib1funcs.o lib1funcs.S ashldi3.o ashldi3.S bswapsdi2.o \
112 font.o font.c head.o misc.o $(OBJS)112 bswapsdi2.S font.o font.c head.o misc.o $(OBJS)
113 113
114# Make sure files are removed during clean114# Make sure files are removed during clean
115extra-y += piggy.gzip piggy.lzo piggy.lzma piggy.xzkern piggy.lz4 \115extra-y += piggy.gzip piggy.lzo piggy.lzma piggy.xzkern piggy.lz4 \
116 lib1funcs.S ashldi3.S $(libfdt) $(libfdt_hdrs) \116 lib1funcs.S ashldi3.S bswapsdi2.S $(libfdt) $(libfdt_hdrs) \
117 hyp-stub.S117 hyp-stub.S
118 118
119ifeq ($(CONFIG_FUNCTION_TRACER),y)119ifeq ($(CONFIG_FUNCTION_TRACER),y)
@@ -156,6 +156,12 @@ ashldi3 = $(obj)/ashldi3.o · 36 unmodified lines
156$(obj)/ashldi3.S: $(srctree)/arch/$(SRCARCH)/lib/ashldi3.S156$(obj)/ashldi3.S: $(srctree)/arch/$(SRCARCH)/lib/ashldi3.S
157 $(call cmd,shipped)157 $(call cmd,shipped)
158 158
159# For __bswapsi2, __bswapdi2
160bswapsdi2 = $(obj)/bswapsdi2.o
161
162$(obj)/bswapsdi2.S: $(srctree)/arch/$(SRCARCH)/lib/bswapsdi2.S
163 $(call cmd,shipped)
164
159# We need to prevent any GOTOFF relocs being used with references165# We need to prevent any GOTOFF relocs being used with references
160# to symbols in the .bss section since we cannot relocate them166# to symbols in the .bss section since we cannot relocate them
161# independently from the rest at run time. This can be achieved by167# independently from the rest at run time. This can be achieved by
@@ -177,7 +183,8 @@ if [ $(words $(ZRELADDR)) -gt 1 -a "$(CONFIG_AUTO_ZRELADDR)" = "" ]; then \ · 15 unmodified lines
177fi183fi
178 184
179$(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/$(HEAD) $(obj)/piggy.$(suffix_y).o \185$(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/$(HEAD) $(obj)/piggy.$(suffix_y).o \
180 $(addprefix $(obj)/, $(OBJS)) $(lib1funcs) $(ashldi3) FORCE186 $(addprefix $(obj)/, $(OBJS)) $(lib1funcs) $(ashldi3) \
187 $(bswapsdi2) FORCE
181 @$(check_for_multiple_zreladdr)188 @$(check_for_multiple_zreladdr)
182 $(call if_changed,ld)189 $(call if_changed,ld)
183 @$(check_for_bad_syms)190 @$(check_for_bad_syms)
arch/arm/boot/dts/Makefile+34−4
@@ -6,6 +6,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb · 5 unmodified lines
6dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb6dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb
7# sam92607# sam9260
8dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb8dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb
9dtb-$(CONFIG_ARCH_AT91) += at91-qil_a9260.dtb
9dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb10dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb
10dtb-$(CONFIG_ARCH_AT91) += ethernut5.dtb11dtb-$(CONFIG_ARCH_AT91) += ethernut5.dtb
11dtb-$(CONFIG_ARCH_AT91) += evk-pro3.dtb12dtb-$(CONFIG_ARCH_AT91) += evk-pro3.dtb
@@ -30,6 +31,7 @@ dtb-$(CONFIG_ARCH_AT91) += pm9g45.dtb · 18 unmodified lines
30dtb-$(CONFIG_ARCH_AT91) += at91sam9n12ek.dtb31dtb-$(CONFIG_ARCH_AT91) += at91sam9n12ek.dtb
31# sam9x532# sam9x5
32dtb-$(CONFIG_ARCH_AT91) += at91-ariag25.dtb33dtb-$(CONFIG_ARCH_AT91) += at91-ariag25.dtb
34dtb-$(CONFIG_ARCH_AT91) += at91-cosino_mega2560.dtb
33dtb-$(CONFIG_ARCH_AT91) += at91sam9g15ek.dtb35dtb-$(CONFIG_ARCH_AT91) += at91sam9g15ek.dtb
34dtb-$(CONFIG_ARCH_AT91) += at91sam9g25ek.dtb36dtb-$(CONFIG_ARCH_AT91) += at91sam9g25ek.dtb
35dtb-$(CONFIG_ARCH_AT91) += at91sam9g35ek.dtb37dtb-$(CONFIG_ARCH_AT91) += at91sam9g35ek.dtb
@@ -40,11 +42,16 @@ dtb-$(CONFIG_ARCH_AT91) += sama5d31ek.dtb · 4 unmodified lines
40dtb-$(CONFIG_ARCH_AT91) += sama5d33ek.dtb42dtb-$(CONFIG_ARCH_AT91) += sama5d33ek.dtb
41dtb-$(CONFIG_ARCH_AT91) += sama5d34ek.dtb43dtb-$(CONFIG_ARCH_AT91) += sama5d34ek.dtb
42dtb-$(CONFIG_ARCH_AT91) += sama5d35ek.dtb44dtb-$(CONFIG_ARCH_AT91) += sama5d35ek.dtb
45dtb-$(CONFIG_ARCH_AT91) += sama5d36ek.dtb
46
43dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb47dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
44dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb48dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
45dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm11351-brt.dtb \49dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm11351-brt.dtb \
46 bcm28155-ap.dtb50 bcm28155-ap.dtb
47dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb51dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
52dtb-$(CONFIG_ARCH_BERLIN) += \
53 berlin2-sony-nsz-gs7.dtb \
54 berlin2cd-google-chromecast.dtb
48dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \55dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
49 da850-evm.dtb56 da850-evm.dtb
50dtb-$(CONFIG_ARCH_DOVE) += dove-cm-a510.dtb \57dtb-$(CONFIG_ARCH_DOVE) += dove-cm-a510.dtb \
@@ -52,6 +59,7 @@ dtb-$(CONFIG_ARCH_DOVE) += dove-cm-a510.dtb \ · 1 unmodified line
52 dove-d2plug.dtb \59 dove-d2plug.dtb \
53 dove-d3plug.dtb \60 dove-d3plug.dtb \
54 dove-dove-db.dtb61 dove-dove-db.dtb
62dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
55dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \63dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
56 exynos4210-smdkv310.dtb \64 exynos4210-smdkv310.dtb \
57 exynos4210-trats.dtb \65 exynos4210-trats.dtb \
@@ -59,13 +67,16 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ · 1 unmodified line
59 exynos4412-odroidx.dtb \67 exynos4412-odroidx.dtb \
60 exynos4412-origen.dtb \68 exynos4412-origen.dtb \
61 exynos4412-smdk4412.dtb \69 exynos4412-smdk4412.dtb \
70 exynos4412-tiny4412.dtb \
62 exynos4412-trats2.dtb \71 exynos4412-trats2.dtb \
63 exynos5250-arndale.dtb \72 exynos5250-arndale.dtb \
64 exynos5250-smdk5250.dtb \73 exynos5250-smdk5250.dtb \
65 exynos5250-snow.dtb \74 exynos5250-snow.dtb \
75 exynos5420-arndale-octa.dtb \
66 exynos5420-smdk5420.dtb \76 exynos5420-smdk5420.dtb \
67 exynos5440-sd5v1.dtb \77 exynos5440-sd5v1.dtb \
68 exynos5440-ssdk5440.dtb78 exynos5440-ssdk5440.dtb
79dtb-$(CONFIG_ARCH_HI3xxx) += hi3620-hi4511.dtb
69dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb \80dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb \
70 ecx-2000.dtb81 ecx-2000.dtb
71dtb-$(CONFIG_ARCH_INTEGRATOR) += integratorap.dtb \82dtb-$(CONFIG_ARCH_INTEGRATOR) += integratorap.dtb \
@@ -85,11 +96,13 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-cloudbox.dtb \ · 13 unmodified lines
85 kirkwood-iomega_ix2_200.dtb \96 kirkwood-iomega_ix2_200.dtb \
86 kirkwood-is2.dtb \97 kirkwood-is2.dtb \
87 kirkwood-km_kirkwood.dtb \98 kirkwood-km_kirkwood.dtb \
99 kirkwood-laplug.dtb \
88 kirkwood-lschlv2.dtb \100 kirkwood-lschlv2.dtb \
89 kirkwood-lsxhl.dtb \101 kirkwood-lsxhl.dtb \
90 kirkwood-mplcec4.dtb \102 kirkwood-mplcec4.dtb \
91 kirkwood-mv88f6281gtw-ge.dtb \103 kirkwood-mv88f6281gtw-ge.dtb \
92 kirkwood-netgear_readynas_duo_v2.dtb \104 kirkwood-netgear_readynas_duo_v2.dtb \
105 kirkwood-netgear_readynas_nv+_v2.dtb \
93 kirkwood-ns2.dtb \106 kirkwood-ns2.dtb \
94 kirkwood-ns2lite.dtb \107 kirkwood-ns2lite.dtb \
95 kirkwood-ns2max.dtb \108 kirkwood-ns2max.dtb \
@@ -104,8 +117,10 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-cloudbox.dtb \ · 8 unmodified lines
104 kirkwood-ts219-6281.dtb \117 kirkwood-ts219-6281.dtb \
105 kirkwood-ts219-6282.dtb118 kirkwood-ts219-6282.dtb
106dtb-$(CONFIG_ARCH_MARCO) += marco-evb.dtb119dtb-$(CONFIG_ARCH_MARCO) += marco-evb.dtb
120dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb
107dtb-$(CONFIG_ARCH_MSM) += qcom-msm8660-surf.dtb \121dtb-$(CONFIG_ARCH_MSM) += qcom-msm8660-surf.dtb \
108 qcom-msm8960-cdp.dtb122 qcom-msm8960-cdp.dtb \
123 qcom-apq8074-dragonboard.dtb
109dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \124dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
110 armada-370-mirabox.dtb \125 armada-370-mirabox.dtb \
111 armada-370-netgear-rn102.dtb \126 armada-370-netgear-rn102.dtb \
@@ -114,6 +129,7 @@ dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \ · 2 unmodified lines
114 armada-xp-axpwifiap.dtb \129 armada-xp-axpwifiap.dtb \
115 armada-xp-db.dtb \130 armada-xp-db.dtb \
116 armada-xp-gp.dtb \131 armada-xp-gp.dtb \
132 armada-xp-netgear-rn2120.dtb \
117 armada-xp-matrix.dtb \133 armada-xp-matrix.dtb \
118 armada-xp-openblocks-ax3-4.dtb134 armada-xp-openblocks-ax3-4.dtb
119dtb-$(CONFIG_ARCH_MXC) += \135dtb-$(CONFIG_ARCH_MXC) += \
@@ -136,10 +152,13 @@ dtb-$(CONFIG_ARCH_MXC) += \ · 16 unmodified lines
136 imx53-mba53.dtb \152 imx53-mba53.dtb \
137 imx53-qsb.dtb \153 imx53-qsb.dtb \
138 imx53-smd.dtb \154 imx53-smd.dtb \
155 imx6dl-cubox-i.dtb \
156 imx6dl-hummingboard.dtb \
139 imx6dl-sabreauto.dtb \157 imx6dl-sabreauto.dtb \
140 imx6dl-sabresd.dtb \158 imx6dl-sabresd.dtb \
141 imx6dl-wandboard.dtb \159 imx6dl-wandboard.dtb \
142 imx6q-arm2.dtb \160 imx6q-arm2.dtb \
161 imx6q-cubox-i.dtb \
143 imx6q-phytec-pbab01.dtb \162 imx6q-phytec-pbab01.dtb \
144 imx6q-sabreauto.dtb \163 imx6q-sabreauto.dtb \
145 imx6q-sabrelite.dtb \164 imx6q-sabrelite.dtb \
@@ -173,12 +192,19 @@ dtb-$(CONFIG_ARCH_NSPIRE) += nspire-cx.dtb \ · 27 unmodified lines
173 nspire-tp.dtb \192 nspire-tp.dtb \
174 nspire-clp.dtb193 nspire-clp.dtb
175dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \194dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \
195 omap2430-sdp.dtb \
196 omap2420-n800.dtb \
197 omap2420-n810.dtb \
198 omap2420-n810-wimax.dtb \
176 omap3430-sdp.dtb \199 omap3430-sdp.dtb \
177 omap3-beagle.dtb \200 omap3-beagle.dtb \
201 omap3-cm-t3730.dtb \
202 omap3-sbc-t3730.dtb \
178 omap3-devkit8000.dtb \203 omap3-devkit8000.dtb \
179 omap3-beagle-xm.dtb \204 omap3-beagle-xm.dtb \
180 omap3-evm.dtb \205 omap3-evm.dtb \
181 omap3-evm-37xx.dtb \206 omap3-evm-37xx.dtb \
207 omap3-ldp.dtb \
182 omap3-n900.dtb \208 omap3-n900.dtb \
183 omap3-n9.dtb \209 omap3-n9.dtb \
184 omap3-n950.dtb \210 omap3-n950.dtb \
@@ -216,8 +242,9 @@ dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \ · 31 unmodified lines
216dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb242dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb
217dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb \243dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb \
218 s3c6410-smdk6410.dtb244 s3c6410-smdk6410.dtb
219dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \245dtb-$(CONFIG_ARCH_SHMOBILE_LEGACY) += emev2-kzm9d.dtb \
220 r7s72100-genmai.dtb \246 r7s72100-genmai.dtb \
247 r7s72100-genmai-reference.dtb \
221 r8a7740-armadillo800eva.dtb \248 r8a7740-armadillo800eva.dtb \
222 r8a7778-bockw.dtb \249 r8a7778-bockw.dtb \
223 r8a7778-bockw-reference.dtb \250 r8a7778-bockw-reference.dtb \
@@ -226,13 +253,15 @@ dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \ · 2 unmodified lines
226 r8a7779-marzen-reference.dtb \253 r8a7779-marzen-reference.dtb \
227 r8a7791-koelsch.dtb \254 r8a7791-koelsch.dtb \
228 r8a7790-lager.dtb \255 r8a7790-lager.dtb \
229 r8a7790-lager-reference.dtb \
230 sh73a0-kzm9g.dtb \256 sh73a0-kzm9g.dtb \
231 sh73a0-kzm9g-reference.dtb \257 sh73a0-kzm9g-reference.dtb \
232 r8a73a4-ape6evm.dtb \258 r8a73a4-ape6evm.dtb \
233 r8a73a4-ape6evm-reference.dtb \259 r8a73a4-ape6evm-reference.dtb \
234 sh7372-mackerel.dtb260 sh7372-mackerel.dtb
235dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += emev2-kzm9d.dtb261dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += emev2-kzm9d.dtb \
262 r7s72100-genmai-reference.dtb \
263 r8a7791-koelsch.dtb \
264 r8a7790-lager.dtb
236dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_arria5_socdk.dtb \265dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_arria5_socdk.dtb \
237 socfpga_cyclone5_socdk.dtb \266 socfpga_cyclone5_socdk.dtb \
238 socfpga_cyclone5_sockit.dtb \267 socfpga_cyclone5_sockit.dtb \
@@ -255,6 +284,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += \ · 16 unmodified lines
255 sun4i-a10-hackberry.dtb \284 sun4i-a10-hackberry.dtb \
256 sun5i-a10s-olinuxino-micro.dtb \285 sun5i-a10s-olinuxino-micro.dtb \
257 sun5i-a13-olinuxino.dtb \286 sun5i-a13-olinuxino.dtb \
287 sun5i-a13-olinuxino-micro.dtb \
258 sun6i-a31-colombus.dtb \288 sun6i-a31-colombus.dtb \
259 sun7i-a20-cubieboard2.dtb \289 sun7i-a20-cubieboard2.dtb \
260 sun7i-a20-cubietruck.dtb \290 sun7i-a20-cubietruck.dtb \
arch/arm/boot/dts/am33xx-clocks.dtsi+664−0
@@ -0,0 +1,664 @@
1/*
2 * Device Tree Source for AM33xx clock data
3 *
4 * Copyright (C) 2013 Texas Instruments, Inc.
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&scrm_clocks {
11 sys_clkin_ck: sys_clkin_ck {
12 #clock-cells = <0>;
13 compatible = "ti,mux-clock";
14 clocks = <&virt_19200000_ck>, <&virt_24000000_ck>, <&virt_25000000_ck>, <&virt_26000000_ck>;
15 ti,bit-shift = <22>;
16 reg = <0x0040>;
17 };
18
19 adc_tsc_fck: adc_tsc_fck {
20 #clock-cells = <0>;
21 compatible = "fixed-factor-clock";
22 clocks = <&sys_clkin_ck>;
23 clock-mult = <1>;
24 clock-div = <1>;
25 };
26
27 dcan0_fck: dcan0_fck {
28 #clock-cells = <0>;
29 compatible = "fixed-factor-clock";
30 clocks = <&sys_clkin_ck>;
31 clock-mult = <1>;
32 clock-div = <1>;
33 };
34
35 dcan1_fck: dcan1_fck {
36 #clock-cells = <0>;
37 compatible = "fixed-factor-clock";
38 clocks = <&sys_clkin_ck>;
39 clock-mult = <1>;
40 clock-div = <1>;
41 };
42
43 mcasp0_fck: mcasp0_fck {
44 #clock-cells = <0>;
45 compatible = "fixed-factor-clock";
46 clocks = <&sys_clkin_ck>;
47 clock-mult = <1>;
48 clock-div = <1>;
49 };
50
51 mcasp1_fck: mcasp1_fck {
52 #clock-cells = <0>;
53 compatible = "fixed-factor-clock";
54 clocks = <&sys_clkin_ck>;
55 clock-mult = <1>;
56 clock-div = <1>;
57 };
58
59 smartreflex0_fck: smartreflex0_fck {
60 #clock-cells = <0>;
61 compatible = "fixed-factor-clock";
62 clocks = <&sys_clkin_ck>;
63 clock-mult = <1>;
64 clock-div = <1>;
65 };
66
67 smartreflex1_fck: smartreflex1_fck {
68 #clock-cells = <0>;
69 compatible = "fixed-factor-clock";
70 clocks = <&sys_clkin_ck>;
71 clock-mult = <1>;
72 clock-div = <1>;
73 };
74
75 sha0_fck: sha0_fck {
76 #clock-cells = <0>;
77 compatible = "fixed-factor-clock";
78 clocks = <&sys_clkin_ck>;
79 clock-mult = <1>;
80 clock-div = <1>;
81 };
82
83 aes0_fck: aes0_fck {
84 #clock-cells = <0>;
85 compatible = "fixed-factor-clock";
86 clocks = <&sys_clkin_ck>;
87 clock-mult = <1>;
88 clock-div = <1>;
89 };
90
91 rng_fck: rng_fck {
92 #clock-cells = <0>;
93 compatible = "fixed-factor-clock";
94 clocks = <&sys_clkin_ck>;
95 clock-mult = <1>;
96 clock-div = <1>;
97 };
98
99 ehrpwm0_gate_tbclk: ehrpwm0_gate_tbclk {
100 #clock-cells = <0>;
101 compatible = "ti,composite-no-wait-gate-clock";
102 clocks = <&dpll_per_m2_ck>;
103 ti,bit-shift = <0>;
104 reg = <0x0664>;
105 };
106
107 ehrpwm0_tbclk: ehrpwm0_tbclk {
108 #clock-cells = <0>;
109 compatible = "ti,composite-clock";
110 clocks = <&ehrpwm0_gate_tbclk>;
111 };
112
113 ehrpwm1_gate_tbclk: ehrpwm1_gate_tbclk {
114 #clock-cells = <0>;
115 compatible = "ti,composite-no-wait-gate-clock";
116 clocks = <&dpll_per_m2_ck>;
117 ti,bit-shift = <1>;
118 reg = <0x0664>;
119 };
120
121 ehrpwm1_tbclk: ehrpwm1_tbclk {
122 #clock-cells = <0>;
123 compatible = "ti,composite-clock";
124 clocks = <&ehrpwm1_gate_tbclk>;
125 };
126
127 ehrpwm2_gate_tbclk: ehrpwm2_gate_tbclk {
128 #clock-cells = <0>;
129 compatible = "ti,composite-no-wait-gate-clock";
130 clocks = <&dpll_per_m2_ck>;
131 ti,bit-shift = <2>;
132 reg = <0x0664>;
133 };
134
135 ehrpwm2_tbclk: ehrpwm2_tbclk {
136 #clock-cells = <0>;
137 compatible = "ti,composite-clock";
138 clocks = <&ehrpwm2_gate_tbclk>;
139 };
140};
141&prcm_clocks {
142 clk_32768_ck: clk_32768_ck {
143 #clock-cells = <0>;
144 compatible = "fixed-clock";
145 clock-frequency = <32768>;
146 };
147
148 clk_rc32k_ck: clk_rc32k_ck {
149 #clock-cells = <0>;
150 compatible = "fixed-clock";
151 clock-frequency = <32000>;
152 };
153
154 virt_19200000_ck: virt_19200000_ck {
155 #clock-cells = <0>;
156 compatible = "fixed-clock";
157 clock-frequency = <19200000>;
158 };
159
160 virt_24000000_ck: virt_24000000_ck {
161 #clock-cells = <0>;
162 compatible = "fixed-clock";
163 clock-frequency = <24000000>;
164 };
165
166 virt_25000000_ck: virt_25000000_ck {
167 #clock-cells = <0>;
168 compatible = "fixed-clock";
169 clock-frequency = <25000000>;
170 };
171
172 virt_26000000_ck: virt_26000000_ck {
173 #clock-cells = <0>;
174 compatible = "fixed-clock";
175 clock-frequency = <26000000>;
176 };
177
178 tclkin_ck: tclkin_ck {
179 #clock-cells = <0>;
180 compatible = "fixed-clock";
181 clock-frequency = <12000000>;
182 };
183
184 dpll_core_ck: dpll_core_ck {
185 #clock-cells = <0>;
186 compatible = "ti,am3-dpll-core-clock";
187 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
188 reg = <0x0490>, <0x045c>, <0x0468>;
189 };
190
191 dpll_core_x2_ck: dpll_core_x2_ck {
192 #clock-cells = <0>;
193 compatible = "ti,am3-dpll-x2-clock";
194 clocks = <&dpll_core_ck>;
195 };
196
197 dpll_core_m4_ck: dpll_core_m4_ck {
198 #clock-cells = <0>;
199 compatible = "ti,divider-clock";
200 clocks = <&dpll_core_x2_ck>;
201 ti,max-div = <31>;
202 reg = <0x0480>;
203 ti,index-starts-at-one;
204 };
205
206 dpll_core_m5_ck: dpll_core_m5_ck {
207 #clock-cells = <0>;
208 compatible = "ti,divider-clock";
209 clocks = <&dpll_core_x2_ck>;
210 ti,max-div = <31>;
211 reg = <0x0484>;
212 ti,index-starts-at-one;
213 };
214
215 dpll_core_m6_ck: dpll_core_m6_ck {
216 #clock-cells = <0>;
217 compatible = "ti,divider-clock";
218 clocks = <&dpll_core_x2_ck>;
219 ti,max-div = <31>;
220 reg = <0x04d8>;
221 ti,index-starts-at-one;
222 };
223
224 dpll_mpu_ck: dpll_mpu_ck {
225 #clock-cells = <0>;
226 compatible = "ti,am3-dpll-clock";
227 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
228 reg = <0x0488>, <0x0420>, <0x042c>;
229 };
230
231 dpll_mpu_m2_ck: dpll_mpu_m2_ck {
232 #clock-cells = <0>;
233 compatible = "ti,divider-clock";
234 clocks = <&dpll_mpu_ck>;
235 ti,max-div = <31>;
236 reg = <0x04a8>;
237 ti,index-starts-at-one;
238 };
239
240 dpll_ddr_ck: dpll_ddr_ck {
241 #clock-cells = <0>;
242 compatible = "ti,am3-dpll-no-gate-clock";
243 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
244 reg = <0x0494>, <0x0434>, <0x0440>;
245 };
246
247 dpll_ddr_m2_ck: dpll_ddr_m2_ck {
248 #clock-cells = <0>;
249 compatible = "ti,divider-clock";
250 clocks = <&dpll_ddr_ck>;
251 ti,max-div = <31>;
252 reg = <0x04a0>;
253 ti,index-starts-at-one;
254 };
255
256 dpll_ddr_m2_div2_ck: dpll_ddr_m2_div2_ck {
257 #clock-cells = <0>;
258 compatible = "fixed-factor-clock";
259 clocks = <&dpll_ddr_m2_ck>;
260 clock-mult = <1>;
261 clock-div = <2>;
262 };
263
264 dpll_disp_ck: dpll_disp_ck {
265 #clock-cells = <0>;
266 compatible = "ti,am3-dpll-no-gate-clock";
267 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
268 reg = <0x0498>, <0x0448>, <0x0454>;
269 };
270
271 dpll_disp_m2_ck: dpll_disp_m2_ck {
272 #clock-cells = <0>;
273 compatible = "ti,divider-clock";
274 clocks = <&dpll_disp_ck>;
275 ti,max-div = <31>;
276 reg = <0x04a4>;
277 ti,index-starts-at-one;
278 ti,set-rate-parent;
279 };
280
281 dpll_per_ck: dpll_per_ck {
282 #clock-cells = <0>;
283 compatible = "ti,am3-dpll-no-gate-j-type-clock";
284 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
285 reg = <0x048c>, <0x0470>, <0x049c>;
286 };
287
288 dpll_per_m2_ck: dpll_per_m2_ck {
289 #clock-cells = <0>;
290 compatible = "ti,divider-clock";
291 clocks = <&dpll_per_ck>;
292 ti,max-div = <31>;
293 reg = <0x04ac>;
294 ti,index-starts-at-one;
295 };
296
297 dpll_per_m2_div4_wkupdm_ck: dpll_per_m2_div4_wkupdm_ck {
298 #clock-cells = <0>;
299 compatible = "fixed-factor-clock";
300 clocks = <&dpll_per_m2_ck>;
301 clock-mult = <1>;
302 clock-div = <4>;
303 };
304
305 dpll_per_m2_div4_ck: dpll_per_m2_div4_ck {
306 #clock-cells = <0>;
307 compatible = "fixed-factor-clock";
308 clocks = <&dpll_per_m2_ck>;
309 clock-mult = <1>;
310 clock-div = <4>;
311 };
312
313 cefuse_fck: cefuse_fck {
314 #clock-cells = <0>;
315 compatible = "ti,gate-clock";
316 clocks = <&sys_clkin_ck>;
317 ti,bit-shift = <1>;
318 reg = <0x0a20>;
319 };
320
321 clk_24mhz: clk_24mhz {
322 #clock-cells = <0>;
323 compatible = "fixed-factor-clock";
324 clocks = <&dpll_per_m2_ck>;
325 clock-mult = <1>;
326 clock-div = <8>;
327 };
328
329 clkdiv32k_ck: clkdiv32k_ck {
330 #clock-cells = <0>;
331 compatible = "fixed-factor-clock";
332 clocks = <&clk_24mhz>;
333 clock-mult = <1>;
334 clock-div = <732>;
335 };
336
337 clkdiv32k_ick: clkdiv32k_ick {
338 #clock-cells = <0>;
339 compatible = "ti,gate-clock";
340 clocks = <&clkdiv32k_ck>;
341 ti,bit-shift = <1>;
342 reg = <0x014c>;
343 };
344
345 l3_gclk: l3_gclk {
346 #clock-cells = <0>;
347 compatible = "fixed-factor-clock";
348 clocks = <&dpll_core_m4_ck>;
349 clock-mult = <1>;
350 clock-div = <1>;
351 };
352
353 pruss_ocp_gclk: pruss_ocp_gclk {
354 #clock-cells = <0>;
355 compatible = "ti,mux-clock";
356 clocks = <&l3_gclk>, <&dpll_disp_m2_ck>;
357 reg = <0x0530>;
358 };
359
360 mmu_fck: mmu_fck {
361 #clock-cells = <0>;
362 compatible = "ti,gate-clock";
363 clocks = <&dpll_core_m4_ck>;
364 ti,bit-shift = <1>;
365 reg = <0x0914>;
366 };
367
368 timer1_fck: timer1_fck {
369 #clock-cells = <0>;
370 compatible = "ti,mux-clock";
371 clocks = <&sys_clkin_ck>, <&clkdiv32k_ick>, <&tclkin_ck>, <&clk_rc32k_ck>, <&clk_32768_ck>;
372 reg = <0x0528>;
373 };
374
375 timer2_fck: timer2_fck {
376 #clock-cells = <0>;
377 compatible = "ti,mux-clock";
378 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
379 reg = <0x0508>;
380 };
381
382 timer3_fck: timer3_fck {
383 #clock-cells = <0>;
384 compatible = "ti,mux-clock";
385 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
386 reg = <0x050c>;
387 };
388
389 timer4_fck: timer4_fck {
390 #clock-cells = <0>;
391 compatible = "ti,mux-clock";
392 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
393 reg = <0x0510>;
394 };
395
396 timer5_fck: timer5_fck {
397 #clock-cells = <0>;
398 compatible = "ti,mux-clock";
399 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
400 reg = <0x0518>;
401 };
402
403 timer6_fck: timer6_fck {
404 #clock-cells = <0>;
405 compatible = "ti,mux-clock";
406 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
407 reg = <0x051c>;
408 };
409
410 timer7_fck: timer7_fck {
411 #clock-cells = <0>;
412 compatible = "ti,mux-clock";
413 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
414 reg = <0x0504>;
415 };
416
417 usbotg_fck: usbotg_fck {
418 #clock-cells = <0>;
419 compatible = "ti,gate-clock";
420 clocks = <&dpll_per_ck>;
421 ti,bit-shift = <8>;
422 reg = <0x047c>;
423 };
424
425 dpll_core_m4_div2_ck: dpll_core_m4_div2_ck {
426 #clock-cells = <0>;
427 compatible = "fixed-factor-clock";
428 clocks = <&dpll_core_m4_ck>;
429 clock-mult = <1>;
430 clock-div = <2>;
431 };
432
433 ieee5000_fck: ieee5000_fck {
434 #clock-cells = <0>;
435 compatible = "ti,gate-clock";
436 clocks = <&dpll_core_m4_div2_ck>;
437 ti,bit-shift = <1>;
438 reg = <0x00e4>;
439 };
440
441 wdt1_fck: wdt1_fck {
442 #clock-cells = <0>;
443 compatible = "ti,mux-clock";
444 clocks = <&clk_rc32k_ck>, <&clkdiv32k_ick>;
445 reg = <0x0538>;
446 };
447
448 l4_rtc_gclk: l4_rtc_gclk {
449 #clock-cells = <0>;
450 compatible = "fixed-factor-clock";
451 clocks = <&dpll_core_m4_ck>;
452 clock-mult = <1>;
453 clock-div = <2>;
454 };
455
456 l4hs_gclk: l4hs_gclk {
457 #clock-cells = <0>;
458 compatible = "fixed-factor-clock";
459 clocks = <&dpll_core_m4_ck>;
460 clock-mult = <1>;
461 clock-div = <1>;
462 };
463
464 l3s_gclk: l3s_gclk {
465 #clock-cells = <0>;
466 compatible = "fixed-factor-clock";
467 clocks = <&dpll_core_m4_div2_ck>;
468 clock-mult = <1>;
469 clock-div = <1>;
470 };
471
472 l4fw_gclk: l4fw_gclk {
473 #clock-cells = <0>;
474 compatible = "fixed-factor-clock";
475 clocks = <&dpll_core_m4_div2_ck>;
476 clock-mult = <1>;
477 clock-div = <1>;
478 };
479
480 l4ls_gclk: l4ls_gclk {
481 #clock-cells = <0>;
482 compatible = "fixed-factor-clock";
483 clocks = <&dpll_core_m4_div2_ck>;
484 clock-mult = <1>;
485 clock-div = <1>;
486 };
487
488 sysclk_div_ck: sysclk_div_ck {
489 #clock-cells = <0>;
490 compatible = "fixed-factor-clock";
491 clocks = <&dpll_core_m4_ck>;
492 clock-mult = <1>;
493 clock-div = <1>;
494 };
495
496 cpsw_125mhz_gclk: cpsw_125mhz_gclk {
497 #clock-cells = <0>;
498 compatible = "fixed-factor-clock";
499 clocks = <&dpll_core_m5_ck>;
500 clock-mult = <1>;
501 clock-div = <2>;
502 };
503
504 cpsw_cpts_rft_clk: cpsw_cpts_rft_clk {
505 #clock-cells = <0>;
506 compatible = "ti,mux-clock";
507 clocks = <&dpll_core_m5_ck>, <&dpll_core_m4_ck>;
508 reg = <0x0520>;
509 };
510
511 gpio0_dbclk_mux_ck: gpio0_dbclk_mux_ck {
512 #clock-cells = <0>;
513 compatible = "ti,mux-clock";
514 clocks = <&clk_rc32k_ck>, <&clk_32768_ck>, <&clkdiv32k_ick>;
515 reg = <0x053c>;
516 };
517
518 gpio0_dbclk: gpio0_dbclk {
519 #clock-cells = <0>;
520 compatible = "ti,gate-clock";
521 clocks = <&gpio0_dbclk_mux_ck>;
522 ti,bit-shift = <18>;
523 reg = <0x0408>;
524 };
525
526 gpio1_dbclk: gpio1_dbclk {
527 #clock-cells = <0>;
528 compatible = "ti,gate-clock";
529 clocks = <&clkdiv32k_ick>;
530 ti,bit-shift = <18>;
531 reg = <0x00ac>;
532 };
533
534 gpio2_dbclk: gpio2_dbclk {
535 #clock-cells = <0>;
536 compatible = "ti,gate-clock";
537 clocks = <&clkdiv32k_ick>;
538 ti,bit-shift = <18>;
539 reg = <0x00b0>;
540 };
541
542 gpio3_dbclk: gpio3_dbclk {
543 #clock-cells = <0>;
544 compatible = "ti,gate-clock";
545 clocks = <&clkdiv32k_ick>;
546 ti,bit-shift = <18>;
547 reg = <0x00b4>;
548 };
549
550 lcd_gclk: lcd_gclk {
551 #clock-cells = <0>;
552 compatible = "ti,mux-clock";
553 clocks = <&dpll_disp_m2_ck>, <&dpll_core_m5_ck>, <&dpll_per_m2_ck>;
554 reg = <0x0534>;
555 ti,set-rate-parent;
556 };
557
558 mmc_clk: mmc_clk {
559 #clock-cells = <0>;
560 compatible = "fixed-factor-clock";
561 clocks = <&dpll_per_m2_ck>;
562 clock-mult = <1>;
563 clock-div = <2>;
564 };
565
566 gfx_fclk_clksel_ck: gfx_fclk_clksel_ck {
567 #clock-cells = <0>;
568 compatible = "ti,mux-clock";
569 clocks = <&dpll_core_m4_ck>, <&dpll_per_m2_ck>;
570 ti,bit-shift = <1>;
571 reg = <0x052c>;
572 };
573
574 gfx_fck_div_ck: gfx_fck_div_ck {
575 #clock-cells = <0>;
576 compatible = "ti,divider-clock";
577 clocks = <&gfx_fclk_clksel_ck>;
578 reg = <0x052c>;
579 ti,max-div = <2>;
580 };
581
582 sysclkout_pre_ck: sysclkout_pre_ck {
583 #clock-cells = <0>;
584 compatible = "ti,mux-clock";
585 clocks = <&clk_32768_ck>, <&l3_gclk>, <&dpll_ddr_m2_ck>, <&dpll_per_m2_ck>, <&lcd_gclk>;
586 reg = <0x0700>;
587 };
588
589 clkout2_div_ck: clkout2_div_ck {
590 #clock-cells = <0>;
591 compatible = "ti,divider-clock";
592 clocks = <&sysclkout_pre_ck>;
593 ti,bit-shift = <3>;
594 ti,max-div = <8>;
595 reg = <0x0700>;
596 };
597
598 dbg_sysclk_ck: dbg_sysclk_ck {
599 #clock-cells = <0>;
600 compatible = "ti,gate-clock";
601 clocks = <&sys_clkin_ck>;
602 ti,bit-shift = <19>;
603 reg = <0x0414>;
604 };
605
606 dbg_clka_ck: dbg_clka_ck {
607 #clock-cells = <0>;
608 compatible = "ti,gate-clock";
609 clocks = <&dpll_core_m4_ck>;
610 ti,bit-shift = <30>;
611 reg = <0x0414>;
612 };
613
614 stm_pmd_clock_mux_ck: stm_pmd_clock_mux_ck {
615 #clock-cells = <0>;
616 compatible = "ti,mux-clock";
617 clocks = <&dbg_sysclk_ck>, <&dbg_clka_ck>;
618 ti,bit-shift = <22>;
619 reg = <0x0414>;
620 };
621
622 trace_pmd_clk_mux_ck: trace_pmd_clk_mux_ck {
623 #clock-cells = <0>;
624 compatible = "ti,mux-clock";
625 clocks = <&dbg_sysclk_ck>, <&dbg_clka_ck>;
626 ti,bit-shift = <20>;
627 reg = <0x0414>;
628 };
629
630 stm_clk_div_ck: stm_clk_div_ck {
631 #clock-cells = <0>;
632 compatible = "ti,divider-clock";
633 clocks = <&stm_pmd_clock_mux_ck>;
634 ti,bit-shift = <27>;
635 ti,max-div = <64>;
636 reg = <0x0414>;
637 ti,index-power-of-two;
638 };
639
640 trace_clk_div_ck: trace_clk_div_ck {
641 #clock-cells = <0>;
642 compatible = "ti,divider-clock";
643 clocks = <&trace_pmd_clk_mux_ck>;
644 ti,bit-shift = <24>;
645 ti,max-div = <64>;
646 reg = <0x0414>;
647 ti,index-power-of-two;
648 };
649
650 clkout2_ck: clkout2_ck {
651 #clock-cells = <0>;
652 compatible = "ti,gate-clock";
653 clocks = <&clkout2_div_ck>;
654 ti,bit-shift = <7>;
655 reg = <0x0700>;
656 };
657};
658
659&prcm_clockdomains {
660 clk_24mhz_clkdm: clk_24mhz_clkdm {
661 compatible = "ti,clockdomain";
662 clocks = <&clkdiv32k_ick>;
663 };
664};
arch/arm/boot/dts/am33xx.dtsi+28−0
@@ -102,6 +102,32 @@ · 101 unmodified lines
102 ranges;102 ranges;
103 ti,hwmods = "l3_main";103 ti,hwmods = "l3_main";
104 104
105 prcm: prcm@44e00000 {
106 compatible = "ti,am3-prcm";
107 reg = <0x44e00000 0x4000>;
108
109 prcm_clocks: clocks {
110 #address-cells = <1>;
111 #size-cells = <0>;
112 };
113
114 prcm_clockdomains: clockdomains {
115 };
116 };
117
118 scrm: scrm@44e10000 {
119 compatible = "ti,am3-scrm";
120 reg = <0x44e10000 0x2000>;
121
122 scrm_clocks: clocks {
123 #address-cells = <1>;
124 #size-cells = <0>;
125 };
126
127 scrm_clockdomains: clockdomains {
128 };
129 };
130
105 intc: interrupt-controller@48200000 {131 intc: interrupt-controller@48200000 {
106 compatible = "ti,omap2-intc";132 compatible = "ti,omap2-intc";
107 interrupt-controller;133 interrupt-controller;
@@ -794,3 +820,5 @@ · 686 unmodified lines
794 };820 };
795 };821 };
796};822};
823
824/include/ "am33xx-clocks.dtsi"
arch/arm/boot/dts/am3517-evm.dts+29−0
@@ -17,6 +17,21 @@ · 16 unmodified lines
17 device_type = "memory";17 device_type = "memory";
18 reg = <0x80000000 0x10000000>; /* 256 MB */18 reg = <0x80000000 0x10000000>; /* 256 MB */
19 };19 };
20
21 vmmc_fixed: vmmc {
22 compatible = "regulator-fixed";
23 regulator-name = "vmmc_fixed";
24 regulator-min-microvolt = <3300000>;
25 regulator-max-microvolt = <3300000>;
26 };
27};
28
29&davinci_emac {
30 status = "okay";
31};
32
33&davinci_mdio {
34 status = "okay";
20};35};
21 36
22&i2c1 {37&i2c1 {
@@ -30,3 +45,17 @@ · 7 unmodified lines
30&i2c3 {45&i2c3 {
31 clock-frequency = <400000>;46 clock-frequency = <400000>;
32};47};
48
49&mmc1 {
50 vmmc-supply = <&vmmc_fixed>;
51 bus-width = <4>;
52};
53
54&mmc2 {
55 status = "disabled";
56};
57
58&mmc3 {
59 status = "disabled";
60};
61
arch/arm/boot/dts/am3517.dtsi+3−0
@@ -61,3 +61,6 @@ · 60 unmodified lines
61 };61 };
62 };62 };
63};63};
64
65/include/ "am35xx-clocks.dtsi"
66/include/ "omap36xx-am35xx-omap3430es2plus-clocks.dtsi"
arch/arm/boot/dts/am35xx-clocks.dtsi+128−0
@@ -0,0 +1,128 @@
1/*
2 * Device Tree Source for OMAP3 clock data
3 *
4 * Copyright (C) 2013 Texas Instruments, Inc.
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&scrm_clocks {
11 emac_ick: emac_ick {
12 #clock-cells = <0>;
13 compatible = "ti,am35xx-gate-clock";
14 clocks = <&ipss_ick>;
15 reg = <0x059c>;
16 ti,bit-shift = <1>;
17 };
18
19 emac_fck: emac_fck {
20 #clock-cells = <0>;
21 compatible = "ti,gate-clock";
22 clocks = <&rmii_ck>;
23 reg = <0x059c>;
24 ti,bit-shift = <9>;
25 };
26
27 vpfe_ick: vpfe_ick {
28 #clock-cells = <0>;
29 compatible = "ti,am35xx-gate-clock";
30 clocks = <&ipss_ick>;
31 reg = <0x059c>;
32 ti,bit-shift = <2>;
33 };
34
35 vpfe_fck: vpfe_fck {
36 #clock-cells = <0>;
37 compatible = "ti,gate-clock";
38 clocks = <&pclk_ck>;
39 reg = <0x059c>;
40 ti,bit-shift = <10>;
41 };
42
43 hsotgusb_ick_am35xx: hsotgusb_ick_am35xx {
44 #clock-cells = <0>;
45 compatible = "ti,am35xx-gate-clock";
46 clocks = <&ipss_ick>;
47 reg = <0x059c>;
48 ti,bit-shift = <0>;
49 };
50
51 hsotgusb_fck_am35xx: hsotgusb_fck_am35xx {
52 #clock-cells = <0>;
53 compatible = "ti,gate-clock";
54 clocks = <&sys_ck>;
55 reg = <0x059c>;
56 ti,bit-shift = <8>;
57 };
58
59 hecc_ck: hecc_ck {
60 #clock-cells = <0>;
61 compatible = "ti,am35xx-gate-clock";
62 clocks = <&sys_ck>;
63 reg = <0x059c>;
64 ti,bit-shift = <3>;
65 };
66};
67&cm_clocks {
68 ipss_ick: ipss_ick {
69 #clock-cells = <0>;
70 compatible = "ti,am35xx-interface-clock";
71 clocks = <&core_l3_ick>;
72 reg = <0x0a10>;
73 ti,bit-shift = <4>;
74 };
75
76 rmii_ck: rmii_ck {
77 #clock-cells = <0>;
78 compatible = "fixed-clock";
79 clock-frequency = <50000000>;
80 };
81
82 pclk_ck: pclk_ck {
83 #clock-cells = <0>;
84 compatible = "fixed-clock";
85 clock-frequency = <27000000>;
86 };
87
88 uart4_ick_am35xx: uart4_ick_am35xx {
89 #clock-cells = <0>;
90 compatible = "ti,omap3-interface-clock";
91 clocks = <&core_l4_ick>;
92 reg = <0x0a10>;
93 ti,bit-shift = <23>;
94 };
95
96 uart4_fck_am35xx: uart4_fck_am35xx {
97 #clock-cells = <0>;
98 compatible = "ti,wait-gate-clock";
99 clocks = <&core_48m_fck>;
100 reg = <0x0a00>;
101 ti,bit-shift = <23>;
102 };
103};
104
105&cm_clockdomains {
106 core_l3_clkdm: core_l3_clkdm {
107 compatible = "ti,clockdomain";
108 clocks = <&sdrc_ick>, <&ipss_ick>, <&emac_ick>, <&vpfe_ick>,
109 <&hsotgusb_ick_am35xx>, <&hsotgusb_fck_am35xx>,
110 <&hecc_ck>;
111 };
112
113 core_l4_clkdm: core_l4_clkdm {
114 compatible = "ti,clockdomain";
115 clocks = <&cpefuse_fck>, <&ts_fck>, <&usbtll_fck>,
116 <&usbtll_ick>, <&mmchs3_ick>, <&mmchs3_fck>,
117 <&mmchs2_fck>, <&mmchs1_fck>, <&i2c3_fck>, <&i2c2_fck>,
118 <&i2c1_fck>, <&mcspi4_fck>, <&mcspi3_fck>,
119 <&mcspi2_fck>, <&mcspi1_fck>, <&uart2_fck>,
120 <&uart1_fck>, <&hdq_fck>, <&mmchs2_ick>, <&mmchs1_ick>,
121 <&hdq_ick>, <&mcspi4_ick>, <&mcspi3_ick>,
122 <&mcspi2_ick>, <&mcspi1_ick>, <&i2c3_ick>, <&i2c2_ick>,
123 <&i2c1_ick>, <&uart2_ick>, <&uart1_ick>, <&gpt11_ick>,
124 <&gpt10_ick>, <&mcbsp5_ick>, <&mcbsp1_ick>,
125 <&omapctrl_ick>, <&aes2_ick>, <&sha12_ick>,
126 <&uart4_ick_am35xx>, <&uart4_fck_am35xx>;
127 };
128};
arch/arm/boot/dts/am4372.dtsi+28−0
@@ -67,6 +67,32 @@ · 66 unmodified lines
67 ranges;67 ranges;
68 ti,hwmods = "l3_main";68 ti,hwmods = "l3_main";
69 69
70 prcm: prcm@44df0000 {
71 compatible = "ti,am4-prcm";
72 reg = <0x44df0000 0x11000>;
73
74 prcm_clocks: clocks {
75 #address-cells = <1>;
76 #size-cells = <0>;
77 };
78
79 prcm_clockdomains: clockdomains {
80 };
81 };
82
83 scrm: scrm@44e10000 {
84 compatible = "ti,am4-scrm";
85 reg = <0x44e10000 0x2000>;
86
87 scrm_clocks: clocks {
88 #address-cells = <1>;
89 #size-cells = <0>;
90 };
91
92 scrm_clockdomains: clockdomains {
93 };
94 };
95
70 edma: edma@49000000 {96 edma: edma@49000000 {
71 compatible = "ti,edma3";97 compatible = "ti,edma3";
72 ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";98 ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
@@ -665,3 +691,5 @@ · 592 unmodified lines
665 };691 };
666 };692 };
667};693};
694
695/include/ "am43xx-clocks.dtsi"
arch/arm/boot/dts/am43xx-clocks.dtsi+656−0
@@ -0,0 +1,656 @@
1/*
2 * Device Tree Source for AM43xx clock data
3 *
4 * Copyright (C) 2013 Texas Instruments, Inc.
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&scrm_clocks {
11 sys_clkin_ck: sys_clkin_ck {
12 #clock-cells = <0>;
13 compatible = "ti,mux-clock";
14 clocks = <&virt_19200000_ck>, <&virt_24000000_ck>, <&virt_25000000_ck>, <&virt_26000000_ck>;
15 ti,bit-shift = <22>;
16 reg = <0x0040>;
17 };
18
19 adc_tsc_fck: adc_tsc_fck {
20 #clock-cells = <0>;
21 compatible = "fixed-factor-clock";
22 clocks = <&sys_clkin_ck>;
23 clock-mult = <1>;
24 clock-div = <1>;
25 };
26
27 dcan0_fck: dcan0_fck {
28 #clock-cells = <0>;
29 compatible = "fixed-factor-clock";
30 clocks = <&sys_clkin_ck>;
31 clock-mult = <1>;
32 clock-div = <1>;
33 };
34
35 dcan1_fck: dcan1_fck {
36 #clock-cells = <0>;
37 compatible = "fixed-factor-clock";
38 clocks = <&sys_clkin_ck>;
39 clock-mult = <1>;
40 clock-div = <1>;
41 };
42
43 mcasp0_fck: mcasp0_fck {
44 #clock-cells = <0>;
45 compatible = "fixed-factor-clock";
46 clocks = <&sys_clkin_ck>;
47 clock-mult = <1>;
48 clock-div = <1>;
49 };
50
51 mcasp1_fck: mcasp1_fck {
52 #clock-cells = <0>;
53 compatible = "fixed-factor-clock";
54 clocks = <&sys_clkin_ck>;
55 clock-mult = <1>;
56 clock-div = <1>;
57 };
58
59 smartreflex0_fck: smartreflex0_fck {
60 #clock-cells = <0>;
61 compatible = "fixed-factor-clock";
62 clocks = <&sys_clkin_ck>;
63 clock-mult = <1>;
64 clock-div = <1>;
65 };
66
67 smartreflex1_fck: smartreflex1_fck {
68 #clock-cells = <0>;
69 compatible = "fixed-factor-clock";
70 clocks = <&sys_clkin_ck>;
71 clock-mult = <1>;
72 clock-div = <1>;
73 };
74
75 sha0_fck: sha0_fck {
76 #clock-cells = <0>;
77 compatible = "fixed-factor-clock";
78 clocks = <&sys_clkin_ck>;
79 clock-mult = <1>;
80 clock-div = <1>;
81 };
82
83 aes0_fck: aes0_fck {
84 #clock-cells = <0>;
85 compatible = "fixed-factor-clock";
86 clocks = <&sys_clkin_ck>;
87 clock-mult = <1>;
88 clock-div = <1>;
89 };
90};
91&prcm_clocks {
92 clk_32768_ck: clk_32768_ck {
93 #clock-cells = <0>;
94 compatible = "fixed-clock";
95 clock-frequency = <32768>;
96 };
97
98 clk_rc32k_ck: clk_rc32k_ck {
99 #clock-cells = <0>;
100 compatible = "fixed-clock";
101 clock-frequency = <32768>;
102 };
103
104 virt_19200000_ck: virt_19200000_ck {
105 #clock-cells = <0>;
106 compatible = "fixed-clock";
107 clock-frequency = <19200000>;
108 };
109
110 virt_24000000_ck: virt_24000000_ck {
111 #clock-cells = <0>;
112 compatible = "fixed-clock";
113 clock-frequency = <24000000>;
114 };
115
116 virt_25000000_ck: virt_25000000_ck {
117 #clock-cells = <0>;
118 compatible = "fixed-clock";
119 clock-frequency = <25000000>;
120 };
121
122 virt_26000000_ck: virt_26000000_ck {
123 #clock-cells = <0>;
124 compatible = "fixed-clock";
125 clock-frequency = <26000000>;
126 };
127
128 tclkin_ck: tclkin_ck {
129 #clock-cells = <0>;
130 compatible = "fixed-clock";
131 clock-frequency = <26000000>;
132 };
133
134 dpll_core_ck: dpll_core_ck {
135 #clock-cells = <0>;
136 compatible = "ti,am3-dpll-core-clock";
137 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
138 reg = <0x2d20>, <0x2d24>, <0x2d2c>;
139 };
140
141 dpll_core_x2_ck: dpll_core_x2_ck {
142 #clock-cells = <0>;
143 compatible = "ti,am3-dpll-x2-clock";
144 clocks = <&dpll_core_ck>;
145 };
146
147 dpll_core_m4_ck: dpll_core_m4_ck {
148 #clock-cells = <0>;
149 compatible = "ti,divider-clock";
150 clocks = <&dpll_core_x2_ck>;
151 ti,max-div = <31>;
152 ti,autoidle-shift = <8>;
153 reg = <0x2d38>;
154 ti,index-starts-at-one;
155 ti,invert-autoidle-bit;
156 };
157
158 dpll_core_m5_ck: dpll_core_m5_ck {
159 #clock-cells = <0>;
160 compatible = "ti,divider-clock";
161 clocks = <&dpll_core_x2_ck>;
162 ti,max-div = <31>;
163 ti,autoidle-shift = <8>;
164 reg = <0x2d3c>;
165 ti,index-starts-at-one;
166 ti,invert-autoidle-bit;
167 };
168
169 dpll_core_m6_ck: dpll_core_m6_ck {
170 #clock-cells = <0>;
171 compatible = "ti,divider-clock";
172 clocks = <&dpll_core_x2_ck>;
173 ti,max-div = <31>;
174 ti,autoidle-shift = <8>;
175 reg = <0x2d40>;
176 ti,index-starts-at-one;
177 ti,invert-autoidle-bit;
178 };
179
180 dpll_mpu_ck: dpll_mpu_ck {
181 #clock-cells = <0>;
182 compatible = "ti,am3-dpll-clock";
183 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
184 reg = <0x2d60>, <0x2d64>, <0x2d6c>;
185 };
186
187 dpll_mpu_m2_ck: dpll_mpu_m2_ck {
188 #clock-cells = <0>;
189 compatible = "ti,divider-clock";
190 clocks = <&dpll_mpu_ck>;
191 ti,max-div = <31>;
192 ti,autoidle-shift = <8>;
193 reg = <0x2d70>;
194 ti,index-starts-at-one;
195 ti,invert-autoidle-bit;
196 };
197
198 dpll_ddr_ck: dpll_ddr_ck {
199 #clock-cells = <0>;
200 compatible = "ti,am3-dpll-clock";
201 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
202 reg = <0x2da0>, <0x2da4>, <0x2dac>;
203 };
204
205 dpll_ddr_m2_ck: dpll_ddr_m2_ck {
206 #clock-cells = <0>;
207 compatible = "ti,divider-clock";
208 clocks = <&dpll_ddr_ck>;
209 ti,max-div = <31>;
210 ti,autoidle-shift = <8>;
211 reg = <0x2db0>;
212 ti,index-starts-at-one;
213 ti,invert-autoidle-bit;
214 };
215
216 dpll_disp_ck: dpll_disp_ck {
217 #clock-cells = <0>;
218 compatible = "ti,am3-dpll-clock";
219 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
220 reg = <0x2e20>, <0x2e24>, <0x2e2c>;
221 };
222
223 dpll_disp_m2_ck: dpll_disp_m2_ck {
224 #clock-cells = <0>;
225 compatible = "ti,divider-clock";
226 clocks = <&dpll_disp_ck>;
227 ti,max-div = <31>;
228 ti,autoidle-shift = <8>;
229 reg = <0x2e30>;
230 ti,index-starts-at-one;
231 ti,invert-autoidle-bit;
232 };
233
234 dpll_per_ck: dpll_per_ck {
235 #clock-cells = <0>;
236 compatible = "ti,am3-dpll-j-type-clock";
237 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
238 reg = <0x2de0>, <0x2de4>, <0x2dec>;
239 };
240
241 dpll_per_m2_ck: dpll_per_m2_ck {
242 #clock-cells = <0>;
243 compatible = "ti,divider-clock";
244 clocks = <&dpll_per_ck>;
245 ti,max-div = <127>;
246 ti,autoidle-shift = <8>;
247 reg = <0x2df0>;
248 ti,index-starts-at-one;
249 ti,invert-autoidle-bit;
250 };
251
252 dpll_per_m2_div4_wkupdm_ck: dpll_per_m2_div4_wkupdm_ck {
253 #clock-cells = <0>;
254 compatible = "fixed-factor-clock";
255 clocks = <&dpll_per_m2_ck>;
256 clock-mult = <1>;
257 clock-div = <4>;
258 };
259
260 dpll_per_m2_div4_ck: dpll_per_m2_div4_ck {
261 #clock-cells = <0>;
262 compatible = "fixed-factor-clock";
263 clocks = <&dpll_per_m2_ck>;
264 clock-mult = <1>;
265 clock-div = <4>;
266 };
267
268 clk_24mhz: clk_24mhz {
269 #clock-cells = <0>;
270 compatible = "fixed-factor-clock";
271 clocks = <&dpll_per_m2_ck>;
272 clock-mult = <1>;
273 clock-div = <8>;
274 };
275
276 clkdiv32k_ck: clkdiv32k_ck {
277 #clock-cells = <0>;
278 compatible = "fixed-factor-clock";
279 clocks = <&clk_24mhz>;
280 clock-mult = <1>;
281 clock-div = <732>;
282 };
283
284 clkdiv32k_ick: clkdiv32k_ick {
285 #clock-cells = <0>;
286 compatible = "ti,gate-clock";
287 clocks = <&clkdiv32k_ck>;
288 ti,bit-shift = <8>;
289 reg = <0x2a38>;
290 };
291
292 sysclk_div: sysclk_div {
293 #clock-cells = <0>;
294 compatible = "fixed-factor-clock";
295 clocks = <&dpll_core_m4_ck>;
296 clock-mult = <1>;
297 clock-div = <1>;
298 };
299
300 pruss_ocp_gclk: pruss_ocp_gclk {
301 #clock-cells = <0>;
302 compatible = "ti,mux-clock";
303 clocks = <&sysclk_div>, <&dpll_disp_m2_ck>;
304 reg = <0x4248>;
305 };
306
307 clk_32k_tpm_ck: clk_32k_tpm_ck {
308 #clock-cells = <0>;
309 compatible = "fixed-clock";
310 clock-frequency = <32768>;
311 };
312
313 timer1_fck: timer1_fck {
314 #clock-cells = <0>;
315 compatible = "ti,mux-clock";
316 clocks = <&sys_clkin_ck>, <&clkdiv32k_ick>, <&tclkin_ck>, <&clk_rc32k_ck>, <&clk_32768_ck>, <&clk_32k_tpm_ck>;
317 reg = <0x4200>;
318 };
319
320 timer2_fck: timer2_fck {
321 #clock-cells = <0>;
322 compatible = "ti,mux-clock";
323 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
324 reg = <0x4204>;
325 };
326
327 timer3_fck: timer3_fck {
328 #clock-cells = <0>;
329 compatible = "ti,mux-clock";
330 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
331 reg = <0x4208>;
332 };
333
334 timer4_fck: timer4_fck {
335 #clock-cells = <0>;
336 compatible = "ti,mux-clock";
337 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
338 reg = <0x420c>;
339 };
340
341 timer5_fck: timer5_fck {
342 #clock-cells = <0>;
343 compatible = "ti,mux-clock";
344 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
345 reg = <0x4210>;
346 };
347
348 timer6_fck: timer6_fck {
349 #clock-cells = <0>;
350 compatible = "ti,mux-clock";
351 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
352 reg = <0x4214>;
353 };
354
355 timer7_fck: timer7_fck {
356 #clock-cells = <0>;
357 compatible = "ti,mux-clock";
358 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
359 reg = <0x4218>;
360 };
361
362 wdt1_fck: wdt1_fck {
363 #clock-cells = <0>;
364 compatible = "ti,mux-clock";
365 clocks = <&clk_rc32k_ck>, <&clkdiv32k_ick>;
366 reg = <0x422c>;
367 };
368
369 l3_gclk: l3_gclk {
370 #clock-cells = <0>;
371 compatible = "fixed-factor-clock";
372 clocks = <&dpll_core_m4_ck>;
373 clock-mult = <1>;
374 clock-div = <1>;
375 };
376
377 dpll_core_m4_div2_ck: dpll_core_m4_div2_ck {
378 #clock-cells = <0>;
379 compatible = "fixed-factor-clock";
380 clocks = <&sysclk_div>;
381 clock-mult = <1>;
382 clock-div = <2>;
383 };
384
385 l4hs_gclk: l4hs_gclk {
386 #clock-cells = <0>;
387 compatible = "fixed-factor-clock";
388 clocks = <&dpll_core_m4_ck>;
389 clock-mult = <1>;
390 clock-div = <1>;
391 };
392
393 l3s_gclk: l3s_gclk {
394 #clock-cells = <0>;
395 compatible = "fixed-factor-clock";
396 clocks = <&dpll_core_m4_div2_ck>;
397 clock-mult = <1>;
398 clock-div = <1>;
399 };
400
401 l4ls_gclk: l4ls_gclk {
402 #clock-cells = <0>;
403 compatible = "fixed-factor-clock";
404 clocks = <&dpll_core_m4_div2_ck>;
405 clock-mult = <1>;
406 clock-div = <1>;
407 };
408
409 cpsw_125mhz_gclk: cpsw_125mhz_gclk {
410 #clock-cells = <0>;
411 compatible = "fixed-factor-clock";
412 clocks = <&dpll_core_m5_ck>;
413 clock-mult = <1>;
414 clock-div = <2>;
415 };
416
417 cpsw_cpts_rft_clk: cpsw_cpts_rft_clk {
418 #clock-cells = <0>;
419 compatible = "ti,mux-clock";
420 clocks = <&sysclk_div>, <&dpll_core_m5_ck>, <&dpll_disp_m2_ck>;
421 reg = <0x4238>;
422 };
423
424 clk_32k_mosc_ck: clk_32k_mosc_ck {
425 #clock-cells = <0>;
426 compatible = "fixed-clock";
427 clock-frequency = <32768>;
428 };
429
430 gpio0_dbclk_mux_ck: gpio0_dbclk_mux_ck {
431 #clock-cells = <0>;
432 compatible = "ti,mux-clock";
433 clocks = <&clk_rc32k_ck>, <&clk_32768_ck>, <&clkdiv32k_ick>, <&clk_32k_mosc_ck>, <&clk_32k_tpm_ck>;
434 reg = <0x4240>;
435 };
436
437 gpio0_dbclk: gpio0_dbclk {
438 #clock-cells = <0>;
439 compatible = "ti,gate-clock";
440 clocks = <&gpio0_dbclk_mux_ck>;
441 ti,bit-shift = <8>;
442 reg = <0x2b68>;
443 };
444
445 gpio1_dbclk: gpio1_dbclk {
446 #clock-cells = <0>;
447 compatible = "ti,gate-clock";
448 clocks = <&clkdiv32k_ick>;
449 ti,bit-shift = <8>;
450 reg = <0x8c78>;
451 };
452
453 gpio2_dbclk: gpio2_dbclk {
454 #clock-cells = <0>;
455 compatible = "ti,gate-clock";
456 clocks = <&clkdiv32k_ick>;
457 ti,bit-shift = <8>;
458 reg = <0x8c80>;
459 };
460
461 gpio3_dbclk: gpio3_dbclk {
462 #clock-cells = <0>;
463 compatible = "ti,gate-clock";
464 clocks = <&clkdiv32k_ick>;
465 ti,bit-shift = <8>;
466 reg = <0x8c88>;
467 };
468
469 gpio4_dbclk: gpio4_dbclk {
470 #clock-cells = <0>;
471 compatible = "ti,gate-clock";
472 clocks = <&clkdiv32k_ick>;
473 ti,bit-shift = <8>;
474 reg = <0x8c90>;
475 };
476
477 gpio5_dbclk: gpio5_dbclk {
478 #clock-cells = <0>;
479 compatible = "ti,gate-clock";
480 clocks = <&clkdiv32k_ick>;
481 ti,bit-shift = <8>;
482 reg = <0x8c98>;
483 };
484
485 mmc_clk: mmc_clk {
486 #clock-cells = <0>;
487 compatible = "fixed-factor-clock";
488 clocks = <&dpll_per_m2_ck>;
489 clock-mult = <1>;
490 clock-div = <2>;
491 };
492
493 gfx_fclk_clksel_ck: gfx_fclk_clksel_ck {
494 #clock-cells = <0>;
495 compatible = "ti,mux-clock";
496 clocks = <&sysclk_div>, <&dpll_per_m2_ck>;
497 ti,bit-shift = <1>;
498 reg = <0x423c>;
499 };
500
501 gfx_fck_div_ck: gfx_fck_div_ck {
502 #clock-cells = <0>;
503 compatible = "ti,divider-clock";
504 clocks = <&gfx_fclk_clksel_ck>;
505 reg = <0x423c>;
506 ti,max-div = <2>;
507 };
508
509 disp_clk: disp_clk {
510 #clock-cells = <0>;
511 compatible = "ti,mux-clock";
512 clocks = <&dpll_disp_m2_ck>, <&dpll_core_m5_ck>, <&dpll_per_m2_ck>;
513 reg = <0x4244>;
514 };
515
516 dpll_extdev_ck: dpll_extdev_ck {
517 #clock-cells = <0>;
518 compatible = "ti,am3-dpll-clock";
519 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
520 reg = <0x2e60>, <0x2e64>, <0x2e6c>;
521 };
522
523 dpll_extdev_m2_ck: dpll_extdev_m2_ck {
524 #clock-cells = <0>;
525 compatible = "ti,divider-clock";
526 clocks = <&dpll_extdev_ck>;
527 ti,max-div = <127>;
528 ti,autoidle-shift = <8>;
529 reg = <0x2e70>;
530 ti,index-starts-at-one;
531 ti,invert-autoidle-bit;
532 };
533
534 mux_synctimer32k_ck: mux_synctimer32k_ck {
535 #clock-cells = <0>;
536 compatible = "ti,mux-clock";
537 clocks = <&clk_32768_ck>, <&clk_32k_tpm_ck>, <&clkdiv32k_ick>;
538 reg = <0x4230>;
539 };
540
541 synctimer_32kclk: synctimer_32kclk {
542 #clock-cells = <0>;
543 compatible = "ti,gate-clock";
544 clocks = <&mux_synctimer32k_ck>;
545 ti,bit-shift = <8>;
546 reg = <0x2a30>;
547 };
548
549 timer8_fck: timer8_fck {
550 #clock-cells = <0>;
551 compatible = "ti,mux-clock";
552 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
553 reg = <0x421c>;
554 };
555
556 timer9_fck: timer9_fck {
557 #clock-cells = <0>;
558 compatible = "ti,mux-clock";
559 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
560 reg = <0x4220>;
561 };
562
563 timer10_fck: timer10_fck {
564 #clock-cells = <0>;
565 compatible = "ti,mux-clock";
566 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
567 reg = <0x4224>;
568 };
569
570 timer11_fck: timer11_fck {
571 #clock-cells = <0>;
572 compatible = "ti,mux-clock";
573 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
574 reg = <0x4228>;
575 };
576
577 cpsw_50m_clkdiv: cpsw_50m_clkdiv {
578 #clock-cells = <0>;
579 compatible = "fixed-factor-clock";
580 clocks = <&dpll_core_m5_ck>;
581 clock-mult = <1>;
582 clock-div = <1>;
583 };
584
585 cpsw_5m_clkdiv: cpsw_5m_clkdiv {
586 #clock-cells = <0>;
587 compatible = "fixed-factor-clock";
588 clocks = <&cpsw_50m_clkdiv>;
589 clock-mult = <1>;
590 clock-div = <10>;
591 };
592
593 dpll_ddr_x2_ck: dpll_ddr_x2_ck {
594 #clock-cells = <0>;
595 compatible = "ti,am3-dpll-x2-clock";
596 clocks = <&dpll_ddr_ck>;
597 };
598
599 dpll_ddr_m4_ck: dpll_ddr_m4_ck {
600 #clock-cells = <0>;
601 compatible = "ti,divider-clock";
602 clocks = <&dpll_ddr_x2_ck>;
603 ti,max-div = <31>;
604 ti,autoidle-shift = <8>;
605 reg = <0x2db8>;
606 ti,index-starts-at-one;
607 ti,invert-autoidle-bit;
608 };
609
610 dpll_per_clkdcoldo: dpll_per_clkdcoldo {
611 #clock-cells = <0>;
612 compatible = "fixed-factor-clock";
613 clocks = <&dpll_per_ck>;
614 clock-mult = <1>;
615 clock-div = <1>;
616 };
617
618 dll_aging_clk_div: dll_aging_clk_div {
619 #clock-cells = <0>;
620 compatible = "ti,divider-clock";
621 clocks = <&sys_clkin_ck>;
622 reg = <0x4250>;
623 ti,dividers = <8>, <16>, <32>;
624 };
625
626 div_core_25m_ck: div_core_25m_ck {
627 #clock-cells = <0>;
628 compatible = "fixed-factor-clock";
629 clocks = <&sysclk_div>;
630 clock-mult = <1>;
631 clock-div = <8>;
632 };
633
634 func_12m_clk: func_12m_clk {
635 #clock-cells = <0>;
636 compatible = "fixed-factor-clock";
637 clocks = <&dpll_per_m2_ck>;
638 clock-mult = <1>;
639 clock-div = <16>;
640 };
641
642 vtp_clk_div: vtp_clk_div {
643 #clock-cells = <0>;
644 compatible = "fixed-factor-clock";
645 clocks = <&sys_clkin_ck>;
646 clock-mult = <1>;
647 clock-div = <2>;
648 };
649
650 usbphy_32khz_clkmux: usbphy_32khz_clkmux {
651 #clock-cells = <0>;
652 compatible = "ti,mux-clock";
653 clocks = <&clk_32768_ck>, <&clk_32k_tpm_ck>;
654 reg = <0x4260>;
655 };
656};
arch/arm/boot/dts/animeo_ip.dts+8−23
@@ -90,34 +90,19 @@ · 89 unmodified lines
90 nand-on-flash-bbt;90 nand-on-flash-bbt;
91 status = "okay";91 status = "okay";
92 92
93 at91bootstrap@0 {93 barebox@0 {
94 label = "at91bootstrap";
95 reg = <0x0 0x8000>;
96 };
97
98 barebox@8000 {
99 label = "barebox";94 label = "barebox";
100 reg = <0x8000 0x40000>;95 reg = <0x0 0x58000>;
101 };
102
103 bareboxenv@48000 {
104 label = "bareboxenv";
105 reg = <0x48000 0x8000>;
106 };
107
108 user_block@0x50000 {
109 label = "user_block";
110 reg = <0x50000 0xb0000>;
111 };96 };
112 97
113 kernel@100000 {98 u_boot_env@58000 {
114 label = "kernel";99 label = "u_boot_env";
115 reg = <0x100000 0x1b0000>;100 reg = <0x58000 0x8000>;
116 };101 };
117 102
118 root@2b0000 {103 ubi@60000 {
119 label = "root";104 label = "ubi";
120 reg = <0x2b0000 0x1D50000>;105 reg = <0x60000 0x1FA0000>;
121 };106 };
122 };107 };
123 108
arch/arm/boot/dts/armada-370-mirabox.dts+23−2
@@ -74,13 +74,13 @@ · 73 unmodified lines
74 green_pwr_led {74 green_pwr_led {
75 label = "mirabox:green:pwr";75 label = "mirabox:green:pwr";
76 gpios = <&gpio1 31 1>;76 gpios = <&gpio1 31 1>;
77 linux,default-trigger = "heartbeat";77 default-state = "keep";
78 };78 };
79 79
80 blue_stat_led {80 blue_stat_led {
81 label = "mirabox:blue:stat";81 label = "mirabox:blue:stat";
82 gpios = <&gpio2 0 1>;82 gpios = <&gpio2 0 1>;
83 linux,default-trigger = "cpu0";83 default-state = "off";
84 };84 };
85 85
86 green_stat_led {86 green_stat_led {
@@ -139,6 +139,27 @@ · 52 unmodified lines
139 reg = <0x25>;139 reg = <0x25>;
140 };140 };
141 };141 };
142
143 nand@d0000 {
144 status = "okay";
145 num-cs = <1>;
146 marvell,nand-keep-config;
147 marvell,nand-enable-arbiter;
148 nand-on-flash-bbt;
149
150 partition@0 {
151 label = "U-Boot";
152 reg = <0 0x400000>;
153 };
154 partition@400000 {
155 label = "Linux";
156 reg = <0x400000 0x400000>;
157 };
158 partition@800000 {
159 label = "Filesystem";
160 reg = <0x800000 0x3f800000>;
161 };
162 };
142 };163 };
143 };164 };
144};165};
arch/arm/boot/dts/armada-370-netgear-rn102.dts+91−34
@@ -11,6 +11,8 @@ · 10 unmodified lines
11 11
12/dts-v1/;12/dts-v1/;
13 13
14#include <dt-bindings/input/input.h>
15#include <dt-bindings/gpio/gpio.h>
14#include "armada-370.dtsi"16#include "armada-370.dtsi"
15 17
16/ {18/ {
@@ -62,6 +64,7 @@ · 45 unmodified lines
62 marvell,pins = "mpp57";64 marvell,pins = "mpp57";
63 marvell,function = "gpio";65 marvell,function = "gpio";
64 };66 };
67
65 sata1_led_pin: sata1-led-pin {68 sata1_led_pin: sata1-led-pin {
66 marvell,pins = "mpp15";69 marvell,pins = "mpp15";
67 marvell,function = "gpio";70 marvell,function = "gpio";
@@ -77,6 +80,21 @@ · 9 unmodified lines
77 marvell,function = "gpio";80 marvell,function = "gpio";
78 };81 };
79 82
83 backup_button_pin: backup-button-pin {
84 marvell,pins = "mpp58";
85 marvell,function = "gpio";
86 };
87
88 power_button_pin: power-button-pin {
89 marvell,pins = "mpp62";
90 marvell,function = "gpio";
91 };
92
93 reset_button_pin: reset-button-pin {
94 marvell,pins = "mpp6";
95 marvell,function = "gpio";
96 };
97
80 poweroff: poweroff {98 poweroff: poweroff {
81 marvell,pins = "mpp8";99 marvell,pins = "mpp8";
82 marvell,function = "gpio";100 marvell,function = "gpio";
@@ -84,7 +102,7 @@ · 1 unmodified line
84 };102 };
85 103
86 mdio {104 mdio {
87 phy0: ethernet-phy@0 {105 phy0: ethernet-phy@0 { /* Marvell 88E1318 */
88 reg = <0>;106 reg = <0>;
89 };107 };
90 };108 };
@@ -104,6 +122,11 @@ · 13 unmodified lines
104 clock-frequency = <100000>;122 clock-frequency = <100000>;
105 status = "okay";123 status = "okay";
106 124
125 isl12057: isl12057@68 {
126 compatible = "isl,isl12057";
127 reg = <0x68>;
128 };
129
107 g762: g762@3e {130 g762: g762@3e {
108 compatible = "gmt,g762";131 compatible = "gmt,g762";
109 reg = <0x3e>;132 reg = <0x3e>;
@@ -113,82 +136,116 @@ · 3 unmodified lines
113 pwm_polarity = <0>;136 pwm_polarity = <0>;
114 };137 };
115 };138 };
139
140 nand@d0000 {
141 status = "okay";
142 num-cs = <1>;
143 marvell,nand-keep-config;
144 marvell,nand-enable-arbiter;
145 nand-on-flash-bbt;
146
147 partition@0 {
148 label = "u-boot";
149 reg = <0x0000000 0x180000>; /* 1.5MB */
150 read-only;
151 };
152
153 partition@180000 {
154 label = "u-boot-env";
155 reg = <0x180000 0x20000>; /* 128KB */
156 read-only;
157 };
158
159 partition@200000 {
160 label = "uImage";
161 reg = <0x0200000 0x600000>; /* 6MB */
162 };
163
164 partition@800000 {
165 label = "minirootfs";
166 reg = <0x0800000 0x400000>; /* 4MB */
167 };
168
169 /* Last MB is for the BBT, i.e. not writable */
170 partition@c00000 {
171 label = "ubifs";
172 reg = <0x0c00000 0x7400000>; /* 116MB */
173 };
174 };
116 };175 };
117 };176 };
118 177
119 clocks {178 clocks {
120 #address-cells = <1>;179 g762_clk: g762-oscillator {
121 #size-cells = <0>;
122
123 g762_clk: fixedclk {
124 compatible = "fixed-clock";180 compatible = "fixed-clock";
125 #clock-cells = <0>;181 #clock-cells = <0>;
126 clock-frequency = <8192>;182 clock-frequency = <8192>;
127 };183 };
128 };184 };
129 185
130 gpio_leds {186 gpio-leds {
131 compatible = "gpio-leds";187 compatible = "gpio-leds";
132 pinctrl-0 = < &power_led_pin188 pinctrl-0 = <&power_led_pin
133 &sata1_led_pin189 &sata1_led_pin
134 &sata2_led_pin190 &sata2_led_pin
135 &backup_led_pin >;191 &backup_led_pin>;
136 pinctrl-names = "default";192 pinctrl-names = "default";
137 193
138 blue_power_led {194 blue-power-led {
139 label = "rn102:blue:pwr";195 label = "rn102:blue:pwr";
140 gpios = <&gpio1 25 1>; /* GPIO 57 Active Low */196 gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
141 linux,default-trigger = "heartbeat";197 default-state = "keep";
142 };198 };
143 199
144 green_sata1_led {200 green-sata1-led {
145 label = "rn102:green:sata1";201 label = "rn102:green:sata1";
146 gpios = <&gpio0 15 1>; /* GPIO 15 Active Low */202 gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
147 default-state = "on";203 default-state = "on";
148 };204 };
149 205
150 green_sata2_led {206 green-sata2-led {
151 label = "rn102:green:sata2";207 label = "rn102:green:sata2";
152 gpios = <&gpio0 14 1>; /* GPIO 14 Active Low */208 gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
153 default-state = "on";209 default-state = "on";
154 };210 };
155 211
156 green_backup_led {212 green-backup-led {
157 label = "rn102:green:backup";213 label = "rn102:green:backup";
158 gpios = <&gpio1 24 1>; /* GPIO 56 Active Low */214 gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
159 default-state = "on";215 default-state = "on";
160 };216 };
161 };217 };
162 218
163 gpio_keys {219 gpio-keys {
164 compatible = "gpio-keys";220 compatible = "gpio-keys";
165 #address-cells = <1>;221 pinctrl-0 = <&power_button_pin
166 #size-cells = <0>;222 &reset_button_pin
223 &backup_button_pin>;
224 pinctrl-names = "default";
167 225
168 button@1 {226 power-button {
169 label = "Power Button";227 label = "Power Button";
170 linux,code = <116>; /* KEY_POWER */228 linux,code = <KEY_POWER>;
171 gpios = <&gpio1 30 0>;229 gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>;
172 };230 };
173 231
174 button@2 {232 reset-button {
175 label = "Reset Button";233 label = "Reset Button";
176 linux,code = <0x198>; /* KEY_RESTART */234 linux,code = <KEY_RESTART>;
177 gpios = <&gpio0 6 1>;235 gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
178 };236 };
179 237
180 button@3 {238 backup-button {
181 label = "Backup Button";239 label = "Backup Button";
182 linux,code = <133>; /* KEY_COPY */240 linux,code = <KEY_COPY>;
183 gpios = <&gpio1 26 1>;241 gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
184 };242 };
185 };243 };
186 244
187 gpio_poweroff {245 gpio-poweroff {
188 compatible = "gpio-poweroff";246 compatible = "gpio-poweroff";
189 pinctrl-0 = <&poweroff>;247 pinctrl-0 = <&poweroff>;
190 pinctrl-names = "default";248 pinctrl-names = "default";
191 gpios = <&gpio0 8 1>;249 gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
192 };250 };
193
194};251};
arch/arm/boot/dts/armada-370-netgear-rn104.dts+100−31
@@ -11,6 +11,8 @@ · 10 unmodified lines
11 11
12/dts-v1/;12/dts-v1/;
13 13
14#include <dt-bindings/input/input.h>
15#include <dt-bindings/gpio/gpio.h>
14#include "armada-370.dtsi"16#include "armada-370.dtsi"
15 17
16/ {18/ {
@@ -58,12 +60,12 @@ · 41 unmodified lines
58 marvell,function = "gpio";60 marvell,function = "gpio";
59 };61 };
60 62
61 backup_key_pin: backup-key-pin {63 backup_button_pin: backup-button-pin {
62 marvell,pins = "mpp52";64 marvell,pins = "mpp52";
63 marvell,function = "gpio";65 marvell,function = "gpio";
64 };66 };
65 67
66 power_key_pin: power-key-pin {68 power_button_pin: power-button-pin {
67 marvell,pins = "mpp62";69 marvell,pins = "mpp62";
68 marvell,function = "gpio";70 marvell,function = "gpio";
69 };71 };
@@ -78,18 +80,18 @@ · 8 unmodified lines
78 marvell,function = "gpio";80 marvell,function = "gpio";
79 };81 };
80 82
81 reset_key_pin: reset-key-pin {83 reset_button_pin: reset-button-pin {
82 marvell,pins = "mpp65";84 marvell,pins = "mpp65";
83 marvell,function = "gpio";85 marvell,function = "gpio";
84 };86 };
85 };87 };
86 88
87 mdio {89 mdio {
88 phy0: ethernet-phy@0 {90 phy0: ethernet-phy@0 { /* Marvell 88E1318 */
89 reg = <0>;91 reg = <0>;
90 };92 };
91 93
92 phy1: ethernet-phy@1 {94 phy1: ethernet-phy@1 { /* Marvell 88E1318 */
93 reg = <1>;95 reg = <1>;
94 };96 };
95 };97 };
@@ -115,6 +117,11 @@ · 19 unmodified lines
115 clock-frequency = <100000>;117 clock-frequency = <100000>;
116 status = "okay";118 status = "okay";
117 119
120 isl12057: isl12057@68 {
121 compatible = "isl,isl12057";
122 reg = <0x68>;
123 };
124
118 g762: g762@3e {125 g762: g762@3e {
119 compatible = "gmt,g762";126 compatible = "gmt,g762";
120 reg = <0x3e>;127 reg = <0x3e>;
@@ -123,71 +130,133 @@ · 2 unmodified lines
123 fan_startv = <1>;130 fan_startv = <1>;
124 pwm_polarity = <0>;131 pwm_polarity = <0>;
125 };132 };
133
134 pca9554: pca9554@23 {
135 compatible = "nxp,pca9554";

153 more lines aren’t shown here.

arch/arm/boot/dts/armada-370-rd.dts+21−0

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

arch/arm/boot/dts/armada-370-xp.dtsi+88−79

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

arch/arm/boot/dts/armada-370.dtsi+37−37

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

arch/arm/boot/dts/armada-xp-gp.dts+8−0

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

arch/arm/boot/dts/armada-xp-netgear-rn2120.dts+327−0

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

arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts+1−2

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

arch/arm/boot/dts/armada-xp.dtsi+50−50

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

arch/arm/boot/dts/armv7-m.dtsi+18−0

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

arch/arm/boot/dts/at91-cosino.dtsi+122−0

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

arch/arm/boot/dts/at91-cosino_mega2560.dts+84−0

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

arch/arm/boot/dts/at91-qil_a9260.dts+185−0

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

arch/arm/boot/dts/at91rm9200.dtsi+2−2

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

arch/arm/boot/dts/at91rm9200ek.dts+46−11

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

arch/arm/boot/dts/at91sam9260.dtsi+5−0

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

arch/arm/boot/dts/at91sam9263.dtsi+51−0

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

arch/arm/boot/dts/at91sam9263ek.dts+30−0

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

arch/arm/boot/dts/at91sam9g45.dtsi+81−0

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

arch/arm/boot/dts/at91sam9m10g45ek.dts+52−2

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

arch/arm/boot/dts/at91sam9n12.dtsi+14−0

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

arch/arm/boot/dts/at91sam9x5.dtsi+14−0

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

arch/arm/boot/dts/atlas6.dtsi+26−0

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

arch/arm/boot/dts/bcm11351-brt.dts+6−0

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

arch/arm/boot/dts/bcm11351.dtsi+169−5

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

arch/arm/boot/dts/bcm28155-ap.dts+28−0

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

arch/arm/boot/dts/bcm2835-rpi-b.dts+7−2

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

arch/arm/boot/dts/bcm2835.dtsi+6−0

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

arch/arm/boot/dts/berlin2-sony-nsz-gs7.dts+29−0

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

arch/arm/boot/dts/berlin2.dtsi+227−0

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

arch/arm/boot/dts/berlin2cd-google-chromecast.dts+29−0

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

arch/arm/boot/dts/berlin2cd.dtsi+210−0

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

arch/arm/boot/dts/da850-evm.dts+3−0

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

arch/arm/boot/dts/da850.dtsi+14−0

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

arch/arm/boot/dts/dove-cubox.dts+1−1

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

arch/arm/boot/dts/dove.dtsi+259−239

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

arch/arm/boot/dts/dra7.dtsi+41−0

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

arch/arm/boot/dts/dra7xx-clocks.dtsi+2015−0

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

arch/arm/boot/dts/efm32gg-dk3750.dts+86−0

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

arch/arm/boot/dts/efm32gg.dtsi+172−0

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

arch/arm/boot/dts/emev2-kzm9d.dts+40−2

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

arch/arm/boot/dts/emev2.dtsi+103−13

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

arch/arm/boot/dts/exynos4.dtsi+3−3

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

arch/arm/boot/dts/exynos4210-origen.dts+1−1

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

arch/arm/boot/dts/exynos4210.dtsi+10−13

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

arch/arm/boot/dts/exynos4212.dtsi+1−23

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

arch/arm/boot/dts/exynos4412-odroidx.dts+2−4

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

arch/arm/boot/dts/exynos4412-origen.dts+2−5

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

arch/arm/boot/dts/exynos4412-tiny4412.dts+93−0

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

arch/arm/boot/dts/exynos4412-trats2.dts+17−4

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

arch/arm/boot/dts/exynos4412.dtsi+1−34

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

arch/arm/boot/dts/exynos4x12.dtsi+33−0

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

arch/arm/boot/dts/exynos5.dtsi+2−23

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

arch/arm/boot/dts/exynos5250-arndale.dts+15−49

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

arch/arm/boot/dts/exynos5250-cros-common.dtsirenamed from arch/arm/boot/dts/cros5250-common.dtsi+13−22

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

arch/arm/boot/dts/exynos5250-smdk5250.dts+23−39

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

arch/arm/boot/dts/exynos5250-snow.dts+13−3

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

arch/arm/boot/dts/exynos5250.dtsi+54−8

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

arch/arm/boot/dts/exynos5420-arndale-octa.dts+66−0

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

arch/arm/boot/dts/exynos5420-pinctrl.dtsi+1−1

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

arch/arm/boot/dts/exynos5420-smdk5420.dts+33−0

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

arch/arm/boot/dts/exynos5420.dtsi+346−4

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

arch/arm/boot/dts/exynos5440.dtsi+1−1

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

arch/arm/boot/dts/hi3620-hi4511.dts+649−0

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

arch/arm/boot/dts/hi3620.dtsi+565−0

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

arch/arm/boot/dts/imx23.dtsi+3−1

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

arch/arm/boot/dts/imx28.dtsi+2−1

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

arch/arm/boot/dts/imx6dl-cubox-i.dts+12−0

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

arch/arm/boot/dts/imx6dl-hummingboard.dts+167−0

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

arch/arm/boot/dts/imx6q-cubox-i.dts+16−0

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

arch/arm/boot/dts/imx6qdl-cubox-i.dtsi+143−0

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

arch/arm/boot/dts/imx6qdl-microsom-ar8035.dtsi+62−0

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

arch/arm/boot/dts/imx6qdl-microsom.dtsi+33−0

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

arch/arm/boot/dts/integrator.dtsi+5−0

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

arch/arm/boot/dts/integratorcp.dts+3−0

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

arch/arm/boot/dts/k2hk-evm.dts+63−0

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

arch/arm/boot/dts/keystone-clocks.dtsi+17−19

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

arch/arm/boot/dts/keystone.dtsirenamed from arch/arm/boot/dts/keystone.dts+32−3

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

arch/arm/boot/dts/kirkwood-6192.dtsi+107−0

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

arch/arm/boot/dts/kirkwood-6281.dtsi+4−0

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

arch/arm/boot/dts/kirkwood-6282.dtsi+21−18

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

arch/arm/boot/dts/kirkwood-cloudbox.dts+5−6

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

arch/arm/boot/dts/kirkwood-db.dtsi+2−3

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

arch/arm/boot/dts/kirkwood-dns320.dts+6−6

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

arch/arm/boot/dts/kirkwood-dns325.dts+6−6

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

arch/arm/boot/dts/kirkwood-dnskw.dtsi+9−10

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

arch/arm/boot/dts/kirkwood-dockstar.dts+3−4

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

arch/arm/boot/dts/kirkwood-dreamplug.dts+3−5

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

arch/arm/boot/dts/kirkwood-goflexnet.dts+12−13

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

arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts+6−8

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

arch/arm/boot/dts/kirkwood-ib62x0.dts+9−10

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

arch/arm/boot/dts/kirkwood-iconnect.dts+14−15

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

arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts+11−12

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

arch/arm/boot/dts/kirkwood-km_kirkwood.dts+2−3

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

arch/arm/boot/dts/kirkwood-laplug.dts+175−0

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

arch/arm/boot/dts/kirkwood-lsxl.dtsi+15−17

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

arch/arm/boot/dts/kirkwood-mplcec4.dts+7−9

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

arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts+7−7

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

arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts+71−41

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

arch/arm/boot/dts/kirkwood-netgear_readynas_nv+_v2.dts+268−0

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

arch/arm/boot/dts/kirkwood-ns2-common.dtsi+4−5

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

arch/arm/boot/dts/kirkwood-ns2lite.dts+2−2

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

arch/arm/boot/dts/kirkwood-ns2max.dts+5−5

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

arch/arm/boot/dts/kirkwood-ns2mini.dts+5−5

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

arch/arm/boot/dts/kirkwood-nsa310-common.dtsi+2−2

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

arch/arm/boot/dts/kirkwood-nsa310.dts+16−16

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

arch/arm/boot/dts/kirkwood-nsa310a.dts+15−15

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

arch/arm/boot/dts/kirkwood-openblocks_a6.dts+5−6

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

arch/arm/boot/dts/kirkwood-openblocks_a7.dts+5−7

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

arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi+1−2

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

arch/arm/boot/dts/kirkwood-sheevaplug-esata.dts+4−4

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

arch/arm/boot/dts/kirkwood-sheevaplug.dts+4−4

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

arch/arm/boot/dts/kirkwood-topkick.dts+5−6

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

arch/arm/boot/dts/kirkwood-ts219-6281.dts+4−4

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

arch/arm/boot/dts/kirkwood-ts219-6282.dts+4−4

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

arch/arm/boot/dts/kirkwood-ts219.dtsi+0−1

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

arch/arm/boot/dts/kirkwood.dtsi+90−72

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

arch/arm/boot/dts/kizbox.dts+6−0

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

arch/arm/boot/dts/moxart-uc7112lx.dts+117−0

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

arch/arm/boot/dts/moxart.dtsi+148−0

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

arch/arm/boot/dts/omap2.dtsi+1−1

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

arch/arm/boot/dts/omap2420-n800.dts+8−0

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

arch/arm/boot/dts/omap2420-n810-wimax.dts+8−0

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

arch/arm/boot/dts/omap2420-n810.dts+8−0

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

arch/arm/boot/dts/omap2420-n8x0-common.dtsi+99−0

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

arch/arm/boot/dts/omap2430-sdp.dts+49−0

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

arch/arm/boot/dts/omap3-beagle-xm.dts+26−14

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

arch/arm/boot/dts/omap3-beagle.dts+26−14

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

arch/arm/boot/dts/omap3-cm-t3730.dts+104−0

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

arch/arm/boot/dts/omap3-cm-t3x30.dtsi+95−0

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

arch/arm/boot/dts/omap3-igep.dtsi+0−2

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

arch/arm/boot/dts/omap3-igep0020.dts+29−23

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

arch/arm/boot/dts/omap3-igep0030.dts+6−4

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

arch/arm/boot/dts/omap3-ldp.dts+231−0

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

arch/arm/boot/dts/omap3-sb-t35.dtsi+40−0

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

arch/arm/boot/dts/omap3-sbc-t3730.dts+30−0

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

arch/arm/boot/dts/omap3-zoom3.dts+15−8

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

arch/arm/boot/dts/omap3.dtsi+42−1

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

arch/arm/boot/dts/omap3430es1-clocks.dtsi+208−0

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

arch/arm/boot/dts/omap34xx-omap36xx-clocks.dtsi+268−0

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

arch/arm/boot/dts/omap34xx.dtsi+17−0

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

arch/arm/boot/dts/omap36xx-am35xx-omap3430es2plus-clocks.dtsi+242−0

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

arch/arm/boot/dts/omap36xx-clocks.dtsi+90−0

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

arch/arm/boot/dts/omap36xx-omap3430es2plus-clocks.dtsi+198−0

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

arch/arm/boot/dts/omap36xx.dtsi+16−0

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

arch/arm/boot/dts/omap3xxx-clocks.dtsi+1660−0

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

arch/arm/boot/dts/omap4-cpu-thermal.dtsi+41−0

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

arch/arm/boot/dts/omap4.dtsi+54−0

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

arch/arm/boot/dts/omap443x-clocks.dtsi+18−0

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

arch/arm/boot/dts/omap443x.dtsi+20−5

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

arch/arm/boot/dts/omap4460.dtsi+23−8

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

arch/arm/boot/dts/omap446x-clocks.dtsi+27−0

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

arch/arm/boot/dts/omap44xx-clocks.dtsi+1651−0

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

arch/arm/boot/dts/omap5-core-thermal.dtsi+28−0

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

arch/arm/boot/dts/omap5-gpu-thermal.dtsi+28−0

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

arch/arm/boot/dts/omap5.dtsi+67−1

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

arch/arm/boot/dts/omap54xx-clocks.dtsi+1399−0

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

arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts+0−1

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

arch/arm/boot/dts/orion5x.dtsi+53−54

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

arch/arm/boot/dts/prima2.dtsi+41−0

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

arch/arm/boot/dts/pxa27x.dtsi+24−0

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

arch/arm/boot/dts/qcom-apq8074-dragonboard.dts+6−0

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

arch/arm/boot/dts/qcom-msm8660-surf.dts+2−2

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

arch/arm/boot/dts/qcom-msm8960-cdp.dts+1−1

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

arch/arm/boot/dts/qcom-msm8974.dtsi+97−0

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

arch/arm/boot/dts/r7s72100-genmai-reference.dts+31−0

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

arch/arm/boot/dts/r7s72100-genmai.dts+1−1

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

arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts+10−5

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

arch/arm/boot/dts/r8a73a4-ape6evm.dts+8−2

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

arch/arm/boot/dts/r8a73a4.dtsi+123−61

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

arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts+84−6

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

arch/arm/boot/dts/r8a7740-armadillo800eva.dts+1−1

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

arch/arm/boot/dts/r8a7740.dtsi+88−56

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

arch/arm/boot/dts/r8a7778-bockw-reference.dts+55−2

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

arch/arm/boot/dts/r8a7778-bockw.dts+1−1

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

arch/arm/boot/dts/r8a7778.dtsi+161−11

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

arch/arm/boot/dts/r8a7779-marzen-reference.dts+28−8

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

arch/arm/boot/dts/r8a7779-marzen.dts+1−1

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

arch/arm/boot/dts/r8a7779.dtsi+93−21

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

arch/arm/boot/dts/r8a7790-lager-reference.dts+0−45

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

arch/arm/boot/dts/r8a7790-lager.dts+63−1

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

arch/arm/boot/dts/r8a7790.dtsi+383−30

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

arch/arm/boot/dts/r8a7791-koelsch-reference.dts+115−0

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

arch/arm/boot/dts/r8a7791-koelsch.dts+34−1

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

arch/arm/boot/dts/r8a7791.dtsi+451−16

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

arch/arm/boot/dts/sama5d3.dtsi+422−6

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

arch/arm/boot/dts/sama5d36.dtsi+20−0

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

arch/arm/boot/dts/sama5d36ek.dts+53−0

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

arch/arm/boot/dts/sama5d3_can.dtsi+20−0

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

arch/arm/boot/dts/sama5d3_emac.dtsi+11−0

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

arch/arm/boot/dts/sama5d3_gmac.dtsi+11−0

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

arch/arm/boot/dts/sama5d3_lcd.dtsi+17−0

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

arch/arm/boot/dts/sama5d3_mci2.dtsi+12−0

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

arch/arm/boot/dts/sama5d3_tcb1.dtsi+12−0

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

arch/arm/boot/dts/sama5d3_uart.dtsi+26−0

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

arch/arm/boot/dts/sama5d3xcm.dtsi+6−11

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

arch/arm/boot/dts/sama5d3xdm.dtsi+1−0

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

arch/arm/boot/dts/sh7372-mackerel.dts+1−1

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

arch/arm/boot/dts/sh73a0-kzm9g-reference.dts+97−6

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

arch/arm/boot/dts/sh73a0-kzm9g.dts+1−1

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

arch/arm/boot/dts/sh73a0.dtsi+94−74

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

arch/arm/boot/dts/socfpga.dtsi+4−0

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

arch/arm/boot/dts/st-pincfg.h+1−1

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

arch/arm/boot/dts/ste-dbx5x0.dtsi+32−0

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

arch/arm/boot/dts/ste-href-family-pinctrl.dtsi+745−0

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

arch/arm/boot/dts/ste-href-stuib.dtsi+41−0

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

arch/arm/boot/dts/ste-href-tvk1281618.dtsi+84−6

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

arch/arm/boot/dts/ste-href.dtsi+68−12

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

arch/arm/boot/dts/ste-hrefprev60.dtsi+73−5

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

arch/arm/boot/dts/ste-hrefv60plus.dtsi+211−40

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

arch/arm/boot/dts/ste-nomadik-pinctrl.dtsi+80−0

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

arch/arm/boot/dts/ste-nomadik-s8815.dts+0−4

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

arch/arm/boot/dts/ste-nomadik-stn8815.dtsi+2−2

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

arch/arm/boot/dts/ste-snowball.dts+227−4

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

arch/arm/boot/dts/ste-u300.dts+3−3

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

arch/arm/boot/dts/stih415-pinctrl.dtsi+36−0

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

arch/arm/boot/dts/stih415.dtsi+53−0

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

arch/arm/boot/dts/stih416-pinctrl.dtsi+35−0

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

arch/arm/boot/dts/stih416.dtsi+53−0

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

arch/arm/boot/dts/stih41x-b2000.dtsi+9−0

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

arch/arm/boot/dts/stih41x-b2020.dtsi+22−0

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

arch/arm/boot/dts/sun4i-a10-a1000.dts+0−4

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

arch/arm/boot/dts/sun4i-a10-cubieboard.dts+0−9

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

arch/arm/boot/dts/sun4i-a10-hackberry.dts+0−4

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

arch/arm/boot/dts/sun4i-a10-mini-xplus.dts+0−4

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

arch/arm/boot/dts/sun4i-a10.dtsi+162−2

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

arch/arm/boot/dts/sun5i-a10s.dtsi+130−2

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

arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts+68−0

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

arch/arm/boot/dts/sun5i-a13-olinuxino.dts+0−4

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

arch/arm/boot/dts/sun5i-a13.dtsi+126−2

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

arch/arm/boot/dts/sun6i-a31.dtsi+34−0

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

arch/arm/boot/dts/sun7i-a20-cubietruck.dts+18−0

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

arch/arm/boot/dts/sun7i-a20.dtsi+210−12

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

arch/arm/boot/dts/tegra114-dalmore.dts+335−295

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

arch/arm/boot/dts/tegra114.dtsi+251−44

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

arch/arm/boot/dts/tegra124-venice2.dts+1064−0

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

arch/arm/boot/dts/tegra124.dtsi+418−0

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

arch/arm/boot/dts/tegra20-colibri-512.dtsi+107−102

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

arch/arm/boot/dts/tegra20-harmony.dts+177−139

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

arch/arm/boot/dts/tegra20-iris-512.dts+15−15

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

arch/arm/boot/dts/tegra20-medcom-wide.dts+1−1

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

arch/arm/boot/dts/tegra20-paz00.dts+30−22

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

arch/arm/boot/dts/tegra20-plutux.dts+2−2

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

arch/arm/boot/dts/tegra20-seaboard.dts+180−173

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

arch/arm/boot/dts/tegra20-tamonten.dtsi+26−21

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

arch/arm/boot/dts/tegra20-tec.dts+3−3

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

arch/arm/boot/dts/tegra20-trimslice.dts+30−24

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

arch/arm/boot/dts/tegra20-ventana.dts+34−28

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

arch/arm/boot/dts/tegra20-whistler.dts+45−39

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

arch/arm/boot/dts/tegra20.dtsi+147−44

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

arch/arm/boot/dts/tegra30-beaver.dts+70−56

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

arch/arm/boot/dts/tegra30-cardhu-a02.dts+7−7

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

arch/arm/boot/dts/tegra30-cardhu-a04.dts+7−7

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

arch/arm/boot/dts/tegra30-cardhu.dtsi+72−32

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

arch/arm/boot/dts/tegra30.dtsi+189−58

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

arch/arm/boot/dts/zynq-7000.dtsi+37−2

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

arch/arm/boot/dts/zynq-zc702.dts+5−0

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

arch/arm/boot/dts/zynq-zc706.dts+5−0

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

arch/arm/boot/dts/zynq-zed.dts+5−0

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

arch/arm/common/it8152.c+2−2

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

arch/arm/common/mcpm_entry.c+3−4

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

arch/arm/common/timer-sp.c+2−2

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

arch/arm/configs/ape6evm_defconfig+1−1

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

arch/arm/configs/armadillo800eva_defconfig+4−1

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

arch/arm/configs/at91_dt_defconfig+0−1

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

arch/arm/configs/at91rm9200_defconfig+0−1

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

arch/arm/configs/at91sam9260_9g20_defconfig+0−2

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

arch/arm/configs/at91sam9261_9g10_defconfig+0−1

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

arch/arm/configs/at91sam9g45_defconfig+0−1

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

arch/arm/configs/at91sam9rl_defconfig+0−1

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

arch/arm/configs/bcm2835_defconfig+23−14

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

arch/arm/configs/bcm_defconfig+5−2

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

arch/arm/configs/bockw_defconfig+6−6

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

arch/arm/configs/efm32_defconfig+102−0

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

arch/arm/configs/exynos_defconfig+2−1

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

arch/arm/configs/genmai_defconfig+116−0

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

arch/arm/configs/hi3xxx_defconfig+56−0

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

arch/arm/configs/imx_v4_v5_defconfig+2−0

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

arch/arm/configs/imx_v6_v7_defconfig+11−2

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

arch/arm/configs/keystone_defconfig+19−1

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

arch/arm/configs/kirkwood_defconfig+1−0

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

arch/arm/configs/koelsch_defconfig+25−2

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

arch/arm/configs/kzm9d_defconfig+2−1

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

arch/arm/configs/kzm9g_defconfig+1−1

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

arch/arm/configs/lager_defconfig+3−2

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

arch/arm/configs/mackerel_defconfig+1−1

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

arch/arm/configs/marzen_defconfig+5−7

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

arch/arm/configs/moxart_defconfig+149−0

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

arch/arm/configs/msm_defconfig+7−7

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

arch/arm/configs/multi_v7_defconfig+7−0

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

arch/arm/configs/mvebu_defconfig+3−0

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

arch/arm/configs/omap2plus_defconfig+3−0

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

arch/arm/configs/sama5_defconfig+0−1

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

arch/arm/configs/tegra_defconfig+15−8

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

arch/arm/configs/u8500_defconfig+1−0

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

arch/arm/configs/versatile_defconfig+12−14

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

arch/arm/firmware/Kconfig+28−0

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

arch/arm/firmware/Makefile+1−0

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

arch/arm/firmware/trusted_foundations.c+81−0

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

arch/arm/include/asm/Kbuild+1−0

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

arch/arm/include/asm/bitops.h+44−10

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

arch/arm/include/asm/cacheflush.h+5−0

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

arch/arm/include/asm/checksum.h+24−10

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

arch/arm/include/asm/clkdev.h+2−0

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

arch/arm/include/asm/dma.h+2−2

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

arch/arm/include/asm/hardware/cache-l2x0.h+1−0

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

arch/arm/include/asm/io.h+6−0

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

arch/arm/include/asm/kvm_host.h+3−0

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

arch/arm/include/asm/kvm_mmu.h+1−0

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

arch/arm/include/asm/mach/map.h+15−12

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

arch/arm/include/asm/pci.h+1−4

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

arch/arm/include/asm/pgtable-2level.h+1−0

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

arch/arm/include/asm/pgtable-3level.h+1−0

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

arch/arm/include/asm/pgtable.h+2−0

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

arch/arm/include/asm/trusted_foundations.h+67−0

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

arch/arm/include/asm/word-at-a-time.h+10−8

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

arch/arm/include/asm/xen/page.h+2−1

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

arch/arm/include/debug/imx-uart.h+10−0

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

arch/arm/include/debug/tegra.S+5−29

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

arch/arm/include/uapi/asm/kvm.h+28−0

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

arch/arm/kernel/armksyms.c+4−0

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

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

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

arch/arm/kernel/entry-armv.S+2−0

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

arch/arm/kernel/entry-v7m.S+0−2

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

arch/arm/kernel/etm.c+0−6

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

arch/arm/kernel/head.S+2−1

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

arch/arm/kernel/io.c+35−0

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

arch/arm/kernel/setup.c+36−23

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

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

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

arch/arm/kernel/tcm.c+2−2

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

arch/arm/kernel/topology.c+6−6

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

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

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

arch/arm/kvm/arm.c+64−15

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

arch/arm/kvm/guest.c+91−1

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

arch/arm/kvm/handle_exit.c+0−2

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

arch/arm/kvm/mmu.c+13−11

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

arch/arm/kvm/psci.c+6−5

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

arch/arm/lib/Makefile+1−1

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

arch/arm/lib/backtrace.S+10−10

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

arch/arm/lib/bswapsdi2.S+36−0

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

arch/arm/mach-at91/Kconfig+44−8

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

arch/arm/mach-at91/Kconfig.non_dt+7−7

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

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

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

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

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

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

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

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

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

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

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

arch/arm/mach-at91/at91sam926x_time.c+13−1

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

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

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

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

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

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

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

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

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

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

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

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

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

arch/arm/mach-at91/clock.c+6−7

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

arch/arm/mach-at91/generic.h+2−1

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

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

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

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

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

arch/arm/mach-at91/pm_slowclock.S+1−1

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

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

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

arch/arm/mach-at91/sama5d3.c+1−343

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

arch/arm/mach-at91/setup.c+10−4

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

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

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

arch/arm/mach-bcm2835/Kconfig+1−1

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

arch/arm/mach-berlin/Kconfig+29−0

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

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

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

arch/arm/mach-berlin/berlin.c+39−0

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

arch/arm/mach-clps711x/common.c+2−2

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

arch/arm/mach-clps711x/devices.c+21−0

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

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

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

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

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

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

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

arch/arm/mach-davinci/da8xx-dt.c+1−1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

arch/arm/mach-dove/common.c+3−12

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

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

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

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

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

arch/arm/mach-efm32/dtmachine.c+15−0

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

arch/arm/mach-efm32/include/mach/entry-macro.S+4−0

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

arch/arm/mach-efm32/include/mach/timex.h+3−0

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

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

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

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

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

arch/arm/mach-ep93xx/include/mach/platform.h+2−1

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

arch/arm/mach-exynos/Kconfig+1−3

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

arch/arm/mach-exynos/common.c+9−4

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

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

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

arch/arm/mach-exynos/cpuidle.c+25−8

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

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

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

arch/arm/mach-exynos/include/mach/pm-core.h+4−1

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

arch/arm/mach-exynos/include/mach/regs-clock.h+0−372

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

arch/arm/mach-exynos/include/mach/regs-irq.h+0−19

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

arch/arm/mach-exynos/mach-exynos4-dt.c+1−0

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

arch/arm/mach-exynos/mach-exynos5-dt.c+2−1

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

arch/arm/mach-exynos/platsmp.c+2−4

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

arch/arm/mach-exynos/pm.c+28−5

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

arch/arm/mach-exynos/pm_domains.c+2−7

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

arch/arm/mach-exynos/pmu.c+9−8

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

arch/arm/mach-exynos/regs-pmu.hrenamed from arch/arm/mach-exynos/include/mach/regs-pmu.h+0−53

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

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

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

arch/arm/mach-footbridge/common.c+0−5

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

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

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

arch/arm/mach-footbridge/dc21285-timer.c+37−2

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

arch/arm/mach-footbridge/ebsa285.c+15−3

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

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

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

arch/arm/mach-hisi/Kconfig+17−0

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

arch/arm/mach-hisi/Makefile+7−0

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

arch/arm/mach-hisi/core.h+15−0

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

arch/arm/mach-hisi/hisilicon.c+90−0

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

arch/arm/mach-hisi/hotplug.c+200−0

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

arch/arm/mach-hisi/platsmp.c+89−0

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

arch/arm/mach-imx/Kconfig+20−16

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

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

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

arch/arm/mach-imx/avic.c+0−25

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

arch/arm/mach-imx/clk-gate2.c+1−1

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

arch/arm/mach-imx/clk-imx35.c+14−0

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

arch/arm/mach-imx/clk-imx51-imx53.c+414−390

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

arch/arm/mach-imx/clk-imx6q.c+4−1

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

arch/arm/mach-imx/clk-imx6sl.c+8−3

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

arch/arm/mach-imx/clk-pfd.c+11−0

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

arch/arm/mach-imx/clk-pllv1.c+19−4

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

arch/arm/mach-imx/clk-vf610.c+5−0

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

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

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

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

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

arch/arm/mach-imx/imx35-dt.c+50−0

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

arch/arm/mach-imx/imx51-dt.c+1−1

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

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

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

arch/arm/mach-imx/mach-cpuimx35.c+1−1

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

arch/arm/mach-imx/mach-cpuimx51sd.c+1−1

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

arch/arm/mach-imx/mach-imx50.c+38−0

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

arch/arm/mach-imx/mach-imx53.c+1−1

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

arch/arm/mach-imx/mach-imx6q.c+66−1

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

arch/arm/mach-imx/mach-imx6sl.c+9−1

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

arch/arm/mach-imx/mach-mx31moboard.c+8−8

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

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

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

arch/arm/mach-imx/mach-vf610.c+1−1

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

arch/arm/mach-imx/mm-imx5.c+0−8

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

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

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

arch/arm/mach-imx/pm-imx6q.c+12−4

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

arch/arm/mach-imx/time.c+2−2

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

arch/arm/mach-integrator/integrator_ap.c+33−31

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

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

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

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

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

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

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

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

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

arch/arm/mach-keystone/keystone.c+4−0

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

arch/arm/mach-keystone/keystone.h+1−0

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

arch/arm/mach-keystone/pm_domain.c+0−2

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

arch/arm/mach-kirkwood/board-dt.c+2−38

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

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

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

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

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

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

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

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

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

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

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

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

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

arch/arm/mach-moxart/Kconfig+31−0

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

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

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

arch/arm/mach-moxart/moxart.c+15−0

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

arch/arm/mach-msm/Kconfig+48−26

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

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

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

arch/arm/mach-msm/board-dt.c+9−0

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

arch/arm/mach-msm/board-msm7x30.c+35−0

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

arch/arm/mach-msm/board-qsd8x50.c+35−0

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

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

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

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

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

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

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

arch/arm/mach-mv78xx0/include/mach/gpio.h+0−9

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

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

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

arch/arm/mach-mvebu/armada-370-xp.c+32−0

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

arch/arm/mach-mvebu/armada-370-xp.h+4−0

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

arch/arm/mach-mvebu/coherency.c+1−0

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

arch/arm/mach-mvebu/coherency.h+3−1

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

arch/arm/mach-mvebu/common.h+1−9

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

arch/arm/mach-mvebu/hotplug.c+1−0

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

arch/arm/mach-mvebu/mvebu-soc-id.c+119−0

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

arch/arm/mach-mvebu/mvebu-soc-id.h+32−0

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

arch/arm/mach-mvebu/platsmp.c+2−2

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

arch/arm/mach-mvebu/pmsu.c+2−1

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

arch/arm/mach-mvebu/system-controller.c+3−2

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

arch/arm/mach-nomadik/cpu-8815.c+0−32

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

arch/arm/mach-omap1/include/mach/usb.h+1−37

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

arch/arm/mach-omap1/time.c+2−2

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

arch/arm/mach-omap2/Kconfig+10−21

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

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

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

arch/arm/mach-omap2/board-2430sdp.c+0−273

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

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

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

arch/arm/mach-omap2/board-h4.c+0−365

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

arch/arm/mach-omap2/board-n8x0.c+49−185

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

arch/arm/mach-omap2/board-rx51-peripherals.c+7−0

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

arch/arm/mach-omap2/cclock33xx_data.c+0−1064

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

arch/arm/mach-omap2/cclock44xx_data.c+0−1735

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

arch/arm/mach-omap2/clkt_clksel.c+5−5

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

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

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

arch/arm/mach-omap2/clkt_iclk.c+12−8

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

arch/arm/mach-omap2/clock.c+44−13

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

arch/arm/mach-omap2/clock.h+6−173

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

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

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

arch/arm/mach-omap2/clock3xxx.h+0−3

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

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

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

arch/arm/mach-omap2/common.h+2−1

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

arch/arm/mach-omap2/dpll3xxx.c+20−17

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

arch/arm/mach-omap2/dpll44xx.c+6−6

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

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

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

arch/arm/mach-omap2/io.c+38−10

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

arch/arm/mach-omap2/msdi.c+0−69

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

arch/arm/mach-omap2/mux.h+0−2

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

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

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

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

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

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

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

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

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

arch/arm/mach-omap2/omap4-common.c+1−1

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

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

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

arch/arm/mach-omap2/omap_hwmod.c+6−7

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

arch/arm/mach-omap2/omap_hwmod_2420_data.c+0−137

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

arch/arm/mach-omap2/omap_hwmod_2430_data.c+0−266

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

arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c+5−160

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

arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c+2−70

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

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

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

arch/arm/mach-omap2/pdata-quirks.c+131−7

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

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

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

arch/arm/mach-omap2/prm_common.c+66−0

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

arch/arm/mach-omap2/timer.c+4−6

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

arch/arm/mach-orion5x/board-dt.c+1−1

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

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

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

arch/arm/mach-orion5x/db88f5281-setup.c+1−1

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

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

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

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

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

arch/arm/mach-orion5x/rd88f5182-setup.c+1−1

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

arch/arm/mach-orion5x/terastation_pro2-setup.c+1−1

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

arch/arm/mach-orion5x/ts209-setup.c+1−1

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

arch/arm/mach-orion5x/ts78xx-setup.c+1−1

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

arch/arm/mach-prima2/platsmp.c+1−2

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

arch/arm/mach-pxa/am200epd.c+1−2

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

arch/arm/mach-pxa/am300epd.c+1−2

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

arch/arm/mach-pxa/em-x270.c+1−2

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

arch/arm/mach-pxa/irq.c+0−4

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

arch/arm/mach-pxa/magician.c+1−1

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

arch/arm/mach-pxa/mainstone.c+1−1

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

arch/arm/mach-pxa/pcm990-baseboard.c+1−1

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

arch/arm/mach-pxa/sharpsl_pm.c+4−4

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

arch/arm/mach-pxa/time.c+3−3

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

arch/arm/mach-pxa/trizeps4.c+1−2

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

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

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

arch/arm/mach-s3c24xx/common-smdk.c+1−1

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

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

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

arch/arm/mach-s3c24xx/h1940-bluetooth.c+2−0

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

arch/arm/mach-s3c24xx/include/mach/gpio-samsung.hrenamed from arch/arm/mach-s3c24xx/include/mach/gpio.h+8−18

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

arch/arm/mach-s3c24xx/mach-amlm5900.c+1−0

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

arch/arm/mach-s3c24xx/mach-anubis.c+1−0

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

arch/arm/mach-s3c24xx/mach-at2440evb.c+1−0

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

arch/arm/mach-s3c24xx/mach-bast.c+1−0

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

arch/arm/mach-s3c24xx/mach-gta02.c+1−0

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

arch/arm/mach-s3c24xx/mach-h1940.c+1−0

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

arch/arm/mach-s3c24xx/mach-jive.c+1−0

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

arch/arm/mach-s3c24xx/mach-mini2440.c+1−0

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

arch/arm/mach-s3c24xx/mach-n30.c+1−0

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

arch/arm/mach-s3c24xx/mach-nexcoder.c+1−0

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

arch/arm/mach-s3c24xx/mach-osiris-dvs.c+1−0

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

arch/arm/mach-s3c24xx/mach-osiris.c+1−0

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

arch/arm/mach-s3c24xx/mach-qt2410.c+1−0

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

arch/arm/mach-s3c24xx/mach-rx1950.c+2−0

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

arch/arm/mach-s3c24xx/mach-rx3715.c+1−0

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

arch/arm/mach-s3c24xx/mach-smdk2413.c+1−0

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

arch/arm/mach-s3c24xx/mach-smdk2416.c+1−0

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

arch/arm/mach-s3c24xx/mach-vr1000.c+1−0

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

arch/arm/mach-s3c24xx/pm-s3c2410.c+2−0

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

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

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

arch/arm/mach-s3c24xx/s3c2410.c+1−0

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

arch/arm/mach-s3c24xx/s3c2416.c+1−0

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

arch/arm/mach-s3c24xx/s3c2440.c+1−0

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

arch/arm/mach-s3c24xx/s3c2442.c+1−0

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

arch/arm/mach-s3c24xx/s3c2443.c+1−0

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

arch/arm/mach-s3c24xx/setup-i2c.c+1−0

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

arch/arm/mach-s3c24xx/setup-sdhci-gpio.c+1−0

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

arch/arm/mach-s3c24xx/setup-ts.c+2−0

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

arch/arm/mach-s3c24xx/simtec-usb.c+2−2

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

arch/arm/mach-s3c64xx/Kconfig+4−6

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

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

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

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

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

arch/arm/mach-s3c64xx/common.h+5−0

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

arch/arm/mach-s3c64xx/crag6410.h+1−1

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

arch/arm/mach-s3c64xx/dev-audio.c+1−0

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

arch/arm/mach-s3c64xx/dma.c+0−762

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

arch/arm/mach-s3c64xx/include/mach/dma.h+42−102

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

arch/arm/mach-s3c64xx/include/mach/gpio-samsung.hrenamed from arch/arm/mach-s3c64xx/include/mach/gpio.h+5−4

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

arch/arm/mach-s3c64xx/mach-anw6410.c+1−0

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

arch/arm/mach-s3c64xx/mach-crag6410.c+1−1

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

arch/arm/mach-s3c64xx/mach-hmt.c+1−0

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

arch/arm/mach-s3c64xx/mach-mini6410.c+11−0

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

arch/arm/mach-s3c64xx/mach-real6410.c+1−0

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

arch/arm/mach-s3c64xx/mach-smartq.c+2−1

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

arch/arm/mach-s3c64xx/mach-smartq5.c+1−0

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

arch/arm/mach-s3c64xx/mach-smartq7.c+1−0

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

arch/arm/mach-s3c64xx/mach-smdk6400.c+1−0

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

arch/arm/mach-s3c64xx/mach-smdk6410.c+1−0

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

arch/arm/mach-s3c64xx/pl080.c+244−0

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

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

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

arch/arm/mach-s3c64xx/setup-fb-24bpp.c+1−0

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

arch/arm/mach-s3c64xx/setup-i2c0.c+1−0

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

arch/arm/mach-s3c64xx/setup-i2c1.c+1−0

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

arch/arm/mach-s3c64xx/setup-ide.c+1−0

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

arch/arm/mach-s3c64xx/setup-keypad.c+1−0

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

arch/arm/mach-s3c64xx/setup-sdhci-gpio.c+1−0

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

arch/arm/mach-s3c64xx/setup-spi.c+1−0

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

arch/arm/mach-sa1100/assabet.c+137−8

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

arch/arm/mach-sa1100/clock.c+7−0

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

arch/arm/mach-sa1100/collie.c+35−0

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

arch/arm/mach-sa1100/h3100.c+44−10

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

arch/arm/mach-sa1100/h3600.c+33−41

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

arch/arm/mach-sa1100/include/mach/assabet.h+4−2

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

arch/arm/mach-sa1100/time.c+2−2

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

arch/arm/mach-shmobile/Kconfig+59−28

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

arch/arm/mach-shmobile/Makefile+4−2

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

arch/arm/mach-shmobile/Makefile.boot+2−3

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

arch/arm/mach-shmobile/board-ape6evm.c+3−3

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

arch/arm/mach-shmobile/board-armadillo800eva.c+2−5

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

arch/arm/mach-shmobile/board-bockw-reference.c+18−14

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

arch/arm/mach-shmobile/board-bockw.c+12−6

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

arch/arm/mach-shmobile/board-genmai-reference.c+49−0

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

arch/arm/mach-shmobile/board-koelsch-reference.c+79−0

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

arch/arm/mach-shmobile/board-koelsch.c+189−1

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

arch/arm/mach-shmobile/board-kzm9d.c+0−92

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

arch/arm/mach-shmobile/board-lager-reference.c+35−2

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

arch/arm/mach-shmobile/board-lager.c+150−3

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

arch/arm/mach-shmobile/board-mackerel.c+11−10

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

arch/arm/mach-shmobile/board-marzen.c+23−4

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

arch/arm/mach-shmobile/clock-r7s72100.c+10−1

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

arch/arm/mach-shmobile/clock-r8a73a4.c+5−5

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

arch/arm/mach-shmobile/clock-r8a7740.c+5−4

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

arch/arm/mach-shmobile/clock-r8a7778.c+31−0

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

arch/arm/mach-shmobile/clock-r8a7779.c+11−0

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

arch/arm/mach-shmobile/clock-r8a7790.c+58−18

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

arch/arm/mach-shmobile/clock-r8a7791.c+16−1

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

arch/arm/mach-shmobile/clock-sh7372.c+5−4

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

arch/arm/mach-shmobile/clock-sh73a0.c+13−10

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

arch/arm/mach-shmobile/include/mach/emev2.h+0−5

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

arch/arm/mach-shmobile/include/mach/r8a7778.h+38−1

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

arch/arm/mach-shmobile/include/mach/r8a7779.h+0−7

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

arch/arm/mach-shmobile/include/mach/r8a7791.h+1−0

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

arch/arm/mach-shmobile/setup-emev2.c+12−151

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

arch/arm/mach-shmobile/setup-r7s72100.c+53−29

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

arch/arm/mach-shmobile/setup-r8a73a4.c+33−35

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

arch/arm/mach-shmobile/setup-r8a7740.c+33−162

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

arch/arm/mach-shmobile/setup-r8a7778.c+146−20

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

arch/arm/mach-shmobile/setup-r8a7779.c+28−157

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

arch/arm/mach-shmobile/setup-r8a7790.c+83−65

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

arch/arm/mach-shmobile/setup-r8a7791.c+118−70

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

arch/arm/mach-shmobile/setup-rcar-gen2.c+23−6

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

arch/arm/mach-shmobile/setup-sh7372.c+29−131

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

arch/arm/mach-shmobile/setup-sh73a0.c+39−168

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

arch/arm/mach-shmobile/sh-gpio.h+0−19

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

arch/arm/mach-sti/platsmp.c+1−2

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

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

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

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

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

arch/arm/mach-sunxi/common.h+19−0

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

arch/arm/mach-sunxi/headsmp.S+9−0

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

arch/arm/mach-sunxi/platsmp.c+124−0

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

arch/arm/mach-sunxi/sunxi.c+14−0

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

arch/arm/mach-tegra/Kconfig+4−0

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

arch/arm/mach-tegra/board-paz00.c+11−0

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

arch/arm/mach-tegra/fuse.c+40−1

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

arch/arm/mach-tegra/iomap.h+7−7

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

arch/arm/mach-tegra/powergate.c+197−6

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

arch/arm/mach-tegra/reset.c+29−11

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

arch/arm/mach-tegra/tegra.c+3−3

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

arch/arm/mach-u300/regulator.c+2−2

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

arch/arm/mach-u300/timer.c+26−16

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

arch/arm/mach-ux500/Makefile+3−3

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

arch/arm/mach-ux500/board-mop500-audio.c+4−7

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

arch/arm/mach-ux500/board-mop500-pins.c+0−804

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

arch/arm/mach-ux500/board-mop500-regulators.c+0−14

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

arch/arm/mach-ux500/board-mop500-regulators.h+0−1

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

arch/arm/mach-ux500/board-mop500-sdi.c+0−2

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

arch/arm/mach-ux500/board-mop500.c+0−78

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

arch/arm/mach-ux500/board-mop500.h+0−1

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

arch/arm/mach-ux500/cpu-db8500.c+15−11

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

arch/arm/mach-ux500/cpu.c+6−17

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

arch/arm/mach-ux500/devices-db8500.c+0−28

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

arch/arm/mach-ux500/devices-db8500.h+0−19

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

arch/arm/mach-ux500/devices.c+0−26

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

arch/arm/mach-ux500/devices.h+0−15

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

arch/arm/mach-ux500/platsmp.c+1−2

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

arch/arm/mach-ux500/pm.c+27−0

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

arch/arm/mach-ux500/setup.h+1−7

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

arch/arm/mach-ux500/timer.c+10−66

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

arch/arm/mach-versatile/core.c+16−0

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

arch/arm/mach-versatile/versatile_pb.c+0−21

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

arch/arm/mach-zynq/common.c+10−6

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

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

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

arch/arm/mach-zynq/headsmp.S+5−1

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

arch/arm/mach-zynq/platsmp.c+10−15

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

arch/arm/mm/Makefile+1−0

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

arch/arm/mm/cache-l2x0.c+40−8

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

arch/arm/mm/cache-tauros3.h+41−0

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

arch/arm/mm/cache-v7.S+7−7

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

arch/arm/mm/context.c+24−17

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

arch/arm/mm/dma-mapping.c+3−3

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

arch/arm/mm/dump.c+345−0

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

arch/arm/mm/init.c+7−63

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

arch/arm/mm/ioremap.c+2−2

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

arch/arm/mm/mmu.c+105−21

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

arch/arm/mm/pgd.c+1−1

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

arch/arm/plat-iop/time.c+2−2

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

arch/arm/plat-omap/counter_32k.c+2−2

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

arch/arm/plat-orion/common.c+5−4

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

arch/arm/plat-orion/time.c+4−3

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

arch/arm/plat-pxa/dma.c+1−1

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

arch/arm/plat-samsung/Kconfig+0−8

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

arch/arm/plat-samsung/devs.c+8−2

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

arch/arm/plat-samsung/dma-ops.c+7−1

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

arch/arm/plat-samsung/include/plat/fiq.h+0−13

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

arch/arm/plat-samsung/include/plat/pm.h+2−2

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

arch/arm/plat-samsung/include/plat/regs-ata.h+0−56

This diff is large: its 57 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-nand.h+0−123

This diff is large: its 124 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/uncompress.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-samsung/pm-gpio.c+4−0

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-samsung/pm.c+4−2

This diff is large: its 29 lines aren’t shown here.

arch/arm/plat-samsung/s5p-irq-eint.c+4−0

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-samsung/s5p-irq-pm.c+3−0

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-samsung/setup-camif.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-versatile/platsmp.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/arm/plat-versatile/sched-clock.c+2−2

This diff is large: its 16 lines aren’t shown here.

arch/arm/xen/enlighten.c+52−30

This diff is large: its 141 lines aren’t shown here.

arch/arm64/Kconfig+27−0

This diff is large: its 61 lines aren’t shown here.

arch/arm64/boot/dts/foundation-v8.dts+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/boot/dts/rtsm_ve-motherboard.dtsi+6−0

This diff is large: its 13 lines aren’t shown here.

arch/arm64/include/asm/Kbuild+1−1

This diff is large: its 13 lines aren’t shown here.

arch/arm64/include/asm/cmpxchg.h+17−11

This diff is large: its 35 lines aren’t shown here.

arch/arm64/include/asm/cpu_ops.h+6−0

This diff is large: its 20 lines aren’t shown here.

arch/arm64/include/asm/cputype.h+14−14

This diff is large: its 59 lines aren’t shown here.

arch/arm64/include/asm/debug-monitors.h+21−0

This diff is large: its 28 lines aren’t shown here.

arch/arm64/include/asm/dma-contiguous.h+28−0

This diff is large: its 29 lines aren’t shown here.

arch/arm64/include/asm/futex.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm64/include/asm/hardirq.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/include/asm/insn.h+108−0

This diff is large: its 109 lines aren’t shown here.

arch/arm64/include/asm/jump_label.h+52−0

This diff is large: its 53 lines aren’t shown here.

arch/arm64/include/asm/kvm_host.h+6−1

This diff is large: its 14 lines aren’t shown here.

arch/arm64/include/asm/kvm_mmu.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm64/include/asm/memory.h+1−2

This diff is large: its 10 lines aren’t shown here.

arch/arm64/include/asm/percpu.h+41−0

This diff is large: its 42 lines aren’t shown here.

arch/arm64/include/asm/pgtable.h+63−30

This diff is large: its 141 lines aren’t shown here.

arch/arm64/include/asm/proc-fns.h+3−0

This diff is large: its 15 lines aren’t shown here.

arch/arm64/include/asm/smp_plat.h+13−0

This diff is large: its 20 lines aren’t shown here.

arch/arm64/include/asm/suspend.h+27−0

This diff is large: its 28 lines aren’t shown here.

arch/arm64/include/asm/uaccess.h+4−21

This diff is large: its 46 lines aren’t shown here.

arch/arm64/include/asm/word-at-a-time.h+94−0

This diff is large: its 95 lines aren’t shown here.

arch/arm64/include/uapi/asm/hwcap.h+5−1

This diff is large: its 12 lines aren’t shown here.

arch/arm64/include/uapi/asm/kvm.h+20−1

This diff is large: its 36 lines aren’t shown here.

arch/arm64/kernel/Makefile+3−1

This diff is large: its 18 lines aren’t shown here.

arch/arm64/kernel/arm64ksyms.c+1−4

This diff is large: its 15 lines aren’t shown here.

arch/arm64/kernel/asm-offsets.c+11−0

This diff is large: its 25 lines aren’t shown here.

arch/arm64/kernel/debug-monitors.c+87−1

This diff is large: its 114 lines aren’t shown here.

arch/arm64/kernel/entry.S+3−1

This diff is large: its 18 lines aren’t shown here.

arch/arm64/kernel/fpsimd.c+36−0

This diff is large: its 57 lines aren’t shown here.

arch/arm64/kernel/head.S+0−10

This diff is large: its 25 lines aren’t shown here.

arch/arm64/kernel/hw_breakpoint.c+136−67

This diff is large: its 277 lines aren’t shown here.

arch/arm64/kernel/insn.c+304−0

This diff is large: its 305 lines aren’t shown here.

arch/arm64/kernel/jump_label.c+58−0

This diff is large: its 59 lines aren’t shown here.

arch/arm64/kernel/module.c+47−110

This diff is large: its 310 lines aren’t shown here.

arch/arm64/kernel/perf_event.c+78−30

This diff is large: its 153 lines aren’t shown here.

arch/arm64/kernel/process.c+10−10

This diff is large: its 63 lines aren’t shown here.

arch/arm64/kernel/setup.c+117−5

This diff is large: its 159 lines aren’t shown here.

arch/arm64/kernel/sleep.S+184−0

This diff is large: its 185 lines aren’t shown here.

arch/arm64/kernel/smp.c+21−4

This diff is large: its 88 lines aren’t shown here.

arch/arm64/kernel/stacktrace.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/kernel/suspend.c+140−0

This diff is large: its 141 lines aren’t shown here.

arch/arm64/kernel/vmlinux.lds.S+0−3

This diff is large: its 18 lines aren’t shown here.

arch/arm64/kvm/Kconfig+11−0

This diff is large: its 18 lines aren’t shown here.

arch/arm64/kvm/guest.c+19−13

This diff is large: its 40 lines aren’t shown here.

arch/arm64/kvm/handle_exit.c+1−4

This diff is large: its 19 lines aren’t shown here.

arch/arm64/kvm/sys_regs_generic_v8.c+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm64/lib/Makefile+3−5

This diff is large: its 10 lines aren’t shown here.

arch/arm64/lib/strncpy_from_user.S+0−50

This diff is large: its 51 lines aren’t shown here.

arch/arm64/lib/strnlen_user.S+0−47

This diff is large: its 48 lines aren’t shown here.

arch/arm64/mm/cache.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/mm/dma-mapping.c+33−2

This diff is large: its 58 lines aren’t shown here.

arch/arm64/mm/init.c+3−0

This diff is large: its 17 lines aren’t shown here.

arch/arm64/mm/proc-macros.S+1−2

This diff is large: its 10 lines aren’t shown here.

arch/arm64/mm/proc.S+70−1

This diff is large: its 79 lines aren’t shown here.

arch/avr32/include/asm/Kbuild+1−0

This diff is large: its 5 lines aren’t shown here.

arch/avr32/include/uapi/asm/socket.h+2−0

This diff is large: its 7 lines aren’t shown here.

arch/blackfin/configs/BF527-EZKIT_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/BF538-EZKIT_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/BF561-ACVILON_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/BlackStamp_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/CM-BF533_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/CM-BF548_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/CM-BF561_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/DNP5370_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/H8606_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/IP0X_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/PNAV-10_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/SRV1_defconfig+0−1

This diff is large: its 8 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/include/asm/Kbuild+1−0

This diff is large: its 5 lines aren’t shown here.

arch/blackfin/include/asm/clkdev.h+2−0

This diff is large: its 10 lines aren’t shown here.

arch/blackfin/include/asm/def_LPBlackfin.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/include/uapi/asm/byteorder.h+5−0

This diff is large: its 7 lines aren’t shown here.

arch/blackfin/include/uapi/asm/cachectl.h+3−3

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/include/uapi/asm/fcntl.h+3−3

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/include/uapi/asm/ioctls.h+3−3

This diff is large: its 11 lines aren’t shown here.

arch/blackfin/include/uapi/asm/poll.h+3−3

This diff is large: its 16 lines aren’t shown here.

arch/blackfin/include/uapi/asm/posix_types.h+3−3

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/include/uapi/asm/sigcontext.h+3−3

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/include/uapi/asm/siginfo.h+3−3

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/include/uapi/asm/signal.h+3−3

This diff is large: its 11 lines aren’t shown here.

arch/blackfin/include/uapi/asm/stat.h+3−3

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/include/uapi/asm/swab.h+3−3

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/kernel/setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/mach-bf533/boards/stamp.c+46−1

This diff is large: its 61 lines aren’t shown here.

arch/blackfin/mach-bf609/Kconfig+6−0

This diff is large: its 13 lines aren’t shown here.

arch/blackfin/mach-bf609/boards/ezkit.c+4−2

This diff is large: its 20 lines aren’t shown here.

arch/blackfin/mach-bf609/clock.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/mach-bf609/include/mach/anomaly.h+44−10

This diff is large: its 76 lines aren’t shown here.

arch/blackfin/mach-common/cache-c.c+10−1

This diff is large: its 25 lines aren’t shown here.

arch/blackfin/mach-common/clocks-init.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/mach-common/ints-priority.c+20−21

This diff is large: its 85 lines aren’t shown here.

arch/blackfin/mach-common/scb-init.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/mach-common/smp.c+1−5

This diff is large: its 27 lines aren’t shown here.

arch/c6x/include/asm/Kbuild+1−0

This diff is large: its 5 lines aren’t shown here.

arch/cris/Kconfig+0−6

This diff is large: its 13 lines aren’t shown here.

arch/cris/arch-v10/drivers/gpio.c+2−2

This diff is large: its 16 lines aren’t shown here.

arch/cris/arch-v10/drivers/sync_serial.c+5−3

This diff is large: its 36 lines aren’t shown here.

arch/cris/arch-v10/kernel/Makefile+0−1

This diff is large: its 5 lines aren’t shown here.

arch/cris/arch-v10/kernel/debugport.c+0−7

This diff is large: its 21 lines aren’t shown here.

arch/cris/arch-v10/kernel/entry.S+100−84

This diff is large: its 502 lines aren’t shown here.

arch/cris/arch-v10/kernel/head.S+60−67

This diff is large: its 434 lines aren’t shown here.

arch/cris/arch-v10/kernel/irq.c+4−14

This diff is large: its 58 lines aren’t shown here.

arch/cris/arch-v10/kernel/process.c+2−2

This diff is large: its 17 lines aren’t shown here.

arch/cris/arch-v10/kernel/time.c+41−57

This diff is large: its 237 lines aren’t shown here.

arch/cris/arch-v10/lib/dram_init.S+18−22

This diff is large: its 111 lines aren’t shown here.

arch/cris/arch-v32/drivers/axisflashmap.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v32/drivers/mach-a3/gpio.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v32/drivers/mach-fs/gpio.c+2−2

This diff is large: its 14 lines aren’t shown here.

arch/cris/arch-v32/drivers/sync_serial.c+3−1

This diff is large: its 18 lines aren’t shown here.

arch/cris/arch-v32/kernel/entry.S+25−9

This diff is large: its 55 lines aren’t shown here.

arch/cris/arch-v32/kernel/fasttimer.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v32/kernel/irq.c+5−5

This diff is large: its 17 lines aren’t shown here.

arch/cris/arch-v32/kernel/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v32/kernel/time.c+2−4

This diff is large: its 15 lines aren’t shown here.

arch/cris/arch-v32/mach-a3/arbiter.c+2−2

This diff is large: its 14 lines aren’t shown here.

arch/cris/arch-v32/mach-fs/arbiter.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/boot/rescue/kimagerescue.S+0−2

This diff is large: its 16 lines aren’t shown here.

arch/cris/include/arch-v10/arch/io.h+1−28

This diff is large: its 48 lines aren’t shown here.

arch/cris/include/arch-v10/arch/irq.h+3−3

This diff is large: its 13 lines aren’t shown here.

arch/cris/include/arch-v32/arch/irq.h+3−3

This diff is large: its 13 lines aren’t shown here.

arch/cris/include/asm/Kbuild+1−0

This diff is large: its 8 lines aren’t shown here.

arch/cris/include/asm/io.h+4−0

This diff is large: its 12 lines aren’t shown here.

arch/cris/include/asm/unistd.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/include/uapi/asm/socket.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/cris/include/uapi/asm/unistd.h+16−0

This diff is large: its 22 lines aren’t shown here.

arch/cris/kernel/irq.c+0−3

This diff is large: its 10 lines aren’t shown here.

arch/frv/Makefile+0−7

This diff is large: its 14 lines aren’t shown here.

arch/frv/include/asm/Kbuild+1−0

This diff is large: its 5 lines aren’t shown here.

arch/frv/include/uapi/asm/socket.h+2−0

This diff is large: its 8 lines aren’t shown here.

arch/hexagon/include/asm/Kbuild+1−0

This diff is large: its 8 lines aren’t shown here.

arch/hexagon/include/asm/fixmap.h+1−39

This diff is large: its 47 lines aren’t shown here.

arch/ia64/Kconfig+2−0

This diff is large: its 16 lines aren’t shown here.

arch/ia64/hp/common/aml_nfw.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/ia64/hp/common/sba_iommu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/include/asm/Kbuild+2−1

This diff is large: its 7 lines aren’t shown here.

arch/ia64/include/asm/dmi.h+5−3

This diff is large: its 14 lines aren’t shown here.

arch/ia64/include/asm/processor.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/include/uapi/asm/socket.h+2−0

This diff is large: its 7 lines aren’t shown here.

arch/ia64/kernel/acpi.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/ia64/kvm/kvm-ia64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/mm/contig.c+0−68

This diff is large: its 75 lines aren’t shown here.

arch/ia64/mm/discontig.c+0−63

This diff is large: its 70 lines aren’t shown here.

arch/ia64/mm/init.c+48−0

This diff is large: its 52 lines aren’t shown here.

arch/ia64/sn/pci/pci_dma.c+12−12

This diff is large: its 103 lines aren’t shown here.

arch/m32r/Kconfig+4−4

This diff is large: its 18 lines aren’t shown here.

arch/m32r/include/asm/Kbuild+1−0

This diff is large: its 5 lines aren’t shown here.

arch/m32r/include/uapi/asm/socket.h+2−0

This diff is large: its 7 lines aren’t shown here.

arch/m68k/emu/nfblock.c+7−6

This diff is large: its 25 lines aren’t shown here.

arch/m68k/include/asm/Kbuild+1−0

This diff is large: its 5 lines aren’t shown here.

arch/metag/include/asm/Kbuild+1−0

This diff is large: its 5 lines aren’t shown here.

arch/metag/include/asm/fixmap.h+1−31

This diff is large: its 39 lines aren’t shown here.

arch/metag/mm/init.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/metag/mm/numa.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/microblaze/Kconfig+3−0

This diff is large: its 14 lines aren’t shown here.

arch/microblaze/Makefile+2−0

This diff is large: its 6 lines aren’t shown here.

arch/microblaze/include/asm/Kbuild+1−0

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/include/asm/cpuinfo.h+6−3

This diff is large: its 22 lines aren’t shown here.

arch/microblaze/include/asm/fixmap.h+2−42

This diff is large: its 55 lines aren’t shown here.

arch/microblaze/include/asm/io.h+8−0

This diff is large: its 13 lines aren’t shown here.

arch/microblaze/include/asm/sections.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/include/uapi/asm/Kbuild+2−1

This diff is large: its 15 lines aren’t shown here.

arch/microblaze/include/uapi/asm/types.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c+0−3

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/kernel/cpu/cpuinfo-static.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/kernel/cpu/cpuinfo.c+22−2

This diff is large: its 52 lines aren’t shown here.

arch/microblaze/kernel/head.S+4−0

This diff is large: its 11 lines aren’t shown here.

arch/microblaze/kernel/hw_exception_handler.S+37−12

This diff is large: its 117 lines aren’t shown here.

arch/microblaze/kernel/setup.c+6−4

This diff is large: its 45 lines aren’t shown here.

arch/microblaze/kernel/timer.c+28−23

This diff is large: its 100 lines aren’t shown here.

arch/microblaze/kernel/vmlinux.lds.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/mm/init.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/microblaze/platform/generic/system.dts+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/Kconfig+139−93

This diff is large: its 462 lines aren’t shown here.

arch/mips/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/alchemy/common/power.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/ar7/time.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/ath79/common.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/bcm47xx/Kconfig+4−0

This diff is large: its 32 lines aren’t shown here.

arch/mips/bcm47xx/Makefile+1−2

This diff is large: its 7 lines aren’t shown here.

arch/mips/bcm47xx/bcm47xx_private.h+12−0

This diff is large: its 13 lines aren’t shown here.

arch/mips/bcm47xx/board.c+18−16

This diff is large: its 113 lines aren’t shown here.

arch/mips/bcm47xx/buttons.c+531−0

This diff is large: its 532 lines aren’t shown here.

arch/mips/bcm47xx/irq.c+24−1

This diff is large: its 47 lines aren’t shown here.

arch/mips/bcm47xx/leds.c+542−0

This diff is large: its 543 lines aren’t shown here.

arch/mips/bcm47xx/nvram.c+1−2

This diff is large: its 21 lines aren’t shown here.

arch/mips/bcm47xx/prom.c+16−111

This diff is large: its 156 lines aren’t shown here.

arch/mips/bcm47xx/serial.c+4−2

This diff is large: its 20 lines aren’t shown here.

arch/mips/bcm47xx/setup.c+45−0

This diff is large: its 86 lines aren’t shown here.

arch/mips/bcm47xx/sprom.c+9−9

This diff is large: its 66 lines aren’t shown here.

arch/mips/bcm47xx/wgt634u.c+0−174

This diff is large: its 175 lines aren’t shown here.

arch/mips/bcm63xx/Kconfig+8−0

This diff is large: its 42 lines aren’t shown here.

arch/mips/bcm63xx/Makefile+2−2

This diff is large: its 10 lines aren’t shown here.

arch/mips/bcm63xx/boards/board_bcm963xx.c+3−0

This diff is large: its 17 lines aren’t shown here.

arch/mips/bcm63xx/clk.c+42−0

This diff is large: its 60 lines aren’t shown here.

arch/mips/bcm63xx/cpu.c+4−2

This diff is large: its 20 lines aren’t shown here.

arch/mips/bcm63xx/dev-hsspi.c+47−0

This diff is large: its 48 lines aren’t shown here.

arch/mips/bcm63xx/early_printk.c+1−2

This diff is large: its 11 lines aren’t shown here.

arch/mips/bcm63xx/prom.c+6−8

This diff is large: its 29 lines aren’t shown here.

arch/mips/boot/compressed/Makefile+2−2

This diff is large: its 13 lines aren’t shown here.

arch/mips/boot/compressed/dbg.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/boot/compressed/decompress.c+0−22

This diff is large: its 34 lines aren’t shown here.

arch/mips/boot/compressed/string.c+28−0

This diff is large: its 29 lines aren’t shown here.

arch/mips/boot/compressed/uart-16550.c+2−3

This diff is large: its 19 lines aren’t shown here.

arch/mips/cavium-octeon/executive/cvmx-cmd-queue.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/cavium-octeon/executive/cvmx-helper-board.c+27−0

This diff is large: its 31 lines aren’t shown here.

arch/mips/cavium-octeon/executive/cvmx-helper-util.c+4−0

This diff is large: its 29 lines aren’t shown here.

arch/mips/cavium-octeon/executive/cvmx-helper.c+9−1

This diff is large: its 73 lines aren’t shown here.

arch/mips/cavium-octeon/executive/cvmx-pko.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/mips/cavium-octeon/executive/cvmx-spi.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/cavium-octeon/octeon-platform.c+35−3

This diff is large: its 64 lines aren’t shown here.

arch/mips/cavium-octeon/octeon_3xxx.dts+19−0

This diff is large: its 33 lines aren’t shown here.

arch/mips/cavium-octeon/smp.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/ar7_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/bcm47xx_defconfig+43−580

This diff is large: its 667 lines aren’t shown here.

arch/mips/configs/bcm63xx_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/cobalt_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/gpr_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/jmr3927_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/lasat_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/maltasmvp_defconfig+1−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/configs/markeins_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/mtx1_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/pnx8335_stb225_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/qi_lb60_defconfig+188−0

This diff is large: its 189 lines aren’t shown here.

arch/mips/configs/rb532_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/rbtx49xx_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/fw/arc/file.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/Kbuild+1−0

This diff is large: its 5 lines aren’t shown here.

arch/mips/include/asm/amon.h+10−5

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/asmmacro-32.h+0−42

This diff is large: its 56 lines aren’t shown here.

arch/mips/include/asm/asmmacro-64.h+0−96

This diff is large: its 103 lines aren’t shown here.

arch/mips/include/asm/asmmacro.h+107−0

This diff is large: its 114 lines aren’t shown here.

arch/mips/include/asm/bmips.h+28−1

This diff is large: its 37 lines aren’t shown here.

arch/mips/include/asm/clkdev.h+2−0

This diff is large: its 11 lines aren’t shown here.

arch/mips/include/asm/cpu-features.h+7−0

This diff is large: its 14 lines aren’t shown here.

arch/mips/include/asm/cpu-info.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/cpu-type.h+12−3

This diff is large: its 37 lines aren’t shown here.

arch/mips/include/asm/cpu.h+11−1

This diff is large: its 54 lines aren’t shown here.

arch/mips/include/asm/dma-coherence.h+9−0

This diff is large: its 17 lines aren’t shown here.

arch/mips/include/asm/elf.h+28−3

This diff is large: its 86 lines aren’t shown here.

arch/mips/include/asm/fixmap.h+1−32

This diff is large: its 40 lines aren’t shown here.

arch/mips/include/asm/fpu.h+76−28

This diff is large: its 153 lines aren’t shown here.

arch/mips/include/asm/highmem.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/kvm_host.h+0−7

This diff is large: its 29 lines aren’t shown here.

arch/mips/include/asm/mach-ath79/ar71xx_regs.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-bcm47xx/bcm47xx.h+2−0

This diff is large: its 7 lines aren’t shown here.

arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-bcm47xx/cpu-feature-overrides.h+82−0

This diff is large: its 83 lines aren’t shown here.

arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h+18−0

This diff is large: its 144 lines aren’t shown here.

arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_hsspi.h+8−0

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h+0−120

This diff is large: its 127 lines aren’t shown here.

arch/mips/include/asm/mach-generic/dma-coherence.h+0−4

This diff is large: its 12 lines aren’t shown here.

arch/mips/include/asm/mach-generic/floppy.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-generic/ide.h+3−3

This diff is large: its 26 lines aren’t shown here.

arch/mips/include/asm/mach-jazz/floppy.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/platform.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-netlogic/irq.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/mach-netlogic/multi-node.h+31−2

This diff is large: its 40 lines aren’t shown here.

arch/mips/include/asm/mach-netlogic/topology.h+20−0

This diff is large: its 21 lines aren’t shown here.

arch/mips/include/asm/mips-boards/piix4.h+7−0

This diff is large: its 21 lines aren’t shown here.

arch/mips/include/asm/mipsregs.h+83−2

This diff is large: its 153 lines aren’t shown here.

arch/mips/include/asm/netlogic/common.h+6−18

This diff is large: its 49 lines aren’t shown here.

arch/mips/include/asm/netlogic/mips-extns.h+6−1

This diff is large: its 14 lines aren’t shown here.

arch/mips/include/asm/netlogic/xlp-hal/bridge.h+32−37

This diff is large: its 90 lines aren’t shown here.

arch/mips/include/asm/netlogic/xlp-hal/iomap.h+46−2

This diff is large: its 74 lines aren’t shown here.

arch/mips/include/asm/netlogic/xlp-hal/pcibus.h+32−9

This diff is large: its 58 lines aren’t shown here.

arch/mips/include/asm/netlogic/xlp-hal/pic.h+48−29

This diff is large: its 144 lines aren’t shown here.

arch/mips/include/asm/netlogic/xlp-hal/sys.h+17−1

This diff is large: its 31 lines aren’t shown here.

arch/mips/include/asm/netlogic/xlp-hal/uart.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/netlogic/xlp-hal/xlp.h+33−5

This diff is large: its 74 lines aren’t shown here.

arch/mips/include/asm/netlogic/xlr/xlr.h+0−5

This diff is large: its 12 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-helper-board.h+9−0

This diff is large: its 21 lines aren’t shown here.

arch/mips/include/asm/page.h+25−0

This diff is large: its 39 lines aren’t shown here.

arch/mips/include/asm/rtlx.h+36−13

This diff is large: its 92 lines aren’t shown here.

arch/mips/include/asm/switch_to.h+12−4

This diff is large: its 24 lines aren’t shown here.

arch/mips/include/asm/syscall.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/thread_info.h+3−1

This diff is large: its 22 lines aren’t shown here.

arch/mips/include/asm/tlb.h+4−0

This diff is large: its 11 lines aren’t shown here.

arch/mips/include/asm/vpe.h+113−20

This diff is large: its 151 lines aren’t shown here.

arch/mips/include/uapi/asm/inst.h+5−2

This diff is large: its 23 lines aren’t shown here.

arch/mips/include/uapi/asm/socket.h+2−0

This diff is large: its 7 lines aren’t shown here.

arch/mips/jz4740/board-qi_lb60.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/jz4740/platform.c+24−17

This diff is large: its 68 lines aren’t shown here.

arch/mips/kernel/Makefile+5−0

This diff is large: its 20 lines aren’t shown here.

arch/mips/kernel/binfmt_elfo32.c+14−0

This diff is large: its 28 lines aren’t shown here.

arch/mips/kernel/bmips_vec.S+43−13

This diff is large: its 121 lines aren’t shown here.

arch/mips/kernel/cpu-probe.c+96−7

This diff is large: its 180 lines aren’t shown here.

arch/mips/kernel/crash.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/genex.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/idle.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/proc.c+27−21

This diff is large: its 62 lines aren’t shown here.

arch/mips/kernel/process.c+1−5

This diff is large: its 17 lines aren’t shown here.

arch/mips/kernel/ptrace.c+33−27

This diff is large: its 118 lines aren’t shown here.

arch/mips/kernel/ptrace32.c+31−22

This diff is large: its 95 lines aren’t shown here.

arch/mips/kernel/r4k_fpu.S+70−4

This diff is large: its 116 lines aren’t shown here.

arch/mips/kernel/r4k_switch.S+43−2

This diff is large: its 66 lines aren’t shown here.

arch/mips/kernel/rtlx-cmp.c+116−0

This diff is large: its 117 lines aren’t shown here.

arch/mips/kernel/rtlx-mt.c+148−0

This diff is large: its 149 lines aren’t shown here.

arch/mips/kernel/rtlx.c+62−211

This diff is large: its 429 lines aren’t shown here.

arch/mips/kernel/segment.c+110−0

This diff is large: its 111 lines aren’t shown here.

arch/mips/kernel/signal.c+6−4

This diff is large: its 24 lines aren’t shown here.

arch/mips/kernel/signal32.c+6−4

This diff is large: its 24 lines aren’t shown here.

arch/mips/kernel/smp-bmips.c+189−123

This diff is large: its 431 lines aren’t shown here.

arch/mips/kernel/smp-cmp.c+3−0

This diff is large: its 15 lines aren’t shown here.

arch/mips/kernel/smp-mt.c+28−0

This diff is large: its 48 lines aren’t shown here.

arch/mips/kernel/spram.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/mips/kernel/sync-r4k.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/traps.c+58−13

This diff is large: its 129 lines aren’t shown here.

arch/mips/kernel/vpe-cmp.c+180−0

This diff is large: its 181 lines aren’t shown here.

arch/mips/kernel/vpe-mt.c+523−0

This diff is large: its 524 lines aren’t shown here.

arch/mips/kernel/vpe.c+124−786

This diff is large: its 1345 lines aren’t shown here.

arch/mips/kvm/kvm_mips.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/kvm/kvm_tlb.c+1−134

This diff is large: its 207 lines aren’t shown here.

arch/mips/lantiq/xway/clk.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/lantiq/xway/dma.c+0−4

This diff is large: its 11 lines aren’t shown here.

arch/mips/lasat/at93c.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/lasat/picvue.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/lib/uncached.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/loongson/lemote-2f/clock.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/math-emu/cp1emu.c+36−6

This diff is large: its 93 lines aren’t shown here.

arch/mips/math-emu/kernel_linkage.c+4−2

This diff is large: its 22 lines aren’t shown here.

arch/mips/mm/c-octeon.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/mm/c-r3k.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/mm/c-r4k.c+18−8

This diff is large: its 47 lines aren’t shown here.

arch/mips/mm/cache.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/mm/cex-sb1.S+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/mm/dma-default.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/mips/mm/hugetlbpage.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/mm/init.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/mips/mm/page.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/mm/sc-mips.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/mips/mm/sc-rm7k.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/mm/tlb-r3k.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/mm/tlb-r4k.c+32−16

This diff is large: its 87 lines aren’t shown here.

arch/mips/mm/tlb-r8k.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/mm/tlbex.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/mips/mm/uasm-micromips.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/mm/uasm-mips.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/mti-malta/Makefile+0−2

This diff is large: its 8 lines aren’t shown here.

arch/mips/mti-malta/malta-amon.c+28−21

This diff is large: its 83 lines aren’t shown here.

arch/mips/mti-malta/malta-console.c+0−47

This diff is large: its 48 lines aren’t shown here.

arch/mips/mti-malta/malta-init.c+33−25

This diff is large: its 73 lines aren’t shown here.

arch/mips/mti-malta/malta-int.c+68−59

This diff is large: its 275 lines aren’t shown here.

arch/mips/mti-malta/malta-platform.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/mips/mti-malta/malta-time.c+13−3

This diff is large: its 42 lines aren’t shown here.

arch/mips/mti-sead3/Makefile+2−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/mti-sead3/sead3-pic32-bus.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/mti-sead3/sead3-setup.c+75−9

This diff is large: its 115 lines aren’t shown here.

arch/mips/mti-sead3/sead3-time.c+0−4

This diff is large: its 18 lines aren’t shown here.

arch/mips/mti-sead3/sead3.dts+0−4

This diff is large: its 11 lines aren’t shown here.

arch/mips/netlogic/Kconfig+9−0

This diff is large: its 16 lines aren’t shown here.

arch/mips/netlogic/common/earlycons.c+2−0

This diff is large: its 12 lines aren’t shown here.

arch/mips/netlogic/common/irq.c+55−17

This diff is large: its 135 lines aren’t shown here.

arch/mips/netlogic/common/reset.S+46−17

This diff is large: its 148 lines aren’t shown here.

arch/mips/netlogic/common/smp.c+5−3

This diff is large: its 36 lines aren’t shown here.

arch/mips/netlogic/common/smpboot.S+2−2

This diff is large: its 25 lines aren’t shown here.

arch/mips/netlogic/dts/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

arch/mips/netlogic/dts/xlp_gvp.dts+76−0

This diff is large: its 77 lines aren’t shown here.

arch/mips/netlogic/xlp/dt.c+6−1

This diff is large: its 20 lines aren’t shown here.

arch/mips/netlogic/xlp/nlm_hal.c+61−10

This diff is large: its 122 lines aren’t shown here.

arch/mips/netlogic/xlp/setup.c+18−7

This diff is large: its 64 lines aren’t shown here.

arch/mips/netlogic/xlp/usb-init-xlp2.c+75−13

This diff is large: its 135 lines aren’t shown here.

arch/mips/netlogic/xlp/wakeup.c+70−22

This diff is large: its 166 lines aren’t shown here.

arch/mips/netlogic/xlr/platform.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/netlogic/xlr/setup.c+0−20

This diff is large: its 34 lines aren’t shown here.

arch/mips/netlogic/xlr/wakeup.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/oprofile/common.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/mips/oprofile/op_model_mipsxx.c+8−0

This diff is large: its 15 lines aren’t shown here.

arch/mips/pci/Makefile+1−0

This diff is large: its 6 lines aren’t shown here.

arch/mips/pci/fixup-malta.c+11−0

This diff is large: its 25 lines aren’t shown here.

arch/mips/pci/fixup-rc32434.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/pci/fixup-sb1250.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/pci/msi-xlp.c+494−0

This diff is large: its 495 lines aren’t shown here.

arch/mips/pci/ops-bcm63xx.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/pci/ops-bonito64.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/pci/ops-lantiq.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/pci/ops-loongson2.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/pci/ops-mace.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/pci/ops-msc.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/pci/ops-nile4.c+0−1

This diff is large: its 6 lines aren’t shown here.

arch/mips/pci/ops-rc32434.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/pci/pci-ip27.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/pci/pci-malta.c+3−3

This diff is large: its 13 lines aren’t shown here.

arch/mips/pci/pci-rt3883.c+0−3

This diff is large: its 10 lines aren’t shown here.

arch/mips/pci/pci-xlp.c+79−31

This diff is large: its 185 lines aren’t shown here.

arch/mips/pmcs-msp71xx/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/ralink/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/ralink/cevt-rt3352.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/ralink/timer.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/sgi-ip27/ip27-console.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/sgi-ip27/ip27-irq-pci.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/sgi-ip27/ip27-klconfig.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/sgi-ip27/ip27-xtalk.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mn10300/Kconfig+4−4

This diff is large: its 18 lines aren’t shown here.

arch/mn10300/Makefile+0−8

This diff is large: its 15 lines aren’t shown here.

arch/mn10300/include/asm/Kbuild+1−0

This diff is large: its 7 lines aren’t shown here.

arch/mn10300/include/uapi/asm/socket.h+2−0

This diff is large: its 7 lines aren’t shown here.

arch/openrisc/include/asm/Kbuild+1−0

This diff is large: its 5 lines aren’t shown here.

arch/openrisc/kernel/entry.S+33−26

This diff is large: its 71 lines aren’t shown here.

arch/openrisc/kernel/signal.c+116−117

This diff is large: its 354 lines aren’t shown here.

arch/parisc/Kconfig+4−4

This diff is large: its 18 lines aren’t shown here.

arch/parisc/include/asm/Kbuild+1−0

This diff is large: its 5 lines aren’t shown here.

arch/parisc/include/uapi/asm/socket.h+2−0

This diff is large: its 7 lines aren’t shown here.

arch/parisc/kernel/drivers.c+5−17

This diff is large: its 64 lines aren’t shown here.

arch/parisc/mm/init.c+17−42

This diff is large: its 73 lines aren’t shown here.

arch/powerpc/Kconfig+15−13

This diff is large: its 105 lines aren’t shown here.

arch/powerpc/boot/.gitignore+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/Makefile+4−3

This diff is large: its 29 lines aren’t shown here.

arch/powerpc/boot/dts/ac14xx.dts+7−0

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/boot/dts/adder875-redboot.dts+0−2

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/boot/dts/adder875-uboot.dts+0−2

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/boot/dts/asp834x-redboot.dts+0−2

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/boot/dts/c2k.dts+0−5

This diff is large: its 36 lines aren’t shown here.

arch/powerpc/boot/dts/ep8248e.dts+0−3

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/boot/dts/ep88xc.dts+0−2

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/elo3-dma-2.dtsi+82−0

This diff is large: its 83 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/p1020si-post.dtsi+2−1

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/p1021si-post.dtsi+2−1

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/p1022si-post.dtsi+2−1

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/p1023si-post.dtsi+2−1

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/boot/dts/gef_ppc9a.dts+0−2

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/boot/dts/gef_sbc310.dts+0−2

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/boot/dts/gef_sbc610.dts+0−2

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/boot/dts/holly.dts+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/dts/kilauea.dts+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/boot/dts/ksi8560.dts+0−3

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/boot/dts/mpc5121.dtsi+112−1

This diff is large: its 354 lines aren’t shown here.

arch/powerpc/boot/dts/mpc5125twr.dts+52−1

This diff is large: its 157 lines aren’t shown here.

arch/powerpc/boot/dts/mpc7448hpc2.dts+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8272ads.dts+0−3

This diff is large: its 23 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8308_p1m.dts+0−2

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8308rdb.dts+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8313erdb.dts+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8315erdb.dts+0−2

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/boot/dts/mpc832x_mds.dts+0−2

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/boot/dts/mpc832x_rdb.dts+0−2

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8349emitx.dts+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8349emitxgp.dts+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/dts/mpc834x_mds.dts+0−2

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/boot/dts/mpc836x_mds.dts+0−2

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/boot/dts/mpc836x_rdk.dts+0−4

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8377_mds.dts+0−2

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8377_rdb.dts+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8377_wlan.dts+0−2

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8378_mds.dts+0−2

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8378_rdb.dts+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8379_mds.dts+0−2

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8379_rdb.dts+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8536ds.dtsi+0−2

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8540ads.dts+0−3

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8541cds.dts+0−2

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8544ds.dtsi+0−2

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8548cds.dtsi+0−4

This diff is large: its 23 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8555cds.dts+0−2

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8560ads.dts+0−4

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8568mds.dts+0−8

This diff is large: its 49 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8569mds.dts+0−6

This diff is large: its 34 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8641_hpcn.dts+0−4

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8641_hpcn_36b.dts+0−4

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/boot/dts/mpc866ads.dts+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/dts/mpc885ads.dts+0−3

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/boot/dts/mvme5100.dts+185−0

This diff is large: its 186 lines aren’t shown here.

arch/powerpc/boot/dts/p1010rdb-pa.dts+23−0

This diff is large: its 24 lines aren’t shown here.

arch/powerpc/boot/dts/p1010rdb-pa.dtsi+85−0

This diff is large: its 86 lines aren’t shown here.

arch/powerpc/boot/dts/p1010rdb-pa_36b.dtsrenamed from arch/powerpc/boot/dts/p1010rdb_36b.dts+2−45

This diff is large: its 55 lines aren’t shown here.

arch/powerpc/boot/dts/p1010rdb-pb.dts+35−0

This diff is large: its 36 lines aren’t shown here.

arch/powerpc/boot/dts/p1010rdb-pb_36b.dts+58−0

This diff is large: its 59 lines aren’t shown here.

arch/powerpc/boot/dts/p1010rdb.dts+0−66

This diff is large: its 67 lines aren’t shown here.

arch/powerpc/boot/dts/p1010rdb.dtsi+1−42

This diff is large: its 69 lines aren’t shown here.

arch/powerpc/boot/dts/p1010rdb_32b.dtsi+79−0

This diff is large: its 80 lines aren’t shown here.

arch/powerpc/boot/dts/p1010rdb_36b.dtsi+79−0

This diff is large: its 80 lines aren’t shown here.

arch/powerpc/boot/dts/p1021mds.dts+0−2

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/boot/dts/p1022ds.dtsi+2−1

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/boot/dts/p1025rdb_32b.dts+0−2

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/boot/dts/p1025twr.dts+95−0

This diff is large: its 96 lines aren’t shown here.

arch/powerpc/boot/dts/p1025twr.dtsi+280−0

This diff is large: its 281 lines aren’t shown here.

arch/powerpc/boot/dts/ppa8548.dts+0−2

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/boot/dts/pq2fads.dts+0−3

This diff is large: its 23 lines aren’t shown here.

arch/powerpc/boot/dts/prpmc2800.dts+0−5

This diff is large: its 34 lines aren’t shown here.

arch/powerpc/boot/dts/sbc8349.dts+0−2

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/boot/dts/sbc8548-post.dtsi+0−2

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/boot/dts/sbc8641d.dts+0−4

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/boot/dts/stx_gp3_8560.dts+0−2

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/boot/dts/stxssa8555.dts+0−2

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/boot/dts/tqm8540.dts+0−3

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/boot/dts/tqm8541.dts+0−3

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/boot/dts/tqm8548-bigflash.dts+0−5

This diff is large: its 32 lines aren’t shown here.

arch/powerpc/boot/dts/tqm8548.dts+0−5

This diff is large: its 32 lines aren’t shown here.

arch/powerpc/boot/dts/tqm8555.dts+0−3

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/boot/dts/tqm8560.dts+0−3

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/boot/dts/tqm8xx.dts+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/dts/virtex440-ml507.dts+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/boot/mvme5100.c+27−0

This diff is large: its 28 lines aren’t shown here.

arch/powerpc/boot/wrapper+4−0

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/configs/85xx/p1023_defconfig+0−188

This diff is large: its 189 lines aren’t shown here.

arch/powerpc/configs/adder875_defconfig+1−0

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/configs/ep88xc_defconfig+1−0

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/configs/mpc85xx_defconfig+3−0

This diff is large: its 24 lines aren’t shown here.

arch/powerpc/configs/mpc85xx_smp_defconfig+3−0

This diff is large: its 24 lines aren’t shown here.

arch/powerpc/configs/mpc866_ads_defconfig+1−0

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/configs/mpc885_ads_defconfig+1−0

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/configs/mvme5100_defconfig+144−0

This diff is large: its 145 lines aren’t shown here.

arch/powerpc/configs/ppc64_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/tqm8xx_defconfig+1−0

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/include/asm/Kbuild+2−1

This diff is large: its 7 lines aren’t shown here.

arch/powerpc/include/asm/bitops.h+5−0

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/include/asm/cache.h+13−1

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/include/asm/clk_interface.h+0−20

This diff is large: its 21 lines aren’t shown here.

arch/powerpc/include/asm/cmpxchg.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/code-patching.h+7−0

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/include/asm/cputable.h+12−0

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/include/asm/eeh.h+13−1

This diff is large: its 35 lines aren’t shown here.

arch/powerpc/include/asm/epapr_hcalls.h+111−0

This diff is large: its 117 lines aren’t shown here.

arch/powerpc/include/asm/exception-64s.h+14−7

This diff is large: its 45 lines aren’t shown here.

arch/powerpc/include/asm/fixmap.h+2−42

This diff is large: its 55 lines aren’t shown here.

arch/powerpc/include/asm/fsl_lbc.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/hardirq.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/include/asm/io.h+16−0

This diff is large: its 25 lines aren’t shown here.

arch/powerpc/include/asm/iommu.h+43−11

This diff is large: its 87 lines aren’t shown here.

arch/powerpc/include/asm/kvm_asm.h+4−0

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/include/asm/kvm_book3s.h+13−14

This diff is large: its 55 lines aren’t shown here.

arch/powerpc/include/asm/kvm_book3s_asm.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/kvm_booke.h+6−0

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/include/asm/kvm_host.h+51−10

This diff is large: its 148 lines aren’t shown here.

arch/powerpc/include/asm/kvm_para.h+1−79

This diff is large: its 103 lines aren’t shown here.

arch/powerpc/include/asm/kvm_ppc.h+10−3

This diff is large: its 30 lines aren’t shown here.

arch/powerpc/include/asm/lppaca.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/mce.h+197−0

This diff is large: its 198 lines aren’t shown here.

arch/powerpc/include/asm/mmu-book3e.h+13−0

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/include/asm/mmu.h+11−10

This diff is large: its 28 lines aren’t shown here.

arch/powerpc/include/asm/mpc5121.h+6−1

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/include/asm/opal.h+105−3

This diff is large: its 176 lines aren’t shown here.

arch/powerpc/include/asm/paca.h+15−1

This diff is large: its 44 lines aren’t shown here.

arch/powerpc/include/asm/pgtable-ppc64.h+14−0

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/include/asm/pgtable.h+86−1

This diff is large: its 111 lines aren’t shown here.

arch/powerpc/include/asm/ppc_asm.h+13−1

This diff is large: its 35 lines aren’t shown here.

arch/powerpc/include/asm/processor.h+7−8

This diff is large: its 43 lines aren’t shown here.

arch/powerpc/include/asm/ps3.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/pte-hash64.h+7−1

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/include/asm/reg.h+37−8

This diff is large: its 121 lines aren’t shown here.

arch/powerpc/include/asm/reg_booke.h+10−0

This diff is large: its 31 lines aren’t shown here.

arch/powerpc/include/asm/spinlock.h+10−2

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/include/asm/switch_to.h+0−2

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/include/asm/systbl.h+2−0

This diff is large: its 6 lines aren’t shown here.

arch/powerpc/include/asm/thread_info.h+4−5

This diff is large: its 30 lines aren’t shown here.

arch/powerpc/include/asm/tm.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/topology.h+9−1

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/include/asm/unistd.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/vio.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/uapi/asm/kvm.h+3−0

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/include/uapi/asm/socket.h+2−0

This diff is large: its 7 lines aren’t shown here.

arch/powerpc/include/uapi/asm/tm.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/uapi/asm/unistd.h+2−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/Makefile+1−1

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/kernel/asm-offsets.c+55−8

This diff is large: its 142 lines aren’t shown here.

arch/powerpc/kernel/cacheinfo.c+3−1

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/kernel/clock.c+0−82

This diff is large: its 83 lines aren’t shown here.

arch/powerpc/kernel/cpu_setup_fsl_booke.S+54−0

This diff is large: its 73 lines aren’t shown here.

arch/powerpc/kernel/cpu_setup_power.S+27−11

This diff is large: its 75 lines aren’t shown here.

arch/powerpc/kernel/cputable.c+16−0

This diff is large: its 65 lines aren’t shown here.

arch/powerpc/kernel/crash.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/dma-iommu.c+2−2

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/kernel/eeh.c+16−1

This diff is large: its 38 lines aren’t shown here.

arch/powerpc/kernel/eeh_driver.c+102−79

This diff is large: its 259 lines aren’t shown here.

arch/powerpc/kernel/eeh_pe.c+3−1

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/kernel/entry_64.S+10−2

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/kernel/exceptions-64e.S+19−8

This diff is large: its 70 lines aren’t shown here.

arch/powerpc/kernel/exceptions-64s.S+218−24

This diff is large: its 279 lines aren’t shown here.

arch/powerpc/kernel/fpu.S+16−0

This diff is large: its 23 lines aren’t shown here.

arch/powerpc/kernel/fsl_booke_entry_mapping.S+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/head_64.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/head_fsl_booke.S+236−30

This diff is large: its 328 lines aren’t shown here.

arch/powerpc/kernel/hw_breakpoint.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/idle_power7.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/iomap.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/iommu.c+61−84

This diff is large: its 338 lines aren’t shown here.

arch/powerpc/kernel/irq.c+9−3

This diff is large: its 30 lines aren’t shown here.

arch/powerpc/kernel/kgdb.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/kvm.c+2−39

This diff is large: its 60 lines aren’t shown here.

arch/powerpc/kernel/mce.c+352−0

This diff is large: its 353 lines aren’t shown here.

arch/powerpc/kernel/mce_power.c+284−0

This diff is large: its 285 lines aren’t shown here.

arch/powerpc/kernel/misc_32.S+3−1

This diff is large: its 25 lines aren’t shown here.

arch/powerpc/kernel/misc_64.S+6−0

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/kernel/paca.c+30−7

This diff is large: its 59 lines aren’t shown here.

arch/powerpc/kernel/pci-common.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/kernel/pci_of_scan.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/kernel/process.c+163−16

This diff is large: its 291 lines aren’t shown here.

arch/powerpc/kernel/prom.c+40−1

This diff is large: its 62 lines aren’t shown here.

arch/powerpc/kernel/setup_64.c+41−6

This diff is large: its 89 lines aren’t shown here.

arch/powerpc/kernel/signal.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/kernel/signal_32.c+14−26

This diff is large: its 79 lines aren’t shown here.

arch/powerpc/kernel/signal_64.c+7−7

This diff is large: its 28 lines aren’t shown here.

arch/powerpc/kernel/smp-tbsync.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/smp.c+2−7

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/kernel/swsusp_booke.S+16−16

This diff is large: its 60 lines aren’t shown here.

arch/powerpc/kernel/syscalls.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/sysfs.c+354−36

This diff is large: its 452 lines aren’t shown here.

arch/powerpc/kernel/time.c+13−1

This diff is large: its 41 lines aren’t shown here.

arch/powerpc/kernel/traps.c+54−18

This diff is large: its 128 lines aren’t shown here.

arch/powerpc/kernel/vdso32/vdso32_wrapper.S+0−1

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/kernel/vdso64/vdso64_wrapper.S+0−1

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/kernel/vector.S+10−0

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/kernel/vio.c+22−9

This diff is large: its 114 lines aren’t shown here.

arch/powerpc/kvm/44x.c+4−0

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/kvm/book3s.c+38−8

This diff is large: its 113 lines aren’t shown here.

arch/powerpc/kvm/book3s_32_mmu_host.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/kvm/book3s_64_mmu_hv.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/kvm/book3s_exports.c+0−4

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv.c+242−79

This diff is large: its 543 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv_interrupts.S+4−4

This diff is large: its 47 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv_ras.c+24−26

This diff is large: its 97 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv_rm_mmu.c+5−3

This diff is large: its 29 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv_rmhandlers.S+745−468

This diff is large: its 1667 lines aren’t shown here.

arch/powerpc/kvm/book3s_paired_singles.c+83−86

This diff is large: its 479 lines aren’t shown here.

arch/powerpc/kvm/book3s_pr.c+34−121

This diff is large: its 286 lines aren’t shown here.

arch/powerpc/kvm/book3s_rmhandlers.S+0−47

This diff is large: its 52 lines aren’t shown here.

arch/powerpc/kvm/book3s_segment.S+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kvm/book3s_xics.c+3−1

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/kvm/booke.c+6−38

This diff is large: its 103 lines aren’t shown here.

arch/powerpc/kvm/booke.h+4−1

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/kvm/bookehv_interrupts.S+13−0

This diff is large: its 34 lines aren’t shown here.

arch/powerpc/kvm/e500.c+4−0

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/kvm/e500.h+5−3

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/kvm/e500_mmu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kvm/e500_mmu_host.c+34−25

This diff is large: its 121 lines aren’t shown here.

arch/powerpc/kvm/e500mc.c+4−0

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/kvm/emulate.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/mpic.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/powerpc.c+35−23

This diff is large: its 128 lines aren’t shown here.

arch/powerpc/lib/code-patching.c+15−0

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/lib/crtsavres.S+186−0

This diff is large: its 200 lines aren’t shown here.

arch/powerpc/math-emu/math_efp.c+238−78

This diff is large: its 449 lines aren’t shown here.

arch/powerpc/mm/fsl_booke_mmu.c+77−3

This diff is large: its 119 lines aren’t shown here.

arch/powerpc/mm/hash_low_64.S+12−3

This diff is large: its 36 lines aren’t shown here.

arch/powerpc/mm/hash_utils_64.c+4−3

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/mm/hugepage-hash64.c+5−1

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/mm/hugetlbpage-book3e.c+43−11

This diff is large: its 85 lines aren’t shown here.

arch/powerpc/mm/hugetlbpage-hash64.c+4−0

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/mm/hugetlbpage.c+3−1

This diff is large: its 23 lines aren’t shown here.

arch/powerpc/mm/mem.c+8−2

This diff is large: its 31 lines aren’t shown here.

arch/powerpc/mm/mmu_decl.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/mm/numa.c+97−9

This diff is large: its 196 lines aren’t shown here.

arch/powerpc/mm/pgtable.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/mm/pgtable_32.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/mm/pgtable_64.c+13−2

This diff is large: its 36 lines aren’t shown here.

arch/powerpc/mm/slice.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/mm/tlb_hash64.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/mm/tlb_low_64e.S+174−1

This diff is large: its 196 lines aren’t shown here.

arch/powerpc/mm/tlb_nohash.c+69−45

This diff is large: its 224 lines aren’t shown here.

arch/powerpc/mm/tlb_nohash_low.S+3−1

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/oprofile/op_model_7450.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/oprofile/op_model_cell.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/oprofile/op_model_fsl_emb.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/oprofile/op_model_pa6t.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/oprofile/op_model_power4.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/oprofile/op_model_rs64.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/512x/Kconfig+1−1

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/platforms/512x/Makefile+2−1

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/platforms/512x/clock-commonclk.c+1221−0

This diff is large: its 1222 lines aren’t shown here.

arch/powerpc/platforms/512x/clock.c+0−754

This diff is large: its 755 lines aren’t shown here.

arch/powerpc/platforms/512x/mpc512x_shared.c+92−77

This diff is large: its 198 lines aren’t shown here.

arch/powerpc/platforms/52xx/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/83xx/Kconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/83xx/suspend.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/85xx/Kconfig+6−0

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/platforms/85xx/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/85xx/common.c+38−0

This diff is large: its 49 lines aren’t shown here.

arch/powerpc/platforms/85xx/mpc85xx.h+6−0

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/platforms/85xx/mpc85xx_mds.c+2−27

This diff is large: its 41 lines aren’t shown here.

arch/powerpc/platforms/85xx/mpc85xx_rdb.c+2−23

This diff is large: its 46 lines aren’t shown here.

arch/powerpc/platforms/85xx/sgy_cts1000.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/85xx/smp.c+11−6

This diff is large: its 48 lines aren’t shown here.

arch/powerpc/platforms/85xx/twr_p102x.c+147−0

This diff is large: its 148 lines aren’t shown here.

arch/powerpc/platforms/8xx/Kconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/Kconfig.cputype+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/beat_htab.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/platforms/cell/iommu.c+8−6

This diff is large: its 49 lines aren’t shown here.

arch/powerpc/platforms/chrp/smp.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/embedded6xx/Kconfig+12−1

This diff is large: its 24 lines aren’t shown here.

arch/powerpc/platforms/embedded6xx/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/platforms/embedded6xx/hlwd-pic.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/embedded6xx/mvme5100.c+221−0

This diff is large: its 222 lines aren’t shown here.

arch/powerpc/platforms/pasemi/dma_lib.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pasemi/iommu.c+4−1

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/platforms/powermac/pfunc_core.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/powernv/Kconfig+0−5

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/platforms/powernv/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/platforms/powernv/eeh-ioda.c+47−176

This diff is large: its 321 lines aren’t shown here.

arch/powerpc/platforms/powernv/eeh-powernv.c+23−1

This diff is large: its 38 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal-flash.c+10−29

This diff is large: its 83 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal-memory-errors.c+146−0

This diff is large: its 147 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal-rtc.c+5−1

This diff is large: its 21 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal-wrappers.S+3−0

This diff is large: its 7 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal.c+157−110

This diff is large: its 327 lines aren’t shown here.

arch/powerpc/platforms/powernv/pci-ioda.c+5−6

This diff is large: its 53 lines aren’t shown here.

arch/powerpc/platforms/powernv/pci-p5ioc2.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/powernv/pci.c+170−60

This diff is large: its 276 lines aren’t shown here.

arch/powerpc/platforms/powernv/pci.h+3−0

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/platforms/powernv/setup.c+16−3

This diff is large: its 47 lines aren’t shown here.

arch/powerpc/platforms/ps3/spu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/pseries/Kconfig+1−10

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/platforms/pseries/Makefile+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pseries/cmm.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pseries/dtl.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pseries/eeh_pseries.c+3−1

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/platforms/pseries/iommu.c+42−125

This diff is large: its 314 lines aren’t shown here.

arch/powerpc/platforms/pseries/lpar.c+3−2

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/platforms/pseries/setup.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/platforms/wsp/wsp_pci.c+6−5

This diff is large: its 32 lines aren’t shown here.

arch/powerpc/sysdev/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/axonram.c+11−10

This diff is large: its 39 lines aren’t shown here.

arch/powerpc/sysdev/cpm2_pic.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/dart_iommu.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/fsl_ifc.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/fsl_lbc.c+25−6

This diff is large: its 73 lines aren’t shown here.

arch/powerpc/sysdev/fsl_pci.c+3−2

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/sysdev/ge/ge_pic.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/i8259.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/indirect_pci.c+2−4

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/sysdev/mpc8xx_pic.c+0−1

This diff is large: its 7 lines aren’t shown here.

arch/powerpc/sysdev/mpic_timer.c+8−2

This diff is large: its 36 lines aren’t shown here.

arch/powerpc/sysdev/mv64x60_dev.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/mv64x60_udbg.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/qe_lib/qe_io.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/qe_lib/ucc.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/qe_lib/ucc_fast.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/qe_lib/ucc_slow.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/udbg_memcons.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/xics/icp-hv.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/xmon/xmon.c+4−0

This diff is large: its 11 lines aren’t shown here.

arch/s390/Kconfig+3−3

This diff is large: its 22 lines aren’t shown here.

arch/s390/crypto/des_s390.c+3−3

This diff is large: its 13 lines aren’t shown here.

arch/s390/hypfs/Makefile+1−1

This diff is large: its 6 lines aren’t shown here.

arch/s390/hypfs/hypfs.h+7−0

This diff is large: its 28 lines aren’t shown here.

arch/s390/hypfs/hypfs_dbfs.c+16−0

This diff is large: its 26 lines aren’t shown here.

arch/s390/hypfs/hypfs_sprp.c+141−0

This diff is large: its 142 lines aren’t shown here.

arch/s390/hypfs/inode.c+11−4

This diff is large: its 41 lines aren’t shown here.

arch/s390/include/asm/Kbuild+1−0

This diff is large: its 5 lines aren’t shown here.

arch/s390/include/asm/cmpxchg.h+3−2

This diff is large: its 15 lines aren’t shown here.

arch/s390/include/asm/kvm_host.h+14−1

This diff is large: its 24 lines aren’t shown here.

arch/s390/include/asm/sclp.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/include/asm/sigp.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/s390/include/uapi/asm/hypfs.h+25−0

This diff is large: its 26 lines aren’t shown here.

arch/s390/include/uapi/asm/socket.h+2−0

This diff is large: its 7 lines aren’t shown here.

arch/s390/include/uapi/asm/statfs.h+5−5

This diff is large: its 17 lines aren’t shown here.

arch/s390/include/uapi/asm/unistd.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/compat_linux.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/s390/kernel/compat_wrapper.S+11−0

This diff is large: its 15 lines aren’t shown here.

arch/s390/kernel/syscalls.S+2−0

This diff is large: its 6 lines aren’t shown here.

arch/s390/kvm/diag.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/s390/kvm/intercept.c+11−0

This diff is large: its 18 lines aren’t shown here.

arch/s390/kvm/kvm-s390.c+38−34

This diff is large: its 149 lines aren’t shown here.

arch/s390/kvm/kvm-s390.h+8−8

This diff is large: its 44 lines aren’t shown here.

arch/s390/kvm/priv.c+1−3

This diff is large: its 25 lines aren’t shown here.

arch/s390/kvm/sigp.c+102−18

This diff is large: its 211 lines aren’t shown here.

arch/s390/kvm/trace.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/lib/uaccess.h+0−9

This diff is large: its 16 lines aren’t shown here.

arch/s390/lib/uaccess_pt.c+12−2

This diff is large: its 63 lines aren’t shown here.

arch/s390/pci/pci.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/score/Kconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/score/include/asm/Kbuild+2−0

This diff is large: its 9 lines aren’t shown here.

arch/score/lib/checksum.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/Kconfig+4−4

This diff is large: its 18 lines aren’t shown here.

arch/sh/boards/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sh/boards/mach-ecovec24/setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/include/asm/Kbuild+1−0

This diff is large: its 5 lines aren’t shown here.

arch/sh/include/asm/clkdev.h+2−0

This diff is large: its 10 lines aren’t shown here.

arch/sh/include/asm/fixmap.h+2−37

This diff is large: its 53 lines aren’t shown here.

arch/sh/kernel/cpu/sh2/setup-sh7619.c+21−9

This diff is large: its 73 lines aren’t shown here.

arch/sh/kernel/cpu/sh2a/setup-mxg.c+7−3

This diff is large: its 25 lines aren’t shown here.

arch/sh/kernel/cpu/sh2a/setup-sh7201.c+56−24

This diff is large: its 193 lines aren’t shown here.

arch/sh/kernel/cpu/sh2a/setup-sh7203.c+28−12

This diff is large: its 105 lines aren’t shown here.

arch/sh/kernel/cpu/sh2a/setup-sh7206.c+28−12

This diff is large: its 97 lines aren’t shown here.

arch/sh/kernel/cpu/sh2a/setup-sh7264.c+80−24

This diff is large: its 233 lines aren’t shown here.

arch/sh/kernel/cpu/sh2a/setup-sh7269.c+80−24

This diff is large: its 233 lines aren’t shown here.

arch/sh/kernel/cpu/sh3/setup-sh7705.c+14−6

This diff is large: its 54 lines aren’t shown here.

arch/sh/kernel/cpu/sh3/setup-sh770x.c+21−9

This diff is large: its 83 lines aren’t shown here.

arch/sh/kernel/cpu/sh3/setup-sh7710.c+14−6

This diff is large: its 51 lines aren’t shown here.

arch/sh/kernel/cpu/sh3/setup-sh7720.c+14−6

This diff is large: its 53 lines aren’t shown here.

arch/sh/kernel/cpu/sh4/setup-sh4-202.c+10−6

This diff is large: its 31 lines aren’t shown here.

arch/sh/kernel/cpu/sh4/setup-sh7750.c+14−6

This diff is large: its 51 lines aren’t shown here.

arch/sh/kernel/cpu/sh4/setup-sh7760.c+39−23

This diff is large: its 123 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7343.c+28−12

This diff is large: its 97 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7366.c+7−3

This diff is large: its 26 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7722.c+21−9

This diff is large: its 79 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7723.c+45−18

This diff is large: its 157 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7724.c+45−18

This diff is large: its 157 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7734.c+48−24

This diff is large: its 157 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7757.c+21−9

This diff is large: its 73 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7763.c+21−9

This diff is large: its 76 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7770.c+70−30

This diff is large: its 241 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7780.c+14−8

This diff is large: its 61 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7785.c+42−18

This diff is large: its 151 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7786.c+62−26

This diff is large: its 189 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-shx3.c+30−18

This diff is large: its 91 lines aren’t shown here.

arch/sh/kernel/cpu/sh5/setup-sh5.c+9−3

This diff is large: its 27 lines aren’t shown here.

arch/sh/kernel/dwarf.c+4−14

This diff is large: its 34 lines aren’t shown here.

arch/sh/kernel/kgdb.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sh/kernel/setup.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/sparc/Kconfig+3−2

This diff is large: its 21 lines aren’t shown here.

arch/sparc/include/asm/Kbuild+1−0

This diff is large: its 5 lines aren’t shown here.

arch/sparc/include/uapi/asm/socket.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/sparc/include/uapi/asm/unistd.h+3−1

This diff is large: its 12 lines aren’t shown here.

arch/sparc/kernel/cpumap.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/ebus.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/hvtramp.S+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/of_device_common.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/pci.c+4−5

This diff is large: its 35 lines aren’t shown here.

arch/sparc/kernel/pci_common.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/process_32.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/sparc_ksyms_32.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/sparc_ksyms_64.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/systbls_32.S+1−1

This diff is large: its 6 lines aren’t shown here.

arch/sparc/kernel/systbls_64.S+2−2

This diff is large: its 15 lines aren’t shown here.

arch/sparc/kernel/trampoline_32.S+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/trampoline_64.S+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/mm/hugetlbpage.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/mm/init_64.c+3−2

This diff is large: its 19 lines aren’t shown here.

arch/sparc/mm/tlb.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/prom/p1275.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/tile/include/asm/Kbuild+1−0

This diff is large: its 5 lines aren’t shown here.

arch/tile/include/asm/compat.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/tile/include/asm/fixmap.h+1−32

This diff is large: its 47 lines aren’t shown here.

arch/um/include/asm/Kbuild+2−0

This diff is large: its 6 lines aren’t shown here.

arch/um/include/asm/fixmap.h+1−39

This diff is large: its 53 lines aren’t shown here.

arch/um/include/asm/processor-generic.h+0−3

This diff is large: its 19 lines aren’t shown here.

arch/unicore32/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/unicore32/include/asm/Kbuild+1−0

This diff is large: its 5 lines aren’t shown here.

arch/unicore32/kernel/early_printk.c+1−7

This diff is large: its 19 lines aren’t shown here.

arch/unicore32/mm/init.c+0−3

This diff is large: its 10 lines aren’t shown here.

arch/x86/Kconfig+7−5

This diff is large: its 43 lines aren’t shown here.

arch/x86/Makefile+22−0

This diff is large: its 29 lines aren’t shown here.

arch/x86/boot/Makefile+1−14

This diff is large: its 22 lines aren’t shown here.

arch/x86/boot/cpuflags.c+20−5

This diff is large: its 41 lines aren’t shown here.

arch/x86/boot/video.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/crypto/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/crypto/aesni-intel_avx-x86_64.S+2811−0

This diff is large: its 2812 lines aren’t shown here.

arch/x86/crypto/aesni-intel_glue.c+144−3

This diff is large: its 186 lines aren’t shown here.

arch/x86/include/asm/dmi.h+4−2

This diff is large: its 12 lines aren’t shown here.

arch/x86/include/asm/fixmap.h+1−58

This diff is large: its 66 lines aren’t shown here.

arch/x86/include/asm/hash.h+7−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/kvm_host.h+3−0

This diff is large: its 17 lines aren’t shown here.

arch/x86/include/asm/kvm_para.h+12−21

This diff is large: its 48 lines aren’t shown here.

arch/x86/include/asm/paravirt.h+1−1

This diff is large: its 11 lines aren’t shown here.

arch/x86/include/asm/paravirt_types.h+5−4

This diff is large: its 16 lines aren’t shown here.

arch/x86/include/asm/pci.h+1−2

This diff is large: its 17 lines aren’t shown here.

arch/x86/include/asm/pgtable_types.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/x86/include/asm/thread_info.h+5−3

This diff is large: its 15 lines aren’t shown here.

arch/x86/include/asm/uv/uv.h+0−2

This diff is large: its 16 lines aren’t shown here.

arch/x86/include/asm/vmx.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/x86_init.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/xen/page.h+10−3

This diff is large: its 40 lines aren’t shown here.

arch/x86/include/uapi/asm/hyperv.h+13−0

This diff is large: its 32 lines aren’t shown here.

arch/x86/include/uapi/asm/msr-index.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/uapi/asm/sembuf.h+5−5

This diff is large: its 18 lines aren’t shown here.

arch/x86/kernel/acpi/boot.c+2−5

This diff is large: its 28 lines aren’t shown here.

arch/x86/kernel/apic/apic_flat_64.c+1−3

This diff is large: its 11 lines aren’t shown here.

arch/x86/kernel/apic/io_apic.c+0−3

This diff is large: its 10 lines aren’t shown here.

arch/x86/kernel/apic/x2apic_uv_x.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/check.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/cpu/microcode/amd.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/cpu/microcode/intel.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/e820.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/kvm.c+33−1

This diff is large: its 48 lines aren’t shown here.

arch/x86/kernel/vsmp_64.c+4−4

This diff is large: its 36 lines aren’t shown here.

arch/x86/kernel/x86_init.c+2−2

This diff is large: its 12 lines aren’t shown here.

arch/x86/kvm/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kvm/cpuid.h+8−0

This diff is large: its 13 lines aren’t shown here.

arch/x86/kvm/i8254.c+18−0

This diff is large: its 32 lines aren’t shown here.

arch/x86/kvm/lapic.c+3−6

This diff is large: its 37 lines aren’t shown here.

arch/x86/kvm/lapic.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kvm/mmu.c+12−0

This diff is large: its 40 lines aren’t shown here.

arch/x86/kvm/paging_tmpl.h+8−0

This diff is large: its 22 lines aren’t shown here.

arch/x86/kvm/svm.c+15−0

This diff is large: its 29 lines aren’t shown here.

arch/x86/kvm/vmx.c+209−123

This diff is large: its 694 lines aren’t shown here.

arch/x86/kvm/x86.c+85−55

This diff is large: its 318 lines aren’t shown here.

arch/x86/kvm/x86.h+2−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/lguest/boot.c+6−6

This diff is large: its 39 lines aren’t shown here.

arch/x86/lib/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/lib/hash.c+88−0

This diff is large: its 89 lines aren’t shown here.

arch/x86/math-emu/errors.c+0−5

This diff is large: its 12 lines aren’t shown here.

arch/x86/mm/gup.c+4−4

This diff is large: its 29 lines aren’t shown here.

arch/x86/mm/init_32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/mm/init_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/mm/memtest.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/mm/numa.c+50−2

This diff is large: its 80 lines aren’t shown here.

arch/x86/mm/srat.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/x86/pci/mmconfig-shared.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/pci/mmconfig_32.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/pci/xen.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/platform/intel-mid/device_libs/platform_ipc.h+3−2

This diff is large: its 10 lines aren’t shown here.

arch/x86/platform/intel-mid/device_libs/platform_msic.h+2−2

This diff is large: its 9 lines aren’t shown here.

arch/x86/platform/intel-mid/intel_mid_weak_decls.h+3−3

This diff is large: its 10 lines aren’t shown here.

arch/x86/platform/intel-mid/mfld.c+3−3

This diff is large: its 22 lines aren’t shown here.

arch/x86/platform/intel-mid/mrfl.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/platform/olpc/olpc-xo15-sci.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/x86/platform/uv/uv_nmi.c+46−19

This diff is large: its 134 lines aren’t shown here.

arch/x86/realmode/rm/Makefile+2−15

This diff is large: its 23 lines aren’t shown here.

arch/x86/tools/relocs.c+29−1

This diff is large: its 50 lines aren’t shown here.

arch/x86/tools/relocs.h+4−3

This diff is large: its 13 lines aren’t shown here.

arch/x86/tools/relocs_common.c+12−4

This diff is large: its 50 lines aren’t shown here.

arch/x86/xen/Kconfig+4−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/xen/enlighten.c+106−20

This diff is large: its 196 lines aren’t shown here.

arch/x86/xen/grant-table.c+64−0

This diff is large: its 68 lines aren’t shown here.

arch/x86/xen/irq.c+8−5

This diff is large: its 54 lines aren’t shown here.

arch/x86/xen/mmu.c+103−79

This diff is large: its 295 lines aren’t shown here.

arch/x86/xen/p2m.c+15−17

This diff is large: its 85 lines aren’t shown here.

arch/x86/xen/platform-pci-unplug.c+76−3

This diff is large: its 94 lines aren’t shown here.

arch/x86/xen/setup.c+34−10

This diff is large: its 114 lines aren’t shown here.

arch/x86/xen/smp.c+33−16

This diff is large: its 104 lines aren’t shown here.

arch/x86/xen/spinlock.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/xen/time.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/xen/xen-head.S+24−1

This diff is large: its 41 lines aren’t shown here.

arch/x86/xen/xen-ops.h+1−0

This diff is large: its 6 lines aren’t shown here.

arch/xtensa/Kconfig+53−5

This diff is large: its 117 lines aren’t shown here.

arch/xtensa/boot/dts/lx60.dts+1−1

This diff is large: its 9 lines aren’t shown here.

arch/xtensa/boot/dts/ml605.dts+1−1

This diff is large: its 9 lines aren’t shown here.

arch/xtensa/boot/dts/xtfpga.dtsi+3−3

This diff is large: its 25 lines aren’t shown here.

arch/xtensa/include/asm/Kbuild+1−1

This diff is large: its 13 lines aren’t shown here.

arch/xtensa/include/asm/barrier.h+0−4

This diff is large: its 11 lines aren’t shown here.

arch/xtensa/include/asm/bitops.h+2−6

This diff is large: its 15 lines aren’t shown here.

arch/xtensa/include/asm/cacheflush.h+25−15

This diff is large: its 92 lines aren’t shown here.

arch/xtensa/include/asm/delay.h+43−9

This diff is large: its 67 lines aren’t shown here.

arch/xtensa/include/asm/ftrace.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/xtensa/include/asm/futex.h+147−0

This diff is large: its 148 lines aren’t shown here.

arch/xtensa/include/asm/initialize_mmu.h+7−6

This diff is large: its 37 lines aren’t shown here.

arch/xtensa/include/asm/io.h+11−5

This diff is large: its 32 lines aren’t shown here.

arch/xtensa/include/asm/irq.h+9−0

This diff is large: its 15 lines aren’t shown here.

arch/xtensa/include/asm/mmu.h+5−5

This diff is large: its 26 lines aren’t shown here.

arch/xtensa/include/asm/mmu_context.h+63−43

This diff is large: its 172 lines aren’t shown here.

arch/xtensa/include/asm/mxregs.h+46−0

This diff is large: its 47 lines aren’t shown here.

arch/xtensa/include/asm/perf_event.h+4−0

This diff is large: its 5 lines aren’t shown here.

arch/xtensa/include/asm/processor.h+20−0

This diff is large: its 26 lines aren’t shown here.

arch/xtensa/include/asm/ptrace.h+8−0

This diff is large: its 18 lines aren’t shown here.

arch/xtensa/include/asm/smp.h+27−11

This diff is large: its 55 lines aren’t shown here.

arch/xtensa/include/asm/spinlock.h+17−14

This diff is large: its 102 lines aren’t shown here.

arch/xtensa/include/asm/spinlock_types.h+20−0

This diff is large: its 21 lines aren’t shown here.

arch/xtensa/include/asm/timex.h+2−12

This diff is large: its 42 lines aren’t shown here.

arch/xtensa/include/asm/tlbflush.h+31−11

This diff is large: its 69 lines aren’t shown here.

arch/xtensa/include/asm/traps.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/xtensa/include/asm/vectors.h+14−9

This diff is large: its 69 lines aren’t shown here.

arch/xtensa/include/uapi/asm/socket.h+2−0

This diff is large: its 7 lines aren’t shown here.

arch/xtensa/kernel/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/xtensa/kernel/head.S+137−44

This diff is large: its 243 lines aren’t shown here.

arch/xtensa/kernel/irq.c+97−110

This diff is large: its 294 lines aren’t shown here.

arch/xtensa/kernel/mxhead.S+85−0

This diff is large: its 86 lines aren’t shown here.

arch/xtensa/kernel/setup.c+94−37

This diff is large: its 255 lines aren’t shown here.

arch/xtensa/kernel/smp.c+592−0

This diff is large: its 593 lines aren’t shown here.

arch/xtensa/kernel/time.c+34−27

This diff is large: its 115 lines aren’t shown here.

arch/xtensa/kernel/traps.c+34−22

This diff is large: its 109 lines aren’t shown here.

arch/xtensa/kernel/vmlinux.lds.S+26−0

This diff is large: its 40 lines aren’t shown here.

arch/xtensa/mm/cache.c+3−4

This diff is large: its 28 lines aren’t shown here.

arch/xtensa/mm/fault.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/xtensa/mm/misc.S+2−2

This diff is large: its 18 lines aren’t shown here.

arch/xtensa/mm/mmu.c+18−2

This diff is large: its 41 lines aren’t shown here.

arch/xtensa/mm/tlb.c+22−15

This diff is large: its 100 lines aren’t shown here.

arch/xtensa/platforms/iss/network.c+104−197

This diff is large: its 589 lines aren’t shown here.

arch/xtensa/platforms/iss/simdisk.c+7−7

This diff is large: its 26 lines aren’t shown here.

arch/xtensa/platforms/xtfpga/include/platform/hardware.h+1−5

This diff is large: its 20 lines aren’t shown here.

arch/xtensa/platforms/xtfpga/setup.c+7−7

This diff is large: its 61 lines aren’t shown here.

arch/xtensa/variants/s6000/include/variant/irq.h+0−1

This diff is large: its 8 lines aren’t shown here.

block/blk-core.c+38−23

This diff is large: its 195 lines aren’t shown here.

block/blk-exec.c+4−0

This diff is large: its 11 lines aren’t shown here.

block/blk-flush.c+1−1

This diff is large: its 9 lines aren’t shown here.

block/blk-integrity.c+22−18

This diff is large: its 89 lines aren’t shown here.

block/blk-lib.c+6−6

This diff is large: its 47 lines aren’t shown here.

block/blk-map.c+3−3

This diff is large: its 27 lines aren’t shown here.

block/blk-merge.c+36−30

This diff is large: its 179 lines aren’t shown here.

block/blk-mq-cpu.c+1−36

This diff is large: its 51 lines aren’t shown here.

block/blk-mq-tag.c+4−2

This diff is large: its 20 lines aren’t shown here.

block/blk-mq.c+44−79

This diff is large: its 221 lines aren’t shown here.

block/blk-mq.h+2−1

This diff is large: its 17 lines aren’t shown here.

block/blk-settings.c+4−0

This diff is large: its 11 lines aren’t shown here.

block/blk-sysfs.c+1−0

This diff is large: its 8 lines aren’t shown here.

block/blk-throttle.c+22−27

This diff is large: its 145 lines aren’t shown here.

block/cfq-iosched.c+58−73

This diff is large: its 316 lines aren’t shown here.

block/cmdline-parser.c+11−7

This diff is large: its 57 lines aren’t shown here.

block/elevator.c+1−1

This diff is large: its 9 lines aren’t shown here.

block/scsi_ioctl.c+4−2

This diff is large: its 17 lines aren’t shown here.

crypto/Makefile+0−5

This diff is large: its 12 lines aren’t shown here.

crypto/ahash.c+4−1

This diff is large: its 12 lines aren’t shown here.

crypto/memneq.c+55−25

This diff is large: its 103 lines aren’t shown here.

crypto/pcrypt.c+1−1

This diff is large: its 9 lines aren’t shown here.

crypto/tcrypt.c+270−0

This diff is large: its 285 lines aren’t shown here.

crypto/tcrypt.h+10−0

This diff is large: its 24 lines aren’t shown here.

drivers/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/ac.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/acpi/acpi_extlog.c+12−50

This diff is large: its 103 lines aren’t shown here.

drivers/acpi/acpi_memhotplug.c+19−8

This diff is large: its 69 lines aren’t shown here.

drivers/acpi/acpi_pad.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/acpi/acpi_processor.c+15−11

This diff is large: its 57 lines aren’t shown here.

drivers/acpi/acpica/acdebug.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/acevents.h+5−4

This diff is large: its 31 lines aren’t shown here.

drivers/acpi/acpica/acglobal.h+31−1

This diff is large: its 53 lines aren’t shown here.

drivers/acpi/acpica/aclocal.h+5−4

This diff is large: its 21 lines aren’t shown here.

drivers/acpi/acpica/dsfield.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dsutils.c+9−10

This diff is large: its 37 lines aren’t shown here.

drivers/acpi/acpica/dswload.c+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/acpi/acpica/evgpeblk.c+4−4

This diff is large: its 22 lines aren’t shown here.

drivers/acpi/acpica/evgpeutil.c+15−9

This diff is large: its 70 lines aren’t shown here.

drivers/acpi/acpica/exresnte.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/acpi/acpica/nsxfeval.c+13−10

This diff is large: its 48 lines aren’t shown here.

drivers/acpi/acpica/psopinfo.c+49−2

This diff is large: its 68 lines aren’t shown here.

drivers/acpi/acpica/tbfadt.c+183−152

This diff is large: its 423 lines aren’t shown here.

drivers/acpi/acpica/tbutils.c+122−92

This diff is large: its 309 lines aren’t shown here.

drivers/acpi/acpica/utaddress.c+13−6

This diff is large: its 36 lines aren’t shown here.

drivers/acpi/acpica/utalloc.c+7−3

This diff is large: its 17 lines aren’t shown here.

drivers/acpi/acpica/utcache.c+6−6

This diff is large: its 43 lines aren’t shown here.

drivers/acpi/acpica/utdebug.c+2−2

This diff is large: its 12 lines aren’t shown here.

drivers/acpi/acpica/utglobal.c+0−4

This diff is large: its 12 lines aren’t shown here.

drivers/acpi/acpica/utxfinit.c+10−2

This diff is large: its 19 lines aren’t shown here.

drivers/acpi/apei/apei-base.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/apei/apei-internal.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/apei/einj.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/apei/ghes.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/battery.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/acpi/blacklist.c+50−1

This diff is large: its 65 lines aren’t shown here.

drivers/acpi/bus.c+14−72

This diff is large: its 142 lines aren’t shown here.

drivers/acpi/button.c+1−20

This diff is large: its 49 lines aren’t shown here.

drivers/acpi/container.c+50−5

This diff is large: its 79 lines aren’t shown here.

drivers/acpi/custom_method.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/debugfs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/device_pm.c+24−22

This diff is large: its 121 lines aren’t shown here.

drivers/acpi/dock.c+5−11

This diff is large: its 39 lines aren’t shown here.

drivers/acpi/ec.c+3−29

This diff is large: its 63 lines aren’t shown here.

drivers/acpi/ec_sys.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/event.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/fan.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/acpi/glue.c+60−105

This diff is large: its 233 lines aren’t shown here.

drivers/acpi/hed.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/internal.h+16−3

This diff is large: its 61 lines aren’t shown here.

drivers/acpi/numa.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/nvs.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/acpi/osl.c+7−7

This diff is large: its 56 lines aren’t shown here.

drivers/acpi/pci_irq.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/pci_link.c+2−2

This diff is large: its 12 lines aren’t shown here.

drivers/acpi/pci_root.c+18−114

This diff is large: its 181 lines aren’t shown here.

drivers/acpi/pci_slot.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/power.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/acpi/proc.c+2−3

This diff is large: its 15 lines aren’t shown here.

drivers/acpi/processor_core.c+14−15

This diff is large: its 83 lines aren’t shown here.

drivers/acpi/processor_driver.c+4−4

This diff is large: its 25 lines aren’t shown here.

drivers/acpi/processor_idle.c+17−20

This diff is large: its 100 lines aren’t shown here.

drivers/acpi/processor_perflib.c+2−5

This diff is large: its 18 lines aren’t shown here.

drivers/acpi/processor_thermal.c+4−7

This diff is large: its 32 lines aren’t shown here.

drivers/acpi/processor_throttling.c+2−5

This diff is large: its 17 lines aren’t shown here.

drivers/acpi/sbshc.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/acpi/scan.c+386−235

This diff is large: its 928 lines aren’t shown here.

drivers/acpi/sleep.c+2−12

This diff is large: its 37 lines aren’t shown here.

drivers/acpi/sysfs.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/acpi/tables.c+6−5

This diff is large: its 43 lines aren’t shown here.

drivers/acpi/thermal.c+3−4

This diff is large: its 22 lines aren’t shown here.

drivers/acpi/utils.c+97−2

This diff is large: its 110 lines aren’t shown here.

drivers/acpi/video.c+2−3

This diff is large: its 15 lines aren’t shown here.

drivers/acpi/video_detect.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/wakeup.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/amba/bus.c+17−196

This diff is large: its 272 lines aren’t shown here.

drivers/ata/ahci.c+86−30

This diff is large: its 168 lines aren’t shown here.

drivers/ata/ahci_imx.c+157−85

This diff is large: its 356 lines aren’t shown here.

drivers/ata/ata_generic.c+0−7

This diff is large: its 14 lines aren’t shown here.

drivers/ata/libahci.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/ata/libata-acpi.c+13−15

This diff is large: its 67 lines aren’t shown here.

drivers/ata/libata-core.c+27−0

This diff is large: its 41 lines aren’t shown here.

drivers/ata/libata-eh.c+2−3

This diff is large: its 20 lines aren’t shown here.

drivers/ata/libata-scsi.c+15−3

This diff is large: its 39 lines aren’t shown here.

drivers/ata/pata_acpi.c+2−3

This diff is large: its 14 lines aren’t shown here.

drivers/ata/pata_samsung_cf.c+27−16

This diff is large: its 62 lines aren’t shown here.

drivers/ata/sata_highbank.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/ata/sata_mv.c+52−0

This diff is large: its 136 lines aren’t shown here.

drivers/ata/sata_rcar.c+102−16

This diff is large: its 184 lines aren’t shown here.

drivers/atm/he.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/atm/nicstar.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/atm/solos-pci.c+0−2

This diff is large: its 16 lines aren’t shown here.

drivers/base/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/base/Makefile+2−2

This diff is large: its 13 lines aren’t shown here.

drivers/base/base.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/base/bus.c+11−2

This diff is large: its 29 lines aren’t shown here.

drivers/base/component.c+382−0

This diff is large: its 383 lines aren’t shown here.

drivers/base/container.c+44−0

This diff is large: its 45 lines aren’t shown here.

drivers/base/core.c+5−2

This diff is large: its 32 lines aren’t shown here.

drivers/base/devtmpfs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/base/firmware_class.c+66−27

This diff is large: its 246 lines aren’t shown here.

drivers/base/init.c+1−0

This diff is large: its 6 lines aren’t shown here.

drivers/base/platform.c+15−1

This diff is large: its 30 lines aren’t shown here.

drivers/base/power/clock_ops.c+25−5

This diff is large: its 74 lines aren’t shown here.

drivers/base/power/generic_ops.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/base/regmap/regmap-irq.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/base/regmap/regmap.c+42−30

This diff is large: its 114 lines aren’t shown here.

drivers/bcma/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/bcma/bcma_private.h+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/bcma/driver_chipcommon_sflash.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/bcma/driver_gpio.c+135−2

This diff is large: its 181 lines aren’t shown here.

drivers/bcma/host_pci.c+1−2

This diff is large: its 17 lines aren’t shown here.

drivers/bcma/main.c+2−12

This diff is large: its 35 lines aren’t shown here.

drivers/block/Kconfig+4−1

This diff is large: its 19 lines aren’t shown here.

drivers/block/Makefile+1−1

This diff is large: its 16 lines aren’t shown here.

drivers/block/aoe/aoe.h+2−8

This diff is large: its 28 lines aren’t shown here.

drivers/block/aoe/aoecmd.c+60−93

This diff is large: its 294 lines aren’t shown here.

drivers/block/brd.c+8−8

This diff is large: its 38 lines aren’t shown here.

drivers/block/cciss.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/block/drbd/drbd_actlog.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/block/drbd/drbd_bitmap.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/block/drbd/drbd_main.c+15−12

This diff is large: its 47 lines aren’t shown here.

drivers/block/drbd/drbd_receiver.c+10−9

This diff is large: its 50 lines aren’t shown here.

drivers/block/drbd/drbd_req.c+3−3

This diff is large: its 20 lines aren’t shown here.

drivers/block/drbd/drbd_req.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/block/drbd/drbd_worker.c+4−4

This diff is large: its 22 lines aren’t shown here.

drivers/block/floppy.c+35−17

This diff is large: its 133 lines aren’t shown here.

drivers/block/loop.c+15−14

This diff is large: its 82 lines aren’t shown here.

drivers/block/mg_disk.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/block/mtip32xx/mtip32xx.c+169−101

This diff is large: its 370 lines aren’t shown here.

drivers/block/mtip32xx/mtip32xx.h+6−8

This diff is large: its 38 lines aren’t shown here.

drivers/block/nbd.c+7−7

This diff is large: its 45 lines aren’t shown here.

drivers/block/null_blk.c+5−0

This diff is large: its 12 lines aren’t shown here.

drivers/block/nvme-core.c+30−112

This diff is large: its 202 lines aren’t shown here.

drivers/block/paride/pg.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/block/pktcdvd.c+102−84

This diff is large: its 317 lines aren’t shown here.

drivers/block/ps3disk.c+8−9

This diff is large: its 43 lines aren’t shown here.

drivers/block/ps3vram.c+6−6

This diff is large: its 23 lines aren’t shown here.

drivers/block/rbd.c+220−174

This diff is large: its 727 lines aren’t shown here.

drivers/block/rsxx/dev.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/block/rsxx/dma.c+8−7

This diff is large: its 50 lines aren’t shown here.

drivers/block/sx8.c+1−15

This diff is large: its 22 lines aren’t shown here.

drivers/block/umem.c+25−28

This diff is large: its 138 lines aren’t shown here.

drivers/block/xen-blkback/blkback.c+7−10

This diff is large: its 65 lines aren’t shown here.

drivers/block/xen-blkfront.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/block/zram/Kconfigrenamed from drivers/staging/zram/Kconfig+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/block/zram/Makefilerenamed from drivers/staging/zram/Makefile+0−0

File renamed without changes.

drivers/block/zram/zram_drv.crenamed from drivers/staging/zram/zram_drv.c+64−97

This diff is large: its 400 lines aren’t shown here.

drivers/block/zram/zram_drv.hrenamed from drivers/staging/zram/zram_drv.h+8−24

This diff is large: its 85 lines aren’t shown here.

drivers/bluetooth/ath3k.c+4−0

This diff is large: its 32 lines aren’t shown here.

drivers/bluetooth/btmrvl_drv.h+12−13

This diff is large: its 67 lines aren’t shown here.

drivers/bluetooth/btmrvl_main.c+31−99

This diff is large: its 238 lines aren’t shown here.

drivers/bluetooth/btmrvl_sdio.c+1−8

This diff is large: its 63 lines aren’t shown here.

drivers/bluetooth/btmrvl_sdio.h+0−2

This diff is large: its 16 lines aren’t shown here.

drivers/bluetooth/btsdio.c+5−1

This diff is large: its 27 lines aren’t shown here.

drivers/bluetooth/btusb.c+51−2

This diff is large: its 99 lines aren’t shown here.

drivers/bluetooth/hci_vhci.c+18−11

This diff is large: its 70 lines aren’t shown here.

drivers/bus/mvebu-mbus.c+2−8

This diff is large: its 27 lines aren’t shown here.

drivers/cdrom/Makefile+0−1

This diff is large: its 6 lines aren’t shown here.

drivers/cdrom/gdrom.c+2−2

This diff is large: its 14 lines aren’t shown here.

drivers/char/Makefile+1−2

This diff is large: its 17 lines aren’t shown here.

drivers/char/agp/Kconfig+5−0

This diff is large: its 16 lines aren’t shown here.

drivers/char/agp/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/agp/agp.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/char/agp/ali-agp.c+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/char/agp/amd-k7-agp.c+5−7

This diff is large: its 47 lines aren’t shown here.

drivers/char/agp/amd64-agp.c+2−5

This diff is large: its 28 lines aren’t shown here.

drivers/char/agp/ati-agp.c+10−11

This diff is large: its 59 lines aren’t shown here.

drivers/char/agp/efficeon-agp.c+2−3

This diff is large: its 19 lines aren’t shown here.

drivers/char/agp/generic.c+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/char/agp/intel-agp.c+20−33

This diff is large: its 193 lines aren’t shown here.

drivers/char/agp/intel-agp.h+5−5

This diff is large: its 24 lines aren’t shown here.

drivers/char/agp/intel-gtt.c+37−28

This diff is large: its 260 lines aren’t shown here.

drivers/char/agp/nvidia-agp.c+5−4

This diff is large: its 31 lines aren’t shown here.

drivers/char/agp/sis-agp.c+2−3

This diff is large: its 16 lines aren’t shown here.

drivers/char/agp/via-agp.c+6−7

This diff is large: its 33 lines aren’t shown here.

drivers/char/apm-emulation.c+9−2

This diff is large: its 43 lines aren’t shown here.

drivers/char/hpet.c+2−5

This diff is large: its 18 lines aren’t shown here.

drivers/char/i8k.c+201−159

This diff is large: its 591 lines aren’t shown here.

drivers/char/ipmi/ipmi_bt_sm.c+4−4

This diff is large: its 35 lines aren’t shown here.

drivers/char/ipmi/ipmi_kcs_sm.c+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/char/ipmi/ipmi_si_intf.c+33−18

This diff is large: its 149 lines aren’t shown here.

drivers/char/ipmi/ipmi_smic_sm.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/lp.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/char/mem.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/char/msm_smd_pkt.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/nwbutton.c+4−1

This diff is large: its 12 lines aren’t shown here.

drivers/char/pcmcia/synclink_cs.c+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/char/tpm/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/tpm/tpm-dev.c+213−0

This diff is large: its 214 lines aren’t shown here.

drivers/char/tpm/tpm-interface.c+28−460

This diff is large: its 678 lines aren’t shown here.

drivers/char/tpm/tpm-sysfs.c+318−0

This diff is large: its 319 lines aren’t shown here.

drivers/char/tpm/tpm.h+39−44

This diff is large: its 154 lines aren’t shown here.

drivers/char/tpm/tpm_acpi.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/tpm/tpm_atmel.c+1−27

This diff is large: its 42 lines aren’t shown here.

drivers/char/tpm/tpm_i2c_atmel.c+2−42

This diff is large: its 62 lines aren’t shown here.

drivers/char/tpm/tpm_i2c_infineon.c+1−41

This diff is large: its 56 lines aren’t shown here.

drivers/char/tpm/tpm_i2c_nuvoton.c+1−42

This diff is large: its 64 lines aren’t shown here.

drivers/char/tpm/tpm_i2c_stm_st33.c+9−39

This diff is large: its 97 lines aren’t shown here.

drivers/char/tpm/tpm_ibmvtpm.c+1−40

This diff is large: its 62 lines aren’t shown here.

drivers/char/tpm/tpm_infineon.c+1−27

This diff is large: its 41 lines aren’t shown here.

drivers/char/tpm/tpm_nsc.c+1−27

This diff is large: its 42 lines aren’t shown here.

drivers/char/tpm/tpm_ppi.c+142−264

This diff is large: its 561 lines aren’t shown here.

drivers/char/tpm/tpm_tis.c+2−47

This diff is large: its 88 lines aren’t shown here.

drivers/char/tpm/xen-tpmfront.c+5−44

This diff is large: its 77 lines aren’t shown here.

drivers/char/ttyprintk.c+1−1

This diff is large: its 6 lines aren’t shown here.

drivers/clk/Kconfig+12−10

This diff is large: its 43 lines aren’t shown here.

drivers/clk/Makefile+39−35

This diff is large: its 80 lines aren’t shown here.

drivers/clk/at91/Makefile+11−0

This diff is large: its 12 lines aren’t shown here.

drivers/clk/at91/clk-main.c+187−0

This diff is large: its 188 lines aren’t shown here.

drivers/clk/at91/clk-master.c+270−0

This diff is large: its 271 lines aren’t shown here.

drivers/clk/at91/clk-peripheral.c+410−0

This diff is large: its 411 lines aren’t shown here.

drivers/clk/at91/clk-pll.c+531−0

This diff is large: its 532 lines aren’t shown here.

drivers/clk/at91/clk-plldiv.c+135−0

This diff is large: its 136 lines aren’t shown here.

drivers/clk/at91/clk-programmable.c+366−0

This diff is large: its 367 lines aren’t shown here.

drivers/clk/at91/clk-smd.c+171−0

This diff is large: its 172 lines aren’t shown here.

drivers/clk/at91/clk-system.c+135−0

This diff is large: its 136 lines aren’t shown here.

drivers/clk/at91/clk-usb.c+398−0

This diff is large: its 399 lines aren’t shown here.

drivers/clk/at91/clk-utmi.c+159−0

This diff is large: its 160 lines aren’t shown here.

drivers/clk/at91/pmc.c+395−0

This diff is large: its 396 lines aren’t shown here.

drivers/clk/at91/pmc.h+114−0

This diff is large: its 115 lines aren’t shown here.

drivers/clk/clk-composite.c+28−0

This diff is large: its 49 lines aren’t shown here.

drivers/clk/clk-fixed-rate.c+37−6

This diff is large: its 91 lines aren’t shown here.

drivers/clk/clk-max77686.c+60−37

This diff is large: its 166 lines aren’t shown here.

drivers/clk/clk-si5351.c+13−17

This diff is large: its 107 lines aren’t shown here.

drivers/clk/clk-si5351.h+14−0

This diff is large: its 19 lines aren’t shown here.

drivers/clk/clk-si570.c+531−0

This diff is large: its 532 lines aren’t shown here.

drivers/clk/clk-vt8500.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clk/clk.c+338−44

This diff is large: its 665 lines aren’t shown here.

drivers/clk/clk.h+16−0

This diff is large: its 17 lines aren’t shown here.

drivers/clk/clkdev.c+10−2

This diff is large: its 33 lines aren’t shown here.

drivers/clk/hisilicon/Makefile+5−0

This diff is large: its 6 lines aren’t shown here.

drivers/clk/hisilicon/clk-hi3620.c+242−0

This diff is large: its 243 lines aren’t shown here.

drivers/clk/hisilicon/clk.c+171−0

This diff is large: its 172 lines aren’t shown here.

drivers/clk/hisilicon/clk.h+103−0

This diff is large: its 104 lines aren’t shown here.

drivers/clk/hisilicon/clkgate-separated.c+130−0

This diff is large: its 131 lines aren’t shown here.

drivers/clk/keystone/gate.c+8−4

This diff is large: its 34 lines aren’t shown here.

drivers/clk/keystone/pll.c+20−4

This diff is large: its 59 lines aren’t shown here.

drivers/clk/mvebu/Kconfig+5−0

This diff is large: its 21 lines aren’t shown here.

drivers/clk/mvebu/Makefile+1−0

This diff is large: its 7 lines aren’t shown here.

drivers/clk/mvebu/clk-corediv.c+223−0

This diff is large: its 224 lines aren’t shown here.

drivers/clk/mvebu/clk-cpu.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clk/qcom/Kconfig+47−0

This diff is large: its 48 lines aren’t shown here.

drivers/clk/qcom/Makefile+14−0

This diff is large: its 15 lines aren’t shown here.

drivers/clk/qcom/clk-branch.c+159−0

This diff is large: its 160 lines aren’t shown here.

drivers/clk/qcom/clk-branch.h+56−0

This diff is large: its 57 lines aren’t shown here.

drivers/clk/qcom/clk-pll.c+222−0

This diff is large: its 223 lines aren’t shown here.

drivers/clk/qcom/clk-pll.h+66−0

This diff is large: its 67 lines aren’t shown here.

drivers/clk/qcom/clk-rcg.c+517−0

This diff is large: its 518 lines aren’t shown here.

drivers/clk/qcom/clk-rcg.h+159−0

This diff is large: its 160 lines aren’t shown here.

drivers/clk/qcom/clk-rcg2.c+291−0

This diff is large: its 292 lines aren’t shown here.

drivers/clk/qcom/clk-regmap.c+114−0

This diff is large: its 115 lines aren’t shown here.

drivers/clk/qcom/clk-regmap.h+45−0

This diff is large: its 46 lines aren’t shown here.

drivers/clk/qcom/gcc-msm8660.c+2819−0

This diff is large: its 2820 lines aren’t shown here.

drivers/clk/qcom/gcc-msm8960.c+2993−0

This diff is large: its 2994 lines aren’t shown here.

drivers/clk/qcom/gcc-msm8974.c+2694−0

This diff is large: its 2695 lines aren’t shown here.

drivers/clk/qcom/mmcc-msm8960.c+2321−0

This diff is large: its 2322 lines aren’t shown here.

drivers/clk/qcom/mmcc-msm8974.c+2625−0

This diff is large: its 2626 lines aren’t shown here.

drivers/clk/qcom/reset.c+63−0

This diff is large: its 64 lines aren’t shown here.

drivers/clk/qcom/reset.h+37−0

This diff is large: its 38 lines aren’t shown here.

drivers/clk/samsung/clk-exynos-audss.c+136−23

This diff is large: its 207 lines aren’t shown here.

drivers/clk/samsung/clk-exynos4.c+403−455

This diff is large: its 1114 lines aren’t shown here.

drivers/clk/samsung/clk-exynos5250.c+400−299

This diff is large: its 854 lines aren’t shown here.

drivers/clk/samsung/clk-exynos5420.c+310−340

This diff is large: its 818 lines aren’t shown here.

drivers/clk/samsung/clk-exynos5440.c+34−47

This diff is large: its 129 lines aren’t shown here.

drivers/clk/samsung/clk-pll.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clk/samsung/clk-s3c64xx.c+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/clk/shmobile/Makefile+7−0

This diff is large: its 8 lines aren’t shown here.

drivers/clk/shmobile/clk-div6.c+185−0

This diff is large: its 186 lines aren’t shown here.

drivers/clk/shmobile/clk-emev2.c+104−0

This diff is large: its 105 lines aren’t shown here.

drivers/clk/shmobile/clk-mstp.c+233−0

This diff is large: its 234 lines aren’t shown here.

drivers/clk/shmobile/clk-rcar-gen2.c+298−0

This diff is large: its 299 lines aren’t shown here.

drivers/clk/sirf/Makefile+5−0

This diff is large: its 6 lines aren’t shown here.

drivers/clk/sirf/atlas6.h+31−0

This diff is large: its 32 lines aren’t shown here.

drivers/clk/sirf/clk-atlas6.c+152−0

This diff is large: its 153 lines aren’t shown here.

drivers/clk/sirf/clk-common.crenamed from drivers/clk/clk-prima2.c+93−171

This diff is large: its 366 lines aren’t shown here.

drivers/clk/sirf/clk-prima2.c+151−0

This diff is large: its 152 lines aren’t shown here.

drivers/clk/sirf/prima2.h+25−0

This diff is large: its 26 lines aren’t shown here.

drivers/clk/socfpga/clk.c+2−4

This diff is large: its 20 lines aren’t shown here.

drivers/clk/spear/clk-frac-synth.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clk/sunxi/clk-factors.c+3−64

This diff is large: its 91 lines aren’t shown here.

drivers/clk/sunxi/clk-factors.h+9−7

This diff is large: its 21 lines aren’t shown here.

drivers/clk/sunxi/clk-sunxi.c+473−20

This diff is large: its 630 lines aren’t shown here.

drivers/clk/tegra/Makefile+6−1

This diff is large: its 14 lines aren’t shown here.

drivers/clk/tegra/clk-id.h+235−0

This diff is large: its 236 lines aren’t shown here.

drivers/clk/tegra/clk-periph-gate.c+6−24

This diff is large: its 55 lines aren’t shown here.

drivers/clk/tegra/clk-periph.c+29−45

This diff is large: its 127 lines aren’t shown here.

drivers/clk/tegra/clk-pll.c+316−101

This diff is large: its 787 lines aren’t shown here.

drivers/clk/tegra/clk-tegra-audio.c+215−0

This diff is large: its 216 lines aren’t shown here.

drivers/clk/tegra/clk-tegra-fixed.c+111−0

This diff is large: its 112 lines aren’t shown here.

drivers/clk/tegra/clk-tegra-periph.c+674−0

This diff is large: its 675 lines aren’t shown here.

drivers/clk/tegra/clk-tegra-pmc.c+132−0

This diff is large: its 133 lines aren’t shown here.

drivers/clk/tegra/clk-tegra-super-gen4.c+149−0

This diff is large: its 150 lines aren’t shown here.

drivers/clk/tegra/clk-tegra114.c+381−1307

This diff is large: its 2024 lines aren’t shown here.

drivers/clk/tegra/clk-tegra124.c+1424−0

This diff is large: its 1425 lines aren’t shown here.

drivers/clk/tegra/clk-tegra20.c+301−516

This diff is large: its 1137 lines aren’t shown here.

drivers/clk/tegra/clk-tegra30.c+458−1046

This diff is large: its 1808 lines aren’t shown here.

drivers/clk/tegra/clk.c+214−0

This diff is large: its 235 lines aren’t shown here.

drivers/clk/tegra/clk.h+75−41

This diff is large: its 260 lines aren’t shown here.

drivers/clk/ti/Makefile+11−0

This diff is large: its 12 lines aren’t shown here.

drivers/clk/ti/apll.c+223−0

This diff is large: its 224 lines aren’t shown here.

drivers/clk/ti/autoidle.c+133−0

This diff is large: its 134 lines aren’t shown here.

drivers/clk/ti/clk-33xx.c+161−0

This diff is large: its 162 lines aren’t shown here.

drivers/clk/ti/clk-3xxx.c+401−0

This diff is large: its 402 lines aren’t shown here.

drivers/clk/ti/clk-43xx.c+118−0

This diff is large: its 119 lines aren’t shown here.

drivers/clk/ti/clk-44xx.c+316−0

This diff is large: its 317 lines aren’t shown here.

drivers/clk/ti/clk-54xx.c+255−0

This diff is large: its 256 lines aren’t shown here.

drivers/clk/ti/clk-7xx.c+332−0

This diff is large: its 333 lines aren’t shown here.

drivers/clk/ti/clk.c+167−0

This diff is large: its 168 lines aren’t shown here.

drivers/clk/ti/clockdomain.c+70−0

This diff is large: its 71 lines aren’t shown here.

drivers/clk/ti/composite.c+269−0

This diff is large: its 270 lines aren’t shown here.

drivers/clk/ti/divider.c+487−0

This diff is large: its 488 lines aren’t shown here.

drivers/clk/ti/dpll.c+558−0

This diff is large: its 559 lines aren’t shown here.

drivers/clk/ti/fixed-factor.c+66−0

This diff is large: its 67 lines aren’t shown here.

drivers/clk/ti/gate.c+249−0

This diff is large: its 250 lines aren’t shown here.

drivers/clk/ti/interface.c+125−0

This diff is large: its 126 lines aren’t shown here.

drivers/clk/ti/mux.c+246−0

This diff is large: its 247 lines aren’t shown here.

drivers/clk/ux500/clk-prcmu.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clk/versatile/clk-icst.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/clk/versatile/clk-icst.h+1−0

This diff is large: its 6 lines aren’t shown here.

drivers/clk/versatile/clk-impd1.c+72−16

This diff is large: its 136 lines aren’t shown here.

drivers/clk/versatile/clk-integrator.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clk/versatile/clk-realview.c+4−2

This diff is large: its 14 lines aren’t shown here.

drivers/clk/versatile/clk-sp810.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clk/zynq/clkc.c+15−3

This diff is large: its 57 lines aren’t shown here.

drivers/clocksource/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clocksource/exynos_mct.c+4−0

This diff is large: its 11 lines aren’t shown here.

drivers/clocksource/nomadik-mtu.c+5−18

This diff is large: its 65 lines aren’t shown here.

drivers/cpufreq/Kconfig+6−1

This diff is large: its 21 lines aren’t shown here.

drivers/cpufreq/Kconfig.arm+22−5

This diff is large: its 57 lines aren’t shown here.

drivers/cpufreq/acpi-cpufreq.c+33−60

This diff is large: its 170 lines aren’t shown here.

drivers/cpufreq/arm_big_little.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/cpufreq/at32ap-cpufreq.c+5−12

This diff is large: its 61 lines aren’t shown here.

drivers/cpufreq/cpufreq-cpu0.c+19−7

This diff is large: its 83 lines aren’t shown here.

drivers/cpufreq/cpufreq.c+199−19

This diff is large: its 324 lines aren’t shown here.

drivers/cpufreq/cpufreq_governor.c+5−1

This diff is large: its 21 lines aren’t shown here.

drivers/cpufreq/cpufreq_governor.h+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/cpufreq/cpufreq_stats.c+48−61

This diff is large: its 181 lines aren’t shown here.

drivers/cpufreq/davinci-cpufreq.c+5−11

This diff is large: its 46 lines aren’t shown here.

drivers/cpufreq/dbx500-cpufreq.c+4−18

This diff is large: its 37 lines aren’t shown here.

drivers/cpufreq/exynos-cpufreq.c+18−10

This diff is large: its 76 lines aren’t shown here.

drivers/cpufreq/exynos-cpufreq.h+22−0

This diff is large: its 26 lines aren’t shown here.

drivers/cpufreq/exynos4210-cpufreq.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/cpufreq/exynos4x12-cpufreq.c+1−3

This diff is large: its 18 lines aren’t shown here.

drivers/cpufreq/exynos5250-cpufreq.c+10−65

This diff is large: its 120 lines aren’t shown here.

drivers/cpufreq/exynos5440-cpufreq.c+16−20

This diff is large: its 135 lines aren’t shown here.

drivers/cpufreq/freq_table.c+71−7

This diff is large: its 114 lines aren’t shown here.

drivers/cpufreq/imx6q-cpufreq.c+96−38

This diff is large: its 207 lines aren’t shown here.

drivers/cpufreq/integrator-cpufreq.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/cpufreq/intel_pstate.c+76−13

This diff is large: its 209 lines aren’t shown here.

drivers/cpufreq/kirkwood-cpufreq.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/cpufreq/loongson2_cpufreq.c+5−10

This diff is large: its 62 lines aren’t shown here.

drivers/cpufreq/omap-cpufreq.c+11−23

This diff is large: its 95 lines aren’t shown here.

drivers/cpufreq/pcc-cpufreq.c+7−11

This diff is large: its 40 lines aren’t shown here.

drivers/cpufreq/powernow-k6.c+120−27

This diff is large: its 215 lines aren’t shown here.

drivers/cpufreq/powernow-k8.c+1−6

This diff is large: its 16 lines aren’t shown here.

drivers/cpufreq/ppc-corenet-cpufreq.c+4−13

This diff is large: its 56 lines aren’t shown here.

drivers/cpufreq/pxa2xx-cpufreq.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/cpufreq/pxa3xx-cpufreq.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/cpufreq/s3c2416-cpufreq.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/cpufreq/s3c2440-cpufreq.c+2−4

This diff is large: its 27 lines aren’t shown here.

drivers/cpufreq/s3c24xx-cpufreq.c+5−9

This diff is large: its 50 lines aren’t shown here.

drivers/cpufreq/s3c64xx-cpufreq.c+13−22

This diff is large: its 114 lines aren’t shown here.

drivers/cpufreq/s5pv210-cpufreq.c+7−16

This diff is large: its 67 lines aren’t shown here.

drivers/cpufreq/sa1100-cpufreq.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/cpufreq/sa1110-cpufreq.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/cpufreq/spear-cpufreq.c+4−8

This diff is large: its 41 lines aren’t shown here.

drivers/cpufreq/speedstep-smi.c+0−32

This diff is large: its 39 lines aren’t shown here.

drivers/cpufreq/tegra-cpufreq.c+9−40

This diff is large: its 109 lines aren’t shown here.

drivers/cpufreq/unicore2-cpufreq.c+13−20

This diff is large: its 71 lines aren’t shown here.

drivers/cpuidle/Kconfig+5−0

This diff is large: its 12 lines aren’t shown here.

drivers/cpuidle/Kconfig.powerpc+20−0

This diff is large: its 21 lines aren’t shown here.

drivers/cpuidle/Makefile+5−0

This diff is large: its 9 lines aren’t shown here.

drivers/cpuidle/cpuidle-powernv.c+169−0

This diff is large: its 170 lines aren’t shown here.

drivers/cpuidle/cpuidle-pseries.crenamed from arch/powerpc/platforms/pseries/processor_idle.c+20−117

This diff is large: its 239 lines aren’t shown here.

drivers/crypto/Kconfig+29−10

This diff is large: its 51 lines aren’t shown here.

drivers/crypto/Makefile+17−16

This diff is large: its 42 lines aren’t shown here.

drivers/crypto/amcc/crypto4xx_core.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/crypto/atmel-aes.c+94−49

This diff is large: its 197 lines aren’t shown here.

drivers/crypto/atmel-sha.c+78−25

This diff is large: its 154 lines aren’t shown here.

drivers/crypto/atmel-tdes.c+94−49

This diff is large: its 189 lines aren’t shown here.

drivers/crypto/caam/caamalg.c+13−23

This diff is large: its 80 lines aren’t shown here.

drivers/crypto/ccp/Kconfig+24−0

This diff is large: its 25 lines aren’t shown here.

drivers/crypto/ccp/Makefile+10−0

This diff is large: its 11 lines aren’t shown here.

drivers/crypto/ccp/ccp-crypto-aes-cmac.c+365−0

This diff is large: its 366 lines aren’t shown here.

drivers/crypto/ccp/ccp-crypto-aes-xts.c+279−0

This diff is large: its 280 lines aren’t shown here.

drivers/crypto/ccp/ccp-crypto-aes.c+369−0

This diff is large: its 370 lines aren’t shown here.

drivers/crypto/ccp/ccp-crypto-main.c+432−0

This diff is large: its 433 lines aren’t shown here.

drivers/crypto/ccp/ccp-crypto-sha.c+517−0

This diff is large: its 518 lines aren’t shown here.

drivers/crypto/ccp/ccp-crypto.h+197−0

This diff is large: its 198 lines aren’t shown here.

drivers/crypto/ccp/ccp-dev.c+595−0

This diff is large: its 596 lines aren’t shown here.

drivers/crypto/ccp/ccp-dev.h+272−0

This diff is large: its 273 lines aren’t shown here.

drivers/crypto/ccp/ccp-ops.c+2024−0

This diff is large: its 2025 lines aren’t shown here.

drivers/crypto/ccp/ccp-pci.c+361−0

This diff is large: its 362 lines aren’t shown here.

drivers/crypto/dcp.c+0−903

This diff is large: its 904 lines aren’t shown here.

drivers/crypto/mxs-dcp.c+1100−0

This diff is large: its 1101 lines aren’t shown here.

drivers/crypto/omap-aes.c+14−2

This diff is large: its 37 lines aren’t shown here.

drivers/crypto/omap-sham.c+14−5

This diff is large: its 48 lines aren’t shown here.

drivers/crypto/talitos.c+15−8

This diff is large: its 45 lines aren’t shown here.

drivers/devfreq/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/devfreq/exynos/exynos4_bus.c+3−3

This diff is large: its 21 lines aren’t shown here.

drivers/devfreq/exynos/exynos4_bus.h+110−0

This diff is large: its 111 lines aren’t shown here.

drivers/devfreq/exynos/exynos5_bus.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/dma/Kconfig+16−0

This diff is large: its 40 lines aren’t shown here.

drivers/dma/Makefile+2−0

This diff is large: its 10 lines aren’t shown here.

drivers/dma/acpi-dma.c+24−12

This diff is large: its 110 lines aren’t shown here.

drivers/dma/amba-pl08x.c+3−1

This diff is large: its 25 lines aren’t shown here.

drivers/dma/bcm2835-dma.c+707−0

This diff is large: its 708 lines aren’t shown here.

drivers/dma/cppi41.c+3−1

This diff is large: its 12 lines aren’t shown here.

drivers/dma/dmaengine.c+59−4

This diff is large: its 90 lines aren’t shown here.

drivers/dma/dmatest.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/dma/dw/core.c+18−17

This diff is large: its 85 lines aren’t shown here.

drivers/dma/edma.c+3−3

This diff is large: its 20 lines aren’t shown here.

drivers/dma/fsldma.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/dma/imx-sdma.c+22−1

This diff is large: its 58 lines aren’t shown here.

drivers/dma/k3dma.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/dma/mmp_pdma.c+105−116

This diff is large: its 431 lines aren’t shown here.

drivers/dma/mmp_tdma.c+21−7

This diff is large: its 95 lines aren’t shown here.

drivers/dma/moxart-dma.c+699−0

This diff is large: its 700 lines aren’t shown here.

drivers/dma/of-dma.c+9−6

This diff is large: its 54 lines aren’t shown here.

drivers/dma/omap-dma.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/dma/pl330.c+35−31

This diff is large: its 171 lines aren’t shown here.

drivers/dma/ppc4xx/adma.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/dma/sirf-dma.c+20−0

This diff is large: its 34 lines aren’t shown here.

drivers/dma/ste_dma40.c+4−0

This diff is large: its 18 lines aren’t shown here.

drivers/dma/tegra20-apb-dma.c+101−13

This diff is large: its 322 lines aren’t shown here.

drivers/dma/virt-dma.h+3−1

This diff is large: its 14 lines aren’t shown here.

drivers/eisa/eisa-bus.c+18−13

This diff is large: its 85 lines aren’t shown here.

drivers/extcon/Kconfig+10−0

This diff is large: its 17 lines aren’t shown here.

drivers/extcon/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/extcon/extcon-arizona.c+53−20

This diff is large: its 151 lines aren’t shown here.

drivers/extcon/extcon-gpio.c+27−5

This diff is large: its 68 lines aren’t shown here.

drivers/extcon/extcon-max14577.c+752−0

This diff is large: its 753 lines aren’t shown here.

drivers/extcon/extcon-palmas.c+14−3

This diff is large: its 50 lines aren’t shown here.

drivers/firewire/core-transaction.c+3−3

This diff is large: its 23 lines aren’t shown here.

drivers/firewire/core.h+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/firewire/ohci.c+16−11

This diff is large: its 74 lines aren’t shown here.

drivers/firmware/Kconfig+4−1

This diff is large: its 14 lines aren’t shown here.

drivers/firmware/dmi-sysfs.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/firmware/dmi_scan.c+10−10

This diff is large: its 72 lines aren’t shown here.

drivers/firmware/google/Kconfig+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/firmware/memmap.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/Kconfig+47−5

This diff is large: its 118 lines aren’t shown here.

drivers/gpio/Makefile+5−1

This diff is large: its 38 lines aren’t shown here.

drivers/gpio/gpio-74x164.c+18−41

This diff is large: its 142 lines aren’t shown here.

drivers/gpio/gpio-adnp.c+24−1

This diff is large: its 46 lines aren’t shown here.

drivers/gpio/gpio-adp5520.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-adp5588.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-amd8111.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-arizona.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-bcm-kona.c+22−0

This diff is large: its 35 lines aren’t shown here.

drivers/gpio/gpio-bt8xx.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpio/gpio-clps711x.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpio/gpio-da9052.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-da9055.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-davinci.c+127−58

This diff is large: its 359 lines aren’t shown here.

drivers/gpio/gpio-em.c+25−3

This diff is large: its 50 lines aren’t shown here.

drivers/gpio/gpio-f7188x.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpio/gpio-ich.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-intel-mid.c+26−4

This diff is large: its 70 lines aren’t shown here.

drivers/gpio/gpio-kempld.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-ks8695.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-lp3943.c+242−0

This diff is large: its 243 lines aren’t shown here.

drivers/gpio/gpio-lpc32xx.c+7−7

This diff is large: its 66 lines aren’t shown here.

drivers/gpio/gpio-lynxpoint.c+36−3

This diff is large: its 79 lines aren’t shown here.

drivers/gpio/gpio-max730x.c+1−4

This diff is large: its 26 lines aren’t shown here.

drivers/gpio/gpio-max732x.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-mc33880.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-mc9s08dz60.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-mcp23s08.c+245−7

This diff is large: its 357 lines aren’t shown here.

drivers/gpio/gpio-ml-ioh.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpio/gpio-moxart.c+156−0

This diff is large: its 157 lines aren’t shown here.

drivers/gpio/gpio-msic.c+4−5

This diff is large: its 23 lines aren’t shown here.

drivers/gpio/gpio-msm-v2.c+2−1

This diff is large: its 13 lines aren’t shown here.

drivers/gpio/gpio-mvebu.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpio/gpio-mxc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-octeon.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-omap.c+94−94

This diff is large: its 568 lines aren’t shown here.

drivers/gpio/gpio-palmas.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-pca953x.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-pcf857x.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-pch.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpio/gpio-pxa.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/gpio/gpio-rc5t583.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-rcar.c+45−16

This diff is large: its 109 lines aren’t shown here.

drivers/gpio/gpio-samsung.c+7−4

This diff is large: its 42 lines aren’t shown here.

drivers/gpio/gpio-sch311x.c+432−0

This diff is large: its 433 lines aren’t shown here.

drivers/gpio/gpio-sodaville.c+7−3

This diff is large: its 33 lines aren’t shown here.

drivers/gpio/gpio-sta2x11.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-stmpe.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-sx150x.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-tb10x.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpio/gpio-tc3589x.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-tegra.c+6−1

This diff is large: its 21 lines aren’t shown here.

drivers/gpio/gpio-timberdale.c+3−3

This diff is large: its 20 lines aren’t shown here.

drivers/gpio/gpio-tnetv107x.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-tps6586x.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-tps65910.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-tps65912.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-twl4030.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-twl6040.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-ucb1400.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-viperboard.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpio/gpio-vx855.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-wm831x.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-wm8350.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-wm8994.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-xtensa.c+163−0

This diff is large: its 164 lines aren’t shown here.

drivers/gpio/gpiolib-acpi.c+16−7

This diff is large: its 67 lines aren’t shown here.

drivers/gpio/gpiolib.c+139−116

This diff is large: its 535 lines aren’t shown here.

drivers/gpio/gpiolib.h+46−0

This diff is large: its 47 lines aren’t shown here.

drivers/gpu/drm/Kconfig+8−0

This diff is large: its 22 lines aren’t shown here.

drivers/gpu/drm/Makefile+4−0

This diff is large: its 25 lines aren’t shown here.

drivers/gpu/drm/armada/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/armada/armada_drv.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/gpu/drm/ast/ast_fb.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/ast/ast_main.c+1−48

This diff is large: its 63 lines aren’t shown here.

drivers/gpu/drm/ast/ast_mode.c+10−10

This diff is large: its 90 lines aren’t shown here.

drivers/gpu/drm/ast/ast_ttm.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/bochs/Kconfig+11−0

This diff is large: its 12 lines aren’t shown here.

drivers/gpu/drm/bochs/Makefile+4−0

This diff is large: its 5 lines aren’t shown here.

drivers/gpu/drm/bochs/bochs.h+164−0

This diff is large: its 165 lines aren’t shown here.

drivers/gpu/drm/bochs/bochs_drv.c+178−0

This diff is large: its 179 lines aren’t shown here.

drivers/gpu/drm/bochs/bochs_fbdev.c+215−0

This diff is large: its 216 lines aren’t shown here.

drivers/gpu/drm/bochs/bochs_hw.c+177−0

This diff is large: its 178 lines aren’t shown here.

drivers/gpu/drm/bochs/bochs_kms.c+294−0

This diff is large: its 295 lines aren’t shown here.

drivers/gpu/drm/bochs/bochs_mm.c+546−0

This diff is large: its 547 lines aren’t shown here.

drivers/gpu/drm/cirrus/cirrus_drv.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/cirrus/cirrus_fbdev.c+4−1

This diff is large: its 19 lines aren’t shown here.

drivers/gpu/drm/cirrus/cirrus_main.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/cirrus/cirrus_mode.c+6−6

This diff is large: its 47 lines aren’t shown here.

drivers/gpu/drm/cirrus/cirrus_ttm.c+3−23

This diff is large: its 54 lines aren’t shown here.

drivers/gpu/drm/drm_agpsupport.c+10−25

This diff is large: its 96 lines aren’t shown here.

drivers/gpu/drm/drm_buffer.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/drm_bufs.c+2−8

This diff is large: its 38 lines aren’t shown here.

drivers/gpu/drm/drm_crtc.c+23−2

This diff is large: its 41 lines aren’t shown here.

drivers/gpu/drm/drm_crtc_helper.c+1−30

This diff is large: its 45 lines aren’t shown here.

drivers/gpu/drm/drm_drv.c+0−4

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/drm_edid.c+176−113

This diff is large: its 629 lines aren’t shown here.

drivers/gpu/drm/drm_edid_load.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/drm_fb_helper.c+6−0

This diff is large: its 20 lines aren’t shown here.

drivers/gpu/drm/drm_fops.c+1−10

This diff is large: its 32 lines aren’t shown here.

drivers/gpu/drm/drm_gem.c+14−31

This diff is large: its 130 lines aren’t shown here.

drivers/gpu/drm/drm_info.c+10−6

This diff is large: its 40 lines aren’t shown here.

drivers/gpu/drm/drm_irq.c+47−72

This diff is large: its 247 lines aren’t shown here.

drivers/gpu/drm/drm_memory.c+6−9

This diff is large: its 53 lines aren’t shown here.

drivers/gpu/drm/drm_mipi_dsi.c+315−0

This diff is large: its 316 lines aren’t shown here.

drivers/gpu/drm/drm_panel.c+100−0

This diff is large: its 101 lines aren’t shown here.

drivers/gpu/drm/drm_pci.c+21−17

This diff is large: its 112 lines aren’t shown here.

drivers/gpu/drm/drm_platform.c+0−12

This diff is large: its 19 lines aren’t shown here.

drivers/gpu/drm/drm_stub.c+12−19

This diff is large: its 79 lines aren’t shown here.

drivers/gpu/drm/drm_usb.c+1−1

This diff is large: its 14 lines aren’t shown here.

drivers/gpu/drm/drm_vm.c+2−8

This diff is large: its 52 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_crtc.c+2−2

This diff is large: its 12 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_drv.c+24−1

This diff is large: its 77 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_drv.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_fimc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_fimd.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_g2d.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_gem.c+14−62

This diff is large: its 133 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_gem.h+4−1

This diff is large: its 19 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_gsc.c+2−2

This diff is large: its 16 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_ipp.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_ipp.h+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_mixer.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/gma500/accel_2d.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/gma500/backlight.c+2−2

This diff is large: its 16 lines aren’t shown here.

drivers/gpu/drm/gma500/cdv_intel_dp.c+20−19

This diff is large: its 114 lines aren’t shown here.

drivers/gpu/drm/gma500/gma_display.c+10−2

This diff is large: its 45 lines aren’t shown here.

drivers/gpu/drm/gma500/opregion.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/gma500/psb_drv.h+4−4

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/gma500/psb_intel_drv.h+0−5

This diff is large: its 12 lines aren’t shown here.

drivers/gpu/drm/gma500/psb_irq.c+2−17

This diff is large: its 40 lines aren’t shown here.

drivers/gpu/drm/gma500/psb_irq.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i810/i810_dma.c+4−0

This diff is large: its 11 lines aren’t shown here.

drivers/gpu/drm/i810/i810_drv.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i915/Kconfig+24−8

This diff is large: its 63 lines aren’t shown here.

drivers/gpu/drm/i915/Makefile+3−3

This diff is large: its 30 lines aren’t shown here.

drivers/gpu/drm/i915/dvo_ns2501.c+4−69

This diff is large: its 108 lines aren’t shown here.

drivers/gpu/drm/i915/i915_debugfs.c+229−59

This diff is large: its 691 lines aren’t shown here.

drivers/gpu/drm/i915/i915_dma.c+31−22

This diff is large: its 155 lines aren’t shown here.

drivers/gpu/drm/i915/i915_drv.c+77−29

This diff is large: its 297 lines aren’t shown here.

drivers/gpu/drm/i915/i915_drv.h+115−52

This diff is large: its 425 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem.c+88−35

This diff is large: its 289 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_context.c+20−25

This diff is large: its 115 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_evict.c+20−7

This diff is large: its 51 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_execbuffer.c+43−26

This diff is large: its 187 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_gtt.c+39−21

This diff is large: its 154 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_stolen.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gpu_error.c+21−13

This diff is large: its 95 lines aren’t shown here.

drivers/gpu/drm/i915/i915_irq.c+85−76

This diff is large: its 315 lines aren’t shown here.

drivers/gpu/drm/i915/i915_reg.h+162−173

This diff is large: its 551 lines aren’t shown here.

drivers/gpu/drm/i915/i915_suspend.c+2−47

This diff is large: its 134 lines aren’t shown here.

drivers/gpu/drm/i915/i915_sysfs.c+29−20

This diff is large: its 159 lines aren’t shown here.

drivers/gpu/drm/i915/i915_ums.c+27−0

This diff is large: its 41 lines aren’t shown here.

drivers/gpu/drm/i915/intel_acpi.c+30−116

This diff is large: its 191 lines aren’t shown here.

drivers/gpu/drm/i915/intel_bios.c+33−4

This diff is large: its 68 lines aren’t shown here.

drivers/gpu/drm/i915/intel_bios.h+40−24

This diff is large: its 215 lines aren’t shown here.

drivers/gpu/drm/i915/intel_crt.c+3−2

This diff is large: its 12 lines aren’t shown here.

drivers/gpu/drm/i915/intel_ddi.c+112−36

This diff is large: its 231 lines aren’t shown here.

drivers/gpu/drm/i915/intel_display.c+431−161

This diff is large: its 1169 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dp.c+88−76

This diff is large: its 410 lines aren’t shown here.

drivers/gpu/drm/i915/intel_drv.h+36−11

This diff is large: its 130 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dsi.c+105−88

This diff is large: its 315 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dsi.h+21−0

This diff is large: its 35 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dsi_pll.c+51−68

This diff is large: its 187 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dvo.c+3−2

This diff is large: its 12 lines aren’t shown here.

drivers/gpu/drm/i915/intel_fbdev.c+47−18

This diff is large: its 121 lines aren’t shown here.

drivers/gpu/drm/i915/intel_hdmi.c+39−48

This diff is large: its 195 lines aren’t shown here.

drivers/gpu/drm/i915/intel_i2c.c+3−12

This diff is large: its 32 lines aren’t shown here.

drivers/gpu/drm/i915/intel_lvds.c+32−58

This diff is large: its 118 lines aren’t shown here.

drivers/gpu/drm/i915/intel_opregion.c+12−36

This diff is large: its 105 lines aren’t shown here.

drivers/gpu/drm/i915/intel_overlay.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i915/intel_panel.c+652−306

This diff is large: its 1163 lines aren’t shown here.

drivers/gpu/drm/i915/intel_pm.c+619−1052

This diff is large: its 2584 lines aren’t shown here.

drivers/gpu/drm/i915/intel_ringbuffer.c+28−26

This diff is large: its 146 lines aren’t shown here.

drivers/gpu/drm/i915/intel_sdvo.c+41−21

This diff is large: its 117 lines aren’t shown here.

drivers/gpu/drm/i915/intel_sdvo_regs.h+20−20

This diff is large: its 171 lines aren’t shown here.

drivers/gpu/drm/i915/intel_sideband.c+32−11

This diff is large: its 71 lines aren’t shown here.

drivers/gpu/drm/i915/intel_sprite.c+50−36

This diff is large: its 198 lines aren’t shown here.

drivers/gpu/drm/i915/intel_uncore.c+253−66

This diff is large: its 579 lines aren’t shown here.

drivers/gpu/drm/mga/mga_dma.c+2−2

This diff is large: its 13 lines aren’t shown here.

drivers/gpu/drm/mga/mga_drv.h+2−2

This diff is large: its 17 lines aren’t shown here.

drivers/gpu/drm/mga/mga_ioc32.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/mga/mga_irq.c+4−4

This diff is large: its 36 lines aren’t shown here.

drivers/gpu/drm/mga/mga_state.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/mgag200/mgag200_cursor.c+5−3

This diff is large: its 22 lines aren’t shown here.

drivers/gpu/drm/mgag200/mgag200_fb.c+7−2

This diff is large: its 30 lines aren’t shown here.

drivers/gpu/drm/mgag200/mgag200_main.c+5−2

This diff is large: its 21 lines aren’t shown here.

drivers/gpu/drm/mgag200/mgag200_mode.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/mgag200/mgag200_ttm.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/msm/Kconfig+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/gpu/drm/msm/Makefile+15−6

This diff is large: its 34 lines aren’t shown here.

drivers/gpu/drm/msm/NOTES+19−1

This diff is large: its 34 lines aren’t shown here.

drivers/gpu/drm/msm/adreno/a2xx.xml.h+105−20

This diff is large: its 160 lines aren’t shown here.

drivers/gpu/drm/msm/adreno/a3xx.xml.h+80−36

This diff is large: its 250 lines aren’t shown here.

drivers/gpu/drm/msm/adreno/a3xx_gpu.c+167−23

This diff is large: its 341 lines aren’t shown here.

drivers/gpu/drm/msm/adreno/a3xx_gpu.h+4−0

This diff is large: its 11 lines aren’t shown here.

drivers/gpu/drm/msm/adreno/adreno_common.xml.h+75−96

This diff is large: its 212 lines aren’t shown here.

drivers/gpu/drm/msm/adreno/adreno_gpu.c+18−7

This diff is large: its 81 lines aren’t shown here.

drivers/gpu/drm/msm/adreno/adreno_gpu.h+9−0

This diff is large: its 30 lines aren’t shown here.

drivers/gpu/drm/msm/adreno/adreno_pm4.xml.h+21−9

This diff is large: its 71 lines aren’t shown here.

drivers/gpu/drm/msm/dsi/dsi.xml.h+5−3

This diff is large: its 20 lines aren’t shown here.

drivers/gpu/drm/msm/dsi/mmss_cc.xml.h+5−3

This diff is large: its 20 lines aren’t shown here.

drivers/gpu/drm/msm/dsi/sfpb.xml.h+5−3

This diff is large: its 20 lines aren’t shown here.

drivers/gpu/drm/msm/hdmi/hdmi.c+151−50

This diff is large: its 303 lines aren’t shown here.

drivers/gpu/drm/msm/hdmi/hdmi.h+31−7

This diff is large: its 68 lines aren’t shown here.

drivers/gpu/drm/msm/hdmi/hdmi.xml.h+75−8

This diff is large: its 135 lines aren’t shown here.

drivers/gpu/drm/msm/hdmi/hdmi_bridge.c+71−0

This diff is large: its 99 lines aren’t shown here.

drivers/gpu/drm/msm/hdmi/hdmi_connector.c+93−46

This diff is large: its 285 lines aren’t shown here.

drivers/gpu/drm/msm/hdmi/hdmi_phy_8x74.c+157−0

This diff is large: its 158 lines aren’t shown here.

drivers/gpu/drm/msm/hdmi/qfprom.xml.h+5−3

This diff is large: its 20 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp4/mdp4.xml.hrenamed from drivers/gpu/drm/msm/mdp4/mdp4.xml.h+30−58

This diff is large: its 265 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.crenamed from drivers/gpu/drm/msm/mdp4/mdp4_crtc.c+13−13

This diff is large: its 95 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp4/mdp4_dtv_encoder.crenamed from drivers/gpu/drm/msm/mdp4/mdp4_dtv_encoder.c+2−4

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp4/mdp4_irq.c+93−0

This diff is large: its 94 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.crenamed from drivers/gpu/drm/msm/mdp4/mdp4_kms.c+39−22

This diff is large: its 158 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.hrenamed from drivers/gpu/drm/msm/mdp4/mdp4_kms.h+15−41

This diff is large: its 102 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.crenamed from drivers/gpu/drm/msm/mdp4/mdp4_plane.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h+1036−0

This diff is large: its 1037 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c+569−0

This diff is large: its 570 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c+258−0

This diff is large: its 259 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5_irq.c+111−0

This diff is large: its 112 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c+350−0

This diff is large: its 351 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h+213−0

This diff is large: its 214 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c+389−0

This diff is large: its 390 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.c+173−0

This diff is large: its 174 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.h+41−0

This diff is large: its 42 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp_common.xml.h+78−0

This diff is large: its 79 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp_format.crenamed from drivers/gpu/drm/msm/mdp4/mdp4_format.c+6−7

This diff is large: its 47 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp_kms.c+144−0

This diff is large: its 145 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp_kms.h+97−0

This diff is large: its 98 lines aren’t shown here.

drivers/gpu/drm/msm/mdp4/mdp4_irq.c+0−203

This diff is large: its 204 lines aren’t shown here.

drivers/gpu/drm/msm/msm_drv.c+93−39

This diff is large: its 222 lines aren’t shown here.

drivers/gpu/drm/msm/msm_drv.h+27−37

This diff is large: its 106 lines aren’t shown here.

drivers/gpu/drm/msm/msm_fb.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/msm/msm_gem.c+89−81

This diff is large: its 277 lines aren’t shown here.

drivers/gpu/drm/msm/msm_gem.h+5−0

This diff is large: its 12 lines aren’t shown here.

drivers/gpu/drm/msm/msm_gpu.c+16−23

This diff is large: its 88 lines aren’t shown here.

drivers/gpu/drm/msm/msm_gpu.h+5−1

This diff is large: its 20 lines aren’t shown here.

drivers/gpu/drm/msm/msm_iommu.c+148−0

This diff is large: its 149 lines aren’t shown here.

drivers/gpu/drm/msm/msm_kms.h+68−0

This diff is large: its 69 lines aren’t shown here.

drivers/gpu/drm/msm/msm_mmu.h+47−0

This diff is large: its 48 lines aren’t shown here.

drivers/gpu/drm/nouveau/Makefile+7−0

This diff is large: its 43 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/core/engine.c+18−5

This diff is large: its 30 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/copy/nvc0.c+0−6

This diff is large: its 20 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/copy/nve0.c+0−6

This diff is large: its 20 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/device/nv04.c+4−4

This diff is large: its 30 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/device/nv10.c+16−16

This diff is large: its 120 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/device/nv20.c+8−8

This diff is large: its 60 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/device/nv30.c+10−10

This diff is large: its 75 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/device/nv40.c+32−32

This diff is large: its 240 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/device/nv50.c+28−28

This diff is large: its 210 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/device/nvc0.c+18−18

This diff is large: its 153 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/device/nve0.c+13−15

This diff is large: its 103 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/disp/nv04.c+37−1

This diff is large: its 47 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/disp/nv50.c+30−0

This diff is large: its 44 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/disp/nv50.h+5−2

This diff is large: its 26 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/disp/nv84.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/disp/nv94.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/disp/nva3.c+2−1

This diff is large: its 11 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/disp/nvd0.c+46−4

This diff is large: its 73 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/disp/nve0.c+1−4

This diff is large: its 19 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/disp/nvf0.c+1−4

This diff is large: its 19 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/disp/vga.c+7−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/falcon.c+15−5

This diff is large: its 55 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/fifo/nv108.c+37−0

This diff is large: its 38 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/fifo/nvc0.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/fifo/nve0.c+310−104

This diff is large: its 609 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/fifo/nve0.h+17−0

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/ctxnv108.c+1408−0

This diff is large: its 1409 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/ctxnvf0.c+3−4

This diff is large: its 35 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/fuc/com.fuc+49−89

This diff is large: its 273 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpc.fuc+53−84

This diff is large: its 324 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnv108.fuc5+42−0

This diff is large: its 43 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnv108.fuc5.h+473−0

This diff is large: its 474 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvc0.fuc.h+383−321

This diff is large: its 751 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvd7.fuc.h+414−352

This diff is large: its 813 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnve0.fuc.h+414−352

This diff is large: its 813 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/fuc/gpcnvf0.fuc.h+414−352

This diff is large: its 813 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/fuc/hub.fuc+171−211

This diff is large: its 720 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5+40−0

This diff is large: its 41 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnv108.fuc5.h+916−0

This diff is large: its 917 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvc0.fuc.h+650−588

This diff is large: its 1344 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvd7.fuc.h+650−588

This diff is large: its 1344 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnve0.fuc.h+632−570

This diff is large: its 1306 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/fuc/hubnvf0.fuc.h+632−570

This diff is large: its 1306 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/fuc/macros.fuc+137−4

This diff is large: its 191 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/nv108.c+236−0

This diff is large: its 237 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/nv50.c+100−66

This diff is large: its 232 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/nvc0.h+10−0

This diff is large: its 24 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/nvf0.c+5−5

This diff is large: its 44 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/core/class.h+22−0

This diff is large: its 39 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/core/device.h+3−1

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/engine/fifo.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/engine/graph.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bar.h+1−22

This diff is large: its 38 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios/ramcfg.h+66−0

This diff is large: its 67 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios/rammap.h+20−6

This diff is large: its 32 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios/timing.h+9−3

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/devinit.h+11−28

This diff is large: its 52 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/fb.h+13−0

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/instmem.h+3−31

This diff is large: its 47 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/vm.h+0−4

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/bar/base.c+5−1

This diff is large: its 13 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/bar/nv50.c+2−1

This diff is large: its 13 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/bar/nvc0.c+2−1

This diff is large: its 13 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/bar/priv.h+26−0

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/bios/init.c+5−43

This diff is large: its 75 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/bios/ramcfg.c+67−0

This diff is large: its 68 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/bios/rammap.c+96−11

This diff is large: its 138 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/bios/timing.c+62−8

This diff is large: its 98 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/clock/base.c+6−3

This diff is large: its 16 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/clock/nv04.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/clock/nve0.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/base.c+31−3

This diff is large: its 73 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/nv04.c+17−19

This diff is large: its 83 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/nv04.h+23−0

This diff is large: its 24 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/nv05.c+10−31

This diff is large: its 63 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/nv10.c+10−31

This diff is large: its 60 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/nv1a.c+8−29

This diff is large: its 46 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/nv20.c+10−31

This diff is large: its 61 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/nv50.c+23−9

This diff is large: its 66 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/nv50.h+18−0

This diff is large: its 19 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/nv84.c+63−0

This diff is large: its 64 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/nv98.c+62−0

This diff is large: its 63 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/nva3.c+29−21

This diff is large: its 73 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/nvaf.c+63−0

This diff is large: its 64 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/nvc0.c+36−8

This diff is large: its 76 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/priv.h+25−13

This diff is large: its 46 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/fb/gddr5.c+49−23

This diff is large: its 111 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/fb/nvc0.c+16−0

This diff is large: its 30 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/fb/priv.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/fb/ramnv50.c+4−14

This diff is large: its 43 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/fb/ramnva3.c+6−16

This diff is large: its 49 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/fb/ramnvc0.c+6−18

This diff is large: its 58 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.