History

Merge drm/drm-next into drm-misc-next

Now that 4.19-rc1 is cut, backmerge it into -misc-next.

Sean Paul committed 8 years ago

Commit bc537a92 parents a5ec833 5b394b210954 files · +498604 −203985Browse files

Unified · Split

3612 files
  1. .clang-format +1 −1
  2. .mailmap +6 −0
  3. CREDITS +5 −0
  4. Documentation/ABI/obsolete/sysfs-class-typec +48 −0
  5. Documentation/ABI/stable/sysfs-bus-vmbus +7 −0
  6. Documentation/ABI/stable/sysfs-class-rfkill +3 −3
  7. Documentation/ABI/stable/sysfs-driver-mlxreg-io +78 −0
  8. Documentation/ABI/testing/configfs-usb-gadget-uvc +5 −0
  9. Documentation/ABI/testing/ppc-memtrace +5 −4
  10. Documentation/ABI/testing/procfs-diskstats +10 −0
  11. Documentation/ABI/testing/sysfs-bus-coresight-devices-tmc +8 −0
  12. Documentation/ABI/testing/sysfs-bus-iio +24 −2
  13. Documentation/ABI/testing/sysfs-bus-iio-isl29501 +47 −0
  14. Documentation/ABI/testing/sysfs-bus-iio-light-si1133 +22 −0
  15. Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats +122 −0
  16. Documentation/ABI/testing/sysfs-bus-typec +51 −0
  17. Documentation/ABI/testing/sysfs-class-fpga-manager +24 −0
  18. Documentation/ABI/testing/sysfs-class-fpga-region +9 −0
  19. Documentation/ABI/testing/sysfs-class-gnss +15 −0
  20. Documentation/ABI/testing/sysfs-class-mei +11 −0
  21. Documentation/ABI/testing/sysfs-class-net-queues +11 −0
  22. Documentation/ABI/testing/sysfs-class-typec +2 −60
  23. Documentation/ABI/testing/sysfs-devices-system-cpu +24 −0
  24. Documentation/ABI/testing/sysfs-driver-bd9571mwv-regulator +27 −0
  25. Documentation/ABI/testing/sysfs-driver-typec-displayport +49 −0
  26. Documentation/ABI/testing/sysfs-fs-f2fs +8 −0
  27. Documentation/ABI/testing/sysfs-platform-dfl-fme +23 −0
  28. Documentation/ABI/testing/sysfs-platform-dfl-port +16 −0
  29. Documentation/PCI/00-INDEX +2 −0
  30. Documentation/PCI/acpi-info.txt +187 −0
  31. Documentation/PCI/endpoint/function/binding/pci-test.txt +2 −0
  32. Documentation/PCI/endpoint/pci-endpoint.txt +2 −2
  33. Documentation/PCI/endpoint/pci-test-function.txt +25 −4
  34. Documentation/PCI/endpoint/pci-test-howto.txt +27 −3
  35. Documentation/PCI/pcieaer-howto.txt +5 −0
  36. Documentation/RCU/Design/Data-Structures/Data-Structures.html +63 −55
  37. Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.html +10 −12
  38. Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-cleanup.svg +65 −58
  39. Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-1.svg +9 −7
  40. Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-3.svg +30 −26
  41. Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg +123 −114
  42. Documentation/RCU/Design/Memory-Ordering/TreeRCU-qs.svg +6 −6
  43. Documentation/RCU/stallwarn.txt +12 −12
  44. Documentation/RCU/whatisRCU.txt +12 −6
  45. Documentation/acpi/dsd/data-node-references.txt +89 −0
  46. Documentation/acpi/dsd/graph.txt +42 −30
  47. Documentation/admin-guide/README.rst +2 −0
  48. Documentation/admin-guide/cgroup-v2.rst +106 −4
  49. Documentation/admin-guide/devices.txt +10 −6
  50. Documentation/admin-guide/index.rst +9 −0
  51. Documentation/admin-guide/kernel-parameters.txt +172 −16
  52. Documentation/admin-guide/l1tf.rst +610 −0
  53. Documentation/admin-guide/mm/idle_page_tracking.rst +5 −0
  54. Documentation/admin-guide/mm/pagemap.rst +3 −0
  55. Documentation/block/null_blk.txt +7 −0
  56. Documentation/block/stat.txt +16 −12
  57. Documentation/bpf/bpf_devel_QA.rst +9 −12
  58. Documentation/bpf/index.rst +5 −5
  59. Documentation/conf.py +1 −1
  60. Documentation/console/console.txt +8 −7
  61. Documentation/core-api/atomic_ops.rst +1 −1
  62. Documentation/core-api/boot-time-mm.rst +92 −0
  63. Documentation/core-api/idr.rst +2 −0
  64. Documentation/core-api/index.rst +3 −0
  65. Documentation/core-api/kernel-api.rst +4 −55
  66. Documentation/core-api/mm-api.rst +78 −0
  67. Documentation/core-api/timekeeping.rst +185 −0
  68. Documentation/crypto/api-samples.rst +1 −1
  69. Documentation/dev-tools/kselftest.rst +5 −0
  70. Documentation/device-mapper/delay.txt +2 −1
  71. Documentation/device-mapper/dm-integrity.txt +4 −0
  72. Documentation/device-mapper/thin-provisioning.txt +13 −7
  73. Documentation/device-mapper/writecache.txt +2 −0
  74. Documentation/devicetree/bindings/arm/adapteva.txt +0 −7
  75. Documentation/devicetree/bindings/arm/amlogic.txt +13 −0
  76. Documentation/devicetree/bindings/arm/atmel-pmc.txt +0 −14
  77. Documentation/devicetree/bindings/arm/bcm/brcm,brcmstb.txt +4 −0
  78. Documentation/devicetree/bindings/arm/coresight.txt +57 −1
  79. Documentation/devicetree/bindings/arm/cpu-capacity.txt +1 −1
  80. Documentation/devicetree/bindings/arm/cpus.txt +2 −0
  81. Documentation/devicetree/bindings/arm/freescale/fsl,vf610-mscm-ir.txt +0 −3
  82. Documentation/devicetree/bindings/arm/freescale/m4if.txt +12 −0
  83. Documentation/devicetree/bindings/arm/freescale/tigerp.txt +12 −0
  84. Documentation/devicetree/bindings/arm/fsl.txt +4 −0
  85. Documentation/devicetree/bindings/arm/idle-states.txt +2 −2
  86. Documentation/devicetree/bindings/arm/insignal-boards.txt +0 −8
  87. Documentation/devicetree/bindings/arm/marvell/ap806-system-controller.txt +43 −5
  88. Documentation/devicetree/bindings/arm/marvell/armada-37xx.txt +15 −0
  89. Documentation/devicetree/bindings/arm/marvell/cp110-system-controller.txt +49 −12
  90. Documentation/devicetree/bindings/arm/mediatek.txt +7 −3
  91. Documentation/devicetree/bindings/arm/msm/qcom,llcc.txt +26 −0
  92. Documentation/devicetree/bindings/arm/omap/crossbar.txt +0 −1
  93. Documentation/devicetree/bindings/arm/omap/l4.txt +13 −2
  94. Documentation/devicetree/bindings/arm/rockchip.txt +14 −0
  95. Documentation/devicetree/bindings/arm/samsung/pmu.txt +0 −3
  96. Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt +5 −2
  97. Documentation/devicetree/bindings/arm/shmobile.txt +4 −1
  98. Documentation/devicetree/bindings/arm/ti/k3.txt +23 −0
  99. Documentation/devicetree/bindings/arm/xilinx.txt +25 −5
  100. Documentation/devicetree/bindings/ata/ahci-platform.txt +1 −1
  101. Documentation/devicetree/bindings/ata/fsl-sata.txt +0 −1
  102. Documentation/devicetree/bindings/ata/pata-arasan.txt +0 −2
  103. Documentation/devicetree/bindings/ata/sata_rcar.txt +1 −0
  104. Documentation/devicetree/bindings/board/fsl-board.txt +0 −1
  105. Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt +0 −2
  106. Documentation/devicetree/bindings/bus/sun50i-de2-bus.txt +37 −0
  107. Documentation/devicetree/bindings/bus/ti-sysc.txt +1 −0
  108. Documentation/devicetree/bindings/clock/actions,owl-cmu.txt +11 −9
  109. Documentation/devicetree/bindings/clock/amlogic,axg-audio-clkc.txt +56 −0
  110. Documentation/devicetree/bindings/clock/at91-clock.txt +39 −12
  111. Documentation/devicetree/bindings/clock/exynos5440-clock.txt +0 −28
  112. Documentation/devicetree/bindings/clock/maxim,max9485.txt +59 −0
  113. Documentation/devicetree/bindings/clock/qcom,dispcc.txt +19 −0
  114. Documentation/devicetree/bindings/clock/renesas,r9a06g032-sysctrl.txt +43 −0
  115. Documentation/devicetree/bindings/clock/rockchip,px30-cru.txt +65 −0
  116. Documentation/devicetree/bindings/clock/sun8i-de2.txt +1 −0
  117. Documentation/devicetree/bindings/connector/usb-connector.txt +44 −0
  118. Documentation/devicetree/bindings/cpufreq/brcm,stb-avs-cpu-freq.txt +0 −2
  119. Documentation/devicetree/bindings/cpufreq/cpufreq-exynos5440.txt +0 −28
  120. Documentation/devicetree/bindings/crypto/amd-ccp.txt +0 −2
  121. Documentation/devicetree/bindings/crypto/arm-cryptocell.txt +0 −2
  122. Documentation/devicetree/bindings/crypto/fsl-sec2.txt +0 −5
  123. Documentation/devicetree/bindings/crypto/fsl-sec4.txt +0 −21
  124. Documentation/devicetree/bindings/crypto/hisilicon,hip07-sec.txt +67 −0
  125. Documentation/devicetree/bindings/crypto/inside-secure-safexcel.txt +12 −3
  126. Documentation/devicetree/bindings/crypto/picochip-spacc.txt +0 −2
  127. Documentation/devicetree/bindings/crypto/qcom,prng.txt +3 −1
  128. Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt +108 −103
  129. Documentation/devicetree/bindings/display/bridge/analogix_dp.txt +0 −2
  130. Documentation/devicetree/bindings/display/bridge/anx7814.txt +0 −2
  131. Documentation/devicetree/bindings/display/bridge/megachips-stdpxxxx-ge-b850v3-fw.txt +0 −2
  132. Documentation/devicetree/bindings/display/bridge/sii902x.txt +2 −2
  133. Documentation/devicetree/bindings/display/bridge/sii9234.txt +1 −1
  134. Documentation/devicetree/bindings/display/bridge/sil-sii8620.txt +1 −1
  135. Documentation/devicetree/bindings/display/exynos/exynos7-decon.txt +0 −3
  136. Documentation/devicetree/bindings/display/exynos/exynos_dp.txt +0 −2
  137. Documentation/devicetree/bindings/display/exynos/samsung-fimd.txt +0 −3
  138. Documentation/devicetree/bindings/display/ht16k33.txt +0 −2
  139. Documentation/devicetree/bindings/display/marvell,pxa2xx-lcdc.txt +3 −0
  140. Documentation/devicetree/bindings/display/marvell,pxa300-gcu.txt +17 −0
  141. Documentation/devicetree/bindings/display/mediatek/mediatek,disp.txt +1 −1
  142. Documentation/devicetree/bindings/display/msm/dpu.txt +131 −0
  143. Documentation/devicetree/bindings/display/msm/dsi.txt +16 −2
  144. Documentation/devicetree/bindings/display/msm/edp.txt +0 −4
  145. Documentation/devicetree/bindings/display/msm/mdp5.txt +0 −2
  146. Documentation/devicetree/bindings/display/renesas,du.txt +0 −1
  147. Documentation/devicetree/bindings/display/sm501fb.txt +0 −2
  148. Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt +1 −3
  149. Documentation/devicetree/bindings/dma/jz4780-dma.txt +0 −1
  150. Documentation/devicetree/bindings/dma/nvidia,tegra210-adma.txt +0 −1
  151. Documentation/devicetree/bindings/dma/owl-dma.txt +47 −0
  152. Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt +1 −0
  153. Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.txt +0 −2
  154. Documentation/devicetree/bindings/dma/snps-dma.txt +0 −2
  155. Documentation/devicetree/bindings/dma/ti-edma.txt +0 −1
  156. Documentation/devicetree/bindings/dma/xilinx/xilinx_dma.txt +2 −0
  157. Documentation/devicetree/bindings/dma/xilinx/zynqmp_dma.txt +0 −1
  158. Documentation/devicetree/bindings/eeprom/at24.txt +2 −0
  159. Documentation/devicetree/bindings/extcon/extcon-rt8973a.txt +0 −2
  160. Documentation/devicetree/bindings/extcon/extcon-sm5502.txt +0 −2
  161. Documentation/devicetree/bindings/fsi/fsi-master-ast-cf.txt +36 −0
  162. Documentation/devicetree/bindings/fsi/fsi.txt +5 −0
  163. Documentation/devicetree/bindings/gnss/gnss.txt +36 −0
  164. Documentation/devicetree/bindings/gnss/sirfstar.txt +45 −0
  165. Documentation/devicetree/bindings/gnss/u-blox.txt +44 −0
  166. Documentation/devicetree/bindings/gpio/8xxx_gpio.txt +0 −2
  167. Documentation/devicetree/bindings/gpio/abilis,tb10x-gpio.txt +0 −1
  168. Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.txt +0 −3
  169. Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt +3 −0
  170. Documentation/devicetree/bindings/gpio/gpio-adnp.txt +0 −1
  171. Documentation/devicetree/bindings/gpio/gpio-aspeed.txt +0 −1
  172. Documentation/devicetree/bindings/gpio/gpio-ath79.txt +0 −1
  173. Documentation/devicetree/bindings/gpio/gpio-davinci.txt +0 −2
  174. Documentation/devicetree/bindings/gpio/gpio-max732x.txt +0 −1
  175. Documentation/devicetree/bindings/gpio/gpio-pca953x.txt +3 −0
  176. Documentation/devicetree/bindings/gpio/gpio-pcf857x.txt +0 −1
  177. Documentation/devicetree/bindings/gpio/gpio-uniphier.txt +0 −1
  178. Documentation/devicetree/bindings/gpio/gpio-xgene-sb.txt +0 −1
  179. Documentation/devicetree/bindings/gpio/gpio-xilinx.txt +0 −2
  180. Documentation/devicetree/bindings/gpio/gpio-xlp.txt +0 −1
  181. Documentation/devicetree/bindings/gpio/gpio-zynq.txt +0 −1
  182. Documentation/devicetree/bindings/gpio/mediatek,mt7621-gpio.txt +35 −0
  183. Documentation/devicetree/bindings/gpio/nintendo,hollywood-gpio.txt +1 −2
  184. Documentation/devicetree/bindings/gpio/nvidia,tegra186-gpio.txt +4 −0
  185. Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt +1 −1
  186. Documentation/devicetree/bindings/gpio/rockchip,rk3328-grf-gpio.txt +32 −0
  187. Documentation/devicetree/bindings/gpio/snps-dwapb-gpio.txt +0 −1
  188. Documentation/devicetree/bindings/hsi/omap-ssi.txt +0 −1
  189. Documentation/devicetree/bindings/hwmon/npcm750-pwm-fan.txt +84 −0
  190. Documentation/devicetree/bindings/i2c/i2c-aspeed.txt +0 −3
  191. Documentation/devicetree/bindings/i2c/i2c-brcmstb.txt +0 −2
  192. Documentation/devicetree/bindings/i2c/i2c-fsi.txt +40 −0
  193. Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt +0 −1
  194. Documentation/devicetree/bindings/i2c/i2c-jz4780.txt +0 −4
  195. Documentation/devicetree/bindings/i2c/i2c-mpc.txt +0 −2
  196. Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.txt +0 −2
  197. Documentation/devicetree/bindings/i2c/i2c-owl.txt +27 −0
  198. Documentation/devicetree/bindings/i2c/i2c-pca-platform.txt +0 −2
  199. Documentation/devicetree/bindings/i2c/i2c-pnx.txt +0 −2
  200. Documentation/devicetree/bindings/i2c/i2c-pxa.txt +0 −3
  201. Documentation/devicetree/bindings/i2c/i2c-rcar.txt +4 −1
  202. Documentation/devicetree/bindings/i2c/i2c-sh_mobile.txt +3 −1
  203. Documentation/devicetree/bindings/iio/accel/adxl345.txt +5 −4
  204. Documentation/devicetree/bindings/iio/accel/bma180.txt +0 −2
  205. Documentation/devicetree/bindings/iio/accel/mma8452.txt +0 −2
  206. Documentation/devicetree/bindings/iio/adc/amlogic,meson-saradc.txt +1 −0
  207. Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt +9 −0
  208. Documentation/devicetree/bindings/iio/adc/avia-hx711.txt +7 −1
  209. Documentation/devicetree/bindings/iio/adc/cpcap-adc.txt +0 −1
  210. Documentation/devicetree/bindings/iio/adc/fsl,imx25-gcq.txt +0 −1
  211. Documentation/devicetree/bindings/iio/adc/max1027-adc.txt +0 −2
  212. Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.txt +1 −1
  213. Documentation/devicetree/bindings/iio/adc/sprd,sc27xx-adc.txt +36 −0
  214. Documentation/devicetree/bindings/iio/adc/st,stm32-adc.txt +0 −1
  215. Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt +0 −1
  216. Documentation/devicetree/bindings/iio/chemical/atlas,ec-sm.txt +0 −1
  217. Documentation/devicetree/bindings/iio/chemical/atlas,orp-sm.txt +0 −1
  218. Documentation/devicetree/bindings/iio/chemical/atlas,ph-sm.txt +0 −1
  219. Documentation/devicetree/bindings/iio/dac/ad5758.txt +78 −0
  220. Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt +0 −1
  221. Documentation/devicetree/bindings/iio/health/afe4403.txt +0 −1
  222. Documentation/devicetree/bindings/iio/health/afe4404.txt +0 −1
  223. Documentation/devicetree/bindings/iio/health/max30100.txt +0 −1
  224. Documentation/devicetree/bindings/iio/health/max30102.txt +0 −1
  225. Documentation/devicetree/bindings/iio/humidity/hts221.txt +0 −1
  226. Documentation/devicetree/bindings/iio/imu/bmi160.txt +0 −1
  227. Documentation/devicetree/bindings/iio/imu/inv_mpu6050.txt +1 −1
  228. Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt +0 −1
  229. Documentation/devicetree/bindings/iio/light/apds9300.txt +0 −1
  230. Documentation/devicetree/bindings/iio/light/apds9960.txt +0 −1
  231. Documentation/devicetree/bindings/iio/light/isl29018.txt +0 −1
  232. Documentation/devicetree/bindings/iio/light/isl29501.txt +13 −0
  233. Documentation/devicetree/bindings/iio/light/opt3001.txt +0 −1
  234. Documentation/devicetree/bindings/iio/light/tsl2583.txt +0 −1
  235. Documentation/devicetree/bindings/iio/light/uvis25.txt +0 −1
  236. Documentation/devicetree/bindings/iio/magnetometer/bmc150_magn.txt +0 −1
  237. Documentation/devicetree/bindings/iio/pressure/bmp085.txt +0 −8
  238. Documentation/devicetree/bindings/iio/pressure/zpa2326.txt +0 −2
  239. Documentation/devicetree/bindings/iio/proximity/as3935.txt +0 −1
  240. Documentation/devicetree/bindings/iio/proximity/sx9500.txt +0 −1
  241. Documentation/devicetree/bindings/iio/sensorhub.txt +0 −1
  242. Documentation/devicetree/bindings/iio/temperature/tmp007.txt +0 −2
  243. Documentation/devicetree/bindings/infiniband/hisilicon-hns-roce.txt +0 −1
  244. Documentation/devicetree/bindings/input/cypress,cyapa.txt +0 −2
  245. Documentation/devicetree/bindings/input/cypress,tm2-touchkey.txt +0 −2
  246. Documentation/devicetree/bindings/input/e3x0-button.txt +0 −2
  247. Documentation/devicetree/bindings/input/elan_i2c.txt +0 −2
  248. Documentation/devicetree/bindings/input/elants_i2c.txt +0 −2
  249. Documentation/devicetree/bindings/input/hid-over-i2c.txt +2 −2
  250. Documentation/devicetree/bindings/input/keys.txt +8 −0
  251. Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt +10 −0
  252. Documentation/devicetree/bindings/input/raydium_i2c_ts.txt +0 −1
  253. Documentation/devicetree/bindings/input/rmi4/rmi_i2c.txt +0 −1
  254. Documentation/devicetree/bindings/input/rmi4/rmi_spi.txt +0 −1
  255. Documentation/devicetree/bindings/input/ti,palmas-pwrbutton.txt +0 −1
  256. Documentation/devicetree/bindings/input/touchscreen/ad7879.txt +0 −1
  257. Documentation/devicetree/bindings/input/touchscreen/ads7846.txt +0 −1
  258. Documentation/devicetree/bindings/input/touchscreen/ar1021.txt +0 −1
  259. Documentation/devicetree/bindings/input/touchscreen/bu21029.txt +35 −0
  260. Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt +0 −2
  261. Documentation/devicetree/bindings/input/touchscreen/colibri-vf50-ts.txt +0 −1
  262. Documentation/devicetree/bindings/input/touchscreen/cyttsp.txt +0 −2
  263. Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt +0 −2
  264. Documentation/devicetree/bindings/input/touchscreen/eeti.txt +30 −0
  265. Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt +0 −1
  266. Documentation/devicetree/bindings/input/touchscreen/ektf2127.txt +0 −2
  267. Documentation/devicetree/bindings/input/touchscreen/exc3000.txt +0 −1
  268. Documentation/devicetree/bindings/input/touchscreen/fsl-mx25-tcq.txt +0 −1
  269. Documentation/devicetree/bindings/input/touchscreen/goodix.txt +0 −1
  270. Documentation/devicetree/bindings/input/touchscreen/hideep.txt +1 −2
  271. Documentation/devicetree/bindings/input/touchscreen/max11801-ts.txt +0 −1
  272. Documentation/devicetree/bindings/input/touchscreen/melfas_mip4.txt +0 −1
  273. Documentation/devicetree/bindings/input/touchscreen/resistive-adc-touch.txt +30 −0
  274. Documentation/devicetree/bindings/input/touchscreen/samsung,s6sy761.txt +0 −2
  275. Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt +0 −2
  276. Documentation/devicetree/bindings/input/touchscreen/sis_i2c.txt +0 −2
  277. Documentation/devicetree/bindings/input/touchscreen/st,stmfts.txt +0 −2
  278. Documentation/devicetree/bindings/input/touchscreen/sx8654.txt +0 −1
  279. Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt +3 −0
  280. Documentation/devicetree/bindings/input/touchscreen/tsc2007.txt +0 −2
  281. Documentation/devicetree/bindings/input/touchscreen/zet6223.txt +0 −2
  282. Documentation/devicetree/bindings/interrupt-controller/abilis,tb10x-ictl.txt +0 −1
  283. Documentation/devicetree/bindings/interrupt-controller/al,alpine-msix.txt +0 −1
  284. Documentation/devicetree/bindings/interrupt-controller/allwinner,sunxi-nmi.txt +0 −1
  285. Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.txt +0 −3
  286. Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt +0 −2
  287. Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt +0 −2
  288. Documentation/devicetree/bindings/interrupt-controller/brcm,bcm3380-l2-intc.txt +0 −2
  289. Documentation/devicetree/bindings/interrupt-controller/brcm,bcm6345-l1-intc.txt +0 −2
  290. Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7038-l1-intc.txt +0 −2
  291. Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt +0 −2
  292. Documentation/devicetree/bindings/interrupt-controller/brcm,l2-intc.txt +0 −2
  293. Documentation/devicetree/bindings/interrupt-controller/fsl,ls-scfg-msi.txt +0 −3
  294. Documentation/devicetree/bindings/interrupt-controller/hisilicon,mbigen-v2.txt +0 −2
  295. Documentation/devicetree/bindings/interrupt-controller/ingenic,intc.txt +1 −1
  296. Documentation/devicetree/bindings/interrupt-controller/marvell,odmi-controller.txt +0 −2
  297. Documentation/devicetree/bindings/interrupt-controller/mediatek,cirq.txt +0 −2
  298. Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt +1 −2
  299. Documentation/devicetree/bindings/interrupt-controller/mscc,ocelot-icpu-intr.txt +0 −1
  300. Documentation/devicetree/bindings/interrupt-controller/nvidia,tegra20-ictlr.txt +1 −3
  301. Documentation/devicetree/bindings/interrupt-controller/nxp,lpc3220-mic.txt +0 −2
  302. Documentation/devicetree/bindings/interrupt-controller/qca,ath79-misc-intc.txt +0 −1
  303. Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.txt +0 −6
  304. Documentation/devicetree/bindings/interrupt-controller/renesas,irqc.txt +3 −0
  305. Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.txt +44 −0
  306. Documentation/devicetree/bindings/interrupt-controller/samsung,exynos4210-combiner.txt +0 −2
  307. Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.txt +58 −0
  308. Documentation/devicetree/bindings/interrupt-controller/sigma,smp8642-intc.txt +0 −1
  309. Documentation/devicetree/bindings/interrupt-controller/snps,archs-idu-intc.txt +0 −1
  310. Documentation/devicetree/bindings/interrupt-controller/snps,dw-apb-ictl.txt +0 −1
  311. Documentation/devicetree/bindings/interrupt-controller/socionext,synquacer-exiu.txt +0 −1
  312. Documentation/devicetree/bindings/interrupt-controller/st,spear3xx-shirq.txt +0 −4
  313. Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.txt +1 −1
  314. Documentation/devicetree/bindings/interrupt-controller/technologic,ts4800.txt +0 −2
  315. Documentation/devicetree/bindings/interrupt-controller/ti,c64x+megamod-pic.txt +0 −1
  316. Documentation/devicetree/bindings/interrupt-controller/ti,omap4-wugen-mpu +0 −2
  317. Documentation/devicetree/bindings/iommu/mediatek,iommu.txt +4 −2
  318. Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt +3 −0
  319. Documentation/devicetree/bindings/iommu/samsung,sysmmu.txt +0 −1
  320. Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt +27 −7
  321. Documentation/devicetree/bindings/leds/common.txt +1 −1
  322. Documentation/devicetree/bindings/leds/leds-lm3692x.txt +4 −1
  323. Documentation/devicetree/bindings/leds/leds-lt3593.txt +32 −0
  324. Documentation/devicetree/bindings/mailbox/altera-mailbox.txt +0 −1
  325. Documentation/devicetree/bindings/mailbox/fsl,mu.txt +54 −0
  326. Documentation/devicetree/bindings/mailbox/mtk-gce.txt +57 −0
  327. Documentation/devicetree/bindings/mailbox/ti,secure-proxy.txt +50 −0
  328. Documentation/devicetree/bindings/media/cec-gpio.txt +14 −8
  329. Documentation/devicetree/bindings/media/i2c/ak7375.txt +8 −0
  330. Documentation/devicetree/bindings/media/i2c/aptina,mt9v111.txt +46 −0
  331. Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807.txt +9 −0
  332. Documentation/devicetree/bindings/media/i2c/nokia,smia.txt +3 −0
  333. Documentation/devicetree/bindings/media/i2c/ov2680.txt +46 −0
  334. Documentation/devicetree/bindings/media/i2c/ov5640.txt +5 −0
  335. Documentation/devicetree/bindings/media/i2c/tc358743.txt +1 −1
  336. Documentation/devicetree/bindings/media/nvidia,tegra-vde.txt +9 −2
  337. Documentation/devicetree/bindings/media/qcom,camss.txt +80 −48
  338. Documentation/devicetree/bindings/media/qcom,venus.txt +1 −0
  339. Documentation/devicetree/bindings/media/rcar_vin.txt +37 −17
  340. Documentation/devicetree/bindings/media/sh_mobile_ceu.txt +0 −1
  341. Documentation/devicetree/bindings/media/video-interfaces.txt +6 −0
  342. Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.txt +4 −2
  343. Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.txt +3 −2
  344. Documentation/devicetree/bindings/mfd/ac100.txt +0 −4
  345. Documentation/devicetree/bindings/mfd/altera-a10sr.txt +0 −1
  346. Documentation/devicetree/bindings/mfd/arizona.txt +0 −1
  347. Documentation/devicetree/bindings/mfd/as3722.txt +2 −0
  348. Documentation/devicetree/bindings/mfd/axp20x.txt +5 −3
  349. Documentation/devicetree/bindings/mfd/bd9571mwv.txt +0 −1
  350. Documentation/devicetree/bindings/mfd/bfticu.txt +0 −1
  351. Documentation/devicetree/bindings/mfd/da9055.txt +0 −2
  352. Documentation/devicetree/bindings/mfd/da9062.txt +0 −2
  353. Documentation/devicetree/bindings/mfd/da9063.txt +0 −2
  354. Documentation/devicetree/bindings/mfd/da9150.txt +0 −2
  355. Documentation/devicetree/bindings/mfd/madera.txt +102 −0
  356. Documentation/devicetree/bindings/mfd/max14577.txt +0 −1
  357. Documentation/devicetree/bindings/mfd/max77686.txt +0 −1
  358. Documentation/devicetree/bindings/mfd/max77693.txt +0 −1
  359. Documentation/devicetree/bindings/mfd/max77802.txt +0 −1
  360. Documentation/devicetree/bindings/mfd/max8998.txt +0 −2
  361. Documentation/devicetree/bindings/mfd/motorola-cpcap.txt +0 −1
  362. Documentation/devicetree/bindings/mfd/palmas.txt +0 −1
  363. Documentation/devicetree/bindings/mfd/retu.txt +0 −1
  364. Documentation/devicetree/bindings/mfd/rk808.txt +0 −1
  365. Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt +62 −0
  366. Documentation/devicetree/bindings/mfd/samsung,sec-core.txt +0 −2
  367. Documentation/devicetree/bindings/mfd/stmpe.txt +0 −1
  368. Documentation/devicetree/bindings/mfd/tc3589x.txt +0 −1
  369. Documentation/devicetree/bindings/mfd/tps65086.txt +0 −1
  370. Documentation/devicetree/bindings/mfd/tps65910.txt +1 −1
  371. Documentation/devicetree/bindings/mfd/tps65912.txt +0 −1
  372. Documentation/devicetree/bindings/mfd/twl-familly.txt +0 −1
  373. Documentation/devicetree/bindings/mfd/twl6040.txt +0 −1
  374. Documentation/devicetree/bindings/mfd/wm831x.txt +0 −1
  375. Documentation/devicetree/bindings/mips/brcm/soc.txt +1 −1
  376. Documentation/devicetree/bindings/mips/cavium/cib.txt +0 −2
  377. Documentation/devicetree/bindings/misc/aspeed,cvic.txt +35 −0
  378. Documentation/devicetree/bindings/mmc/arasan,sdhci.txt +2 −2
  379. Documentation/devicetree/bindings/mmc/fsl-esdhc.txt +0 −1
  380. Documentation/devicetree/bindings/mmc/mmc-spi-slot.txt +0 −2
  381. Documentation/devicetree/bindings/mmc/pxa-mmc.txt +3 −3
  382. Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.txt +1 −0
  383. Documentation/devicetree/bindings/mmc/sdhci-msm.txt +6 −1
  384. Documentation/devicetree/bindings/mmc/sdhci-of-dwcmshc.txt +20 −0
  385. Documentation/devicetree/bindings/mmc/sunxi-mmc.txt +2 −0
  386. Documentation/devicetree/bindings/mmc/tmio_mmc.txt +1 −0
  387. Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt +0 −1
  388. Documentation/devicetree/bindings/mtd/denali-nand.txt +5 −0
  389. Documentation/devicetree/bindings/mtd/gpmc-nand.txt +0 −1
  390. Documentation/devicetree/bindings/mtd/jedec,spi-nor.txt +9 −0
  391. Documentation/devicetree/bindings/mtd/nand.txt +5 −1
  392. Documentation/devicetree/bindings/mtd/nvidia-tegra20-nand.txt +64 −0
  393. Documentation/devicetree/bindings/mtd/partition.txt +46 −0
  394. Documentation/devicetree/bindings/mtd/partitions/brcm,trx.txt +37 −0
  395. Documentation/devicetree/bindings/mtd/qcom_nandc.txt +3 −4
  396. Documentation/devicetree/bindings/mtd/spear_smi.txt +0 −2
  397. Documentation/devicetree/bindings/mtd/spi-nand.txt +5 −0
  398. Documentation/devicetree/bindings/mux/adi,adgs1408.txt +48 −0
  399. Documentation/devicetree/bindings/net/amd-xgbe.txt +0 −2
  400. Documentation/devicetree/bindings/net/brcm,mdio-mux-iproc.txt +5 −2
  401. Documentation/devicetree/bindings/net/btusb.txt +0 −1
  402. Documentation/devicetree/bindings/net/can/holt_hi311x.txt +0 −1
  403. Documentation/devicetree/bindings/net/can/microchip,mcp251x.txt +0 −1
  404. Documentation/devicetree/bindings/net/can/xilinx_can.txt +26 −10
  405. Documentation/devicetree/bindings/net/cpsw.txt +0 −1
  406. Documentation/devicetree/bindings/net/davicom-dm9000.txt +0 −1
  407. Documentation/devicetree/bindings/net/dsa/b53.txt +8 −0
  408. Documentation/devicetree/bindings/net/dsa/ksz.txt +3 −1
  409. Documentation/devicetree/bindings/net/dsa/marvell.txt +0 −1
  410. Documentation/devicetree/bindings/net/dsa/realtek-smi.txt +153 −0
  411. Documentation/devicetree/bindings/net/dsa/vitesse,vsc73xx.txt +81 −0
  412. Documentation/devicetree/bindings/net/dwmac-sun8i.txt +0 −8
  413. Documentation/devicetree/bindings/net/fsl-fman.txt +2 −25
  414. Documentation/devicetree/bindings/net/hisilicon-hns-dsaf.txt +0 −1
  415. Documentation/devicetree/bindings/net/ibm,emac.txt +0 −1
  416. Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt +0 −1
  417. Documentation/devicetree/bindings/net/mediatek,mt7620-gsw.txt +0 −2
  418. Documentation/devicetree/bindings/net/mediatek-bluetooth.txt +35 −0
  419. Documentation/devicetree/bindings/net/mediatek-net.txt +0 −3
  420. Documentation/devicetree/bindings/net/microchip,enc28j60.txt +0 −3
  421. Documentation/devicetree/bindings/net/nfc/nxp-nci.txt +0 −1
  422. Documentation/devicetree/bindings/net/nfc/pn533-i2c.txt +0 −1
  423. Documentation/devicetree/bindings/net/nfc/pn544.txt +1 −2
  424. Documentation/devicetree/bindings/net/nfc/s3fwrn5.txt +0 −1
  425. Documentation/devicetree/bindings/net/nfc/st-nci-i2c.txt +0 −1
  426. Documentation/devicetree/bindings/net/nfc/st-nci-spi.txt +0 −1
  427. Documentation/devicetree/bindings/net/nfc/st21nfca.txt +0 −2
  428. Documentation/devicetree/bindings/net/nfc/st95hf.txt +0 −3
  429. Documentation/devicetree/bindings/net/nfc/trf7970a.txt +0 −1
  430. Documentation/devicetree/bindings/net/phy.txt +0 −2
  431. Documentation/devicetree/bindings/net/qca,qca7000.txt +0 −1
  432. Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt +27 −2
  433. Documentation/devicetree/bindings/net/ralink,rt2880-net.txt +0 −2
  434. Documentation/devicetree/bindings/net/ralink,rt3050-esw.txt +0 −2
  435. Documentation/devicetree/bindings/net/renesas,ravb.txt +2 −3
  436. Documentation/devicetree/bindings/net/rockchip-dwmac.txt +1 −0
  437. Documentation/devicetree/bindings/net/samsung-sxgbe.txt +0 −2
  438. Documentation/devicetree/bindings/net/sh_eth.txt +0 −2
  439. Documentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt +0 −2
  440. Documentation/devicetree/bindings/net/stmmac.txt +3 −4
  441. Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt +0 −2
  442. Documentation/devicetree/bindings/net/wireless/marvell-8xxx.txt +0 −1
  443. Documentation/devicetree/bindings/net/wireless/ti,wl1251.txt +0 −2
  444. Documentation/devicetree/bindings/net/wireless/ti,wlcore,spi.txt +1 −3
  445. Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt +0 −2
  446. Documentation/devicetree/bindings/nvmem/imx-ocotp.txt +2 −1
  447. Documentation/devicetree/bindings/nvmem/sc27xx-efuse.txt +52 −0
  448. Documentation/devicetree/bindings/pci/altera-pcie-msi.txt +0 −1
  449. Documentation/devicetree/bindings/pci/altera-pcie.txt +0 −1
  450. Documentation/devicetree/bindings/pci/brcm,iproc-pcie.txt +0 −1
  451. Documentation/devicetree/bindings/pci/cdns,cdns-pcie-ep.txt +5 −0
  452. Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.txt +6 −0
  453. Documentation/devicetree/bindings/pci/faraday,ftpci100.txt +0 −1
  454. Documentation/devicetree/bindings/pci/mobiveil-pcie.txt +0 −3
  455. Documentation/devicetree/bindings/pci/pci-keystone.txt +0 −3
  456. Documentation/devicetree/bindings/pci/ralink,rt3883-pci.txt +0 −3
  457. Documentation/devicetree/bindings/phy/brcm,sr-pcie-phy.txt +41 −0
  458. Documentation/devicetree/bindings/phy/phy-ath79-usb.txt +2 −2
  459. Documentation/devicetree/bindings/phy/phy-mtk-tphy.txt +6 −0
  460. Documentation/devicetree/bindings/phy/qcom-qmp-phy.txt +12 −2
  461. Documentation/devicetree/bindings/phy/rcar-gen3-phy-pcie.txt +24 −0
  462. Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt +2 −0
  463. Documentation/devicetree/bindings/pinctrl/actions,s900-pinctrl.txt +10 −0
  464. Documentation/devicetree/bindings/pinctrl/atmel,at91-pio4-pinctrl.txt +3 −0
  465. Documentation/devicetree/bindings/pinctrl/berlin,pinctrl.txt +2 −1
  466. Documentation/devicetree/bindings/pinctrl/cirrus,madera-pinctrl.txt +99 −0
  467. Documentation/devicetree/bindings/pinctrl/fsl,imx8mq-pinctrl.txt +36 −0
  468. Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.txt +1 −1
  469. Documentation/devicetree/bindings/pinctrl/nvidia,tegra210-pinmux.txt +1 −1
  470. Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt +6 −0
  471. Documentation/devicetree/bindings/pinctrl/pinctrl-mt7622.txt +0 −2
  472. Documentation/devicetree/bindings/pinctrl/pinctrl-sx150x.txt +0 −2
  473. Documentation/devicetree/bindings/pinctrl/qcom,apq8064-pinctrl.txt +6 −0
  474. Documentation/devicetree/bindings/pinctrl/qcom,apq8084-pinctrl.txt +9 −0
  475. Documentation/devicetree/bindings/pinctrl/qcom,ipq4019-pinctrl.txt +6 −0
  476. Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt +6 −0
  477. Documentation/devicetree/bindings/pinctrl/qcom,ipq8074-pinctrl.txt +9 −0
  478. Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.txt +9 −0
  479. Documentation/devicetree/bindings/pinctrl/qcom,msm8660-pinctrl.txt +6 −0
  480. Documentation/devicetree/bindings/pinctrl/qcom,msm8916-pinctrl.txt +9 −0
  481. Documentation/devicetree/bindings/pinctrl/qcom,msm8960-pinctrl.txt +9 −0
  482. Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt +6 −0
  483. Documentation/devicetree/bindings/pinctrl/qcom,msm8994-pinctrl.txt +9 −0
  484. Documentation/devicetree/bindings/pinctrl/qcom,msm8996-pinctrl.txt +9 −0
  485. Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt +4 −2
  486. Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt +9 −8
  487. Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt +6 −5
  488. Documentation/devicetree/bindings/power/power_domain.txt +9 −1
  489. Documentation/devicetree/bindings/power/reset/qcom,pon.txt +45 −0
  490. Documentation/devicetree/bindings/power/supply/act8945a-charger.txt +0 −2
  491. Documentation/devicetree/bindings/power/supply/bq24257.txt +0 −2
  492. Documentation/devicetree/bindings/power/supply/lp8727_charger.txt +0 −1
  493. Documentation/devicetree/bindings/power/supply/maxim,ds2760.txt +26 −0
  494. Documentation/devicetree/bindings/power/supply/maxim,max14656.txt +0 −1
  495. Documentation/devicetree/bindings/power/supply/rt9455_charger.txt +0 −2
  496. Documentation/devicetree/bindings/power/supply/sbs_sbs-battery.txt +8 −4
  497. Documentation/devicetree/bindings/power/supply/sbs_sbs-charger.txt +0 −2
  498. Documentation/devicetree/bindings/powerpc/4xx/akebono.txt +0 −2
  499. Documentation/devicetree/bindings/powerpc/4xx/hsta.txt +0 −1
  500. Documentation/devicetree/bindings/powerpc/4xx/ppc440spe-adma.txt +0 −2
  501. Documentation/devicetree/bindings/powerpc/fsl/dcsr.txt +0 −7
  502. Documentation/devicetree/bindings/powerpc/fsl/diu.txt +0 −2
  503. Documentation/devicetree/bindings/powerpc/fsl/dma.txt +0 −4
  504. Documentation/devicetree/bindings/powerpc/fsl/ecm.txt +0 −4
  505. Documentation/devicetree/bindings/powerpc/fsl/mcm.txt +0 −4
  506. Documentation/devicetree/bindings/powerpc/fsl/mpc5121-psc.txt +0 −4
  507. Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt +0 −5
  508. Documentation/devicetree/bindings/powerpc/fsl/pamu.txt +0 −2
  509. Documentation/devicetree/bindings/powerpc/nintendo/wii.txt +0 −1
  510. Documentation/devicetree/bindings/ptp/ptp-qoriq.txt +12 −3
  511. Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt +4 −1
  512. Documentation/devicetree/bindings/pwm/pwm-mediatek.txt +3 −1
  513. Documentation/devicetree/bindings/pwm/renesas,pwm-rcar.txt +1 −0
  514. Documentation/devicetree/bindings/regulator/cpcap-regulator.txt +1 −0
  515. Documentation/devicetree/bindings/regulator/max8997-regulator.txt +0 −2
  516. Documentation/devicetree/bindings/regulator/palmas-pmic.txt +0 −1
  517. Documentation/devicetree/bindings/regulator/pfuze100.txt +85 −1
  518. Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt +160 −0
  519. Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.txt +0 −8
  520. Documentation/devicetree/bindings/regulator/tps65090.txt +1 −1
  521. Documentation/devicetree/bindings/regulator/uniphier-regulator.txt +57 −0
  522. Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +6 −1
  523. Documentation/devicetree/bindings/remoteproc/ti,davinci-rproc.txt +0 −6
  524. Documentation/devicetree/bindings/remoteproc/ti,keystone-rproc.txt +0 −6
  525. Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt +1 −1
  526. Documentation/devicetree/bindings/reset/amlogic,meson-axg-audio-arb.txt +21 −0
  527. Documentation/devicetree/bindings/reset/qcom,aoss-reset.txt +52 −0
  528. Documentation/devicetree/bindings/reset/st,sti-softreset.txt +1 −1
  529. Documentation/devicetree/bindings/reset/uniphier-reset.txt +56 −0
  530. Documentation/devicetree/bindings/rtc/brcm,brcmstb-waketimer.txt +0 −2
  531. Documentation/devicetree/bindings/rtc/isil,isl12057.txt +0 −3
  532. Documentation/devicetree/bindings/rtc/isil,isl1219.txt +29 −0
  533. Documentation/devicetree/bindings/rtc/rtc-cmos.txt +0 −1
  534. Documentation/devicetree/bindings/rtc/rtc-ds1307.txt +1 −1
  535. Documentation/devicetree/bindings/rtc/rtc-m41t80.txt +0 −1
  536. Documentation/devicetree/bindings/rtc/rtc-omap.txt +0 −1
  537. Documentation/devicetree/bindings/rtc/rtc-palmas.txt +0 −1
  538. Documentation/devicetree/bindings/rtc/spear-rtc.txt +0 −2
  539. Documentation/devicetree/bindings/rtc/sprd,sc27xx-rtc.txt +0 −1
  540. Documentation/devicetree/bindings/rtc/st,stm32-rtc.txt +0 −2
  541. Documentation/devicetree/bindings/rtc/stericsson,coh901331.txt +0 −1
  542. Documentation/devicetree/bindings/security/tpm/st33zp24-i2c.txt +0 −1
  543. Documentation/devicetree/bindings/security/tpm/st33zp24-spi.txt +0 −1
  544. Documentation/devicetree/bindings/security/tpm/tpm_tis_mmio.txt +1 −1
  545. Documentation/devicetree/bindings/serial/fsl-imx-uart.txt +5 −1
  546. Documentation/devicetree/bindings/serial/maxim,max310x.txt +0 −2
  547. Documentation/devicetree/bindings/serial/mtk-uart.txt +1 −0
  548. Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt +0 −4
  549. Documentation/devicetree/bindings/serial/omap_serial.txt +1 −0
  550. Documentation/devicetree/bindings/serial/qca,ar9330-uart.txt +0 −3
  551. Documentation/devicetree/bindings/serial/renesas,rzn1-uart.txt +10 −0
  552. Documentation/devicetree/bindings/serial/renesas,sci-serial.txt +17 −2
  553. Documentation/devicetree/bindings/serial/xlnx,opb-uartlite.txt +23 −0
  554. Documentation/devicetree/bindings/slimbus/slim-ngd-qcom-ctrl.txt +84 −0
  555. Documentation/devicetree/bindings/soc/fsl/cpm_qe/gpio.txt +0 −1
  556. Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/ucc.txt +0 −2
  557. Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/usb.txt +0 −1
  558. Documentation/devicetree/bindings/soc/mediatek/pwrap.txt +1 −0
  559. Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.txt +2 −2
  560. Documentation/devicetree/bindings/soc/qcom/qcom,glink.txt +5 −0
  561. Documentation/devicetree/bindings/soc/qcom/rpmh-rsc.txt +137 −0
  562. Documentation/devicetree/bindings/sound/ac97-bus.txt +32 −0
  563. Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt +23 −0
  564. Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.txt +124 −0
  565. Documentation/devicetree/bindings/sound/amlogic,axg-spdifout.txt +20 −0
  566. Documentation/devicetree/bindings/sound/amlogic,axg-tdm-formatters.txt +28 −0
  567. Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt +22 −0
  568. Documentation/devicetree/bindings/sound/atmel-i2s.txt +5 −6
  569. Documentation/devicetree/bindings/sound/audio-graph-card.txt +2 −0
  570. Documentation/devicetree/bindings/sound/cs35l33.txt +0 −2
  571. Documentation/devicetree/bindings/sound/cs35l34.txt +0 −2
  572. Documentation/devicetree/bindings/sound/cs35l35.txt +0 −2
  573. Documentation/devicetree/bindings/sound/cs42l42.txt +1 −4
  574. Documentation/devicetree/bindings/sound/da7218.txt +0 −2
  575. Documentation/devicetree/bindings/sound/da7219.txt +0 −2
  576. Documentation/devicetree/bindings/sound/dioo,dio2125.txt +0 −12
  577. Documentation/devicetree/bindings/sound/everest,es7134.txt +6 −1
  578. Documentation/devicetree/bindings/sound/everest,es7241.txt +28 −0
  579. Documentation/devicetree/bindings/sound/fsl,ssi.txt +0 −2
  580. Documentation/devicetree/bindings/sound/marvell,pxa2xx-ac97.txt +27 −0
  581. Documentation/devicetree/bindings/sound/mrvl,pxa-ssp.txt +11 −5
  582. Documentation/devicetree/bindings/sound/mrvl,pxa2xx-pcm.txt +0 −15
  583. Documentation/devicetree/bindings/sound/name-prefix.txt +24 −0
  584. Documentation/devicetree/bindings/sound/omap-dmic.txt +0 −1
  585. Documentation/devicetree/bindings/sound/omap-mcbsp.txt +0 −1
  586. Documentation/devicetree/bindings/sound/omap-mcpdm.txt +0 −1
  587. Documentation/devicetree/bindings/sound/qcom,apq8016-sbc.txt +1 −1
  588. Documentation/devicetree/bindings/sound/qcom,apq8096.txt +14 −3
  589. Documentation/devicetree/bindings/sound/qcom,msm8916-wcd-analog.txt +0 −1
  590. Documentation/devicetree/bindings/sound/qcom,q6adm.txt +6 −0
  591. Documentation/devicetree/bindings/sound/qcom,q6afe.txt +6 −0
  592. Documentation/devicetree/bindings/sound/qcom,q6asm.txt +6 −0
  593. Documentation/devicetree/bindings/sound/qcom,sdm845.txt +80 −0
  594. Documentation/devicetree/bindings/sound/qcom,wcd9335.txt +123 −0
  595. Documentation/devicetree/bindings/sound/renesas,rsnd.txt +1 −0
  596. Documentation/devicetree/bindings/sound/rockchip-i2s.txt +1 −0
  597. Documentation/devicetree/bindings/sound/rt5514.txt +0 −1
  598. Documentation/devicetree/bindings/sound/rt5682.txt +50 −0
  599. Documentation/devicetree/bindings/sound/sgtl5000.txt +1 −1
  600. Documentation/devicetree/bindings/sound/simple-amplifier.txt +12 −0
  601. Documentation/devicetree/bindings/sound/tas571x.txt +1 −0
  602. Documentation/devicetree/bindings/sound/ts3a227e.txt +0 −1
  603. Documentation/devicetree/bindings/sound/ux500-msp.txt +0 −1
  604. Documentation/devicetree/bindings/sound/wm8994.txt +6 −1
  605. Documentation/devicetree/bindings/spi/fsl-spi.txt +0 −2
  606. Documentation/devicetree/bindings/spi/sh-hspi.txt +0 −2
  607. Documentation/devicetree/bindings/spi/sh-msiof.txt +0 −2
  608. Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt +4 −2
  609. Documentation/devicetree/bindings/spi/spi-cadence.txt +0 −1
  610. Documentation/devicetree/bindings/spi/spi-fsl-lpspi.txt +0 −1
  611. Documentation/devicetree/bindings/spi/spi-rockchip.txt +1 −0
  612. Documentation/devicetree/bindings/spi/spi-rspi.txt +0 −2
  613. Documentation/devicetree/bindings/spi/spi-uniphier.txt +22 −0
  614. Documentation/devicetree/bindings/spi/spi-xilinx.txt +0 −1
  615. Documentation/devicetree/bindings/spi/spi-xlp.txt +0 −1
  616. Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.txt +0 −1
  617. Documentation/devicetree/bindings/sram/sram.txt +2 −0
  618. Documentation/devicetree/bindings/sram/sunxi-sram.txt +27 −4
  619. Documentation/devicetree/bindings/staging/iio/adc/spear-adc.txt +0 −2
  620. Documentation/devicetree/bindings/thermal/armada-thermal.txt +5 −0
  621. Documentation/devicetree/bindings/thermal/brcm,avs-tmon.txt +0 −1
  622. Documentation/devicetree/bindings/thermal/exynos-thermal.txt +0 −1
  623. Documentation/devicetree/bindings/thermal/qcom-tsens.txt +25 −6
  624. Documentation/devicetree/bindings/thermal/thermal.txt +3 −8
  625. Documentation/devicetree/bindings/timer/altr,timer-1.0.txt +0 −1
  626. Documentation/devicetree/bindings/timer/fsl,gtm.txt +0 −1
  627. Documentation/devicetree/bindings/timer/marvell,orion-timer.txt +0 −1
  628. Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt +20 −14
  629. Documentation/devicetree/bindings/timer/snps,arc-timer.txt +0 −4
  630. Documentation/devicetree/bindings/timer/st,spear-timer.txt +0 −2
  631. Documentation/devicetree/bindings/timer/ti,c64x+timer64.txt +0 −1
  632. Documentation/devicetree/bindings/timer/ti,davinci-timer.txt +37 −0
  633. Documentation/devicetree/bindings/ufs/ufs-hisi.txt +41 −0
  634. Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt +7 −3
  635. Documentation/devicetree/bindings/usb/dwc3.txt +6 −0
  636. Documentation/devicetree/bindings/usb/fsl-usb.txt +0 −2
  637. Documentation/devicetree/bindings/usb/maxim,max3421.txt +0 −3
  638. Documentation/devicetree/bindings/usb/npcm7xx-usb.txt +18 −0
  639. Documentation/devicetree/bindings/usb/richtek,rt1711h.txt +0 −2
  640. Documentation/devicetree/bindings/usb/rockchip,dwc3.txt +2 −1
  641. Documentation/devicetree/bindings/usb/samsung-hsotg.txt +0 −2
  642. Documentation/devicetree/bindings/usb/spear-usb.txt +0 −4
  643. Documentation/devicetree/bindings/usb/typec-tcpci.txt +49 −0
  644. Documentation/devicetree/bindings/usb/usb-xhci.txt +1 −0
  645. Documentation/devicetree/bindings/vendor-prefixes.txt +12 −0
  646. Documentation/devicetree/bindings/w1/w1-gpio.txt +8 −3
  647. Documentation/devicetree/bindings/w1/w1.txt +25 −0
  648. Documentation/devicetree/bindings/watchdog/arm,sp805.txt +22 −7
  649. Documentation/devicetree/bindings/watchdog/cadence-wdt.txt +0 −1
  650. Documentation/devicetree/bindings/watchdog/renesas-wdt.txt +1 −0
  651. Documentation/devicetree/bindings/watchdog/rt2880-wdt.txt +0 −1
  652. Documentation/devicetree/bindings/watchdog/sp805-wdt.txt +0 −31
  653. Documentation/devicetree/bindings/watchdog/st,stm32-iwdg.txt +10 −3
  654. Documentation/devicetree/bindings/xilinx.txt +1 −1
  655. Documentation/devicetree/bindings/xillybus/xillybus.txt +0 −2
  656. Documentation/devicetree/dynamic-resolution-notes.txt +2 −3
  657. Documentation/doc-guide/kernel-doc.rst +7 −2
  658. Documentation/doc-guide/parse-headers.rst +2 −2
  659. Documentation/doc-guide/sphinx.rst +1 −1
  660. Documentation/driver-api/device_link.rst +8 −4
  661. Documentation/driver-api/firmware/fallback-mechanisms.rst +6 −1
  662. Documentation/driver-api/fpga/fpga-mgr.rst +6 −6
  663. Documentation/driver-api/fpga/fpga-region.rst +6 −6
  664. Documentation/driver-api/fpga/intro.rst +7 −7
  665. Documentation/driver-api/libata.rst +1 −2
  666. Documentation/driver-api/mtdnand.rst +2 −2
  667. Documentation/driver-api/slimbus.rst +5 −0
  668. Documentation/driver-api/usb/typec_bus.rst +136 −0
  669. Documentation/driver-model/devres.txt +1 −0
  670. Documentation/early-userspace/README +3 −3
  671. Documentation/fb/fbcon.txt +15 −14
  672. Documentation/features/sched/membarrier-sync-core/arch-support.txt +4 −4
  673. Documentation/filesystems/Locking +5 −6
  674. Documentation/filesystems/cifs/CHANGES +4 −1068
  675. Documentation/filesystems/cifs/README +10 −12
  676. Documentation/filesystems/ext4/ext4.rst +64 −78
  677. Documentation/filesystems/ext4/index.rst +17 −0
  678. Documentation/filesystems/ext4/ondisk/about.rst +44 −0
  679. Documentation/filesystems/ext4/ondisk/allocators.rst +56 −0
  680. Documentation/filesystems/ext4/ondisk/attributes.rst +191 −0
  681. Documentation/filesystems/ext4/ondisk/bigalloc.rst +22 −0
  682. Documentation/filesystems/ext4/ondisk/bitmaps.rst +28 −0
  683. Documentation/filesystems/ext4/ondisk/blockgroup.rst +135 −0
  684. Documentation/filesystems/ext4/ondisk/blockmap.rst +49 −0
  685. Documentation/filesystems/ext4/ondisk/blocks.rst +142 −0
  686. Documentation/filesystems/ext4/ondisk/checksums.rst +73 −0
  687. Documentation/filesystems/ext4/ondisk/directory.rst +426 −0
  688. Documentation/filesystems/ext4/ondisk/dynamic.rst +12 −0
  689. Documentation/filesystems/ext4/ondisk/eainode.rst +18 −0
  690. Documentation/filesystems/ext4/ondisk/globals.rst +13 −0
  691. Documentation/filesystems/ext4/ondisk/group_descr.rst +170 −0
  692. Documentation/filesystems/ext4/ondisk/ifork.rst +194 −0
  693. Documentation/filesystems/ext4/ondisk/index.rst +9 −0
  694. Documentation/filesystems/ext4/ondisk/inlinedata.rst +37 −0
  695. Documentation/filesystems/ext4/ondisk/inodes.rst +575 −0
  696. Documentation/filesystems/ext4/ondisk/journal.rst +611 −0
  697. Documentation/filesystems/ext4/ondisk/mmp.rst +77 −0
  698. Documentation/filesystems/ext4/ondisk/overview.rst +26 −0
  699. Documentation/filesystems/ext4/ondisk/special_inodes.rst +38 −0
  700. Documentation/filesystems/ext4/ondisk/super.rst +801 −0
  701. Documentation/filesystems/f2fs.txt +18 −0
  702. Documentation/filesystems/index.rst +33 −0
  703. Documentation/filesystems/overlayfs.txt +59 −22
  704. Documentation/filesystems/porting +20 −0
  705. Documentation/filesystems/proc.txt +6 −0
  706. Documentation/filesystems/ramfs-rootfs-initramfs.txt +1 −1
  707. Documentation/filesystems/relay.txt +2 −2
  708. Documentation/filesystems/seq_file.txt +42 −21
  709. Documentation/filesystems/vfs.txt +14 −20
  710. Documentation/filesystems/xfs.txt +2 −2
  711. Documentation/fpga/dfl.txt +285 −0
  712. Documentation/gpu/amdgpu.rst +12 −0
  713. Documentation/gpu/msm-crash-dump.rst +96 −0
  714. Documentation/hwmon/ibmpowernv +41 −2
  715. Documentation/hwmon/max34440 +12 −4
  716. Documentation/hwmon/mlxreg-fan +60 −0
  717. Documentation/hwmon/npcm750-pwm-fan +22 −0
  718. Documentation/hwmon/raspberrypi-hwmon +22 −0
  719. Documentation/hwmon/sysfs-interface +48 −0
  720. Documentation/i2c/busses/i2c-i801 +4 −7
  721. Documentation/i2c/busses/i2c-ocores +1 −1
  722. Documentation/i2c/gpio-fault-injection +38 −11
  723. Documentation/index.rst +13 −15
  724. Documentation/input/multi-touch-protocol.rst +6 −6
  725. Documentation/ioctl/ioctl-number.txt +3 −0
  726. Documentation/iostats.txt +15 −0
  727. Documentation/kbuild/kbuild.txt +23 −10
  728. Documentation/kbuild/kconfig-language.txt +3 −4
  729. Documentation/kbuild/kconfig.txt +43 −8
  730. Documentation/kbuild/makefiles.txt +8 −2
  731. Documentation/kernel-hacking/hacking.rst +2 −0
  732. Documentation/kernel-hacking/index.rst +2 −0
  733. Documentation/kernel-hacking/locking.rst +4 −2
  734. Documentation/kprobes.txt +27 −8
  735. Documentation/media/audio.h.rst.exceptions +0 −3
  736. Documentation/media/media.h.rst.exceptions +1 −1
  737. Documentation/media/uapi/cec/cec-ioc-dqevent.rst +18 −0
  738. Documentation/media/uapi/dvb/audio-get-pts.rst +0 −65
  739. Documentation/media/uapi/dvb/audio-set-attributes.rst +0 −67
  740. Documentation/media/uapi/dvb/audio-set-ext-id.rst +0 −66
  741. Documentation/media/uapi/dvb/audio-set-karaoke.rst +0 −66
  742. Documentation/media/uapi/dvb/audio_data_types.rst +0 −37
  743. Documentation/media/uapi/dvb/audio_function_calls.rst +0 −4
  744. Documentation/media/uapi/dvb/video-get-frame-rate.rst +0 −61
  745. Documentation/media/uapi/dvb/video-get-navi.rst +0 −84
  746. Documentation/media/uapi/dvb/video-set-attributes.rst +0 −93
  747. Documentation/media/uapi/dvb/video-set-highlight.rst +0 −86
  748. Documentation/media/uapi/dvb/video-set-id.rst +0 −75
  749. Documentation/media/uapi/dvb/video-set-spu-palette.rst +0 −82
  750. Documentation/media/uapi/dvb/video-set-spu.rst +0 −85
  751. Documentation/media/uapi/dvb/video-set-system.rst +0 −77
  752. Documentation/media/uapi/dvb/video_function_calls.rst +0 −7
  753. Documentation/media/uapi/dvb/video_types.rst +0 −131
  754. Documentation/media/uapi/mediactl/media-ioc-device-info.rst +8 −40
  755. Documentation/media/uapi/mediactl/media-ioc-enum-entities.rst +20 −72
  756. Documentation/media/uapi/mediactl/media-ioc-enum-links.rst +12 −60
  757. Documentation/media/uapi/mediactl/media-ioc-g-topology.rst +63 −177
  758. Documentation/media/uapi/mediactl/media-types.rst +137 −378
  759. Documentation/media/uapi/v4l/extended-controls.rst +45 −3
  760. Documentation/media/uapi/v4l/pixfmt-compressed.rst +7 −0
  761. Documentation/media/uapi/v4l/pixfmt-rgb.rst +1 −0
  762. Documentation/media/uapi/v4l/pixfmt-srggb14p.rst +127 −0
  763. Documentation/media/uapi/v4l/pixfmt-y10p.rst +33 −0
  764. Documentation/media/uapi/v4l/subdev-formats.rst +81 −6
  765. Documentation/media/uapi/v4l/vidioc-enumstd.rst +7 −4
  766. Documentation/media/uapi/v4l/vidioc-g-std.rst +10 −4
  767. Documentation/media/uapi/v4l/vidioc-querystd.rst +7 −4
  768. Documentation/media/uapi/v4l/yuv-formats.rst +1 −0
  769. Documentation/media/v4l-drivers/qcom_camss.rst +60 −33
  770. Documentation/media/v4l-drivers/qcom_camss_8x96_graph.dot +104 −0
  771. Documentation/media/video.h.rst.exceptions +0 −3
  772. Documentation/media/videodev2.h.rst.exceptions +0 −1
  773. Documentation/memory-barriers.txt +27 −16
  774. Documentation/misc-devices/pci-endpoint-test.txt +6 −0
  775. Documentation/networking/00-INDEX +0 −4
  776. Documentation/networking/alias.rst +49 −0
  777. Documentation/networking/alias.txt +0 −40
  778. Documentation/networking/bonding.txt +1 −1
  779. Documentation/networking/bridge.rst +6 −0
  780. Documentation/networking/can_ucan_protocol.rst +332 −0
  781. Documentation/networking/dpaa2/dpio-driver.rst +26 −3
  782. Documentation/networking/dpaa2/index.rst +1 −0
  783. Documentation/networking/dpaa2/overview.rst +1 −0
  784. Documentation/networking/e100.rst +17 −10
  785. Documentation/networking/e1000.rst +112 −75
  786. Documentation/networking/index.rst +6 −0
  787. Documentation/networking/ip-sysctl.txt +29 −5
  788. Documentation/networking/net_failover.rst +57 −54
  789. Documentation/networking/netdev-FAQ.rst +259 −0
  790. Documentation/networking/netdev-FAQ.txt +0 −244
  791. Documentation/networking/scaling.txt +50 −11
  792. Documentation/networking/ti-cpsw.txt +541 −0
  793. Documentation/networking/tproxy.txt +27 −7
  794. Documentation/nommu-mmap.txt +1 −1
  795. Documentation/pcmcia/driver-changes.txt +0 −3
  796. Documentation/power/freezing-of-tasks.txt +6 −6
  797. Documentation/power/suspend-and-cpuhotplug.txt +3 −3
  798. Documentation/powerpc/DAWR-POWER9.txt +58 −0
  799. Documentation/powerpc/transactional_memory.txt +44 −0
  800. Documentation/process/2.Process.rst +1 −1
  801. Documentation/process/changes.rst +16 −13
  802. Documentation/process/howto.rst +1 −1
  803. Documentation/process/management-style.rst +13 −12
  804. Documentation/process/stable-kernel-rules.rst +1 −1
  805. Documentation/process/submitting-patches.rst +1 −0
  806. Documentation/rfkill.txt +8 −10
  807. Documentation/sound/alsa-configuration.rst +1 −1
  808. Documentation/sound/cards/multisound.sh +1139 −0
  809. Documentation/sound/hd-audio/models.rst +262 −2
  810. Documentation/sound/soc/dpcm.rst +1 −3
  811. Documentation/sphinx/kerneldoc.py +7 −3
  812. Documentation/sphinx/parse-headers.pl +1 −1
  813. Documentation/sysctl/fs.txt +36 −0
  814. Documentation/sysctl/kernel.txt +27 −2
  815. Documentation/sysctl/vm.txt +24 −1
  816. Documentation/timers/timekeeping.txt +1 −1
  817. Documentation/trace/events-power.rst +1 −0
  818. Documentation/trace/events.rst +1 −1
  819. Documentation/trace/ftrace.rst +2 −2
  820. Documentation/trace/histogram.rst +628 −622
  821. Documentation/trace/index.rst +1 −0
  822. Documentation/trace/kprobetrace.rst +6 −3
  823. Documentation/trace/uprobetracer.rst +1 −1
  824. Documentation/translations/index.rst +13 −0
  825. Documentation/translations/it_IT/disclaimer-ita.rst +13 −0
  826. Documentation/translations/it_IT/doc-guide/index.rst +24 −0
  827. Documentation/translations/it_IT/doc-guide/kernel-doc.rst +554 −0
  828. Documentation/translations/it_IT/doc-guide/parse-headers.rst +196 −0
  829. Documentation/translations/it_IT/doc-guide/sphinx.rst +457 −0
  830. Documentation/translations/it_IT/index.rst +118 −0
  831. Documentation/translations/it_IT/kernel-hacking/hacking.rst +855 −0
  832. Documentation/translations/it_IT/kernel-hacking/index.rst +16 −0
  833. Documentation/translations/it_IT/kernel-hacking/locking.rst +1493 −0
  834. Documentation/translations/ko_KR/memory-barriers.txt +11 −11
  835. Documentation/translations/zh_CN/oops-tracing.txt +2 −2
  836. Documentation/usb/usb-serial.txt +0 −9
  837. Documentation/virtual/kvm/api.txt +148 −4
  838. Documentation/virtual/kvm/cpuid.txt +4 −0
  839. Documentation/virtual/kvm/devices/arm-vgic-v3.txt +8 −0
  840. Documentation/virtual/kvm/devices/arm-vgic.txt +9 −6
  841. Documentation/virtual/kvm/hypercalls.txt +20 −0
  842. Documentation/w1/slaves/w1_ds2438 +1 −1
  843. Documentation/x86/intel_rdt_ui.txt +377 −3
  844. Documentation/x86/x86_64/boot-options.txt +5 −3
  845. Kconfig +21 −1
  846. MAINTAINERS +386 −71
  847. Makefile +74 −57
  848. arch/Kconfig +39 −144
  849. arch/alpha/Kconfig +1 −22
  850. arch/alpha/Kconfig.debug +0 −5
  851. arch/alpha/boot/Makefile +1 −1
  852. arch/alpha/include/asm/atomic.h +20 −44
  853. arch/alpha/include/uapi/asm/socket.h +3 −0
  854. arch/alpha/kernel/osf_sys.c +25 −31
  855. arch/alpha/mm/fault.c +2 −1
  856. arch/arc/Kconfig +4 −20
  857. arch/arc/Kconfig.debug +0 −5
  858. arch/arc/Makefile +2 −15
  859. arch/arc/configs/axs101_defconfig +0 −1
  860. arch/arc/configs/axs103_defconfig +0 −1
  861. arch/arc/configs/axs103_smp_defconfig +0 −1
  862. arch/arc/configs/haps_hs_defconfig +0 −1
  863. arch/arc/configs/haps_hs_smp_defconfig +0 −1
  864. arch/arc/configs/hsdk_defconfig +0 −1
  865. arch/arc/configs/nsim_700_defconfig +0 −1
  866. arch/arc/configs/nsim_hs_defconfig +0 −1
  867. arch/arc/configs/nsim_hs_smp_defconfig +0 −1
  868. arch/arc/configs/nsimosci_defconfig +0 −1
  869. arch/arc/configs/nsimosci_hs_defconfig +0 −1
  870. arch/arc/configs/nsimosci_hs_smp_defconfig +0 −1
  871. arch/arc/configs/tb10x_defconfig +0 −1
  872. arch/arc/include/asm/atomic.h +17 −69
  873. arch/arc/include/asm/cache.h +3 −1
  874. arch/arc/include/asm/delay.h +3 −0
  875. arch/arc/include/asm/entry-compact.h +6 −0
  876. arch/arc/include/asm/entry.h +0 −3
  877. arch/arc/include/asm/kprobes.h +0 −2
  878. arch/arc/include/asm/mach_desc.h +0 −2
  879. arch/arc/include/asm/page.h +1 −1
  880. arch/arc/include/asm/pgtable.h +1 −1
  881. arch/arc/kernel/irq.c +1 −1
  882. arch/arc/kernel/kprobes.c +5 −45
  883. arch/arc/kernel/process.c +36 −11
  884. arch/arc/mm/cache.c +14 −3
  885. arch/arc/mm/dma.c +47 −2
  886. arch/arc/mm/fault.c +3 −1
  887. arch/arc/plat-eznps/include/plat/ctop.h +10 −0
  888. arch/arc/plat-eznps/mtm.c +4 −2
  889. arch/arc/plat-hsdk/Kconfig +3 −0
  890. arch/arc/plat-hsdk/platform.c +62 −0
  891. arch/arm/Kconfig +12 −40
  892. arch/arm/Kconfig.debug +12 −7
  893. arch/arm/Makefile +2 −6
  894. arch/arm/boot/dts/Makefile +29 −6
  895. arch/arm/boot/dts/am335x-baltos.dtsi +1 −1
  896. arch/arm/boot/dts/am335x-bone-common.dtsi +0 −1
  897. arch/arm/boot/dts/am335x-evm.dts +1 −1
  898. arch/arm/boot/dts/am335x-evmsk.dts +1 −1
  899. arch/arm/boot/dts/am335x-osd3358-sm-red.dts +457 −0
  900. arch/arm/boot/dts/am335x-sancloud-bbe.dts +136 −0
  901. arch/arm/boot/dts/am335x-sl50.dts +245 −52
  902. arch/arm/boot/dts/am33xx.dtsi +2 −2
  903. arch/arm/boot/dts/am3517-evm.dts +47 −3
  904. arch/arm/boot/dts/am3517-som.dtsi +100 −5
  905. arch/arm/boot/dts/am3517.dtsi +9 −0
  906. arch/arm/boot/dts/am437x-gp-evm.dts +1 −1
  907. arch/arm/boot/dts/am437x-sk-evm.dts +2 −0
  908. arch/arm/boot/dts/am571x-idk.dts +0 −4
  909. arch/arm/boot/dts/am572x-idk-common.dtsi +0 −4
  910. arch/arm/boot/dts/am57xx-idk-common.dtsi +6 −1
  911. arch/arm/boot/dts/armada-388-clearfog-base.dts +0 −5
  912. arch/arm/boot/dts/armada-388-clearfog-pro.dts +0 −5
  913. arch/arm/boot/dts/armada-388-clearfog.dts +1 −6
  914. arch/arm/boot/dts/armada-388-clearfog.dtsi +1 −6
  915. arch/arm/boot/dts/armada-388-helios4.dts +313 −0
  916. arch/arm/boot/dts/armada-38x-solidrun-microsom.dtsi +0 −6
  917. arch/arm/boot/dts/armada-38x.dtsi +1 −1
  918. arch/arm/boot/dts/aspeed-ast2500-evb.dts +7 −7
  919. arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts +3 −2
  920. arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts +1 −0
  921. arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts +1 −0
  922. arch/arm/boot/dts/aspeed-g4.dtsi +24 −2
  923. arch/arm/boot/dts/aspeed-g5.dtsi +32 −2
  924. arch/arm/boot/dts/at91-dvk_som60.dts +95 −0
  925. arch/arm/boot/dts/at91-dvk_su60_somc.dtsi +159 −0
  926. arch/arm/boot/dts/at91-dvk_su60_somc_lcm.dtsi +90 −0
  927. arch/arm/boot/dts/at91-gatwick.dts +121 −0
  928. arch/arm/boot/dts/at91-som60.dtsi +230 −0
  929. arch/arm/boot/dts/at91-wb45n.dts +64 −0
  930. arch/arm/boot/dts/at91-wb45n.dtsi +165 −0
  931. arch/arm/boot/dts/at91-wb50n.dts +112 −0
  932. arch/arm/boot/dts/at91-wb50n.dtsi +198 −0
  933. arch/arm/boot/dts/at91sam9261.dtsi +1 −1
  934. arch/arm/boot/dts/at91sam9263.dtsi +1 −1
  935. arch/arm/boot/dts/at91sam9rl.dtsi +1 −1
  936. arch/arm/boot/dts/at91sam9x5.dtsi +4 −4
  937. arch/arm/boot/dts/bcm-cygnus.dtsi +9 −0
  938. arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts +88 −0
  939. arch/arm/boot/dts/bcm2835-rpi-cm1.dtsi +34 −0
  940. arch/arm/boot/dts/bcm2837.dtsi +6 −0
  941. arch/arm/boot/dts/bcm283x.dtsi +6 −0
  942. arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts +4 −0
  943. arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts +4 −0
  944. arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts +4 −0
  945. arch/arm/boot/dts/bcm4708-linksys-ea6300-v1.dts +4 −0
  946. arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts +4 −0
  947. arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts +4 −0
  948. arch/arm/boot/dts/bcm4708-netgear-r6250.dts +4 −0
  949. arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts +4 −0
  950. arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts +4 −0
  951. arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts +4 −0
  952. arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts +4 −0
  953. arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts +4 −0
  954. arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts +4 −0
  955. arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts +4 −0
  956. arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts +4 −0
  957. arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts +4 −0
  958. arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts +4 −0
  959. arch/arm/boot/dts/bcm4709-linksys-ea9200.dts +4 −0
  960. arch/arm/boot/dts/bcm4709-netgear-r7000.dts +4 −0
  961. arch/arm/boot/dts/bcm4709-netgear-r8000.dts +4 −0
  962. arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts +4 −0
  963. arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts +4 −0
  964. arch/arm/boot/dts/bcm47094-linksys-panamera.dts +233 −0
  965. arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts +4 −0
  966. arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts +4 −0
  967. arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts +4 −0
  968. arch/arm/boot/dts/bcm47094-netgear-r8500.dts +4 −0
  969. arch/arm/boot/dts/bcm47094.dtsi +4 −3
  970. arch/arm/boot/dts/bcm5301x.dtsi +27 −8
  971. arch/arm/boot/dts/bcm53573.dtsi +8 −0
  972. arch/arm/boot/dts/bcm94708.dts +4 −0
  973. arch/arm/boot/dts/bcm94709.dts +4 −0
  974. arch/arm/boot/dts/bcm953012er.dts +4 −0
  975. arch/arm/boot/dts/bcm953012hr.dts +4 −0
  976. arch/arm/boot/dts/bcm953012k.dts +4 −0
  977. arch/arm/boot/dts/berlin2.dtsi +10 −0
  978. arch/arm/boot/dts/berlin2q.dtsi +33 −0
  979. arch/arm/boot/dts/da850-enbw-cmc.dts +4 −0
  980. arch/arm/boot/dts/da850-evm.dts +90 −1
  981. arch/arm/boot/dts/da850-lcdk.dts +9 −0
  982. arch/arm/boot/dts/da850-lego-ev3.dts +86 −0
  983. arch/arm/boot/dts/da850.dtsi +176 −0
  984. arch/arm/boot/dts/dra7-evm-common.dtsi +10 −0
  985. arch/arm/boot/dts/dra7-evm.dts +0 −9
  986. arch/arm/boot/dts/dra7.dtsi +3 −3
  987. arch/arm/boot/dts/dra71-evm.dts +8 −0
  988. arch/arm/boot/dts/dra72-evm-common.dtsi +1 −0
  989. arch/arm/boot/dts/dra74x.dtsi +10 −0
  990. arch/arm/boot/dts/dra76-evm.dts +14 −0
  991. arch/arm/boot/dts/dra76x.dtsi +64 −0
  992. arch/arm/boot/dts/emev2-kzm9d.dts +1 −4
  993. arch/arm/boot/dts/emev2.dtsi +1 −4
  994. arch/arm/boot/dts/exynos3250.dtsi +17 −1
  995. arch/arm/boot/dts/exynos4.dtsi +1 −1
  996. arch/arm/boot/dts/exynos4210.dtsi +13 −0
  997. arch/arm/boot/dts/exynos4412-midas.dtsi +34 −1
  998. arch/arm/boot/dts/exynos4412-tmu-sensor-conf.dtsi +0 −20
  999. arch/arm/boot/dts/exynos4412.dtsi +9 −0
  1000. arch/arm/boot/dts/exynos5.dtsi +5 −0
  1001. arch/arm/boot/dts/exynos5250.dtsi +24 −1
  1002. arch/arm/boot/dts/exynos5410.dtsi +4 −4
  1003. arch/arm/boot/dts/exynos5420-cpus.dtsi +6 −0
  1004. arch/arm/boot/dts/exynos5420-tmu-sensor-conf.dtsi +0 −21
  1005. arch/arm/boot/dts/exynos5420.dtsi +5 −5
  1006. arch/arm/boot/dts/exynos5422-cpus.dtsi +7 −1
  1007. arch/arm/boot/dts/gemini-dlink-dir-685.dts +139 −1
  1008. arch/arm/boot/dts/gemini-sl93512r.dts +328 −0
  1009. arch/arm/boot/dts/gemini-sq201.dts +159 −0
  1010. arch/arm/boot/dts/gr-peach-audiocamerashield.dtsi +79 −0
  1011. arch/arm/boot/dts/highbank.dts +30 −0
  1012. arch/arm/boot/dts/imx31-lite.dts +177 −0
  1013. arch/arm/boot/dts/imx31.dtsi +223 −0
  1014. arch/arm/boot/dts/imx50-evk.dts +0 −8
  1015. arch/arm/boot/dts/imx50-pinfunc.h +2 −2
  1016. arch/arm/boot/dts/imx50.dtsi +0 −18
  1017. arch/arm/boot/dts/imx51-babbage.dts +14 −15
  1018. arch/arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dts +7 −14
  1019. arch/arm/boot/dts/imx51-zii-rdu1.dts +75 −2
  1020. arch/arm/boot/dts/imx51-zii-scu2-mezz.dts +448 −0
  1021. arch/arm/boot/dts/imx51-zii-scu3-esb.dts +467 −0
  1022. arch/arm/boot/dts/imx51.dtsi +50 −11
  1023. arch/arm/boot/dts/imx53-kp-ddc.dts +146 −0
  1024. arch/arm/boot/dts/imx53-kp-hsc.dts +52 −0
  1025. arch/arm/boot/dts/imx53-kp.dtsi +189 −0
  1026. arch/arm/boot/dts/imx53-ppd.dts +38 −2
  1027. arch/arm/boot/dts/imx53-qsb-common.dtsi +8 −1
  1028. arch/arm/boot/dts/imx53.dtsi +6 −1
  1029. arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts +0 −3
  1030. arch/arm/boot/dts/imx6dl-icore-mipi.dts +25 −0
  1031. arch/arm/boot/dts/imx6dl-mamoj.dts +265 −0
  1032. arch/arm/boot/dts/imx6dl-nit6xlite.dts +1 −37
  1033. arch/arm/boot/dts/imx6dl-nitrogen6x.dts +1 −37
  1034. arch/arm/boot/dts/imx6dl-riotboard.dts +24 −30
  1035. arch/arm/boot/dts/imx6dl.dtsi +24 −0
  1036. arch/arm/boot/dts/imx6q-apalis-eval.dts +16 −0
  1037. arch/arm/boot/dts/imx6q-apalis-ixora-v1.1.dts +4 −0
  1038. arch/arm/boot/dts/imx6q-apalis-ixora.dts +4 −0
  1039. arch/arm/boot/dts/imx6q-cm-fx6.dts +66 −0
  1040. arch/arm/boot/dts/imx6q-icore-mipi.dts +8 −0
  1041. arch/arm/boot/dts/imx6q-nitrogen6_max.dts +1 −37
  1042. arch/arm/boot/dts/imx6q-nitrogen6_som2.dts +1 −37
  1043. arch/arm/boot/dts/imx6q-nitrogen6x.dts +1 −37
  1044. arch/arm/boot/dts/imx6q-var-dt6customboard.dts +1 −0
  1045. arch/arm/boot/dts/imx6q.dtsi +85 −3
  1046. arch/arm/boot/dts/imx6qdl-apalis.dtsi +18 −57
  1047. arch/arm/boot/dts/imx6qdl-colibri.dtsi +19 −59
  1048. arch/arm/boot/dts/imx6qdl-icore.dtsi +46 −3
  1049. arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi +2 −37
  1050. arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi +2 −37
  1051. arch/arm/boot/dts/imx6qdl-nitrogen6_som2.dtsi +2 −37
  1052. arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi +2 −37
  1053. arch/arm/boot/dts/imx6qdl-sabreauto.dtsi +25 −0
  1054. arch/arm/boot/dts/imx6qdl-sabresd.dtsi +1 −0
  1055. arch/arm/boot/dts/imx6qdl-wandboard.dtsi +34 −25
  1056. arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi +29 −3
  1057. arch/arm/boot/dts/imx6qdl.dtsi +0 −1
  1058. arch/arm/boot/dts/imx6qp-nitrogen6_max.dts +1 −38
  1059. arch/arm/boot/dts/imx6qp-nitrogen6_som2.dts +1 −38
  1060. arch/arm/boot/dts/imx6sl-evk.dts +13 −0
  1061. arch/arm/boot/dts/imx6sl.dtsi +56 −8
  1062. arch/arm/boot/dts/imx6sll-evk.dts +463 −0
  1063. arch/arm/boot/dts/imx6sll-pinfunc.h +880 −0
  1064. arch/arm/boot/dts/imx6sll.dtsi +780 −0
  1065. arch/arm/boot/dts/imx6sx-nitrogen6sx.dts +1 −108
  1066. arch/arm/boot/dts/imx6sx-sdb-reva.dts +1 −0
  1067. arch/arm/boot/dts/imx6sx.dtsi +11 −5
  1068. arch/arm/boot/dts/imx6ul-ccimx6ulsbcexpress.dts +200 −0
  1069. arch/arm/boot/dts/imx6ul-ccimx6ulsom.dtsi +201 −0
  1070. arch/arm/boot/dts/imx6ul-pico-hobbit.dts +2 −1
  1071. arch/arm/boot/dts/imx6ul.dtsi +6 −0
  1072. arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi +0 −14
  1073. arch/arm/boot/dts/imx6ull.dtsi +22 −40
  1074. arch/arm/boot/dts/imx7d-nitrogen7.dts +16 −71
  1075. arch/arm/boot/dts/imx7d-sdb.dts +21 −12
  1076. arch/arm/boot/dts/imx7d.dtsi +1 −0
  1077. arch/arm/boot/dts/imx7s.dtsi +0 −1
  1078. arch/arm/boot/dts/iwg20d-q7-common.dtsi +1 −4
  1079. arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi +1 −4
  1080. arch/arm/boot/dts/keystone-k2e-netcp.dtsi +20 −0
  1081. arch/arm/boot/dts/keystone-k2g-evm.dts +63 −0
  1082. arch/arm/boot/dts/keystone-k2g-ice.dts +59 −0
  1083. arch/arm/boot/dts/keystone-k2g-netcp.dtsi +147 −0
  1084. arch/arm/boot/dts/keystone-k2g.dtsi +17 −8
  1085. arch/arm/boot/dts/keystone-k2hk-netcp.dtsi +20 −0
  1086. arch/arm/boot/dts/keystone-k2l-netcp.dtsi +20 −0
  1087. arch/arm/boot/dts/logicpd-som-lv.dtsi +1 −1
  1088. arch/arm/boot/dts/logicpd-torpedo-37xx-devkit.dts +1 −1
  1089. arch/arm/boot/dts/ls1021a.dtsi +1 −0
  1090. arch/arm/boot/dts/mt7623.dtsi +3 −0
  1091. arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts +3 −3
  1092. arch/arm/boot/dts/mt7623n-rfb-nand.dts +0 −73
  1093. arch/arm/boot/dts/mt7623n-rfb.dtsi +0 −86
  1094. arch/arm/boot/dts/omap3-cm-t3517.dts +1 −1
  1095. arch/arm/boot/dts/omap3-cm-t3730.dts +1 −1
  1096. arch/arm/boot/dts/omap3-evm-common.dtsi +1 −1
  1097. arch/arm/boot/dts/omap3-igep0020-rev-f.dts +1 −1
  1098. arch/arm/boot/dts/omap3-igep0030-rev-g.dts +1 −1
  1099. arch/arm/boot/dts/omap3-zoom3.dts +1 −1
  1100. arch/arm/boot/dts/omap4-droid4-xt894.dts +8 −8
  1101. arch/arm/boot/dts/omap4-duovero-parlor.dts +3 −1
  1102. arch/arm/boot/dts/omap4-duovero.dtsi +1 −0
  1103. arch/arm/boot/dts/omap4-l4.dtsi +2444 −0
  1104. arch/arm/boot/dts/omap4-panda-common.dtsi +23 −1
  1105. arch/arm/boot/dts/omap4-panda-es.dts +13 −1
  1106. arch/arm/boot/dts/omap4-sdp.dts +1 −1
  1107. arch/arm/boot/dts/omap4-var-som-om44-wlan.dtsi +1 −1
  1108. arch/arm/boot/dts/omap4.dtsi +32 −780
  1109. arch/arm/boot/dts/omap4460.dtsi +36 −0
  1110. arch/arm/boot/dts/omap5-board-common.dtsi +1 −1
  1111. arch/arm/boot/dts/omap5.dtsi +14 −0
  1112. arch/arm/boot/dts/pxa2xx.dtsi +1 −1
  1113. arch/arm/boot/dts/pxa3xx.dtsi +33 −0
  1114. arch/arm/boot/dts/qcom-ipq4019.dtsi +24 −0
  1115. arch/arm/boot/dts/qcom-ipq8064.dtsi +24 −17
  1116. arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts +2 −0
  1117. arch/arm/boot/dts/r7s72100-genmai.dts +1 −4
  1118. arch/arm/boot/dts/r7s72100-gr-peach.dts +1 −4
  1119. arch/arm/boot/dts/r7s72100-rskrza1.dts +1 −4
  1120. arch/arm/boot/dts/r7s72100.dtsi +1 −4
  1121. arch/arm/boot/dts/r8a73a4-ape6evm.dts +1 −4
  1122. arch/arm/boot/dts/r8a73a4.dtsi +1 −4
  1123. arch/arm/boot/dts/r8a7740-armadillo800eva.dts +1 −4
  1124. arch/arm/boot/dts/r8a7740.dtsi +1 −4
  1125. arch/arm/boot/dts/r8a7743-iwg20d-q7-dbcm-ca.dts +1 −4
  1126. arch/arm/boot/dts/r8a7743-iwg20d-q7.dts +1 −4
  1127. arch/arm/boot/dts/r8a7743-iwg20m.dtsi +1 −4
  1128. arch/arm/boot/dts/r8a7743-sk-rzg1m.dts +1 −4
  1129. arch/arm/boot/dts/r8a7743.dtsi +10 −4
  1130. arch/arm/boot/dts/r8a7745-iwg22d-sodimm-dbhd-ca.dts +1 −4
  1131. arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts +1 −4
  1132. arch/arm/boot/dts/r8a7745-iwg22m.dtsi +1 −4
  1133. arch/arm/boot/dts/r8a7745-sk-rzg1e.dts +1 −4
  1134. arch/arm/boot/dts/r8a7745.dtsi +1 −4
  1135. arch/arm/boot/dts/r8a77470.dtsi +8 −8
  1136. arch/arm/boot/dts/r8a7778-bockw.dts +1 −4
  1137. arch/arm/boot/dts/r8a7778.dtsi +1 −4
  1138. arch/arm/boot/dts/r8a7779-marzen.dts +1 −4
  1139. arch/arm/boot/dts/r8a7779.dtsi +1 −4
  1140. arch/arm/boot/dts/r8a7790-lager.dts +1 −4
  1141. arch/arm/boot/dts/r8a7790.dtsi +33 −6
  1142. arch/arm/boot/dts/r8a7791-koelsch.dts +1 −4
  1143. arch/arm/boot/dts/r8a7791-porter.dts +34 −4
  1144. arch/arm/boot/dts/r8a7791.dtsi +13 −6
  1145. arch/arm/boot/dts/r8a7792-blanche.dts +1 −4
  1146. arch/arm/boot/dts/r8a7792-wheat.dts +1 −4
  1147. arch/arm/boot/dts/r8a7792.dtsi +1 −4
  1148. arch/arm/boot/dts/r8a7793-gose.dts +1 −4
  1149. arch/arm/boot/dts/r8a7793.dtsi +14 −6
  1150. arch/arm/boot/dts/r8a7794-alt.dts +1 −4
  1151. arch/arm/boot/dts/r8a7794-silk.dts +1 −4
  1152. arch/arm/boot/dts/r8a7794.dtsi +1 −4
  1153. arch/arm/boot/dts/r8a77xx-aa104xd12-panel.dtsi +1 −4
  1154. arch/arm/boot/dts/r8a77xx-aa121td01-panel.dtsi +1 −4
  1155. arch/arm/boot/dts/r9a06g032-rzn1d400-db.dts +28 −0
  1156. arch/arm/boot/dts/r9a06g032.dtsi +115 −0
  1157. arch/arm/boot/dts/rk3036-evb.dts +1 −39
  1158. arch/arm/boot/dts/rk3036-kylin.dts +1 −39
  1159. arch/arm/boot/dts/rk3036.dtsi +1 −39
  1160. arch/arm/boot/dts/rk3066a-bqcurie2.dts +1 −38
  1161. arch/arm/boot/dts/rk3066a-marsboard.dts +1 −38
  1162. arch/arm/boot/dts/rk3066a-mk808.dts +1 −38
  1163. arch/arm/boot/dts/rk3066a-rayeager.dts +1 −38
  1164. arch/arm/boot/dts/rk3066a.dtsi +1 −38
  1165. arch/arm/boot/dts/rk3188-px3-evb.dts +1 −38
  1166. arch/arm/boot/dts/rk3188-radxarock.dts +1 −38
  1167. arch/arm/boot/dts/rk3188.dtsi +1 −38
  1168. arch/arm/boot/dts/rk3228-evb.dts +1 −39
  1169. arch/arm/boot/dts/rk3229-evb.dts +1 −39
  1170. arch/arm/boot/dts/rk3229.dtsi +1 −38
  1171. arch/arm/boot/dts/rk322x.dtsi +4 −39
  1172. arch/arm/boot/dts/rk3288-evb-act8846.dts +1 −39
  1173. arch/arm/boot/dts/rk3288-evb-rk808.dts +1 −39
  1174. arch/arm/boot/dts/rk3288-evb.dtsi +2 −40
  1175. arch/arm/boot/dts/rk3288-fennec.dts +1 −39
  1176. arch/arm/boot/dts/rk3288-firefly-beta.dts +1 −38
  1177. arch/arm/boot/dts/rk3288-firefly-reload-core.dtsi +1 −38
  1178. arch/arm/boot/dts/rk3288-firefly-reload.dts +1 −38
  1179. arch/arm/boot/dts/rk3288-firefly.dts +1 −38
  1180. arch/arm/boot/dts/rk3288-firefly.dtsi +1 −38
  1181. arch/arm/boot/dts/rk3288-miqi.dts +1 −38
  1182. arch/arm/boot/dts/rk3288-phycore-rdk.dts +1 −38
  1183. arch/arm/boot/dts/rk3288-phycore-som.dtsi +1 −38
  1184. arch/arm/boot/dts/rk3288-popmetal.dts +1 −38
  1185. arch/arm/boot/dts/rk3288-r89.dts +1 −38
  1186. arch/arm/boot/dts/rk3288-rock2-som.dtsi +1 −39
  1187. arch/arm/boot/dts/rk3288-rock2-square.dts +1 −39
  1188. arch/arm/boot/dts/rk3288-tinker.dts +1 −38
  1189. arch/arm/boot/dts/rk3288-veyron-analog-audio.dtsi +1 −4
  1190. arch/arm/boot/dts/rk3288-veyron-brain.dts +1 −38
  1191. arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi +2 −39
  1192. arch/arm/boot/dts/rk3288-veyron-jaq.dts +1 −38
  1193. arch/arm/boot/dts/rk3288-veyron-jerry.dts +1 −38
  1194. arch/arm/boot/dts/rk3288-veyron-mickey.dts +1 −38
  1195. arch/arm/boot/dts/rk3288-veyron-minnie.dts +1 −38
  1196. arch/arm/boot/dts/rk3288-veyron-pinky.dts +1 −38
  1197. arch/arm/boot/dts/rk3288-veyron-sdmmc.dtsi +1 −38
  1198. arch/arm/boot/dts/rk3288-veyron-speedy.dts +1 −38
  1199. arch/arm/boot/dts/rk3288-veyron.dtsi +21 −54
  1200. arch/arm/boot/dts/rk3288-vyasa.dts +1 −38
  1201. arch/arm/boot/dts/rk3288.dtsi +68 −54
  1202. arch/arm/boot/dts/rk3xxx.dtsi +1 −38
  1203. arch/arm/boot/dts/rv1108-evb.dts +1 −39
  1204. arch/arm/boot/dts/rv1108.dtsi +1 −39
  1205. arch/arm/boot/dts/s5pv210-aries.dtsi +419 −0
  1206. arch/arm/boot/dts/s5pv210-fascinate4g.dts +45 −0
  1207. arch/arm/boot/dts/s5pv210-galaxys.dts +77 −0
  1208. arch/arm/boot/dts/s5pv210-pinctrl.dtsi +2 −0
  1209. arch/arm/boot/dts/sama5d2-pinfunc.h +2 −2
  1210. arch/arm/boot/dts/sama5d3.dtsi +4 −4
  1211. arch/arm/boot/dts/sama5d4.dtsi +1 −1
  1212. arch/arm/boot/dts/sh73a0-kzm9g.dts +1 −4
  1213. arch/arm/boot/dts/sh73a0.dtsi +1 −4
  1214. arch/arm/boot/dts/socfpga_arria10.dtsi +12 −0
  1215. arch/arm/boot/dts/ste-nomadik-stn8815.dtsi +0 −1
  1216. arch/arm/boot/dts/stm32f429.dtsi +2 −1
  1217. arch/arm/boot/dts/stm32f746.dtsi +1 −1
  1218. arch/arm/boot/dts/stm32mp157-pinctrl.dtsi +74 −1
  1219. arch/arm/boot/dts/stm32mp157c-ed1.dts +17 −8
  1220. arch/arm/boot/dts/stm32mp157c-ev1.dts +45 −0
  1221. arch/arm/boot/dts/stm32mp157c.dtsi +295 −14
  1222. arch/arm/boot/dts/sun4i-a10-inet97fv2.dts +1 −1
  1223. arch/arm/boot/dts/sun4i-a10.dtsi +23 −2
  1224. arch/arm/boot/dts/sun5i.dtsi +24 −8
  1225. arch/arm/boot/dts/sun6i-a31.dtsi +30 −0
  1226. arch/arm/boot/dts/sun7i-a20.dtsi +34 −4
  1227. arch/arm/boot/dts/sun8i-a23-a33.dtsi +22 −0
  1228. arch/arm/boot/dts/sun8i-a33.dtsi +9 −0
  1229. arch/arm/boot/dts/sun8i-a83t-allwinner-h8homlet-v2.dts +8 −0
  1230. arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts +8 −0
  1231. arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts +8 −0
  1232. arch/arm/boot/dts/sun8i-a83t.dtsi +0 −2
  1233. arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts +21 −0
  1234. arch/arm/boot/dts/sun8i-h3-beelink-x2.dts +7 −0
  1235. arch/arm/boot/dts/sun8i-h3.dtsi +31 −0
  1236. arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts +29 −0
  1237. arch/arm/boot/dts/sun8i-r40.dtsi +317 −2
  1238. arch/arm/boot/dts/sunxi-h3-h5.dtsi +0 −2
  1239. arch/arm/boot/dts/sunxi-libretech-all-h3-cc.dtsi +9 −0
  1240. arch/arm/boot/dts/tegra114-dalmore.dts +1 −1
  1241. arch/arm/boot/dts/tegra114-roth.dts +1 −1
  1242. arch/arm/boot/dts/tegra114-tn7.dts +1 −1
  1243. arch/arm/boot/dts/tegra114.dtsi +7 −2
  1244. arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi +1 −1
  1245. arch/arm/boot/dts/tegra124-apalis.dtsi +1 −1
  1246. arch/arm/boot/dts/tegra124-jetson-tk1.dts +1 −1
  1247. arch/arm/boot/dts/tegra124-nyan.dtsi +1 −1
  1248. arch/arm/boot/dts/tegra124-venice2.dts +1 −1
  1249. arch/arm/boot/dts/tegra124.dtsi +5 −2
  1250. arch/arm/boot/dts/tegra20-colibri-iris.dts +2 −2
  1251. arch/arm/boot/dts/tegra20-colibri.dtsi +24 −3
  1252. arch/arm/boot/dts/tegra20-harmony.dts +1 −1
  1253. arch/arm/boot/dts/tegra20-paz00.dts +1 −1
  1254. arch/arm/boot/dts/tegra20-seaboard.dts +1 −1
  1255. arch/arm/boot/dts/tegra20-tamonten.dtsi +1 −1
  1256. arch/arm/boot/dts/tegra20-trimslice.dts +1 −1
  1257. arch/arm/boot/dts/tegra20-ventana.dts +1 −1
  1258. arch/arm/boot/dts/tegra20.dtsi +27 −4
  1259. arch/arm/boot/dts/tegra30-apalis.dtsi +6 −3
  1260. arch/arm/boot/dts/tegra30-beaver.dts +1 −4
  1261. arch/arm/boot/dts/tegra30-cardhu.dtsi +2 −1
  1262. arch/arm/boot/dts/tegra30-colibri.dtsi +1 −3
  1263. arch/arm/boot/dts/tegra30.dtsi +10 −3
  1264. arch/arm/boot/dts/uniphier-pxs2.dtsi +3 −0
  1265. arch/arm/boot/dts/vf610-zii-cfu1.dts +305 −0
  1266. arch/arm/boot/dts/vf610-zii-ssmb-spu3.dts +341 −0
  1267. arch/arm/boot/dts/zynq-cc108.dts +1 −1
  1268. arch/arm/boot/dts/zynq-microzed.dts +2 −2
  1269. arch/arm/boot/dts/zynq-parallella.dts +1 −1
  1270. arch/arm/boot/dts/zynq-zc702.dts +2 −3
  1271. arch/arm/boot/dts/zynq-zc706.dts +2 −1
  1272. arch/arm/boot/dts/zynq-zc770-xm010.dts +1 −1
  1273. arch/arm/boot/dts/zynq-zc770-xm011.dts +1 −1
  1274. arch/arm/boot/dts/zynq-zc770-xm012.dts +1 −1
  1275. arch/arm/boot/dts/zynq-zc770-xm013.dts +1 −1
  1276. arch/arm/boot/dts/zynq-zed.dts +3 −2
  1277. arch/arm/boot/dts/zynq-zturn.dts +114 −0
  1278. arch/arm/boot/dts/zynq-zybo-z7.dts +13 −3
  1279. arch/arm/boot/dts/zynq-zybo.dts +2 −1
  1280. arch/arm/configs/aspeed_g4_defconfig +97 −16
  1281. arch/arm/configs/aspeed_g5_defconfig +98 −19
  1282. arch/arm/configs/bcm2835_defconfig +1 −1
  1283. arch/arm/configs/davinci_all_defconfig +10 −1
  1284. arch/arm/configs/exynos_defconfig +2 −2
  1285. arch/arm/configs/imx_v4_v5_defconfig +2 −0
  1286. arch/arm/configs/imx_v6_v7_defconfig +7 −3
  1287. arch/arm/configs/keystone_defconfig +5 −0
  1288. arch/arm/configs/multi_v5_defconfig +18 −12
  1289. arch/arm/configs/multi_v7_defconfig +12 −2
  1290. arch/arm/configs/mvebu_v7_defconfig +3 −10
  1291. arch/arm/configs/mxs_defconfig +3 −2
  1292. arch/arm/configs/pxa_defconfig +2 −2
  1293. arch/arm/configs/qcom_defconfig +2 −0
  1294. arch/arm/configs/s5pv210_defconfig +46 −3
  1295. arch/arm/configs/shmobile_defconfig +3 −14
  1296. arch/arm/crypto/chacha20-neon-core.S +4 −6
  1297. arch/arm/crypto/ghash-ce-glue.c +2 −3
  1298. arch/arm/crypto/sha1-ce-glue.c +0 −1
  1299. arch/arm/crypto/sha1_glue.c +0 −1
  1300. arch/arm/crypto/sha1_neon_glue.c +0 −1
  1301. arch/arm/crypto/sha2-ce-glue.c +0 −2
  1302. arch/arm/crypto/sha256_glue.c +1 −3
  1303. arch/arm/crypto/sha256_neon_glue.c +2 −4
  1304. arch/arm/crypto/sha512-glue.c +0 −2
  1305. arch/arm/crypto/sha512-neon-glue.c +0 −2
  1306. arch/arm/crypto/speck-neon-core.S +4 −2
  1307. arch/arm/firmware/Makefile +3 −0
  1308. arch/arm/firmware/trusted_foundations.c +9 −5
  1309. arch/arm/include/asm/assembler.h +4 −0
  1310. arch/arm/include/asm/atomic.h +14 −41
  1311. arch/arm/include/asm/bitops.h +9 −83
  1312. arch/arm/include/asm/efi.h +3 −0
  1313. arch/arm/include/asm/hw_breakpoint.h +5 −2
  1314. arch/arm/include/asm/irq.h +0 −5
  1315. arch/arm/include/asm/kprobes.h +0 −2
  1316. arch/arm/include/asm/kvm_emulate.h +18 −8
  1317. arch/arm/include/asm/kvm_host.h +5 −0
  1318. arch/arm/include/asm/kvm_mmu.h +3 −11
  1319. arch/arm/include/asm/mach/arch.h +1 −1
  1320. arch/arm/include/asm/mach/time.h +1 −2
  1321. arch/arm/include/asm/module.h +1 −0
  1322. arch/arm/include/asm/probes.h +0 −1
  1323. arch/arm/include/asm/thread_info.h +2 −2
  1324. arch/arm/include/asm/tlb.h +8 −0
  1325. arch/arm/include/asm/uaccess.h +19 −7
  1326. arch/arm/include/debug/renesas-scif.S +1 −4
  1327. arch/arm/include/uapi/asm/kvm.h +13 −0
  1328. arch/arm/kernel/asm-offsets.c +1 −12
  1329. arch/arm/kernel/entry-armv.S +2 −8
  1330. arch/arm/kernel/entry-common.S +3 −1
  1331. arch/arm/kernel/head-nommu.S +11 −3
  1332. arch/arm/kernel/hw_breakpoint.c +39 −39
  1333. arch/arm/kernel/irq.c +0 −10
  1334. arch/arm/kernel/perf_event_v6.c +10 −4
  1335. arch/arm/kernel/perf_event_v7.c +12 −3
  1336. arch/arm/kernel/perf_event_xscale.c +12 −6
  1337. arch/arm/kernel/process.c +5 −5
  1338. arch/arm/kernel/setup.c +1 −1
  1339. arch/arm/kernel/signal.c +29 −29
  1340. arch/arm/kernel/sys_oabi-compat.c +5 −3
  1341. arch/arm/kernel/time.c +2 −13
  1342. arch/arm/kvm/coproc.c +24 −1
  1343. arch/arm/kvm/guest.c +23 −0
  1344. arch/arm/lib/copy_from_user.S +9 −0
  1345. arch/arm/mach-at91/Kconfig +4 −0
  1346. arch/arm/mach-at91/Makefile +0 −25
  1347. arch/arm/mach-at91/pm.c +161 −31
  1348. arch/arm/mach-at91/pm.h +4 −2
  1349. arch/arm/mach-at91/pm_suspend.S +122 −20
  1350. arch/arm/mach-davinci/Kconfig +1 −12
  1351. arch/arm/mach-davinci/Makefile +2 −2
  1352. arch/arm/mach-davinci/aemif.c +0 −218
  1353. arch/arm/mach-davinci/board-da830-evm.c +48 −20
  1354. arch/arm/mach-davinci/board-da850-evm.c +53 −42
  1355. arch/arm/mach-davinci/board-dm355-evm.c +2 −0
  1356. arch/arm/mach-davinci/board-dm355-leopard.c +2 −0
  1357. arch/arm/mach-davinci/board-dm365-evm.c +48 −13
  1358. arch/arm/mach-davinci/board-dm644x-evm.c +44 −13
  1359. arch/arm/mach-davinci/board-dm646x-evm.c +43 −11
  1360. arch/arm/mach-davinci/board-mityomapl138.c +43 −14
  1361. arch/arm/mach-davinci/board-neuros-osd2.c +2 −0
  1362. arch/arm/mach-davinci/board-omapl138-hawk.c +136 −7
  1363. arch/arm/mach-davinci/board-sffsdr.c +2 −0
  1364. arch/arm/mach-davinci/clock.c +0 −745
  1365. arch/arm/mach-davinci/clock.h +0 −76
  1366. arch/arm/mach-davinci/common.c +0 −3
  1367. arch/arm/mach-davinci/da830.c +54 −408
  1368. arch/arm/mach-davinci/da850.c +128 −650
  1369. arch/arm/mach-davinci/da8xx-dt.c +0 −66
  1370. arch/arm/mach-davinci/davinci.h +8 −0
  1371. arch/arm/mach-davinci/devices-da8xx.c +16 −27
  1372. arch/arm/mach-davinci/devices.c +0 −1
  1373. arch/arm/mach-davinci/dm355.c +47 −359
  1374. arch/arm/mach-davinci/dm365.c +34 −451
  1375. arch/arm/mach-davinci/dm644x.c +45 −299
  1376. arch/arm/mach-davinci/dm646x.c +45 −327
  1377. arch/arm/mach-davinci/include/mach/clock.h +0 −3
  1378. arch/arm/mach-davinci/include/mach/common.h +2 −9
  1379. arch/arm/mach-davinci/include/mach/da8xx.h +3 −3
  1380. arch/arm/mach-davinci/pm_domain.c +5 −0
  1381. arch/arm/mach-davinci/psc.c +0 −137
  1382. arch/arm/mach-davinci/psc.h +0 −12
  1383. arch/arm/mach-davinci/time.c +16 −6
  1384. arch/arm/mach-davinci/usb-da8xx.c +13 −229
  1385. arch/arm/mach-exynos/exynos.c +0 −2
  1386. arch/arm/mach-exynos/suspend.c +2 −1
  1387. arch/arm/mach-hisi/hotplug.c +26 −15
  1388. arch/arm/mach-imx/Kconfig +21 −12
  1389. arch/arm/mach-imx/Makefile +3 −2
  1390. arch/arm/mach-imx/common.h +2 −1
  1391. arch/arm/mach-imx/cpu-imx5.c +45 −0
  1392. arch/arm/mach-imx/cpu.c +1 −0
  1393. arch/arm/mach-imx/cpuidle-imx6sl.c +2 −5
  1394. arch/arm/mach-imx/cpuidle-imx6sx.c +1 −0
  1395. arch/arm/mach-imx/gpc.c +14 −0
  1396. arch/arm/mach-imx/imx31-dt.c +0 −18
  1397. arch/arm/mach-imx/mach-imx51.c +29 −1
  1398. arch/arm/mach-imx/mach-imx53.c +1 −1
  1399. arch/arm/mach-imx/mach-imx6sl.c +4 −1
  1400. arch/arm/mach-imx/mach-imx7d-cm4.c +18 −0
  1401. arch/arm/mach-imx/pm-imx6.c +30 −3
  1402. arch/arm/mach-mmp/sram.c +1 −0
  1403. arch/arm/mach-mvebu/platsmp.c +23 −26
  1404. arch/arm/mach-mvebu/pmsu.c +3 −3
  1405. arch/arm/mach-omap1/ams-delta-fiq-handler.S +3 −2
  1406. arch/arm/mach-omap1/ams-delta-fiq.c +92 −21
  1407. arch/arm/mach-omap1/ams-delta-fiq.h +42 −0
  1408. arch/arm/mach-omap1/board-ams-delta.c +245 −56
  1409. arch/arm/mach-omap1/board-h2.c +1 −1
  1410. arch/arm/mach-omap1/board-h3.c +1 −1
  1411. arch/arm/mach-omap1/board-htcherald.c +1 −1
  1412. arch/arm/mach-omap1/board-osk.c +2 −2
  1413. arch/arm/mach-omap2/omap-smp.c +41 −0
  1414. arch/arm/mach-omap2/omap_hwmod_reset.c +8 −4
  1415. arch/arm/mach-omap2/pm-asm-offsets.c +2 −0
  1416. arch/arm/mach-omap2/pm-debug.c +6 −31
  1417. arch/arm/mach-omap2/pm33xx-core.c +16 −4
  1418. arch/arm/mach-omap2/sleep33xx.S +50 −2
  1419. arch/arm/mach-omap2/sleep43xx.S +104 −6
  1420. arch/arm/mach-pxa/balloon3.c +0 −1
  1421. arch/arm/mach-pxa/devices.c +16 −145
  1422. arch/arm/mach-pxa/devices.h +5 −1
  1423. arch/arm/mach-pxa/em-x270.c +0 −1
  1424. arch/arm/mach-pxa/hx4700.c +4 −0
  1425. arch/arm/mach-pxa/irq.c +2 −2
  1426. arch/arm/mach-pxa/mioa701.c +0 −2
  1427. arch/arm/mach-pxa/pxa25x.c +37 −1
  1428. arch/arm/mach-pxa/pxa27x.c +38 −1
  1429. arch/arm/mach-pxa/pxa3xx.c +40 −1
  1430. arch/arm/mach-pxa/zylonite.c +0 −11
  1431. arch/arm/mach-rockchip/Kconfig +1 −0
  1432. arch/arm/mach-rpc/ecard.c +1 −4
  1433. arch/arm/mach-s3c24xx/include/mach/s3c2412.h +1 −1
  1434. arch/arm/mach-shmobile/Kconfig +2 −0
  1435. arch/arm/mach-shmobile/Makefile +2 −6
  1436. arch/arm/mach-shmobile/common.h +0 −1
  1437. arch/arm/mach-shmobile/headsmp-apmu.S +1 −6
  1438. arch/arm/mach-shmobile/platsmp-apmu.c +101 −144
  1439. arch/arm/mach-shmobile/platsmp-apmu.h +0 −32
  1440. arch/arm/mach-shmobile/platsmp.c +0 −9
  1441. arch/arm/mach-shmobile/pm-r8a7779.c +0 −41
  1442. arch/arm/mach-shmobile/pm-rcar-gen2.c +0 −25
  1443. arch/arm/mach-shmobile/r8a7779.h +0 −2
  1444. arch/arm/mach-shmobile/r8a7790.h +0 −7
  1445. arch/arm/mach-shmobile/r8a7791.h +0 −7
  1446. arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c +1 −9
  1447. arch/arm/mach-shmobile/setup-emev2.c +1 −9
  1448. arch/arm/mach-shmobile/setup-r7s72100.c +1 −9
  1449. arch/arm/mach-shmobile/setup-r8a73a4.c +1 −10
  1450. arch/arm/mach-shmobile/setup-r8a7740.c +1 −9
  1451. arch/arm/mach-shmobile/setup-r8a7778.c +1 −9
  1452. arch/arm/mach-shmobile/setup-r8a7779.c +1 −9
  1453. arch/arm/mach-shmobile/setup-r8a7790.c +0 −38
  1454. arch/arm/mach-shmobile/setup-r8a7791.c +0 −39
  1455. arch/arm/mach-shmobile/setup-rcar-gen2.c +3 −17
  1456. arch/arm/mach-shmobile/setup-sh73a0.c +1 −9
  1457. arch/arm/mach-shmobile/smp-emev2.c +1 −9
  1458. arch/arm/mach-shmobile/smp-r8a7779.c +14 −64
  1459. arch/arm/mach-shmobile/smp-r8a7790.c +0 −71
  1460. arch/arm/mach-shmobile/smp-r8a7791.c +0 −53
  1461. arch/arm/mach-shmobile/timer.c +0 −8
  1462. arch/arm/mach-uniphier/Kconfig +1 −0
  1463. arch/arm/mm/Kconfig +0 −1
  1464. arch/arm/mm/dma-mapping.c +9 −8
  1465. arch/arm/mm/fault.c +4 −3
  1466. arch/arm/mm/init.c +9 −0
  1467. arch/arm/mm/nommu.c +2 −1
  1468. arch/arm/mm/tcm.h +1 −1
  1469. arch/arm/net/bpf_jit_32.c +577 −487
  1470. arch/arm/net/bpf_jit_32.h +20 −22
  1471. arch/arm/plat-omap/counter_32k.c +1 −1
  1472. arch/arm/plat-pxa/ssp.c +0 −47
  1473. arch/arm/plat-samsung/adc.c +1 −0
  1474. arch/arm/probes/kprobes/core.c +7 −132
  1475. arch/arm/probes/kprobes/test-core.c +0 −1
  1476. arch/arm/probes/uprobes/core.c +1 −1
  1477. arch/arm/vfp/Makefile +1 −4
  1478. arch/arm/vfp/vfpmodule.c +7 −10
  1479. arch/arm64/Kconfig +20 −29
  1480. arch/arm64/Kconfig.debug +0 −5
  1481. arch/arm64/Kconfig.platforms +9 −0
  1482. arch/arm64/Makefile +6 −5
  1483. arch/arm64/boot/dts/Makefile +1 −0
  1484. arch/arm64/boot/dts/allwinner/Makefile +2 −0
  1485. arch/arm64/boot/dts/allwinner/sun50i-a64-amarula-relic.dts +219 −0
  1486. arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts +4 −0
  1487. arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts +4 −0
  1488. arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts +4 −0
  1489. arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts +4 −0
  1490. arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts +4 −0
  1491. arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts +285 −0
  1492. arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts +4 −0
  1493. arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi +15 −0
  1494. arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts +6 −1
  1495. arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi +103 −10
  1496. arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts +12 −0
  1497. arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts +146 −0
  1498. arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +64 −3
  1499. arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi +35 −6
  1500. arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts +35 −0
  1501. arch/arm64/boot/dts/amlogic/Makefile +3 −0
  1502. arch/arm64/boot/dts/amlogic/meson-axg-s400.dts +168 −0
  1503. arch/arm64/boot/dts/amlogic/meson-axg.dtsi +311 −0
  1504. arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi +12 −5
  1505. arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts +48 −0
  1506. arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts +218 −0
  1507. arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts +5 −10
  1508. arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts +7 −0
  1509. arch/arm64/boot/dts/amlogic/meson-gxl-s905w-p281.dts +22 −0
  1510. arch/arm64/boot/dts/amlogic/meson-gxl-s905w-tx3-mini.dts +22 −0
  1511. arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts +24 −0
  1512. arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts +5 −10
  1513. arch/arm64/boot/dts/amlogic/meson-gxm-q201.dts +7 −0
  1514. arch/arm64/boot/dts/arm/juno-r1.dts +1 −1
  1515. arch/arm64/boot/dts/arm/juno-r2.dts +1 −1
  1516. arch/arm64/boot/dts/arm/juno.dts +1 −1
  1517. arch/arm64/boot/dts/broadcom/northstar2/ns2.dtsi +2 −2
  1518. arch/arm64/boot/dts/broadcom/stingray/Makefile +2 −0
  1519. arch/arm64/boot/dts/broadcom/stingray/bcm958742-base.dtsi +1 −34
  1520. arch/arm64/boot/dts/broadcom/stingray/bcm958802a802x.dts +26 −0
  1521. arch/arm64/boot/dts/broadcom/stingray/stingray-board-base.dtsi +51 −0
  1522. arch/arm64/boot/dts/broadcom/stingray/stingray-clock.dtsi +19 −7
  1523. arch/arm64/boot/dts/broadcom/stingray/stingray-pcie.dtsi +54 −0
  1524. arch/arm64/boot/dts/broadcom/stingray/stingray.dtsi +21 −2
  1525. arch/arm64/boot/dts/exynos/exynos5433-tmu-g3d-sensor-conf.dtsi +0 −20
  1526. arch/arm64/boot/dts/exynos/exynos5433-tmu-sensor-conf.dtsi +0 −19
  1527. arch/arm64/boot/dts/exynos/exynos5433.dtsi +7 −7
  1528. arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi +0 −21
  1529. arch/arm64/boot/dts/exynos/exynos7.dtsi +1 −1
  1530. arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts +1 −37
  1531. arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts +1 −37
  1532. arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts +1 −37
  1533. arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi +2 −38
  1534. arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi +1 −2
  1535. arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts +1 −38
  1536. arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts +1 −38
  1537. arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi +6 −40
  1538. arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi +1 −1
  1539. arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts +1 −38
  1540. arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts +1 −38
  1541. arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi +5 −39
  1542. arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dts +1 −37
  1543. arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts +1 −37
  1544. arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi +7 −37
  1545. arch/arm64/boot/dts/freescale/fsl-ls2080a-qds.dts +1 −37
  1546. arch/arm64/boot/dts/freescale/fsl-ls2080a-rdb.dts +1 −37
  1547. arch/arm64/boot/dts/freescale/fsl-ls2080a-simu.dts +1 −37
  1548. arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi +5 −37
  1549. arch/arm64/boot/dts/freescale/fsl-ls2088a-qds.dts +1 −37
  1550. arch/arm64/boot/dts/freescale/fsl-ls2088a-rdb.dts +1 −37
  1551. arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi +5 −37
  1552. arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi +1 −37
  1553. arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi +1 −37
  1554. arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi +1 −37
  1555. arch/arm64/boot/dts/freescale/qoriq-bman-portals.dtsi +1 −1
  1556. arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi +1 −1
  1557. arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi +1 −1
  1558. arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi +1 −1
  1559. arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi +1 −1
  1560. arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi +1 −1
  1561. arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi +1 −1
  1562. arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi +1 −1
  1563. arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi +1 −1
  1564. arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi +10 −7
  1565. arch/arm64/boot/dts/freescale/qoriq-qman-portals.dtsi +1 −1
  1566. arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts +20 −6
  1567. arch/arm64/boot/dts/hisilicon/hi3660.dtsi +50 −47
  1568. arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts +0 −1
  1569. arch/arm64/boot/dts/hisilicon/hi6220.dtsi +15 −1
  1570. arch/arm64/boot/dts/hisilicon/hip07.dtsi +284 −0
  1571. arch/arm64/boot/dts/marvell/armada-37xx.dtsi +22 −1
  1572. arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts +1 −1
  1573. arch/arm64/boot/dts/marvell/armada-cp110.dtsi +1 −1
  1574. arch/arm64/boot/dts/mediatek/Makefile +1 −0
  1575. arch/arm64/boot/dts/mediatek/mt2712e.dtsi +1 −1
  1576. arch/arm64/boot/dts/mediatek/mt6797-x20-dev.dts +33 −0
  1577. arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts +2 −2
  1578. arch/arm64/boot/dts/mediatek/mt7622.dtsi +10 −2
  1579. arch/arm64/boot/dts/mediatek/mt8173.dtsi +2 −0
  1580. arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi +20 −2
  1581. arch/arm64/boot/dts/nvidia/tegra194.dtsi +106 −0
  1582. arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi +1 −1
  1583. arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi +239 −0
  1584. arch/arm64/boot/dts/qcom/msm8916.dtsi +14 −14
  1585. arch/arm64/boot/dts/qcom/msm8996.dtsi +16 −6
  1586. arch/arm64/boot/dts/qcom/pm8005.dtsi +33 −0
  1587. arch/arm64/boot/dts/qcom/pm8998.dtsi +55 −0
  1588. arch/arm64/boot/dts/qcom/sdm845-mtp.dts +45 −0
  1589. arch/arm64/boot/dts/qcom/sdm845.dtsi +780 −0
  1590. arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts +1 −4
  1591. arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts +1 −4
  1592. arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x.dts +1 −4
  1593. arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi +2 −5
  1594. arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts +1 −4
  1595. arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts +1 −4
  1596. arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts +1 −4
  1597. arch/arm64/boot/dts/renesas/r8a7795-salvator-xs.dts +1 −4
  1598. arch/arm64/boot/dts/renesas/r8a7795.dtsi +14 −8
  1599. arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts +1 −4
  1600. arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts +1 −4
  1601. arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts +1 −4
  1602. arch/arm64/boot/dts/renesas/r8a7796-salvator-xs.dts +1 −4
  1603. arch/arm64/boot/dts/renesas/r8a7796.dtsi +52 −11
  1604. arch/arm64/boot/dts/renesas/r8a77965.dtsi +241 −12
  1605. arch/arm64/boot/dts/renesas/r8a77970-eagle.dts +1 −4
  1606. arch/arm64/boot/dts/renesas/r8a77970-v3msk.dts +1 −4
  1607. arch/arm64/boot/dts/renesas/r8a77970.dtsi +2 −5
  1608. arch/arm64/boot/dts/renesas/r8a77980-condor.dts +29 −0
  1609. arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts +23 −0
  1610. arch/arm64/boot/dts/renesas/r8a77980.dtsi +398 −5
  1611. arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts +37 −0
  1612. arch/arm64/boot/dts/renesas/r8a77990.dtsi +159 −10
  1613. arch/arm64/boot/dts/renesas/r8a77995-draak.dts +129 −4
  1614. arch/arm64/boot/dts/renesas/r8a77995.dtsi +231 −20
  1615. arch/arm64/boot/dts/renesas/salvator-common.dtsi +23 −11
  1616. arch/arm64/boot/dts/renesas/salvator-x.dtsi +3 −4
  1617. arch/arm64/boot/dts/renesas/salvator-xs.dtsi +3 −4
  1618. arch/arm64/boot/dts/renesas/ulcb-kf.dtsi +1 −4
  1619. arch/arm64/boot/dts/renesas/ulcb.dtsi +4 −7
  1620. arch/arm64/boot/dts/rockchip/Makefile +2 −0
  1621. arch/arm64/boot/dts/rockchip/rk3328-evb.dts +1 −38
  1622. arch/arm64/boot/dts/rockchip/rk3328-rock64.dts +1 −38
  1623. arch/arm64/boot/dts/rockchip/rk3328.dtsi +5 −39
  1624. arch/arm64/boot/dts/rockchip/rk3368-evb-act8846.dts +1 −38
  1625. arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi +1 −38
  1626. arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts +1 −38
  1627. arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts +1 −38
  1628. arch/arm64/boot/dts/rockchip/rk3368-px5-evb.dts +1 −38
  1629. arch/arm64/boot/dts/rockchip/rk3368-r88.dts +1 −38
  1630. arch/arm64/boot/dts/rockchip/rk3368.dtsi +7 −40
  1631. arch/arm64/boot/dts/rockchip/rk3399-evb.dts +1 −38
  1632. arch/arm64/boot/dts/rockchip/rk3399-ficus.dts +599 −0
  1633. arch/arm64/boot/dts/rockchip/rk3399-firefly.dts +45 −41
  1634. arch/arm64/boot/dts/rockchip/rk3399-gru-bob.dts +79 −0
  1635. arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi +397 −0
  1636. arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts +6 −80
  1637. arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi +4 −363
  1638. arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi +1 −38
  1639. arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi +1 −38
  1640. arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts +1 −38
  1641. arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi +1 −39
  1642. arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts +1 −40
  1643. arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi +5 −39
  1644. arch/arm64/boot/dts/rockchip/rk3399.dtsi +99 −62
  1645. arch/arm64/boot/dts/socionext/uniphier-ld11-global.dts +1 −0
  1646. arch/arm64/boot/dts/socionext/uniphier-ld20-global.dts +1 −0
  1647. arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi +2 −0
  1648. arch/arm64/boot/dts/sprd/sc2731.dtsi +44 −0
  1649. arch/arm64/boot/dts/sprd/sc9860.dtsi +1 −1
  1650. arch/arm64/boot/dts/sprd/whale2.dtsi +6 −0
  1651. arch/arm64/boot/dts/ti/Makefile +9 −0
  1652. arch/arm64/boot/dts/ti/k3-am65-main.dtsi +31 −0
  1653. arch/arm64/boot/dts/ti/k3-am65.dtsi +87 −0
  1654. arch/arm64/boot/dts/ti/k3-am654-base-board.dts +36 −0
  1655. arch/arm64/boot/dts/ti/k3-am654.dtsi +115 −0
  1656. arch/arm64/boot/dts/xilinx/Makefile +1 −1
  1657. arch/arm64/boot/dts/xilinx/avnet-ultra96-rev1.dts +19 −0
  1658. arch/arm64/boot/dts/xilinx/zynqmp-ep108-clk.dtsi +0 −137
  1659. arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts +0 −154
  1660. arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts +4 −8
  1661. arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts +0 −2
  1662. arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts +0 −2
  1663. arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts +0 −2
  1664. arch/arm64/boot/dts/xilinx/zynqmp.dtsi +1 −1
  1665. arch/arm64/configs/defconfig +26 −2
  1666. arch/arm64/crypto/aes-ce-ccm-core.S +55 −95
  1667. arch/arm64/crypto/aes-glue.c +0 −3
  1668. arch/arm64/crypto/ghash-ce-core.S +203 −116
  1669. arch/arm64/crypto/ghash-ce-glue.c +129 −73
  1670. arch/arm64/crypto/sha1-ce-glue.c +0 −1
  1671. arch/arm64/crypto/sha2-ce-glue.c +0 −2
  1672. arch/arm64/crypto/sha256-glue.c +2 −6
  1673. arch/arm64/crypto/sha3-ce-glue.c +0 −4
  1674. arch/arm64/crypto/sha512-ce-glue.c +0 −2
  1675. arch/arm64/crypto/sha512-glue.c +0 −2
  1676. arch/arm64/crypto/sm3-ce-glue.c +0 −1
  1677. arch/arm64/include/asm/Kbuild +1 −0
  1678. arch/arm64/include/asm/acpi.h +20 −9
  1679. arch/arm64/include/asm/atomic.h +1 −46
  1680. arch/arm64/include/asm/barrier.h +13 −0
  1681. arch/arm64/include/asm/bitops.h +3 −18
  1682. arch/arm64/include/asm/cache.h +4 −0
  1683. arch/arm64/include/asm/cacheflush.h +26 −1
  1684. arch/arm64/include/asm/cpucaps.h +3 −1
  1685. arch/arm64/include/asm/efi.h +3 −0
  1686. arch/arm64/include/asm/fpsimd.h +16 −1
  1687. arch/arm64/include/asm/hw_breakpoint.h +5 −2
  1688. arch/arm64/include/asm/insn.h +0 −2
  1689. arch/arm64/include/asm/irq.h +0 −2
  1690. arch/arm64/include/asm/kprobes.h +0 −1
  1691. arch/arm64/include/asm/kvm_arm.h +1 −0
  1692. arch/arm64/include/asm/kvm_emulate.h +22 −5
  1693. arch/arm64/include/asm/kvm_host.h +15 −13
  1694. arch/arm64/include/asm/kvm_mmu.h +27 −8
  1695. arch/arm64/include/asm/memory.h +7 −0
  1696. arch/arm64/include/asm/neon.h +0 −7
  1697. arch/arm64/include/asm/numa.h +4 −0
  1698. arch/arm64/include/asm/pgtable-prot.h +22 −2
  1699. arch/arm64/include/asm/processor.h +18 −3
  1700. arch/arm64/include/asm/ptrace.h +53 −26
  1701. arch/arm64/include/asm/sdei.h +6 −3
  1702. arch/arm64/include/asm/simd.h +7 −12
  1703. arch/arm64/include/asm/spinlock.h +1 −116
  1704. arch/arm64/include/asm/spinlock_types.h +1 −16
  1705. arch/arm64/include/asm/stacktrace.h +61 −12
  1706. arch/arm64/include/asm/syscall.h +7 −1
  1707. arch/arm64/include/asm/syscall_wrapper.h +80 −0
  1708. arch/arm64/include/asm/sysreg.h +13 −20
  1709. arch/arm64/include/asm/tlb.h +3 −1
  1710. arch/arm64/include/asm/tlbflush.h +7 −0
  1711. arch/arm64/include/asm/topology.h +3 −1
  1712. arch/arm64/include/asm/unistd.h +1 −1
  1713. arch/arm64/include/asm/unistd32.h +15 −13
  1714. arch/arm64/include/uapi/asm/kvm.h +13 −0
  1715. arch/arm64/kernel/Makefile +3 −2
  1716. arch/arm64/kernel/acpi.c +3 −8
  1717. arch/arm64/kernel/acpi_numa.c +53 −35
  1718. arch/arm64/kernel/alternative.c +2 −2
  1719. arch/arm64/kernel/armv8_deprecated.c +16 −16
  1720. arch/arm64/kernel/cpu-reset.h +5 −4
  1721. arch/arm64/kernel/cpu_errata.c +20 −10
  1722. arch/arm64/kernel/cpufeature.c +24 −4
  1723. arch/arm64/kernel/entry.S +23 −137
  1724. arch/arm64/kernel/entry32.S +0 −121
  1725. arch/arm64/kernel/fpsimd.c +0 −19
  1726. arch/arm64/kernel/hw_breakpoint.c +43 −43
  1727. arch/arm64/kernel/insn.c +3 −67
  1728. arch/arm64/kernel/irq.c +0 −10
  1729. arch/arm64/kernel/jump_label.c +1 −1
  1730. arch/arm64/kernel/machine_kexec.c +11 −4
  1731. arch/arm64/kernel/perf_event.c +231 −50
  1732. arch/arm64/kernel/probes/kprobes.c +6 −82
  1733. arch/arm64/kernel/process.c +32 −10
  1734. arch/arm64/kernel/ptrace.c +36 −25
  1735. arch/arm64/kernel/sdei.c +39 −9
  1736. arch/arm64/kernel/setup.c +38 −0
  1737. arch/arm64/kernel/signal.c +6 −2
  1738. arch/arm64/kernel/signal32.c +15 −9
  1739. arch/arm64/kernel/smp.c +33 −11
  1740. arch/arm64/kernel/stacktrace.c +1 −1
  1741. arch/arm64/kernel/sys.c +16 −13
  1742. arch/arm64/kernel/sys32.c +116 −19
  1743. arch/arm64/kernel/syscall.c +139 −0
  1744. arch/arm64/kernel/topology.c +41 −17
  1745. arch/arm64/kernel/traps.c +1 −17
  1746. arch/arm64/kernel/vdso/note.S +3 −0
  1747. arch/arm64/kvm/guest.c +40 −7
  1748. arch/arm64/kvm/hyp-init.S +3 −3
  1749. arch/arm64/kvm/hyp/Makefile +2 −1
  1750. arch/arm64/kvm/hyp/sysreg-sr.c +0 −5
  1751. arch/arm64/kvm/hyp/vgic-v2-cpuif-proxy.c +1 −1
  1752. arch/arm64/kvm/inject_fault.c +3 −3
  1753. arch/arm64/kvm/regmap.c +11 −11
  1754. arch/arm64/kvm/reset.c +6 −2
  1755. arch/arm64/kvm/sys_regs.c +49 −5
  1756. arch/arm64/lib/Makefile +1 −1
  1757. arch/arm64/lib/bitops.S +0 −76
  1758. arch/arm64/mm/cache.S +2 −2
  1759. arch/arm64/mm/dma-mapping.c +2 −2
  1760. arch/arm64/mm/fault.c +5 −10
  1761. arch/arm64/mm/flush.c +2 −1
  1762. arch/arm64/mm/hugetlbpage.c +4 −3
  1763. arch/arm64/mm/init.c +8 −2
  1764. arch/arm64/mm/mmu.c +44 −4
  1765. arch/arm64/mm/numa.c +21 −8
  1766. arch/arm64/mm/ptdump_debugfs.c +1 −12
  1767. arch/c6x/Kconfig +0 −41
  1768. arch/c6x/Kconfig.debug +10 −0
  1769. arch/c6x/Makefile +1 −2
  1770. arch/h8300/Kconfig +1 −36
  1771. arch/h8300/Kconfig.debug +1 −0
  1772. arch/h8300/Makefile +5 −1
  1773. arch/h8300/boot/dts/h8300h_sim.dts +1 −1
  1774. arch/h8300/include/asm/atomic.h +4 −15
  1775. arch/h8300/include/asm/bitops.h +7 −7
  1776. arch/h8300/include/asm/ptrace.h +2 −0
  1777. arch/h8300/kernel/kgdb.c +1 −1
  1778. arch/h8300/kernel/setup.c +8 −38
  1779. arch/h8300/kernel/sim-console.c +4 −3
  1780. arch/hexagon/Kconfig +1 −20
  1781. arch/hexagon/Kconfig.debug +1 −0
  1782. arch/hexagon/Makefile +1 −3
  1783. arch/hexagon/include/asm/atomic.h +3 −15
  1784. arch/hexagon/mm/vm_fault.c +1 −1
  1785. arch/ia64/Kconfig +2 −24
  1786. arch/ia64/Kconfig.debug +0 −5
  1787. arch/ia64/hp/common/sba_iommu.c +2 −2
  1788. arch/ia64/include/asm/atomic.h +0 −81
  1789. arch/ia64/include/asm/io.h +13 −1
  1790. arch/ia64/include/asm/kprobes.h +0 −2
  1791. arch/ia64/include/asm/tlb.h +3 −4
  1792. arch/ia64/include/uapi/asm/break.h +0 −1
  1793. arch/ia64/include/uapi/asm/socket.h +3 −0
  1794. arch/ia64/kernel/Makefile +1 −1
  1795. arch/ia64/kernel/asm-offsets.c +2 −2
  1796. arch/ia64/kernel/fsys.S +6 −6
  1797. arch/ia64/kernel/jprobes.S +0 −90
  1798. arch/ia64/kernel/kprobes.c +4 −89
  1799. arch/ia64/kernel/perfmon.c +2 −4
  1800. arch/ia64/kernel/setup.c +10 −1
  1801. arch/ia64/mm/contig.c +6 −69
  1802. arch/ia64/mm/discontig.c +16 −118
  1803. arch/ia64/mm/fault.c +1 −1
  1804. arch/ia64/mm/init.c +7 −9
  1805. arch/m68k/Kconfig +6 −30
  1806. arch/m68k/Kconfig.debug +0 −5
  1807. arch/m68k/Makefile +1 −1
  1808. arch/m68k/apollo/config.c +0 −8
  1809. arch/m68k/atari/config.c +0 −5
  1810. arch/m68k/atari/time.c +0 −63
  1811. arch/m68k/bvme6000/config.c +0 −45
  1812. arch/m68k/coldfire/clk.c +29 −0
  1813. arch/m68k/configs/amiga_defconfig +20 −12
  1814. arch/m68k/configs/apollo_defconfig +18 −12
  1815. arch/m68k/configs/atari_defconfig +17 −12
  1816. arch/m68k/configs/bvme6000_defconfig +18 −12
  1817. arch/m68k/configs/hp300_defconfig +18 −12
  1818. arch/m68k/configs/mac_defconfig +19 −13
  1819. arch/m68k/configs/multi_defconfig +21 −13
  1820. arch/m68k/configs/mvme147_defconfig +18 −12
  1821. arch/m68k/configs/mvme16x_defconfig +18 −12
  1822. arch/m68k/configs/q40_defconfig +18 −12
  1823. arch/m68k/configs/sun3_defconfig +17 −11
  1824. arch/m68k/configs/sun3x_defconfig +18 −12
  1825. arch/m68k/include/asm/Kbuild +1 −0
  1826. arch/m68k/include/asm/atomic.h +6 −18
  1827. arch/m68k/include/asm/bitops.h +11 −3
  1828. arch/m68k/include/asm/dma-mapping.h +0 −12
  1829. arch/m68k/include/asm/dma.h +2 −2
  1830. arch/m68k/include/asm/io.h +7 −0
  1831. arch/m68k/include/asm/io_mm.h +3 −39
  1832. arch/m68k/include/asm/io_no.h +0 −12
  1833. arch/m68k/include/asm/kmap.h +8 −1
  1834. arch/m68k/include/asm/machdep.h +0 −1
  1835. arch/m68k/include/asm/macintosh.h +0 −1
  1836. arch/m68k/include/asm/mcf_pgalloc.h +3 −1
  1837. arch/m68k/include/asm/page_no.h +1 −1
  1838. arch/m68k/kernel/dma.c +8 −60
  1839. arch/m68k/kernel/setup_mm.c +4 −11
  1840. arch/m68k/kernel/setup_no.c +4 −17
  1841. arch/m68k/mac/config.c +2 −21
  1842. arch/m68k/mac/misc.c +46 −88
  1843. arch/m68k/mm/fault.c +2 −2
  1844. arch/m68k/mm/init.c +0 −1
  1845. arch/m68k/mm/mcfmmu.c +7 −6
  1846. arch/m68k/mm/motorola.c +11 −24
  1847. arch/m68k/mvme147/config.c +0 −7
  1848. arch/m68k/mvme16x/config.c +0 −8
  1849. arch/m68k/q40/config.c +0 −30
  1850. arch/m68k/sun3/config.c +0 −4
  1851. arch/microblaze/Kconfig +5 −31
  1852. arch/microblaze/Kconfig.debug +0 −6
  1853. arch/microblaze/Makefile +2 −2
  1854. arch/microblaze/include/asm/Kbuild +1 −0
  1855. arch/microblaze/include/asm/dma-mapping.h +0 −28
  1856. arch/microblaze/include/asm/pgtable.h +0 −5
  1857. arch/microblaze/kernel/dma.c +12 −132
  1858. arch/microblaze/kernel/head.S +0 −5
  1859. arch/microblaze/mm/consistent.c +5 −49
  1860. arch/microblaze/mm/fault.c +1 −1
  1861. arch/microblaze/pci/pci-common.c +0 −13
  1862. arch/microblaze/pci/xilinx_pci.c +1 −0
  1863. arch/mips/Kconfig +28 −55
  1864. arch/mips/Kconfig.debug +0 −5
  1865. arch/mips/Makefile +15 −9
  1866. arch/mips/alchemy/board-gpr.c +2 −1
  1867. arch/mips/alchemy/board-mtx1.c +2 −1
  1868. arch/mips/alchemy/board-xxs1500.c +2 −1
  1869. arch/mips/alchemy/devboards/platform.c +2 −1
  1870. arch/mips/ar7/clock.c +29 −0
  1871. arch/mips/ar7/prom.c +2 −2
  1872. arch/mips/ath25/Kconfig +1 −0
  1873. arch/mips/ath25/board.c +3 −3
  1874. arch/mips/ath25/early_printk.c +3 −2
  1875. arch/mips/ath79/clock.c +193 −0
  1876. arch/mips/ath79/common.c +9 −1
  1877. arch/mips/ath79/early_printk.c +56 −8
  1878. arch/mips/ath79/setup.c +32 −3
  1879. arch/mips/bcm47xx/setup.c +0 −6
  1880. arch/mips/bcm63xx/early_printk.c +1 −0
  1881. arch/mips/bmips/dma.c +19 −13
  1882. arch/mips/bmips/setup.c +0 −7
  1883. arch/mips/boot/Makefile +25 −27
  1884. arch/mips/boot/compressed/Makefile +1 −1
  1885. arch/mips/boot/compressed/uart-prom.c +1 −2
  1886. arch/mips/boot/dts/ingenic/jz4780.dtsi +19 −0
  1887. arch/mips/boot/dts/mscc/Makefile +1 −1
  1888. arch/mips/boot/dts/mscc/ocelot.dtsi +31 −1
  1889. arch/mips/boot/dts/mscc/ocelot_pcb123.dts +10 −0
  1890. arch/mips/boot/dts/qca/ar9132.dtsi +1 −1
  1891. arch/mips/boot/dts/qca/ar9132_tl_wr1043nd_v1.dts +1 −2
  1892. arch/mips/boot/dts/qca/ar9331.dtsi +1 −1
  1893. arch/mips/boot/dts/qca/ar9331_dpt_module.dts +2 −3
  1894. arch/mips/boot/dts/qca/ar9331_dragino_ms14.dts +2 −3
  1895. arch/mips/boot/dts/qca/ar9331_omega.dts +2 −3
  1896. arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts +2 −3
  1897. arch/mips/boot/ecoff.h +32 −29
  1898. arch/mips/boot/elf2ecoff.c +16 −15
  1899. arch/mips/cavium-octeon/crypto/octeon-md5.c +0 −1
  1900. arch/mips/cavium-octeon/crypto/octeon-sha1.c +0 −1
  1901. arch/mips/cavium-octeon/crypto/octeon-sha256.c +0 −2
  1902. arch/mips/cavium-octeon/crypto/octeon-sha512.c +0 −2
  1903. arch/mips/cavium-octeon/dma-octeon.c +54 −137
  1904. arch/mips/cavium-octeon/executive/cvmx-helper-rgmii.c +1 −4
  1905. arch/mips/cavium-octeon/executive/cvmx-helper-sgmii.c +2 −5
  1906. arch/mips/cavium-octeon/executive/cvmx-helper-spi.c +3 −5
  1907. arch/mips/cavium-octeon/executive/cvmx-helper-xaui.c +2 −5
  1908. arch/mips/cavium-octeon/octeon-irq.c +1 −1
  1909. arch/mips/cavium-octeon/octeon-platform.c +3 −1
  1910. arch/mips/cavium-octeon/setup.c +2 −6
  1911. arch/mips/configs/bcm47xx_defconfig +0 −1
  1912. arch/mips/configs/ci20_defconfig +2 −0
  1913. arch/mips/configs/generic_defconfig +0 −3
  1914. arch/mips/configs/malta_defconfig +1 −0
  1915. arch/mips/configs/malta_kvm_defconfig +1 −0
  1916. arch/mips/configs/malta_kvm_guest_defconfig +1 −0
  1917. arch/mips/configs/malta_qemu_32r6_defconfig +1 −0
  1918. arch/mips/configs/maltaaprp_defconfig +1 −0
  1919. arch/mips/configs/maltasmvp_defconfig +1 −0
  1920. arch/mips/configs/maltasmvp_eva_defconfig +1 −0
  1921. arch/mips/configs/maltaup_defconfig +1 −0
  1922. arch/mips/configs/maltaup_xpa_defconfig +1 −0
  1923. arch/mips/fw/arc/arc_con.c +1 −0
  1924. arch/mips/fw/arc/promlib.c +1 −0
  1925. arch/mips/fw/sni/sniprom.c +1 −0
  1926. arch/mips/generic/Kconfig +10 −2
  1927. arch/mips/generic/Platform +1 −0
  1928. arch/mips/generic/board-ocelot_pcb123.its.S +23 −0
  1929. arch/mips/generic/init.c +1 −13
  1930. arch/mips/generic/yamon-dt.c +0 −4
  1931. arch/mips/include/asm/Kbuild +1 −0
  1932. arch/mips/include/asm/asm-prototypes.h +1 −0
  1933. arch/mips/include/asm/atomic.h +39 −332
  1934. arch/mips/include/asm/bmips.h +0 −16
  1935. arch/mips/include/asm/compiler.h +35 −0
  1936. arch/mips/include/asm/cpu-features.h +107 −69
  1937. arch/mips/include/asm/cpu.h +26 −25
  1938. arch/mips/include/asm/dma-coherence.h +3 −3
  1939. arch/mips/include/asm/dma-direct.h +16 −1
  1940. arch/mips/include/asm/dma-mapping.h +11 −9
  1941. arch/mips/include/asm/io.h +26 −14
  1942. arch/mips/include/asm/kprobes.h +0 −13
  1943. arch/mips/include/asm/mach-ar7/spaces.h +0 −3
  1944. arch/mips/include/asm/mach-ath25/dma-coherence.h +0 −76
  1945. arch/mips/include/asm/mach-ath79/ar71xx_regs.h +770 −1
  1946. arch/mips/include/asm/mach-ath79/ath79.h +34 −0
  1947. arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h +6 −0
  1948. arch/mips/include/asm/mach-bmips/dma-coherence.h +0 −54
  1949. arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h +0 −79
  1950. arch/mips/include/asm/mach-generic/dma-coherence.h +0 −73
  1951. arch/mips/include/asm/mach-generic/kmalloc.h +1 −2
  1952. arch/mips/include/asm/mach-generic/spaces.h +7 −3
  1953. arch/mips/include/asm/mach-ip27/dma-coherence.h +0 −70
  1954. arch/mips/include/asm/mach-ip32/dma-coherence.h +0 −92
  1955. arch/mips/include/asm/mach-jazz/dma-coherence.h +0 −60
  1956. arch/mips/include/asm/mach-loongson64/dma-coherence.h +0 −93
  1957. arch/mips/include/asm/mach-loongson64/kernel-entry-init.h +12 −12
  1958. arch/mips/include/asm/mach-pic32/spaces.h +0 −1
  1959. arch/mips/include/asm/mipsregs.h +19 −13
  1960. arch/mips/include/asm/mmu_context.h +1 −2
  1961. arch/mips/include/asm/netlogic/xlr/fmn.h +0 −2
  1962. arch/mips/include/asm/octeon/cvmx-asxx-defs.h +3 −1
  1963. arch/mips/include/asm/octeon/cvmx-ciu-defs.h +112 −9950
  1964. arch/mips/include/asm/octeon/cvmx-gmxx-defs.h +3 −1
  1965. arch/mips/include/asm/octeon/cvmx-pcsx-defs.h +3 −1
  1966. arch/mips/include/asm/octeon/cvmx-pcsxx-defs.h +3 −1
  1967. arch/mips/include/asm/octeon/cvmx-spxx-defs.h +3 −1
  1968. arch/mips/include/asm/octeon/cvmx-stxx-defs.h +3 −1
  1969. arch/mips/include/asm/octeon/octeon.h +4 −5
  1970. arch/mips/include/asm/octeon/pci-octeon.h +3 −0
  1971. arch/mips/include/asm/page.h +8 −3
  1972. arch/mips/include/asm/processor.h +14 −1
  1973. arch/mips/include/asm/setup.h +2 −0
  1974. arch/mips/include/asm/sgialib.h +0 −1
  1975. arch/mips/include/asm/sim.h +0 −12
  1976. arch/mips/include/asm/smp.h +11 −1
  1977. arch/mips/include/asm/tlbex.h +9 −0
  1978. arch/mips/include/asm/txx9/generic.h +0 −1
  1979. arch/mips/include/asm/txx9/tx4939.h +0 −29
  1980. arch/mips/include/uapi/asm/socket.h +3 −0
  1981. arch/mips/jazz/jazzdma.c +140 −1
  1982. arch/mips/jazz/setup.c +15 −2
  1983. arch/mips/jz4740/Platform +1 −1
  1984. arch/mips/jz4740/board-qi_lb60.c +2 −1
  1985. arch/mips/kernel/cpu-probe.c +2 −1
  1986. arch/mips/kernel/early_printk.c +0 −2
  1987. arch/mips/kernel/early_printk_8250.c +1 −0
  1988. arch/mips/kernel/genex.S +46 −0
  1989. arch/mips/kernel/idle.c +6 −6
  1990. arch/mips/kernel/kprobes.c +9 −61
  1991. arch/mips/kernel/linux32.c +0 −29
  1992. arch/mips/kernel/process.c +71 −52
  1993. arch/mips/kernel/ptrace.c +253 −1
  1994. arch/mips/kernel/ptrace32.c +1 −1
  1995. arch/mips/kernel/relocate_kernel.S +2 −2
  1996. arch/mips/kernel/setup.c +36 −2
  1997. arch/mips/kernel/signal.c +14 −10
  1998. arch/mips/kernel/signal_n32.c +7 −5
  1999. arch/mips/kernel/signal_o32.c +14 −10
  2000. arch/mips/kernel/traps.c +2 −10
  2001. arch/mips/kernel/uprobes.c +1 −1
  2002. arch/mips/kvm/mips.c +2 −2
  2003. arch/mips/lantiq/early_printk.c +1 −0
  2004. arch/mips/lantiq/prom.c +0 −8
  2005. arch/mips/lantiq/xway/dma.c +1 −2
  2006. arch/mips/lasat/image/Makefile +1 −1
  2007. arch/mips/lasat/prom.c +1 −0
  2008. arch/mips/lib/memset.S +20 −1
  2009. arch/mips/lib/multi3.c +3 −3
  2010. arch/mips/loongson32/Platform +2 −6
  2011. arch/mips/loongson64/Kconfig +0 −5
  2012. arch/mips/loongson64/common/Makefile +1 −5
  2013. arch/mips/loongson64/common/cs5536/cs5536_ohci.c +1 −1
  2014. arch/mips/loongson64/common/dma-swiotlb.c +0 −109
  2015. arch/mips/loongson64/common/dma.c +18 −0
  2016. arch/mips/loongson64/common/early_printk.c +1 −0
  2017. arch/mips/loongson64/common/env.c +2 −1
  2018. arch/mips/loongson64/loongson-3/Makefile +1 −1
  2019. arch/mips/loongson64/loongson-3/dma.c +25 −0
  2020. arch/mips/loongson64/loongson-3/smp.c +2 −1
  2021. arch/mips/mm/Makefile +2 −1
  2022. arch/mips/mm/c-r4k.c +14 −4
  2023. arch/mips/mm/cache.c +2 −2
  2024. arch/mips/mm/dma-default.c +0 −404
  2025. arch/mips/mm/dma-noncoherent.c +208 −0
  2026. arch/mips/mm/fault.c +1 −1
  2027. arch/mips/mm/ioremap.c +25 −12
  2028. arch/mips/mm/page.c +0 −15
  2029. arch/mips/mm/tlb-funcs.S +2 −1
  2030. arch/mips/mm/tlbex.c +41 −62
  2031. arch/mips/mm/uasm-micromips.c +0 −1
  2032. arch/mips/mm/uasm-mips.c +0 −1
  2033. arch/mips/mti-malta/Makefile +0 −2
  2034. arch/mips/mti-malta/malta-pm.c +0 −96
  2035. arch/mips/mti-malta/malta-reset.c +0 −30
  2036. arch/mips/mti-malta/malta-setup.c +1 −38
  2037. arch/mips/netlogic/common/earlycons.c +1 −0
  2038. arch/mips/netlogic/xlp/dt.c +0 −14
  2039. arch/mips/paravirt/serial.c +2 −3
  2040. arch/mips/pci/ops-bridge.c +2 −2
  2041. arch/mips/pci/pci-ar2315.c +24 −0
  2042. arch/mips/pci/pci-ar724x.c +42 −0
  2043. arch/mips/pci/pci-ip27.c +14 −11
  2044. arch/mips/pci/pci-octeon.c +0 −4
  2045. arch/mips/pci/pci.c +1 −1
  2046. arch/mips/pci/pcie-octeon.c +2 −4
  2047. arch/mips/pic32/pic32mzda/early_console.c +2 −3
  2048. arch/mips/ralink/early_printk.c +4 −3
  2049. arch/mips/sgi-ip27/ip27-console.c +1 −0
  2050. arch/mips/sgi-ip32/Makefile +1 −1
  2051. arch/mips/sgi-ip32/ip32-dma.c +37 −0
  2052. arch/mips/sibyte/Kconfig +0 −1
  2053. arch/mips/sibyte/common/cfe.c +1 −0
  2054. arch/mips/txx9/generic/setup.c +2 −1
  2055. arch/mips/txx9/generic/setup_tx4938.c +1 −1
  2056. arch/mips/txx9/generic/setup_tx4939.c +1 −1
  2057. arch/mips/vdso/Makefile +8 −1
  2058. arch/mips/vdso/genvdso.h +0 −51
  2059. arch/mips/vr41xx/common/pmu.c +2 −1
  2060. arch/nds32/Kconfig +6 −27
  2061. arch/nds32/Kconfig.debug +1 −0
  2062. arch/nds32/Makefile +4 −2
  2063. arch/nds32/include/asm/cacheflush.h +7 −2
  2064. arch/nds32/include/asm/futex.h +1 −1
  2065. arch/nds32/kernel/setup.c +2 −1
  2066. arch/nds32/mm/cacheflush.c +40 −60
  2067. arch/nds32/mm/fault.c +1 −1
  2068. arch/nios2/Kconfig +4 −31
  2069. arch/nios2/Kconfig.debug +0 −5
  2070. arch/nios2/include/asm/Kbuild +1 −0
  2071. arch/nios2/include/asm/dma-mapping.h +0 −20
  2072. arch/nios2/mm/dma-mapping.c +13 −126
  2073. arch/nios2/mm/fault.c +1 −1
  2074. arch/openrisc/Kconfig +3 −34
  2075. arch/openrisc/Kconfig.debug +1 −0
  2076. arch/openrisc/Makefile +0 −1
  2077. arch/openrisc/include/asm/Kbuild +1 −0
  2078. arch/openrisc/include/asm/atomic.h +2 −2
  2079. arch/openrisc/include/asm/cmpxchg.h +2 −1
  2080. arch/openrisc/include/asm/dma-mapping.h +0 −35
  2081. arch/openrisc/include/asm/irq.h +0 −2
  2082. arch/openrisc/include/asm/pgalloc.h +5 −1
  2083. arch/openrisc/kernel/dma.c +9 −98
  2084. arch/openrisc/kernel/entry.S +1 −7
  2085. arch/openrisc/kernel/head.S +6 −3
  2086. arch/openrisc/kernel/irq.c +0 −7
  2087. arch/openrisc/kernel/traps.c +1 −1
  2088. arch/openrisc/mm/fault.c +1 −1
  2089. arch/parisc/Kconfig +6 −29
  2090. arch/parisc/Kconfig.debug +0 −5
  2091. arch/parisc/include/asm/assembly.h +2 −0
  2092. arch/parisc/include/asm/atomic.h +0 −107
  2093. arch/parisc/include/asm/barrier.h +32 −0
  2094. arch/parisc/include/asm/dma-mapping.h +0 −5
  2095. arch/parisc/include/asm/elf.h +6 −3
  2096. arch/parisc/include/asm/linkage.h +11 −15
  2097. arch/parisc/include/asm/processor.h +1 −5
  2098. arch/parisc/include/asm/ptrace.h +11 −0
  2099. arch/parisc/include/asm/spinlock.h +2 −6
  2100. arch/parisc/include/asm/traps.h +3 −1
  2101. arch/parisc/include/asm/unwind.h +7 −2
  2102. arch/parisc/include/uapi/asm/errno.h +0 −1
  2103. arch/parisc/include/uapi/asm/socket.h +3 −0
  2104. arch/parisc/kernel/entry.S +54 −64
  2105. arch/parisc/kernel/pacache.S +1 −125
  2106. arch/parisc/kernel/pci-dma.c +34 −165
  2107. arch/parisc/kernel/process.c +1 −1
  2108. arch/parisc/kernel/processor.c +2 −0
  2109. arch/parisc/kernel/ptrace.c +100 −0
  2110. arch/parisc/kernel/real2.S +0 −6
  2111. arch/parisc/kernel/setup.c +3 −5
  2112. arch/parisc/kernel/stacktrace.c +1 −14
  2113. arch/parisc/kernel/sys_parisc.c +0 −5
  2114. arch/parisc/kernel/syscall.S +37 −26
  2115. arch/parisc/kernel/traps.c +7 −32
  2116. arch/parisc/kernel/unwind.c +77 −51
  2117. arch/parisc/lib/lusercopy.S +0 −21
  2118. arch/parisc/mm/fault.c +1 −1
  2119. arch/parisc/mm/init.c +3 −8
  2120. arch/powerpc/Kconfig +9 −26
  2121. arch/powerpc/Kconfig.debug +0 −5
  2122. arch/powerpc/Makefile +33 −23
  2123. arch/powerpc/boot/Makefile +1 −1
  2124. arch/powerpc/boot/dts/ac14xx.dts +10 −10
  2125. arch/powerpc/boot/dts/fsl/kmcent2.dts +1 −1
  2126. arch/powerpc/boot/dts/fsl/qoriq-fman-0.dtsi +9 −6
  2127. arch/powerpc/boot/dts/fsl/qoriq-fman-1.dtsi +9 −6
  2128. arch/powerpc/boot/dts/fsl/qoriq-fman3-0.dtsi +9 −6
  2129. arch/powerpc/boot/dts/fsl/qoriq-fman3-1.dtsi +9 −6
  2130. arch/powerpc/boot/dts/fsl/qoriq-fman3l-0.dtsi +9 −6
  2131. arch/powerpc/boot/dts/fsl/t2080rdb.dts +2 −2
  2132. arch/powerpc/boot/dts/fsl/t4240rdb.dts +4 −4
  2133. arch/powerpc/boot/dts/pdm360ng.dts +1 −1
  2134. arch/powerpc/configs/book3s_32.config +2 −0
  2135. arch/powerpc/configs/dpaa.config +1 −0
  2136. arch/powerpc/configs/wii_defconfig +0 −1
  2137. arch/powerpc/crypto/md5-asm.S +1 −0
  2138. arch/powerpc/crypto/md5-glue.c +0 −1
  2139. arch/powerpc/crypto/sha1-powerpc-asm.S +1 −0
  2140. arch/powerpc/crypto/sha1-spe-glue.c +0 −1
  2141. arch/powerpc/crypto/sha1.c +0 −1
  2142. arch/powerpc/crypto/sha256-spe-glue.c +0 −2
  2143. arch/powerpc/include/asm/asm-405.h +19 −0
  2144. arch/powerpc/include/asm/asm-compat.h +1 −25
  2145. arch/powerpc/include/asm/asm-const.h +14 −0
  2146. arch/powerpc/include/asm/asm-prototypes.h +9 −2
  2147. arch/powerpc/include/asm/atomic.h +21 −49
  2148. arch/powerpc/include/asm/barrier.h +11 −3
  2149. arch/powerpc/include/asm/bitops.h +1 −0
  2150. arch/powerpc/include/asm/book3s/32/pgtable.h +0 −7
  2151. arch/powerpc/include/asm/book3s/32/tlbflush.h +25 −0
  2152. arch/powerpc/include/asm/book3s/64/hash-64k.h +2 −3
  2153. arch/powerpc/include/asm/book3s/64/hash.h +2 −0
  2154. arch/powerpc/include/asm/book3s/64/hugetlb.h +0 −20
  2155. arch/powerpc/include/asm/book3s/64/mmu-hash.h +14 −1
  2156. arch/powerpc/include/asm/book3s/64/pgalloc.h +28 −2
  2157. arch/powerpc/include/asm/book3s/64/pgtable.h +19 −4
  2158. arch/powerpc/include/asm/book3s/64/radix.h +10 −30
  2159. arch/powerpc/include/asm/book3s/64/tlbflush-radix.h +0 −2
  2160. arch/powerpc/include/asm/book3s/tlbflush.h +11 −0
  2161. arch/powerpc/include/asm/cacheflush.h +0 −1
  2162. arch/powerpc/include/asm/cmpxchg.h +1 −1
  2163. arch/powerpc/include/asm/code-patching-asm.h +18 −0
  2164. arch/powerpc/include/asm/code-patching.h +3 −0
  2165. arch/powerpc/include/asm/copro.h +3 −1
  2166. arch/powerpc/include/asm/cpuidle.h +13 −0
  2167. arch/powerpc/include/asm/cputable.h +10 −19
  2168. arch/powerpc/include/asm/cputime.h +0 −1
  2169. arch/powerpc/include/asm/dbell.h +1 −1
  2170. arch/powerpc/include/asm/dcr-native.h +1 −0
  2171. arch/powerpc/include/asm/debug.h +0 −1
  2172. arch/powerpc/include/asm/dt_cpu_ftrs.h +0 −2
  2173. arch/powerpc/include/asm/eeh.h +8 −7
  2174. arch/powerpc/include/asm/exception-64s.h +52 −66
  2175. arch/powerpc/include/asm/fadump.h +0 −3
  2176. arch/powerpc/include/asm/feature-fixups.h +2 −0
  2177. arch/powerpc/include/asm/firmware.h +1 −2
  2178. arch/powerpc/include/asm/fixmap.h +0 −1
  2179. arch/powerpc/include/asm/futex.h +1 −1
  2180. arch/powerpc/include/asm/head-64.h +8 −8
  2181. arch/powerpc/include/asm/highmem.h +1 −1
  2182. arch/powerpc/include/asm/hugetlb.h +0 −3
  2183. arch/powerpc/include/asm/hvcall.h +2 −0
  2184. arch/powerpc/include/asm/hw_breakpoint.h +6 −2
  2185. arch/powerpc/include/asm/hw_irq.h +6 −4
  2186. arch/powerpc/include/asm/iommu.h +8 −4
  2187. arch/powerpc/include/asm/jump_label.h +1 −1
  2188. arch/powerpc/include/asm/kprobes.h +0 −12
  2189. arch/powerpc/include/asm/kvm_book3s.h +47 −0
  2190. arch/powerpc/include/asm/kvm_booke_hv_asm.h +2 −0
  2191. arch/powerpc/include/asm/kvm_host.h +16 −10
  2192. arch/powerpc/include/asm/mmu-44x.h +5 −5
  2193. arch/powerpc/include/asm/mmu.h +1 −2
  2194. arch/powerpc/include/asm/mmu_context.h +23 −14
  2195. arch/powerpc/include/asm/nohash/32/pgtable.h +2 −5
  2196. arch/powerpc/include/asm/nohash/64/pgtable.h +5 −14
  2197. arch/powerpc/include/asm/nohash/pgtable.h +3 −6
  2198. arch/powerpc/include/asm/nohash/tlbflush.h +53 −0
  2199. arch/powerpc/include/asm/opal-api.h +3 −1
  2200. arch/powerpc/include/asm/opal.h +6 −0
  2201. arch/powerpc/include/asm/paca.h +3 −5
  2202. arch/powerpc/include/asm/page.h +1 −2
  2203. arch/powerpc/include/asm/page_64.h +2 −0
  2204. arch/powerpc/include/asm/pkeys.h +21 −17
  2205. arch/powerpc/include/asm/pnv-pci.h +0 −7
  2206. arch/powerpc/include/asm/ppc-opcode.h +12 −2
  2207. arch/powerpc/include/asm/ppc_asm.h +1 −0
  2208. arch/powerpc/include/asm/processor.h +2 −3
  2209. arch/powerpc/include/asm/ptrace.h +1 −0
  2210. arch/powerpc/include/asm/reg.h +3 −1
  2211. arch/powerpc/include/asm/reg_a2.h +2 −0
  2212. arch/powerpc/include/asm/reg_fsl_emb.h +2 −0
  2213. arch/powerpc/include/asm/security_features.h +7 −0
  2214. arch/powerpc/include/asm/setup.h +5 −1
  2215. arch/powerpc/include/asm/smp.h +0 −1
  2216. arch/powerpc/include/asm/sparsemem.h +10 −3
  2217. arch/powerpc/include/asm/spinlock.h +1 −1
  2218. arch/powerpc/include/asm/stacktrace.h +13 −0
  2219. arch/powerpc/include/asm/string.h +2 −0
  2220. arch/powerpc/include/asm/synch.h +1 −1
  2221. arch/powerpc/include/asm/thread_info.h +2 −1
  2222. arch/powerpc/include/asm/tlb.h +2 −2
  2223. arch/powerpc/include/asm/tlbflush.h +5 −81
  2224. arch/powerpc/include/asm/topology.h +5 −0
  2225. arch/powerpc/include/asm/uaccess.h +10 −4
  2226. arch/powerpc/include/asm/xive.h +0 −1
  2227. arch/powerpc/kernel/Makefile +10 −7
  2228. arch/powerpc/kernel/asm-offsets.c +0 −1
  2229. arch/powerpc/kernel/cpu_setup_6xx.S +1 −0
  2230. arch/powerpc/kernel/cputable.c +0 −38
  2231. arch/powerpc/kernel/crash.c +0 −1
  2232. arch/powerpc/kernel/dma.c +0 −3
  2233. arch/powerpc/kernel/dt_cpu_ftrs.c +1 −3
  2234. arch/powerpc/kernel/eeh.c +1 −1
  2235. arch/powerpc/kernel/entry_32.S +12 −0
  2236. arch/powerpc/kernel/entry_64.S +64 −0
  2237. arch/powerpc/kernel/exceptions-64e.S +5 −0
  2238. arch/powerpc/kernel/exceptions-64s.S +25 −23
  2239. arch/powerpc/kernel/fadump.c +102 −18
  2240. arch/powerpc/kernel/fpu.S +2 −0
  2241. arch/powerpc/kernel/head_32.S +1 −0
  2242. arch/powerpc/kernel/head_40x.S +1 −0
  2243. arch/powerpc/kernel/head_64.S +1 −0
  2244. arch/powerpc/kernel/head_8xx.S +4 −4
  2245. arch/powerpc/kernel/head_fsl_booke.S +1 −0
  2246. arch/powerpc/kernel/hw_breakpoint.c +23 −24
  2247. arch/powerpc/kernel/idle_6xx.S +1 −0
  2248. arch/powerpc/kernel/idle_book3e.S +6 −1
  2249. arch/powerpc/kernel/idle_book3s.S +4 −50
  2250. arch/powerpc/kernel/idle_e500.S +1 −0
  2251. arch/powerpc/kernel/idle_power4.S +15 −2
  2252. arch/powerpc/kernel/irq.c +31 −10
  2253. arch/powerpc/kernel/kprobes-ftrace.c +14 −58
  2254. arch/powerpc/kernel/kprobes.c +16 −76
  2255. arch/powerpc/kernel/kvm_emul.S +1 −0
  2256. arch/powerpc/kernel/l2cr_6xx.S +1 −0
  2257. arch/powerpc/kernel/machine_kexec.c +7 −1
  2258. arch/powerpc/kernel/machine_kexec_file_64.c +12 −16
  2259. arch/powerpc/kernel/mce_power.c +18 −26
  2260. arch/powerpc/kernel/misc_32.S +1 −0
  2261. arch/powerpc/kernel/misc_64.S +1 −0
  2262. arch/powerpc/kernel/module.c +3 −1
  2263. arch/powerpc/kernel/pci-common.c +3 −4
  2264. arch/powerpc/kernel/ppc_save_regs.S +1 −0
  2265. arch/powerpc/kernel/process.c +44 −20
  2266. arch/powerpc/kernel/prom.c +29 −4
  2267. arch/powerpc/kernel/prom_init.c +7 −5
  2268. arch/powerpc/kernel/security.c +125 −16
  2269. arch/powerpc/kernel/setup-common.c +2 −0
  2270. arch/powerpc/kernel/setup_32.c +7 −4
  2271. arch/powerpc/kernel/setup_64.c +1 −0
  2272. arch/powerpc/kernel/smp.c +32 −23
  2273. arch/powerpc/kernel/swsusp_32.S +1 −0
  2274. arch/powerpc/kernel/swsusp_asm64.S +1 −0
  2275. arch/powerpc/kernel/tm.S +3 −2
  2276. arch/powerpc/kernel/trace/ftrace_64_mprofile.S +5 −34
  2277. arch/powerpc/kernel/traps.c +41 −10
  2278. arch/powerpc/kernel/vdso.c +0 −1
  2279. arch/powerpc/kernel/vdso32/note.S +3 −0
  2280. arch/powerpc/kernel/vector.S +1 −0
  2281. arch/powerpc/kernel/vmlinux.lds.S +3 −1
  2282. arch/powerpc/kernel/watchdog.c +0 −1
  2283. arch/powerpc/kvm/book3s.c +0 −1
  2284. arch/powerpc/kvm/book3s_32_mmu.c +0 −1
  2285. arch/powerpc/kvm/book3s_64_mmu.c +0 −1
  2286. arch/powerpc/kvm/book3s_64_mmu_hv.c +0 −1
  2287. arch/powerpc/kvm/book3s_64_mmu_radix.c +1 −14
  2288. arch/powerpc/kvm/book3s_64_slb.S +3 −0
  2289. arch/powerpc/kvm/book3s_64_vio.c +9 −10
  2290. arch/powerpc/kvm/book3s_64_vio_hv.c +10 −16
  2291. arch/powerpc/kvm/book3s_hv.c +33 −27
  2292. arch/powerpc/kvm/book3s_hv_builtin.c +1 −1
  2293. arch/powerpc/kvm/book3s_hv_interrupts.S +2 −0
  2294. arch/powerpc/kvm/book3s_hv_rm_mmu.c +0 −1
  2295. arch/powerpc/kvm/book3s_hv_rmhandlers.S +4 −14
  2296. arch/powerpc/kvm/book3s_interrupts.S +1 −0
  2297. arch/powerpc/kvm/book3s_pr.c +1 −2
  2298. arch/powerpc/kvm/book3s_rmhandlers.S +1 −0
  2299. arch/powerpc/kvm/book3s_segment.S +3 −0
  2300. arch/powerpc/kvm/book3s_xive.c +13 −8
  2301. arch/powerpc/kvm/book3s_xive_template.c +13 −26
  2302. arch/powerpc/kvm/e500.c +0 −1
  2303. arch/powerpc/kvm/e500mc.c +0 −1
  2304. arch/powerpc/kvm/emulate_loadstore.c +3 −4
  2305. arch/powerpc/kvm/powerpc.c +15 −16
  2306. arch/powerpc/lib/Makefile +1 −1
  2307. arch/powerpc/lib/code-patching.c +16 −0
  2308. arch/powerpc/lib/copy_32.S +6 −3
  2309. arch/powerpc/lib/copypage_64.S +1 −0
  2310. arch/powerpc/lib/copypage_power7.S +2 −2
  2311. arch/powerpc/lib/copyuser_64.S +256 −331
  2312. arch/powerpc/lib/copyuser_power7.S +11 −10
  2313. arch/powerpc/lib/feature-fixups-test.S +1 −0
  2314. arch/powerpc/lib/feature-fixups.c +34 −1
  2315. arch/powerpc/lib/hweight_64.S +1 −0
  2316. arch/powerpc/lib/ldstfp.S +1 −0
  2317. arch/powerpc/lib/locks.c +0 −1
  2318. arch/powerpc/lib/memcmp_64.S +406 −8
  2319. arch/powerpc/lib/memcpy_64.S +9 −2
  2320. arch/powerpc/lib/memcpy_power7.S +14 −14
  2321. arch/powerpc/lib/strlen_32.S +78 −0
  2322. arch/powerpc/lib/vmx-helper.c +2 −2
  2323. arch/powerpc/mm/44x_mmu.c +1 −1
  2324. arch/powerpc/mm/Makefile +2 −2
  2325. arch/powerpc/mm/copro_fault.c +1 −1
  2326. arch/powerpc/mm/dump_hashpagetable.c +1 −2
  2327. arch/powerpc/mm/fault.c +4 −4
  2328. arch/powerpc/mm/hash64_4k.c +4 −4
  2329. arch/powerpc/mm/hash64_64k.c +7 −8
  2330. arch/powerpc/mm/hash_low_32.S +1 −0
  2331. arch/powerpc/mm/hash_native_64.c +41 −37
  2332. arch/powerpc/mm/hash_utils_64.c +4 −37
  2333. arch/powerpc/mm/highmem.c +1 −1
  2334. arch/powerpc/mm/hugepage-hash64.c +4 −5
  2335. arch/powerpc/mm/hugetlbpage.c +7 −19
  2336. arch/powerpc/mm/mmu_context_book3s64.c +13 −56
  2337. arch/powerpc/mm/mmu_context_hash32.c +0 −1
  2338. arch/powerpc/mm/mmu_context_iommu.c +40 −4
  2339. arch/powerpc/mm/mmu_decl.h +0 −1
  2340. arch/powerpc/mm/numa.c +10 −10
  2341. arch/powerpc/mm/pgtable-book3s64.c +33 −6
  2342. arch/powerpc/mm/pgtable-radix.c +20 −65
  2343. arch/powerpc/mm/pkeys.c +46 −95
  2344. arch/powerpc/mm/slb.c +40 −1
  2345. arch/powerpc/mm/slb_low.S +1 −0
  2346. arch/powerpc/mm/subpage-prot.c +0 −1
  2347. arch/powerpc/mm/tlb-radix.c +0 −18
  2348. arch/powerpc/mm/tlb_low_64e.S +1 −0
  2349. arch/powerpc/mm/tlb_nohash_low.S +2 −0
  2350. arch/powerpc/net/Makefile +1 −1
  2351. arch/powerpc/net/bpf_jit32.h +1 −0
  2352. arch/powerpc/net/bpf_jit_asm.S +1 −0
  2353. arch/powerpc/net/bpf_jit_comp.c +1 −0
  2354. arch/powerpc/net/bpf_jit_comp64.c +6 −24
  2355. arch/powerpc/perf/core-book3s.c +3 −37
  2356. arch/powerpc/perf/imc-pmu.c +51 −57
  2357. arch/powerpc/perf/isa207-common.c +5 −7
  2358. arch/powerpc/perf/isa207-common.h +0 −5
  2359. arch/powerpc/perf/power9-pmu.c +1 −53
  2360. arch/powerpc/perf/req-gen/_begin.h +2 −0
  2361. arch/powerpc/perf/req-gen/perf.h +1 −0
  2362. arch/powerpc/platforms/4xx/msi.c +30 −21
  2363. arch/powerpc/platforms/52xx/Makefile +1 −1
  2364. arch/powerpc/platforms/52xx/mpc52xx_pm.c +4 −1
  2365. arch/powerpc/platforms/85xx/t1042rdb_diu.c +4 −0
  2366. arch/powerpc/platforms/Kconfig.cputype +35 −4
  2367. arch/powerpc/platforms/cell/Makefile +1 −1
  2368. arch/powerpc/platforms/cell/cbe_thermal.c +1 −0
  2369. arch/powerpc/platforms/cell/spufs/fault.c +1 −1
  2370. arch/powerpc/platforms/cell/spufs/sputrace.h +1 −0
  2371. arch/powerpc/platforms/chrp/nvram.c +3 −0
  2372. arch/powerpc/platforms/embedded6xx/wii.c +0 −10
  2373. arch/powerpc/platforms/pasemi/dma_lib.c +3 −3
  2374. arch/powerpc/platforms/pasemi/gpio_mdio.c +1 −1
  2375. arch/powerpc/platforms/pasemi/idle.c +2 −2
  2376. arch/powerpc/platforms/pasemi/iommu.c +1 −1
  2377. arch/powerpc/platforms/pasemi/misc.c +1 −3
  2378. arch/powerpc/platforms/pasemi/pci.c +8 −8
  2379. arch/powerpc/platforms/pasemi/setup.c +26 −27
  2380. arch/powerpc/platforms/powermac/cache.S +1 −0
  2381. arch/powerpc/platforms/powermac/feature.c +0 −2
  2382. arch/powerpc/platforms/powermac/low_i2c.c +1 −1
  2383. arch/powerpc/platforms/powermac/pci.c +6 −6
  2384. arch/powerpc/platforms/powermac/sleep.S +1 −0
  2385. arch/powerpc/platforms/powermac/time.c +3 −1
  2386. arch/powerpc/platforms/powermac/udbg_scc.c +2 −2
  2387. arch/powerpc/platforms/powernv/Makefile +1 −1
  2388. arch/powerpc/platforms/powernv/eeh-powernv.c +11 −1
  2389. arch/powerpc/platforms/powernv/idle.c +139 −106
  2390. arch/powerpc/platforms/powernv/memtrace.c +85 −36
  2391. arch/powerpc/platforms/powernv/npu-dma.c +13 −4
  2392. arch/powerpc/platforms/powernv/opal-dump.c +9 −9
  2393. arch/powerpc/platforms/powernv/opal-irqchip.c +75 −51
  2394. arch/powerpc/platforms/powernv/opal-kmsg.c +3 −27
  2395. arch/powerpc/platforms/powernv/opal-sensor-groups.c +28 −0
  2396. arch/powerpc/platforms/powernv/opal-wrappers.S +4 −0
  2397. arch/powerpc/platforms/powernv/opal.c +129 −50
  2398. arch/powerpc/platforms/powernv/pci-cxl.c +0 −199
  2399. arch/powerpc/platforms/powernv/pci-ioda-tce.c +399 −0
  2400. arch/powerpc/platforms/powernv/pci-ioda.c +63 −185
  2401. arch/powerpc/platforms/powernv/pci.c +0 −158
  2402. arch/powerpc/platforms/powernv/pci.h +26 −27
  2403. arch/powerpc/platforms/powernv/setup.c +8 −2
  2404. arch/powerpc/platforms/powernv/smp.c +3 −24
  2405. arch/powerpc/platforms/powernv/vas-window.c +4 −22
  2406. arch/powerpc/platforms/powernv/vas.h +1 −0
  2407. arch/powerpc/platforms/pseries/Makefile +1 −1
  2408. arch/powerpc/platforms/pseries/hvCall.S +1 −0
  2409. arch/powerpc/platforms/pseries/kexec.c +1 −1
  2410. arch/powerpc/platforms/pseries/lpar.c +24 −27
  2411. arch/powerpc/platforms/pseries/mobility.c +1 −0
  2412. arch/powerpc/platforms/pseries/ras.c +34 −17
  2413. arch/powerpc/platforms/pseries/setup.c +43 −10
  2414. arch/powerpc/purgatory/Makefile +1 −2
  2415. arch/powerpc/purgatory/trampoline.S +1 −9
  2416. arch/powerpc/sysdev/Makefile +1 −1
  2417. arch/powerpc/sysdev/cpm1.c +0 −1
  2418. arch/powerpc/sysdev/fsl_mpic_err.c +1 −1
  2419. arch/powerpc/sysdev/mpic.c +3 −3
  2420. arch/powerpc/sysdev/mpic_msgr.c +1 −1
  2421. arch/powerpc/sysdev/msi_bitmap.c +8 −7
  2422. arch/powerpc/sysdev/xive/common.c +5 −27
  2423. arch/powerpc/sysdev/xive/native.c +13 −21
  2424. arch/powerpc/tools/checkpatch.sh +22 −0
  2425. arch/powerpc/xmon/spr_access.S +1 −0
  2426. arch/powerpc/xmon/xmon.c +36 −6
  2427. arch/riscv/Kconfig +1 −71
  2428. arch/riscv/Kconfig.debug +37 −0
  2429. arch/riscv/Makefile +5 −3
  2430. arch/riscv/configs/defconfig +1 −0
  2431. arch/riscv/include/asm/Kbuild +1 −0
  2432. arch/riscv/include/asm/atomic.h +9 −157
  2433. arch/riscv/include/asm/csr.h +1 −0
  2434. arch/riscv/include/asm/irq.h +1 −4
  2435. arch/riscv/include/asm/perf_event.h +1 −0
  2436. arch/riscv/include/asm/smp.h +0 −6
  2437. arch/riscv/include/asm/unistd.h +5 −0
  2438. arch/riscv/include/asm/vdso.h +0 −2
  2439. arch/riscv/include/uapi/asm/elf.h +7 −2
  2440. arch/riscv/include/uapi/asm/syscalls.h +8 −5
  2441. arch/riscv/kernel/entry.S +2 −2
  2442. arch/riscv/kernel/head.S +2 −0
  2443. arch/riscv/kernel/irq.c +44 −11
  2444. arch/riscv/kernel/module.c +13 −13
  2445. arch/riscv/kernel/perf_event.c +0 −1
  2446. arch/riscv/kernel/ptrace.c +1 −1
  2447. arch/riscv/kernel/setup.c +27 −5
  2448. arch/riscv/kernel/smp.c +2 −4
  2449. arch/riscv/kernel/smpboot.c +0 −1
  2450. arch/riscv/kernel/sys_riscv.c +10 −2
  2451. arch/riscv/kernel/time.c +1 −29
  2452. arch/riscv/kernel/traps.c +0 −1
  2453. arch/riscv/kernel/vdso/Makefile +2 −2
  2454. arch/riscv/lib/Makefile +1 −0
  2455. arch/riscv/lib/tishift.S +42 −0
  2456. arch/riscv/mm/fault.c +2 −1
  2457. arch/riscv/mm/init.c +2 −0
  2458. arch/s390/Kconfig +4 −29
  2459. arch/s390/Kconfig.debug +0 −5
  2460. arch/s390/Makefile +36 −24
  2461. arch/s390/appldata/appldata_base.c +45 −77
  2462. arch/s390/boot/Makefile +39 −6
  2463. arch/s390/boot/als.c +9 −11
  2464. arch/s390/boot/compressed/.gitignore +1 −0
  2465. arch/s390/boot/compressed/Makefile +23 −32
  2466. arch/s390/boot/compressed/head.S +4 −4
  2467. arch/s390/boot/compressed/misc.c +0 −37
  2468. arch/s390/boot/compressed/vmlinux.lds.S +11 −4
  2469. arch/s390/boot/compressed/vmlinux.scr.lds.S +4 −0
  2470. arch/s390/boot/ebcdic.c +2 −0
  2471. arch/s390/boot/head.S +6 −5
  2472. arch/s390/boot/head_kdump.S +0 −0
  2473. arch/s390/boot/mem.S +2 −0
  2474. arch/s390/boot/sclp_early_core.c +2 −0
  2475. arch/s390/crypto/aes_s390.c +0 −1
  2476. arch/s390/crypto/ghash_s390.c +0 −1
  2477. arch/s390/crypto/sha1_s390.c +0 −1
  2478. arch/s390/crypto/sha256_s390.c +0 −2
  2479. arch/s390/crypto/sha512_s390.c +0 −2
  2480. arch/s390/hypfs/hypfs_diag.c +2 −2
  2481. arch/s390/hypfs/inode.c +3 −3
  2482. arch/s390/include/asm/ap.h +257 −27
  2483. arch/s390/include/asm/atomic.h +0 −65
  2484. arch/s390/include/asm/cpu_mf.h +9 −3
  2485. arch/s390/include/asm/ftrace.h +3 −3
  2486. arch/s390/include/asm/gmap.h +10 −0
  2487. arch/s390/include/asm/hugetlb.h +4 −1
  2488. arch/s390/include/asm/kprobes.h +0 −2
  2489. arch/s390/include/asm/kvm_host.h +4 −7
  2490. arch/s390/include/asm/lowcore.h +1 −1
  2491. arch/s390/include/asm/mmu.h +2 −0
  2492. arch/s390/include/asm/mmu_context.h +1 −0
  2493. arch/s390/include/asm/nospec-insn.h +2 −2
  2494. arch/s390/include/asm/pci.h +5 −0
  2495. arch/s390/include/asm/pgtable.h +10 −3
  2496. arch/s390/include/asm/purgatory.h +0 −6
  2497. arch/s390/include/asm/qdio.h +0 −1
  2498. arch/s390/include/asm/sections.h +0 −2
  2499. arch/s390/include/asm/setup.h +3 −1
  2500. arch/s390/include/uapi/asm/chsc.h +5 −5
  2501. arch/s390/include/uapi/asm/kvm.h +4 −1
  2502. arch/s390/include/uapi/asm/socket.h +3 −0
  2503. arch/s390/include/uapi/asm/zcrypt.h +36 −36
  2504. arch/s390/kernel/Makefile +3 −21
  2505. arch/s390/kernel/asm-offsets.c +0 −8
  2506. arch/s390/kernel/compat_wrapper.c +1 −0
  2507. arch/s390/kernel/crash_dump.c +112 −22
  2508. arch/s390/kernel/early.c +12 −0
  2509. arch/s390/kernel/ebcdic.c +18 −18
  2510. arch/s390/kernel/entry.S +6 −2
  2511. arch/s390/kernel/entry.h +0 −1
  2512. arch/s390/kernel/ftrace.c +1 −1
  2513. arch/s390/kernel/head64.S +15 −28
  2514. arch/s390/kernel/kprobes.c +6 −80
  2515. arch/s390/kernel/mcount.S +1 −1
  2516. arch/s390/kernel/nospec-branch.c +11 −1
  2517. arch/s390/kernel/nospec-sysfs.c +2 −0
  2518. arch/s390/kernel/perf_cpum_sf.c +14 −2
  2519. arch/s390/kernel/perf_regs.c +2 −4
  2520. arch/s390/kernel/setup.c +2 −2
  2521. arch/s390/kernel/signal.c +2 −1
  2522. arch/s390/kernel/syscalls/Makefile +3 −3
  2523. arch/s390/kernel/syscalls/syscall.tbl +2 −0
  2524. arch/s390/kernel/sysinfo.c +4 −0
  2525. arch/s390/kernel/time.c +10 −5
  2526. arch/s390/kernel/topology.c +18 −26
  2527. arch/s390/kernel/vdso.c +1 −1
  2528. arch/s390/kernel/vmlinux.lds.S +5 −8
  2529. arch/s390/kvm/interrupt.c +1 −1
  2530. arch/s390/kvm/kvm-s390.c +250 −133
  2531. arch/s390/kvm/priv.c +94 −49
  2532. arch/s390/kvm/vsie.c +9 −2
  2533. arch/s390/lib/mem.S +10 −6
  2534. arch/s390/mm/cmm.c +33 −41
  2535. arch/s390/mm/extmem.c +2 −2
  2536. arch/s390/mm/fault.c +10 −5
  2537. arch/s390/mm/gmap.c +431 −23
  2538. arch/s390/mm/hugetlbpage.c +24 −0
  2539. arch/s390/mm/page-states.c +1 −1
  2540. arch/s390/mm/pageattr.c +2 −4
  2541. arch/s390/mm/pgalloc.c +5 −1
  2542. arch/s390/mm/pgtable.c +115 −44
  2543. arch/s390/net/bpf_jit_comp.c +1 −2
  2544. arch/s390/numa/numa.c +2 −14
  2545. arch/s390/pci/pci.c +2 −1
  2546. arch/s390/pci/pci_debug.c +8 −1
  2547. arch/s390/purgatory/Makefile +6 −6
  2548. arch/s390/purgatory/head.S +19 −26
  2549. arch/s390/purgatory/purgatory.c +0 −9
  2550. arch/s390/scripts/Makefile.chkbss +10 −1
  2551. arch/s390/tools/gen_facilities.c +2 −1
  2552. arch/s390/tools/gen_opcode_table.c +2 −2
  2553. arch/sh/Kconfig +3 −27
  2554. arch/sh/Kconfig.debug +0 −5
  2555. arch/sh/Makefile +2 −2
  2556. arch/sh/boards/mach-ap325rxa/setup.c +79 −203
  2557. arch/sh/boards/mach-kfr2r09/setup.c +103 −114
  2558. arch/sh/boards/mach-migor/setup.c +4 −4
  2559. arch/sh/boards/mach-se/7724/setup.c +79 −41
  2560. arch/sh/boards/of-generic.c +4 −3
  2561. arch/sh/drivers/pci/pci.c +0 −2
  2562. arch/sh/include/asm/Kbuild +1 −0
  2563. arch/sh/include/asm/atomic.h +0 −35
  2564. arch/sh/include/asm/cacheflush.h +7 −0
  2565. arch/sh/include/asm/cmpxchg-xchg.h +2 −1
  2566. arch/sh/include/asm/dma-mapping.h +0 −23
  2567. arch/sh/include/asm/hw_breakpoint.h +5 −3
  2568. arch/sh/include/asm/kexec.h +2 −1
  2569. arch/sh/include/asm/kprobes.h +0 −4
  2570. arch/sh/kernel/Makefile +2 −2
  2571. arch/sh/kernel/cpu/sh4a/clock-sh7723.c +1 −1
  2572. arch/sh/kernel/dma-coherent.c +83 −0
  2573. arch/sh/kernel/dma-nommu.c +0 −88
  2574. arch/sh/kernel/dwarf.c +1 −1
  2575. arch/sh/kernel/hw_breakpoint.c +23 −30
  2576. arch/sh/kernel/kprobes.c +5 −67
  2577. arch/sh/mm/Kconfig +0 −2
  2578. arch/sh/mm/consistent.c +0 −87
  2579. arch/sh/mm/fault.c +2 −2
  2580. arch/sh/mm/init.c +0 −10
  2581. arch/sparc/Kconfig +4 −30
  2582. arch/sparc/Kconfig.debug +0 −5
  2583. arch/sparc/Makefile +5 −5
  2584. arch/sparc/crypto/md5_glue.c +0 −1
  2585. arch/sparc/crypto/sha1_glue.c +0 −1
  2586. arch/sparc/crypto/sha256_glue.c +0 −2
  2587. arch/sparc/crypto/sha512_glue.c +0 −2
  2588. arch/sparc/include/asm/Kbuild +1 −0
  2589. arch/sparc/include/asm/atomic_32.h +3 −21
  2590. arch/sparc/include/asm/atomic_64.h +1 −64
  2591. arch/sparc/include/asm/dma-mapping.h +2 −3
  2592. arch/sparc/include/asm/io_64.h +13 −6
  2593. arch/sparc/include/asm/kprobes.h +0 −1
  2594. arch/sparc/include/asm/msi.h +0 −32
  2595. arch/sparc/include/uapi/asm/socket.h +3 −0
  2596. arch/sparc/kernel/ioport.c +31 −162
  2597. arch/sparc/kernel/kprobes.c +6 −59
  2598. arch/sparc/kernel/sys_sparc_32.c +13 −9
  2599. arch/sparc/kernel/sys_sparc_64.c +12 −8
  2600. arch/sparc/kernel/time_64.c +1 −1
  2601. arch/sparc/lib/atomic32.c +2 −2
  2602. arch/sparc/mm/fault_32.c +2 −1
  2603. arch/sparc/mm/fault_64.c +2 −1
  2604. arch/sparc/mm/init_32.c +48 −79
  2605. arch/sparc/mm/srmmu.c +19 −1
  2606. arch/um/Kconfig +70 −4
  2607. arch/um/Kconfig.char +0 −124
  2608. arch/um/Kconfig.common +0 −60
  2609. arch/um/Kconfig.debug +0 −5
  2610. arch/um/Kconfig.rest +0 −22
  2611. arch/um/Makefile +4 −13
  2612. arch/um/drivers/Kconfig +124 −1
  2613. arch/um/drivers/Makefile +2 −2
  2614. arch/um/kernel/trap.c +1 −1
  2615. arch/unicore32/Kconfig +0 −28
  2616. arch/unicore32/Kconfig.debug +0 −5
  2617. arch/unicore32/mm/fault.c +5 −4
  2618. arch/x86/Kconfig +8 −28
  2619. arch/x86/Kconfig.debug +0 −5
  2620. arch/x86/Makefile +2 −7
  2621. arch/x86/Makefile.um +2 −4
  2622. arch/x86/boot/bitops.h +2 −1
  2623. arch/x86/boot/compressed/Makefile +9 −5
  2624. arch/x86/boot/compressed/eboot.c +186 −371
  2625. arch/x86/boot/compressed/eboot.h +6 −6
  2626. arch/x86/boot/compressed/kaslr.c +93 −10
  2627. arch/x86/boot/compressed/pgtable_64.c +55 −18
  2628. arch/x86/boot/string.c +3 −2
  2629. arch/x86/crypto/aegis128-aesni-asm.S +2 −1
  2630. arch/x86/crypto/aegis128-aesni-glue.c +4 −8
  2631. arch/x86/crypto/aegis128l-aesni-asm.S +2 −1
  2632. arch/x86/crypto/aegis128l-aesni-glue.c +4 −8
  2633. arch/x86/crypto/aegis256-aesni-asm.S +2 −1
  2634. arch/x86/crypto/aegis256-aesni-glue.c +4 −8
  2635. arch/x86/crypto/aesni-intel_asm.S +4 −4
  2636. arch/x86/crypto/aesni-intel_avx-x86_64.S +2 −2
  2637. arch/x86/crypto/ghash-clmulni-intel_glue.c +2 −4
  2638. arch/x86/crypto/morus1280-avx2-asm.S +2 −1
  2639. arch/x86/crypto/morus1280-avx2-glue.c +3 −7
  2640. arch/x86/crypto/morus1280-sse2-asm.S +2 −1
  2641. arch/x86/crypto/morus1280-sse2-glue.c +3 −7
  2642. arch/x86/crypto/morus640-sse2-asm.S +2 −1
  2643. arch/x86/crypto/morus640-sse2-glue.c +3 −7
  2644. arch/x86/crypto/poly1305_glue.c +0 −1
  2645. arch/x86/crypto/sha1-mb/sha1_mb.c +11 −6
  2646. arch/x86/crypto/sha1_ssse3_asm.S +1 −1
  2647. arch/x86/crypto/sha1_ssse3_glue.c +0 −4
  2648. arch/x86/crypto/sha256-mb/sha256_mb.c +11 −7
  2649. arch/x86/crypto/sha256-mb/sha256_mb_mgr_flush_avx2.S +1 −1
  2650. arch/x86/crypto/sha256_ssse3_glue.c +0 −8
  2651. arch/x86/crypto/sha512-mb/sha512_mb.c +11 −7
  2652. arch/x86/crypto/sha512_ssse3_glue.c +0 −6
  2653. arch/x86/entry/entry_32.S +522 −110
  2654. arch/x86/entry/entry_64.S +7 −16
  2655. arch/x86/entry/vdso/Makefile +14 −18
  2656. arch/x86/entry/vdso/vdso-note.S +3 −0
  2657. arch/x86/entry/vdso/vdso32/note.S +3 −0
  2658. arch/x86/events/amd/ibs.c +5 −1
  2659. arch/x86/events/intel/core.c +21 −13
  2660. arch/x86/events/intel/ds.c +50 −32
  2661. arch/x86/events/intel/lbr.c +49 −7
  2662. arch/x86/events/intel/uncore.h +1 −1
  2663. arch/x86/events/intel/uncore_snbep.c +7 −3
  2664. arch/x86/events/perf_event.h +6 −0
  2665. arch/x86/hyperv/Makefile +1 −1
  2666. arch/x86/hyperv/hv_apic.c +36 −26
  2667. arch/x86/hyperv/hv_init.c +33 −3
  2668. arch/x86/hyperv/mmu.c +41 −41
  2669. arch/x86/hyperv/nested.c +56 −0
  2670. arch/x86/include/asm/Kbuild +1 −0
  2671. arch/x86/include/asm/apic.h +9 −0
  2672. arch/x86/include/asm/apm.h +0 −6
  2673. arch/x86/include/asm/asm.h +59 −0
  2674. arch/x86/include/asm/atomic.h +7 −25
  2675. arch/x86/include/asm/atomic64_32.h +6 −55
  2676. arch/x86/include/asm/atomic64_64.h +7 −43
  2677. arch/x86/include/asm/cmpxchg.h +1 −1
  2678. arch/x86/include/asm/cmpxchg_64.h +2 −2
  2679. arch/x86/include/asm/cpufeatures.h +5 −1
  2680. arch/x86/include/asm/dmi.h +1 −1
  2681. arch/x86/include/asm/export.h +0 −5
  2682. arch/x86/include/asm/hardirq.h +24 −2
  2683. arch/x86/include/asm/hw_breakpoint.h +5 −2
  2684. arch/x86/include/asm/hyperv-tlfs.h +17 −8
  2685. arch/x86/include/asm/i8259.h +1 −0
  2686. arch/x86/include/asm/intel-family.h +13 −0
  2687. arch/x86/include/asm/intel-mid.h +0 −43
  2688. arch/x86/include/asm/intel_ds.h +2 −1
  2689. arch/x86/include/asm/irq_remapping.h +5 −0
  2690. arch/x86/include/asm/irqflags.h +3 −1
  2691. arch/x86/include/asm/kprobes.h +1 −4
  2692. arch/x86/include/asm/kvm_guest.h +0 −7
  2693. arch/x86/include/asm/kvm_host.h +58 −4
  2694. arch/x86/include/asm/kvm_para.h +0 −1
  2695. arch/x86/include/asm/mce.h +1 −0
  2696. arch/x86/include/asm/mmu_context.h +0 −5
  2697. arch/x86/include/asm/mshyperv.h +52 −5
  2698. arch/x86/include/asm/msr-index.h +7 −0
  2699. arch/x86/include/asm/nospec-branch.h +1 −1
  2700. arch/x86/include/asm/orc_types.h +2 −0
  2701. arch/x86/include/asm/page_32_types.h +7 −2
  2702. arch/x86/include/asm/paravirt.h +5 −0
  2703. arch/x86/include/asm/paravirt_types.h +3 −0
  2704. arch/x86/include/asm/pci-direct.h +0 −4
  2705. arch/x86/include/asm/percpu.h +4 −3
  2706. arch/x86/include/asm/pgtable-2level.h +26 −0
  2707. arch/x86/include/asm/pgtable-2level_types.h +3 −0
  2708. arch/x86/include/asm/pgtable-3level.h +42 −2
  2709. arch/x86/include/asm/pgtable-3level_types.h +4 −2
  2710. arch/x86/include/asm/pgtable-invert.h +41 −0
  2711. arch/x86/include/asm/pgtable.h +143 −25
  2712. arch/x86/include/asm/pgtable_32.h +0 −2
  2713. arch/x86/include/asm/pgtable_32_types.h +7 −2
  2714. arch/x86/include/asm/pgtable_64.h +29 −98
  2715. arch/x86/include/asm/pgtable_64_types.h +3 −0
  2716. arch/x86/include/asm/pgtable_types.h +26 −2
  2717. arch/x86/include/asm/processor-flags.h +4 −4
  2718. arch/x86/include/asm/processor.h +18 −0
  2719. arch/x86/include/asm/pti.h +1 −2
  2720. arch/x86/include/asm/qspinlock_paravirt.h +1 −1
  2721. arch/x86/include/asm/refcount.h +1 −0
  2722. arch/x86/include/asm/sections.h +1 −0
  2723. arch/x86/include/asm/set_memory.h +43 −0
  2724. arch/x86/include/asm/switch_to.h +13 −3
  2725. arch/x86/include/asm/text-patching.h +1 −0
  2726. arch/x86/include/asm/tlbflush.h +3 −0
  2727. arch/x86/include/asm/topology.h +5 −1
  2728. arch/x86/include/asm/trace/hyperv.h +29 −0
  2729. arch/x86/include/asm/tsc.h +2 −2
  2730. arch/x86/include/asm/uaccess_64.h +6 −1
  2731. arch/x86/include/asm/unwind_hints.h +10 −6
  2732. arch/x86/include/asm/vmx.h +14 −0
  2733. arch/x86/include/asm/xen/hypercall.h +19 −124
  2734. arch/x86/include/uapi/asm/kvm.h +37 −0
  2735. arch/x86/include/uapi/asm/kvm_para.h +1 −0
  2736. arch/x86/kernel/Makefile +1 −0
  2737. arch/x86/kernel/acpi/cstate.c +1 −1
  2738. arch/x86/kernel/alternative.c +7 −0
  2739. arch/x86/kernel/apic/apic.c +22 −1
  2740. arch/x86/kernel/apic/io_apic.c +1 −0
  2741. arch/x86/kernel/apic/msi.c +1 −0
  2742. arch/x86/kernel/apic/vector.c +6 −14
  2743. arch/x86/kernel/apic/x2apic_uv_x.c +2 −2
  2744. arch/x86/kernel/apm_32.c +5 −0
  2745. arch/x86/kernel/asm-offsets.c +5 −0
  2746. arch/x86/kernel/asm-offsets_32.c +8 −2
  2747. arch/x86/kernel/asm-offsets_64.c +0 −2
  2748. arch/x86/kernel/cpu/Makefile +3 −1
  2749. arch/x86/kernel/cpu/amd.c +38 −30
  2750. arch/x86/kernel/cpu/bugs.c +166 −36
  2751. arch/x86/kernel/cpu/common.c +62 −44
  2752. arch/x86/kernel/cpu/cpu.h +3 −0
  2753. arch/x86/kernel/cpu/intel.c +16 −1
  2754. arch/x86/kernel/cpu/intel_rdt.c +11 −0
  2755. arch/x86/kernel/cpu/intel_rdt.h +117 −26
  2756. arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c +109 −20
  2757. arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c +1522 −0
  2758. arch/x86/kernel/cpu/intel_rdt_pseudo_lock_event.h +43 −0
  2759. arch/x86/kernel/cpu/intel_rdt_rdtgroup.c +786 −26
  2760. arch/x86/kernel/cpu/mcheck/mce-internal.h +0 −15
  2761. arch/x86/kernel/cpu/mcheck/mce.c +104 −127
  2762. arch/x86/kernel/cpu/microcode/core.c +12 −4
  2763. arch/x86/kernel/cpu/mshyperv.c +3 −3
  2764. arch/x86/kernel/cpu/mtrr/if.c +2 −1
  2765. arch/x86/kernel/cpu/topology.c +22 −19
  2766. arch/x86/kernel/dumpstack.c +9 −19
  2767. arch/x86/kernel/early-quirks.c +18 −0
  2768. arch/x86/kernel/fpu/core.c +1 −0
  2769. arch/x86/kernel/head_32.S +15 −5
  2770. arch/x86/kernel/head_64.S +1 −1
  2771. arch/x86/kernel/hpet.c +1 −0
  2772. arch/x86/kernel/hw_breakpoint.c +68 −63
  2773. arch/x86/kernel/i8259.c +1 −0
  2774. arch/x86/kernel/idt.c +1 −0
  2775. arch/x86/kernel/irq.c +1 −0
  2776. arch/x86/kernel/irq_32.c +1 −0
  2777. arch/x86/kernel/irq_64.c +1 −0
  2778. arch/x86/kernel/irqflags.S +26 −0
  2779. arch/x86/kernel/irqinit.c +1 −0
  2780. arch/x86/kernel/jump_label.c +7 −4
  2781. arch/x86/kernel/kexec-bzimage64.c +1 −1
  2782. arch/x86/kernel/kprobes/common.h +0 −10
  2783. arch/x86/kernel/kprobes/core.c +9 −115
  2784. arch/x86/kernel/kprobes/ftrace.c +13 −36
  2785. arch/x86/kernel/kprobes/opt.c +0 −1
  2786. arch/x86/kernel/kvm.c +117 −16
  2787. arch/x86/kernel/kvmclock.c +105 −158
  2788. arch/x86/kernel/ldt.c +112 −25
  2789. arch/x86/kernel/machine_kexec_32.c +3 −2
  2790. arch/x86/kernel/paravirt.c +12 −4
  2791. arch/x86/kernel/paravirt_patch_64.c +1 −1
  2792. arch/x86/kernel/pci-dma.c +9 −4
  2793. arch/x86/kernel/pci-iommu_table.c +1 −1
  2794. arch/x86/kernel/pcspeaker.c +1 −1
  2795. arch/x86/kernel/process.c +0 −2
  2796. arch/x86/kernel/process_32.c +1 −1
  2797. arch/x86/kernel/process_64.c +2 −1
  2798. arch/x86/kernel/setup.c +9 −12
  2799. arch/x86/kernel/smp.c +1 −0
  2800. arch/x86/kernel/smpboot.c +23 −0
  2801. arch/x86/kernel/stacktrace.c +14 −28
  2802. arch/x86/kernel/time.c +1 −0
  2803. arch/x86/kernel/tsc.c +150 −109
  2804. arch/x86/kernel/tsc_msr.c +51 −45
  2805. arch/x86/kernel/unwind_orc.c +31 −21
  2806. arch/x86/kernel/vm86_32.c +2 −2
  2807. arch/x86/kernel/vmlinux.lds.S +10 −7
  2808. arch/x86/kernel/x86_init.c +1 −1
  2809. arch/x86/kvm/Kconfig +1 −1
  2810. arch/x86/kvm/cpuid.c +2 −1
  2811. arch/x86/kvm/emulate.c +1 −1
  2812. arch/x86/kvm/hyperv.c +20 −7
  2813. arch/x86/kvm/hyperv.h +1 −1
  2814. arch/x86/kvm/lapic.c +41 −1
  2815. arch/x86/kvm/mmu.c +444 −90
  2816. arch/x86/kvm/mmu.h +23 −1
  2817. arch/x86/kvm/paging_tmpl.h +16 −12
  2818. arch/x86/kvm/svm.c +12 −8
  2819. arch/x86/kvm/vmx.c +1357 −304
  2820. arch/x86/kvm/x86.c +132 −23
  2821. arch/x86/lib/memcpy_64.S +1 −1
  2822. arch/x86/mm/cpu_entry_area.c +33 −0
  2823. arch/x86/mm/dump_pagetables.c +18 −9
  2824. arch/x86/mm/fault.c +3 −4
  2825. arch/x86/mm/init.c +71 −8
  2826. arch/x86/mm/init_64.c +2 −12
  2827. arch/x86/mm/kmmio.c +15 −10
  2828. arch/x86/mm/mmap.c +21 −0
  2829. arch/x86/mm/numa_emulation.c +87 −20
  2830. arch/x86/mm/pageattr.c +23 −4
  2831. arch/x86/mm/pat.c +16 −0
  2832. arch/x86/mm/pgtable.c +141 −36
  2833. arch/x86/mm/pti.c +205 −57
  2834. arch/x86/mm/tlb.c +13 −6
  2835. arch/x86/net/bpf_jit_comp32.c +4 −4
  2836. arch/x86/pci/common.c +0 −4
  2837. arch/x86/pci/early.c +0 −44
  2838. arch/x86/platform/efi/efi_64.c +99 −4
  2839. arch/x86/platform/efi/quirks.c +7 −7
  2840. arch/x86/platform/intel-mid/Makefile +1 −1
  2841. arch/x86/platform/intel-mid/device_libs/platform_mrfld_wdt.c +1 −0
  2842. arch/x86/platform/intel-mid/intel-mid.c +1 −22
  2843. arch/x86/platform/intel-mid/intel_mid_weak_decls.h +0 −18
  2844. arch/x86/platform/intel-mid/mfld.c +0 −70
  2845. arch/x86/platform/intel-mid/mrfld.c +0 −105
  2846. arch/x86/platform/olpc/olpc.c +1 −3
  2847. arch/x86/platform/uv/tlb_uv.c +1 −2
  2848. arch/x86/power/hibernate_64.c +21 −15
  2849. arch/x86/power/hibernate_asm_64.S +1 −1
  2850. arch/x86/purgatory/Makefile +2 −3
  2851. arch/x86/tools/relocs.c +1 −0
  2852. arch/x86/um/Kconfig +0 −15
  2853. arch/x86/um/mem_32.c +1 −1
  2854. arch/x86/um/vdso/.gitignore +0 −1
  2855. arch/x86/um/vdso/Makefile +0 −16
  2856. arch/x86/xen/enlighten.c +1 −0
  2857. arch/x86/xen/enlighten_pv.c +47 −43
  2858. arch/x86/xen/irq.c +1 −3
  2859. arch/x86/xen/mmu_pv.c +6 −4
  2860. arch/x86/xen/multicalls.c +3 −3
  2861. arch/x86/xen/setup.c +0 −31
  2862. arch/x86/xen/spinlock.c +4 −0
  2863. arch/x86/xen/suspend_pv.c +3 −2
  2864. arch/x86/xen/time.c +13 −5
  2865. arch/x86/xen/xen-ops.h +2 −5
  2866. arch/xtensa/Kconfig +39 −50
  2867. arch/xtensa/Kconfig.debug +0 −5
  2868. arch/xtensa/Makefile +1 −1
  2869. arch/xtensa/boot/Makefile +1 −2
  2870. arch/xtensa/boot/boot-elf/Makefile +1 −1
  2871. arch/xtensa/boot/boot-elf/bootstrap.S +9 −10
  2872. arch/xtensa/configs/nommu_kc705_defconfig +1 −1
  2873. arch/xtensa/include/asm/Kbuild +1 −0
  2874. arch/xtensa/include/asm/atomic.h +0 −98
  2875. arch/xtensa/include/asm/cacheasm.h +42 −27
  2876. arch/xtensa/include/asm/dma-mapping.h +0 −26
  2877. arch/xtensa/include/asm/hw_breakpoint.h +5 −2
  2878. arch/xtensa/include/asm/initialize_mmu.h +21 −21
  2879. arch/xtensa/include/asm/irq.h +3 −18
  2880. arch/xtensa/include/asm/kmem_layout.h +0 −6
  2881. arch/xtensa/include/asm/page.h +2 −3
  2882. arch/xtensa/include/asm/pgtable.h +8 −0
  2883. arch/xtensa/include/asm/platform.h +27 −0
  2884. arch/xtensa/include/asm/processor.h +0 −1
  2885. arch/xtensa/include/asm/vectors.h +0 −1
  2886. arch/xtensa/include/uapi/asm/socket.h +3 −0
  2887. arch/xtensa/kernel/head.S +2 −0
  2888. arch/xtensa/kernel/hw_breakpoint.c +15 −25
  2889. arch/xtensa/kernel/irq.c +0 −1
  2890. arch/xtensa/kernel/pci-dma.c +72 −123
  2891. arch/xtensa/kernel/setup.c +8 −2
  2892. arch/xtensa/kernel/vmlinux.lds.S +1 −1
  2893. arch/xtensa/mm/fault.c +1 −1
  2894. arch/xtensa/platforms/iss/include/platform/hardware.h +0 −29
  2895. arch/xtensa/platforms/xt2000/include/platform/hardware.h +0 −11
  2896. arch/xtensa/platforms/xtfpga/include/platform/hardware.h +0 −9
  2897. arch/xtensa/variants/test_kc705_be/include/variant/core.h +575 −0
  2898. arch/xtensa/variants/test_kc705_be/include/variant/tie-asm.h +308 −0
  2899. arch/xtensa/variants/test_kc705_be/include/variant/tie.h +182 −0
  2900. block/Kconfig +16 −0
  2901. block/Makefile +3 −1
  2902. block/bfq-cgroup.c +2 −1
  2903. block/bfq-iosched.c +150 −35
  2904. block/bfq-iosched.h +5 −2
  2905. block/bfq-wf2q.c +24 −28
  2906. block/bio-integrity.c +0 −22
  2907. block/bio.c +125 −137
  2908. block/blk-cgroup.c +279 −5
  2909. block/blk-core.c +67 −49
  2910. block/blk-ioc.c +1 −1
  2911. block/blk-iolatency.c +955 −0
  2912. block/blk-lib.c +10 −0
  2913. block/blk-mq-debugfs-zoned.c +24 −0
  2914. block/blk-mq-debugfs.c +9 −15
  2915. block/blk-mq-debugfs.h +9 −0
  2916. block/blk-mq-pci.c +3 −2
  2917. block/blk-mq-sched.c +21 −135
  2918. block/blk-mq-sched.h +0 −5
  2919. block/blk-mq-tag.c +21 −6
  2920. block/blk-mq.c +202 −71
  2921. block/blk-mq.h +11 −2
  2922. block/blk-rq-qos.c +194 −0
  2923. block/blk-rq-qos.h +109 −0
  2924. block/blk-settings.c +3 −3
  2925. block/blk-stat.c +8 −8
  2926. block/blk-stat.h +4 −0
  2927. block/blk-sysfs.c +42 −12
  2928. block/blk-throttle.c +11 −21
  2929. block/blk-wbt.c +202 −228
  2930. block/blk-wbt.h +23 −45
  2931. block/blk-zoned.c +1 −1
  2932. block/blk.h +10 −1
  2933. block/bounce.c +68 −1
  2934. block/bsg-lib.c +2 −3
  2935. block/bsg.c +6 −456
  2936. block/cfq-iosched.c +13 −10
  2937. block/elevator.c +12 −8
  2938. block/genhd.c +18 −11
  2939. block/partition-generic.c +15 −10
  2940. block/partitions/aix.c +9 −4
  2941. block/partitions/ldm.c +0 −3
  2942. block/t10-pi.c +110 −0
  2943. certs/system_certificates.S +8 −8
  2944. certs/system_keyring.c +2 −1
  2945. crypto/ablkcipher.c +28 −31
  2946. crypto/aegis128.c +0 −1
  2947. crypto/aegis128l.c +1 −2
  2948. crypto/aegis256.c +0 −1
  2949. crypto/af_alg.c +4 −2
  2950. crypto/api.c +1 −1
  2951. crypto/asymmetric_keys/pkcs7_key_type.c +1 −1
  2952. crypto/async_tx/async_pq.c +6 −4
  2953. crypto/async_tx/raid6test.c +3 −1
  2954. crypto/blkcipher.c +27 −28
  2955. crypto/crypto_null.c +0 −1
  2956. crypto/dh.c +63 −3
  2957. crypto/dh_helper.c +27 −16
  2958. crypto/drbg.c +18 −21
  2959. crypto/ecc.c +38 −4
  2960. crypto/ecc_curve_defs.h +18 −4
  2961. crypto/ghash-generic.c +0 −1
  2962. crypto/lrw.c +2 −2
  2963. crypto/md4.c +0 −1
  2964. crypto/md5.c +0 −1
  2965. crypto/morus1280.c +0 −1
  2966. crypto/morus640.c +0 −1
  2967. crypto/poly1305_generic.c +0 −1
  2968. crypto/rmd128.c +0 −1
  2969. crypto/rmd160.c +0 −1
  2970. crypto/rmd256.c +5 −6
  2971. crypto/rmd320.c +6 −7
  2972. crypto/scatterwalk.c +1 −1
  2973. crypto/sha1_generic.c +1 −1
  2974. crypto/sha256_generic.c +2 −2
  2975. crypto/sha3_generic.c +0 −4
  2976. crypto/sha512_generic.c +24 −2
  2977. crypto/skcipher.c +28 −29
  2978. crypto/sm3_generic.c +0 −1
  2979. crypto/tcrypt.c +25 −13
  2980. crypto/testmgr.c +48 −11
  2981. crypto/testmgr.h +145 −88
  2982. crypto/tgr192.c +0 −3
  2983. crypto/vmac.c +213 −231
  2984. crypto/wp512.c +0 −3
  2985. crypto/xts.c +2 −2
  2986. drivers/Kconfig +2 −0
  2987. drivers/Makefile +2 −1
  2988. drivers/acpi/Kconfig +5 −3
  2989. drivers/acpi/acpi_lpss.c +17 −9
  2990. drivers/acpi/acpica/aclocal.h +1 −1
  2991. drivers/acpi/acpica/acnamesp.h +9 −8
  2992. drivers/acpi/acpica/acutils.h +2 −0
  2993. drivers/acpi/acpica/dbinput.c +10 −0
  2994. drivers/acpi/acpica/dbmethod.c +3 −5
  2995. drivers/acpi/acpica/dbxface.c +9 −1
  2996. drivers/acpi/acpica/dsfield.c +33 −1
  2997. drivers/acpi/acpica/hwregs.c +7 −2
  2998. drivers/acpi/acpica/hwsleep.c +6 −4
  2999. drivers/acpi/acpica/nsaccess.c +13 −7
  3000. drivers/acpi/acpica/nssearch.c +0 −1
  3001. drivers/acpi/acpica/psloop.c +42 −6
  3002. drivers/acpi/acpica/tbdata.c +2 −2
  3003. drivers/acpi/acpica/utdelete.c +5 −2
  3004. drivers/acpi/acpica/uterror.c +3 −3
  3005. drivers/acpi/acpica/utstrsuppt.c +23 −3
  3006. drivers/acpi/acpica/utstrtoul64.c +1 −1
  3007. drivers/acpi/arm64/iort.c +35 −13
  3008. drivers/acpi/battery.c +49 −29
  3009. drivers/acpi/bus.c +8 −32
  3010. drivers/acpi/button.c +10 −7
  3011. drivers/acpi/ec.c +15 −1
  3012. drivers/acpi/nfit/core.c +57 −15
  3013. drivers/acpi/nfit/nfit.h +2 −0
  3014. drivers/acpi/osi.c +8 −0
  3015. drivers/acpi/pmic/intel_pmic_crc.c +107 −2
  3016. drivers/acpi/pptt.c +8 −2
  3017. drivers/acpi/processor_core.c +1 −0
  3018. drivers/acpi/property.c +97 −112
  3019. drivers/acpi/scan.c +20 −3
  3020. drivers/acpi/sleep.c +16 −14
  3021. drivers/acpi/x86/utils.c +9 −13
  3022. drivers/android/Kconfig +1 −1
  3023. drivers/android/binder.c +6 −3
  3024. drivers/android/binder_alloc.c +27 −16
  3025. drivers/android/binder_trace.h +5 −2
  3026. drivers/ata/Kconfig +0 −2
  3027. drivers/ata/ahci.c +93 −5
  3028. drivers/ata/ahci.h +1 −0
  3029. drivers/ata/ahci_brcm.c +1 −1
  3030. drivers/ata/ahci_ceva.c +1 −1
  3031. drivers/ata/ahci_da850.c +1 −1
  3032. drivers/ata/ahci_dm816.c +1 −1
  3033. drivers/ata/ahci_imx.c +1 −1
  3034. drivers/ata/ahci_mtk.c +1 −1
  3035. drivers/ata/ahci_mvebu.c +2 −2
  3036. drivers/ata/ahci_platform.c +2 −2
  3037. drivers/ata/ahci_qoriq.c +1 −1
  3038. drivers/ata/ahci_seattle.c +1 −1
  3039. drivers/ata/ahci_st.c +1 −1
  3040. drivers/ata/ahci_sunxi.c +1 −1
  3041. drivers/ata/ahci_tegra.c +1 −1
  3042. drivers/ata/ahci_xgene.c +1 −1
  3043. drivers/ata/libahci.c +23 −11
  3044. drivers/ata/libahci_platform.c +37 −12
  3045. drivers/ata/libata-core.c +8 −1
  3046. drivers/ata/libata-eh.c +16 −25
  3047. drivers/ata/libata-scsi.c +21 −20
  3048. drivers/ata/libata-sff.c +0 −30
  3049. drivers/ata/libata.h +0 −2
  3050. drivers/ata/pata_cmd640.c +1 −1
  3051. drivers/ata/pata_icside.c +1 −1
  3052. drivers/ata/pata_imx.c +2 −1
  3053. drivers/ata/pata_legacy.c +3 −3
  3054. drivers/ata/pata_palmld.c +1 −1
  3055. drivers/ata/pata_pcmcia.c +1 −1
  3056. drivers/ata/pata_platform.c +1 −1
  3057. drivers/ata/pata_pxa.c +1 −9
  3058. drivers/ata/pata_samsung_cf.c +1 −0
  3059. drivers/ata/pata_via.c +1 −1
  3060. drivers/ata/sata_fsl.c +1 −8
  3061. drivers/ata/sata_nv.c +0 −3
  3062. drivers/ata/sata_rcar.c +39 −37
  3063. drivers/atm/iphase.c +1 −1
  3064. drivers/atm/zatm.c +2 −2
  3065. drivers/auxdisplay/arm-charlcd.c +2 −4
  3066. drivers/auxdisplay/charlcd.c +1 −4
  3067. drivers/auxdisplay/hd44780.c +1 −0
  3068. drivers/base/base.h +0 −2
  3069. drivers/base/cacheinfo.c +10 −14
  3070. drivers/base/core.c +71 −16
  3071. drivers/base/cpu.c +8 −0
  3072. drivers/base/dd.c +108 −34
  3073. drivers/base/firmware_loader/fallback.c +7 −5
  3074. drivers/base/init.c +1 −1
  3075. drivers/base/memory.c +0 −2
  3076. drivers/base/node.c +6 −43
  3077. drivers/base/power/common.c +17 −0
  3078. drivers/base/power/domain.c +34 −8
  3079. drivers/base/regmap/Kconfig +4 −0
  3080. drivers/base/regmap/Makefile +1 −0
  3081. drivers/base/regmap/internal.h +3 −0
  3082. drivers/base/regmap/regmap-sccb.c +128 −0
  3083. drivers/base/regmap/regmap-slimbus.c +7 −16
  3084. drivers/base/regmap/regmap.c +78 −1
  3085. drivers/bcma/Kconfig +2 −1
  3086. drivers/block/DAC960.c +30 −21
  3087. drivers/block/Kconfig +1 −1
  3088. drivers/block/Makefile +4 −1
  3089. drivers/block/aoe/aoecmd.c +1 −0
  3090. drivers/block/aoe/aoedev.c +2 −2
  3091. drivers/block/brd.c +7 −7
  3092. drivers/block/drbd/drbd_int.h +0 −2
  3093. drivers/block/drbd/drbd_main.c +4 −8
  3094. drivers/block/drbd/drbd_receiver.c +4 −2
  3095. drivers/block/drbd/drbd_req.c +2 −2
  3096. drivers/block/drbd/drbd_worker.c +2 −4
  3097. drivers/block/floppy.c +0 −3
  3098. drivers/block/loop.c +2 −2
  3099. drivers/block/mtip32xx/mtip32xx.c +7 −25
  3100. drivers/block/nbd.c +82 −20
  3101. drivers/block/null_blk.h +108 −0
  3102. drivers/block/null_blk_main.c +51 −78
  3103. drivers/block/null_blk_zoned.c +149 −0
  3104. drivers/block/paride/bpck.c +1 −2
  3105. drivers/block/paride/pd.c +2 −0
  3106. drivers/block/pktcdvd.c +68 −42
  3107. drivers/block/rbd.c +89 −38
  3108. drivers/block/rsxx/core.c +5 −16
  3109. drivers/block/rsxx/dev.c +3 −3
  3110. drivers/block/skd_main.c +8 −8
  3111. drivers/block/xen-blkfront.c +2 −7
  3112. drivers/block/zram/zram_drv.c +29 −12
  3113. drivers/bluetooth/Kconfig +25 −0
  3114. drivers/bluetooth/Makefile +1 −0
  3115. drivers/bluetooth/bfusb.c +1 −1
  3116. drivers/bluetooth/bluecard_cs.c +1 −1
  3117. drivers/bluetooth/bpa10x.c +3 −3
  3118. drivers/bluetooth/btmrvl_sdio.c +1 −1
  3119. drivers/bluetooth/btmtkuart.c +629 −0
  3120. drivers/bluetooth/btqca.c +67 −56
  3121. drivers/bluetooth/btqca.h +20 −2
  3122. drivers/bluetooth/btrtl.c +372 −140
  3123. drivers/bluetooth/btrtl.h +53 −0
  3124. drivers/bluetooth/btusb.c +67 −49
  3125. drivers/bluetooth/hci_h5.c +201 −5
  3126. drivers/bluetooth/hci_intel.c +1 −1
  3127. drivers/bluetooth/hci_qca.c +430 −60
  3128. drivers/bus/Kconfig +10 −0
  3129. drivers/bus/Makefile +1 −0
  3130. drivers/bus/imx-weim.c +6 −1
  3131. drivers/bus/sun50i-de2.c +48 −0
  3132. drivers/bus/ti-sysc.c +68 −4
  3133. drivers/cdrom/cdrom.c +17 −13
  3134. drivers/char/Kconfig +14 −0
  3135. drivers/char/agp/alpha-agp.c +1 −1
  3136. drivers/char/agp/amd64-agp.c +2 −2
  3137. drivers/char/hpet.c +0 −2
  3138. drivers/char/hw_random/Kconfig +0 −13
  3139. drivers/char/hw_random/Makefile +0 −1
  3140. drivers/char/hw_random/atmel-rng.c +1 −0
  3141. drivers/char/hw_random/exynos-trng.c +1 −0
  3142. drivers/char/hw_random/imx-rngc.c +1 −0
  3143. drivers/char/hw_random/msm-rng.c +0 −183
  3144. drivers/char/hw_random/powernv-rng.c +1 −0
  3145. drivers/char/ipmi/ipmi_si_intf.c +4 −2
  3146. drivers/char/ipmi/kcs_bmc.c +10 −21
  3147. drivers/char/mem.c +2 −0
  3148. drivers/char/pcmcia/cm4000_cs.c +0 −4
  3149. drivers/char/random.c +44 −15
  3150. drivers/char/rtc.c +0 −13
  3151. drivers/char/tpm/tpm-chip.c +46 −22
  3152. drivers/char/tpm/tpm-interface.c +51 −21
  3153. drivers/char/tpm/tpm.h +20 −11
  3154. drivers/char/tpm/tpm2-cmd.c +106 −152
  3155. drivers/char/tpm/tpm2-space.c +6 −6
  3156. drivers/char/tpm/tpm_crb.c +27 −74
  3157. drivers/char/tpm/tpm_i2c_infineon.c +4 −4
  3158. drivers/char/tpm/tpm_tis_core.c +2 −0
  3159. drivers/char/tpm/tpm_tis_core.h +1 −0
  3160. drivers/char/tpm/tpm_tis_spi.c +8 −1
  3161. drivers/char/tpm/tpm_vtpm_proxy.c +1 −1
  3162. drivers/char/virtio_console.c +22 −38
  3163. drivers/clk/Kconfig +6 −0
  3164. drivers/clk/Makefile +2 −1
  3165. drivers/clk/actions/Kconfig +7 −0
  3166. drivers/clk/actions/Makefile +1 −0
  3167. drivers/clk/actions/owl-s700.c +606 −0
  3168. drivers/clk/at91/Makefile +1 −0
  3169. drivers/clk/at91/clk-i2s-mux.c +116 −0
  3170. drivers/clk/clk-aspeed.c +45 −16
  3171. drivers/clk/clk-cs2000-cp.c +1 −4
  3172. drivers/clk/clk-fixed-factor.c +8 −1
  3173. drivers/clk/clk-max9485.c +387 −0
  3174. drivers/clk/clk-scmi.c +2 −3
  3175. drivers/clk/clk-si514.c +37 −1
  3176. drivers/clk/clk-si544.c +37 −1
  3177. drivers/clk/clk.c +211 −10
  3178. drivers/clk/clkdev.c +1 −4
  3179. drivers/clk/davinci/da8xx-cfgchip.c +1 −1
  3180. drivers/clk/davinci/psc-da830.c +2 −1
  3181. drivers/clk/davinci/psc-da850.c +1 −2
  3182. drivers/clk/davinci/psc-dm365.c +2 −1
  3183. drivers/clk/davinci/psc-dm644x.c +2 −1
  3184. drivers/clk/davinci/psc-dm646x.c +2 −1
  3185. drivers/clk/davinci/psc.h +1 −1
  3186. drivers/clk/imx/clk-imx51-imx53.c +15 −29
  3187. drivers/clk/imx/clk-imx6q.c +3 −13
  3188. drivers/clk/imx/clk-imx6sl.c +0 −12
  3189. drivers/clk/imx/clk-imx6sll.c +7 −0
  3190. drivers/clk/imx/clk-imx6sx.c +15 −26
  3191. drivers/clk/imx/clk-imx6ul.c +12 −17
  3192. drivers/clk/imx/clk-imx7d.c +1 −0
  3193. drivers/clk/ingenic/jz4740-cgu.c +2 −2
  3194. drivers/clk/meson/Kconfig +19 −9
  3195. drivers/clk/meson/Makefile +3 −1
  3196. drivers/clk/meson/axg-audio.c +845 −0
  3197. drivers/clk/meson/axg-audio.h +127 −0
  3198. drivers/clk/meson/axg.c +209 −35
  3199. drivers/clk/meson/axg.h +7 −1
  3200. drivers/clk/meson/clk-audio-divider.c +0 −110
  3201. drivers/clk/meson/clk-phase.c +63 −0
  3202. drivers/clk/meson/clk-triphase.c +68 −0
  3203. drivers/clk/meson/clkc-audio.h +28 −0
  3204. drivers/clk/meson/clkc.h +6 −5
  3205. drivers/clk/meson/gxbb.c +76 −43
  3206. drivers/clk/meson/gxbb.h +3 −2
  3207. drivers/clk/meson/sclk-div.c +243 −0
  3208. drivers/clk/mvebu/armada-37xx-periph.c +39 −8
  3209. drivers/clk/pxa/clk-pxa25x.c +4 −2
  3210. drivers/clk/pxa/clk-pxa27x.c +4 −3
  3211. drivers/clk/pxa/clk-pxa3xx.c +4 −3
  3212. drivers/clk/qcom/Kconfig +19 −0
  3213. drivers/clk/qcom/Makefile +2 −0
  3214. drivers/clk/qcom/clk-alpha-pll.c +1 −9
  3215. drivers/clk/qcom/clk-alpha-pll.h +2 −12
  3216. drivers/clk/qcom/clk-branch.c +1 −9
  3217. drivers/clk/qcom/clk-branch.h +2 −12
  3218. drivers/clk/qcom/clk-rcg.h +2 −0
  3219. drivers/clk/qcom/clk-regmap.c +1 −9
  3220. drivers/clk/qcom/clk-regmap.h +2 −12
  3221. drivers/clk/qcom/clk-rpmh.c +329 −0
  3222. drivers/clk/qcom/common.c +1 −9
  3223. drivers/clk/qcom/common.h +3 −12
  3224. drivers/clk/qcom/dispcc-sdm845.c +685 −0
  3225. drivers/clk/qcom/gcc-apq8084.c +0 −2
  3226. drivers/clk/qcom/gcc-ipq4019.c +0 −2
  3227. drivers/clk/qcom/gcc-ipq806x.c +0 −3
  3228. drivers/clk/qcom/gcc-ipq8074.c +0 −2
  3229. drivers/clk/qcom/gcc-mdm9615.c +0 −2
  3230. drivers/clk/qcom/gcc-msm8660.c +0 −5
  3231. drivers/clk/qcom/gcc-msm8916.c +0 −2
  3232. drivers/clk/qcom/gcc-msm8960.c +0 −5
  3233. drivers/clk/qcom/gcc-msm8974.c +0 −2
  3234. drivers/clk/qcom/gcc-msm8994.c +0 −2
  3235. drivers/clk/qcom/gcc-msm8996.c +1 −2
  3236. drivers/clk/qcom/gcc-msm8998.c +0 −2
  3237. drivers/clk/qcom/gcc-sdm845.c +39 −6
  3238. drivers/clk/qcom/mmcc-apq8084.c +0 −2
  3239. drivers/clk/qcom/mmcc-msm8974.c +0 −2
  3240. drivers/clk/qcom/mmcc-msm8996.c +1 −2
  3241. drivers/clk/qcom/videocc-sdm845.c +0 −2
  3242. drivers/clk/renesas/Kconfig +6 −0
  3243. drivers/clk/renesas/Makefile +1 −0
  3244. drivers/clk/renesas/r8a7795-cpg-mssr.c +2 −0
  3245. drivers/clk/renesas/r9a06g032-clocks.c +893 −0
  3246. drivers/clk/rockchip/Makefile +2 −0
  3247. drivers/clk/rockchip/clk-half-divider.c +227 −0
  3248. drivers/clk/rockchip/clk-px30.c +1039 −0
  3249. drivers/clk/rockchip/clk-rk3399.c +2 −1
  3250. drivers/clk/rockchip/clk.c +10 −0
  3251. drivers/clk/rockchip/clk.h +125 −1
  3252. drivers/clk/samsung/Makefile +0 −1
  3253. drivers/clk/samsung/clk-exynos4412-isp.c +0 −2
  3254. drivers/clk/samsung/clk-exynos5440.c +0 −167
  3255. drivers/clk/socfpga/clk-s10.c +7 −2
  3256. drivers/clk/sunxi-ng/Makefile +15 −24
  3257. drivers/clk/sunxi-ng/ccu-sun8i-de2.c +4 −7
  3258. drivers/clk/sunxi-ng/ccu-sun8i-r40.c +32 −26
  3259. drivers/clk/sunxi-ng/ccu-sun8i-r40.h +6 −2
  3260. drivers/clk/tegra/Makefile +2 −0
  3261. drivers/clk/tegra/clk-bpmp.c +9 −3
  3262. drivers/clk/tegra/clk-divider.c +8 −27
  3263. drivers/clk/tegra/clk-emc.c +1 −1
  3264. drivers/clk/tegra/clk-id.h +0 −2
  3265. drivers/clk/tegra/clk-sdmmc-mux.c +251 −0
  3266. drivers/clk/tegra/clk-tegra-periph.c +0 −11
  3267. drivers/clk/tegra/clk-tegra124.c +2 −1
  3268. drivers/clk/tegra/clk-tegra210.c +12 −2
  3269. drivers/clk/tegra/clk-utils.c +43 −0
  3270. drivers/clk/tegra/clk.h +30 −0
  3271. drivers/clk/ti/clk-7xx.c +1 −0
  3272. drivers/clk/uniphier/clk-uniphier-peri.c +9 −0
  3273. drivers/clk/uniphier/clk-uniphier-sys.c +42 −16
  3274. drivers/clocksource/Kconfig +11 −0
  3275. drivers/clocksource/Makefile +2 −1
  3276. drivers/clocksource/arm_arch_timer.c +1 −1
  3277. drivers/clocksource/mtk_timer.c +0 −268
  3278. drivers/clocksource/riscv_timer.c +105 −0
  3279. drivers/clocksource/tegra20_timer.c +2 −2
  3280. drivers/clocksource/timer-atcpit100.c +1 −1
  3281. drivers/clocksource/timer-keystone.c +1 −1
  3282. drivers/clocksource/timer-mediatek.c +328 −0
  3283. drivers/clocksource/timer-sprd.c +50 −0
  3284. drivers/clocksource/timer-ti-32k.c +1 −2
  3285. drivers/clocksource/zevio-timer.c +1 −1
  3286. drivers/connector/connector.c +2 −1
  3287. drivers/cpufreq/Kconfig.arm +0 −14
  3288. drivers/cpufreq/Makefile +0 −1
  3289. drivers/cpufreq/armada-37xx-cpufreq.c +160 −3
  3290. drivers/cpufreq/cppc_cpufreq.c +52 −0
  3291. drivers/cpufreq/cpufreq.c +7 −1
  3292. drivers/cpufreq/cpufreq_governor.c +10 −2
  3293. drivers/cpufreq/exynos5440-cpufreq.c +0 −452
  3294. drivers/cpufreq/imx6q-cpufreq.c +21 −0
  3295. drivers/cpufreq/intel_pstate.c +48 −13
  3296. drivers/cpufreq/pcc-cpufreq.c +13 −0
  3297. drivers/cpufreq/powernv-cpufreq.c +16 −4
  3298. drivers/cpufreq/qcom-cpufreq-kryo.c +4 −2
  3299. drivers/cpuidle/cpuidle-arm.c +2 −1
  3300. drivers/cpuidle/cpuidle-powernv.c +26 −132
  3301. drivers/cpuidle/governors/menu.c +28 −17
  3302. drivers/crypto/Kconfig +15 −0
  3303. drivers/crypto/Makefile +2 −0
  3304. drivers/crypto/amcc/crypto4xx_core.c +6 −12
  3305. drivers/crypto/atmel-ecc.c +22 −13
  3306. drivers/crypto/atmel-sha.c +1 −3
  3307. drivers/crypto/axis/artpec6_crypto.c +12 −16
  3308. drivers/crypto/bcm/cipher.c +3 −5
  3309. drivers/crypto/caam/caamhash.c +1 −2
  3310. drivers/crypto/caam/sg_sw_qm2.h +1 −1
  3311. drivers/crypto/caam/sg_sw_sec4.h +1 −1
  3312. drivers/crypto/cavium/cpt/cptvf_algs.c +1 −1
  3313. drivers/crypto/cavium/nitrox/nitrox_lib.c +1 −1
  3314. drivers/crypto/ccp/ccp-crypto-aes-cmac.c +1 −2
  3315. drivers/crypto/ccp/ccp-crypto-sha.c +1 −2
  3316. drivers/crypto/ccp/psp-dev.c +20 −15
  3317. drivers/crypto/ccp/psp-dev.h +1 −18
  3318. drivers/crypto/ccp/sp-dev.h +6 −1
  3319. drivers/crypto/ccp/sp-pci.c +30 −6
  3320. drivers/crypto/ccree/cc_aead.c +1 −15
  3321. drivers/crypto/ccree/cc_buffer_mgr.c +2 −6
  3322. drivers/crypto/ccree/cc_cipher.c +91 −79
  3323. drivers/crypto/ccree/cc_cipher.h +0 −1
  3324. drivers/crypto/ccree/cc_driver.c +2 −2
  3325. drivers/crypto/ccree/cc_driver.h +0 −1
  3326. drivers/crypto/ccree/cc_hash.c +17 −68
  3327. drivers/crypto/chelsio/chcr_algo.c +2 −5
  3328. drivers/crypto/chelsio/chtls/chtls_cm.c +1 −1
  3329. drivers/crypto/chelsio/chtls/chtls_hw.c +1 −1
  3330. drivers/crypto/hisilicon/Kconfig +14 −0
  3331. drivers/crypto/hisilicon/Makefile +2 −0
  3332. drivers/crypto/hisilicon/sec/Makefile +3 −0
  3333. drivers/crypto/hisilicon/sec/sec_algs.c +1122 −0
  3334. drivers/crypto/hisilicon/sec/sec_drv.c +1323 −0
  3335. drivers/crypto/hisilicon/sec/sec_drv.h +428 −0
  3336. drivers/crypto/inside-secure/safexcel.c +304 −170
  3337. drivers/crypto/inside-secure/safexcel.h +124 −77
  3338. drivers/crypto/inside-secure/safexcel_cipher.c +402 −90
  3339. drivers/crypto/inside-secure/safexcel_hash.c +483 −77
  3340. drivers/crypto/inside-secure/safexcel_ring.c +42 −21
  3341. drivers/crypto/marvell/hash.c +1 −2
  3342. drivers/crypto/mediatek/mtk-platform.c +1 −0
  3343. drivers/crypto/n2_core.c +1 −2
  3344. drivers/crypto/nx/nx-842-powernv.c +28 −3
  3345. drivers/crypto/nx/nx-aes-xcbc.c +0 −1
  3346. drivers/crypto/nx/nx-sha256.c +0 −1
  3347. drivers/crypto/nx/nx-sha512.c +0 −1
  3348. drivers/crypto/omap-sham.c +12 −24
  3349. drivers/crypto/padlock-aes.c +6 −2
  3350. drivers/crypto/padlock-sha.c +2 −6
  3351. drivers/crypto/qat/qat_common/adf_aer.c +1 −1
  3352. drivers/crypto/qce/core.c +1 −0
  3353. drivers/crypto/qce/sha.c +1 −2
  3354. drivers/crypto/qcom-rng.c +229 −0
  3355. drivers/crypto/s5p-sss.c +3 −6
  3356. drivers/crypto/sahara.c +4 −6
  3357. drivers/crypto/stm32/stm32-cryp.c +62 −0
  3358. drivers/crypto/stm32/stm32-hash.c +79 −16
  3359. drivers/crypto/stm32/stm32_crc32.c +66 −6
  3360. drivers/crypto/sunxi-ss/sun4i-ss-core.c +5 −15
  3361. drivers/crypto/talitos.c +12 −25
  3362. drivers/crypto/ux500/cryp/cryp_core.c +1 −0
  3363. drivers/crypto/ux500/hash/hash_core.c +5 −11
  3364. drivers/crypto/virtio/virtio_crypto_algs.c +78 −38
  3365. drivers/crypto/virtio/virtio_crypto_common.h +22 −3
  3366. drivers/crypto/virtio/virtio_crypto_core.c +31 −2
  3367. drivers/crypto/virtio/virtio_crypto_mgr.c +75 −6
  3368. drivers/crypto/vmx/ghash.c +1 −1
  3369. drivers/crypto/vmx/ghashp8-ppc.pl +6 −6
  3370. drivers/dax/device.c +57 −32
  3371. drivers/dax/pmem.c +8 −4
  3372. drivers/dax/super.c +1 −2
  3373. drivers/devfreq/devfreq.c +9 −7
  3374. drivers/devfreq/event/exynos-ppmu.c +2 −4
  3375. drivers/devfreq/rk3399_dmc.c +40 −62
  3376. drivers/devfreq/tegra-devfreq.c +1 −0
  3377. drivers/dma/Kconfig +9 −0
  3378. drivers/dma/Makefile +1 −0
  3379. drivers/dma/dmaengine.c +52 −24
  3380. drivers/dma/ep93xx_dma.c +1 −0
  3381. drivers/dma/hsu/hsu.c +8 −0
  3382. drivers/dma/idma64.c +8 −0
  3383. drivers/dma/imx-sdma.c +379 −199
  3384. drivers/dma/ioat/dma.c +6 −0
  3385. drivers/dma/k3dma.c +1 −1
  3386. drivers/dma/mic_x100_dma.c +1 −7
  3387. drivers/dma/mv_xor_v2.c +10 −6
  3388. drivers/dma/nbpfaxi.c +1 −0
  3389. drivers/dma/owl-dma.c +971 −0
  3390. drivers/dma/pl330.c +7 −7
  3391. drivers/dma/pxa_dma.c +14 −1
  3392. drivers/dma/s3c24xx-dma.c +1 −0
  3393. drivers/dma/sh/rcar-dmac.c +46 −66
  3394. drivers/dma/ste_dma40.c +13 −2
  3395. drivers/dma/stm32-dma.c +2 −2
  3396. drivers/dma/stm32-mdma.c +4 −4
  3397. drivers/dma/ti/omap-dma.c +5 −1
  3398. drivers/dma/xilinx/xilinx_dma.c +22 −0
  3399. drivers/edac/altera_edac.c +2 −1
  3400. drivers/edac/edac_mc.c +1 −0
  3401. drivers/edac/edac_mc_sysfs.c +3 −3
  3402. drivers/edac/i7core_edac.c +15 −7
  3403. drivers/edac/sb_edac.c +12 −5
  3404. drivers/edac/thunderx_edac.c +9 −5
  3405. drivers/extcon/extcon-intel-cht-wc.c +1 −0
  3406. drivers/extcon/extcon-intel-int3496.c +1 −1
  3407. drivers/extcon/extcon-max3355.c +1 −0
  3408. drivers/extcon/extcon-qcom-spmi-misc.c +1 −0
  3409. drivers/extcon/extcon-usbc-cros-ec.c +6 −16
  3410. drivers/extcon/extcon.c +2 −1
  3411. drivers/firewire/core-cdev.c +4 −4
  3412. drivers/firmware/arm_scmi/perf.c +0 −5
  3413. drivers/firmware/efi/Kconfig +12 −0
  3414. drivers/firmware/efi/arm-init.c +0 −1
  3415. drivers/firmware/efi/arm-runtime.c +10 −8
  3416. drivers/firmware/efi/cper.c +16 −3
  3417. drivers/firmware/efi/efi-bgrt.c +1 −1
  3418. drivers/firmware/efi/efi.c +16 −7
  3419. drivers/firmware/efi/esrt.c +6 −2
  3420. drivers/firmware/efi/libstub/Makefile +6 −2
  3421. drivers/firmware/efi/libstub/arm-stub.c +4 −28
  3422. drivers/firmware/efi/libstub/efi-stub-helper.c +29 −2
  3423. drivers/firmware/efi/libstub/efistub.h +0 −3
  3424. drivers/firmware/efi/runtime-wrappers.c +187 −15
  3425. drivers/firmware/google/vpd.c +4 −1
  3426. drivers/firmware/psci_checker.c +49 −34
  3427. drivers/firmware/qemu_fw_cfg.c +1 −0
  3428. drivers/firmware/raspberrypi.c +27 −2
  3429. drivers/fpga/Kconfig +68 −0
  3430. drivers/fpga/Makefile +14 −0
  3431. drivers/fpga/altera-cvp.c +4 −2
  3432. drivers/fpga/dfl-afu-dma-region.c +463 −0
  3433. drivers/fpga/dfl-afu-main.c +636 −0
  3434. drivers/fpga/dfl-afu-region.c +166 −0
  3435. drivers/fpga/dfl-afu.h +100 −0
  3436. drivers/fpga/dfl-fme-br.c +114 −0
  3437. drivers/fpga/dfl-fme-main.c +279 −0
  3438. drivers/fpga/dfl-fme-mgr.c +349 −0
  3439. drivers/fpga/dfl-fme-pr.c +479 −0
  3440. drivers/fpga/dfl-fme-pr.h +84 −0
  3441. drivers/fpga/dfl-fme-region.c +89 −0
  3442. drivers/fpga/dfl-fme.h +38 −0
  3443. drivers/fpga/dfl-pci.c +243 −0
  3444. drivers/fpga/dfl.c +1044 −0
  3445. drivers/fpga/dfl.h +410 −0
  3446. drivers/fpga/fpga-mgr.c +28 −0
  3447. drivers/fpga/fpga-region.c +22 −0
  3448. drivers/fsi/Kconfig +32 −0
  3449. drivers/fsi/Makefile +2 −0
  3450. drivers/fsi/cf-fsi-fw.h +157 −0
  3451. drivers/fsi/fsi-core.c +475 −115
  3452. drivers/fsi/fsi-master-ast-cf.c +1440 −0
  3453. drivers/fsi/fsi-master-gpio.c +338 −133
  3454. drivers/fsi/fsi-master-hub.c +3 −2
  3455. drivers/fsi/fsi-master.h +37 −0
  3456. drivers/fsi/fsi-sbefifo.c +1066 −0
  3457. drivers/fsi/fsi-scom.c +486 −72
  3458. drivers/gnss/Kconfig +43 −0
  3459. drivers/gnss/Makefile +16 −0
  3460. drivers/gnss/core.c +420 −0
  3461. drivers/gnss/serial.c +275 −0
  3462. drivers/gnss/serial.h +47 −0
  3463. drivers/gnss/sirf.c +408 −0
  3464. drivers/gnss/ubx.c +153 −0
  3465. drivers/gpio/Kconfig +17 −1
  3466. drivers/gpio/Makefile +2 −0
  3467. drivers/gpio/gpio-aspeed.c +368 −58
  3468. drivers/gpio/gpio-ath79.c +1 −1
  3469. drivers/gpio/gpio-bcm-kona.c +4 −2
  3470. drivers/gpio/gpio-davinci.c +42 −28
  3471. drivers/gpio/gpio-dwapb.c +4 −2
  3472. drivers/gpio/gpio-em.c +4 −2
  3473. drivers/gpio/gpio-it87.c +13 −0
  3474. drivers/gpio/gpio-madera.c +206 −0
  3475. drivers/gpio/gpio-max732x.c +12 −0
  3476. drivers/gpio/gpio-menz127.c +2 −2
  3477. drivers/gpio/gpio-ml-ioh.c +2 −1
  3478. drivers/gpio/gpio-mmio.c +63 −45
  3479. drivers/gpio/gpio-mt7621.c +332 −0
  3480. drivers/gpio/gpio-mxc.c +73 −0
  3481. drivers/gpio/gpio-mxs.c +1 −2
  3482. drivers/gpio/gpio-omap.c +86 −2
  3483. drivers/gpio/gpio-pca953x.c +1 −1
  3484. drivers/gpio/gpio-pisosr.c +22 −0
  3485. drivers/gpio/gpio-pxa.c +30 −12
  3486. drivers/gpio/gpio-rc5t583.c +1 −1
  3487. drivers/gpio/gpio-rcar.c +9 −1
  3488. drivers/gpio/gpio-rdc321x.c +1 −1
  3489. drivers/gpio/gpio-sa1100.c +1 −1
  3490. drivers/gpio/gpio-sch.c +9 −2
  3491. drivers/gpio/gpio-sch311x.c +57 −13
  3492. drivers/gpio/gpio-spear-spics.c +1 −1
  3493. drivers/gpio/gpio-sta2x11.c +16 −25
  3494. drivers/gpio/gpio-stmpe.c +1 −1
  3495. drivers/gpio/gpio-stp-xway.c +16 −2
  3496. drivers/gpio/gpio-syscon.c +32 −1
  3497. drivers/gpio/gpio-tb10x.c +1 −2
  3498. drivers/gpio/gpio-tegra.c +11 −19
  3499. drivers/gpio/gpio-tegra186.c +74 −0
  3500. drivers/gpio/gpio-timberdale.c +1 −1
  3501. drivers/gpio/gpio-uniphier.c +6 −3
  3502. drivers/gpio/gpio-vr41xx.c +7 −1
  3503. drivers/gpio/gpio-xgene-sb.c +4 −2
  3504. drivers/gpio/gpio-xilinx.c +1 −1
  3505. drivers/gpio/gpiolib-acpi.c +62 −5
  3506. drivers/gpio/gpiolib-of.c +2 −4
  3507. drivers/gpio/gpiolib.c +57 −25
  3508. drivers/gpio/gpiolib.h +1 −1
  3509. drivers/gpu/drm/amd/amdgpu/amdgpu.h +24 −123
  3510. drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c +37 −10
  3511. drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c +137 −47
  3512. drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c +43 −4
  3513. drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h +10 −0
  3514. drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c +27 −0
  3515. drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c +9 −0
  3516. drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c +8 −0
  3517. drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +65 −62
  3518. drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c +9 −2
  3519. drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c +14 −2
  3520. drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c +121 −146
  3521. drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h +85 −0
  3522. drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c +4 −4
  3523. drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +147 −105
  3524. drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c +10 −13
  3525. drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +257 −127
  3526. drivers/gpu/drm/amd/amdgpu/amdgpu_display.c +8 −3
  3527. drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c +5 −2
  3528. drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h +4 −10
  3529. drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +232 −24
  3530. drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c +12 −4
  3531. drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c +6 −8
  3532. drivers/gpu/drm/amd/amdgpu/amdgpu_gart.h +2 −0
  3533. drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c +4 −4
  3534. drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h +2 −0
  3535. drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c +7 −7
  3536. drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c +0 −5
  3537. drivers/gpu/drm/amd/amdgpu/amdgpu_job.c +49 −30
  3538. drivers/gpu/drm/amd/amdgpu/amdgpu_job.h +74 −0
  3539. drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c +29 −26
  3540. drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c +38 −10
  3541. drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +67 −48
  3542. drivers/gpu/drm/amd/amdgpu/amdgpu_object.h +7 −4
  3543. drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +90 −65
  3544. drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c +2 −3
  3545. drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +5 −0
  3546. drivers/gpu/drm/amd/amdgpu/amdgpu_queue_mgr.c +12 −10
  3547. drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c +2 −1
  3548. drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h +3 −0
  3549. drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c +6 −15
  3550. drivers/gpu/drm/amd/amdgpu/amdgpu_test.c +10 −2
  3551. drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h +10 −5
  3552. drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +89 −94
  3553. drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h +1 −1
  3554. drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h +4 −0
  3555. drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +95 −79
  3556. drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h +10 −6
  3557. drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +36 −32
  3558. drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h +1 −0
  3559. drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +20 −24
  3560. drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +98 −28
  3561. drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h +17 −0
  3562. drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c +9 −13
  3563. drivers/gpu/drm/amd/amdgpu/atom.c +1 −1
  3564. drivers/gpu/drm/amd/amdgpu/ci_dpm.c +20 −8
  3565. drivers/gpu/drm/amd/amdgpu/cik.c +1 −1
  3566. drivers/gpu/drm/amd/amdgpu/cik_sdma.c +18 −18
  3567. drivers/gpu/drm/amd/amdgpu/dce_v10_0.c +9 −7
  3568. drivers/gpu/drm/amd/amdgpu/dce_v11_0.c +9 −7
  3569. drivers/gpu/drm/amd/amdgpu/dce_v6_0.c +5 −5
  3570. drivers/gpu/drm/amd/amdgpu/dce_v8_0.c +5 −5
  3571. drivers/gpu/drm/amd/amdgpu/dce_virtual.c +2 −1
  3572. drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +28 −28
  3573. drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +36 −36
  3574. drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +95 −39
  3575. drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +100 −24
  3576. drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +7 −7
  3577. drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c +39 −9
  3578. drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +42 −5
  3579. drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c +12 −5
  3580. drivers/gpu/drm/amd/amdgpu/kv_dpm.c +14 −1
  3581. drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c +2 −2
  3582. drivers/gpu/drm/amd/amdgpu/psp_v10_0.c +3 −0
  3583. drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +10 −8
  3584. drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +10 −10
  3585. drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +16 −14
  3586. drivers/gpu/drm/amd/amdgpu/si_dpm.c +12 −13
  3587. drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c +4 −0
  3588. drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c +6 −1
  3589. drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c +13 −31
  3590. drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c +97 −34
  3591. drivers/gpu/drm/amd/amdgpu/vce_v2_0.c +8 −4
  3592. drivers/gpu/drm/amd/amdgpu/vce_v3_0.c +18 −11
  3593. drivers/gpu/drm/amd/amdgpu/vce_v4_0.c +19 −9
  3594. drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c +37 −13
  3595. drivers/gpu/drm/amd/amdgpu/vega10_reg_init.c +1 −0
  3596. drivers/gpu/drm/amd/amdgpu/vega20_reg_init.c +3 −0
  3597. drivers/gpu/drm/amd/amdgpu/vi.c +8 −8
  3598. drivers/gpu/drm/amd/amdkfd/cik_event_interrupt.c +49 −5
  3599. drivers/gpu/drm/amd/amdkfd/cik_int.h +4 −3
  3600. drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h +233 −225
  3601. drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx8.asm +15 −3
  3602. drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx9.asm +14 −2
  3603. drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +63 −6
  3604. drivers/gpu/drm/amd/amdkfd/kfd_crat.c +46 −11
  3605. drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.c +0 −1
  3606. drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.h +37 −0
  3607. drivers/gpu/drm/amd/amdkfd/kfd_debugfs.c +48 −0
  3608. drivers/gpu/drm/amd/amdkfd/kfd_device.c +115 −7
  3609. drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +177 −106
  3610. drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h +26 −6
  3611. drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_v9.c +1 −1
  3612. drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c +5 −4
.clang-format+1−1
@@ -382,7 +382,7 @@ IncludeIsMainRegex: '(Test)?$' · 381 unmodified lines
382IndentCaseLabels: false382IndentCaseLabels: false
383#IndentPPDirectives: None # Unknown to clang-format-5.0383#IndentPPDirectives: None # Unknown to clang-format-5.0
384IndentWidth: 8384IndentWidth: 8
385IndentWrappedFunctionNames: true385IndentWrappedFunctionNames: false
386JavaScriptQuotes: Leave386JavaScriptQuotes: Leave
387JavaScriptWrapImports: true387JavaScriptWrapImports: true
388KeepEmptyLinesAtTheStartOfBlocks: false388KeepEmptyLinesAtTheStartOfBlocks: false
.mailmap+6−0
@@ -31,6 +31,8 @@ Arnaud Patard <arnaud.patard@rtp-net.org> · 30 unmodified lines
31Arnd Bergmann <arnd@arndb.de>31Arnd Bergmann <arnd@arndb.de>
32Axel Dyks <xl@xlsigned.net>32Axel Dyks <xl@xlsigned.net>
33Axel Lin <axel.lin@gmail.com>33Axel Lin <axel.lin@gmail.com>
34Bart Van Assche <bvanassche@acm.org> <bart.vanassche@wdc.com>
35Bart Van Assche <bvanassche@acm.org> <bart.vanassche@sandisk.com>
34Ben Gardner <bgardner@wabtec.com>36Ben Gardner <bgardner@wabtec.com>
35Ben M Cahill <ben.m.cahill@intel.com>37Ben M Cahill <ben.m.cahill@intel.com>
36Björn Steinbrink <B.Steinbrink@gmx.de>38Björn Steinbrink <B.Steinbrink@gmx.de>
@@ -81,6 +83,9 @@ Javi Merino <javi.merino@kernel.org> <javi.merino@arm.com> · 44 unmodified lines
81<javier@osg.samsung.com> <javier.martinez@collabora.co.uk>83<javier@osg.samsung.com> <javier.martinez@collabora.co.uk>
82Jean Tourrilhes <jt@hpl.hp.com>84Jean Tourrilhes <jt@hpl.hp.com>
83Jeff Garzik <jgarzik@pretzel.yyz.us>85Jeff Garzik <jgarzik@pretzel.yyz.us>
86Jeff Layton <jlayton@kernel.org> <jlayton@redhat.com>
87Jeff Layton <jlayton@kernel.org> <jlayton@poochiereds.net>
88Jeff Layton <jlayton@kernel.org> <jlayton@primarydata.com>
84Jens Axboe <axboe@suse.de>89Jens Axboe <axboe@suse.de>
85Jens Osterkamp <Jens.Osterkamp@de.ibm.com>90Jens Osterkamp <Jens.Osterkamp@de.ibm.com>
86Johan Hovold <johan@kernel.org> <jhovold@gmail.com>91Johan Hovold <johan@kernel.org> <jhovold@gmail.com>
@@ -154,6 +159,7 @@ Ralf Wildenhues <Ralf.Wildenhues@gmx.de> · 67 unmodified lines
154Randy Dunlap <rdunlap@infradead.org> <rdunlap@xenotime.net>159Randy Dunlap <rdunlap@infradead.org> <rdunlap@xenotime.net>
155Rémi Denis-Courmont <rdenis@simphalempin.com>160Rémi Denis-Courmont <rdenis@simphalempin.com>
156Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>161Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
162Ross Zwisler <zwisler@kernel.org> <ross.zwisler@linux.intel.com>
157Rudolf Marek <R.Marek@sh.cvut.cz>163Rudolf Marek <R.Marek@sh.cvut.cz>
158Rui Saraiva <rmps@joel.ist.utl.pt>164Rui Saraiva <rmps@joel.ist.utl.pt>
159Sachin P Sant <ssant@in.ibm.com>165Sachin P Sant <ssant@in.ibm.com>
CREDITS+5−0
@@ -2571,6 +2571,11 @@ S: Helstorfer Str. 7 · 2570 unmodified lines
2571S: D-30625 Hannover2571S: D-30625 Hannover
2572S: Germany2572S: Germany
2573 2573
2574N: Ron Minnich
2575E: rminnich@sandia.gov
2576E: rminnich@gmail.com
2577D: 9p filesystem development
2578
2574N: Corey Minyard2579N: Corey Minyard
2575E: minyard@wf-rch.cirr.com2580E: minyard@wf-rch.cirr.com
2576E: minyard@mvista.com2581E: minyard@mvista.com
Documentation/ABI/obsolete/sysfs-class-typec+48−0
@@ -0,0 +1,48 @@
1These files are deprecated and will be removed. The same files are available
2under /sys/bus/typec (see Documentation/ABI/testing/sysfs-bus-typec).
3
4What: /sys/class/typec/<port|partner|cable>/<dev>/svid
5Date: April 2017
6Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
7Description:
8 The SVID (Standard or Vendor ID) assigned by USB-IF for this
9 alternate mode.
10
11What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/
12Date: April 2017
13Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
14Description:
15 Every supported mode will have its own directory. The name of
16 a mode will be "mode<index>" (for example mode1), where <index>
17 is the actual index to the mode VDO returned by Discover Modes
18 USB power delivery command.
19
20What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/description
21Date: April 2017
22Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
23Description:
24 Shows description of the mode. The description is optional for
25 the drivers, just like with the Billboard Devices.
26
27What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/vdo
28Date: April 2017
29Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
30Description:
31 Shows the VDO in hexadecimal returned by Discover Modes command
32 for this mode.
33
34What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/active
35Date: April 2017
36Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
37Description:
38 Shows if the mode is active or not. The attribute can be used
39 for entering/exiting the mode with partners and cable plugs, and
40 with the port alternate modes it can be used for disabling
41 support for specific alternate modes. Entering/exiting modes is
42 supported as synchronous operation so write(2) to the attribute
43 does not return until the enter/exit mode operation has
44 finished. The attribute is notified when the mode is
45 entered/exited so poll(2) on the attribute wakes up.
46 Entering/exiting a mode will also generate uevent KOBJ_CHANGE.
47
48 Valid values: yes, no
Documentation/ABI/stable/sysfs-bus-vmbus+7−0
@@ -42,6 +42,13 @@ Contact: K. Y. Srinivasan <kys@microsoft.com> · 41 unmodified lines
42Description: The 16 bit vendor ID of the device42Description: The 16 bit vendor ID of the device
43Users: tools/hv/lsvmbus and user level RDMA libraries43Users: tools/hv/lsvmbus and user level RDMA libraries
44 44
45What: /sys/bus/vmbus/devices/<UUID>/numa_node
46Date: Jul 2018
47KernelVersion: 4.19
48Contact: Stephen Hemminger <sthemmin@microsoft.com>
49Description: This NUMA node to which the VMBUS device is
50 attached, or -1 if the node is unknown.
51
45What: /sys/bus/vmbus/devices/<UUID>/channels/<N>52What: /sys/bus/vmbus/devices/<UUID>/channels/<N>
46Date: September. 201753Date: September. 2017
47KernelVersion: 4.1454KernelVersion: 4.14
Documentation/ABI/stable/sysfs-class-rfkill+3−3
@@ -11,7 +11,7 @@ KernelVersion: v2.6.22 · 10 unmodified lines
11Contact: linux-wireless@vger.kernel.org,11Contact: linux-wireless@vger.kernel.org,
12Description: The rfkill class subsystem folder.12Description: The rfkill class subsystem folder.
13 Each registered rfkill driver is represented by an rfkillX13 Each registered rfkill driver is represented by an rfkillX
14 subfolder (X being an integer > 0).14 subfolder (X being an integer >= 0).
15 15
16 16
17What: /sys/class/rfkill/rfkill[0-9]+/name17What: /sys/class/rfkill/rfkill[0-9]+/name
@@ -48,8 +48,8 @@ Contact: linux-wireless@vger.kernel.org · 30 unmodified lines
48Description: Current state of the transmitter.48Description: Current state of the transmitter.
49 This file was scheduled to be removed in 2014, but due to its49 This file was scheduled to be removed in 2014, but due to its
50 large number of users it will be sticking around for a bit50 large number of users it will be sticking around for a bit
51 longer. Despite it being marked as stabe, the newer "hard" and51 longer. Despite it being marked as stable, the newer "hard" and
52 "soft" interfaces should be preffered, since it is not possible52 "soft" interfaces should be preferred, since it is not possible
53 to express the 'soft and hard block' state of the rfkill driver53 to express the 'soft and hard block' state of the rfkill driver
54 through this interface. There will likely be another attempt to54 through this interface. There will likely be another attempt to
55 remove it in the future.55 remove it in the future.
Documentation/ABI/stable/sysfs-driver-mlxreg-io+78−0
@@ -0,0 +1,78 @@
1What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/
2 asic_health
3
4Date: June 2018
5KernelVersion: 4.19
6Contact: Vadim Pasternak <vadimpmellanox.com>
7Description: This file shows ASIC health status. The possible values are:
8 0 - health failed, 2 - health OK, 3 - ASIC in booting state.
9
10 The files are read only.
11
12What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/
13 cpld1_version
14 cpld2_version
15
16Date: June 2018
17KernelVersion: 4.19
18Contact: Vadim Pasternak <vadimpmellanox.com>
19Description: These files show with which CPLD versions have been burned
20 on carrier and switch boards.
21
22 The files are read only.
23
24What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/select_iio
25Date: June 2018
26KernelVersion: 4.19
27Contact: Vadim Pasternak <vadimpmellanox.com>
28Description: This file allows iio devices selection.
29
30 Attribute select_iio can be written with 0 or with 1. It
31 selects which one of iio devices can be accessed.
32
33 The file is read/write.
34
35What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/psu1_on
36 /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/psu2_on
37 /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/pwr_cycle
38 /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/pwr_down
39Date: June 2018
40KernelVersion: 4.19
41Contact: Vadim Pasternak <vadimpmellanox.com>
42Description: These files allow asserting system power cycling, switching
43 power supply units on and off and system's main power domain
44 shutdown.
45 Expected behavior:
46 When pwr_cycle is written 1: auxiliary power domain will go
47 down and after short period (about 1 second) up.
48 When psu1_on or psu2_on is written 1, related unit will be
49 disconnected from the power source, when written 0 - connected.
50 If both are written 1 - power supplies main power domain will
51 go down.
52 When pwr_down is written 1, system's main power domain will go
53 down.
54
55 The files are write only.
56
57What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/
58 reset_aux_pwr_or_ref
59 reset_asic_thermal
60 reset_hotswap_or_halt
61 reset_hotswap_or_wd
62 reset_fw_reset
63 reset_long_pb
64 reset_main_pwr_fail
65 reset_short_pb
66 reset_sw_reset
67Date: June 2018
68KernelVersion: 4.19
69Contact: Vadim Pasternak <vadimpmellanox.com>
70Description: These files show the system reset cause, as following: power
71 auxiliary outage or power refresh, ASIC thermal shutdown, halt,
72 hotswap, watchdog, firmware reset, long press power button,
73 short press power button, software reset. Value 1 in file means
74 this is reset cause, 0 - otherwise. Only one of the above
75 causes could be 1 at the same time, representing only last
76 reset cause.
77
78 The files are read only.
Documentation/ABI/testing/configfs-usb-gadget-uvc+5−0
@@ -263,3 +263,8 @@ Description: Specific streaming header descriptors · 262 unmodified lines
263 is connected263 is connected
264 bmInfo - capabilities of this video streaming264 bmInfo - capabilities of this video streaming
265 interface265 interface
266
267What: /sys/class/udc/udc.name/device/gadget/video4linux/video.name/function_name
268Date: May 2018
269KernelVersion: 4.19
270Description: UVC configfs function instance name
Documentation/ABI/testing/ppc-memtrace+5−4
@@ -13,10 +13,11 @@ Contact: linuxppc-dev@lists.ozlabs.org · 12 unmodified lines
13Description: Write an integer containing the size in bytes of the memory13Description: Write an integer containing the size in bytes of the memory
14 you want removed from each NUMA node to this file - it must be14 you want removed from each NUMA node to this file - it must be
15 aligned to the memblock size. This amount of RAM will be removed15 aligned to the memblock size. This amount of RAM will be removed
16 from the kernel mappings and the following debugfs files will be16 from each NUMA node in the kernel mappings and the following
17 created. This can only be successfully done once per boot. Once17 debugfs files will be created. Once memory is successfully
18 memory is successfully removed from each node, the following18 removed from each node, the following files are created. To
19 files are created.19 re-add memory to the kernel, echo 0 into this file (it will be
20 automatically onlined).
20 21
21What: /sys/kernel/debug/powerpc/memtrace/<node-id>22What: /sys/kernel/debug/powerpc/memtrace/<node-id>
22Date: Aug 201723Date: Aug 2017
Documentation/ABI/testing/procfs-diskstats+10−0
@@ -5,6 +5,7 @@ Description: · 4 unmodified lines
5 The /proc/diskstats file displays the I/O statistics5 The /proc/diskstats file displays the I/O statistics
6 of block devices. Each line contains the following 146 of block devices. Each line contains the following 14
7 fields:7 fields:
8
8 1 - major number9 1 - major number
9 2 - minor mumber10 2 - minor mumber
10 3 - device name11 3 - device name
@@ -19,4 +20,13 @@ Description: · 8 unmodified lines
19 12 - I/Os currently in progress20 12 - I/Os currently in progress
20 13 - time spent doing I/Os (ms)21 13 - time spent doing I/Os (ms)
21 14 - weighted time spent doing I/Os (ms)22 14 - weighted time spent doing I/Os (ms)
23
24 Kernel 4.18+ appends four more fields for discard
25 tracking putting the total at 18:
26
27 15 - discards completed successfully
28 16 - discards merged
29 17 - sectors discarded
30 18 - time spent discarding
31
22 For more details refer to Documentation/iostats.txt32 For more details refer to Documentation/iostats.txt
Documentation/ABI/testing/sysfs-bus-coresight-devices-tmc+8−0
@@ -83,3 +83,11 @@ KernelVersion: 4.7 · 82 unmodified lines
83Contact: Mathieu Poirier <mathieu.poirier@linaro.org>83Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
84Description: (R) Indicates the capabilities of the Coresight TMC.84Description: (R) Indicates the capabilities of the Coresight TMC.
85 The value is read directly from the DEVID register, 0xFC8,85 The value is read directly from the DEVID register, 0xFC8,
86
87What: /sys/bus/coresight/devices/<memory_map>.tmc/buffer_size
88Date: December 2018
89KernelVersion: 4.19
90Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
91Description: (RW) Size of the trace buffer for TMC-ETR when used in SYSFS
92 mode. Writable only for TMC-ETR configurations. The value
93 should be aligned to the kernel pagesize.
Documentation/ABI/testing/sysfs-bus-iio+24−2
@@ -197,6 +197,18 @@ Description: · 196 unmodified lines
197 Angle of rotation. Units after application of scale and offset197 Angle of rotation. Units after application of scale and offset
198 are radians.198 are radians.
199 199
200What: /sys/bus/iio/devices/iio:deviceX/in_positionrelative_x_raw
201What: /sys/bus/iio/devices/iio:deviceX/in_positionrelative_y_raw
202KernelVersion: 4.18
203Contact: linux-iio@vger.kernel.org
204Description:
205 Relative position in direction x or y on a pad (may be
206 arbitrarily assigned but should match other such assignments on
207 device).
208 Units after application of scale and offset are milli percents
209 from the pad's size in both directions. Should be calibrated by
210 the consumer.
211
200What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_raw212What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_raw
201What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_raw213What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_raw
202What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_raw214What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_raw
@@ -1295,13 +1307,16 @@ What: /sys/.../iio:deviceX/in_intensityY_raw · 1092 unmodified lines
1295What: /sys/.../iio:deviceX/in_intensityY_ir_raw1307What: /sys/.../iio:deviceX/in_intensityY_ir_raw
1296What: /sys/.../iio:deviceX/in_intensityY_both_raw1308What: /sys/.../iio:deviceX/in_intensityY_both_raw
1297What: /sys/.../iio:deviceX/in_intensityY_uv_raw1309What: /sys/.../iio:deviceX/in_intensityY_uv_raw
1310What: /sys/.../iio:deviceX/in_intensityY_duv_raw
1298KernelVersion: 3.41311KernelVersion: 3.4
1299Contact: linux-iio@vger.kernel.org1312Contact: linux-iio@vger.kernel.org
1300Description:1313Description:
1301 Unit-less light intensity. Modifiers both and ir indicate1314 Unit-less light intensity. Modifiers both and ir indicate
1302 that measurements contain visible and infrared light1315 that measurements contain visible and infrared light
1303 components or just infrared light, respectively. Modifier uv indicates1316 components or just infrared light, respectively. Modifier
1304 that measurements contain ultraviolet light components.1317 uv indicates that measurements contain ultraviolet light
1318 components. Modifier duv indicates that measurements
1319 contain deep ultraviolet light components.
1305 1320
1306What: /sys/.../iio:deviceX/in_uvindex_input1321What: /sys/.../iio:deviceX/in_uvindex_input
1307KernelVersion: 4.61322KernelVersion: 4.6
@@ -1663,3 +1678,10 @@ KernelVersion: 4.12 · 355 unmodified lines
1663Contact: linux-iio@vger.kernel.org1678Contact: linux-iio@vger.kernel.org
1664Description:1679Description:
1665 Raw counter device counters direction for channel Y.1680 Raw counter device counters direction for channel Y.
1681
1682What: /sys/bus/iio/devices/iio:deviceX/in_phaseY_raw
1683KernelVersion: 4.18
1684Contact: linux-iio@vger.kernel.org
1685Description:
1686 Raw (unscaled) phase difference reading from channel Y
1687 that can be processed to radians.
Documentation/ABI/testing/sysfs-bus-iio-isl29501+47−0
@@ -0,0 +1,47 @@
1What: /sys/bus/iio/devices/iio:deviceX/in_proximity0_agc_gain
2What: /sys/bus/iio/devices/iio:deviceX/in_proximity0_agc_gain_bias
3KernelVersion: 4.18
4Contact: linux-iio@vger.kernel.org
5Description:
6 This sensor has an automatic gain control (agc) loop
7 which sets the analog signal levels at an optimum
8 level by controlling programmable gain amplifiers. The
9 criteria for optimal gain is determined by the sensor.
10
11 Return the actual gain value as an integer in [0; 65536]
12 range when read from.
13
14 The agc gain read when measuring crosstalk shall be
15 written into in_proximity0_agc_gain_bias.
16
17What: /sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_temp_a
18What: /sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_temp_b
19What: /sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_light_a
20What: /sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_light_b
21KernelVersion: 4.18
22Contact: linux-iio@vger.kernel.org
23Description:
24 The sensor is able to perform correction of distance
25 measurements due to changing temperature and ambient
26 light conditions. It can be programmed to correct for
27 a second order error polynomial.
28
29 Phase data has to be collected when temperature and
30 ambient light are modulated independently.
31
32 Then a least squares curve fit to a second order
33 polynomial has to be generated from the data. The
34 resultant curves have the form ax^2 + bx + c.
35
36 From those two curves, a and b coefficients shall be
37 stored in in_proximity0_calib_phase_temp_a and
38 in_proximity0_calib_phase_temp_b for temperature and
39 in in_proximity0_calib_phase_light_a and
40 in_proximity0_calib_phase_light_b for ambient light.
41
42 Those values must be integer in [0; 8355840] range.
43
44 Finally, the c constant is set by the sensor
45 internally.
46
47 The value stored in sensor is displayed when read from.
Documentation/ABI/testing/sysfs-bus-iio-light-si1133+22−0
@@ -0,0 +1,22 @@
1What: /sys/bus/iio/devices/iio:deviceX/in_intensity_ir_small_raw
2KernelVersion: 4.18
3Contact: linux-iio@vger.kernel.org
4Description:
5 Unit-less infrared intensity. The intensity is measured from 1
6 dark photodiode. "small" indicate the surface area capturing
7 infrared.
8
9What: /sys/bus/iio/devices/iio:deviceX/in_intensity_ir_large_raw
10KernelVersion: 4.18
11Contact: linux-iio@vger.kernel.org
12Description:
13 Unit-less infrared intensity. The intensity is measured from 4
14 dark photodiodes. "large" indicate the surface area capturing
15 infrared.
16
17What: /sys/bus/iio/devices/iio:deviceX/in_intensity_large_raw
18KernelVersion: 4.18
19Contact: linux-iio@vger.kernel.org
20Description:
21 Unit-less light intensity with more diodes.
22
Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats+122−0
@@ -0,0 +1,122 @@
1==========================
2PCIe Device AER statistics
3==========================
4These attributes show up under all the devices that are AER capable. These
5statistical counters indicate the errors "as seen/reported by the device".
6Note that this may mean that if an endpoint is causing problems, the AER
7counters may increment at its link partner (e.g. root port) because the
8errors may be "seen" / reported by the link partner and not the
9problematic endpoint itself (which may report all counters as 0 as it never
10saw any problems).
11
12Where: /sys/bus/pci/devices/<dev>/aer_dev_correctable
13Date: July 2018
14Kernel Version: 4.19.0
15Contact: linux-pci@vger.kernel.org, rajatja@google.com
16Description: List of correctable errors seen and reported by this
17 PCI device using ERR_COR. Note that since multiple errors may
18 be reported using a single ERR_COR message, thus
19 TOTAL_ERR_COR at the end of the file may not match the actual
20 total of all the errors in the file. Sample output:
21-------------------------------------------------------------------------
22localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_correctable
23Receiver Error 2
24Bad TLP 0
25Bad DLLP 0
26RELAY_NUM Rollover 0
27Replay Timer Timeout 0
28Advisory Non-Fatal 0
29Corrected Internal Error 0
30Header Log Overflow 0
31TOTAL_ERR_COR 2
32-------------------------------------------------------------------------
33
34Where: /sys/bus/pci/devices/<dev>/aer_dev_fatal
35Date: July 2018
36Kernel Version: 4.19.0
37Contact: linux-pci@vger.kernel.org, rajatja@google.com
38Description: List of uncorrectable fatal errors seen and reported by this
39 PCI device using ERR_FATAL. Note that since multiple errors may
40 be reported using a single ERR_FATAL message, thus
41 TOTAL_ERR_FATAL at the end of the file may not match the actual
42 total of all the errors in the file. Sample output:
43-------------------------------------------------------------------------
44localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_fatal
45Undefined 0
46Data Link Protocol 0
47Surprise Down Error 0
48Poisoned TLP 0
49Flow Control Protocol 0
50Completion Timeout 0
51Completer Abort 0
52Unexpected Completion 0
53Receiver Overflow 0
54Malformed TLP 0
55ECRC 0
56Unsupported Request 0
57ACS Violation 0
58Uncorrectable Internal Error 0
59MC Blocked TLP 0
60AtomicOp Egress Blocked 0
61TLP Prefix Blocked Error 0
62TOTAL_ERR_FATAL 0
63-------------------------------------------------------------------------
64
65Where: /sys/bus/pci/devices/<dev>/aer_dev_nonfatal
66Date: July 2018
67Kernel Version: 4.19.0
68Contact: linux-pci@vger.kernel.org, rajatja@google.com
69Description: List of uncorrectable nonfatal errors seen and reported by this
70 PCI device using ERR_NONFATAL. Note that since multiple errors
71 may be reported using a single ERR_FATAL message, thus
72 TOTAL_ERR_NONFATAL at the end of the file may not match the
73 actual total of all the errors in the file. Sample output:
74-------------------------------------------------------------------------
75localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_nonfatal
76Undefined 0
77Data Link Protocol 0
78Surprise Down Error 0
79Poisoned TLP 0
80Flow Control Protocol 0
81Completion Timeout 0
82Completer Abort 0
83Unexpected Completion 0
84Receiver Overflow 0
85Malformed TLP 0
86ECRC 0
87Unsupported Request 0
88ACS Violation 0
89Uncorrectable Internal Error 0
90MC Blocked TLP 0
91AtomicOp Egress Blocked 0
92TLP Prefix Blocked Error 0
93TOTAL_ERR_NONFATAL 0
94-------------------------------------------------------------------------
95
96============================
97PCIe Rootport AER statistics
98============================
99These attributes show up under only the rootports (or root complex event
100collectors) that are AER capable. These indicate the number of error messages as
101"reported to" the rootport. Please note that the rootports also transmit
102(internally) the ERR_* messages for errors seen by the internal rootport PCI
103device, so these counters include them and are thus cumulative of all the error
104messages on the PCI hierarchy originating at that root port.
105
106Where: /sys/bus/pci/devices/<dev>/aer_stats/aer_rootport_total_err_cor
107Date: July 2018
108Kernel Version: 4.19.0
109Contact: linux-pci@vger.kernel.org, rajatja@google.com
110Description: Total number of ERR_COR messages reported to rootport.
111
112Where: /sys/bus/pci/devices/<dev>/aer_stats/aer_rootport_total_err_fatal
113Date: July 2018
114Kernel Version: 4.19.0
115Contact: linux-pci@vger.kernel.org, rajatja@google.com
116Description: Total number of ERR_FATAL messages reported to rootport.
117
118Where: /sys/bus/pci/devices/<dev>/aer_stats/aer_rootport_total_err_nonfatal
119Date: July 2018
120Kernel Version: 4.19.0
121Contact: linux-pci@vger.kernel.org, rajatja@google.com
122Description: Total number of ERR_NONFATAL messages reported to rootport.
Documentation/ABI/testing/sysfs-bus-typec+51−0
@@ -0,0 +1,51 @@
1What: /sys/bus/typec/devices/.../active
2Date: July 2018
3Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
4Description:
5 Shows if the mode is active or not. The attribute can be used
6 for entering/exiting the mode. Entering/exiting modes is
7 supported as synchronous operation so write(2) to the attribute
8 does not return until the enter/exit mode operation has
9 finished. The attribute is notified when the mode is
10 entered/exited so poll(2) on the attribute wakes up.
11 Entering/exiting a mode will also generate uevent KOBJ_CHANGE.
12
13 Valid values are boolean.
14
15What: /sys/bus/typec/devices/.../description
16Date: July 2018
17Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
18Description:
19 Shows description of the mode. The description is optional for
20 the drivers, just like with the Billboard Devices.
21
22What: /sys/bus/typec/devices/.../mode
23Date: July 2018
24Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
25Description:
26 The index number of the mode returned by Discover Modes USB
27 Power Delivery command. Depending on the alternate mode, the
28 mode index may be significant.
29
30 With some alternate modes (SVIDs), the mode index is assigned
31 for specific functionality in the specification for that
32 alternate mode.
33
34 With other alternate modes, the mode index values are not
35 assigned, and can not be therefore used for identification. When
36 the mode index is not assigned, identifying the alternate mode
37 must be done with either mode VDO or the description.
38
39What: /sys/bus/typec/devices/.../svid
40Date: July 2018
41Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
42Description:
43 The Standard or Vendor ID (SVID) assigned by USB-IF for this
44 alternate mode.
45
46What: /sys/bus/typec/devices/.../vdo
47Date: July 2018
48Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
49Description:
50 Shows the VDO in hexadecimal returned by Discover Modes command
51 for this mode.
Documentation/ABI/testing/sysfs-class-fpga-manager+24−0
@@ -35,3 +35,27 @@ Description: Read fpga manager state as a string. · 34 unmodified lines
35 * write complete = Doing post programming steps35 * write complete = Doing post programming steps
36 * write complete error = Error while doing post programming36 * write complete error = Error while doing post programming
37 * operating = FPGA is programmed and operating37 * operating = FPGA is programmed and operating
38
39What: /sys/class/fpga_manager/<fpga>/status
40Date: June 2018
41KernelVersion: 4.19
42Contact: Wu Hao <hao.wu@intel.com>
43Description: Read fpga manager status as a string.
44 If FPGA programming operation fails, it could be caused by crc
45 error or incompatible bitstream image. The intent of this
46 interface is to provide more detailed information for FPGA
47 programming errors to userspace. This is a list of strings for
48 the supported status.
49
50 * reconfig operation error - invalid operations detected by
51 reconfiguration hardware.
52 e.g. start reconfiguration
53 with errors not cleared
54 * reconfig CRC error - CRC error detected by
55 reconfiguration hardware.
56 * reconfig incompatible image - reconfiguration image is
57 incompatible with hardware
58 * reconfig IP protocol error - protocol errors detected by
59 reconfiguration hardware
60 * reconfig fifo overflow error - FIFO overflow detected by
61 reconfiguration hardware
Documentation/ABI/testing/sysfs-class-fpga-region+9−0
@@ -0,0 +1,9 @@
1What: /sys/class/fpga_region/<region>/compat_id
2Date: June 2018
3KernelVersion: 4.19
4Contact: Wu Hao <hao.wu@intel.com>
5Description: FPGA region id for compatibility check, e.g. compatibility
6 of the FPGA reconfiguration hardware and image. This value
7 is defined or calculated by the layer that is creating the
8 FPGA region. This interface returns the compat_id value or
9 just error code -ENOENT in case compat_id is not used.
Documentation/ABI/testing/sysfs-class-gnss+15−0
@@ -0,0 +1,15 @@
1What: /sys/class/gnss/gnssN/type
2Date: May 2018
3KernelVersion: 4.18
4Contact: Johan Hovold <johan@kernel.org>
5Description:
6 The GNSS receiver type. The currently identified types reflect
7 the protocol(s) supported by the receiver:
8
9 "NMEA" NMEA 0183
10 "SiRF" SiRF Binary
11 "UBX" UBX
12
13 Note that also non-"NMEA" type receivers typically support a
14 subset of NMEA 0183 with vendor extensions (e.g. to allow
15 switching to a vendor protocol).
Documentation/ABI/testing/sysfs-class-mei+11−0
@@ -54,3 +54,14 @@ Description: Configure tx queue limit · 53 unmodified lines
54 54
55 Set maximal number of pending writes55 Set maximal number of pending writes
56 per opened session.56 per opened session.
57
58What: /sys/class/mei/meiN/fw_ver
59Date: May 2018
60KernelVersion: 4.18
61Contact: Tomas Winkler <tomas.winkler@intel.com>
62Description: Display the ME firmware version.
63
64 The version of the platform ME firmware is in format:
65 <platform>:<major>.<minor>.<milestone>.<build_no>.
66 There can be up to three such blocks for different
67 FW components.
Documentation/ABI/testing/sysfs-class-net-queues+11−0
@@ -42,6 +42,17 @@ Description: · 41 unmodified lines
42 network device transmit queue. Possible vaules depend on the42 network device transmit queue. Possible vaules depend on the
43 number of available CPU(s) in the system.43 number of available CPU(s) in the system.
44 44
45What: /sys/class/<iface>/queues/tx-<queue>/xps_rxqs
46Date: June 2018
47KernelVersion: 4.18.0
48Contact: netdev@vger.kernel.org
49Description:
50 Mask of the receive queue(s) currently enabled to participate
51 into the Transmit Packet Steering packet processing flow for this
52 network device transmit queue. Possible values depend on the
53 number of available receive queue(s) in the network device.
54 Default is disabled.
55
45What: /sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/hold_time56What: /sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/hold_time
46Date: November 201157Date: November 2011
47KernelVersion: 3.358KernelVersion: 3.3
Documentation/ABI/testing/sysfs-class-typec+2−60
@@ -222,70 +222,12 @@ Description: · 221 unmodified lines
222 available. The value can be polled.222 available. The value can be polled.
223 223
224 224
225Alternate Mode devices.225USB Type-C port alternate mode devices.
226 226
227The alternate modes will have Standard or Vendor ID (SVID) assigned by USB-IF.227What: /sys/class/typec/<port>/<alt mode>/supported_roles
228The ports, partners and cable plugs can have alternate modes. A supported SVID
229will consist of a set of modes. Every SVID a port/partner/plug supports will
230have a device created for it, and every supported mode for a supported SVID will
231have its own directory under that device. Below <dev> refers to the device for
232the alternate mode.
233
234What: /sys/class/typec/<port|partner|cable>/<dev>/svid
235Date: April 2017
236Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
237Description:
238 The SVID (Standard or Vendor ID) assigned by USB-IF for this
239 alternate mode.
240
241What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/
242Date: April 2017
243Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
244Description:
245 Every supported mode will have its own directory. The name of
246 a mode will be "mode<index>" (for example mode1), where <index>
247 is the actual index to the mode VDO returned by Discover Modes
248 USB power delivery command.
249
250What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/description
251Date: April 2017
252Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
253Description:
254 Shows description of the mode. The description is optional for
255 the drivers, just like with the Billboard Devices.
256
257What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/vdo
258Date: April 2017
259Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
260Description:
261 Shows the VDO in hexadecimal returned by Discover Modes command
262 for this mode.
263
264What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/active
265Date: April 2017
266Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
267Description:
268 Shows if the mode is active or not. The attribute can be used
269 for entering/exiting the mode with partners and cable plugs, and
270 with the port alternate modes it can be used for disabling
271 support for specific alternate modes. Entering/exiting modes is
272 supported as synchronous operation so write(2) to the attribute
273 does not return until the enter/exit mode operation has
274 finished. The attribute is notified when the mode is
275 entered/exited so poll(2) on the attribute wakes up.
276 Entering/exiting a mode will also generate uevent KOBJ_CHANGE.
277
278 Valid values: yes, no
279
280What: /sys/class/typec/<port>/<dev>/mode<index>/supported_roles
281Date: April 2017228Date: April 2017
282Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>229Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
283Description:230Description:
284 Space separated list of the supported roles.231 Space separated list of the supported roles.
285 232
286 This attribute is available for the devices describing the
287 alternate modes a port supports, and it will not be exposed with
288 the devices presenting the alternate modes the partners or cable
289 plugs support.
290
291 Valid values: source, sink233 Valid values: source, sink
Documentation/ABI/testing/sysfs-devices-system-cpu+24−0
@@ -476,6 +476,7 @@ What: /sys/devices/system/cpu/vulnerabilities · 475 unmodified lines
476 /sys/devices/system/cpu/vulnerabilities/spectre_v1476 /sys/devices/system/cpu/vulnerabilities/spectre_v1
477 /sys/devices/system/cpu/vulnerabilities/spectre_v2477 /sys/devices/system/cpu/vulnerabilities/spectre_v2
478 /sys/devices/system/cpu/vulnerabilities/spec_store_bypass478 /sys/devices/system/cpu/vulnerabilities/spec_store_bypass
479 /sys/devices/system/cpu/vulnerabilities/l1tf
479Date: January 2018480Date: January 2018
480Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>481Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
481Description: Information about CPU vulnerabilities482Description: Information about CPU vulnerabilities
@@ -487,3 +488,26 @@ Description: Information about CPU vulnerabilities · 5 unmodified lines
487 "Not affected" CPU is not affected by the vulnerability488 "Not affected" CPU is not affected by the vulnerability
488 "Vulnerable" CPU is affected and no mitigation in effect489 "Vulnerable" CPU is affected and no mitigation in effect
489 "Mitigation: $M" CPU is affected and mitigation $M is in effect490 "Mitigation: $M" CPU is affected and mitigation $M is in effect
491
492 Details about the l1tf file can be found in
493 Documentation/admin-guide/l1tf.rst
494
495What: /sys/devices/system/cpu/smt
496 /sys/devices/system/cpu/smt/active
497 /sys/devices/system/cpu/smt/control
498Date: June 2018
499Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
500Description: Control Symetric Multi Threading (SMT)
501
502 active: Tells whether SMT is active (enabled and siblings online)
503
504 control: Read/write interface to control SMT. Possible
505 values:
506
507 "on" SMT is enabled
508 "off" SMT is disabled
509 "forceoff" SMT is force disabled. Cannot be changed.
510 "notsupported" SMT is not supported by the CPU
511
512 If control status is "forceoff" or "notsupported" writes
513 are rejected.
Documentation/ABI/testing/sysfs-driver-bd9571mwv-regulator+27−0
@@ -0,0 +1,27 @@
1What: /sys/bus/i2c/devices/.../bd9571mwv-regulator.*.auto/backup_mode
2Date: Jul 2018
3KernelVersion: 4.19
4Contact: Geert Uytterhoeven <geert+renesas@glider.be>
5Description: Read/write the current state of DDR Backup Mode, which controls
6 if DDR power rails will be kept powered during system suspend.
7 ("on"/"1" = enabled, "off"/"0" = disabled).
8 Two types of power switches (or control signals) can be used:
9 A. With a momentary power switch (or pulse signal), DDR
10 Backup Mode is enabled by default when available, as the
11 PMIC will be configured only during system suspend.
12 B. With a toggle power switch (or level signal), the
13 following steps must be followed exactly:
14 1. Configure PMIC for backup mode, to change the role of
15 the accessory power switch from a power switch to a
16 wake-up switch,
17 2. Switch accessory power switch off, to prepare for
18 system suspend, which is a manual step not controlled
19 by software,
20 3. Suspend system,
21 4. Switch accessory power switch on, to resume the
22 system.
23 DDR Backup Mode must be explicitly enabled by the user,
24 to invoke step 1.
25 See also Documentation/devicetree/bindings/mfd/bd9571mwv.txt.
26Users: User space applications for embedded boards equipped with a
27 BD9571MWV PMIC.
Documentation/ABI/testing/sysfs-driver-typec-displayport+49−0
@@ -0,0 +1,49 @@
1What: /sys/bus/typec/devices/.../displayport/configuration
2Date: July 2018
3Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
4Description:
5 Shows the current DisplayPort configuration for the connector.
6 Valid values are USB, source and sink. Source means DisplayPort
7 source, and sink means DisplayPort sink.
8
9 All supported configurations are listed as space separated list
10 with the active one wrapped in square brackets.
11
12 Source example:
13
14 USB [source] sink
15
16 The configuration can be changed by writing to the file
17
18 Note. USB configuration does not equal to Exit Mode. It is
19 separate configuration defined in VESA DisplayPort Alt Mode on
20 USB Type-C Standard. Functionally it equals to the situation
21 where the mode has been exited (to exit the mode, see
22 Documentation/ABI/testing/sysfs-bus-typec, and use file
23 /sys/bus/typec/devices/.../active).
24
25What: /sys/bus/typec/devices/.../displayport/pin_assignment
26Date: July 2018
27Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
28Description:
29 VESA DisplayPort Alt Mode on USB Type-C Standard defines six
30 different pin assignments for USB Type-C connector that are
31 labeled A, B, C, D, E, and F. The supported pin assignments are
32 listed as space separated list with the active one wrapped in
33 square brackets.
34
35 Example:
36
37 C [D]
38
39 Pin assignment can be changed by writing to the file. It is
40 possible to set pin assignment before configuration has been
41 set, but the assignment will not be active before the
42 connector is actually configured.
43
44 Note. As of VESA DisplayPort Alt Mode on USB Type-C Standard
45 version 1.0b, pin assignments A, B, and F are deprecated. Only
46 pin assignment D can now carry simultaneously one channel of
47 USB SuperSpeed protocol. From user perspective pin assignments C
48 and E are equal, where all channels on the connector are used
49 for carrying DisplayPort protocol (allowing higher resolutions).
Documentation/ABI/testing/sysfs-fs-f2fs+8−0
@@ -51,6 +51,14 @@ Description: · 50 unmodified lines
51 Controls the dirty page count condition for the in-place-update51 Controls the dirty page count condition for the in-place-update
52 policies.52 policies.
53 53
54What: /sys/fs/f2fs/<disk>/min_seq_blocks
55Date: August 2018
56Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
57Description:
58 Controls the dirty page count condition for batched sequential
59 writes in ->writepages.
60
61
54What: /sys/fs/f2fs/<disk>/min_hot_blocks62What: /sys/fs/f2fs/<disk>/min_hot_blocks
55Date: March 201763Date: March 2017
56Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>64Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
Documentation/ABI/testing/sysfs-platform-dfl-fme+23−0
@@ -0,0 +1,23 @@
1What: /sys/bus/platform/devices/dfl-fme.0/ports_num
2Date: June 2018
3KernelVersion: 4.19
4Contact: Wu Hao <hao.wu@intel.com>
5Description: Read-only. One DFL FPGA device may have more than 1
6 port/Accelerator Function Unit (AFU). It returns the
7 number of ports on the FPGA device when read it.
8
9What: /sys/bus/platform/devices/dfl-fme.0/bitstream_id
10Date: June 2018
11KernelVersion: 4.19
12Contact: Wu Hao <hao.wu@intel.com>
13Description: Read-only. It returns Bitstream (static FPGA region)
14 identifier number, which includes the detailed version
15 and other information of this static FPGA region.
16
17What: /sys/bus/platform/devices/dfl-fme.0/bitstream_metadata
18Date: June 2018
19KernelVersion: 4.19
20Contact: Wu Hao <hao.wu@intel.com>
21Description: Read-only. It returns Bitstream (static FPGA region) meta
22 data, which includes the synthesis date, seed and other
23 information of this static FPGA region.
Documentation/ABI/testing/sysfs-platform-dfl-port+16−0
@@ -0,0 +1,16 @@
1What: /sys/bus/platform/devices/dfl-port.0/id
2Date: June 2018
3KernelVersion: 4.19
4Contact: Wu Hao <hao.wu@intel.com>
5Description: Read-only. It returns id of this port. One DFL FPGA device
6 may have more than one port. Userspace could use this id to
7 distinguish different ports under same FPGA device.
8
9What: /sys/bus/platform/devices/dfl-port.0/afu_id
10Date: June 2018
11KernelVersion: 4.19
12Contact: Wu Hao <hao.wu@intel.com>
13Description: Read-only. User can program different PR bitstreams to FPGA
14 Accelerator Function Unit (AFU) for different functions. It
15 returns uuid which could be used to identify which PR bitstream
16 is programmed in this AFU.
Documentation/PCI/00-INDEX+2−0
@@ -1,5 +1,7 @@
100-INDEX100-INDEX
2 - this file2 - this file
3acpi-info.txt
4 - info on how PCI host bridges are represented in ACPI
3MSI-HOWTO.txt5MSI-HOWTO.txt
4 - the Message Signaled Interrupts (MSI) Driver Guide HOWTO and FAQ.6 - the Message Signaled Interrupts (MSI) Driver Guide HOWTO and FAQ.
5PCIEBUS-HOWTO.txt7PCIEBUS-HOWTO.txt
Documentation/PCI/acpi-info.txt+187−0
@@ -0,0 +1,187 @@
1 ACPI considerations for PCI host bridges
2
3The general rule is that the ACPI namespace should describe everything the
4OS might use unless there's another way for the OS to find it [1, 2].
5
6For example, there's no standard hardware mechanism for enumerating PCI
7host bridges, so the ACPI namespace must describe each host bridge, the
8method for accessing PCI config space below it, the address space windows
9the host bridge forwards to PCI (using _CRS), and the routing of legacy
10INTx interrupts (using _PRT).
11
12PCI devices, which are below the host bridge, generally do not need to be
13described via ACPI. The OS can discover them via the standard PCI
14enumeration mechanism, using config accesses to discover and identify
15devices and read and size their BARs. However, ACPI may describe PCI
16devices if it provides power management or hotplug functionality for them
17or if the device has INTx interrupts connected by platform interrupt
18controllers and a _PRT is needed to describe those connections.
19
20ACPI resource description is done via _CRS objects of devices in the ACPI
21namespace [2].   The _CRS is like a generalized PCI BAR: the OS can read
22_CRS and figure out what resource is being consumed even if it doesn't have
23a driver for the device [3].  That's important because it means an old OS
24can work correctly even on a system with new devices unknown to the OS.
25The new devices might not do anything, but the OS can at least make sure no
26resources conflict with them.
27
28Static tables like MCFG, HPET, ECDT, etc., are *not* mechanisms for
29reserving address space. The static tables are for things the OS needs to
30know early in boot, before it can parse the ACPI namespace. If a new table
31is defined, an old OS needs to operate correctly even though it ignores the
32table. _CRS allows that because it is generic and understood by the old
33OS; a static table does not.
34
35If the OS is expected to manage a non-discoverable device described via
36ACPI, that device will have a specific _HID/_CID that tells the OS what
37driver to bind to it, and the _CRS tells the OS and the driver where the
38device's registers are.
39
40PCI host bridges are PNP0A03 or PNP0A08 devices.  Their _CRS should
41describe all the address space they consume.  This includes all the windows
42they forward down to the PCI bus, as well as registers of the host bridge
43itself that are not forwarded to PCI.  The host bridge registers include
44things like secondary/subordinate bus registers that determine the bus
45range below the bridge, window registers that describe the apertures, etc.
46These are all device-specific, non-architected things, so the only way a
47PNP0A03/PNP0A08 driver can manage them is via _PRS/_CRS/_SRS, which contain
48the device-specific details.  The host bridge registers also include ECAM
49space, since it is consumed by the host bridge.
50
51ACPI defines a Consumer/Producer bit to distinguish the bridge registers
52("Consumer") from the bridge apertures ("Producer") [4, 5], but early
53BIOSes didn't use that bit correctly. The result is that the current ACPI
54spec defines Consumer/Producer only for the Extended Address Space
55descriptors; the bit should be ignored in the older QWord/DWord/Word
56Address Space descriptors. Consequently, OSes have to assume all
57QWord/DWord/Word descriptors are windows.
58
59Prior to the addition of Extended Address Space descriptors, the failure of
60Consumer/Producer meant there was no way to describe bridge registers in
61the PNP0A03/PNP0A08 device itself. The workaround was to describe the
62bridge registers (including ECAM space) in PNP0C02 catch-all devices [6].
63With the exception of ECAM, the bridge register space is device-specific
64anyway, so the generic PNP0A03/PNP0A08 driver (pci_root.c) has no need to
65know about it.  
66
67New architectures should be able to use "Consumer" Extended Address Space
68descriptors in the PNP0A03 device for bridge registers, including ECAM,
69although a strict interpretation of [6] might prohibit this. Old x86 and
70ia64 kernels assume all address space descriptors, including "Consumer"
71Extended Address Space ones, are windows, so it would not be safe to
72describe bridge registers this way on those architectures.
73
74PNP0C02 "motherboard" devices are basically a catch-all.  There's no
75programming model for them other than "don't use these resources for
76anything else."  So a PNP0C02 _CRS should claim any address space that is
77(1) not claimed by _CRS under any other device object in the ACPI namespace
78and (2) should not be assigned by the OS to something else.
79
80The PCIe spec requires the Enhanced Configuration Access Method (ECAM)
81unless there's a standard firmware interface for config access, e.g., the
82ia64 SAL interface [7]. A host bridge consumes ECAM memory address space
83and converts memory accesses into PCI configuration accesses. The spec
84defines the ECAM address space layout and functionality; only the base of
85the address space is device-specific. An ACPI OS learns the base address
86from either the static MCFG table or a _CBA method in the PNP0A03 device.
87
88The MCFG table must describe the ECAM space of non-hot pluggable host
89bridges [8]. Since MCFG is a static table and can't be updated by hotplug,
90a _CBA method in the PNP0A03 device describes the ECAM space of a
91hot-pluggable host bridge [9]. Note that for both MCFG and _CBA, the base
92address always corresponds to bus 0, even if the bus range below the bridge
93(which is reported via _CRS) doesn't start at 0.
94
95
96[1] ACPI 6.2, sec 6.1:
97 For any device that is on a non-enumerable type of bus (for example, an
98 ISA bus), OSPM enumerates the devices' identifier(s) and the ACPI
99 system firmware must supply an _HID object ... for each device to
100 enable OSPM to do that.
101
102[2] ACPI 6.2, sec 3.7:
103 The OS enumerates motherboard devices simply by reading through the
104 ACPI Namespace looking for devices with hardware IDs.
105
106 Each device enumerated by ACPI includes ACPI-defined objects in the
107 ACPI Namespace that report the hardware resources the device could
108 occupy [_PRS], an object that reports the resources that are currently
109 used by the device [_CRS], and objects for configuring those resources
110 [_SRS]. The information is used by the Plug and Play OS (OSPM) to
111 configure the devices.
112
113[3] ACPI 6.2, sec 6.2:
114 OSPM uses device configuration objects to configure hardware resources
115 for devices enumerated via ACPI. Device configuration objects provide
116 information about current and possible resource requirements, the
117 relationship between shared resources, and methods for configuring
118 hardware resources.
119
120 When OSPM enumerates a device, it calls _PRS to determine the resource
121 requirements of the device. It may also call _CRS to find the current
122 resource settings for the device. Using this information, the Plug and
123 Play system determines what resources the device should consume and
124 sets those resources by calling the device’s _SRS control method.
125
126 In ACPI, devices can consume resources (for example, legacy keyboards),
127 provide resources (for example, a proprietary PCI bridge), or do both.
128 Unless otherwise specified, resources for a device are assumed to be
129 taken from the nearest matching resource above the device in the device
130 hierarchy.
131
132[4] ACPI 6.2, sec 6.4.3.5.1, 2, 3, 4:
133 QWord/DWord/Word Address Space Descriptor (.1, .2, .3)
134 General Flags: Bit [0] Ignored
135
136 Extended Address Space Descriptor (.4)
137 General Flags: Bit [0] Consumer/Producer:
138 1–This device consumes this resource
139 0–This device produces and consumes this resource
140
141[5] ACPI 6.2, sec 19.6.43:
142 ResourceUsage specifies whether the Memory range is consumed by
143 this device (ResourceConsumer) or passed on to child devices
144 (ResourceProducer). If nothing is specified, then
145 ResourceConsumer is assumed.
146
147[6] PCI Firmware 3.2, sec 4.1.2:
148 If the operating system does not natively comprehend reserving the
149 MMCFG region, the MMCFG region must be reserved by firmware. The
150 address range reported in the MCFG table or by _CBA method (see Section
151 4.1.3) must be reserved by declaring a motherboard resource. For most
152 systems, the motherboard resource would appear at the root of the ACPI
153 namespace (under \_SB) in a node with a _HID of EISAID (PNP0C02), and
154 the resources in this case should not be claimed in the root PCI bus’s
155 _CRS. The resources can optionally be returned in Int15 E820 or
156 EFIGetMemoryMap as reserved memory but must always be reported through
157 ACPI as a motherboard resource.
158
159[7] PCI Express 4.0, sec 7.2.2:
160 For systems that are PC-compatible, or that do not implement a
161 processor-architecture-specific firmware interface standard that allows
162 access to the Configuration Space, the ECAM is required as defined in
163 this section.
164
165[8] PCI Firmware 3.2, sec 4.1.2:
166 The MCFG table is an ACPI table that is used to communicate the base
167 addresses corresponding to the non-hot removable PCI Segment Groups
168 range within a PCI Segment Group available to the operating system at
169 boot. This is required for the PC-compatible systems.
170
171 The MCFG table is only used to communicate the base addresses
172 corresponding to the PCI Segment Groups available to the system at
173 boot.
174
175[9] PCI Firmware 3.2, sec 4.1.3:
176 The _CBA (Memory mapped Configuration Base Address) control method is
177 an optional ACPI object that returns the 64-bit memory mapped
178 configuration base address for the hot plug capable host bridge. The
179 base address returned by _CBA is processor-relative address. The _CBA
180 control method evaluates to an Integer.
181
182 This control method appears under a host bridge object. When the _CBA
183 method appears under an active host bridge object, the operating system
184 evaluates this structure to identify the memory mapped configuration
185 base address corresponding to the PCI Segment Group for the bus number
186 range specified in _CRS method. An ACPI name space object that contains
187 the _CBA method must also contain a corresponding _SEG method.
Documentation/PCI/endpoint/function/binding/pci-test.txt+2−0
@@ -15,3 +15,5 @@ subsys_id : don't care · 14 unmodified lines
15interrupt_pin : Should be 1 - INTA, 2 - INTB, 3 - INTC, 4 -INTD15interrupt_pin : Should be 1 - INTA, 2 - INTB, 3 - INTC, 4 -INTD
16msi_interrupts : Should be 1 to 32 depending on the number of MSI interrupts16msi_interrupts : Should be 1 to 32 depending on the number of MSI interrupts
17 to test17 to test
18msix_interrupts : Should be 1 to 2048 depending on the number of MSI-X
19 interrupts to test
Documentation/PCI/endpoint/pci-endpoint.txt+2−2
@@ -44,7 +44,7 @@ by the PCI controller driver. · 43 unmodified lines
44 * clear_bar: ops to reset the BAR44 * clear_bar: ops to reset the BAR
45 * alloc_addr_space: ops to allocate in PCI controller address space45 * alloc_addr_space: ops to allocate in PCI controller address space
46 * free_addr_space: ops to free the allocated address space46 * free_addr_space: ops to free the allocated address space
47 * raise_irq: ops to raise a legacy or MSI interrupt47 * raise_irq: ops to raise a legacy, MSI or MSI-X interrupt
48 * start: ops to start the PCI link48 * start: ops to start the PCI link
49 * stop: ops to stop the PCI link49 * stop: ops to stop the PCI link
50 50
@@ -96,7 +96,7 @@ by the PCI endpoint function driver. · 45 unmodified lines
96*) pci_epc_raise_irq()96*) pci_epc_raise_irq()
97 97
98 The PCI endpoint function driver should use pci_epc_raise_irq() to raise98 The PCI endpoint function driver should use pci_epc_raise_irq() to raise
99 Legacy Interrupt or MSI Interrupt.99 Legacy Interrupt, MSI or MSI-X Interrupt.
100 100
101*) pci_epc_mem_alloc_addr()101*) pci_epc_mem_alloc_addr()
102 102
Documentation/PCI/endpoint/pci-test-function.txt+25−4
@@ -20,6 +20,8 @@ The PCI endpoint test device has the following registers: · 19 unmodified lines
20 5) PCI_ENDPOINT_TEST_DST_ADDR20 5) PCI_ENDPOINT_TEST_DST_ADDR
21 6) PCI_ENDPOINT_TEST_SIZE21 6) PCI_ENDPOINT_TEST_SIZE
22 7) PCI_ENDPOINT_TEST_CHECKSUM22 7) PCI_ENDPOINT_TEST_CHECKSUM
23 8) PCI_ENDPOINT_TEST_IRQ_TYPE
24 9) PCI_ENDPOINT_TEST_IRQ_NUMBER
23 25
24*) PCI_ENDPOINT_TEST_MAGIC26*) PCI_ENDPOINT_TEST_MAGIC
25 27
@@ -34,10 +36,10 @@ that the endpoint device must perform. · 8 unmodified lines
34Bitfield Description:36Bitfield Description:
35 Bit 0 : raise legacy IRQ37 Bit 0 : raise legacy IRQ
36 Bit 1 : raise MSI IRQ38 Bit 1 : raise MSI IRQ
37 Bit 2 - 7 : MSI interrupt number39 Bit 2 : raise MSI-X IRQ
38 Bit 8 : read command (read data from RC buffer)40 Bit 3 : read command (read data from RC buffer)
39 Bit 9 : write command (write data to RC buffer)41 Bit 4 : write command (write data to RC buffer)
40 Bit 10 : copy command (copy data from one RC buffer to another42 Bit 5 : copy command (copy data from one RC buffer to another
41 RC buffer)43 RC buffer)
42 44
43*) PCI_ENDPOINT_TEST_STATUS45*) PCI_ENDPOINT_TEST_STATUS
@@ -64,3 +66,22 @@ COPY/READ command. · 20 unmodified lines
64 66
65This register contains the destination address (RC buffer address) for67This register contains the destination address (RC buffer address) for
66the COPY/WRITE command.68the COPY/WRITE command.
69
70*) PCI_ENDPOINT_TEST_IRQ_TYPE
71
72This register contains the interrupt type (Legacy/MSI) triggered
73for the READ/WRITE/COPY and raise IRQ (Legacy/MSI) commands.
74
75Possible types:
76 - Legacy : 0
77 - MSI : 1
78 - MSI-X : 2
79
80*) PCI_ENDPOINT_TEST_IRQ_NUMBER
81
82This register contains the triggered ID interrupt.
83
84Admissible values:
85 - Legacy : 0
86 - MSI : [1 .. 32]
87 - MSI-X : [1 .. 2048]
Documentation/PCI/endpoint/pci-test-howto.txt+27−3
@@ -45,9 +45,9 @@ The PCI endpoint framework populates the directory with the following · 44 unmodified lines
45configurable fields.45configurable fields.
46 46
47 # ls functions/pci_epf_test/func147 # ls functions/pci_epf_test/func1
48 baseclass_code interrupt_pin revid subsys_vendor_id48 baseclass_code interrupt_pin progif_code subsys_id
49 cache_line_size msi_interrupts subclass_code vendorid49 cache_line_size msi_interrupts revid subsys_vendorid
50 deviceid progif_code subsys_id50 deviceid msix_interrupts subclass_code vendorid
51 51
52The PCI endpoint function driver populates these entries with default values52The PCI endpoint function driver populates these entries with default values
53when the device is bound to the driver. The pci-epf-test driver populates53when the device is bound to the driver. The pci-epf-test driver populates
@@ -67,6 +67,7 @@ device, the following commands can be used. · 13 unmodified lines
67 # echo 0x104c > functions/pci_epf_test/func1/vendorid67 # echo 0x104c > functions/pci_epf_test/func1/vendorid
68 # echo 0xb500 > functions/pci_epf_test/func1/deviceid68 # echo 0xb500 > functions/pci_epf_test/func1/deviceid
69 # echo 16 > functions/pci_epf_test/func1/msi_interrupts69 # echo 16 > functions/pci_epf_test/func1/msi_interrupts
70 # echo 8 > functions/pci_epf_test/func1/msix_interrupts
70 71
711.5 Binding pci-epf-test Device to EP Controller721.5 Binding pci-epf-test Device to EP Controller
72 73
@@ -120,7 +121,9 @@ following commands. · 47 unmodified lines
120 121
121 Interrupt tests122 Interrupt tests
122 123
124 SET IRQ TYPE TO LEGACY: OKAY
123 LEGACY IRQ: NOT OKAY125 LEGACY IRQ: NOT OKAY
126 SET IRQ TYPE TO MSI: OKAY
124 MSI1: OKAY127 MSI1: OKAY
125 MSI2: OKAY128 MSI2: OKAY
126 MSI3: OKAY129 MSI3: OKAY
@@ -153,9 +156,30 @@ following commands. · 26 unmodified lines
153 MSI30: NOT OKAY156 MSI30: NOT OKAY
154 MSI31: NOT OKAY157 MSI31: NOT OKAY
155 MSI32: NOT OKAY158 MSI32: NOT OKAY
159 SET IRQ TYPE TO MSI-X: OKAY
160 MSI-X1: OKAY
161 MSI-X2: OKAY
162 MSI-X3: OKAY
163 MSI-X4: OKAY
164 MSI-X5: OKAY
165 MSI-X6: OKAY
166 MSI-X7: OKAY
167 MSI-X8: OKAY
168 MSI-X9: NOT OKAY
169 MSI-X10: NOT OKAY
170 MSI-X11: NOT OKAY
171 MSI-X12: NOT OKAY
172 MSI-X13: NOT OKAY
173 MSI-X14: NOT OKAY
174 MSI-X15: NOT OKAY
175 MSI-X16: NOT OKAY
176 [...]
177 MSI-X2047: NOT OKAY
178 MSI-X2048: NOT OKAY
156 179
157 Read Tests180 Read Tests
158 181
182 SET IRQ TYPE TO MSI: OKAY
159 READ ( 1 bytes): OKAY183 READ ( 1 bytes): OKAY
160 READ ( 1024 bytes): OKAY184 READ ( 1024 bytes): OKAY
161 READ ( 1025 bytes): OKAY185 READ ( 1025 bytes): OKAY
Documentation/PCI/pcieaer-howto.txt+5−0
@@ -73,6 +73,11 @@ In the example, 'Requester ID' means the ID of the device who sends · 72 unmodified lines
73the error message to root port. Pls. refer to pci express specs for73the error message to root port. Pls. refer to pci express specs for
74other fields.74other fields.
75 75
762.4 AER Statistics / Counters
77
78When PCIe AER errors are captured, the counters / statistics are also exposed
79in the form of sysfs attributes which are documented at
80Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats
76 81
773. Developer Guide823. Developer Guide
78 83
Documentation/RCU/Design/Data-Structures/Data-Structures.html+63−55
@@ -380,31 +380,26 @@ and therefore need no protection. · 379 unmodified lines
380as follows:380as follows:
381 381
382<pre>382<pre>
383 1 unsigned long gpnum;383 1 unsigned long gp_seq;
384 2 unsigned long completed;
385</pre>384</pre>
386 385
387<p>RCU grace periods are numbered, and386<p>RCU grace periods are numbered, and
388the <tt>-&gt;gpnum</tt> field contains the number of the grace387the <tt>-&gt;gp_seq</tt> field contains the current grace-period
389period that started most recently.388sequence number.
390The <tt>-&gt;completed</tt> field contains the number of the389The bottom two bits are the state of the current grace period,
391grace period that completed most recently.390which can be zero for not yet started or one for in progress.
392If the two fields are equal, the RCU grace period that most recently391In other words, if the bottom two bits of <tt>-&gt;gp_seq</tt> are
393started has already completed, and therefore the corresponding392zero, the corresponding flavor of RCU is idle.
394flavor of RCU is idle.393Any other value in the bottom two bits indicates that something is broken.
395If <tt>-&gt;gpnum</tt> is one greater than <tt>-&gt;completed</tt>,394This field is protected by the root <tt>rcu_node</tt> structure's
396then <tt>-&gt;gpnum</tt> gives the number of the current RCU
397grace period, which has not yet completed.
398Any other combination of values indicates that something is broken.
399These two fields are protected by the root <tt>rcu_node</tt>'s
400<tt>-&gt;lock</tt> field.395<tt>-&gt;lock</tt> field.
401 396
402</p><p>There are <tt>-&gt;gpnum</tt> and <tt>-&gt;completed</tt> fields397</p><p>There are <tt>-&gt;gp_seq</tt> fields
403in the <tt>rcu_node</tt> and <tt>rcu_data</tt> structures398in the <tt>rcu_node</tt> and <tt>rcu_data</tt> structures
404as well.399as well.
405The fields in the <tt>rcu_state</tt> structure represent the400The fields in the <tt>rcu_state</tt> structure represent the
406most current values, and those of the other structures are compared401most current value, and those of the other structures are compared
407in order to detect the start of a new grace period in a distributed402in order to detect the beginnings and ends of grace periods in a distributed
408fashion.403fashion.
409The values flow from <tt>rcu_state</tt> to <tt>rcu_node</tt>404The values flow from <tt>rcu_state</tt> to <tt>rcu_node</tt>
410(down the tree from the root to the leaves) to <tt>rcu_data</tt>.405(down the tree from the root to the leaves) to <tt>rcu_data</tt>.
@@ -512,27 +507,47 @@ than to be heisenbugged out of existence. · 101 unmodified lines
512as follows:507as follows:
513 508
514<pre>509<pre>
515 1 unsigned long gpnum;510 1 unsigned long gp_seq;
516 2 unsigned long completed;511 2 unsigned long gp_seq_needed;
517</pre>512</pre>
518 513
519<p>These fields are the counterparts of the fields of the same name in514<p>The <tt>rcu_node</tt> structures' <tt>-&gt;gp_seq</tt> fields are
520the <tt>rcu_state</tt> structure.515the counterparts of the field of the same name in the <tt>rcu_state</tt>
521They each may lag up to one behind their <tt>rcu_state</tt>516structure.
522counterparts.517They each may lag up to one step behind their <tt>rcu_state</tt>
523If a given <tt>rcu_node</tt> structure's <tt>-&gt;gpnum</tt> and518counterpart.
524<tt>-&gt;complete</tt> fields are equal, then this <tt>rcu_node</tt>519If the bottom two bits of a given <tt>rcu_node</tt> structure's
520<tt>-&gt;gp_seq</tt> field is zero, then this <tt>rcu_node</tt>
525structure believes that RCU is idle.521structure believes that RCU is idle.
526Otherwise, as with the <tt>rcu_state</tt> structure,522</p><p>The <tt>&gt;gp_seq</tt> field of each <tt>rcu_node</tt>
527the <tt>-&gt;gpnum</tt> field will be one greater than the523structure is updated at the beginning and the end
528<tt>-&gt;complete</tt> fields, with <tt>-&gt;gpnum</tt>524of each grace period.
529indicating which grace period this <tt>rcu_node</tt> believes525
530is still being waited for.526<p>The <tt>-&gt;gp_seq_needed</tt> fields record the
527furthest-in-the-future grace period request seen by the corresponding
528<tt>rcu_node</tt> structure. The request is considered fulfilled when
529the value of the <tt>-&gt;gp_seq</tt> field equals or exceeds that of
530the <tt>-&gt;gp_seq_needed</tt> field.
531 531
532</p><p>The <tt>&gt;gpnum</tt> field of each <tt>rcu_node</tt>532<table>
533structure is updated at the beginning533<tr><th>&nbsp;</th></tr>
534of each grace period, and the <tt>-&gt;completed</tt> fields are534<tr><th align="left">Quick Quiz:</th></tr>
535updated at the end of each grace period.535<tr><td>
536 Suppose that this <tt>rcu_node</tt> structure doesn't see
537 a request for a very long time.
538 Won't wrapping of the <tt>-&gt;gp_seq</tt> field cause
539 problems?
540</td></tr>
541<tr><th align="left">Answer:</th></tr>
542<tr><td bgcolor="#ffffff"><font color="ffffff">
543 No, because if the <tt>-&gt;gp_seq_needed</tt> field lags behind the
544 <tt>-&gt;gp_seq</tt> field, the <tt>-&gt;gp_seq_needed</tt> field
545 will be updated at the end of the grace period.
546 Modulo-arithmetic comparisons therefore will always get the
547 correct answer, even with wrapping.
548</font></td></tr>
549<tr><td>&nbsp;</td></tr>
550</table>
536 551
537<h5>Quiescent-State Tracking</h5>552<h5>Quiescent-State Tracking</h5>
538 553
@@ -626,9 +641,8 @@ normal and expedited grace periods, respectively. · 87 unmodified lines
626 </ol>641 </ol>
627 642
628 <p><font color="ffffff">So the locking is absolutely required in643 <p><font color="ffffff">So the locking is absolutely required in
629 order to coordinate644 order to coordinate clearing of the bits with updating of the
630 clearing of the bits with the grace-period numbers in645 grace-period sequence number in <tt>-&gt;gp_seq</tt>.
631 <tt>-&gt;gpnum</tt> and <tt>-&gt;completed</tt>.
632</font></td></tr>646</font></td></tr>
633<tr><td>&nbsp;</td></tr>647<tr><td>&nbsp;</td></tr>
634</table>648</table>
@@ -1038,15 +1052,15 @@ out any <tt>rcu_data</tt> structure for which this flag is not set. · 403 unmodified lines
1038as follows:1052as follows:
1039 1053
1040<pre>1054<pre>
1041 1 unsigned long completed;1055 1 unsigned long gp_seq;
1042 2 unsigned long gpnum;1056 2 unsigned long gp_seq_needed;
1043 3 bool cpu_no_qs;1057 3 bool cpu_no_qs;
1044 4 bool core_needs_qs;1058 4 bool core_needs_qs;
1045 5 bool gpwrap;1059 5 bool gpwrap;
1046 6 unsigned long rcu_qs_ctr_snap;1060 6 unsigned long rcu_qs_ctr_snap;
1047</pre>1061</pre>
1048 1062
1049<p>The <tt>completed</tt> and <tt>gpnum</tt>1063<p>The <tt>-&gt;gp_seq</tt> and <tt>-&gt;gp_seq_needed</tt>
1050fields are the counterparts of the fields of the same name1064fields are the counterparts of the fields of the same name
1051in the <tt>rcu_state</tt> and <tt>rcu_node</tt> structures.1065in the <tt>rcu_state</tt> and <tt>rcu_node</tt> structures.
1052They may each lag up to one behind their <tt>rcu_node</tt>1066They may each lag up to one behind their <tt>rcu_node</tt>
@@ -1054,15 +1068,9 @@ counterparts, but in <tt>CONFIG_NO_HZ_IDLE</tt> and · 1 unmodified line
1054<tt>CONFIG_NO_HZ_FULL</tt> kernels can lag1068<tt>CONFIG_NO_HZ_FULL</tt> kernels can lag
1055arbitrarily far behind for CPUs in dyntick-idle mode (but these counters1069arbitrarily far behind for CPUs in dyntick-idle mode (but these counters
1056will catch up upon exit from dyntick-idle mode).1070will catch up upon exit from dyntick-idle mode).
1057If a given <tt>rcu_data</tt> structure's <tt>-&gt;gpnum</tt> and1071If the lower two bits of a given <tt>rcu_data</tt> structure's
1058<tt>-&gt;complete</tt> fields are equal, then this <tt>rcu_data</tt>1072<tt>-&gt;gp_seq</tt> are zero, then this <tt>rcu_data</tt>
1059structure believes that RCU is idle.1073structure believes that RCU is idle.
1060Otherwise, as with the <tt>rcu_state</tt> and <tt>rcu_node</tt>
1061structure,
1062the <tt>-&gt;gpnum</tt> field will be one greater than the
1063<tt>-&gt;complete</tt> fields, with <tt>-&gt;gpnum</tt>
1064indicating which grace period this <tt>rcu_data</tt> believes
1065is still being waited for.
1066 1074
1067<table>1075<table>
1068<tr><th>&nbsp;</th></tr>1076<tr><th>&nbsp;</th></tr>
@@ -1070,13 +1078,13 @@ is still being waited for. · 1 unmodified line
1070<tr><td>1078<tr><td>
1071 All this replication of the grace period numbers can only cause1079 All this replication of the grace period numbers can only cause
1072 massive confusion.1080 massive confusion.
1073 Why not just keep a global pair of counters and be done with it???1081 Why not just keep a global sequence number and be done with it???
1074</td></tr>1082</td></tr>
1075<tr><th align="left">Answer:</th></tr>1083<tr><th align="left">Answer:</th></tr>
1076<tr><td bgcolor="#ffffff"><font color="ffffff">1084<tr><td bgcolor="#ffffff"><font color="ffffff">
1077 Because if there was only a single global pair of grace-period1085 Because if there was only a single global sequence
1078 numbers, there would need to be a single global lock to allow1086 numbers, there would need to be a single global lock to allow
1079 safely accessing and updating them.1087 safely accessing and updating it.
1080 And if we are not going to have a single global lock, we need1088 And if we are not going to have a single global lock, we need
1081 to carefully manage the numbers on a per-node basis.1089 to carefully manage the numbers on a per-node basis.
1082 Recall from the answer to a previous Quick Quiz that the consequences1090 Recall from the answer to a previous Quick Quiz that the consequences
@@ -1091,8 +1099,8 @@ CPU has not yet passed through a quiescent state, · 8 unmodified lines
1091while the <tt>-&gt;core_needs_qs</tt> flag indicates that the1099while the <tt>-&gt;core_needs_qs</tt> flag indicates that the
1092RCU core needs a quiescent state from the corresponding CPU.1100RCU core needs a quiescent state from the corresponding CPU.
1093The <tt>-&gt;gpwrap</tt> field indicates that the corresponding1101The <tt>-&gt;gpwrap</tt> field indicates that the corresponding
1094CPU has remained idle for so long that the <tt>completed</tt>1102CPU has remained idle for so long that the
1095and <tt>gpnum</tt> counters are in danger of overflow, which1103<tt>gp_seq</tt> counter is in danger of overflow, which
1096will cause the CPU to disregard the values of its counters on1104will cause the CPU to disregard the values of its counters on
1097its next exit from idle.1105its next exit from idle.
1098Finally, the <tt>rcu_qs_ctr_snap</tt> field is used to detect1106Finally, the <tt>rcu_qs_ctr_snap</tt> field is used to detect
@@ -1130,10 +1138,10 @@ The CPU advances the callbacks in its <tt>rcu_data</tt> structure · 31 unmodified lines
1130whenever it notices that another RCU grace period has completed.1138whenever it notices that another RCU grace period has completed.
1131The CPU detects the completion of an RCU grace period by noticing1139The CPU detects the completion of an RCU grace period by noticing
1132that the value of its <tt>rcu_data</tt> structure's1140that the value of its <tt>rcu_data</tt> structure's
1133<tt>-&gt;completed</tt> field differs from that of its leaf1141<tt>-&gt;gp_seq</tt> field differs from that of its leaf
1134<tt>rcu_node</tt> structure.1142<tt>rcu_node</tt> structure.
1135Recall that each <tt>rcu_node</tt> structure's1143Recall that each <tt>rcu_node</tt> structure's
1136<tt>-&gt;completed</tt> field is updated at the end of each1144<tt>-&gt;gp_seq</tt> field is updated at the beginnings and ends of each
1137grace period.1145grace period.
1138 1146
1139<p>1147<p>
Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.html+10−12
@@ -357,7 +357,7 @@ parts, starting in this section with the various phases of · 356 unmodified lines
357grace-period initialization.357grace-period initialization.
358 358
359<p>The first ordering-related grace-period initialization action is to359<p>The first ordering-related grace-period initialization action is to
360increment the <tt>rcu_state</tt> structure's <tt>-&gt;gpnum</tt>360advance the <tt>rcu_state</tt> structure's <tt>-&gt;gp_seq</tt>
361grace-period-number counter, as shown below:361grace-period-number counter, as shown below:
362 362
363</p><p><img src="TreeRCU-gp-init-1.svg" alt="TreeRCU-gp-init-1.svg" width="75%">363</p><p><img src="TreeRCU-gp-init-1.svg" alt="TreeRCU-gp-init-1.svg" width="75%">
@@ -388,7 +388,7 @@ its last CPU and if the next <tt>rcu_node</tt> structure has no online CPUs). · 24 unmodified lines
388 388
389<p>The final <tt>rcu_gp_init()</tt> pass through the <tt>rcu_node</tt>389<p>The final <tt>rcu_gp_init()</tt> pass through the <tt>rcu_node</tt>
390tree traverses breadth-first, setting each <tt>rcu_node</tt> structure's390tree traverses breadth-first, setting each <tt>rcu_node</tt> structure's
391<tt>-&gt;gpnum</tt> field to the newly incremented value from the391<tt>-&gt;gp_seq</tt> field to the newly advanced value from the
392<tt>rcu_state</tt> structure, as shown in the following diagram.392<tt>rcu_state</tt> structure, as shown in the following diagram.
393 393
394</p><p><img src="TreeRCU-gp-init-3.svg" alt="TreeRCU-gp-init-1.svg" width="75%">394</p><p><img src="TreeRCU-gp-init-3.svg" alt="TreeRCU-gp-init-1.svg" width="75%">
@@ -398,9 +398,9 @@ tree traverses breadth-first, setting each <tt>rcu_node</tt> structure's · 3 unmodified lines
398to notice that a new grace period has started, as described in the next398to notice that a new grace period has started, as described in the next
399section.399section.
400But because the grace-period kthread started the grace period at the400But because the grace-period kthread started the grace period at the
401root (with the increment of the <tt>rcu_state</tt> structure's401root (with the advancing of the <tt>rcu_state</tt> structure's
402<tt>-&gt;gpnum</tt> field) before setting each leaf <tt>rcu_node</tt>402<tt>-&gt;gp_seq</tt> field) before setting each leaf <tt>rcu_node</tt>
403structure's <tt>-&gt;gpnum</tt> field, each CPU's observation of403structure's <tt>-&gt;gp_seq</tt> field, each CPU's observation of
404the start of the grace period will happen after the actual start404the start of the grace period will happen after the actual start
405of the grace period.405of the grace period.
406 406
@@ -466,7 +466,7 @@ section that the grace period must wait on. · 59 unmodified lines
466<tr><td>466<tr><td>
467 But a RCU read-side critical section might have started467 But a RCU read-side critical section might have started
468 after the beginning of the grace period468 after the beginning of the grace period
469 (the <tt>-&gt;gpnum++</tt> from earlier), so why should469 (the advancing of <tt>-&gt;gp_seq</tt> from earlier), so why should
470 the grace period wait on such a critical section?470 the grace period wait on such a critical section?
471</td></tr>471</td></tr>
472<tr><th align="left">Answer:</th></tr>472<tr><th align="left">Answer:</th></tr>
@@ -609,10 +609,8 @@ states outstanding from other CPUs. · 136 unmodified lines
609<h4><a name="Grace-Period Cleanup">Grace-Period Cleanup</a></h4>609<h4><a name="Grace-Period Cleanup">Grace-Period Cleanup</a></h4>
610 610
611<p>Grace-period cleanup first scans the <tt>rcu_node</tt> tree611<p>Grace-period cleanup first scans the <tt>rcu_node</tt> tree
612breadth-first setting all the <tt>-&gt;completed</tt> fields equal612breadth-first advancing all the <tt>-&gt;gp_seq</tt> fields, then it
613to the number of the newly completed grace period, then it sets613advances the <tt>rcu_state</tt> structure's <tt>-&gt;gp_seq</tt> field.
614the <tt>rcu_state</tt> structure's <tt>-&gt;completed</tt> field,
615again to the number of the newly completed grace period.
616The ordering effects are shown below:614The ordering effects are shown below:
617 615
618</p><p><img src="TreeRCU-gp-cleanup.svg" alt="TreeRCU-gp-cleanup.svg" width="75%">616</p><p><img src="TreeRCU-gp-cleanup.svg" alt="TreeRCU-gp-cleanup.svg" width="75%">
@@ -634,7 +632,7 @@ grace-period cleanup is complete, the next grace period can begin. · 15 unmodified lines
634 CPU has reported its quiescent state, but it may be some632 CPU has reported its quiescent state, but it may be some
635 milliseconds before RCU becomes aware of this.633 milliseconds before RCU becomes aware of this.
636 The latest reasonable candidate is once the <tt>rcu_state</tt>634 The latest reasonable candidate is once the <tt>rcu_state</tt>
637 structure's <tt>-&gt;completed</tt> field has been updated,635 structure's <tt>-&gt;gp_seq</tt> field has been updated,
638 but it is quite possible that some CPUs have already completed636 but it is quite possible that some CPUs have already completed
639 phase two of their updates by that time.637 phase two of their updates by that time.
640 In short, if you are going to work with RCU, you need to638 In short, if you are going to work with RCU, you need to
@@ -647,7 +645,7 @@ grace-period cleanup is complete, the next grace period can begin. · 6 unmodified lines
647<h4><a name="Callback Invocation">Callback Invocation</a></h4>645<h4><a name="Callback Invocation">Callback Invocation</a></h4>
648 646
649<p>Once a given CPU's leaf <tt>rcu_node</tt> structure's647<p>Once a given CPU's leaf <tt>rcu_node</tt> structure's
650<tt>-&gt;completed</tt> field has been updated, that CPU can begin648<tt>-&gt;gp_seq</tt> field has been updated, that CPU can begin
651invoking its RCU callbacks that were waiting for this grace period649invoking its RCU callbacks that were waiting for this grace period
652to end.650to end.
653These callbacks are identified by <tt>rcu_advance_cbs()</tt>,651These callbacks are identified by <tt>rcu_advance_cbs()</tt>,
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-cleanup.svg+65−58
@@ -384,11 +384,11 @@ · 383 unmodified lines
384 inkscape:window-height="1144"384 inkscape:window-height="1144"
385 id="namedview208"385 id="namedview208"
386 showgrid="true"386 showgrid="true"
387 inkscape:zoom="0.70710678"387 inkscape:zoom="0.78716603"
388 inkscape:cx="617.89017"388 inkscape:cx="513.06403"
389 inkscape:cy="542.52419"389 inkscape:cy="623.1214"
390 inkscape:window-x="86"390 inkscape:window-x="102"
391 inkscape:window-y="28"391 inkscape:window-y="38"
392 inkscape:window-maximized="0"392 inkscape:window-maximized="0"
393 inkscape:current-layer="g3188-3"393 inkscape:current-layer="g3188-3"
394 fit-margin-top="5"394 fit-margin-top="5"
@@ -417,13 +417,15 @@ · 22 unmodified lines
417 id="g3188">417 id="g3188">
418 <text418 <text
419 xml:space="preserve"419 xml:space="preserve"
420 x="3199.1516"420 x="3145.9592"
421 y="13255.592"421 y="13255.592"
422 font-style="normal"422 font-style="normal"
423 font-weight="bold"423 font-weight="bold"
424 font-size="192"424 font-size="192"
425 id="text202"425 id="text202"
426 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">-&gt;completed = -&gt;gpnum</text>426 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier"><tspan
427 style="font-size:172.87567139px"
428 id="tspan3143">rcu_seq_end(&amp;rnp-&gt;gp_seq)</tspan></text>
427 <g429 <g
428 id="g3107"430 id="g3107"
429 transform="translate(947.90548,11584.029)">431 transform="translate(947.90548,11584.029)">
@@ -502,13 +504,15 @@ · 72 unmodified lines
502 </g>504 </g>
503 <text505 <text
504 xml:space="preserve"506 xml:space="preserve"
505 x="5324.5371"507 x="5264.4731"
506 y="15414.598"508 y="15428.84"
507 font-style="normal"509 font-style="normal"
508 font-weight="bold"510 font-weight="bold"
509 font-size="192"511 font-size="192"
510 id="text202-753"512 id="text202-36-7"
511 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text>513 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"><tspan
514 style="font-size:172.87567139px"
515 id="tspan3166-5">rcu_seq_end(&amp;rnp-&gt;gp_seq)</tspan></text>
512 </g>516 </g>
513 <g517 <g
514 style="fill:none;stroke-width:0.025in"518 style="fill:none;stroke-width:0.025in"
@@ -547,15 +551,6 @@ · 32 unmodified lines
547 sodipodi:linespacing="125%"><tspan551 sodipodi:linespacing="125%"><tspan
548 style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"552 style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
549 id="tspan3104-6-5-6-0">Leaf</tspan></text>553 id="tspan3104-6-5-6-0">Leaf</tspan></text>
550 <text
551 xml:space="preserve"
552 x="7479.5796"
553 y="17699.943"
554 font-style="normal"
555 font-weight="bold"
556 font-size="192"
557 id="text202-9"
558 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text>
559 <path554 <path
560 sodipodi:nodetypes="cc"555 sodipodi:nodetypes="cc"
561 inkscape:connector-curvature="0"556 inkscape:connector-curvature="0"
@@ -566,15 +561,6 @@ · 4 unmodified lines
566 style="fill:none;stroke-width:0.025in"561 style="fill:none;stroke-width:0.025in"
567 transform="translate(-737.93887,7732.6672)"562 transform="translate(-737.93887,7732.6672)"
568 id="g3188-3">563 id="g3188-3">
569 <text
570 xml:space="preserve"
571 x="3225.7478"
572 y="13175.802"
573 font-style="normal"
574 font-weight="bold"
575 font-size="192"
576 id="text202-60"
577 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">rsp-&gt;completed =</text>
578 <g564 <g
579 id="g3107-62"565 id="g3107-62"
580 transform="translate(947.90548,11584.029)">566 transform="translate(947.90548,11584.029)">
@@ -607,15 +593,6 @@ · 26 unmodified lines
607 sodipodi:linespacing="125%"><tspan593 sodipodi:linespacing="125%"><tspan
608 style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"594 style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
609 id="tspan3104-6-5-7">Root</tspan></text>595 id="tspan3104-6-5-7">Root</tspan></text>
610 <text
611 xml:space="preserve"
612 x="3225.7478"
613 y="13390.038"
614 font-style="normal"
615 font-weight="bold"
616 font-size="192"
617 id="text202-60-3"
618 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"> rnp-&gt;completed</text>
619 <flowRoot596 <flowRoot
620 xml:space="preserve"597 xml:space="preserve"
621 id="flowRoot3356"598 id="flowRoot3356"
@@ -627,7 +604,18 @@ · 5 unmodified lines
627 height="63.63961"604 height="63.63961"
628 x="332.34018"605 x="332.34018"
629 y="681.87292" /></flowRegion><flowPara606 y="681.87292" /></flowRegion><flowPara
630 id="flowPara3362" /></flowRoot> </g>607 id="flowPara3362" /></flowRoot> <text
608 xml:space="preserve"
609 x="3156.6121"
610 y="13317.754"
611 font-style="normal"
612 font-weight="bold"
613 font-size="192"
614 id="text202-36-6"
615 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"><tspan
616 style="font-size:172.87567139px"
617 id="tspan3166-0">rcu_seq_end(&amp;rsp-&gt;gp_seq)</tspan></text>
618 </g>
631 <g619 <g
632 style="fill:none;stroke-width:0.025in"620 style="fill:none;stroke-width:0.025in"
633 transform="translate(-858.40227,7769.0342)"621 transform="translate(-858.40227,7769.0342)"
@@ -859,6 +847,17 @@ · 225 unmodified lines
859 id="path3414-8-3-6-6"847 id="path3414-8-3-6-6"
860 inkscape:connector-curvature="0"848 inkscape:connector-curvature="0"
861 sodipodi:nodetypes="cc" />849 sodipodi:nodetypes="cc" />
850 <text
851 xml:space="preserve"
852 x="7418.769"
853 y="17646.104"
854 font-style="normal"
855 font-weight="bold"
856 font-size="192"
857 id="text202-36-70"
858 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"><tspan
859 style="font-size:172.87567139px"
860 id="tspan3166-93">rcu_seq_end(&amp;rnp-&gt;gp_seq)</tspan></text>
862 </g>861 </g>
863 <g862 <g
864 transform="translate(-1642.5377,-11611.245)"863 transform="translate(-1642.5377,-11611.245)"
@@ -887,13 +886,15 @@ · 22 unmodified lines
887 </g>886 </g>
888 <text887 <text
889 xml:space="preserve"888 xml:space="preserve"
890 x="5327.3057"889 x="5274.1133"
891 y="15428.84"890 y="15428.84"
892 font-style="normal"891 font-style="normal"
893 font-weight="bold"892 font-weight="bold"
894 font-size="192"893 font-size="192"
895 id="text202-36"894 id="text202-36"
896 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text>895 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"><tspan
896 style="font-size:172.87567139px"
897 id="tspan3166">rcu_seq_end(&amp;rnp-&gt;gp_seq)</tspan></text>
897 </g>898 </g>
898 <g899 <g
899 transform="translate(-151.71746,-11647.612)"900 transform="translate(-151.71746,-11647.612)"
@@ -972,13 +973,15 @@ · 72 unmodified lines
972 id="tspan3104-6-5-6-0-92">Leaf</tspan></text>973 id="tspan3104-6-5-6-0-92">Leaf</tspan></text>
973 <text974 <text
974 xml:space="preserve"975 xml:space="preserve"
975 x="7486.4907"976 x="7408.5918"
976 y="17670.119"977 y="17619.504"
977 font-style="normal"978 font-style="normal"
978 font-weight="bold"979 font-weight="bold"
979 font-size="192"980 font-size="192"
980 id="text202-6"981 id="text202-36-2"
981 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text>982 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"><tspan
983 style="font-size:172.87567139px"
984 id="tspan3166-9">rcu_seq_end(&amp;rnp-&gt;gp_seq)</tspan></text>
982 </g>985 </g>
983 <g986 <g
984 transform="translate(-6817.1997,-11647.612)"987 transform="translate(-6817.1997,-11647.612)"
@@ -1019,13 +1022,15 @@ · 34 unmodified lines
1019 id="tspan3104-6-5-6-0-1">Leaf</tspan></text>1022 id="tspan3104-6-5-6-0-1">Leaf</tspan></text>
1020 <text1023 <text
1021 xml:space="preserve"1024 xml:space="preserve"
1022 x="7474.1382"1025 x="7416.8003"
1023 y="17688.926"1026 y="17619.504"
1024 font-style="normal"1027 font-style="normal"
1025 font-weight="bold"1028 font-weight="bold"
1026 font-size="192"1029 font-size="192"
1027 id="text202-5"1030 id="text202-36-3"
1028 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text>1031 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"><tspan
1032 style="font-size:172.87567139px"
1033 id="tspan3166-56">rcu_seq_end(&amp;rnp-&gt;gp_seq)</tspan></text>
1029 </g>1034 </g>
1030 <path1035 <path
1031 style="fill:none;stroke:#000000;stroke-width:13.29812908px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"1036 style="fill:none;stroke:#000000;stroke-width:13.29812908px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
@@ -1059,15 +1064,6 @@ · 27 unmodified lines
1059 id="path3414-8-3-6"1064 id="path3414-8-3-6"
1060 inkscape:connector-curvature="0"1065 inkscape:connector-curvature="0"
1061 sodipodi:nodetypes="cc" />1066 sodipodi:nodetypes="cc" />
1062 <text
1063 xml:space="preserve"
1064 x="7318.9653"
1065 y="6031.6353"
1066 font-style="normal"
1067 font-weight="bold"
1068 font-size="192"
1069 id="text202-2"
1070 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text>
1071 <g1067 <g
1072 style="fill:none;stroke-width:0.025in"1068 style="fill:none;stroke-width:0.025in"
1073 id="g4504-3-9"1069 id="g4504-3-9"
@@ -1123,4 +1119,15 @@ · 49 unmodified lines
1123 id="path3134-9-0-3-5"1119 id="path3134-9-0-3-5"
1124 d="m 6875.6003,15833.906 1595.7755,0"1120 d="m 6875.6003,15833.906 1595.7755,0"
1125 style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send-36)" />1121 style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send-36)" />
1122 <text
1123 xml:space="preserve"
1124 x="7275.2612"
1125 y="5971.8916"
1126 font-style="normal"
1127 font-weight="bold"
1128 font-size="192"
1129 id="text202-36-1"
1130 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"><tspan
1131 style="font-size:172.87567139px"
1132 id="tspan3166-2">rcu_seq_end(&amp;rnp-&gt;gp_seq)</tspan></text>
1126</svg>1133</svg>
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-1.svg+9−7
@@ -272,13 +272,13 @@ · 271 unmodified lines
272 inkscape:window-height="1144"272 inkscape:window-height="1144"
273 id="namedview208"273 id="namedview208"
274 showgrid="true"274 showgrid="true"
275 inkscape:zoom="0.70710678"275 inkscape:zoom="2.6330492"
276 inkscape:cx="617.89019"276 inkscape:cx="524.82797"
277 inkscape:cy="636.57143"277 inkscape:cy="519.31194"
278 inkscape:window-x="697"278 inkscape:window-x="79"
279 inkscape:window-y="28"279 inkscape:window-y="28"
280 inkscape:window-maximized="0"280 inkscape:window-maximized="0"
281 inkscape:current-layer="svg2"281 inkscape:current-layer="g3188"
282 fit-margin-top="5"282 fit-margin-top="5"
283 fit-margin-right="5"283 fit-margin-right="5"
284 fit-margin-left="5"284 fit-margin-left="5"
@@ -305,13 +305,15 @@ · 20 unmodified lines
305 id="g3188">305 id="g3188">
306 <text306 <text
307 xml:space="preserve"307 xml:space="preserve"
308 x="3305.5364"308 x="3119.363"
309 y="13255.592"309 y="13255.592"
310 font-style="normal"310 font-style="normal"
311 font-weight="bold"311 font-weight="bold"
312 font-size="192"312 font-size="192"
313 id="text202"313 id="text202"
314 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">rsp-&gt;gpnum++</text>314 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier"><tspan
315 style="font-size:172.87567139px"
316 id="tspan3071">rcu_seq_start(rsp-&gt;gp_seq)</tspan></text>
315 <g317 <g
316 id="g3107"318 id="g3107"
317 transform="translate(947.90548,11584.029)">319 transform="translate(947.90548,11584.029)">
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-3.svg+30−26
@@ -19,7 +19,7 @@ · 18 unmodified lines
19 id="svg2"19 id="svg2"
20 version="1.1"20 version="1.1"
21 inkscape:version="0.48.4 r9939"21 inkscape:version="0.48.4 r9939"
22 sodipodi:docname="TreeRCU-gp-init-2.svg">22 sodipodi:docname="TreeRCU-gp-init-3.svg">
23 <metadata23 <metadata
24 id="metadata212">24 id="metadata212">
25 <rdf:RDF>25 <rdf:RDF>
@@ -257,18 +257,22 @@ · 231 unmodified lines
257 inkscape:window-width="1087"257 inkscape:window-width="1087"
258 inkscape:window-height="1144"258 inkscape:window-height="1144"
259 id="namedview208"259 id="namedview208"
260 showgrid="false"260 showgrid="true"
261 inkscape:zoom="0.70710678"261 inkscape:zoom="0.68224756"
262 inkscape:cx="617.89019"262 inkscape:cx="617.89019"
263 inkscape:cy="625.84293"263 inkscape:cy="625.84293"
264 inkscape:window-x="697"264 inkscape:window-x="54"
265 inkscape:window-y="28"265 inkscape:window-y="28"
266 inkscape:window-maximized="0"266 inkscape:window-maximized="0"
267 inkscape:current-layer="svg2"267 inkscape:current-layer="g3153"
268 fit-margin-top="5"268 fit-margin-top="5"
269 fit-margin-right="5"269 fit-margin-right="5"
270 fit-margin-left="5"270 fit-margin-left="5"
271 fit-margin-bottom="5" />271 fit-margin-bottom="5">
272 <inkscape:grid
273 type="xygrid"
274 id="grid3090" />
275 </sodipodi:namedview>
272 <path276 <path
273 sodipodi:nodetypes="cccccccccccccccccccccccc"277 sodipodi:nodetypes="cccccccccccccccccccccccc"
274 inkscape:connector-curvature="0"278 inkscape:connector-curvature="0"
@@ -281,13 +285,13 @@ · 6 unmodified lines
281 id="g3188">285 id="g3188">
282 <text286 <text
283 xml:space="preserve"287 xml:space="preserve"
284 x="3305.5364"288 x="3145.9592"
285 y="13255.592"289 y="13255.592"
286 font-style="normal"290 font-style="normal"
287 font-weight="bold"291 font-weight="bold"
288 font-size="192"292 font-size="192"
289 id="text202"293 id="text202"
290 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text>294 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">-&gt;gp_seq = rsp-&gt;gp_seq</text>
291 <g295 <g
292 id="g3107"296 id="g3107"
293 transform="translate(947.90548,11584.029)">297 transform="translate(947.90548,11584.029)">
@@ -366,13 +370,13 @@ · 72 unmodified lines
366 </g>370 </g>
367 <text371 <text
368 xml:space="preserve"372 xml:space="preserve"
369 x="5392.3345"373 x="5253.6904"
370 y="15407.104"374 y="15407.032"
371 font-style="normal"375 font-style="normal"
372 font-weight="bold"376 font-weight="bold"
373 font-size="192"377 font-size="192"
374 id="text202-6"378 id="text202-6"
375 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text>379 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gp_seq = rsp-&gt;gp_seq</text>
376 </g>380 </g>
377 <g381 <g
378 style="fill:none;stroke-width:0.025in"382 style="fill:none;stroke-width:0.025in"
@@ -413,13 +417,13 @@ · 34 unmodified lines
413 id="tspan3104-6-5-6-0">Leaf</tspan></text>417 id="tspan3104-6-5-6-0">Leaf</tspan></text>
414 <text418 <text
415 xml:space="preserve"419 xml:space="preserve"
416 x="7536.4883"420 x="7415.4365"
417 y="17640.934"421 y="17670.572"
418 font-style="normal"422 font-style="normal"
419 font-weight="bold"423 font-weight="bold"
420 font-size="192"424 font-size="192"
421 id="text202-9"425 id="text202-9"
422 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text>426 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gp_seq = rsp-&gt;gp_seq</text>
423 </g>427 </g>
424 <g428 <g
425 transform="translate(-1642.5375,-11610.962)"429 transform="translate(-1642.5375,-11610.962)"
@@ -448,13 +452,13 @@ · 22 unmodified lines
448 </g>452 </g>
449 <text453 <text
450 xml:space="preserve"454 xml:space="preserve"
451 x="5378.4146"455 x="5258.0688"
452 y="15436.927"456 y="15412.313"
453 font-style="normal"457 font-style="normal"
454 font-weight="bold"458 font-weight="bold"
455 font-size="192"459 font-size="192"
456 id="text202-3"460 id="text202-3"
457 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text>461 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gp_seq = rsp-&gt;gp_seq</text>
458 </g>462 </g>
459 <g463 <g
460 transform="translate(-151.71726,-11647.329)"464 transform="translate(-151.71726,-11647.329)"
@@ -533,13 +537,13 @@ · 72 unmodified lines
533 id="tspan3104-6-5-6-0-92">Leaf</tspan></text>537 id="tspan3104-6-5-6-0-92">Leaf</tspan></text>
534 <text538 <text
535 xml:space="preserve"539 xml:space="preserve"
536 x="7520.1294"540 x="7405.2607"
537 y="17673.639"541 y="17670.572"
538 font-style="normal"542 font-style="normal"
539 font-weight="bold"543 font-weight="bold"
540 font-size="192"544 font-size="192"
541 id="text202-35"545 id="text202-35"
542 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text>546 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gp_seq = rsp-&gt;gp_seq</text>
543 </g>547 </g>
544 <g548 <g
545 transform="translate(-6817.1998,-11647.329)"549 transform="translate(-6817.1998,-11647.329)"
@@ -580,13 +584,13 @@ · 34 unmodified lines
580 id="tspan3104-6-5-6-0-1">Leaf</tspan></text>584 id="tspan3104-6-5-6-0-1">Leaf</tspan></text>
581 <text585 <text
582 xml:space="preserve"586 xml:space="preserve"
583 x="7521.4663"587 x="7413.4688"
584 y="17666.062"588 y="17670.566"
585 font-style="normal"589 font-style="normal"
586 font-weight="bold"590 font-weight="bold"
587 font-size="192"591 font-size="192"
588 id="text202-75"592 id="text202-75"
589 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text>593 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gp_seq = rsp-&gt;gp_seq</text>
590 </g>594 </g>
591 <path595 <path
592 style="fill:none;stroke:#000000;stroke-width:13.29812908px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"596 style="fill:none;stroke:#000000;stroke-width:13.29812908px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
@@ -622,11 +626,11 @@ · 29 unmodified lines
622 sodipodi:nodetypes="cc" />626 sodipodi:nodetypes="cc" />
623 <text627 <text
624 xml:space="preserve"628 xml:space="preserve"
625 x="7370.856"629 x="7271.9297"
626 y="5997.5972"630 y="6023.2412"
627 font-style="normal"631 font-style="normal"
628 font-weight="bold"632 font-weight="bold"
629 font-size="192"633 font-size="192"
630 id="text202-62"634 id="text202-62"
631 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text>635 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gp_seq = rsp-&gt;gp_seq</text>
632</svg>636</svg>
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg+123−114
@@ -1070,13 +1070,13 @@ · 1069 unmodified lines
1070 inkscape:window-height="1144"1070 inkscape:window-height="1144"
1071 id="namedview208"1071 id="namedview208"
1072 showgrid="true"1072 showgrid="true"
1073 inkscape:zoom="0.6004608"1073 inkscape:zoom="0.81932583"
1074 inkscape:cx="826.65969"1074 inkscape:cx="840.45848"
1075 inkscape:cy="483.3047"1075 inkscape:cy="5052.4242"
1076 inkscape:window-x="66"1076 inkscape:window-x="787"
1077 inkscape:window-y="28"1077 inkscape:window-y="24"
1078 inkscape:window-maximized="0"1078 inkscape:window-maximized="0"
1079 inkscape:current-layer="svg2"1079 inkscape:current-layer="g4"
1080 fit-margin-top="5"1080 fit-margin-top="5"
1081 fit-margin-right="5"1081 fit-margin-right="5"
1082 fit-margin-left="5"1082 fit-margin-left="5"
@@ -1543,15 +1543,6 @@ · 460 unmodified lines
1543 style="fill:none;stroke-width:0.025in"1543 style="fill:none;stroke-width:0.025in"
1544 transform="translate(1749.0282,658.72243)"1544 transform="translate(1749.0282,658.72243)"
1545 id="g3188">1545 id="g3188">
1546 <text
1547 xml:space="preserve"
1548 x="3305.5364"
1549 y="13255.592"
1550 font-style="normal"
1551 font-weight="bold"
1552 font-size="192"
1553 id="text202-5"
1554 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">rsp-&gt;gpnum++</text>
1555 <g1546 <g
1556 id="g3107-62"1547 id="g3107-62"
1557 transform="translate(947.90548,11584.029)">1548 transform="translate(947.90548,11584.029)">
@@ -1584,6 +1575,17 @@ · 26 unmodified lines
1584 sodipodi:linespacing="125%"><tspan1575 sodipodi:linespacing="125%"><tspan
1585 style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"1576 style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
1586 id="tspan3104-6-5-7">Root</tspan></text>1577 id="tspan3104-6-5-7">Root</tspan></text>
1578 <text
1579 xml:space="preserve"
1580 x="3137.9988"
1581 y="13271.316"
1582 font-style="normal"
1583 font-weight="bold"
1584 font-size="192"
1585 id="text202-626"
1586 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"><tspan
1587 style="font-size:172.87567139px"
1588 id="tspan3071">rcu_seq_start(rsp-&gt;gp_seq)</tspan></text>
1587 </g>1589 </g>
1588 <rect1590 <rect
1589 ry="0"1591 ry="0"
@@ -2318,15 +2320,6 @@ · 728 unmodified lines
2318 style="fill:none;stroke-width:0.025in"2320 style="fill:none;stroke-width:0.025in"
2319 transform="translate(1739.0986,17188.625)"2321 transform="translate(1739.0986,17188.625)"
2320 id="g3188-6">2322 id="g3188-6">
2321 <text
2322 xml:space="preserve"
2323 x="3305.5364"
2324 y="13255.592"
2325 font-style="normal"
2326 font-weight="bold"
2327 font-size="192"
2328 id="text202-1"
2329 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text>
2330 <g2323 <g
2331 id="g3107-5"2324 id="g3107-5"
2332 transform="translate(947.90548,11584.029)">2325 transform="translate(947.90548,11584.029)">
@@ -2359,6 +2352,15 @@ · 26 unmodified lines
2359 sodipodi:linespacing="125%"><tspan2352 sodipodi:linespacing="125%"><tspan
2360 style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"2353 style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
2361 id="tspan3104-6-5-1">Root</tspan></text>2354 id="tspan3104-6-5-1">Root</tspan></text>
2355 <text
2356 xml:space="preserve"
2357 x="3147.9268"
2358 y="13240.524"
2359 font-style="normal"
2360 font-weight="bold"
2361 font-size="192"
2362 id="text202-1"
2363 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gp_seq = rsp-&gt;gp_seq</text>
2362 </g>2364 </g>
2363 <g2365 <g
2364 style="fill:none;stroke-width:0.025in"2366 style="fill:none;stroke-width:0.025in"
@@ -2387,13 +2389,13 @@ · 22 unmodified lines
2387 </g>2389 </g>
2388 <text2390 <text
2389 xml:space="preserve"2391 xml:space="preserve"
2390 x="5392.3345"2392 x="5263.1094"
2391 y="15407.104"2393 y="15411.646"
2392 font-style="normal"2394 font-style="normal"
2393 font-weight="bold"2395 font-weight="bold"
2394 font-size="192"2396 font-size="192"
2395 id="text202-6-7"2397 id="text202-92"
2396 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text>2398 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gp_seq = rsp-&gt;gp_seq</text>
2397 </g>2399 </g>
2398 <g2400 <g
2399 style="fill:none;stroke-width:0.025in"2401 style="fill:none;stroke-width:0.025in"
@@ -2434,13 +2436,13 @@ · 34 unmodified lines
2434 id="tspan3104-6-5-6-0-94">Leaf</tspan></text>2436 id="tspan3104-6-5-6-0-94">Leaf</tspan></text>
2435 <text2437 <text
2436 xml:space="preserve"2438 xml:space="preserve"
2437 x="7536.4883"2439 x="7417.4053"
2438 y="17640.934"2440 y="17655.502"
2439 font-style="normal"2441 font-style="normal"
2440 font-weight="bold"2442 font-weight="bold"
2441 font-size="192"2443 font-size="192"
2442 id="text202-9"2444 id="text202-759"
2443 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text>2445 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gp_seq = rsp-&gt;gp_seq</text>
2444 </g>2446 </g>
2445 <g2447 <g
2446 transform="translate(-2353.8462,17224.992)"2448 transform="translate(-2353.8462,17224.992)"
@@ -2469,13 +2471,13 @@ · 22 unmodified lines
2469 </g>2471 </g>
2470 <text2472 <text
2471 xml:space="preserve"2473 xml:space="preserve"
2472 x="5378.4146"2474 x="5246.1548"
2473 y="15436.927"2475 y="15411.648"
2474 font-style="normal"2476 font-style="normal"
2475 font-weight="bold"2477 font-weight="bold"
2476 font-size="192"2478 font-size="192"
2477 id="text202-3"2479 id="text202-87"
2478 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text>2480 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gp_seq = rsp-&gt;gp_seq</text>
2479 </g>2481 </g>
2480 <g2482 <g
2481 transform="translate(-863.02613,17188.625)"2483 transform="translate(-863.02613,17188.625)"
@@ -2554,13 +2556,13 @@ · 72 unmodified lines
2554 id="tspan3104-6-5-6-0-92-6">Leaf</tspan></text>2556 id="tspan3104-6-5-6-0-92-6">Leaf</tspan></text>
2555 <text2557 <text
2556 xml:space="preserve"2558 xml:space="preserve"
2557 x="7520.1294"2559 x="7433.8257"
2558 y="17673.639"2560 y="17682.098"
2559 font-style="normal"2561 font-style="normal"
2560 font-weight="bold"2562 font-weight="bold"
2561 font-size="192"2563 font-size="192"
2562 id="text202-35"2564 id="text202-2"
2563 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text>2565 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gp_seq = rsp-&gt;gp_seq</text>
2564 </g>2566 </g>
2565 <g2567 <g
2566 transform="translate(-7528.5085,17188.625)"2568 transform="translate(-7528.5085,17188.625)"
@@ -2601,13 +2603,13 @@ · 34 unmodified lines
2601 id="tspan3104-6-5-6-0-1-8">Leaf</tspan></text>2603 id="tspan3104-6-5-6-0-1-8">Leaf</tspan></text>
2602 <text2604 <text
2603 xml:space="preserve"2605 xml:space="preserve"
2604 x="7521.4663"2606 x="7415.4404"
2605 y="17666.062"2607 y="17682.098"
2606 font-style="normal"2608 font-style="normal"
2607 font-weight="bold"2609 font-weight="bold"
2608 font-size="192"2610 font-size="192"
2609 id="text202-75-1"2611 id="text202-0"
2610 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text>2612 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gp_seq = rsp-&gt;gp_seq</text>
2611 </g>2613 </g>
2612 <path2614 <path
2613 style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"2615 style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
@@ -2641,15 +2643,6 @@ · 27 unmodified lines
2641 id="path3414-8-3-6-4"2643 id="path3414-8-3-6-4"
2642 inkscape:connector-curvature="0"2644 inkscape:connector-curvature="0"
2643 sodipodi:nodetypes="cc" />2645 sodipodi:nodetypes="cc" />
2644 <text
2645 xml:space="preserve"
2646 x="6659.5469"
2647 y="34833.551"
2648 font-style="normal"
2649 font-weight="bold"
2650 font-size="192"
2651 id="text202-62"
2652 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gpnum = rsp-&gt;gpnum</text>
2653 <path2646 <path
2654 sodipodi:nodetypes="ccc"2647 sodipodi:nodetypes="ccc"
2655 inkscape:connector-curvature="0"2648 inkscape:connector-curvature="0"
@@ -3844,7 +3837,7 @@ · 1188 unmodified lines
3844 font-weight="bold"3837 font-weight="bold"
3845 font-size="192"3838 font-size="192"
3846 id="text202-6-6-5"3839 id="text202-6-6-5"
3847 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rdp-&gt;gpnum</text>3840 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rdp-&gt;gp_seq</text>
3848 <text3841 <text
3849 xml:space="preserve"3842 xml:space="preserve"
3850 x="5035.4155"3843 x="5035.4155"
@@ -4284,15 +4277,6 @@ · 433 unmodified lines
4284 style="fill:none;stroke-width:0.025in"4277 style="fill:none;stroke-width:0.025in"
4285 transform="translate(1874.038,53203.538)"4278 transform="translate(1874.038,53203.538)"
4286 id="g3188-7">4279 id="g3188-7">
4287 <text
4288 xml:space="preserve"
4289 x="3199.1516"
4290 y="13255.592"
4291 font-style="normal"
4292 font-weight="bold"
4293 font-size="192"
4294 id="text202-82"
4295 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier">-&gt;completed = -&gt;gpnum</text>
4296 <g4280 <g
4297 id="g3107-53"4281 id="g3107-53"
4298 transform="translate(947.90548,11584.029)">4282 transform="translate(947.90548,11584.029)">
@@ -4325,6 +4309,17 @@ · 26 unmodified lines
4325 sodipodi:linespacing="125%"><tspan4309 sodipodi:linespacing="125%"><tspan
4326 style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"4310 style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
4327 id="tspan3104-6-5-19">Root</tspan></text>4311 id="tspan3104-6-5-19">Root</tspan></text>
4312 <text
4313 xml:space="preserve"
4314 x="3175.896"
4315 y="13240.11"
4316 font-style="normal"
4317 font-weight="bold"
4318 font-size="192"
4319 id="text202-36-3"
4320 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"><tspan
4321 style="font-size:172.87567139px"
4322 id="tspan3166">rcu_seq_end(&amp;rnp-&gt;gp_seq)</tspan></text>
4328 </g>4323 </g>
4329 <rect4324 <rect
4330 ry="0"4325 ry="0"
@@ -4371,13 +4366,15 @@ · 40 unmodified lines
4371 </g>4366 </g>
4372 <text4367 <text
4373 xml:space="preserve"4368 xml:space="preserve"
4374 x="5324.5371"4369 x="5264.4829"
4375 y="15414.598"4370 y="15411.231"
4376 font-style="normal"4371 font-style="normal"
4377 font-weight="bold"4372 font-weight="bold"
4378 font-size="192"4373 font-size="192"
4379 id="text202-753"4374 id="text202-36-7"
4380 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text>4375 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"><tspan
4376 style="font-size:172.87567139px"
4377 id="tspan3166-5">rcu_seq_end(&amp;rnp-&gt;gp_seq)</tspan></text>
4381 </g>4378 </g>
4382 <g4379 <g
4383 style="fill:none;stroke-width:0.025in"4380 style="fill:none;stroke-width:0.025in"
@@ -4412,30 +4409,12 @@ · 28 unmodified lines
4412 sodipodi:linespacing="125%"><tspan4409 sodipodi:linespacing="125%"><tspan
4413 style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"4410 style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
4414 id="tspan3104-6-5-6-0-4">Leaf</tspan></text>4411 id="tspan3104-6-5-6-0-4">Leaf</tspan></text>
4415 <text
4416 xml:space="preserve"
4417 x="10084.225"
4418 y="70903.312"
4419 font-style="normal"
4420 font-weight="bold"
4421 font-size="192"
4422 id="text202-9-0"
4423 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text>
4424 <path4412 <path
4425 sodipodi:nodetypes="ccc"4413 sodipodi:nodetypes="ccc"
4426 inkscape:connector-curvature="0"4414 inkscape:connector-curvature="0"
4427 id="path3134-9-0-3-9"4415 id="path3134-9-0-3-9"
4428 d="m 6315.6122,72629.054 -20.9533,8108.684 1648.968,0"4416 d="m 6315.6122,72629.054 -20.9533,8108.684 1648.968,0"
4429 style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" />4417 style="fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)" />
4430 <text
4431 xml:space="preserve"
4432 x="5092.4683"
4433 y="74111.672"
4434 font-style="normal"
4435 font-weight="bold"
4436 font-size="192"
4437 id="text202-60"
4438 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rsp-&gt;completed =</text>
4439 <g4418 <g
4440 style="fill:none;stroke-width:0.025in"4419 style="fill:none;stroke-width:0.025in"
4441 id="g3107-62-6"4420 id="g3107-62-6"
@@ -4469,15 +4448,6 @@ · 27 unmodified lines
4469 sodipodi:linespacing="125%"><tspan4448 sodipodi:linespacing="125%"><tspan
4470 style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"4449 style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
4471 id="tspan3104-6-5-7-7">Root</tspan></text>4450 id="tspan3104-6-5-7-7">Root</tspan></text>
4472 <text
4473 xml:space="preserve"
4474 x="5092.4683"
4475 y="74325.906"
4476 font-style="normal"
4477 font-weight="bold"
4478 font-size="192"
4479 id="text202-60-3"
4480 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"> rnp-&gt;completed</text>
4481 <g4451 <g
4482 style="fill:none;stroke-width:0.025in"4452 style="fill:none;stroke-width:0.025in"
4483 transform="translate(1746.2528,60972.572)"4453 transform="translate(1746.2528,60972.572)"
@@ -4736,13 +4706,15 @@ · 252 unmodified lines
4736 </g>4706 </g>
4737 <text4707 <text
4738 xml:space="preserve"4708 xml:space="preserve"
4739 x="5327.3057"4709 x="5274.1216"
4740 y="15428.84"4710 y="15411.231"
4741 font-style="normal"4711 font-style="normal"
4742 font-weight="bold"4712 font-weight="bold"
4743 font-size="192"4713 font-size="192"
4744 id="text202-36"4714 id="text202-36"
4745 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text>4715 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"><tspan
4716 style="font-size:172.87567139px"
4717 id="tspan3166-6">rcu_seq_end(&amp;rnp-&gt;gp_seq)</tspan></text>
4746 </g>4718 </g>
4747 <g4719 <g
4748 transform="translate(-728.08545,53203.538)"4720 transform="translate(-728.08545,53203.538)"
@@ -4821,13 +4793,15 @@ · 72 unmodified lines
4821 id="tspan3104-6-5-6-0-92-5">Leaf</tspan></text>4793 id="tspan3104-6-5-6-0-92-5">Leaf</tspan></text>
4822 <text4794 <text
4823 xml:space="preserve"4795 xml:space="preserve"
4824 x="7486.4907"4796 x="7435.1987"
4825 y="17670.119"4797 y="17708.281"
4826 font-style="normal"4798 font-style="normal"
4827 font-weight="bold"4799 font-weight="bold"
4828 font-size="192"4800 font-size="192"
4829 id="text202-6-2"4801 id="text202-36-9"
4830 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text>4802 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"><tspan
4803 style="font-size:172.87567139px"
4804 id="tspan3166-1">rcu_seq_end(&amp;rnp-&gt;gp_seq)</tspan></text>
4831 </g>4805 </g>
4832 <g4806 <g
4833 transform="translate(-7393.5687,53203.538)"4807 transform="translate(-7393.5687,53203.538)"
@@ -4868,13 +4842,15 @@ · 34 unmodified lines
4868 id="tspan3104-6-5-6-0-1-5">Leaf</tspan></text>4842 id="tspan3104-6-5-6-0-1-5">Leaf</tspan></text>
4869 <text4843 <text
4870 xml:space="preserve"4844 xml:space="preserve"
4871 x="7474.1382"4845 x="7416.8125"
4872 y="17688.926"4846 y="17708.281"
4873 font-style="normal"4847 font-style="normal"
4874 font-weight="bold"4848 font-weight="bold"
4875 font-size="192"4849 font-size="192"
4876 id="text202-5-1"4850 id="text202-36-35"
4877 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text>4851 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"><tspan
4852 style="font-size:172.87567139px"
4853 id="tspan3166-62">rcu_seq_end(&amp;rnp-&gt;gp_seq)</tspan></text>
4878 </g>4854 </g>
4879 <path4855 <path
4880 style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"4856 style="fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
@@ -4908,15 +4884,6 @@ · 27 unmodified lines
4908 id="path3414-8-3-6-67"4884 id="path3414-8-3-6-67"
4909 inkscape:connector-curvature="0"4885 inkscape:connector-curvature="0"
4910 sodipodi:nodetypes="cc" />4886 sodipodi:nodetypes="cc" />
4911 <text
4912 xml:space="preserve"
4913 x="6742.6001"
4914 y="70882.617"
4915 font-style="normal"
4916 font-weight="bold"
4917 font-size="192"
4918 id="text202-2"
4919 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;completed = -&gt;gpnum</text>
4920 <g4887 <g
4921 style="fill:none;stroke-width:0.025in"4888 style="fill:none;stroke-width:0.025in"
4922 id="g4504-3-9-6"4889 id="g4504-3-9-6"
@@ -5131,5 +5098,47 @@ · 208 unmodified lines
5131 font-size="192"5098 font-size="192"
5132 id="text202-7-9-6-6-7"5099 id="text202-7-9-6-6-7"
5133 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_do_batch()</text>5100 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_do_batch()</text>
5101 <text
5102 xml:space="preserve"
5103 x="6698.9019"
5104 y="70885.211"
5105 font-style="normal"
5106 font-weight="bold"
5107 font-size="192"
5108 id="text202-36-2"
5109 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"><tspan
5110 style="font-size:172.87567139px"
5111 id="tspan3166-7">rcu_seq_end(&amp;rnp-&gt;gp_seq)</tspan></text>
5112 <text
5113 xml:space="preserve"
5114 x="10023.457"
5115 y="70885.234"
5116 font-style="normal"
5117 font-weight="bold"
5118 font-size="192"
5119 id="text202-36-0"
5120 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"><tspan
5121 style="font-size:172.87567139px"
5122 id="tspan3166-9">rcu_seq_end(&amp;rnp-&gt;gp_seq)</tspan></text>
5123 <text
5124 xml:space="preserve"
5125 x="5023.3389"
5126 y="74209.773"
5127 font-style="normal"
5128 font-weight="bold"
5129 font-size="192"
5130 id="text202-36-36"
5131 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"><tspan
5132 style="font-size:172.87567139px"
5133 id="tspan3166-0">rcu_seq_end(&amp;rsp-&gt;gp_seq)</tspan></text>
5134 <text
5135 xml:space="preserve"
5136 x="6562.5884"
5137 y="34870.727"
5138 font-style="normal"
5139 font-weight="bold"
5140 font-size="192"
5141 id="text202-3"
5142 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">-&gt;gp_seq = rsp-&gt;gp_seq</text>
5134 </g>5143 </g>
5135</svg>5144</svg>
Documentation/RCU/Design/Memory-Ordering/TreeRCU-qs.svg+6−6
@@ -300,13 +300,13 @@ · 299 unmodified lines
300 inkscape:window-height="1144"300 inkscape:window-height="1144"
301 id="namedview208"301 id="namedview208"
302 showgrid="true"302 showgrid="true"
303 inkscape:zoom="0.70710678"303 inkscape:zoom="0.96484375"
304 inkscape:cx="616.47598"304 inkscape:cx="507.0191"
305 inkscape:cy="595.41964"305 inkscape:cy="885.62207"
306 inkscape:window-x="813"306 inkscape:window-x="47"
307 inkscape:window-y="28"307 inkscape:window-y="28"
308 inkscape:window-maximized="0"308 inkscape:window-maximized="0"
309 inkscape:current-layer="g4405"309 inkscape:current-layer="g3115"
310 fit-margin-top="5"310 fit-margin-top="5"
311 fit-margin-right="5"311 fit-margin-right="5"
312 fit-margin-left="5"312 fit-margin-left="5"
@@ -710,7 +710,7 @@ · 397 unmodified lines
710 font-weight="bold"710 font-weight="bold"
711 font-size="192"711 font-size="192"
712 id="text202-6-6"712 id="text202-6-6"
713 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rdp-&gt;gpnum</text>713 style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rdp-&gt;gp_seq</text>
714 <text714 <text
715 xml:space="preserve"715 xml:space="preserve"
716 x="5035.4155"716 x="5035.4155"
Documentation/RCU/stallwarn.txt+12−12
@@ -172,7 +172,7 @@ it will print a message similar to the following: · 171 unmodified lines
172 INFO: rcu_sched detected stalls on CPUs/tasks:172 INFO: rcu_sched detected stalls on CPUs/tasks:
173 2-...: (3 GPs behind) idle=06c/0/0 softirq=1453/1455 fqs=0173 2-...: (3 GPs behind) idle=06c/0/0 softirq=1453/1455 fqs=0
174 16-...: (0 ticks this GP) idle=81c/0/0 softirq=764/764 fqs=0174 16-...: (0 ticks this GP) idle=81c/0/0 softirq=764/764 fqs=0
175 (detected by 32, t=2603 jiffies, g=7073, c=7072, q=625)175 (detected by 32, t=2603 jiffies, g=7075, q=625)
176 176
177This message indicates that CPU 32 detected that CPUs 2 and 16 were both177This message indicates that CPU 32 detected that CPUs 2 and 16 were both
178causing stalls, and that the stall was affecting RCU-sched. This message178causing stalls, and that the stall was affecting RCU-sched. This message
@@ -215,11 +215,10 @@ CPU since the last time that this CPU noted the beginning of a grace · 36 unmodified lines
215period.215period.
216 216
217The "detected by" line indicates which CPU detected the stall (in this217The "detected by" line indicates which CPU detected the stall (in this
218case, CPU 32), how many jiffies have elapsed since the start of the218case, CPU 32), how many jiffies have elapsed since the start of the grace
219grace period (in this case 2603), the number of the last grace period219period (in this case 2603), the grace-period sequence number (7075), and
220to start and to complete (7073 and 7072, respectively), and an estimate220an estimate of the total number of RCU callbacks queued across all CPUs
221of the total number of RCU callbacks queued across all CPUs (625 in221(625 in this case).
222this case).
223 222
224In kernels with CONFIG_RCU_FAST_NO_HZ, more information is printed223In kernels with CONFIG_RCU_FAST_NO_HZ, more information is printed
225for each CPU:224for each CPU:
@@ -266,15 +265,16 @@ If the relevant grace-period kthread has been unable to run prior to · 40 unmodified lines
266the stall warning, as was the case in the "All QSes seen" line above,265the stall warning, as was the case in the "All QSes seen" line above,
267the following additional line is printed:266the following additional line is printed:
268 267
269 kthread starved for 23807 jiffies! g7073 c7072 f0x0 RCU_GP_WAIT_FQS(3) ->state=0x1268 kthread starved for 23807 jiffies! g7075 f0x0 RCU_GP_WAIT_FQS(3) ->state=0x1 ->cpu=5
270 269
271Starving the grace-period kthreads of CPU time can of course result270Starving the grace-period kthreads of CPU time can of course result
272in RCU CPU stall warnings even when all CPUs and tasks have passed271in RCU CPU stall warnings even when all CPUs and tasks have passed
273through the required quiescent states. The "g" and "c" numbers flag the272through the required quiescent states. The "g" number shows the current
274number of the last grace period started and completed, respectively,273grace-period sequence number, the "f" precedes the ->gp_flags command
275the "f" precedes the ->gp_flags command to the grace-period kthread,274to the grace-period kthread, the "RCU_GP_WAIT_FQS" indicates that the
276the "RCU_GP_WAIT_FQS" indicates that the kthread is waiting for a short275kthread is waiting for a short timeout, the "state" precedes value of the
277timeout, and the "state" precedes value of the task_struct ->state field.276task_struct ->state field, and the "cpu" indicates that the grace-period
277kthread last ran on CPU 5.
278 278
279 279
280Multiple Warnings From One Stall280Multiple Warnings From One Stall
Documentation/RCU/whatisRCU.txt+12−6
@@ -588,6 +588,7 @@ It is extremely simple: · 587 unmodified lines
588 void synchronize_rcu(void)588 void synchronize_rcu(void)
589 {589 {
590 write_lock(&rcu_gp_mutex);590 write_lock(&rcu_gp_mutex);
591 smp_mb__after_spinlock();
591 write_unlock(&rcu_gp_mutex);592 write_unlock(&rcu_gp_mutex);
592 }593 }
593 594
@@ -609,12 +610,15 @@ don't forget about them when submitting patches making use of RCU!] · 15 unmodified lines
609 610
610The rcu_read_lock() and rcu_read_unlock() primitive read-acquire611The rcu_read_lock() and rcu_read_unlock() primitive read-acquire
611and release a global reader-writer lock. The synchronize_rcu()612and release a global reader-writer lock. The synchronize_rcu()
612primitive write-acquires this same lock, then immediately releases613primitive write-acquires this same lock, then releases it. This means
613it. This means that once synchronize_rcu() exits, all RCU read-side614that once synchronize_rcu() exits, all RCU read-side critical sections
614critical sections that were in progress before synchronize_rcu() was615that were in progress before synchronize_rcu() was called are guaranteed
615called are guaranteed to have completed -- there is no way that616to have completed -- there is no way that synchronize_rcu() would have
616synchronize_rcu() would have been able to write-acquire the lock617been able to write-acquire the lock otherwise. The smp_mb__after_spinlock()
617otherwise.618promotes synchronize_rcu() to a full memory barrier in compliance with
619the "Memory-Barrier Guarantees" listed in:
620
621 Documentation/RCU/Design/Requirements/Requirements.html.
618 622
619It is possible to nest rcu_read_lock(), since reader-writer locks may623It is possible to nest rcu_read_lock(), since reader-writer locks may
620be recursively acquired. Note also that rcu_read_lock() is immune624be recursively acquired. Note also that rcu_read_lock() is immune
@@ -816,11 +820,13 @@ RCU list traversal: · 195 unmodified lines
816 list_next_rcu820 list_next_rcu
817 list_for_each_entry_rcu821 list_for_each_entry_rcu
818 list_for_each_entry_continue_rcu822 list_for_each_entry_continue_rcu
823 list_for_each_entry_from_rcu
819 hlist_first_rcu824 hlist_first_rcu
820 hlist_next_rcu825 hlist_next_rcu
821 hlist_pprev_rcu826 hlist_pprev_rcu
822 hlist_for_each_entry_rcu827 hlist_for_each_entry_rcu
823 hlist_for_each_entry_rcu_bh828 hlist_for_each_entry_rcu_bh
829 hlist_for_each_entry_from_rcu
824 hlist_for_each_entry_continue_rcu830 hlist_for_each_entry_continue_rcu
825 hlist_for_each_entry_continue_rcu_bh831 hlist_for_each_entry_continue_rcu_bh
826 hlist_nulls_first_rcu832 hlist_nulls_first_rcu
Documentation/acpi/dsd/data-node-references.txt+89−0
@@ -0,0 +1,89 @@
1Copyright (C) 2018 Intel Corporation
2Author: Sakari Ailus <sakari.ailus@linux.intel.com>
3
4
5Referencing hierarchical data nodes
6-----------------------------------
7
8ACPI in general allows referring to device objects in the tree only.
9Hierarchical data extension nodes may not be referred to directly, hence this
10document defines a scheme to implement such references.
11
12A reference consist of the device object name followed by one or more
13hierarchical data extension [1] keys. Specifically, the hierarchical data
14extension node which is referred to by the key shall lie directly under the
15parent object i.e. either the device object or another hierarchical data
16extension node.
17
18The keys in the hierarchical data nodes shall consist of the name of the node,
19"@" character and the number of the node in hexadecimal notation (without pre-
20or postfixes). The same ACPI object shall include the _DSD property extension
21with a property "reg" that shall have the same numerical value as the number of
22the node.
23
24In case a hierarchical data extensions node has no numerical value, then the
25"reg" property shall be omitted from the ACPI object's _DSD properties and the
26"@" character and the number shall be omitted from the hierarchical data
27extension key.
28
29
30Example
31-------
32
33 In the ASL snippet below, the "reference" _DSD property [2] contains a
34 device object reference to DEV0 and under that device object, a
35 hierarchical data extension key "node@1" referring to the NOD1 object
36 and lastly, a hierarchical data extension key "anothernode" referring to
37 the ANOD object which is also the final target node of the reference.
38
39 Device (DEV0)
40 {
41 Name (_DSD, Package () {
42 ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
43 Package () {
44 Package () { "node@0", NOD0 },
45 Package () { "node@1", NOD1 },
46 }
47 })
48 Name (NOD0, Package() {
49 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
50 Package () {
51 Package () { "random-property", 3 },
52 }
53 })
54 Name (NOD1, Package() {
55 ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
56 Package () {
57 Package () { "anothernode", ANOD },
58 }
59 })
60 Name (ANOD, Package() {
61 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
62 Package () {
63 Package () { "random-property", 0 },
64 }
65 })
66 }
67
68 Device (DEV1)
69 {
70 Name (_DSD, Package () {
71 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
72 Package () {
73 Package () { "reference", ^DEV0, "node@1", "anothernode" },
74 }
75 })
76 }
77
78Please also see a graph example in graph.txt .
79
80References
81----------
82
83[1] Hierarchical Data Extension UUID For _DSD.
84 <URL:http://www.uefi.org/sites/default/files/resources/_DSD-hierarchical-data-extension-UUID-v1.1.pdf>,
85 referenced 2018-07-17.
86
87[2] Device Properties UUID For _DSD.
88 <URL:http://www.uefi.org/sites/default/files/resources/_DSD-device-properties-UUID.pdf>,
89 referenced 2016-10-04.
Documentation/acpi/dsd/graph.txt+42−30
@@ -36,29 +36,41 @@ The port and endpoint concepts are very similar to those in Devicetree · 35 unmodified lines
36[3]. A port represents an interface in a device, and an endpoint36[3]. A port represents an interface in a device, and an endpoint
37represents a connection to that interface.37represents a connection to that interface.
38 38
39All port nodes are located under the device's "_DSD" node in the39All port nodes are located under the device's "_DSD" node in the hierarchical
40hierarchical data extension tree. The property extension related to40data extension tree. The data extension related to each port node must begin
41each port node must contain the key "port" and an integer value which41with "port" and must be followed by the "@" character and the number of the port
42is the number of the port. The object it refers to should be called "PRTX",42as its key. The target object it refers to should be called "PRTX", where "X" is
43where "X" is the number of the port.43the number of the port. An example of such a package would be:
44 44
45Further on, endpoints are located under the individual port nodes. The45 Package() { "port@4", PRT4 }
46first hierarchical data extension package list entry of the endpoint46
47nodes must begin with "endpoint" and must be followed by the number47Further on, endpoints are located under the port nodes. The hierarchical
48of the endpoint. The object it refers to should be called "EPXY", where48data extension key of the endpoint nodes must begin with
49"X" is the number of the port and "Y" is the number of the endpoint.49"endpoint" and must be followed by the "@" character and the number of the
50 50endpoint. The object it refers to should be called "EPXY", where "X" is the
51Each port node contains a property extension key "port", the value of51number of the port and "Y" is the number of the endpoint. An example of such a
52which is the number of the port node. The each endpoint is similarly numbered52package would be:
53with a property extension key "endpoint". Port numbers must be unique within a53
54device and endpoint numbers must be unique within a port.54 Package() { "endpoint@0", EP40 }
55
56Each port node contains a property extension key "port", the value of which is
57the number of the port. Each endpoint is similarly numbered with a property
58extension key "reg", the value of which is the number of the endpoint. Port
59numbers must be unique within a device and endpoint numbers must be unique
60within a port. If a device object may only has a single port, then the number
61of that port shall be zero. Similarly, if a port may only have a single
62endpoint, the number of that endpoint shall be zero.
55 63
56The endpoint reference uses property extension with "remote-endpoint" property64The endpoint reference uses property extension with "remote-endpoint" property
57name followed by a reference in the same package. Such references consist of the65name followed by a reference in the same package. Such references consist of the
58the remote device reference, number of the port in the device and finally the66the remote device reference, the first package entry of the port data extension
59number of the endpoint in that port. Individual references thus appear as:67reference under the device and finally the first package entry of the endpoint
68data extension reference under the port. Individual references thus appear as:
60 69
61 Package() { device, port_number, endpoint_number }70 Package() { device, "port@X", "endpoint@Y" }
71
72In the above example, "X" is the number of the port and "Y" is the number of the
73endpoint.
62 74
63The references to endpoints must be always done both ways, to the75The references to endpoints must be always done both ways, to the
64remote endpoint and back from the referred remote endpoint node.76remote endpoint and back from the referred remote endpoint node.
@@ -76,24 +88,24 @@ A simple example of this is show below: · 11 unmodified lines
76 },88 },
77 ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),89 ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
78 Package () {90 Package () {
79 Package () { "port0", "PRT0" },91 Package () { "port@0", PRT0 },
80 }92 }
81 })93 })
82 Name (PRT0, Package() {94 Name (PRT0, Package() {
83 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),95 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
84 Package () {96 Package () {
85 Package () { "port", 0 },97 Package () { "reg", 0 },
86 },98 },
87 ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),99 ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
88 Package () {100 Package () {
89 Package () { "endpoint0", "EP00" },101 Package () { "endpoint@0", EP00 },
90 }102 }
91 })103 })
92 Name (EP00, Package() {104 Name (EP00, Package() {
93 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),105 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
94 Package () {106 Package () {
95 Package () { "endpoint", 0 },107 Package () { "reg", 0 },
96 Package () { "remote-endpoint", Package() { \_SB.PCI0.ISP, 4, 0 } },108 Package () { "remote-endpoint", Package() { \_SB.PCI0.ISP, "port@4", "endpoint@0" } },
97 }109 }
98 })110 })
99 }111 }
@@ -106,26 +118,26 @@ A simple example of this is show below: · 6 unmodified lines
106 Name (_DSD, Package () {118 Name (_DSD, Package () {
107 ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),119 ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
108 Package () {120 Package () {
109 Package () { "port4", "PRT4" },121 Package () { "port@4", PRT4 },
110 }122 }
111 })123 })
112 124
113 Name (PRT4, Package() {125 Name (PRT4, Package() {
114 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),126 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
115 Package () {127 Package () {
116 Package () { "port", 4 }, /* CSI-2 port number */128 Package () { "reg", 4 }, /* CSI-2 port number */
117 },129 },
118 ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),130 ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
119 Package () {131 Package () {
120 Package () { "endpoint0", "EP40" },132 Package () { "endpoint@0", EP40 },
121 }133 }
122 })134 })
123 135
124 Name (EP40, Package() {136 Name (EP40, Package() {
125 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),137 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
126 Package () {138 Package () {
127 Package () { "endpoint", 0 },139 Package () { "reg", 0 },
128 Package () { "remote-endpoint", Package () { \_SB.PCI0.I2C2.CAM0, 0, 0 } },140 Package () { "remote-endpoint", Package () { \_SB.PCI0.I2C2.CAM0, "port@0", "endpoint@0" } },
129 }141 }
130 })142 })
131 }143 }
@@ -151,7 +163,7 @@ References · 19 unmodified lines
151 referenced 2016-10-04.163 referenced 2016-10-04.
152 164
153[5] Hierarchical Data Extension UUID For _DSD.165[5] Hierarchical Data Extension UUID For _DSD.
154 <URL:http://www.uefi.org/sites/default/files/resources/_DSD-hierarchical-data-extension-UUID-v1.pdf>,166 <URL:http://www.uefi.org/sites/default/files/resources/_DSD-hierarchical-data-extension-UUID-v1.1.pdf>,
155 referenced 2016-10-04.167 referenced 2016-10-04.
156 168
157[6] Advanced Configuration and Power Interface Specification.169[6] Advanced Configuration and Power Interface Specification.
Documentation/admin-guide/README.rst+2−0
@@ -1,3 +1,5 @@
1.. _readme:
2
1Linux kernel release 4.x <http://kernel.org/>3Linux kernel release 4.x <http://kernel.org/>
2=============================================4=============================================
3 5
Documentation/admin-guide/cgroup-v2.rst+106−4
@@ -51,6 +51,9 @@ v1 is available under Documentation/cgroup-v1/. · 50 unmodified lines
51 5-3. IO51 5-3. IO
52 5-3-1. IO Interface Files52 5-3-1. IO Interface Files
53 5-3-2. Writeback53 5-3-2. Writeback
54 5-3-3. IO Latency
55 5-3-3-1. How IO Latency Throttling Works
56 5-3-3-2. IO Latency Interface Files
54 5-4. PID57 5-4. PID
55 5-4-1. PID Interface Files58 5-4-1. PID Interface Files
56 5-5. Device59 5-5. Device
@@ -1069,6 +1072,24 @@ PAGE_SIZE multiple when read back. · 1012 unmodified lines
1069 high limit is used and monitored properly, this limit's1072 high limit is used and monitored properly, this limit's
1070 utility is limited to providing the final safety net.1073 utility is limited to providing the final safety net.
1071 1074
1075 memory.oom.group
1076 A read-write single value file which exists on non-root
1077 cgroups. The default value is "0".
1078
1079 Determines whether the cgroup should be treated as
1080 an indivisible workload by the OOM killer. If set,
1081 all tasks belonging to the cgroup or to its descendants
1082 (if the memory cgroup is not a leaf cgroup) are killed
1083 together or not at all. This can be used to avoid
1084 partial kills to guarantee workload integrity.
1085
1086 Tasks with the OOM protection (oom_score_adj set to -1000)
1087 are treated as an exception and are never killed.
1088
1089 If the OOM killer is invoked in a cgroup, it's not going
1090 to kill any tasks outside of this cgroup, regardless
1091 memory.oom.group values of ancestor cgroups.
1092
1072 memory.events1093 memory.events
1073 A read-only flat-keyed file which exists on non-root cgroups.1094 A read-only flat-keyed file which exists on non-root cgroups.
1074 The following entries are defined. Unless specified1095 The following entries are defined. Unless specified
@@ -1314,17 +1335,19 @@ IO Interface Files · 239 unmodified lines
1314 Lines are keyed by $MAJ:$MIN device numbers and not ordered.1335 Lines are keyed by $MAJ:$MIN device numbers and not ordered.
1315 The following nested keys are defined.1336 The following nested keys are defined.
1316 1337
1317 ====== ===================1338 ====== =====================
1318 rbytes Bytes read1339 rbytes Bytes read
1319 wbytes Bytes written1340 wbytes Bytes written
1320 rios Number of read IOs1341 rios Number of read IOs
1321 wios Number of write IOs1342 wios Number of write IOs
1322 ====== ===================1343 dbytes Bytes discarded
1344 dios Number of discard IOs
1345 ====== =====================
1323 1346
1324 An example read output follows:1347 An example read output follows:
1325 1348
1326 8:16 rbytes=1459200 wbytes=314773504 rios=192 wios=3531349 8:16 rbytes=1459200 wbytes=314773504 rios=192 wios=353 dbytes=0 dios=0
1327 8:0 rbytes=90430464 wbytes=299008000 rios=8950 wios=12521350 8:0 rbytes=90430464 wbytes=299008000 rios=8950 wios=1252 dbytes=50331648 dios=3021
1328 1351
1329 io.weight1352 io.weight
1330 A read-write flat-keyed file which exists on non-root cgroups.1353 A read-write flat-keyed file which exists on non-root cgroups.
@@ -1446,6 +1469,85 @@ writeback as follows. · 115 unmodified lines
1446 vm.dirty[_background]_ratio.1469 vm.dirty[_background]_ratio.
1447 1470
1448 1471
1472IO Latency
1473~~~~~~~~~~
1474
1475This is a cgroup v2 controller for IO workload protection. You provide a group
1476with a latency target, and if the average latency exceeds that target the
1477controller will throttle any peers that have a lower latency target than the
1478protected workload.
1479
1480The limits are only applied at the peer level in the hierarchy. This means that
1481in the diagram below, only groups A, B, and C will influence each other, and
1482groups D and F will influence each other. Group G will influence nobody.
1483
1484 [root]
1485 / | \
1486 A B C
1487 / \ |
1488 D F G
1489
1490
1491So the ideal way to configure this is to set io.latency in groups A, B, and C.
1492Generally you do not want to set a value lower than the latency your device
1493supports. Experiment to find the value that works best for your workload.
1494Start at higher than the expected latency for your device and watch the
1495avg_lat value in io.stat for your workload group to get an idea of the
1496latency you see during normal operation. Use the avg_lat value as a basis for
1497your real setting, setting at 10-15% higher than the value in io.stat.
1498
1499How IO Latency Throttling Works
1500~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1501
1502io.latency is work conserving; so as long as everybody is meeting their latency
1503target the controller doesn't do anything. Once a group starts missing its
1504target it begins throttling any peer group that has a higher target than itself.
1505This throttling takes 2 forms:
1506
1507- Queue depth throttling. This is the number of outstanding IO's a group is
1508 allowed to have. We will clamp down relatively quickly, starting at no limit
1509 and going all the way down to 1 IO at a time.
1510
1511- Artificial delay induction. There are certain types of IO that cannot be
1512 throttled without possibly adversely affecting higher priority groups. This
1513 includes swapping and metadata IO. These types of IO are allowed to occur
1514 normally, however they are "charged" to the originating group. If the
1515 originating group is being throttled you will see the use_delay and delay
1516 fields in io.stat increase. The delay value is how many microseconds that are
1517 being added to any process that runs in this group. Because this number can
1518 grow quite large if there is a lot of swapping or metadata IO occurring we
1519 limit the individual delay events to 1 second at a time.
1520
1521Once the victimized group starts meeting its latency target again it will start
1522unthrottling any peer groups that were throttled previously. If the victimized
1523group simply stops doing IO the global counter will unthrottle appropriately.
1524
1525IO Latency Interface Files
1526~~~~~~~~~~~~~~~~~~~~~~~~~~
1527
1528 io.latency
1529 This takes a similar format as the other controllers.
1530
1531 "MAJOR:MINOR target=<target time in microseconds"
1532
1533 io.stat
1534 If the controller is enabled you will see extra stats in io.stat in
1535 addition to the normal ones.
1536
1537 depth
1538 This is the current queue depth for the group.
1539
1540 avg_lat
1541 This is an exponential moving average with a decay rate of 1/exp
1542 bound by the sampling interval. The decay rate interval can be
1543 calculated by multiplying the win value in io.stat by the
1544 corresponding number of samples based on the win value.
1545
1546 win
1547 The sampling window size in milliseconds. This is the minimum
1548 duration of time between evaluation events. Windows only elapse
1549 with IO activity. Idle periods extend the most recent window.
1550
1449PID1551PID
1450---1552---
1451 1553
Documentation/admin-guide/devices.txt+10−6
@@ -173,14 +173,18 @@ · 172 unmodified lines
173 they are redirected through the parport multiplex layer.173 they are redirected through the parport multiplex layer.
174 174
175 7 char Virtual console capture devices175 7 char Virtual console capture devices
176 0 = /dev/vcs Current vc text contents176 0 = /dev/vcs Current vc text (glyph) contents
177 1 = /dev/vcs1 tty1 text contents177 1 = /dev/vcs1 tty1 text (glyph) contents
178 ...178 ...
179 63 = /dev/vcs63 tty63 text contents179 63 = /dev/vcs63 tty63 text (glyph) contents
180 128 = /dev/vcsa Current vc text/attribute contents180 64 = /dev/vcsu Current vc text (unicode) contents
181 129 = /dev/vcsa1 tty1 text/attribute contents181 65 = /dev/vcsu1 tty1 text (unicode) contents
182 ...182 ...
183 191 = /dev/vcsa63 tty63 text/attribute contents183 127 = /dev/vcsu63 tty63 text (unicode) contents
184 128 = /dev/vcsa Current vc text/attribute (glyph) contents
185 129 = /dev/vcsa1 tty1 text/attribute (glyph) contents
186 ...
187 191 = /dev/vcsa63 tty63 text/attribute (glyph) contents
184 188
185 NOTE: These devices permit both read and write access.189 NOTE: These devices permit both read and write access.
186 190
Documentation/admin-guide/index.rst+9−0
@@ -17,6 +17,15 @@ etc. · 16 unmodified lines
17 kernel-parameters17 kernel-parameters
18 devices18 devices
19 19
20This section describes CPU vulnerabilities and provides an overview of the
21possible mitigations along with guidance for selecting mitigations if they
22are configurable at compile, boot or run time.
23
24.. toctree::
25 :maxdepth: 1
26
27 l1tf
28
20Here is a set of documents aimed at users who are trying to track down29Here is a set of documents aimed at users who are trying to track down
21problems and bugs in particular.30problems and bugs in particular.
22 31
Documentation/admin-guide/kernel-parameters.txt+172−16
@@ -748,6 +748,14 @@ · 747 unmodified lines
748 748
749 debug [KNL] Enable kernel debugging (events log level).749 debug [KNL] Enable kernel debugging (events log level).
750 750
751 debug_boot_weak_hash
752 [KNL] Enable printing [hashed] pointers early in the
753 boot sequence. If enabled, we use a weak hash instead
754 of siphash to hash pointers. Use this option if you are
755 seeing instances of '(___ptrval___)') and need to see a
756 value (hashed pointer) instead. Cryptographically
757 insecure, please do not use on production kernels.
758
751 debug_locks_verbose=759 debug_locks_verbose=
752 [KNL] verbose self-tests760 [KNL] verbose self-tests
753 Format=<0|1>761 Format=<0|1>
@@ -804,6 +812,15 @@ · 50 unmodified lines
804 Defaults to the default architecture's huge page size812 Defaults to the default architecture's huge page size
805 if not specified.813 if not specified.
806 814
815 deferred_probe_timeout=
816 [KNL] Debugging option to set a timeout in seconds for
817 deferred probe to give up waiting on dependencies to
818 probe. Only specific dependencies (subsystems or
819 drivers) that have opted in will be ignored. A timeout of 0
820 will timeout at the end of initcalls. This option will also
821 dump out devices still on the deferred probe list after
822 retrying.
823
807 dhash_entries= [KNL]824 dhash_entries= [KNL]
808 Set number of hash buckets for dentry cache.825 Set number of hash buckets for dentry cache.
809 826
@@ -816,6 +833,17 @@ · 6 unmodified lines
816 disable= [IPV6]833 disable= [IPV6]
817 See Documentation/networking/ipv6.txt.834 See Documentation/networking/ipv6.txt.
818 835
836 hardened_usercopy=
837 [KNL] Under CONFIG_HARDENED_USERCOPY, whether
838 hardening is enabled for this boot. Hardened
839 usercopy checking is used to protect the kernel
840 from reading or writing beyond known memory
841 allocation boundaries as a proactive defense
842 against bounds-checking flaws in the kernel's
843 copy_to_user()/copy_from_user() interface.
844 on Perform hardened usercopy checks (default).
845 off Disable hardened usercopy checks.
846
819 disable_radix [PPC]847 disable_radix [PPC]
820 Disable RADIX MMU mode on POWER9848 Disable RADIX MMU mode on POWER9
821 849
@@ -1716,7 +1744,8 @@ · 894 unmodified lines
1716 merge1744 merge
1717 nomerge1745 nomerge
1718 soft1746 soft
1719 pt [x86, IA-64]1747 pt [x86]
1748 nopt [x86]
1720 nobypass [PPC/POWERNV]1749 nobypass [PPC/POWERNV]
1721 Disable IOMMU bypass, using IOMMU for PCI devices.1750 Disable IOMMU bypass, using IOMMU for PCI devices.
1722 1751
@@ -1967,10 +1996,84 @@ · 244 unmodified lines
1967 (virtualized real and unpaged mode) on capable1996 (virtualized real and unpaged mode) on capable
1968 Intel chips. Default is 1 (enabled)1997 Intel chips. Default is 1 (enabled)
1969 1998
1999 kvm-intel.vmentry_l1d_flush=[KVM,Intel] Mitigation for L1 Terminal Fault
2000 CVE-2018-3620.
2001
2002 Valid arguments: never, cond, always
2003
2004 always: L1D cache flush on every VMENTER.
2005 cond: Flush L1D on VMENTER only when the code between
2006 VMEXIT and VMENTER can leak host memory.
2007 never: Disables the mitigation
2008
2009 Default is cond (do L1 cache flush in specific instances)
2010
1970 kvm-intel.vpid= [KVM,Intel] Disable Virtual Processor Identification2011 kvm-intel.vpid= [KVM,Intel] Disable Virtual Processor Identification
1971 feature (tagged TLBs) on capable Intel chips.2012 feature (tagged TLBs) on capable Intel chips.
1972 Default is 1 (enabled)2013 Default is 1 (enabled)
1973 2014
2015 l1tf= [X86] Control mitigation of the L1TF vulnerability on
2016 affected CPUs
2017
2018 The kernel PTE inversion protection is unconditionally
2019 enabled and cannot be disabled.
2020
2021 full
2022 Provides all available mitigations for the
2023 L1TF vulnerability. Disables SMT and
2024 enables all mitigations in the
2025 hypervisors, i.e. unconditional L1D flush.
2026
2027 SMT control and L1D flush control via the
2028 sysfs interface is still possible after
2029 boot. Hypervisors will issue a warning
2030 when the first VM is started in a
2031 potentially insecure configuration,
2032 i.e. SMT enabled or L1D flush disabled.
2033
2034 full,force
2035 Same as 'full', but disables SMT and L1D
2036 flush runtime control. Implies the
2037 'nosmt=force' command line option.
2038 (i.e. sysfs control of SMT is disabled.)
2039
2040 flush
2041 Leaves SMT enabled and enables the default
2042 hypervisor mitigation, i.e. conditional
2043 L1D flush.
2044
2045 SMT control and L1D flush control via the
2046 sysfs interface is still possible after
2047 boot. Hypervisors will issue a warning
2048 when the first VM is started in a
2049 potentially insecure configuration,
2050 i.e. SMT enabled or L1D flush disabled.
2051
2052 flush,nosmt
2053
2054 Disables SMT and enables the default
2055 hypervisor mitigation.
2056
2057 SMT control and L1D flush control via the
2058 sysfs interface is still possible after
2059 boot. Hypervisors will issue a warning
2060 when the first VM is started in a
2061 potentially insecure configuration,
2062 i.e. SMT enabled or L1D flush disabled.
2063
2064 flush,nowarn
2065 Same as 'flush', but hypervisors will not
2066 warn when a VM is started in a potentially
2067 insecure configuration.
2068
2069 off
2070 Disables hypervisor mitigations and doesn't
2071 emit any warnings.
2072
2073 Default is 'flush'.
2074
2075 For details see: Documentation/admin-guide/l1tf.rst
2076
1974 l2cr= [PPC]2077 l2cr= [PPC]
1975 2078
1976 l3cr= [PPC]2079 l3cr= [PPC]
@@ -2687,6 +2790,14 @@ · 710 unmodified lines
2687 nosmt [KNL,S390] Disable symmetric multithreading (SMT).2790 nosmt [KNL,S390] Disable symmetric multithreading (SMT).
2688 Equivalent to smt=1.2791 Equivalent to smt=1.
2689 2792
2793 [KNL,x86] Disable symmetric multithreading (SMT).
2794 nosmt=force: Force disable SMT, cannot be undone
2795 via the sysfs control file.
2796
2797 nospectre_v1 [PPC] Disable mitigations for Spectre Variant 1 (bounds
2798 check bypass). With this option data leaks are possible
2799 in the system.
2800
2690 nospectre_v2 [X86] Disable all mitigations for the Spectre variant 22801 nospectre_v2 [X86] Disable all mitigations for the Spectre variant 2
2691 (indirect branch prediction) vulnerability. System may2802 (indirect branch prediction) vulnerability. System may
2692 allow data leaks with this option, which is equivalent2803 allow data leaks with this option, which is equivalent
@@ -2835,8 +2946,6 @@ · 142 unmodified lines
2835 2946
2836 nosync [HW,M68K] Disables sync negotiation for all devices.2947 nosync [HW,M68K] Disables sync negotiation for all devices.
2837 2948
2838 notsc [BUGS=X86-32] Disable Time Stamp Counter
2839
2840 nowatchdog [KNL] Disable both lockup detectors, i.e.2949 nowatchdog [KNL] Disable both lockup detectors, i.e.
2841 soft-lockup and NMI watchdog (hard-lockup).2950 soft-lockup and NMI watchdog (hard-lockup).
2842 2951
@@ -2933,8 +3042,9 @@ · 90 unmodified lines
2933 on: enable the feature3042 on: enable the feature
2934 3043
2935 page_poison= [KNL] Boot-time parameter changing the state of3044 page_poison= [KNL] Boot-time parameter changing the state of
2936 poisoning on the buddy allocator.3045 poisoning on the buddy allocator, available with
2937 off: turn off poisoning3046 CONFIG_PAGE_POISONING=y.
3047 off: turn off poisoning (default)
2938 on: turn on poisoning3048 on: turn on poisoning
2939 3049
2940 panic= [KNL] Kernel behaviour on panic: delay <timeout>3050 panic= [KNL] Kernel behaviour on panic: delay <timeout>
@@ -2994,8 +3104,31 @@ · 53 unmodified lines
2994 See header of drivers/block/paride/pcd.c.3104 See header of drivers/block/paride/pcd.c.
2995 See also Documentation/blockdev/paride.txt.3105 See also Documentation/blockdev/paride.txt.
2996 3106
2997 pci=option[,option...] [PCI] various PCI subsystem options:3107 pci=option[,option...] [PCI] various PCI subsystem options.
2998 earlydump [X86] dump PCI config space before the kernel3108
3109 Some options herein operate on a specific device
3110 or a set of devices (<pci_dev>). These are
3111 specified in one of the following formats:
3112
3113 [<domain>:]<bus>:<dev>.<func>[/<dev>.<func>]*
3114 pci:<vendor>:<device>[:<subvendor>:<subdevice>]
3115
3116 Note: the first format specifies a PCI
3117 bus/device/function address which may change
3118 if new hardware is inserted, if motherboard
3119 firmware changes, or due to changes caused
3120 by other kernel parameters. If the
3121 domain is left unspecified, it is
3122 taken to be zero. Optionally, a path
3123 to a device through multiple device/function
3124 addresses can be specified after the base
3125 address (this is more robust against
3126 renumbering issues). The second format
3127 selects devices using IDs from the
3128 configuration space which may match multiple
3129 devices in the system.
3130
3131 earlydump dump PCI config space before the kernel
2999 changes anything3132 changes anything
3000 off [X86] don't probe for the PCI bus3133 off [X86] don't probe for the PCI bus
3001 bios [X86-32] force use of PCI BIOS, don't access3134 bios [X86-32] force use of PCI BIOS, don't access
@@ -3123,11 +3256,10 @@ · 121 unmodified lines
3123 window. The default value is 64 megabytes.3256 window. The default value is 64 megabytes.
3124 resource_alignment=3257 resource_alignment=
3125 Format:3258 Format:
3126 [<order of align>@][<domain>:]<bus>:<slot>.<func>[; ...]3259 [<order of align>@]<pci_dev>[; ...]
3127 [<order of align>@]pci:<vendor>:<device>\
3128 [:<subvendor>:<subdevice>][; ...]
3129 Specifies alignment and device to reassign3260 Specifies alignment and device to reassign
3130 aligned memory resources.3261 aligned memory resources. How to
3262 specify the device is described above.
3131 If <order of align> is not specified,3263 If <order of align> is not specified,
3132 PAGE_SIZE is used as alignment.3264 PAGE_SIZE is used as alignment.
3133 PCI-PCI bridge can be specified, if resource3265 PCI-PCI bridge can be specified, if resource
@@ -3170,6 +3302,15 @@ · 36 unmodified lines
3170 Adding the window is slightly risky (it may3302 Adding the window is slightly risky (it may
3171 conflict with unreported devices), so this3303 conflict with unreported devices), so this
3172 taints the kernel.3304 taints the kernel.
3305 disable_acs_redir=<pci_dev>[; ...]
3306 Specify one or more PCI devices (in the format
3307 specified above) separated by semicolons.
3308 Each device specified will have the PCI ACS
3309 redirect capabilities forced off which will
3310 allow P2P traffic between devices through
3311 bridges without forcing it upstream. Note:
3312 this removes isolation between devices and
3313 may put more devices in an IOMMU group.
3173 3314
3174 pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power3315 pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power
3175 Management.3316 Management.
@@ -3632,8 +3773,8 @@ · 456 unmodified lines
3632 Set time (s) after boot for CPU-hotplug testing.3773 Set time (s) after boot for CPU-hotplug testing.
3633 3774
3634 rcutorture.onoff_interval= [KNL]3775 rcutorture.onoff_interval= [KNL]
3635 Set time (s) between CPU-hotplug operations, or3776 Set time (jiffies) between CPU-hotplug operations,
3636 zero to disable CPU-hotplug testing.3777 or zero to disable CPU-hotplug testing.
3637 3778
3638 rcutorture.shuffle_interval= [KNL]3779 rcutorture.shuffle_interval= [KNL]
3639 Set task-shuffle interval (s). Shuffling tasks3780 Set task-shuffle interval (s). Shuffling tasks
@@ -4060,6 +4201,8 @@ · 420 unmodified lines
4060 This parameter controls whether the Speculative Store4201 This parameter controls whether the Speculative Store
4061 Bypass optimization is used.4202 Bypass optimization is used.
4062 4203
4204 On x86 the options are:
4205
4063 on - Unconditionally disable Speculative Store Bypass4206 on - Unconditionally disable Speculative Store Bypass
4064 off - Unconditionally enable Speculative Store Bypass4207 off - Unconditionally enable Speculative Store Bypass
4065 auto - Kernel detects whether the CPU model contains an4208 auto - Kernel detects whether the CPU model contains an
@@ -4075,12 +4218,20 @@ · 9 unmodified lines
4075 seccomp - Same as "prctl" above, but all seccomp threads4218 seccomp - Same as "prctl" above, but all seccomp threads
4076 will disable SSB unless they explicitly opt out.4219 will disable SSB unless they explicitly opt out.
4077 4220
4078 Not specifying this option is equivalent to
4079 spec_store_bypass_disable=auto.
4080
4081 Default mitigations:4221 Default mitigations:
4082 X86: If CONFIG_SECCOMP=y "seccomp", otherwise "prctl"4222 X86: If CONFIG_SECCOMP=y "seccomp", otherwise "prctl"
4083 4223
4224 On powerpc the options are:
4225
4226 on,auto - On Power8 and Power9 insert a store-forwarding
4227 barrier on kernel entry and exit. On Power7
4228 perform a software flush on kernel entry and
4229 exit.
4230 off - No action.
4231
4232 Not specifying this option is equivalent to
4233 spec_store_bypass_disable=auto.
4234
4084 spia_io_base= [HW,MTD]4235 spia_io_base= [HW,MTD]
4085 spia_fio_base=4236 spia_fio_base=
4086 spia_pedr=4237 spia_pedr=
@@ -4846,3 +4997,8 @@ · 759 unmodified lines
4846 xirc2ps_cs= [NET,PCMCIA]4997 xirc2ps_cs= [NET,PCMCIA]
4847 Format:4998 Format:
4848 <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]4999 <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]
5000
5001 xhci-hcd.quirks [USB,KNL]
5002 A hex value specifying bitmask with supplemental xhci
5003 host controller quirks. Meaning of each bit can be
5004 consulted in header drivers/usb/host/xhci.h.
Documentation/admin-guide/l1tf.rst+610−0
@@ -0,0 +1,610 @@
1L1TF - L1 Terminal Fault
2========================
3
4L1 Terminal Fault is a hardware vulnerability which allows unprivileged
5speculative access to data which is available in the Level 1 Data Cache
6when the page table entry controlling the virtual address, which is used
7for the access, has the Present bit cleared or other reserved bits set.
8
9Affected processors
10-------------------
11
12This vulnerability affects a wide range of Intel processors. The
13vulnerability is not present on:
14
15 - Processors from AMD, Centaur and other non Intel vendors
16
17 - Older processor models, where the CPU family is < 6
18
19 - A range of Intel ATOM processors (Cedarview, Cloverview, Lincroft,
20 Penwell, Pineview, Silvermont, Airmont, Merrifield)
21
22 - The Intel XEON PHI family
23
24 - Intel processors which have the ARCH_CAP_RDCL_NO bit set in the
25 IA32_ARCH_CAPABILITIES MSR. If the bit is set the CPU is not affected
26 by the Meltdown vulnerability either. These CPUs should become
27 available by end of 2018.
28
29Whether a processor is affected or not can be read out from the L1TF
30vulnerability file in sysfs. See :ref:`l1tf_sys_info`.
31
32Related CVEs
33------------
34
35The following CVE entries are related to the L1TF vulnerability:
36
37 ============= ================= ==============================
38 CVE-2018-3615 L1 Terminal Fault SGX related aspects
39 CVE-2018-3620 L1 Terminal Fault OS, SMM related aspects
40 CVE-2018-3646 L1 Terminal Fault Virtualization related aspects
41 ============= ================= ==============================
42
43Problem
44-------
45
46If an instruction accesses a virtual address for which the relevant page
47table entry (PTE) has the Present bit cleared or other reserved bits set,
48then speculative execution ignores the invalid PTE and loads the referenced
49data if it is present in the Level 1 Data Cache, as if the page referenced
50by the address bits in the PTE was still present and accessible.
51
52While this is a purely speculative mechanism and the instruction will raise
53a page fault when it is retired eventually, the pure act of loading the
54data and making it available to other speculative instructions opens up the
55opportunity for side channel attacks to unprivileged malicious code,
56similar to the Meltdown attack.
57
58While Meltdown breaks the user space to kernel space protection, L1TF
59allows to attack any physical memory address in the system and the attack
60works across all protection domains. It allows an attack of SGX and also
61works from inside virtual machines because the speculation bypasses the
62extended page table (EPT) protection mechanism.
63
64
65Attack scenarios
66----------------
67
681. Malicious user space
69^^^^^^^^^^^^^^^^^^^^^^^
70
71 Operating Systems store arbitrary information in the address bits of a
72 PTE which is marked non present. This allows a malicious user space
73 application to attack the physical memory to which these PTEs resolve.
74 In some cases user-space can maliciously influence the information
75 encoded in the address bits of the PTE, thus making attacks more
76 deterministic and more practical.
77
78 The Linux kernel contains a mitigation for this attack vector, PTE
79 inversion, which is permanently enabled and has no performance
80 impact. The kernel ensures that the address bits of PTEs, which are not
81 marked present, never point to cacheable physical memory space.
82
83 A system with an up to date kernel is protected against attacks from
84 malicious user space applications.
85
862. Malicious guest in a virtual machine
87^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
88
89 The fact that L1TF breaks all domain protections allows malicious guest
90 OSes, which can control the PTEs directly, and malicious guest user
91 space applications, which run on an unprotected guest kernel lacking the
92 PTE inversion mitigation for L1TF, to attack physical host memory.
93
94 A special aspect of L1TF in the context of virtualization is symmetric
95 multi threading (SMT). The Intel implementation of SMT is called
96 HyperThreading. The fact that Hyperthreads on the affected processors
97 share the L1 Data Cache (L1D) is important for this. As the flaw allows
98 only to attack data which is present in L1D, a malicious guest running
99 on one Hyperthread can attack the data which is brought into the L1D by
100 the context which runs on the sibling Hyperthread of the same physical
101 core. This context can be host OS, host user space or a different guest.
102
103 If the processor does not support Extended Page Tables, the attack is
104 only possible, when the hypervisor does not sanitize the content of the
105 effective (shadow) page tables.
106
107 While solutions exist to mitigate these attack vectors fully, these
108 mitigations are not enabled by default in the Linux kernel because they
109 can affect performance significantly. The kernel provides several
110 mechanisms which can be utilized to address the problem depending on the
111 deployment scenario. The mitigations, their protection scope and impact
112 are described in the next sections.
113
114 The default mitigations and the rationale for choosing them are explained
115 at the end of this document. See :ref:`default_mitigations`.
116
117.. _l1tf_sys_info:
118
119L1TF system information
120-----------------------
121
122The Linux kernel provides a sysfs interface to enumerate the current L1TF
123status of the system: whether the system is vulnerable, and which
124mitigations are active. The relevant sysfs file is:
125
126/sys/devices/system/cpu/vulnerabilities/l1tf
127
128The possible values in this file are:
129
130 =========================== ===============================
131 'Not affected' The processor is not vulnerable
132 'Mitigation: PTE Inversion' The host protection is active
133 =========================== ===============================
134
135If KVM/VMX is enabled and the processor is vulnerable then the following
136information is appended to the 'Mitigation: PTE Inversion' part:
137
138 - SMT status:
139
140 ===================== ================
141 'VMX: SMT vulnerable' SMT is enabled
142 'VMX: SMT disabled' SMT is disabled
143 ===================== ================
144
145 - L1D Flush mode:
146
147 ================================ ====================================
148 'L1D vulnerable' L1D flushing is disabled
149
150 'L1D conditional cache flushes' L1D flush is conditionally enabled
151
152 'L1D cache flushes' L1D flush is unconditionally enabled
153 ================================ ====================================
154
155The resulting grade of protection is discussed in the following sections.
156
157
158Host mitigation mechanism
159-------------------------
160
161The kernel is unconditionally protected against L1TF attacks from malicious
162user space running on the host.
163
164
165Guest mitigation mechanisms
166---------------------------
167
168.. _l1d_flush:
169
1701. L1D flush on VMENTER
171^^^^^^^^^^^^^^^^^^^^^^^
172
173 To make sure that a guest cannot attack data which is present in the L1D
174 the hypervisor flushes the L1D before entering the guest.
175
176 Flushing the L1D evicts not only the data which should not be accessed
177 by a potentially malicious guest, it also flushes the guest
178 data. Flushing the L1D has a performance impact as the processor has to
179 bring the flushed guest data back into the L1D. Depending on the
180 frequency of VMEXIT/VMENTER and the type of computations in the guest
181 performance degradation in the range of 1% to 50% has been observed. For
182 scenarios where guest VMEXIT/VMENTER are rare the performance impact is
183 minimal. Virtio and mechanisms like posted interrupts are designed to
184 confine the VMEXITs to a bare minimum, but specific configurations and
185 application scenarios might still suffer from a high VMEXIT rate.
186
187 The kernel provides two L1D flush modes:
188 - conditional ('cond')
189 - unconditional ('always')
190
191 The conditional mode avoids L1D flushing after VMEXITs which execute
192 only audited code paths before the corresponding VMENTER. These code
193 paths have been verified that they cannot expose secrets or other
194 interesting data to an attacker, but they can leak information about the
195 address space layout of the hypervisor.
196
197 Unconditional mode flushes L1D on all VMENTER invocations and provides
198 maximum protection. It has a higher overhead than the conditional
199 mode. The overhead cannot be quantified correctly as it depends on the
200 workload scenario and the resulting number of VMEXITs.
201
202 The general recommendation is to enable L1D flush on VMENTER. The kernel
203 defaults to conditional mode on affected processors.
204
205 **Note**, that L1D flush does not prevent the SMT problem because the
206 sibling thread will also bring back its data into the L1D which makes it
207 attackable again.
208
209 L1D flush can be controlled by the administrator via the kernel command
210 line and sysfs control files. See :ref:`mitigation_control_command_line`
211 and :ref:`mitigation_control_kvm`.
212
213.. _guest_confinement:
214
2152. Guest VCPU confinement to dedicated physical cores
216^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
217
218 To address the SMT problem, it is possible to make a guest or a group of
219 guests affine to one or more physical cores. The proper mechanism for
220 that is to utilize exclusive cpusets to ensure that no other guest or
221 host tasks can run on these cores.
222
223 If only a single guest or related guests run on sibling SMT threads on
224 the same physical core then they can only attack their own memory and
225 restricted parts of the host memory.
226
227 Host memory is attackable, when one of the sibling SMT threads runs in
228 host OS (hypervisor) context and the other in guest context. The amount
229 of valuable information from the host OS context depends on the context
230 which the host OS executes, i.e. interrupts, soft interrupts and kernel
231 threads. The amount of valuable data from these contexts cannot be
232 declared as non-interesting for an attacker without deep inspection of
233 the code.
234
235 **Note**, that assigning guests to a fixed set of physical cores affects
236 the ability of the scheduler to do load balancing and might have
237 negative effects on CPU utilization depending on the hosting
238 scenario. Disabling SMT might be a viable alternative for particular
239 scenarios.
240
241 For further information about confining guests to a single or to a group
242 of cores consult the cpusets documentation:
243
244 https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt
245
246.. _interrupt_isolation:
247
2483. Interrupt affinity
249^^^^^^^^^^^^^^^^^^^^^
250
251 Interrupts can be made affine to logical CPUs. This is not universally
252 true because there are types of interrupts which are truly per CPU
253 interrupts, e.g. the local timer interrupt. Aside of that multi queue
254 devices affine their interrupts to single CPUs or groups of CPUs per
255 queue without allowing the administrator to control the affinities.
256
257 Moving the interrupts, which can be affinity controlled, away from CPUs
258 which run untrusted guests, reduces the attack vector space.
259
260 Whether the interrupts with are affine to CPUs, which run untrusted
261 guests, provide interesting data for an attacker depends on the system
262 configuration and the scenarios which run on the system. While for some
263 of the interrupts it can be assumed that they won't expose interesting
264 information beyond exposing hints about the host OS memory layout, there
265 is no way to make general assumptions.
266
267 Interrupt affinity can be controlled by the administrator via the
268 /proc/irq/$NR/smp_affinity[_list] files. Limited documentation is
269 available at:
270
271 https://www.kernel.org/doc/Documentation/IRQ-affinity.txt
272
273.. _smt_control:
274
2754. SMT control
276^^^^^^^^^^^^^^
277
278 To prevent the SMT issues of L1TF it might be necessary to disable SMT
279 completely. Disabling SMT can have a significant performance impact, but
280 the impact depends on the hosting scenario and the type of workloads.
281 The impact of disabling SMT needs also to be weighted against the impact
282 of other mitigation solutions like confining guests to dedicated cores.
283
284 The kernel provides a sysfs interface to retrieve the status of SMT and
285 to control it. It also provides a kernel command line interface to
286 control SMT.
287
288 The kernel command line interface consists of the following options:
289
290 =========== ==========================================================
291 nosmt Affects the bring up of the secondary CPUs during boot. The
292 kernel tries to bring all present CPUs online during the
293 boot process. "nosmt" makes sure that from each physical
294 core only one - the so called primary (hyper) thread is
295 activated. Due to a design flaw of Intel processors related
296 to Machine Check Exceptions the non primary siblings have
297 to be brought up at least partially and are then shut down
298 again. "nosmt" can be undone via the sysfs interface.
299
300 nosmt=force Has the same effect as "nosmt" but it does not allow to
301 undo the SMT disable via the sysfs interface.
302 =========== ==========================================================
303
304 The sysfs interface provides two files:
305
306 - /sys/devices/system/cpu/smt/control
307 - /sys/devices/system/cpu/smt/active
308
309 /sys/devices/system/cpu/smt/control:
310
311 This file allows to read out the SMT control state and provides the
312 ability to disable or (re)enable SMT. The possible states are:
313
314 ============== ===================================================
315 on SMT is supported by the CPU and enabled. All
316 logical CPUs can be onlined and offlined without
317 restrictions.
318
319 off SMT is supported by the CPU and disabled. Only
320 the so called primary SMT threads can be onlined
321 and offlined without restrictions. An attempt to
322 online a non-primary sibling is rejected
323
324 forceoff Same as 'off' but the state cannot be controlled.
325 Attempts to write to the control file are rejected.
326
327 notsupported The processor does not support SMT. It's therefore
328 not affected by the SMT implications of L1TF.
329 Attempts to write to the control file are rejected.
330 ============== ===================================================
331
332 The possible states which can be written into this file to control SMT
333 state are:
334
335 - on
336 - off
337 - forceoff
338
339 /sys/devices/system/cpu/smt/active:
340
341 This file reports whether SMT is enabled and active, i.e. if on any
342 physical core two or more sibling threads are online.
343
344 SMT control is also possible at boot time via the l1tf kernel command
345 line parameter in combination with L1D flush control. See
346 :ref:`mitigation_control_command_line`.
347
3485. Disabling EPT
349^^^^^^^^^^^^^^^^
350
351 Disabling EPT for virtual machines provides full mitigation for L1TF even
352 with SMT enabled, because the effective page tables for guests are
353 managed and sanitized by the hypervisor. Though disabling EPT has a
354 significant performance impact especially when the Meltdown mitigation
355 KPTI is enabled.
356
357 EPT can be disabled in the hypervisor via the 'kvm-intel.ept' parameter.
358
359There is ongoing research and development for new mitigation mechanisms to
360address the performance impact of disabling SMT or EPT.
361
362.. _mitigation_control_command_line:
363
364Mitigation control on the kernel command line
365---------------------------------------------
366
367The kernel command line allows to control the L1TF mitigations at boot
368time with the option "l1tf=". The valid arguments for this option are:
369
370 ============ =============================================================
371 full Provides all available mitigations for the L1TF
372 vulnerability. Disables SMT and enables all mitigations in
373 the hypervisors, i.e. unconditional L1D flushing
374
375 SMT control and L1D flush control via the sysfs interface
376 is still possible after boot. Hypervisors will issue a
377 warning when the first VM is started in a potentially
378 insecure configuration, i.e. SMT enabled or L1D flush
379 disabled.
380
381 full,force Same as 'full', but disables SMT and L1D flush runtime
382 control. Implies the 'nosmt=force' command line option.
383 (i.e. sysfs control of SMT is disabled.)
384
385 flush Leaves SMT enabled and enables the default hypervisor
386 mitigation, i.e. conditional L1D flushing
387
388 SMT control and L1D flush control via the sysfs interface
389 is still possible after boot. Hypervisors will issue a
390 warning when the first VM is started in a potentially
391 insecure configuration, i.e. SMT enabled or L1D flush
392 disabled.
393
394 flush,nosmt Disables SMT and enables the default hypervisor mitigation,
395 i.e. conditional L1D flushing.
396
397 SMT control and L1D flush control via the sysfs interface
398 is still possible after boot. Hypervisors will issue a
399 warning when the first VM is started in a potentially
400 insecure configuration, i.e. SMT enabled or L1D flush
401 disabled.
402
403 flush,nowarn Same as 'flush', but hypervisors will not warn when a VM is
404 started in a potentially insecure configuration.
405
406 off Disables hypervisor mitigations and doesn't emit any
407 warnings.
408 ============ =============================================================
409
410The default is 'flush'. For details about L1D flushing see :ref:`l1d_flush`.
411
412
413.. _mitigation_control_kvm:
414
415Mitigation control for KVM - module parameter
416-------------------------------------------------------------
417
418The KVM hypervisor mitigation mechanism, flushing the L1D cache when
419entering a guest, can be controlled with a module parameter.
420
421The option/parameter is "kvm-intel.vmentry_l1d_flush=". It takes the
422following arguments:
423
424 ============ ==============================================================
425 always L1D cache flush on every VMENTER.
426
427 cond Flush L1D on VMENTER only when the code between VMEXIT and
428 VMENTER can leak host memory which is considered
429 interesting for an attacker. This still can leak host memory
430 which allows e.g. to determine the hosts address space layout.
431
432 never Disables the mitigation
433 ============ ==============================================================
434
435The parameter can be provided on the kernel command line, as a module
436parameter when loading the modules and at runtime modified via the sysfs
437file:
438
439/sys/module/kvm_intel/parameters/vmentry_l1d_flush
440
441The default is 'cond'. If 'l1tf=full,force' is given on the kernel command
442line, then 'always' is enforced and the kvm-intel.vmentry_l1d_flush
443module parameter is ignored and writes to the sysfs file are rejected.
444
445
446Mitigation selection guide
447--------------------------
448
4491. No virtualization in use
450^^^^^^^^^^^^^^^^^^^^^^^^^^^
451
452 The system is protected by the kernel unconditionally and no further
453 action is required.
454
4552. Virtualization with trusted guests
456^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
457
458 If the guest comes from a trusted source and the guest OS kernel is
459 guaranteed to have the L1TF mitigations in place the system is fully
460 protected against L1TF and no further action is required.
461
462 To avoid the overhead of the default L1D flushing on VMENTER the
463 administrator can disable the flushing via the kernel command line and
464 sysfs control files. See :ref:`mitigation_control_command_line` and
465 :ref:`mitigation_control_kvm`.
466
467
4683. Virtualization with untrusted guests
469^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
470
4713.1. SMT not supported or disabled
472""""""""""""""""""""""""""""""""""
473
474 If SMT is not supported by the processor or disabled in the BIOS or by
475 the kernel, it's only required to enforce L1D flushing on VMENTER.
476
477 Conditional L1D flushing is the default behaviour and can be tuned. See
478 :ref:`mitigation_control_command_line` and :ref:`mitigation_control_kvm`.
479
4803.2. EPT not supported or disabled
481""""""""""""""""""""""""""""""""""
482
483 If EPT is not supported by the processor or disabled in the hypervisor,
484 the system is fully protected. SMT can stay enabled and L1D flushing on
485 VMENTER is not required.
486
487 EPT can be disabled in the hypervisor via the 'kvm-intel.ept' parameter.
488
4893.3. SMT and EPT supported and active
490"""""""""""""""""""""""""""""""""""""
491
492 If SMT and EPT are supported and active then various degrees of
493 mitigations can be employed:
494
495 - L1D flushing on VMENTER:
496
497 L1D flushing on VMENTER is the minimal protection requirement, but it
498 is only potent in combination with other mitigation methods.
499
500 Conditional L1D flushing is the default behaviour and can be tuned. See
501 :ref:`mitigation_control_command_line` and :ref:`mitigation_control_kvm`.
502
503 - Guest confinement:
504
505 Confinement of guests to a single or a group of physical cores which
506 are not running any other processes, can reduce the attack surface
507 significantly, but interrupts, soft interrupts and kernel threads can
508 still expose valuable data to a potential attacker. See
509 :ref:`guest_confinement`.
510
511 - Interrupt isolation:
512
513 Isolating the guest CPUs from interrupts can reduce the attack surface
514 further, but still allows a malicious guest to explore a limited amount
515 of host physical memory. This can at least be used to gain knowledge
516 about the host address space layout. The interrupts which have a fixed
517 affinity to the CPUs which run the untrusted guests can depending on
518 the scenario still trigger soft interrupts and schedule kernel threads
519 which might expose valuable information. See
520 :ref:`interrupt_isolation`.
521
522The above three mitigation methods combined can provide protection to a
523certain degree, but the risk of the remaining attack surface has to be
524carefully analyzed. For full protection the following methods are
525available:
526
527 - Disabling SMT:
528
529 Disabling SMT and enforcing the L1D flushing provides the maximum
530 amount of protection. This mitigation is not depending on any of the
531 above mitigation methods.
532
533 SMT control and L1D flushing can be tuned by the command line
534 parameters 'nosmt', 'l1tf', 'kvm-intel.vmentry_l1d_flush' and at run
535 time with the matching sysfs control files. See :ref:`smt_control`,
536 :ref:`mitigation_control_command_line` and
537 :ref:`mitigation_control_kvm`.
538
539 - Disabling EPT:
540
541 Disabling EPT provides the maximum amount of protection as well. It is
542 not depending on any of the above mitigation methods. SMT can stay
543 enabled and L1D flushing is not required, but the performance impact is
544 significant.
545
546 EPT can be disabled in the hypervisor via the 'kvm-intel.ept'
547 parameter.
548
5493.4. Nested virtual machines
550""""""""""""""""""""""""""""
551
552When nested virtualization is in use, three operating systems are involved:
553the bare metal hypervisor, the nested hypervisor and the nested virtual
554machine. VMENTER operations from the nested hypervisor into the nested
555guest will always be processed by the bare metal hypervisor. If KVM is the
556bare metal hypervisor it wiil:
557
558 - Flush the L1D cache on every switch from the nested hypervisor to the
559 nested virtual machine, so that the nested hypervisor's secrets are not
560 exposed to the nested virtual machine;
561
562 - Flush the L1D cache on every switch from the nested virtual machine to
563 the nested hypervisor; this is a complex operation, and flushing the L1D
564 cache avoids that the bare metal hypervisor's secrets are exposed to the
565 nested virtual machine;
566
567 - Instruct the nested hypervisor to not perform any L1D cache flush. This
568 is an optimization to avoid double L1D flushing.
569
570
571.. _default_mitigations:
572
573Default mitigations
574-------------------
575
576 The kernel default mitigations for vulnerable processors are:
577
578 - PTE inversion to protect against malicious user space. This is done
579 unconditionally and cannot be controlled.
580
581 - L1D conditional flushing on VMENTER when EPT is enabled for
582 a guest.
583
584 The kernel does not by default enforce the disabling of SMT, which leaves
585 SMT systems vulnerable when running untrusted guests with EPT enabled.
586
587 The rationale for this choice is:
588
589 - Force disabling SMT can break existing setups, especially with
590 unattended updates.
591
592 - If regular users run untrusted guests on their machine, then L1TF is
593 just an add on to other malware which might be embedded in an untrusted
594 guest, e.g. spam-bots or attacks on the local network.
595
596 There is no technical way to prevent a user from running untrusted code
597 on their machines blindly.
598
599 - It's technically extremely unlikely and from today's knowledge even
600 impossible that L1TF can be exploited via the most popular attack
601 mechanisms like JavaScript because these mechanisms have no way to
602 control PTEs. If this would be possible and not other mitigation would
603 be possible, then the default might be different.
604
605 - The administrators of cloud and hosting setups have to carefully
606 analyze the risk for their scenarios and make the appropriate
607 mitigation choices, which might even vary across their deployed
608 machines and also result in other changes of their overall setup.
609 There is no way for the kernel to provide a sensible default for this
610 kind of scenarios.
Documentation/admin-guide/mm/idle_page_tracking.rst+5−0
@@ -65,6 +65,11 @@ workload one should: · 64 unmodified lines
65 are not reclaimable, he or she can filter them out using65 are not reclaimable, he or she can filter them out using
66 ``/proc/kpageflags``.66 ``/proc/kpageflags``.
67 67
68The page-types tool in the tools/vm directory can be used to assist in this.
69If the tool is run initially with the appropriate option, it will mark all the
70queried pages as idle. Subsequent runs of the tool can then show which pages have
71their idle flag cleared in the interim.
72
68See :ref:`Documentation/admin-guide/mm/pagemap.rst <pagemap>` for more73See :ref:`Documentation/admin-guide/mm/pagemap.rst <pagemap>` for more
69information about ``/proc/pid/pagemap``, ``/proc/kpageflags``, and74information about ``/proc/pid/pagemap``, ``/proc/kpageflags``, and
70``/proc/kpagecgroup``.75``/proc/kpagecgroup``.
Documentation/admin-guide/mm/pagemap.rst+3−0
@@ -44,6 +44,9 @@ There are four components to pagemap: · 43 unmodified lines
44 * ``/proc/kpagecount``. This file contains a 64-bit count of the number of44 * ``/proc/kpagecount``. This file contains a 64-bit count of the number of
45 times each page is mapped, indexed by PFN.45 times each page is mapped, indexed by PFN.
46 46
47The page-types tool in the tools/vm directory can be used to query the
48number of times a page is mapped.
49
47 * ``/proc/kpageflags``. This file contains a 64-bit set of flags for each50 * ``/proc/kpageflags``. This file contains a 64-bit set of flags for each
48 page, indexed by PFN.51 page, indexed by PFN.
49 52
Documentation/block/null_blk.txt+7−0
@@ -85,3 +85,10 @@ shared_tags=[0/1]: Default: 0 · 84 unmodified lines
85 0: Tag set is not shared.85 0: Tag set is not shared.
86 1: Tag set shared between devices for blk-mq. Only makes sense with86 1: Tag set shared between devices for blk-mq. Only makes sense with
87 nr_devices > 1, otherwise there's no tag set to share.87 nr_devices > 1, otherwise there's no tag set to share.
88
89zoned=[0/1]: Default: 0
90 0: Block device is exposed as a random-access block device.
91 1: Block device is exposed as a host-managed zoned block device.
92
93zone_size=[MB]: Default: 256
94 Per zone size when exposed as a zoned block device. Must be a power of two.
Documentation/block/stat.txt+16−12
@@ -31,28 +31,32 @@ write ticks milliseconds total wait time for write requests · 30 unmodified lines
31in_flight requests number of I/Os currently in flight31in_flight requests number of I/Os currently in flight
32io_ticks milliseconds total time this block device has been active32io_ticks milliseconds total time this block device has been active
33time_in_queue milliseconds total wait time for all requests33time_in_queue milliseconds total wait time for all requests
34discard I/Os requests number of discard I/Os processed
35discard merges requests number of discard I/Os merged with in-queue I/O
36discard sectors sectors number of sectors discarded
37discard ticks milliseconds total wait time for discard requests
34 38
35read I/Os, write I/Os39read I/Os, write I/Os, discard I/0s
36=====================40===================================
37 41
38These values increment when an I/O request completes.42These values increment when an I/O request completes.
39 43
40read merges, write merges44read merges, write merges, discard merges
41=========================45=========================================
42 46
43These values increment when an I/O request is merged with an47These values increment when an I/O request is merged with an
44already-queued I/O request.48already-queued I/O request.
45 49
46read sectors, write sectors50read sectors, write sectors, discard_sectors
47===========================51============================================
48 52
49These values count the number of sectors read from or written to this53These values count the number of sectors read from, written to, or
50block device. The "sectors" in question are the standard UNIX 512-byte54discarded from this block device. The "sectors" in question are the
51sectors, not any device- or filesystem-specific block size. The55standard UNIX 512-byte sectors, not any device- or filesystem-specific
52counters are incremented when the I/O completes.56block size. The counters are incremented when the I/O completes.
53 57
54read ticks, write ticks58read ticks, write ticks, discard ticks
55=======================59======================================
56 60
57These values count the number of milliseconds that I/O requests have61These values count the number of milliseconds that I/O requests have
58waited on this block device. If there are multiple I/O requests waiting,62waited on this block device. If there are multiple I/O requests waiting,
Documentation/bpf/bpf_devel_QA.rst+9−12
@@ -106,9 +106,9 @@ into the bpf-next tree will make their way into net-next tree. net and · 105 unmodified lines
106net-next are both run by David S. Miller. From there, they will go106net-next are both run by David S. Miller. From there, they will go
107into the kernel mainline tree run by Linus Torvalds. To read up on the107into the kernel mainline tree run by Linus Torvalds. To read up on the
108process of net and net-next being merged into the mainline tree, see108process of net and net-next being merged into the mainline tree, see
109the `netdev FAQ`_ under:109the :ref:`netdev-FAQ`
110
110 111
111 `Documentation/networking/netdev-FAQ.txt`_
112 112
113Occasionally, to prevent merge conflicts, we might send pull requests113Occasionally, to prevent merge conflicts, we might send pull requests
114to other trees (e.g. tracing) with a small subset of the patches, but114to other trees (e.g. tracing) with a small subset of the patches, but
@@ -125,8 +125,8 @@ request):: · 10 unmodified lines
125Q: How do I indicate which tree (bpf vs. bpf-next) my patch should be applied to?125Q: How do I indicate which tree (bpf vs. bpf-next) my patch should be applied to?
126---------------------------------------------------------------------------------126---------------------------------------------------------------------------------
127 127
128A: The process is the very same as described in the `netdev FAQ`_, so128A: The process is the very same as described in the :ref:`netdev-FAQ`,
129please read up on it. The subject line must indicate whether the129so please read up on it. The subject line must indicate whether the
130patch is a fix or rather "next-like" content in order to let the130patch is a fix or rather "next-like" content in order to let the
131maintainers know whether it is targeted at bpf or bpf-next.131maintainers know whether it is targeted at bpf or bpf-next.
132 132
@@ -184,7 +184,7 @@ ii) run extensive BPF test suite and · 51 unmodified lines
184Once the BPF pull request was accepted by David S. Miller, then184Once the BPF pull request was accepted by David S. Miller, then
185the patches end up in net or net-next tree, respectively, and185the patches end up in net or net-next tree, respectively, and
186make their way from there further into mainline. Again, see the186make their way from there further into mainline. Again, see the
187`netdev FAQ`_ for additional information e.g. on how often they are187:ref:`netdev-FAQ` for additional information e.g. on how often they are
188merged to mainline.188merged to mainline.
189 189
190Q: How long do I need to wait for feedback on my BPF patches?190Q: How long do I need to wait for feedback on my BPF patches?
@@ -208,7 +208,7 @@ Q: Are patches applied to bpf-next when the merge window is open? · 17 unmodified lines
208-----------------------------------------------------------------208-----------------------------------------------------------------
209A: For the time when the merge window is open, bpf-next will not be209A: For the time when the merge window is open, bpf-next will not be
210processed. This is roughly analogous to net-next patch processing,210processed. This is roughly analogous to net-next patch processing,
211so feel free to read up on the `netdev FAQ`_ about further details.211so feel free to read up on the :ref:`netdev-FAQ` about further details.
212 212
213During those two weeks of merge window, we might ask you to resend213During those two weeks of merge window, we might ask you to resend
214your patch series once bpf-next is open again. Once Linus released214your patch series once bpf-next is open again. Once Linus released
@@ -372,7 +372,7 @@ netdev kernel mailing list in Cc and ask for the fix to be queued up: · 157 unmodified lines
372 netdev@vger.kernel.org372 netdev@vger.kernel.org
373 373
374The process in general is the same as on netdev itself, see also the374The process in general is the same as on netdev itself, see also the
375`netdev FAQ`_ document.375:ref:`netdev-FAQ`.
376 376
377Q: Do you also backport to kernels not currently maintained as stable?377Q: Do you also backport to kernels not currently maintained as stable?
378----------------------------------------------------------------------378----------------------------------------------------------------------
@@ -388,9 +388,7 @@ Q: The BPF patch I am about to submit needs to go to stable as well · 9 unmodified lines
388What should I do?388What should I do?
389 389
390A: The same rules apply as with netdev patch submissions in general, see390A: The same rules apply as with netdev patch submissions in general, see
391`netdev FAQ`_ under:391the :ref:`netdev-FAQ`.
392
393 `Documentation/networking/netdev-FAQ.txt`_
394 392
395Never add "``Cc: stable@vger.kernel.org``" to the patch description, but393Never add "``Cc: stable@vger.kernel.org``" to the patch description, but
396ask the BPF maintainers to queue the patches instead. This can be done394ask the BPF maintainers to queue the patches instead. This can be done
@@ -630,8 +628,7 @@ when: · 233 unmodified lines
630.. Links628.. Links
631.. _Documentation/process/: https://www.kernel.org/doc/html/latest/process/629.. _Documentation/process/: https://www.kernel.org/doc/html/latest/process/
632.. _MAINTAINERS: ../../MAINTAINERS630.. _MAINTAINERS: ../../MAINTAINERS
633.. _Documentation/networking/netdev-FAQ.txt: ../networking/netdev-FAQ.txt631.. _netdev-FAQ: ../networking/netdev-FAQ.rst
634.. _netdev FAQ: ../networking/netdev-FAQ.txt
635.. _samples/bpf/: ../../samples/bpf/632.. _samples/bpf/: ../../samples/bpf/
636.. _selftests: ../../tools/testing/selftests/bpf/633.. _selftests: ../../tools/testing/selftests/bpf/
637.. _Documentation/dev-tools/kselftest.rst:634.. _Documentation/dev-tools/kselftest.rst:
Documentation/bpf/index.rstrenamed from Documentation/bpf/README.rst+5−5
@@ -1,5 +1,5 @@
1=================1=================
2BPF documentation2BPF Documentation
3=================3=================
4 4
5This directory contains documentation for the BPF (Berkeley Packet5This directory contains documentation for the BPF (Berkeley Packet
@@ -22,14 +22,14 @@ Frequently asked questions (FAQ) · 16 unmodified lines
22 22
23Two sets of Questions and Answers (Q&A) are maintained.23Two sets of Questions and Answers (Q&A) are maintained.
24 24
25* QA for common questions about BPF see: bpf_design_QA_25.. toctree::
26 :maxdepth: 1
26 27
27* QA for developers interacting with BPF subsystem: bpf_devel_QA_28 bpf_design_QA
29 bpf_devel_QA
28 30
29 31
30.. Links:32.. Links:
31.. _bpf_design_QA: bpf_design_QA.rst
32.. _bpf_devel_QA: bpf_devel_QA.rst
33.. _Documentation/networking/filter.txt: ../networking/filter.txt33.. _Documentation/networking/filter.txt: ../networking/filter.txt
34.. _man-pages: https://www.kernel.org/doc/man-pages/34.. _man-pages: https://www.kernel.org/doc/man-pages/
35.. _bpf(2): http://man7.org/linux/man-pages/man2/bpf.2.html35.. _bpf(2): http://man7.org/linux/man-pages/man2/bpf.2.html
Documentation/conf.py+1−1
@@ -34,7 +34,7 @@ needs_sphinx = '1.3' · 33 unmodified lines
34# Add any Sphinx extension module names here, as strings. They can be34# Add any Sphinx extension module names here, as strings. They can be
35# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom35# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
36# ones.36# ones.
37extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', 'cdomain', 'kfigure']37extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', 'cdomain', 'kfigure', 'sphinx.ext.ifconfig']
38 38
39# The name of the math extension changed on Sphinx 1.439# The name of the math extension changed on Sphinx 1.4
40if major == 1 and minor > 3:40if major == 1 and minor > 3:
Documentation/console/console.txt+8−7
@@ -1,7 +1,7 @@
1Console Drivers1Console Drivers
2===============2===============
3 3
4The linux kernel has 2 general types of console drivers. The first type is4The Linux kernel has 2 general types of console drivers. The first type is
5assigned by the kernel to all the virtual consoles during the boot process.5assigned by the kernel to all the virtual consoles during the boot process.
6This type will be called 'system driver', and only one system driver is allowed6This type will be called 'system driver', and only one system driver is allowed
7to exist. The system driver is persistent and it can never be unloaded, though7to exist. The system driver is persistent and it can never be unloaded, though
@@ -17,10 +17,11 @@ of driver occupying the consoles.) They can only take over the console that is · 9 unmodified lines
17occupied by the system driver. In the same token, if the modular driver is17occupied by the system driver. In the same token, if the modular driver is
18released by the console, the system driver will take over.18released by the console, the system driver will take over.
19 19
20Modular drivers, from the programmer's point of view, has to call:20Modular drivers, from the programmer's point of view, have to call:
21 21
22 do_take_over_console() - load and bind driver to console layer22 do_take_over_console() - load and bind driver to console layer
23 give_up_console() - unload driver, it will only work if driver is fully unbond23 give_up_console() - unload driver; it will only work if driver
24 is fully unbound
24 25
25In newer kernels, the following are also available:26In newer kernels, the following are also available:
26 27
@@ -56,7 +57,7 @@ What do these files signify? · 29 unmodified lines
56 cat /sys/class/vtconsole/vtcon0/name57 cat /sys/class/vtconsole/vtcon0/name
57 (S) VGA+58 (S) VGA+
58 59
59 '(S)' stands for a (S)ystem driver, ie, it cannot be directly60 '(S)' stands for a (S)ystem driver, i.e., it cannot be directly
60 commanded to bind or unbind61 commanded to bind or unbind
61 62
62 'VGA+' is the name of the driver63 'VGA+' is the name of the driver
@@ -89,7 +90,7 @@ driver, make changes, recompile, reload and rebind the driver without any need · 26 unmodified lines
89for rebooting the kernel. For regular users who may want to switch from90for rebooting the kernel. For regular users who may want to switch from
90framebuffer console to VGA console and vice versa, this feature also makes91framebuffer console to VGA console and vice versa, this feature also makes
91this possible. (NOTE NOTE NOTE: Please read fbcon.txt under Documentation/fb92this possible. (NOTE NOTE NOTE: Please read fbcon.txt under Documentation/fb
92for more details).93for more details.)
93 94
94Notes for developers:95Notes for developers:
95=====================96=====================
@@ -110,8 +111,8 @@ In order for binding to and unbinding from the console to properly work, · 14 unmodified lines
110console drivers must follow these guidelines:111console drivers must follow these guidelines:
111 112
1121. All drivers, except system drivers, must call either do_register_con_driver()1131. All drivers, except system drivers, must call either do_register_con_driver()
113 or do_take_over_console(). do_register_con_driver() will just add the driver to114 or do_take_over_console(). do_register_con_driver() will just add the driver
114 the console's internal list. It won't take over the115 to the console's internal list. It won't take over the
115 console. do_take_over_console(), as it name implies, will also take over (or116 console. do_take_over_console(), as it name implies, will also take over (or
116 bind to) the console.117 bind to) the console.
117 118
Documentation/core-api/atomic_ops.rst+1−1
@@ -29,7 +29,7 @@ updated by one CPU, local_t is probably more appropriate. Please see · 28 unmodified lines
29local_t.29local_t.
30 30
31The first operations to implement for atomic_t's are the initializers and31The first operations to implement for atomic_t's are the initializers and
32plain reads. ::32plain writes. ::
33 33
34 #define ATOMIC_INIT(i) { (i) }34 #define ATOMIC_INIT(i) { (i) }
35 #define atomic_set(v, i) ((v)->counter = (i))35 #define atomic_set(v, i) ((v)->counter = (i))
Documentation/core-api/boot-time-mm.rst+92−0
@@ -0,0 +1,92 @@
1===========================
2Boot time memory management
3===========================
4
5Early system initialization cannot use "normal" memory management
6simply because it is not set up yet. But there is still need to
7allocate memory for various data structures, for instance for the
8physical page allocator. To address this, a specialized allocator
9called the :ref:`Boot Memory Allocator <bootmem>`, or bootmem, was
10introduced. Several years later PowerPC developers added a "Logical
11Memory Blocks" allocator, which was later adopted by other
12architectures and renamed to :ref:`memblock <memblock>`. There is also
13a compatibility layer called `nobootmem` that translates bootmem
14allocation interfaces to memblock calls.
15
16The selection of the early allocator is done using
17``CONFIG_NO_BOOTMEM`` and ``CONFIG_HAVE_MEMBLOCK`` kernel
18configuration options. These options are enabled or disabled
19statically by the architectures' Kconfig files.
20
21* Architectures that rely only on bootmem select
22 ``CONFIG_NO_BOOTMEM=n && CONFIG_HAVE_MEMBLOCK=n``.
23* The users of memblock with the nobootmem compatibility layer set
24 ``CONFIG_NO_BOOTMEM=y && CONFIG_HAVE_MEMBLOCK=y``.
25* And for those that use both memblock and bootmem the configuration
26 includes ``CONFIG_NO_BOOTMEM=n && CONFIG_HAVE_MEMBLOCK=y``.
27
28Whichever allocator is used, it is the responsibility of the
29architecture specific initialization to set it up in
30:c:func:`setup_arch` and tear it down in :c:func:`mem_init` functions.
31
32Once the early memory management is available it offers a variety of
33functions and macros for memory allocations. The allocation request
34may be directed to the first (and probably the only) node or to a
35particular node in a NUMA system. There are API variants that panic
36when an allocation fails and those that don't. And more recent and
37advanced memblock even allows controlling its own behaviour.
38
39.. _bootmem:
40
41Bootmem
42=======
43
44(mostly stolen from Mel Gorman's "Understanding the Linux Virtual
45Memory Manager" `book`_)
46
47.. _book: https://www.kernel.org/doc/gorman/
48
49.. kernel-doc:: mm/bootmem.c
50 :doc: bootmem overview
51
52.. _memblock:
53
54Memblock
55========
56
57.. kernel-doc:: mm/memblock.c
58 :doc: memblock overview
59
60
61Functions and structures
62========================
63
64Common API
65----------
66
67The functions that are described in this section are available
68regardless of what early memory manager is enabled.
69
70.. kernel-doc:: mm/nobootmem.c
71
72Bootmem specific API
73--------------------
74
75These interfaces available only with bootmem, i.e when ``CONFIG_NO_BOOTMEM=n``
76
77.. kernel-doc:: include/linux/bootmem.h
78.. kernel-doc:: mm/bootmem.c
79 :nodocs:
80
81Memblock specific API
82---------------------
83
84Here is the description of memblock data structures, functions and
85macros. Some of them are actually internal, but since they are
86documented it would be silly to omit them. Besides, reading the
87descriptions for the internal functions can help to understand what
88really happens under the hood.
89
90.. kernel-doc:: include/linux/memblock.h
91.. kernel-doc:: mm/memblock.c
92 :nodocs:
Documentation/core-api/idr.rst+2−0
@@ -76,4 +76,6 @@ Functions and structures · 75 unmodified lines
76========================76========================
77 77
78.. kernel-doc:: include/linux/idr.h78.. kernel-doc:: include/linux/idr.h
79 :functions:
79.. kernel-doc:: lib/idr.c80.. kernel-doc:: lib/idr.c
81 :functions:
Documentation/core-api/index.rst+3−0
@@ -27,7 +27,10 @@ Core utilities · 26 unmodified lines
27 errseq27 errseq
28 printk-formats28 printk-formats
29 circular-buffers29 circular-buffers
30 mm-api
30 gfp_mask-from-fs-io31 gfp_mask-from-fs-io
32 timekeeping
33 boot-time-mm
31 34
32Interfaces for kernel debugging35Interfaces for kernel debugging
33===============================36===============================
Documentation/core-api/kernel-api.rst+4−55
@@ -39,6 +39,10 @@ String Manipulation · 38 unmodified lines
39.. kernel-doc:: lib/string.c39.. kernel-doc:: lib/string.c
40 :export:40 :export:
41 41
42.. kernel-doc:: mm/util.c
43 :functions: kstrdup kstrdup_const kstrndup kmemdup kmemdup_nul memdup_user
44 vmemdup_user strndup_user memdup_user_nul
45
42Basic Kernel Library Functions46Basic Kernel Library Functions
43==============================47==============================
44 48
@@ -155,60 +159,6 @@ UUID/GUID · 110 unmodified lines
155.. kernel-doc:: lib/uuid.c159.. kernel-doc:: lib/uuid.c
156 :export:160 :export:
157 161
158Memory Management in Linux
159==========================
160
161The Slab Cache
162--------------
163
164.. kernel-doc:: include/linux/slab.h
165 :internal:
166
167.. kernel-doc:: mm/slab.c
168 :export:
169
170.. kernel-doc:: mm/util.c
171 :export:
172
173User Space Memory Access
174------------------------
175
176.. kernel-doc:: arch/x86/include/asm/uaccess.h
177 :internal:
178
179.. kernel-doc:: arch/x86/lib/usercopy_32.c
180 :export:
181
182More Memory Management Functions
183--------------------------------
184
185.. kernel-doc:: mm/readahead.c
186 :export:
187
188.. kernel-doc:: mm/filemap.c
189 :export:
190
191.. kernel-doc:: mm/memory.c
192 :export:
193
194.. kernel-doc:: mm/vmalloc.c
195 :export:
196
197.. kernel-doc:: mm/page_alloc.c
198 :internal:
199
200.. kernel-doc:: mm/mempool.c
201 :export:
202
203.. kernel-doc:: mm/dmapool.c
204 :export:
205
206.. kernel-doc:: mm/page-writeback.c
207 :export:
208
209.. kernel-doc:: mm/truncate.c
210 :export:
211
212Kernel IPC facilities162Kernel IPC facilities
213=====================163=====================
214 164
@@ -437,4 +387,3 @@ Read-Copy Update (RCU) · 222 unmodified lines
437.. kernel-doc:: include/linux/rcu_sync.h387.. kernel-doc:: include/linux/rcu_sync.h
438 388
439.. kernel-doc:: kernel/rcu/sync.c389.. kernel-doc:: kernel/rcu/sync.c
440
Documentation/core-api/mm-api.rst+78−0
@@ -0,0 +1,78 @@
1======================
2Memory Management APIs
3======================
4
5User Space Memory Access
6========================
7
8.. kernel-doc:: arch/x86/include/asm/uaccess.h
9 :internal:
10
11.. kernel-doc:: arch/x86/lib/usercopy_32.c
12 :export:
13
14.. kernel-doc:: mm/util.c
15 :functions: get_user_pages_fast
16
17Memory Allocation Controls
18==========================
19
20Functions which need to allocate memory often use GFP flags to express
21how that memory should be allocated. The GFP acronym stands for "get
22free pages", the underlying memory allocation function. Not every GFP
23flag is allowed to every function which may allocate memory. Most
24users will want to use a plain ``GFP_KERNEL``.
25
26.. kernel-doc:: include/linux/gfp.h
27 :doc: Page mobility and placement hints
28
29.. kernel-doc:: include/linux/gfp.h
30 :doc: Watermark modifiers
31
32.. kernel-doc:: include/linux/gfp.h
33 :doc: Reclaim modifiers
34
35.. kernel-doc:: include/linux/gfp.h
36 :doc: Common combinations
37
38The Slab Cache
39==============
40
41.. kernel-doc:: include/linux/slab.h
42 :internal:
43
44.. kernel-doc:: mm/slab.c
45 :export:
46
47.. kernel-doc:: mm/util.c
48 :functions: kfree_const kvmalloc_node kvfree
49
50More Memory Management Functions
51================================
52
53.. kernel-doc:: mm/readahead.c
54 :export:
55
56.. kernel-doc:: mm/filemap.c
57 :export:
58
59.. kernel-doc:: mm/memory.c
60 :export:
61
62.. kernel-doc:: mm/vmalloc.c
63 :export:
64
65.. kernel-doc:: mm/page_alloc.c
66 :internal:
67
68.. kernel-doc:: mm/mempool.c
69 :export:
70
71.. kernel-doc:: mm/dmapool.c
72 :export:
73
74.. kernel-doc:: mm/page-writeback.c
75 :export:
76
77.. kernel-doc:: mm/truncate.c
78 :export:
Documentation/core-api/timekeeping.rst+185−0
@@ -0,0 +1,185 @@
1ktime accessors
2===============
3
4Device drivers can read the current time using ktime_get() and the many
5related functions declared in linux/timekeeping.h. As a rule of thumb,
6using an accessor with a shorter name is preferred over one with a longer
7name if both are equally fit for a particular use case.
8
9Basic ktime_t based interfaces
10------------------------------
11
12The recommended simplest form returns an opaque ktime_t, with variants
13that return time for different clock references:
14
15
16.. c:function:: ktime_t ktime_get( void )
17
18 CLOCK_MONOTONIC
19
20 Useful for reliable timestamps and measuring short time intervals
21 accurately. Starts at system boot time but stops during suspend.
22
23.. c:function:: ktime_t ktime_get_boottime( void )
24
25 CLOCK_BOOTTIME
26
27 Like ktime_get(), but does not stop when suspended. This can be
28 used e.g. for key expiration times that need to be synchronized
29 with other machines across a suspend operation.
30
31.. c:function:: ktime_t ktime_get_real( void )
32
33 CLOCK_REALTIME
34
35 Returns the time in relative to the UNIX epoch starting in 1970
36 using the Coordinated Universal Time (UTC), same as gettimeofday()
37 user space. This is used for all timestamps that need to
38 persist across a reboot, like inode times, but should be avoided
39 for internal uses, since it can jump backwards due to a leap
40 second update, NTP adjustment settimeofday() operation from user
41 space.
42
43.. c:function:: ktime_t ktime_get_clocktai( void )
44
45 CLOCK_TAI
46
47 Like ktime_get_real(), but uses the International Atomic Time (TAI)
48 reference instead of UTC to avoid jumping on leap second updates.
49 This is rarely useful in the kernel.
50
51.. c:function:: ktime_t ktime_get_raw( void )
52
53 CLOCK_MONOTONIC_RAW
54
55 Like ktime_get(), but runs at the same rate as the hardware
56 clocksource without (NTP) adjustments for clock drift. This is
57 also rarely needed in the kernel.
58
59nanosecond, timespec64, and second output
60-----------------------------------------
61
62For all of the above, there are variants that return the time in a
63different format depending on what is required by the user:
64
65.. c:function:: u64 ktime_get_ns( void )
66 u64 ktime_get_boottime_ns( void )
67 u64 ktime_get_real_ns( void )
68 u64 ktime_get_tai_ns( void )
69 u64 ktime_get_raw_ns( void )
70
71 Same as the plain ktime_get functions, but returning a u64 number
72 of nanoseconds in the respective time reference, which may be
73 more convenient for some callers.
74
75.. c:function:: void ktime_get_ts64( struct timespec64 * )
76 void ktime_get_boottime_ts64( struct timespec64 * )
77 void ktime_get_real_ts64( struct timespec64 * )
78 void ktime_get_clocktai_ts64( struct timespec64 * )
79 void ktime_get_raw_ts64( struct timespec64 * )
80
81 Same above, but returns the time in a 'struct timespec64', split
82 into seconds and nanoseconds. This can avoid an extra division
83 when printing the time, or when passing it into an external
84 interface that expects a 'timespec' or 'timeval' structure.
85
86.. c:function:: time64_t ktime_get_seconds( void )
87 time64_t ktime_get_boottime_seconds( void )
88 time64_t ktime_get_real_seconds( void )
89 time64_t ktime_get_clocktai_seconds( void )
90 time64_t ktime_get_raw_seconds( void )
91
92 Return a coarse-grained version of the time as a scalar
93 time64_t. This avoids accessing the clock hardware and rounds
94 down the seconds to the full seconds of the last timer tick
95 using the respective reference.
96
97Coarse and fast_ns access
98-------------------------
99
100Some additional variants exist for more specialized cases:
101
102.. c:function:: ktime_t ktime_get_coarse_boottime( void )
103 ktime_t ktime_get_coarse_real( void )
104 ktime_t ktime_get_coarse_clocktai( void )
105 ktime_t ktime_get_coarse_raw( void )
106
107.. c:function:: void ktime_get_coarse_ts64( struct timespec64 * )
108 void ktime_get_coarse_boottime_ts64( struct timespec64 * )
109 void ktime_get_coarse_real_ts64( struct timespec64 * )
110 void ktime_get_coarse_clocktai_ts64( struct timespec64 * )
111 void ktime_get_coarse_raw_ts64( struct timespec64 * )
112
113 These are quicker than the non-coarse versions, but less accurate,
114 corresponding to CLOCK_MONONOTNIC_COARSE and CLOCK_REALTIME_COARSE
115 in user space, along with the equivalent boottime/tai/raw
116 timebase not available in user space.
117
118 The time returned here corresponds to the last timer tick, which
119 may be as much as 10ms in the past (for CONFIG_HZ=100), same as
120 reading the 'jiffies' variable. These are only useful when called
121 in a fast path and one still expects better than second accuracy,
122 but can't easily use 'jiffies', e.g. for inode timestamps.
123 Skipping the hardware clock access saves around 100 CPU cycles
124 on most modern machines with a reliable cycle counter, but
125 up to several microseconds on older hardware with an external
126 clocksource.
127
128.. c:function:: u64 ktime_get_mono_fast_ns( void )
129 u64 ktime_get_raw_fast_ns( void )
130 u64 ktime_get_boot_fast_ns( void )
131 u64 ktime_get_real_fast_ns( void )
132
133 These variants are safe to call from any context, including from
134 a non-maskable interrupt (NMI) during a timekeeper update, and
135 while we are entering suspend with the clocksource powered down.
136 This is useful in some tracing or debugging code as well as
137 machine check reporting, but most drivers should never call them,
138 since the time is allowed to jump under certain conditions.
139
140Deprecated time interfaces
141--------------------------
142
143Older kernels used some other interfaces that are now being phased out
144but may appear in third-party drivers being ported here. In particular,
145all interfaces returning a 'struct timeval' or 'struct timespec' have
146been replaced because the tv_sec member overflows in year 2038 on 32-bit
147architectures. These are the recommended replacements:
148
149.. c:function:: void ktime_get_ts( struct timespec * )
150
151 Use ktime_get() or ktime_get_ts64() instead.
152
153.. c:function:: struct timeval do_gettimeofday( void )
154 struct timespec getnstimeofday( void )
155 struct timespec64 getnstimeofday64( void )
156 void ktime_get_real_ts( struct timespec * )
157
158 ktime_get_real_ts64() is a direct replacement, but consider using
159 monotonic time (ktime_get_ts64()) and/or a ktime_t based interface
160 (ktime_get()/ktime_get_real()).
161
162.. c:function:: struct timespec current_kernel_time( void )
163 struct timespec64 current_kernel_time64( void )
164 struct timespec get_monotonic_coarse( void )
165 struct timespec64 get_monotonic_coarse64( void )
166
167 These are replaced by ktime_get_coarse_real_ts64() and
168 ktime_get_coarse_ts64(). However, A lot of code that wants
169 coarse-grained times can use the simple 'jiffies' instead, while
170 some drivers may actually want the higher resolution accessors
171 these days.
172
173.. c:function:: struct timespec getrawmonotonic( void )
174 struct timespec64 getrawmonotonic64( void )
175 struct timespec timekeeping_clocktai( void )
176 struct timespec64 timekeeping_clocktai64( void )
177 struct timespec get_monotonic_boottime( void )
178 struct timespec64 get_monotonic_boottime64( void )
179
180 These are replaced by ktime_get_raw()/ktime_get_raw_ts64(),
181 ktime_get_clocktai()/ktime_get_clocktai_ts64() as well
182 as ktime_get_boottime()/ktime_get_boottime_ts64().
183 However, if the particular choice of clock source is not
184 important for the user, consider converting to
185 ktime_get()/ktime_get_ts64() instead for consistency.
Documentation/crypto/api-samples.rst+1−1
@@ -162,7 +162,7 @@ Code Example For Use of Operational State Memory With SHASH · 161 unmodified lines
162 char *hash_alg_name = "sha1-padlock-nano";162 char *hash_alg_name = "sha1-padlock-nano";
163 int ret;163 int ret;
164 164
165 alg = crypto_alloc_shash(hash_alg_name, CRYPTO_ALG_TYPE_SHASH, 0);165 alg = crypto_alloc_shash(hash_alg_name, 0, 0);
166 if (IS_ERR(alg)) {166 if (IS_ERR(alg)) {
167 pr_info("can't alloc alg %s\n", hash_alg_name);167 pr_info("can't alloc alg %s\n", hash_alg_name);
168 return PTR_ERR(alg);168 return PTR_ERR(alg);
Documentation/dev-tools/kselftest.rst+5−0
@@ -156,6 +156,11 @@ Contributing new tests (details) · 155 unmodified lines
156 installed by the distro on the system should be the primary focus to be able156 installed by the distro on the system should be the primary focus to be able
157 to find regressions.157 to find regressions.
158 158
159 * If a test needs specific kernel config options enabled, add a config file in
160 the test directory to enable them.
161
162 e.g: tools/testing/selftests/android/ion/config
163
159Test Harness164Test Harness
160============165============
161 166
Documentation/device-mapper/delay.txt+2−1
@@ -5,7 +5,8 @@ Device-Mapper's "delay" target delays reads and/or writes · 4 unmodified lines
5and maps them to different devices.5and maps them to different devices.
6 6
7Parameters:7Parameters:
8 <device> <offset> <delay> [<write_device> <write_offset> <write_delay>]8 <device> <offset> <delay> [<write_device> <write_offset> <write_delay>
9 [<flush_device> <flush_offset> <flush_delay>]]
9 10
10With separate write parameters, the first set is only used for reads.11With separate write parameters, the first set is only used for reads.
11Offsets are specified in sectors.12Offsets are specified in sectors.
Documentation/device-mapper/dm-integrity.txt+4−0
@@ -113,6 +113,10 @@ internal_hash:algorithm(:key) (the key is optional) · 112 unmodified lines
113 from an upper layer target, such as dm-crypt. The upper layer113 from an upper layer target, such as dm-crypt. The upper layer
114 target should check the validity of the integrity tags.114 target should check the validity of the integrity tags.
115 115
116recalculate
117 Recalculate the integrity tags automatically. It is only valid
118 when using internal hash.
119
116journal_crypt:algorithm(:key) (the key is optional)120journal_crypt:algorithm(:key) (the key is optional)
117 Encrypt the journal using given algorithm to make sure that the121 Encrypt the journal using given algorithm to make sure that the
118 attacker can't read the journal. You can use a block cipher here122 attacker can't read the journal. You can use a block cipher here
Documentation/device-mapper/thin-provisioning.txt+13−7
@@ -28,17 +28,18 @@ administrator some freedom, for example to: · 27 unmodified lines
28Status28Status
29======29======
30 30
31These targets are very much still in the EXPERIMENTAL state. Please31These targets are considered safe for production use. But different use
32do not yet rely on them in production. But do experiment and offer us32cases will have different performance characteristics, for example due
33feedback. Different use cases will have different performance33to fragmentation of the data volume.
34characteristics, for example due to fragmentation of the data volume.
35 34
36If you find this software is not performing as expected please mail35If you find this software is not performing as expected please mail
37dm-devel@redhat.com with details and we'll try our best to improve36dm-devel@redhat.com with details and we'll try our best to improve
38things for you.37things for you.
39 38
40Userspace tools for checking and repairing the metadata are under39Userspace tools for checking and repairing the metadata have been fully
41development.40developed and are available as 'thin_check' and 'thin_repair'. The name
41of the package that provides these utilities varies by distribution (on
42a Red Hat distribution it is named 'device-mapper-persistent-data').
42 43
43Cookbook44Cookbook
44========45========
@@ -280,7 +281,7 @@ ii) Status · 235 unmodified lines
280 <transaction id> <used metadata blocks>/<total metadata blocks>281 <transaction id> <used metadata blocks>/<total metadata blocks>
281 <used data blocks>/<total data blocks> <held metadata root>282 <used data blocks>/<total data blocks> <held metadata root>
282 ro|rw|out_of_data_space [no_]discard_passdown [error|queue]_if_no_space283 ro|rw|out_of_data_space [no_]discard_passdown [error|queue]_if_no_space
283 needs_check|-284 needs_check|- metadata_low_watermark
284 285
285 transaction id:286 transaction id:
286 A 64-bit number used by userspace to help synchronise with metadata287 A 64-bit number used by userspace to help synchronise with metadata
@@ -327,6 +328,11 @@ ii) Status · 40 unmodified lines
327 thin-pool can be made fully operational again. '-' indicates328 thin-pool can be made fully operational again. '-' indicates
328 needs_check is not set.329 needs_check is not set.
329 330
331 metadata_low_watermark:
332 Value of metadata low watermark in blocks. The kernel sets this
333 value internally but userspace needs to know this value to
334 determine if an event was caused by crossing this threshold.
335
330iii) Messages336iii) Messages
331 337
332 create_thin <dev id>338 create_thin <dev id>
Documentation/device-mapper/writecache.txt+2−0
@@ -15,6 +15,8 @@ Constructor parameters: · 14 unmodified lines
15 size)15 size)
165. the number of optional parameters (the parameters with an argument165. the number of optional parameters (the parameters with an argument
17 count as two)17 count as two)
18 start_sector n (default: 0)
19 offset from the start of cache device in 512-byte sectors
18 high_watermark n (default: 50)20 high_watermark n (default: 50)
19 start writeback when the number of used blocks reach this21 start writeback when the number of used blocks reach this
20 watermark22 watermark
Documentation/devicetree/bindings/arm/adapteva.txt+0−7
@@ -1,7 +0,0 @@
1Adapteva Platforms Device Tree Bindings
2---------------------------------------
3
4Parallella board
5
6Required root node properties:
7 - compatible = "adapteva,parallella";
Documentation/devicetree/bindings/arm/amlogic.txt+13−0
@@ -41,6 +41,14 @@ Boards with the Amlogic Meson GXL S905D SoC shall have the following properties: · 40 unmodified lines
41 Required root node property:41 Required root node property:
42 compatible: "amlogic,s905d", "amlogic,meson-gxl";42 compatible: "amlogic,s905d", "amlogic,meson-gxl";
43 43
44Boards with the Amlogic Meson GXL S805X SoC shall have the following properties:
45 Required root node property:
46 compatible: "amlogic,s805x", "amlogic,meson-gxl";
47
48Boards with the Amlogic Meson GXL S905W SoC shall have the following properties:
49 Required root node property:
50 compatible: "amlogic,s905w", "amlogic,meson-gxl";
51
44Boards with the Amlogic Meson GXM S912 SoC shall have the following properties:52Boards with the Amlogic Meson GXM S912 SoC shall have the following properties:
45 Required root node property:53 Required root node property:
46 compatible: "amlogic,s912", "amlogic,meson-gxm";54 compatible: "amlogic,s912", "amlogic,meson-gxm";
@@ -79,6 +87,11 @@ Board compatible values (alphabetically, grouped by SoC): · 32 unmodified lines
79 - "amlogic,p230" (Meson gxl s905d)87 - "amlogic,p230" (Meson gxl s905d)
80 - "amlogic,p231" (Meson gxl s905d)88 - "amlogic,p231" (Meson gxl s905d)
81 89
90 - "amlogic,p241" (Meson gxl s805x)
91
92 - "amlogic,p281" (Meson gxl s905w)
93 - "oranth,tx3-mini" (Meson gxl s905w)
94
82 - "amlogic,q200" (Meson gxm s912)95 - "amlogic,q200" (Meson gxm s912)
83 - "amlogic,q201" (Meson gxm s912)96 - "amlogic,q201" (Meson gxm s912)
84 - "khadas,vim2" (Meson gxm s912)97 - "khadas,vim2" (Meson gxm s912)
Documentation/devicetree/bindings/arm/atmel-pmc.txt+0−14
@@ -1,14 +0,0 @@
1* Power Management Controller (PMC)
2
3Required properties:
4- compatible: Should be "atmel,<chip>-pmc".
5 <chip> can be: at91rm9200, at91sam9260, at91sam9g45, at91sam9n12,
6 at91sam9x5, sama5d3
7
8- reg: Should contain PMC registers location and length
9
10Examples:
11 pmc: pmc@fffffc00 {
12 compatible = "atmel,at91rm9200-pmc";
13 reg = <0xfffffc00 0x100>;
14 };
Documentation/devicetree/bindings/arm/bcm/brcm,brcmstb.txt+4−0
@@ -189,7 +189,11 @@ Power-Down (SRPD), among other things. · 188 unmodified lines
189 189
190Required properties:190Required properties:
191- compatible : should contain one of these191- compatible : should contain one of these
192 "brcm,brcmstb-memc-ddr-rev-b.2.1"
192 "brcm,brcmstb-memc-ddr-rev-b.2.2"193 "brcm,brcmstb-memc-ddr-rev-b.2.2"
194 "brcm,brcmstb-memc-ddr-rev-b.2.3"
195 "brcm,brcmstb-memc-ddr-rev-b.3.0"
196 "brcm,brcmstb-memc-ddr-rev-b.3.1"
193 "brcm,brcmstb-memc-ddr"197 "brcm,brcmstb-memc-ddr"
194- reg : the MEMC DDR register range198- reg : the MEMC DDR register range
195 199
Documentation/devicetree/bindings/arm/coresight.txt+57−1
@@ -39,6 +39,8 @@ its hardware characteristcs. · 38 unmodified lines
39 39
40 - System Trace Macrocell:40 - System Trace Macrocell:
41 "arm,coresight-stm", "arm,primecell"; [1]41 "arm,coresight-stm", "arm,primecell"; [1]
42 - Coresight Address Translation Unit (CATU)
43 "arm,coresight-catu", "arm,primecell";
42 44
43 * reg: physical base address and length of the register45 * reg: physical base address and length of the register
44 set(s) of the component.46 set(s) of the component.
@@ -84,8 +86,15 @@ its hardware characteristcs. · 39 unmodified lines
84* Optional property for TMC:86* Optional property for TMC:
85 87
86 * arm,buffer-size: size of contiguous buffer space for TMC ETR88 * arm,buffer-size: size of contiguous buffer space for TMC ETR
87 (embedded trace router)89 (embedded trace router). This property is obsolete. The buffer size
90 can be configured dynamically via buffer_size property in sysfs.
88 91
92 * arm,scatter-gather: boolean. Indicates that the TMC-ETR can safely
93 use the SG mode on this system.
94
95* Optional property for CATU :
96 * interrupts : Exactly one SPI may be listed for reporting the address
97 error
89 98
90Example:99Example:
91 100
@@ -118,6 +127,35 @@ Example: · 26 unmodified lines
118 };127 };
119 };128 };
120 129
130 etr@20070000 {
131 compatible = "arm,coresight-tmc", "arm,primecell";
132 reg = <0 0x20070000 0 0x1000>;
133
134 clocks = <&oscclk6a>;
135 clock-names = "apb_pclk";
136 ports {
137 #address-cells = <1>;
138 #size-cells = <0>;
139
140 /* input port */
141 port@0 {
142 reg = <0>;
143 etr_in_port: endpoint {
144 slave-mode;
145 remote-endpoint = <&replicator2_out_port0>;
146 };
147 };
148
149 /* CATU link represented by output port */
150 port@1 {
151 reg = <1>;
152 etr_out_port: endpoint {
153 remote-endpoint = <&catu_in_port>;
154 };
155 };
156 };
157 };
158
1212. Links1592. Links
122 replicator {160 replicator {
123 /* non-configurable replicators don't show up on the161 /* non-configurable replicators don't show up on the
@@ -247,5 +285,23 @@ Example: · 123 unmodified lines
247 };285 };
248 };286 };
249 287
2885. CATU
289
290 catu@207e0000 {
291 compatible = "arm,coresight-catu", "arm,primecell";
292 reg = <0 0x207e0000 0 0x1000>;
293
294 clocks = <&oscclk6a>;
295 clock-names = "apb_pclk";
296
297 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
298 port {
299 catu_in_port: endpoint {
300 slave-mode;
301 remote-endpoint = <&etr_out_port>;
302 };
303 };
304 };
305
250[1]. There is currently two version of STM: STM32 and STM500. Both306[1]. There is currently two version of STM: STM32 and STM500. Both
251have the same HW interface and as such don't need an explicit binding name.307have the same HW interface and as such don't need an explicit binding name.
Documentation/devicetree/bindings/arm/cpu-capacity.txt+1−1
@@ -94,7 +94,7 @@ cpus { · 93 unmodified lines
94 };94 };
95 95
96 idle-states {96 idle-states {
97 entry-method = "arm,psci";97 entry-method = "psci";
98 98
99 CPU_SLEEP_0: cpu-sleep-0 {99 CPU_SLEEP_0: cpu-sleep-0 {
100 compatible = "arm,idle-state";100 compatible = "arm,idle-state";
Documentation/devicetree/bindings/arm/cpus.txt+2−0
@@ -183,6 +183,7 @@ described below. · 182 unmodified lines
183 "marvell,sheeva-v5"183 "marvell,sheeva-v5"
184 "nvidia,tegra132-denver"184 "nvidia,tegra132-denver"
185 "nvidia,tegra186-denver"185 "nvidia,tegra186-denver"
186 "nvidia,tegra194-carmel"
186 "qcom,krait"187 "qcom,krait"
187 "qcom,kryo"188 "qcom,kryo"
188 "qcom,kryo385"189 "qcom,kryo385"
@@ -219,6 +220,7 @@ described below. · 30 unmodified lines
219 "qcom,kpss-acc-v1"220 "qcom,kpss-acc-v1"
220 "qcom,kpss-acc-v2"221 "qcom,kpss-acc-v2"
221 "renesas,apmu"222 "renesas,apmu"
223 "renesas,r9a06g032-smp"
222 "rockchip,rk3036-smp"224 "rockchip,rk3036-smp"
223 "rockchip,rk3066-smp"225 "rockchip,rk3066-smp"
224 "ste,dbx500-smp"226 "ste,dbx500-smp"
Documentation/devicetree/bindings/arm/freescale/fsl,vf610-mscm-ir.txt+0−3
@@ -18,9 +18,6 @@ Required properties: · 17 unmodified lines
18 assignment of the interrupt router is required.18 assignment of the interrupt router is required.
19 Flags get passed only when using GIC as parent. Flags19 Flags get passed only when using GIC as parent. Flags
20 encoding as documented by the GIC bindings.20 encoding as documented by the GIC bindings.
21- interrupt-parent: Should be the phandle for the interrupt controller of
22 the CPU the device tree is intended to be used on. This
23 is either the node of the GIC or NVIC controller.
24 21
25Example:22Example:
26 mscm_ir: interrupt-controller@40001800 {23 mscm_ir: interrupt-controller@40001800 {
Documentation/devicetree/bindings/arm/freescale/m4if.txt+12−0
@@ -0,0 +1,12 @@
1* Freescale Multi Master Multi Memory Interface (M4IF) module
2
3Required properties:
4- compatible : Should be "fsl,imx51-m4if"
5- reg : Address and length of the register set for the device
6
7Example:
8
9m4if: m4if@83fd8000 {
10 compatible = "fsl,imx51-m4if";
11 reg = <0x83fd8000 0x1000>;
12};
Documentation/devicetree/bindings/arm/freescale/tigerp.txt+12−0
@@ -0,0 +1,12 @@
1* Freescale Tigerp platform module
2
3Required properties:
4- compatible : Should be "fsl,imx51-tigerp"
5- reg : Address and length of the register set for the device
6
7Example:
8
9tigerp: tigerp@83fa0000 {
10 compatible = "fsl,imx51-tigerp";
11 reg = <0x83fa0000 0x28>;
12};
Documentation/devicetree/bindings/arm/fsl.txt+4−0
@@ -53,6 +53,10 @@ i.MX6 Quad SABRE Automotive Board · 52 unmodified lines
53Required root node properties:53Required root node properties:
54 - compatible = "fsl,imx6q-sabreauto", "fsl,imx6q";54 - compatible = "fsl,imx6q-sabreauto", "fsl,imx6q";
55 55
56i.MX6SLL EVK board
57Required root node properties:
58 - compatible = "fsl,imx6sll-evk", "fsl,imx6sll";
59
56Generic i.MX boards60Generic i.MX boards
57-------------------61-------------------
58 62
Documentation/devicetree/bindings/arm/idle-states.txt+2−2
@@ -237,8 +237,8 @@ processor idle states, defined as device tree nodes, are listed. · 236 unmodified lines
237 Value type: <stringlist>237 Value type: <stringlist>
238 Usage and definition depend on ARM architecture version.238 Usage and definition depend on ARM architecture version.
239 # On ARM v8 64-bit this property is required and must239 # On ARM v8 64-bit this property is required and must
240 be one of:240 be:
241 - "psci" (see bindings in [2])241 - "psci"
242 # On ARM 32-bit systems this property is optional242 # On ARM 32-bit systems this property is optional
243 243
244The nodes describing the idle states (state) can only be defined within the244The nodes describing the idle states (state) can only be defined within the
Documentation/devicetree/bindings/arm/insignal-boards.txt+0−8
@@ -1,8 +0,0 @@
1* Insignal's Exynos4210 based Origen evaluation board
2
3Origen low-cost evaluation board is based on Samsung's Exynos4210 SoC.
4
5Required root node properties:
6 - compatible = should be one or more of the following.
7 (a) "samsung,smdkv310" - for Samsung's SMDKV310 eval board.
8 (b) "samsung,exynos4210" - for boards based on Exynos4210 SoC.
Documentation/devicetree/bindings/arm/marvell/ap806-system-controller.txt+43−5
@@ -2,14 +2,17 @@ Marvell Armada AP806 System Controller · 1 unmodified line
2======================================2======================================
3 3
4The AP806 is one of the two core HW blocks of the Marvell Armada 7K/8K4The AP806 is one of the two core HW blocks of the Marvell Armada 7K/8K
5SoCs. It contains a system controller, which provides a number5SoCs. It contains system controllers, which provide several registers
6registers giving access to numerous features: clocks, pin-muxing and6giving access to numerous features: clocks, pin-muxing and many other
7many other SoC configuration items. This DT binding allows to describe7SoC configuration items. This DT binding allows to describe these
8this system controller.8system controllers.
9 9
10For the top level node:10For the top level node:
11 - compatible: must be: "syscon", "simple-mfd";11 - compatible: must be: "syscon", "simple-mfd";
12 - reg: register area of the AP806 system controller12 - reg: register area of the AP806 system controller
13
14SYSTEM CONTROLLER 0
15===================
13 16
14Clocks:17Clocks:
15-------18-------
@@ -98,3 +101,38 @@ ap_syscon: system-controller@6f4000 { · 82 unmodified lines
98 gpio-ranges = <&ap_pinctrl 0 0 19>;101 gpio-ranges = <&ap_pinctrl 0 0 19>;
99 };102 };
100};103};
104
105SYSTEM CONTROLLER 1
106===================
107
108Thermal:
109--------
110
111For common binding part and usage, refer to
112Documentation/devicetree/bindings/thermal/thermal.txt
113
114The thermal IP can probe the temperature all around the processor. It
115may feature several channels, each of them wired to one sensor.
116
117Required properties:
118- compatible: must be one of:
119 * marvell,armada-ap806-thermal
120- reg: register range associated with the thermal functions.
121
122Optional properties:
123- #thermal-sensor-cells: shall be <1> when thermal-zones subnodes refer
124 to this IP and represents the channel ID. There is one sensor per
125 channel. O refers to the thermal IP internal channel, while positive
126 IDs refer to each CPU.
127
128Example:
129ap_syscon1: system-controller@6f8000 {
130 compatible = "syscon", "simple-mfd";
131 reg = <0x6f8000 0x1000>;
132
133 ap_thermal: thermal-sensor@80 {
134 compatible = "marvell,armada-ap806-thermal";
135 reg = <0x80 0x10>;
136 #thermal-sensor-cells = <1>;
137 };
138};
Documentation/devicetree/bindings/arm/marvell/armada-37xx.txt+15−0
@@ -33,3 +33,18 @@ nb_pm: syscon@14000 { · 32 unmodified lines
33 compatible = "marvell,armada-3700-nb-pm", "syscon";33 compatible = "marvell,armada-3700-nb-pm", "syscon";
34 reg = <0x14000 0x60>;34 reg = <0x14000 0x60>;
35}35}
36
37AVS
38---
39
40For AVS an other component is needed:
41
42Required properties:
43- compatible : should contain "marvell,armada-3700-avs", "syscon";
44- reg : the register start and length for the AVS
45
46Example:
47avs: avs@11500 {
48 compatible = "marvell,armada-3700-avs", "syscon";
49 reg = <0x11500 0x40>;
50}
Documentation/devicetree/bindings/arm/marvell/cp110-system-controller.txtrenamed from Documentation/devicetree/bindings/arm/marvell/cp110-system-controller0.txt+49−12
@@ -1,15 +1,18 @@
1Marvell Armada CP110 System Controller 01Marvell Armada CP110 System Controller
2========================================2======================================
3 3
4The CP110 is one of the two core HW blocks of the Marvell Armada 7K/8K4The CP110 is one of the two core HW blocks of the Marvell Armada 7K/8K
5SoCs. It contains two sets of system control registers, System5SoCs. It contains system controllers, which provide several registers
6Controller 0 and System Controller 1. This Device Tree binding allows6giving access to numerous features: clocks, pin-muxing and many other
7to describe the first system controller, which provides registers to7SoC configuration items. This DT binding allows to describe these
8configure various aspects of the SoC.8system controllers.
9 9
10For the top level node:10For the top level node:
11 - compatible: must be: "syscon", "simple-mfd";11 - compatible: must be: "syscon", "simple-mfd";
12 - reg: register area of the CP110 system controller 012 - reg: register area of the CP110 system controller
13
14SYSTEM CONTROLLER 0
15===================
13 16
14Clocks:17Clocks:
15-------18-------
@@ -163,26 +166,60 @@ Required properties: · 147 unmodified lines
163 166
164Example:167Example:
165 168
166cpm_syscon0: system-controller@440000 {169CP110_LABEL(syscon0): system-controller@440000 {
167 compatible = "syscon", "simple-mfd";170 compatible = "syscon", "simple-mfd";
168 reg = <0x440000 0x1000>;171 reg = <0x440000 0x1000>;
169 172
170 cpm_clk: clock {173 CP110_LABEL(clk): clock {
171 compatible = "marvell,cp110-clock";174 compatible = "marvell,cp110-clock";
172 #clock-cells = <2>;175 #clock-cells = <2>;
173 };176 };
174 177
175 cpm_pinctrl: pinctrl {178 CP110_LABEL(pinctrl): pinctrl {
176 compatible = "marvell,armada-8k-cpm-pinctrl";179 compatible = "marvell,armada-8k-cpm-pinctrl";
177 };180 };
178 181
179 cpm_gpio1: gpio@100 {182 CP110_LABEL(gpio1): gpio@100 {
180 compatible = "marvell,armada-8k-gpio";183 compatible = "marvell,armada-8k-gpio";
181 offset = <0x100>;184 offset = <0x100>;
182 ngpios = <32>;185 ngpios = <32>;
183 gpio-controller;186 gpio-controller;
184 #gpio-cells = <2>;187 #gpio-cells = <2>;
185 gpio-ranges = <&cpm_pinctrl 0 0 32>;188 gpio-ranges = <&CP110_LABEL(pinctrl) 0 0 32>;
186 };189 };
187 190
188};191};
192
193SYSTEM CONTROLLER 1
194===================
195
196Thermal:
197--------
198
199The thermal IP can probe the temperature all around the processor. It
200may feature several channels, each of them wired to one sensor.
201
202For common binding part and usage, refer to
203Documentation/devicetree/bindings/thermal/thermal.txt
204
205Required properties:
206- compatible: must be one of:
207 * marvell,armada-cp110-thermal
208- reg: register range associated with the thermal functions.
209
210Optional properties:
211- #thermal-sensor-cells: shall be <1> when thermal-zones subnodes refer
212 to this IP and represents the channel ID. There is one sensor per
213 channel. O refers to the thermal IP internal channel.
214
215Example:
216CP110_LABEL(syscon1): system-controller@6f8000 {
217 compatible = "syscon", "simple-mfd";
218 reg = <0x6f8000 0x1000>;
219
220 CP110_LABEL(thermal): thermal-sensor@70 {
221 compatible = "marvell,armada-cp110-thermal";
222 reg = <0x70 0x10>;
223 #thermal-sensor-cells = <1>;
224 };
225};
Documentation/devicetree/bindings/arm/mediatek.txt+7−3
@@ -11,6 +11,7 @@ compatible: Must contain one of · 10 unmodified lines
11 "mediatek,mt6589"11 "mediatek,mt6589"
12 "mediatek,mt6592"12 "mediatek,mt6592"
13 "mediatek,mt6755"13 "mediatek,mt6755"
14 "mediatek,mt6765"
14 "mediatek,mt6795"15 "mediatek,mt6795"
15 "mediatek,mt6797"16 "mediatek,mt6797"
16 "mediatek,mt7622"17 "mediatek,mt7622"
@@ -41,12 +42,18 @@ Supported boards: · 24 unmodified lines
41- Evaluation phone for MT6755(Helio P10):42- Evaluation phone for MT6755(Helio P10):
42 Required root node properties:43 Required root node properties:
43 - compatible = "mediatek,mt6755-evb", "mediatek,mt6755";44 - compatible = "mediatek,mt6755-evb", "mediatek,mt6755";
45- Evaluation board for MT6765(Helio P22):
46 Required root node properties:
47 - compatible = "mediatek,mt6765-evb", "mediatek,mt6765";
44- Evaluation board for MT6795(Helio X10):48- Evaluation board for MT6795(Helio X10):
45 Required root node properties:49 Required root node properties:
46 - compatible = "mediatek,mt6795-evb", "mediatek,mt6795";50 - compatible = "mediatek,mt6795-evb", "mediatek,mt6795";
47- Evaluation board for MT6797(Helio X20):51- Evaluation board for MT6797(Helio X20):
48 Required root node properties:52 Required root node properties:
49 - compatible = "mediatek,mt6797-evb", "mediatek,mt6797";53 - compatible = "mediatek,mt6797-evb", "mediatek,mt6797";
54- Mediatek X20 Development Board:
55 Required root node properties:
56 - compatible = "archermind,mt6797-x20-dev", "mediatek,mt6797";
50- Reference board variant 1 for MT7622:57- Reference board variant 1 for MT7622:
51 Required root node properties:58 Required root node properties:
52 - compatible = "mediatek,mt7622-rfb1", "mediatek,mt7622";59 - compatible = "mediatek,mt7622-rfb1", "mediatek,mt7622";
@@ -59,9 +66,6 @@ Supported boards: · 6 unmodified lines
59- Reference board for MT7623n with eMMC:66- Reference board for MT7623n with eMMC:
60 Required root node properties:67 Required root node properties:
61 - compatible = "mediatek,mt7623n-rfb-emmc", "mediatek,mt7623";68 - compatible = "mediatek,mt7623n-rfb-emmc", "mediatek,mt7623";
62- Reference board for MT7623n with NAND:
63 Required root node properties:
64 - compatible = "mediatek,mt7623n-rfb-nand", "mediatek,mt7623";
65- Bananapi BPI-R2 board:69- Bananapi BPI-R2 board:
66 - compatible = "bananapi,bpi-r2", "mediatek,mt7623";70 - compatible = "bananapi,bpi-r2", "mediatek,mt7623";
67- MTK mt8127 tablet moose EVB:71- MTK mt8127 tablet moose EVB:
Documentation/devicetree/bindings/arm/msm/qcom,llcc.txt+26−0
@@ -0,0 +1,26 @@
1== Introduction==
2
3LLCC (Last Level Cache Controller) provides last level of cache memory in SOC,
4that can be shared by multiple clients. Clients here are different cores in the
5SOC, the idea is to minimize the local caches at the clients and migrate to
6common pool of memory. Cache memory is divided into partitions called slices
7which are assigned to clients. Clients can query the slice details, activate
8and deactivate them.
9
10Properties:
11- compatible:
12 Usage: required
13 Value type: <string>
14 Definition: must be "qcom,sdm845-llcc"
15
16- reg:
17 Usage: required
18 Value Type: <prop-encoded-array>
19 Definition: Start address and the the size of the register region.
20
21Example:
22
23 cache-controller@1100000 {
24 compatible = "qcom,sdm845-llcc";
25 reg = <0x1100000 0x250000>;
26 };
Documentation/devicetree/bindings/arm/omap/crossbar.txt+0−1
@@ -10,7 +10,6 @@ Required properties: · 9 unmodified lines
10- compatible : Should be "ti,irq-crossbar"10- compatible : Should be "ti,irq-crossbar"
11- reg: Base address and the size of the crossbar registers.11- reg: Base address and the size of the crossbar registers.
12- interrupt-controller: indicates that this block is an interrupt controller.12- interrupt-controller: indicates that this block is an interrupt controller.
13- interrupt-parent: the interrupt controller this block is connected to.
14- ti,max-irqs: Total number of irqs available at the parent interrupt controller.13- ti,max-irqs: Total number of irqs available at the parent interrupt controller.
15- ti,max-crossbar-sources: Maximum number of crossbar sources that can be routed.14- ti,max-crossbar-sources: Maximum number of crossbar sources that can be routed.
16- ti,reg-size: Size of a individual register in bytes. Every individual15- ti,reg-size: Size of a individual register in bytes. Every individual
Documentation/devicetree/bindings/arm/omap/l4.txt+13−2
@@ -7,6 +7,7 @@ Required properties: · 6 unmodified lines
7 Should be "ti,omap2-l4-wkup" for OMAP2 family l4 wkup bus7 Should be "ti,omap2-l4-wkup" for OMAP2 family l4 wkup bus
8 Should be "ti,omap3-l4-core" for OMAP3 family l4 core bus8 Should be "ti,omap3-l4-core" for OMAP3 family l4 core bus
9 Should be "ti,omap4-l4-cfg" for OMAP4 family l4 cfg bus9 Should be "ti,omap4-l4-cfg" for OMAP4 family l4 cfg bus
10 Should be "ti,omap4-l4-per" for OMAP4 family l4 per bus
10 Should be "ti,omap4-l4-wkup" for OMAP4 family l4 wkup bus11 Should be "ti,omap4-l4-wkup" for OMAP4 family l4 wkup bus
11 Should be "ti,omap5-l4-cfg" for OMAP5 family l4 cfg bus12 Should be "ti,omap5-l4-cfg" for OMAP5 family l4 cfg bus
12 Should be "ti,omap5-l4-wkup" for OMAP5 family l4 wkup bus13 Should be "ti,omap5-l4-wkup" for OMAP5 family l4 wkup bus
@@ -15,11 +16,21 @@ Required properties: · 2 unmodified lines
15 Should be "ti,am3-l4-wkup" for AM33xx family l4 wkup bus16 Should be "ti,am3-l4-wkup" for AM33xx family l4 wkup bus
16 Should be "ti,am4-l4-wkup" for AM43xx family l4 wkup bus17 Should be "ti,am4-l4-wkup" for AM43xx family l4 wkup bus
17- ranges : contains the IO map range for the bus18- ranges : contains the IO map range for the bus
19- reg : registers link agent and interconnect agent and access protection
20- reg-names : "la" for link agent, "ia0" to "ia3" for one to three
21 interconnect agent instances, "ap" for access if it exists
18 22
19Examples:23Examples:
20 24
21l4: l4@48000000 {25l4: interconnect@48000000 {
22 compatible "ti,omap2-l4", "simple-bus";26 compatible "ti,omap4-l4-per", "simple-bus";
27 reg = <0x48000000 0x800>,
28 <0x48000800 0x800>,
29 <0x48001000 0x400>,
30 <0x48001400 0x400>,
31 <0x48001800 0x400>,
32 <0x48001c00 0x400>;
33 reg-names = "ap", "la", "ia0", "ia1", "ia2", "ia3";
23 #address-cells = <1>;34 #address-cells = <1>;
24 #size-cells = <1>;35 #size-cells = <1>;
25 ranges = <0 0x48000000 0x100000>;36 ranges = <0 0x48000000 0x100000>;
Documentation/devicetree/bindings/arm/rockchip.txt+14−0
@@ -1,5 +1,10 @@
1Rockchip platforms device tree bindings1Rockchip platforms device tree bindings
2---------------------------------------2---------------------------------------
3
4- 96boards RK3399 Ficus (ROCK960 Enterprise Edition)
5 Required root node properties:
6 - compatible = "vamrs,ficus", "rockchip,rk3399";
7
3- Amarula Vyasa RK3288 board8- Amarula Vyasa RK3288 board
4 Required root node properties:9 Required root node properties:
5 - compatible = "amarula,vyasa-rk3288", "rockchip,rk3288";10 - compatible = "amarula,vyasa-rk3288", "rockchip,rk3288";
@@ -66,6 +71,15 @@ Rockchip platforms device tree bindings · 60 unmodified lines
66 Required root node properties:71 Required root node properties:
67 - compatible = "geekbuying,geekbox", "rockchip,rk3368";72 - compatible = "geekbuying,geekbox", "rockchip,rk3368";
68 73
74- Google Bob (Asus Chromebook Flip C101PA):
75 Required root node properties:
76 compatible = "google,bob-rev13", "google,bob-rev12",
77 "google,bob-rev11", "google,bob-rev10",
78 "google,bob-rev9", "google,bob-rev8",
79 "google,bob-rev7", "google,bob-rev6",
80 "google,bob-rev5", "google,bob-rev4",
81 "google,bob", "google,gru", "rockchip,rk3399";
82
69- Google Brain (dev-board):83- Google Brain (dev-board):
70 Required root node properties:84 Required root node properties:
71 - compatible = "google,veyron-brain-rev0", "google,veyron-brain",85 - compatible = "google,veyron-brain-rev0", "google,veyron-brain",
Documentation/devicetree/bindings/arm/samsung/pmu.txt+0−3
@@ -40,9 +40,6 @@ following properties: · 39 unmodified lines
40- #interrupt-cells: must be identical to the that of the parent interrupt40- #interrupt-cells: must be identical to the that of the parent interrupt
41 controller.41 controller.
42 42
43- interrupt-parent: a phandle indicating which interrupt controller
44 this PMU signals interrupts to.
45
46 43
47Optional nodes:44Optional nodes:
48 45
Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt+5−2
@@ -1,7 +1,10 @@
1* Samsung's Exynos SoC based boards1* Samsung's Exynos and S5P SoC based boards
2 2
3Required root node properties:3Required root node properties:
4 - compatible = should be one or more of the following.4 - compatible = should be one or more of the following.
5 - "samsung,aries" - for S5PV210-based Samsung Aries board.
6 - "samsung,fascinate4g" - for S5PV210-based Samsung Galaxy S Fascinate 4G (SGH-T959P) board.
7 - "samsung,galaxys" - for S5PV210-based Samsung Galaxy S (i9000) board.
5 - "samsung,artik5" - for Exynos3250-based Samsung ARTIK5 module.8 - "samsung,artik5" - for Exynos3250-based Samsung ARTIK5 module.
6 - "samsung,artik5-eval" - for Exynos3250-based Samsung ARTIK5 eval board.9 - "samsung,artik5-eval" - for Exynos3250-based Samsung ARTIK5 eval board.
7 - "samsung,monk" - for Exynos3250-based Samsung Simband board.10 - "samsung,monk" - for Exynos3250-based Samsung Simband board.
@@ -66,7 +69,7 @@ Required root node properties: · 58 unmodified lines
66 - "insignal,arndale-octa" - for Exynos5420-based Insignal Arndale69 - "insignal,arndale-octa" - for Exynos5420-based Insignal Arndale
67 Octa board.70 Octa board.
68 - "insignal,origen" - for Exynos4210-based Insignal Origen board.71 - "insignal,origen" - for Exynos4210-based Insignal Origen board.
69 - "insignal,origen4412 - for Exynos4412-based Insignal Origen board.72 - "insignal,origen4412" - for Exynos4412-based Insignal Origen board.
70 73
71 74
72Optional nodes:75Optional nodes:
Documentation/devicetree/bindings/arm/shmobile.txt+4−1
@@ -51,7 +51,8 @@ SoCs: · 50 unmodified lines
51 compatible = "renesas,r8a77990"51 compatible = "renesas,r8a77990"
52 - R-Car D3 (R8A77995)52 - R-Car D3 (R8A77995)
53 compatible = "renesas,r8a77995"53 compatible = "renesas,r8a77995"
54 54 - RZ/N1D (R9A06G032)
55 compatible = "renesas,r9a06g032"
55 56
56Boards:57Boards:
57 58
@@ -112,6 +113,8 @@ Boards: · 54 unmodified lines
112 compatible = "renesas,porter", "renesas,r8a7791"113 compatible = "renesas,porter", "renesas,r8a7791"
113 - RSKRZA1 (YR0K77210C000BE)114 - RSKRZA1 (YR0K77210C000BE)
114 compatible = "renesas,rskrza1", "renesas,r7s72100"115 compatible = "renesas,rskrza1", "renesas,r7s72100"
116 - RZN1D-DB (RZ/N1D Demo Board for the RZ/N1D 400 pins package)
117 compatible = "renesas,rzn1d400-db", "renesas,r9a06g032"
115 - Salvator-X (RTP0RC7795SIPB0010S)118 - Salvator-X (RTP0RC7795SIPB0010S)
116 compatible = "renesas,salvator-x", "renesas,r8a7795"119 compatible = "renesas,salvator-x", "renesas,r8a7795"
117 - Salvator-X (RTP0RC7796SIPB0011S)120 - Salvator-X (RTP0RC7796SIPB0011S)
Documentation/devicetree/bindings/arm/ti/k3.txt+23−0
@@ -0,0 +1,23 @@
1Texas Instruments K3 Multicore SoC architecture device tree bindings
2--------------------------------------------------------------------
3
4Platforms based on Texas Instruments K3 Multicore SoC architecture
5shall follow the following scheme:
6
7SoCs
8----
9
10Each device tree root node must specify which exact SoC in K3 Multicore SoC
11architecture it uses, using one of the following compatible values:
12
13- AM654
14 compatible = "ti,am654";
15
16Boards
17------
18
19In addition, each device tree root node must specify which one or more
20of the following board-specific compatible values:
21
22- AM654 EVM
23 compatible = "ti,am654-evm", "ti,am654";
Documentation/devicetree/bindings/arm/xilinx.txt+25−5
@@ -8,18 +8,38 @@ Required root node properties: · 7 unmodified lines
8 8
9Additional compatible strings:9Additional compatible strings:
10 10
11- Xilinx internal board cc10811- Adapteva Parallella board
12 "adapteva,parallella"
13
14- Avnet MicroZed board
15 "avnet,zynq-microzed"
16 "xlnx,zynq-microzed"
17
18- Avnet ZedBoard board
19 "avnet,zynq-zed"
20 "xlnx,zynq-zed"
21
22- Digilent Zybo board
23 "digilent,zynq-zybo"
24
25- Digilent Zybo Z7 board
26 "digilent,zynq-zybo-z7"
27
28- Xilinx CC108 internal board
12 "xlnx,zynq-cc108"29 "xlnx,zynq-cc108"
13 30
14- Xilinx internal board zc770 with different FMC cards31- Xilinx ZC702 internal board
32 "xlnx,zynq-zc702"
33
34- Xilinx ZC706 internal board
35 "xlnx,zynq-zc706"
36
37- Xilinx ZC770 internal board, with different FMC cards
15 "xlnx,zynq-zc770-xm010"38 "xlnx,zynq-zc770-xm010"
16 "xlnx,zynq-zc770-xm011"39 "xlnx,zynq-zc770-xm011"
17 "xlnx,zynq-zc770-xm012"40 "xlnx,zynq-zc770-xm012"
18 "xlnx,zynq-zc770-xm013"41 "xlnx,zynq-zc770-xm013"
19 42
20- Digilent Zybo Z7 board
21 "digilent,zynq-zybo-z7"
22
23---------------------------------------------------------------43---------------------------------------------------------------
24 44
25Xilinx Zynq UltraScale+ MPSoC Platforms Device Tree Bindings45Xilinx Zynq UltraScale+ MPSoC Platforms Device Tree Bindings
Documentation/devicetree/bindings/ata/ahci-platform.txt+1−1
@@ -17,7 +17,6 @@ Required properties: · 16 unmodified lines
17 - "marvell,armada-380-ahci"17 - "marvell,armada-380-ahci"
18 - "marvell,armada-3700-ahci"18 - "marvell,armada-3700-ahci"
19 - "snps,dwc-ahci"19 - "snps,dwc-ahci"
20 - "snps,exynos5440-ahci"
21 - "snps,spear-ahci"20 - "snps,spear-ahci"
22 - "generic-ahci"21 - "generic-ahci"
23- interrupts : <interrupt mapping for SATA IRQ>22- interrupts : <interrupt mapping for SATA IRQ>
@@ -30,6 +29,7 @@ compatible: · 6 unmodified lines
30Optional properties:29Optional properties:
31- dma-coherent : Present if dma operations are coherent30- dma-coherent : Present if dma operations are coherent
32- clocks : a list of phandle + clock specifier pairs31- clocks : a list of phandle + clock specifier pairs
32- resets : a list of phandle + reset specifier pairs
33- target-supply : regulator for SATA target power33- target-supply : regulator for SATA target power
34- phys : reference to the SATA PHY node34- phys : reference to the SATA PHY node
35- phy-names : must be "sata-phy"35- phy-names : must be "sata-phy"
Documentation/devicetree/bindings/ata/fsl-sata.txt+0−1
@@ -16,7 +16,6 @@ Required properties: · 15 unmodified lines
16 4 for controller @ 0x1b00016 4 for controller @ 0x1b000
17 17
18Optional properties:18Optional properties:
19- interrupt-parent : optional, if needed for interrupt mapping
20- reg : <registers mapping>19- reg : <registers mapping>
21 20
22Example:21Example:
Documentation/devicetree/bindings/ata/pata-arasan.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: "arasan,cf-spear1340"4- compatible: "arasan,cf-spear1340"
5- reg: Address range of the CF registers5- reg: Address range of the CF registers
6- interrupt-parent: Should be the phandle for the interrupt controller
7 that services interrupts for this device
8- interrupt: Should contain the CF interrupt number6- interrupt: Should contain the CF interrupt number
9- clock-frequency: Interface clock rate, in Hz, one of7- clock-frequency: Interface clock rate, in Hz, one of
10 250000008 25000000
Documentation/devicetree/bindings/ata/sata_rcar.txt+1−0
@@ -8,6 +8,7 @@ Required properties: · 7 unmodified lines
8 - "renesas,sata-r8a7791" for R-Car M2-W8 - "renesas,sata-r8a7791" for R-Car M2-W
9 - "renesas,sata-r8a7793" for R-Car M2-N9 - "renesas,sata-r8a7793" for R-Car M2-N
10 - "renesas,sata-r8a7795" for R-Car H310 - "renesas,sata-r8a7795" for R-Car H3
11 - "renesas,sata-r8a77965" for R-Car M3-N
11 - "renesas,rcar-gen2-sata" for a generic R-Car Gen2 compatible device12 - "renesas,rcar-gen2-sata" for a generic R-Car Gen2 compatible device
12 - "renesas,rcar-gen3-sata" for a generic R-Car Gen3 compatible device13 - "renesas,rcar-gen3-sata" for a generic R-Car Gen3 compatible device
13 - "renesas,rcar-sata" is deprecated14 - "renesas,rcar-sata" is deprecated
Documentation/devicetree/bindings/board/fsl-board.txt+0−1
@@ -29,7 +29,6 @@ Required properties: · 28 unmodified lines
29- reg: should contain the address and the length of the FPGA register set.29- reg: should contain the address and the length of the FPGA register set.
30 30
31Optional properties:31Optional properties:
32- interrupt-parent: should specify phandle for the interrupt controller.
33- interrupts: should specify event (wakeup) IRQ.32- interrupts: should specify event (wakeup) IRQ.
34 33
35Example (P1022DS):34Example (P1022DS):
Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt+0−2
@@ -9,8 +9,6 @@ Required properties: · 8 unmodified lines
9 "brcm,bcm7400-gisb-arb" for older 40nm chips and all 65nm chips9 "brcm,bcm7400-gisb-arb" for older 40nm chips and all 65nm chips
10 "brcm,bcm7038-gisb-arb" for 130nm chips10 "brcm,bcm7038-gisb-arb" for 130nm chips
11- reg: specifies the base physical address and size of the registers11- reg: specifies the base physical address and size of the registers
12- interrupt-parent: specifies the phandle to the parent interrupt controller
13 this arbiter gets interrupt line from
14- interrupts: specifies the two interrupts (timeout and TEA) to be used from12- interrupts: specifies the two interrupts (timeout and TEA) to be used from
15 the parent interrupt controller13 the parent interrupt controller
16 14
Documentation/devicetree/bindings/bus/sun50i-de2-bus.txt+37−0
@@ -0,0 +1,37 @@
1Device tree bindings for Allwinner A64 DE2 bus
2
3The Allwinner A64 DE2 is on a special bus, which needs a SRAM region (SRAM C)
4to be claimed for enabling the access.
5
6Required properties:
7
8 - compatible: Should contain "allwinner,sun50i-a64-de2"
9 - reg: A resource specifier for the register space
10 - #address-cells: Must be set to 1
11 - #size-cells: Must be set to 1
12 - ranges: Must be set up to map the address space inside the
13 DE2, for the sub-blocks of DE2.
14 - allwinner,sram: the SRAM that needs to be claimed
15
16Example:
17
18 de2@1000000 {
19 compatible = "allwinner,sun50i-a64-de2";
20 reg = <0x1000000 0x400000>;
21 allwinner,sram = <&de2_sram 1>;
22 #address-cells = <1>;
23 #size-cells = <1>;
24 ranges = <0 0x1000000 0x400000>;
25
26 display_clocks: clock@0 {
27 compatible = "allwinner,sun50i-a64-de2-clk";
28 reg = <0x0 0x100000>;
29 clocks = <&ccu CLK_DE>,
30 <&ccu CLK_BUS_DE>;
31 clock-names = "mod",
32 "bus";
33 resets = <&ccu RST_BUS_DE>;
34 #clock-cells = <1>;
35 #reset-cells = <1>;
36 };
37 };
Documentation/devicetree/bindings/bus/ti-sysc.txt+1−0
@@ -36,6 +36,7 @@ Required standard properties: · 35 unmodified lines
36 "ti,sysc-omap-aes"36 "ti,sysc-omap-aes"
37 "ti,sysc-mcasp"37 "ti,sysc-mcasp"
38 "ti,sysc-usb-host-fs"38 "ti,sysc-usb-host-fs"
39 "ti,sysc-dra7-mcan"
39 40
40- reg shall have register areas implemented for the interconnect41- reg shall have register areas implemented for the interconnect
41 target module in question such as revision, sysc and syss42 target module in question such as revision, sysc and syss
Documentation/devicetree/bindings/clock/actions,owl-cmu.txtrenamed from Documentation/devicetree/bindings/clock/actions,s900-cmu.txt+11−9
@@ -1,12 +1,14 @@
1* Actions S900 Clock Management Unit (CMU)1* Actions Semi Owl Clock Management Unit (CMU)
2 2
3The Actions S900 clock management unit generates and supplies clock to various3The Actions Semi Owl Clock Management Unit generates and supplies clock
4controllers within the SoC. The clock binding described here is applicable to4to various controllers within the SoC. The clock binding described here is
5S900 SoC.5applicable to S900 and S700 SoC's.
6 6
7Required Properties:7Required Properties:
8 8
9- compatible: should be "actions,s900-cmu"9- compatible: should be one of the following,
10 "actions,s900-cmu"
11 "actions,s700-cmu"
10- reg: physical base address of the controller and length of memory mapped12- reg: physical base address of the controller and length of memory mapped
11 region.13 region.
12- clocks: Reference to the parent clocks ("hosc", "losc")14- clocks: Reference to the parent clocks ("hosc", "losc")
@@ -15,16 +17,16 @@ Required Properties: · 2 unmodified lines
15Each clock is assigned an identifier, and client nodes can use this identifier17Each clock is assigned an identifier, and client nodes can use this identifier
16to specify the clock which they consume.18to specify the clock which they consume.
17 19
18All available clocks are defined as preprocessor macros in20All available clocks are defined as preprocessor macros in corresponding
19dt-bindings/clock/actions,s900-cmu.h header and can be used in device21dt-bindings/clock/actions,s900-cmu.h or actions,s700-cmu.h header and can be
20tree sources.22used in device tree sources.
21 23
22External clocks:24External clocks:
23 25
24The hosc clock used as input for the plls is generated outside the SoC. It is26The hosc clock used as input for the plls is generated outside the SoC. It is
25expected that it is defined using standard clock bindings as "hosc".27expected that it is defined using standard clock bindings as "hosc".
26 28
27Actions S900 CMU also requires one more clock:29Actions Semi S900 CMU also requires one more clock:
28 - "losc" - internal low frequency oscillator30 - "losc" - internal low frequency oscillator
29 31
30Example: Clock Management Unit node:32Example: Clock Management Unit node:
Documentation/devicetree/bindings/clock/amlogic,axg-audio-clkc.txt+56−0
@@ -0,0 +1,56 @@
1* Amlogic AXG Audio Clock Controllers
2
3The Amlogic AXG audio clock controller generates and supplies clock to the
4other elements of the audio subsystem, such as fifos, i2s, spdif and pdm
5devices.
6
7Required Properties:
8
9- compatible : should be "amlogic,axg-audio-clkc" for the A113X and A113D
10- reg : physical base address of the clock controller and length of
11 memory mapped region.
12- clocks : a list of phandle + clock-specifier pairs for the clocks listed
13 in clock-names.
14- clock-names : must contain the following:
15 * "pclk" - Main peripheral bus clock
16 may contain the following:
17 * "mst_in[0-7]" - 8 input plls to generate clock signals
18 * "slv_sclk[0-9]" - 10 slave bit clocks provided by external
19 components.
20 * "slv_lrclk[0-9]" - 10 slave sample clocks provided by external
21 components.
22- resets : phandle of the internal reset line
23- #clock-cells : should be 1.
24
25Each clock is assigned an identifier and client nodes can use this identifier
26to specify the clock which they consume. All available clocks are defined as
27preprocessor macros in the dt-bindings/clock/axg-audio-clkc.h header and can be
28used in device tree sources.
29
30Example:
31
32clkc_audio: clock-controller@0 {
33 compatible = "amlogic,axg-audio-clkc";
34 reg = <0x0 0x0 0x0 0xb4>;
35 #clock-cells = <1>;
36
37 clocks = <&clkc CLKID_AUDIO>,
38 <&clkc CLKID_MPLL0>,
39 <&clkc CLKID_MPLL1>,
40 <&clkc CLKID_MPLL2>,
41 <&clkc CLKID_MPLL3>,
42 <&clkc CLKID_HIFI_PLL>,
43 <&clkc CLKID_FCLK_DIV3>,
44 <&clkc CLKID_FCLK_DIV4>,
45 <&clkc CLKID_GP0_PLL>;
46 clock-names = "pclk",
47 "mst_in0",
48 "mst_in1",
49 "mst_in2",
50 "mst_in3",
51 "mst_in4",
52 "mst_in5",
53 "mst_in6",
54 "mst_in7";
55 resets = <&reset RESET_AUDIO>;
56};
Documentation/devicetree/bindings/clock/at91-clock.txt+39−12
@@ -17,14 +17,13 @@ Required properties: · 16 unmodified lines
17 "atmel,at91sam9x5-clk-slow-rc-osc":17 "atmel,at91sam9x5-clk-slow-rc-osc":
18 at91 internal slow RC oscillator18 at91 internal slow RC oscillator
19 19
20 "atmel,at91rm9200-pmc" or20 "atmel,<chip>-pmc":
21 "atmel,at91sam9g45-pmc" or
22 "atmel,at91sam9n12-pmc" or
23 "atmel,at91sam9x5-pmc" or
24 "atmel,sama5d3-pmc":
25 at91 PMC (Power Management Controller)21 at91 PMC (Power Management Controller)
26 All at91 specific clocks (clocks defined below) must be child22 All at91 specific clocks (clocks defined below) must be child
27 node of the PMC node.23 node of the PMC node.
24 <chip> can be: at91rm9200, at91sam9260, at91sam9261,
25 at91sam9263, at91sam9g45, at91sam9n12, at91sam9rl, at91sam9x5,
26 sama5d2, sama5d3 or sama5d4.
28 27
29 "atmel,at91sam9x5-clk-slow" (under sckc node)28 "atmel,at91sam9x5-clk-slow" (under sckc node)
30 or29 or
@@ -91,6 +90,9 @@ Required properties: · 60 unmodified lines
91 at91 audio pll output on AUDIOPLLCLK that feeds the PMC90 at91 audio pll output on AUDIOPLLCLK that feeds the PMC
92 and can be used by peripheral clock or generic clock91 and can be used by peripheral clock or generic clock
93 92
93 "atmel,sama5d2-clk-i2s-mux" (under pmc node):
94 at91 I2S clock source selection
95
94Required properties for SCKC node:96Required properties for SCKC node:
95- reg : defines the IO memory reserved for the SCKC.97- reg : defines the IO memory reserved for the SCKC.
96- #size-cells : shall be 0 (reg is used to encode clk id).98- #size-cells : shall be 0 (reg is used to encode clk id).
@@ -180,7 +182,6 @@ For example: · 83 unmodified lines
180 };182 };
181 183
182Required properties for main clock internal RC oscillator:184Required properties for main clock internal RC oscillator:
183- interrupt-parent : must reference the PMC node.
184- interrupts : shall be set to "<0>".185- interrupts : shall be set to "<0>".
185- clock-frequency : define the internal RC oscillator frequency.186- clock-frequency : define the internal RC oscillator frequency.
186 187
@@ -197,7 +198,6 @@ For example: · 10 unmodified lines
197 };198 };
198 199
199Required properties for main clock oscillator:200Required properties for main clock oscillator:
200- interrupt-parent : must reference the PMC node.
201- interrupts : shall be set to "<0>".201- interrupts : shall be set to "<0>".
202- #clock-cells : from common clock binding; shall be set to 0.202- #clock-cells : from common clock binding; shall be set to 0.
203- clocks : shall encode the main osc source clk sources (see atmel datasheet).203- clocks : shall encode the main osc source clk sources (see atmel datasheet).
@@ -218,7 +218,6 @@ For example: · 14 unmodified lines
218 };218 };
219 219
220Required properties for main clock:220Required properties for main clock:
221- interrupt-parent : must reference the PMC node.
222- interrupts : shall be set to "<0>".221- interrupts : shall be set to "<0>".
223- #clock-cells : from common clock binding; shall be set to 0.222- #clock-cells : from common clock binding; shall be set to 0.
224- clocks : shall encode the main clk sources (see atmel datasheet).223- clocks : shall encode the main clk sources (see atmel datasheet).
@@ -233,7 +232,6 @@ For example: · 8 unmodified lines
233 };232 };
234 233
235Required properties for master clock:234Required properties for master clock:
236- interrupt-parent : must reference the PMC node.
237- interrupts : shall be set to "<3>".235- interrupts : shall be set to "<3>".
238- #clock-cells : from common clock binding; shall be set to 0.236- #clock-cells : from common clock binding; shall be set to 0.
239- clocks : shall be the master clock sources (see atmel datasheet) phandles.237- clocks : shall be the master clock sources (see atmel datasheet) phandles.
@@ -292,7 +290,6 @@ For example: · 52 unmodified lines
292 290
293 291
294Required properties for pll clocks:292Required properties for pll clocks:
295- interrupt-parent : must reference the PMC node.
296- interrupts : shall be set to "<1>".293- interrupts : shall be set to "<1>".
297- #clock-cells : from common clock binding; shall be set to 0.294- #clock-cells : from common clock binding; shall be set to 0.
298- clocks : shall be the main clock phandle.295- clocks : shall be the main clock phandle.
@@ -348,7 +345,6 @@ For example: · 49 unmodified lines
348 };345 };
349 346
350Required properties for programmable clocks:347Required properties for programmable clocks:
351- interrupt-parent : must reference the PMC node.
352- #size-cells : shall be 0 (reg is used to encode clk id).348- #size-cells : shall be 0 (reg is used to encode clk id).
353- #address-cells : shall be 1 (reg is used to encode clk id).349- #address-cells : shall be 1 (reg is used to encode clk id).
354- clocks : shall be the programmable clock source phandles.350- clocks : shall be the programmable clock source phandles.
@@ -451,7 +447,6 @@ For example: · 96 unmodified lines
451 447
452 448
453Required properties for utmi clock:449Required properties for utmi clock:
454- interrupt-parent : must reference the PMC node.
455- interrupts : shall be set to "<AT91_PMC_LOCKU IRQ_TYPE_LEVEL_HIGH>".450- interrupts : shall be set to "<AT91_PMC_LOCKU IRQ_TYPE_LEVEL_HIGH>".
456- #clock-cells : from common clock binding; shall be set to 0.451- #clock-cells : from common clock binding; shall be set to 0.
457- clocks : shall be the main clock source phandle.452- clocks : shall be the main clock source phandle.
@@ -507,3 +502,35 @@ For example: · 49 unmodified lines
507 atmel,clk-output-range = <0 83000000>;502 atmel,clk-output-range = <0 83000000>;
508 };503 };
509 };504 };
505
506Required properties for I2S mux clocks:
507- #size-cells : shall be 0 (reg is used to encode I2S bus id).
508- #address-cells : shall be 1 (reg is used to encode I2S bus id).
509- name: device tree node describing a specific mux clock.
510 * #clock-cells : from common clock binding; shall be set to 0.
511 * clocks : shall be the mux clock parent phandles; shall be 2 phandles:
512 peripheral and generated clock; the first phandle shall belong to the
513 peripheral clock and the second one shall belong to the generated
514 clock; "clock-indices" property can be user to specify
515 the correct order.
516 * reg: I2S bus id of the corresponding mux clock.
517 e.g. reg = <0>; for i2s0, reg = <1>; for i2s1
518
519For example:
520 i2s_clkmux {
521 compatible = "atmel,sama5d2-clk-i2s-mux";
522 #address-cells = <1>;
523 #size-cells = <0>;
524
525 i2s0muxck: i2s0_muxclk {
526 clocks = <&i2s0_clk>, <&i2s0_gclk>;
527 #clock-cells = <0>;
528 reg = <0>;
529 };
530
531 i2s1muxck: i2s1_muxclk {
532 clocks = <&i2s1_clk>, <&i2s1_gclk>;
533 #clock-cells = <0>;
534 reg = <1>;
535 };
536 };
Documentation/devicetree/bindings/clock/exynos5440-clock.txt+0−28
@@ -1,28 +0,0 @@
1* Samsung Exynos5440 Clock Controller
2
3The Exynos5440 clock controller generates and supplies clock to various
4controllers within the Exynos5440 SoC.
5
6Required Properties:
7
8- compatible: should be "samsung,exynos5440-clock".
9
10- reg: physical base address of the controller and length of memory mapped
11 region.
12
13- #clock-cells: should be 1.
14
15Each clock is assigned an identifier and client nodes can use this identifier
16to specify the clock which they consume.
17
18All available clocks are defined as preprocessor macros in
19dt-bindings/clock/exynos5440.h header and can be used in device
20tree sources.
21
22Example: An example of a clock controller node is listed below.
23
24 clock: clock-controller@10010000 {
25 compatible = "samsung,exynos5440-clock";
26 reg = <0x160000 0x10000>;
27 #clock-cells = <1>;
28 };
Documentation/devicetree/bindings/clock/maxim,max9485.txt+59−0
@@ -0,0 +1,59 @@
1Devicetree bindings for Maxim MAX9485 Programmable Audio Clock Generator
2
3This device exposes 4 clocks in total:
4
5- MAX9485_MCLKOUT: A gated, buffered output of the input clock of 27 MHz
6- MAX9485_CLKOUT: A PLL that can be configured to 16 different discrete
7 frequencies
8- MAX9485_CLKOUT[1,2]: Two gated outputs for MAX9485_CLKOUT
9
10MAX9485_CLKOUT[1,2] are children of MAX9485_CLKOUT which upchain all rate set
11requests.
12
13Required properties:
14- compatible: "maxim,max9485"
15- clocks: Input clock, must provice 27.000 MHz
16- clock-names: Must be set to "xclk"
17- #clock-cells: From common clock binding; shall be set to 1
18
19Optional properties:
20- reset-gpios: GPIO descriptor connected to the #RESET input pin
21- vdd-supply: A regulator node for Vdd
22- clock-output-names: Name of output clocks, as defined in common clock
23 bindings
24
25If not explicitly set, the output names are "mclkout", "clkout", "clkout1"
26and "clkout2".
27
28Clocks are defined as preprocessor macros in the dt-binding header.
29
30Example:
31
32 #include <dt-bindings/clock/maxim,max9485.h>
33
34 xo-27mhz: xo-27mhz {
35 compatible = "fixed-clock";
36 #clock-cells = <0>;
37 clock-frequency = <27000000>;
38 };
39
40 &i2c0 {
41 max9485: audio-clock@63 {
42 reg = <0x63>;
43 compatible = "maxim,max9485";
44 clock-names = "xclk";
45 clocks = <&xo-27mhz>;
46 reset-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
47 vdd-supply = <&3v3-reg>;
48 #clock-cells = <1>;
49 };
50 };
51
52 // Clock consumer node
53
54 foo@0 {
55 compatible = "bar,foo";
56 /* ... */
57 clock-names = "foo-input-clk";
58 clocks = <&max9485 MAX9485_CLKOUT1>;
59 };
Documentation/devicetree/bindings/clock/qcom,dispcc.txt+19−0
@@ -0,0 +1,19 @@
1Qualcomm Technologies, Inc. Display Clock Controller Binding
2------------------------------------------------------------
3
4Required properties :
5
6- compatible : shall contain "qcom,sdm845-dispcc"
7- reg : shall contain base register location and length.
8- #clock-cells : from common clock binding, shall contain 1.
9- #reset-cells : from common reset binding, shall contain 1.
10- #power-domain-cells : from generic power domain binding, shall contain 1.
11
12Example:
13 dispcc: clock-controller@af00000 {
14 compatible = "qcom,sdm845-dispcc";
15 reg = <0xaf00000 0x100000>;
16 #clock-cells = <1>;
17 #reset-cells = <1>;
18 #power-domain-cells = <1>;
19 };
Documentation/devicetree/bindings/clock/renesas,r9a06g032-sysctrl.txt+43−0
@@ -0,0 +1,43 @@
1* Renesas R9A06G032 SYSCTRL
2
3Required Properties:
4
5 - compatible: Must be:
6 - "renesas,r9a06g032-sysctrl"
7 - reg: Base address and length of the SYSCTRL IO block.
8 - #clock-cells: Must be 1
9 - clocks: References to the parent clocks:
10 - external 40mhz crystal.
11 - external (optional) 32.768khz
12 - external (optional) jtag input
13 - external (optional) RGMII_REFCLK
14 - clock-names: Must be:
15 clock-names = "mclk", "rtc", "jtag", "rgmii_ref_ext";
16
17Examples
18--------
19
20 - SYSCTRL node:
21
22 sysctrl: system-controller@4000c000 {
23 compatible = "renesas,r9a06g032-sysctrl";
24 reg = <0x4000c000 0x1000>;
25 #clock-cells = <1>;
26
27 clocks = <&ext_mclk>, <&ext_rtc_clk>,
28 <&ext_jtag_clk>, <&ext_rgmii_ref>;
29 clock-names = "mclk", "rtc", "jtag", "rgmii_ref_ext";
30 };
31
32 - Other nodes can use the clocks provided by SYSCTRL as in:
33
34 #include <dt-bindings/clock/r9a06g032-sysctrl.h>
35 uart0: serial@40060000 {
36 compatible = "snps,dw-apb-uart";
37 reg = <0x40060000 0x400>;
38 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
39 reg-shift = <2>;
40 reg-io-width = <4>;
41 clocks = <&sysctrl R9A06G032_CLK_UART0>;
42 clock-names = "baudclk";
43 };
Documentation/devicetree/bindings/clock/rockchip,px30-cru.txt+65−0
@@ -0,0 +1,65 @@
1* Rockchip PX30 Clock and Reset Unit
2
3The PX30 clock controller generates and supplies clock to various
4controllers within the SoC and also implements a reset controller for SoC
5peripherals.
6
7Required Properties:
8
9- compatible: PMU for CRU should be "rockchip,px30-pmu-cru"
10- compatible: CRU should be "rockchip,px30-cru"
11- reg: physical base address of the controller and length of memory mapped
12 region.
13- #clock-cells: should be 1.
14- #reset-cells: should be 1.
15
16Optional Properties:
17
18- rockchip,grf: phandle to the syscon managing the "general register files"
19 If missing, pll rates are not changeable, due to the missing pll lock status.
20
21Each clock is assigned an identifier and client nodes can use this identifier
22to specify the clock which they consume. All available clocks are defined as
23preprocessor macros in the dt-bindings/clock/px30-cru.h headers and can be
24used in device tree sources. Similar macros exist for the reset sources in
25these files.
26
27External clocks:
28
29There are several clocks that are generated outside the SoC. It is expected
30that they are defined using standard clock bindings with following
31clock-output-names:
32 - "xin24m" - crystal input - required,
33 - "xin32k" - rtc clock - optional,
34 - "i2sx_clkin" - external I2S clock - optional,
35 - "gmac_clkin" - external GMAC clock - optional
36
37Example: Clock controller node:
38
39 pmucru: clock-controller@ff2bc000 {
40 compatible = "rockchip,px30-pmucru";
41 reg = <0x0 0xff2bc000 0x0 0x1000>;
42 #clock-cells = <1>;
43 #reset-cells = <1>;
44 };
45
46 cru: clock-controller@ff2b0000 {
47 compatible = "rockchip,px30-cru";
48 reg = <0x0 0xff2b0000 0x0 0x1000>;
49 rockchip,grf = <&grf>;
50 #clock-cells = <1>;
51 #reset-cells = <1>;
52 };
53
54Example: UART controller node that consumes the clock generated by the clock
55 controller:
56
57 uart0: serial@ff030000 {
58 compatible = "rockchip,px30-uart", "snps,dw-apb-uart";
59 reg = <0x0 0xff030000 0x0 0x100>;
60 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
61 clocks = <&pmucru SCLK_UART0_PMU>, <&pmucru PCLK_UART0_PMU>;
62 clock-names = "baudclk", "apb_pclk";
63 reg-shift = <2>;
64 reg-io-width = <4>;
65 };
Documentation/devicetree/bindings/clock/sun8i-de2.txt+1−0
@@ -6,6 +6,7 @@ Required properties : · 5 unmodified lines
6 - "allwinner,sun8i-a83t-de2-clk"6 - "allwinner,sun8i-a83t-de2-clk"
7 - "allwinner,sun8i-h3-de2-clk"7 - "allwinner,sun8i-h3-de2-clk"
8 - "allwinner,sun8i-v3s-de2-clk"8 - "allwinner,sun8i-v3s-de2-clk"
9 - "allwinner,sun50i-a64-de2-clk"
9 - "allwinner,sun50i-h5-de2-clk"10 - "allwinner,sun50i-h5-de2-clk"
10 11
11- reg: Must contain the registers base address and length12- reg: Must contain the registers base address and length
Documentation/devicetree/bindings/connector/usb-connector.txt+44−0
@@ -15,6 +15,33 @@ Optional properties: · 14 unmodified lines
15- type: size of the connector, should be specified in case of USB-A, USB-B15- type: size of the connector, should be specified in case of USB-A, USB-B
16 non-fullsize connectors: "mini", "micro".16 non-fullsize connectors: "mini", "micro".
17 17
18Optional properties for usb-c-connector:
19- power-role: should be one of "source", "sink" or "dual"(DRP) if typec
20 connector has power support.
21- try-power-role: preferred power role if "dual"(DRP) can support Try.SNK
22 or Try.SRC, should be "sink" for Try.SNK or "source" for Try.SRC.
23- data-role: should be one of "host", "device", "dual"(DRD) if typec
24 connector supports USB data.
25
26Required properties for usb-c-connector with power delivery support:
27- source-pdos: An array of u32 with each entry providing supported power
28 source data object(PDO), the detailed bit definitions of PDO can be found
29 in "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.2
30 Source_Capabilities Message, the order of each entry(PDO) should follow
31 the PD spec chapter 6.4.1. Required for power source and power dual role.
32 User can specify the source PDO array via PDO_FIXED/BATT/VAR() defined in
33 dt-bindings/usb/pd.h.
34- sink-pdos: An array of u32 with each entry providing supported power
35 sink data object(PDO), the detailed bit definitions of PDO can be found
36 in "Universal Serial Bus Power Delivery Specification" chapter 6.4.1.3
37 Sink Capabilities Message, the order of each entry(PDO) should follow
38 the PD spec chapter 6.4.1. Required for power sink and power dual role.
39 User can specify the sink PDO array via PDO_FIXED/BATT/VAR() defined in
40 dt-bindings/usb/pd.h.
41- op-sink-microwatt: Sink required operating power in microwatt, if source
42 can't offer the power, Capability Mismatch is set. Required for power
43 sink and power dual role.
44
18Required nodes:45Required nodes:
19- any data bus to the connector should be modeled using the OF graph bindings46- any data bus to the connector should be modeled using the OF graph bindings
20 specified in bindings/graph.txt, unless the bus is between parent node and47 specified in bindings/graph.txt, unless the bus is between parent node and
@@ -73,3 +100,20 @@ ccic: s2mm005@33 { · 52 unmodified lines
73 };100 };
74 };101 };
75};102};
103
1043. USB-C connector attached to a typec port controller(ptn5110), which has
105power delivery support and enables drp.
106
107typec: ptn5110@50 {
108 ...
109 usb_con: connector {
110 compatible = "usb-c-connector";
111 label = "USB-C";
112 power-role = "dual";
113 try-power-role = "sink";
114 source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)>;
115 sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)
116 PDO_VAR(5000, 12000, 2000)>;
117 op-sink-microwatt = <10000000>;
118 };
119};
Documentation/devicetree/bindings/cpufreq/brcm,stb-avs-cpu-freq.txt+0−2
@@ -29,8 +29,6 @@ Required properties: · 28 unmodified lines
29- reg: Specifies base physical address and size of the registers.29- reg: Specifies base physical address and size of the registers.
30- interrupts: The interrupt that the AVS CPU will use to interrupt the host30- interrupts: The interrupt that the AVS CPU will use to interrupt the host
31 when a command completed.31 when a command completed.
32- interrupt-parent: The interrupt controller the above interrupt is routed
33 through.
34- interrupt-names: The name of the interrupt used to interrupt the host.32- interrupt-names: The name of the interrupt used to interrupt the host.
35 33
36Optional properties:34Optional properties:
Documentation/devicetree/bindings/cpufreq/cpufreq-exynos5440.txt+0−28
@@ -1,28 +0,0 @@
1
2Exynos5440 cpufreq driver
3-------------------
4
5Exynos5440 SoC cpufreq driver for CPU frequency scaling.
6
7Required properties:
8- interrupts: Interrupt to know the completion of cpu frequency change.
9- operating-points: Table of frequencies and voltage CPU could be transitioned into,
10 in the decreasing order. Frequency should be in KHz units and voltage
11 should be in microvolts.
12
13Optional properties:
14- clock-latency: Clock monitor latency in microsecond.
15
16All the required listed above must be defined under node cpufreq.
17
18Example:
19--------
20 cpufreq@160000 {
21 compatible = "samsung,exynos5440-cpufreq";
22 reg = <0x160000 0x1000>;
23 interrupts = <0 57 0>;
24 operating-points = <
25 1000000 975000
26 800000 925000>;
27 clock-latency = <100000>;
28 };
Documentation/devicetree/bindings/crypto/amd-ccp.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: Should be "amd,ccp-seattle-v1a"4- compatible: Should be "amd,ccp-seattle-v1a"
5- reg: Address and length of the register set for the device5- reg: Address and length of the register set for the device
6- interrupt-parent: Should be the phandle for the interrupt controller
7 that services interrupts for this device
8- interrupts: Should contain the CCP interrupt6- interrupts: Should contain the CCP interrupt
9 7
10Optional properties:8Optional properties:
Documentation/devicetree/bindings/crypto/arm-cryptocell.txt+0−2
@@ -7,8 +7,6 @@ Required properties: · 6 unmodified lines
7- interrupts: Interrupt number for the device.7- interrupts: Interrupt number for the device.
8 8
9Optional properties:9Optional properties:
10- interrupt-parent: The phandle for the interrupt controller that services
11 interrupts for this device.
12- clocks: Reference to the crypto engine clock.10- clocks: Reference to the crypto engine clock.
13- dma-coherent: Present if dma operations are coherent.11- dma-coherent: Present if dma operations are coherent.
14 12
Documentation/devicetree/bindings/crypto/fsl-sec2.txt+0−5
@@ -50,11 +50,6 @@ remaining bits are reserved for future SEC EUs. · 49 unmodified lines
50 50
51 ..and so on and so forth.51 ..and so on and so forth.
52 52
53Optional properties:
54
55- interrupt-parent : the phandle for the interrupt controller that
56 services interrupts for this device.
57
58Example:53Example:
59 54
60 /* MPC8548E */55 /* MPC8548E */
Documentation/devicetree/bindings/crypto/fsl-sec4.txt+0−21
@@ -99,13 +99,6 @@ PROPERTIES · 98 unmodified lines
99 of the specifier is defined by the binding document99 of the specifier is defined by the binding document
100 describing the node's interrupt parent.100 describing the node's interrupt parent.
101 101
102 - interrupt-parent
103 Usage: (required if interrupt property is defined)
104 Value type: <phandle>
105 Definition: A single <phandle> value that points
106 to the interrupt parent to which the child domain
107 is being mapped.
108
109 - clocks102 - clocks
110 Usage: required if SEC 4.0 requires explicit enablement of clocks103 Usage: required if SEC 4.0 requires explicit enablement of clocks
111 Value type: <prop_encoded-array>104 Value type: <prop_encoded-array>
@@ -199,13 +192,6 @@ Job Ring (JR) Node · 87 unmodified lines
199 of the specifier is defined by the binding document192 of the specifier is defined by the binding document
200 describing the node's interrupt parent.193 describing the node's interrupt parent.
201 194
202 - interrupt-parent
203 Usage: (required if interrupt property is defined)
204 Value type: <phandle>
205 Definition: A single <phandle> value that points
206 to the interrupt parent to which the child domain
207 is being mapped.
208
209EXAMPLE195EXAMPLE
210 jr@1000 {196 jr@1000 {
211 compatible = "fsl,sec-v4.0-job-ring";197 compatible = "fsl,sec-v4.0-job-ring";
@@ -370,13 +356,6 @@ Secure Non-Volatile Storage (SNVS) Node · 158 unmodified lines
370 of the specifier is defined by the binding document356 of the specifier is defined by the binding document
371 describing the node's interrupt parent.357 describing the node's interrupt parent.
372 358
373 - interrupt-parent
374 Usage: (required if interrupt property is defined)
375 Value type: <phandle>
376 Definition: A single <phandle> value that points
377 to the interrupt parent to which the child domain
378 is being mapped.
379
380EXAMPLE359EXAMPLE
381 sec_mon@314000 {360 sec_mon@314000 {
382 compatible = "fsl,sec-v4.0-mon", "syscon";361 compatible = "fsl,sec-v4.0-mon", "syscon";
Documentation/devicetree/bindings/crypto/hisilicon,hip07-sec.txt+67−0
@@ -0,0 +1,67 @@
1* Hisilicon hip07 Security Accelerator (SEC)
2
3Required properties:
4- compatible: Must contain one of
5 - "hisilicon,hip06-sec"
6 - "hisilicon,hip07-sec"
7- reg: Memory addresses and lengths of the memory regions through which
8 this device is controlled.
9 Region 0 has registers to control the backend processing engines.
10 Region 1 has registers for functionality common to all queues.
11 Regions 2-18 have registers for the 16 individual queues which are isolated
12 both in hardware and within the driver.
13- interrupts: Interrupt specifiers.
14 Refer to interrupt-controller/interrupts.txt for generic interrupt client node
15 bindings.
16 Interrupt 0 is for the SEC unit error queue.
17 Interrupt 2N + 1 is the completion interrupt for queue N.
18 Interrupt 2N + 2 is the error interrupt for queue N.
19- dma-coherent: The driver assumes coherent dma is possible.
20
21Optional properties:
22- iommus: The SEC units are behind smmu-v3 iommus.
23 Refer to iommu/arm,smmu-v3.txt for more information.
24
25Example:
26
27p1_sec_a: crypto@400,d2000000 {
28 compatible = "hisilicon,hip07-sec";
29 reg = <0x400 0xd0000000 0x0 0x10000
30 0x400 0xd2000000 0x0 0x10000
31 0x400 0xd2010000 0x0 0x10000
32 0x400 0xd2020000 0x0 0x10000
33 0x400 0xd2030000 0x0 0x10000
34 0x400 0xd2040000 0x0 0x10000
35 0x400 0xd2050000 0x0 0x10000
36 0x400 0xd2060000 0x0 0x10000
37 0x400 0xd2070000 0x0 0x10000
38 0x400 0xd2080000 0x0 0x10000
39 0x400 0xd2090000 0x0 0x10000
40 0x400 0xd20a0000 0x0 0x10000
41 0x400 0xd20b0000 0x0 0x10000
42 0x400 0xd20c0000 0x0 0x10000
43 0x400 0xd20d0000 0x0 0x10000
44 0x400 0xd20e0000 0x0 0x10000
45 0x400 0xd20f0000 0x0 0x10000
46 0x400 0xd2100000 0x0 0x10000>;
47 interrupt-parent = <&p1_mbigen_sec_a>;
48 iommus = <&p1_smmu_alg_a 0x600>;
49 dma-coherent;
50 interrupts = <576 4>,
51 <577 1>, <578 4>,
52 <579 1>, <580 4>,
53 <581 1>, <582 4>,
54 <583 1>, <584 4>,
55 <585 1>, <586 4>,
56 <587 1>, <588 4>,
57 <589 1>, <590 4>,
58 <591 1>, <592 4>,
59 <593 1>, <594 4>,
60 <595 1>, <596 4>,
61 <597 1>, <598 4>,
62 <599 1>, <600 4>,
63 <601 1>, <602 4>,
64 <603 1>, <604 4>,
65 <605 1>, <606 4>,
66 <607 1>, <608 4>;
67};
Documentation/devicetree/bindings/crypto/inside-secure-safexcel.txt+12−3
@@ -1,8 +1,9 @@
1Inside Secure SafeXcel cryptographic engine1Inside Secure SafeXcel cryptographic engine
2 2
3Required properties:3Required properties:
4- compatible: Should be "inside-secure,safexcel-eip197" or4- compatible: Should be "inside-secure,safexcel-eip197b",
5 "inside-secure,safexcel-eip97".5 "inside-secure,safexcel-eip197d" or
6 "inside-secure,safexcel-eip97ies".
6- reg: Base physical address of the engine and length of memory mapped region.7- reg: Base physical address of the engine and length of memory mapped region.
7- interrupts: Interrupt numbers for the rings and engine.8- interrupts: Interrupt numbers for the rings and engine.
8- interrupt-names: Should be "ring0", "ring1", "ring2", "ring3", "eip", "mem".9- interrupt-names: Should be "ring0", "ring1", "ring2", "ring3", "eip", "mem".
@@ -14,10 +15,18 @@ Optional properties: · 5 unmodified lines
14 name must be "core" for the first clock and "reg" for15 name must be "core" for the first clock and "reg" for
15 the second one.16 the second one.
16 17
18Backward compatibility:
19Two compatibles are kept for backward compatibility, but shouldn't be used for
20new submissions:
21- "inside-secure,safexcel-eip197" is equivalent to
22 "inside-secure,safexcel-eip197b".
23- "inside-secure,safexcel-eip97" is equivalent to
24 "inside-secure,safexcel-eip97ies".
25
17Example:26Example:
18 27
19 crypto: crypto@800000 {28 crypto: crypto@800000 {
20 compatible = "inside-secure,safexcel-eip197";29 compatible = "inside-secure,safexcel-eip197b";
21 reg = <0x800000 0x200000>;30 reg = <0x800000 0x200000>;
22 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,31 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
23 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,32 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
Documentation/devicetree/bindings/crypto/picochip-spacc.txt+0−2
@@ -7,8 +7,6 @@ Required properties: · 6 unmodified lines
7 - compatible : "picochip,spacc-ipsec" for the IPSEC offload engine7 - compatible : "picochip,spacc-ipsec" for the IPSEC offload engine
8 "picochip,spacc-l2" for the femtocell layer 2 ciphering engine.8 "picochip,spacc-l2" for the femtocell layer 2 ciphering engine.
9 - reg : Offset and length of the register set for this device9 - reg : Offset and length of the register set for this device
10 - interrupt-parent : The interrupt controller that controls the SPAcc
11 interrupt.
12 - interrupts : The interrupt line from the SPAcc.10 - interrupts : The interrupt line from the SPAcc.
13 - ref-clock : The input clock that drives the SPAcc.11 - ref-clock : The input clock that drives the SPAcc.
14 12
Documentation/devicetree/bindings/crypto/qcom,prng.txtrenamed from Documentation/devicetree/bindings/rng/qcom,prng.txt+3−1
@@ -2,7 +2,9 @@ Qualcomm MSM pseudo random number generator. · 1 unmodified line
2 2
3Required properties:3Required properties:
4 4
5- compatible : should be "qcom,prng"5- compatible : should be "qcom,prng" for 8916 etc
6 : should be "qcom,prng-ee" for 8996 and later using EE
7 (Execution Environment) slice of prng
6- reg : specifies base physical address and size of the registers map8- reg : specifies base physical address and size of the registers map
7- clocks : phandle to clock-controller plus clock-specifier pair9- clocks : phandle to clock-controller plus clock-specifier pair
8- clock-names : "core" clocks all registers, FIFO and circuits in PRNG IP block10- clock-names : "core" clocks all registers, FIFO and circuits in PRNG IP block
Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt+108−103
@@ -1,14 +1,10 @@
1* Rockchip rk3399 DMC(Dynamic Memory Controller) device1* Rockchip rk3399 DMC (Dynamic Memory Controller) device
2 2
3Required properties:3Required properties:
4- compatible: Must be "rockchip,rk3399-dmc".4- compatible: Must be "rockchip,rk3399-dmc".
5- devfreq-events: Node to get DDR loading, Refer to5- devfreq-events: Node to get DDR loading, Refer to
6 Documentation/devicetree/bindings/devfreq/6 Documentation/devicetree/bindings/devfreq/event/
7 rockchip-dfi.txt7 rockchip-dfi.txt
8- interrupts: The interrupt number to the CPU. The interrupt
9 specifier format depends on the interrupt controller.
10 It should be DCF interrupts, when DDR dvfs finish,
11 it will happen.
12- clocks: Phandles for clock specified in "clock-names" property8- clocks: Phandles for clock specified in "clock-names" property
13- clock-names : The name of clock used by the DFI, must be9- clock-names : The name of clock used by the DFI, must be
14 "pclk_ddr_mon";10 "pclk_ddr_mon";
@@ -17,139 +13,148 @@ Required properties: · 2 unmodified lines
17- center-supply: DMC supply node.13- center-supply: DMC supply node.
18- status: Marks the node enabled/disabled.14- status: Marks the node enabled/disabled.
19 15
20Following properties are ddr timing:16Optional properties:
21 17- interrupts: The CPU interrupt number. The interrupt specifier
22- rockchip,dram_speed_bin : Value reference include/dt-bindings/clock/ddr.h,18 format depends on the interrupt controller.
23 it select ddr3 cl-trp-trcd type, default value19 It should be a DCF interrupt. When DDR DVFS finishes
24 "DDR3_DEFAULT".it must selected according to20 a DCF interrupt is triggered.
25 "Speed Bin" in ddr3 datasheet, DO NOT use21
26 smaller "Speed Bin" than ddr3 exactly is.22Following properties relate to DDR timing:
27 23
28- rockchip,pd_idle : Config the PD_IDLE value, defined the power-down24- rockchip,dram_speed_bin : Value reference include/dt-bindings/clock/rk3399-ddr.h,
29 idle period, memories are places into power-down25 it selects the DDR3 cl-trp-trcd type. It must be
30 mode if bus is idle for PD_IDLE DFI clocks.26 set according to "Speed Bin" in DDR3 datasheet,
31 27 DO NOT use a smaller "Speed Bin" than specified
32- rockchip,sr_idle : Configure the SR_IDLE value, defined the28 for the DDR3 being used.
33 selfrefresh idle period, memories are places29
34 into self-refresh mode if bus is idle for30- rockchip,pd_idle : Configure the PD_IDLE value. Defines the
35 SR_IDLE*1024 DFI clocks (DFI clocks freq is31 power-down idle period in which memories are
36 half of dram's clocks), defaule value is "0".32 placed into power-down mode if bus is idle
37 33 for PD_IDLE DFI clock cycles.
38- rockchip,sr_mc_gate_idle : Defined the self-refresh with memory and34
39 controller clock gating idle period, memories35- rockchip,sr_idle : Configure the SR_IDLE value. Defines the
40 are places into self-refresh mode and memory36 self-refresh idle period in which memories are
41 controller clock arg gating if bus is idle for37 placed into self-refresh mode if bus is idle
42 sr_mc_gate_idle*1024 DFI clocks.38 for SR_IDLE * 1024 DFI clock cycles (DFI
43 39 clocks freq is half of DRAM clock), default
44- rockchip,srpd_lite_idle : Defined the self-refresh power down idle40 value is "0".
45 period, memories are places into self-refresh41
46 power down mode if bus is idle for42- rockchip,sr_mc_gate_idle : Defines the memory self-refresh and controller
47 srpd_lite_idle*1024 DFI clocks. This parameter43 clock gating idle period. Memories are placed
48 is for LPDDR4 only.44 into self-refresh mode and memory controller
49 45 clock arg gating started if bus is idle for
50- rockchip,standby_idle : Defined the standby idle period, memories are46 sr_mc_gate_idle*1024 DFI clock cycles.
51 places into self-refresh than controller, pi,47
52 phy and dram clock will gating if bus is idle48- rockchip,srpd_lite_idle : Defines the self-refresh power down idle
53 for standby_idle * DFI clocks.49 period in which memories are placed into
54 50 self-refresh power down mode if bus is idle
55- rockchip,dram_dll_disb_freq : It's defined the DDR3 dll bypass frequency in51 for srpd_lite_idle * 1024 DFI clock cycles.
56 MHz, when ddr freq less than DRAM_DLL_DISB_FREQ,52 This parameter is for LPDDR4 only.
57 ddr3 dll will bypssed note: if dll was bypassed,53
58 the odt also stop working.54- rockchip,standby_idle : Defines the standby idle period in which
59 55 memories are placed into self-refresh mode.
60- rockchip,phy_dll_disb_freq : Defined the PHY dll bypass frequency in56 The controller, pi, PHY and DRAM clock will
61 MHz (Mega Hz), when ddr freq less than57 be gated if bus is idle for standby_idle * DFI
62 DRAM_DLL_DISB_FREQ, phy dll will bypssed.58 clock cycles.
63 note: phy dll and phy odt are independent.59
64 60- rockchip,dram_dll_dis_freq : Defines the DDR3 DLL bypass frequency in MHz.
65- rockchip,ddr3_odt_disb_freq : When dram type is DDR3, this parameter defined61 When DDR frequency is less than DRAM_DLL_DISB_FREQ,
66 the odt disable frequency in MHz (Mega Hz),62 DDR3 DLL will be bypassed. Note: if DLL was bypassed,
67 when ddr frequency less then ddr3_odt_disb_freq,63 the odt will also stop working.
68 the odt on dram side and controller side are64
65- rockchip,phy_dll_dis_freq : Defines the PHY dll bypass frequency in
66 MHz (Mega Hz). When DDR frequency is less than
67 DRAM_DLL_DISB_FREQ, PHY DLL will be bypassed.
68 Note: PHY DLL and PHY ODT are independent.
69
70- rockchip,ddr3_odt_dis_freq : When the DRAM type is DDR3, this parameter defines
71 the ODT disable frequency in MHz (Mega Hz).
72 when the DDR frequency is less then ddr3_odt_dis_freq,
73 the ODT on the DRAM side and controller side are
69 both disabled.74 both disabled.
70 75
71- rockchip,ddr3_drv : When dram type is DDR3, this parameter define76- rockchip,ddr3_drv : When the DRAM type is DDR3, this parameter defines
72 the dram side driver stength in ohm, default77 the DRAM side driver strength in ohms. Default
73 value is DDR3_DS_40ohm.78 value is DDR3_DS_40ohm.
74 79
75- rockchip,ddr3_odt : When dram type is DDR3, this parameter define80- rockchip,ddr3_odt : When the DRAM type is DDR3, this parameter defines
76 the dram side ODT stength in ohm, default value81 the DRAM side ODT strength in ohms. Default value
77 is DDR3_ODT_120ohm.82 is DDR3_ODT_120ohm.
78 83
79- rockchip,phy_ddr3_ca_drv : When dram type is DDR3, this parameter define84- rockchip,phy_ddr3_ca_drv : When the DRAM type is DDR3, this parameter defines
80 the phy side CA line(incluing command line,85 the phy side CA line (incluing command line,
81 address line and clock line) driver strength.86 address line and clock line) driver strength.
82 Default value is PHY_DRV_ODT_40.87 Default value is PHY_DRV_ODT_40.
83 88
84- rockchip,phy_ddr3_dq_drv : When dram type is DDR3, this parameter define89- rockchip,phy_ddr3_dq_drv : When the DRAM type is DDR3, this parameter defines
85 the phy side DQ line(incluing DQS/DQ/DM line)90 the PHY side DQ line (including DQS/DQ/DM line)
86 driver strength. default value is PHY_DRV_ODT_40.91 driver strength. Default value is PHY_DRV_ODT_40.
87 92
88- rockchip,phy_ddr3_odt : When dram type is DDR3, this parameter define the93- rockchip,phy_ddr3_odt : When the DRAM type is DDR3, this parameter defines
89 phy side odt strength, default value is94 the PHY side ODT strength. Default value is
90 PHY_DRV_ODT_240.95 PHY_DRV_ODT_240.
91 96
92- rockchip,lpddr3_odt_disb_freq : When dram type is LPDDR3, this parameter defined97- rockchip,lpddr3_odt_dis_freq : When the DRAM type is LPDDR3, this parameter defines
93 then odt disable frequency in MHz (Mega Hz),98 then ODT disable frequency in MHz (Mega Hz).
94 when ddr frequency less then ddr3_odt_disb_freq,99 When DDR frequency is less then ddr3_odt_dis_freq,
95 the odt on dram side and controller side are100 the ODT on the DRAM side and controller side are
96 both disabled.101 both disabled.
97 102
98- rockchip,lpddr3_drv : When dram type is LPDDR3, this parameter define103- rockchip,lpddr3_drv : When the DRAM type is LPDDR3, this parameter defines
99 the dram side driver stength in ohm, default104 the DRAM side driver strength in ohms. Default
100 value is LP3_DS_34ohm.105 value is LP3_DS_34ohm.
101 106
102- rockchip,lpddr3_odt : When dram type is LPDDR3, this parameter define107- rockchip,lpddr3_odt : When the DRAM type is LPDDR3, this parameter defines
103 the dram side ODT stength in ohm, default value108 the DRAM side ODT strength in ohms. Default value
104 is LP3_ODT_240ohm.109 is LP3_ODT_240ohm.
105 110
106- rockchip,phy_lpddr3_ca_drv : When dram type is LPDDR3, this parameter define111- rockchip,phy_lpddr3_ca_drv : When the DRAM type is LPDDR3, this parameter defines
107 the phy side CA line(incluing command line,112 the PHY side CA line (including command line,
108 address line and clock line) driver strength.113 address line and clock line) driver strength.
109 default value is PHY_DRV_ODT_40.114 Default value is PHY_DRV_ODT_40.
110 115
111- rockchip,phy_lpddr3_dq_drv : When dram type is LPDDR3, this parameter define116- rockchip,phy_lpddr3_dq_drv : When the DRAM type is LPDDR3, this parameter defines
112 the phy side DQ line(incluing DQS/DQ/DM line)117 the PHY side DQ line (including DQS/DQ/DM line)
113 driver strength. default value is118 driver strength. Default value is
114 PHY_DRV_ODT_40.119 PHY_DRV_ODT_40.
115 120
116- rockchip,phy_lpddr3_odt : When dram type is LPDDR3, this parameter define121- rockchip,phy_lpddr3_odt : When dram type is LPDDR3, this parameter define
117 the phy side odt strength, default value is122 the phy side odt strength, default value is
118 PHY_DRV_ODT_240.123 PHY_DRV_ODT_240.
119 124
120- rockchip,lpddr4_odt_disb_freq : When dram type is LPDDR4, this parameter125- rockchip,lpddr4_odt_dis_freq : When the DRAM type is LPDDR4, this parameter
121 defined the odt disable frequency in126 defines the ODT disable frequency in
122 MHz (Mega Hz), when ddr frequency less then127 MHz (Mega Hz). When the DDR frequency is less then
123 ddr3_odt_disb_freq, the odt on dram side and128 ddr3_odt_dis_freq, the ODT on the DRAM side and
124 controller side are both disabled.129 controller side are both disabled.
125 130
126- rockchip,lpddr4_drv : When dram type is LPDDR4, this parameter define131- rockchip,lpddr4_drv : When the DRAM type is LPDDR4, this parameter defines
127 the dram side driver stength in ohm, default132 the DRAM side driver strength in ohms. Default
128 value is LP4_PDDS_60ohm.133 value is LP4_PDDS_60ohm.
129 134
130- rockchip,lpddr4_dq_odt : When dram type is LPDDR4, this parameter define135- rockchip,lpddr4_dq_odt : When the DRAM type is LPDDR4, this parameter defines
131 the dram side ODT on dqs/dq line stength in ohm,136 the DRAM side ODT on DQS/DQ line strength in ohms.
132 default value is LP4_DQ_ODT_40ohm.137 Default value is LP4_DQ_ODT_40ohm.
133 138
134- rockchip,lpddr4_ca_odt : When dram type is LPDDR4, this parameter define139- rockchip,lpddr4_ca_odt : When the DRAM type is LPDDR4, this parameter defines
135 the dram side ODT on ca line stength in ohm,140 the DRAM side ODT on CA line strength in ohms.
136 default value is LP4_CA_ODT_40ohm.141 Default value is LP4_CA_ODT_40ohm.
137 142
138- rockchip,phy_lpddr4_ca_drv : When dram type is LPDDR4, this parameter define143- rockchip,phy_lpddr4_ca_drv : When the DRAM type is LPDDR4, this parameter defines
139 the phy side CA line(incluing command address144 the PHY side CA line (including command address
140 line) driver strength. default value is145 line) driver strength. Default value is
141 PHY_DRV_ODT_40.146 PHY_DRV_ODT_40.
142 147
143- rockchip,phy_lpddr4_ck_cs_drv : When dram type is LPDDR4, this parameter define148- rockchip,phy_lpddr4_ck_cs_drv : When the DRAM type is LPDDR4, this parameter defines
144 the phy side clock line and cs line driver149 the PHY side clock line and CS line driver
145 strength. default value is PHY_DRV_ODT_80.150 strength. Default value is PHY_DRV_ODT_80.
146 151
147- rockchip,phy_lpddr4_dq_drv : When dram type is LPDDR4, this parameter define152- rockchip,phy_lpddr4_dq_drv : When the DRAM type is LPDDR4, this parameter defines
148 the phy side DQ line(incluing DQS/DQ/DM line)153 the PHY side DQ line (including DQS/DQ/DM line)
149 driver strength. default value is PHY_DRV_ODT_80.154 driver strength. Default value is PHY_DRV_ODT_80.
150 155
151- rockchip,phy_lpddr4_odt : When dram type is LPDDR4, this parameter define156- rockchip,phy_lpddr4_odt : When the DRAM type is LPDDR4, this parameter defines
152 the phy side odt strength, default value is157 the PHY side ODT strength. Default value is
153 PHY_DRV_ODT_60.158 PHY_DRV_ODT_60.
154 159
155Example:160Example:
Documentation/devicetree/bindings/display/bridge/analogix_dp.txt+0−2
@@ -15,8 +15,6 @@ Required properties for dp-controller: · 14 unmodified lines
15 from common clock binding: handle to dp clock.15 from common clock binding: handle to dp clock.
16 -clock-names:16 -clock-names:
17 from common clock binding: Shall be "dp".17 from common clock binding: Shall be "dp".
18 -interrupt-parent:
19 phandle to Interrupt combiner node.
20 -phys:18 -phys:
21 from general PHY binding: the phandle for the PHY device.19 from general PHY binding: the phandle for the PHY device.
22 -phy-names:20 -phy-names:
Documentation/devicetree/bindings/display/bridge/anx7814.txt+0−2
@@ -8,8 +8,6 @@ Required properties: · 7 unmodified lines
8 8
9 - compatible : "analogix,anx7814"9 - compatible : "analogix,anx7814"
10 - reg : I2C address of the device10 - reg : I2C address of the device
11 - interrupt-parent : Should be the phandle of the interrupt controller
12 that services interrupts for this device
13 - interrupts : Should contain the INTP interrupt11 - interrupts : Should contain the INTP interrupt
14 - hpd-gpios : Which GPIO to use for hpd12 - hpd-gpios : Which GPIO to use for hpd
15 - pd-gpios : Which GPIO to use for power down13 - pd-gpios : Which GPIO to use for power down
Documentation/devicetree/bindings/display/bridge/megachips-stdpxxxx-ge-b850v3-fw.txt+0−2
@@ -19,8 +19,6 @@ hardware are EDID, HPD, and interrupts. · 18 unmodified lines
19stdp4028-ge-b850v3-fw required properties:19stdp4028-ge-b850v3-fw required properties:
20 - compatible : "megachips,stdp4028-ge-b850v3-fw"20 - compatible : "megachips,stdp4028-ge-b850v3-fw"
21 - reg : I2C bus address21 - reg : I2C bus address
22 - interrupt-parent : phandle of the interrupt controller that services
23 interrupts to the device
24 - interrupts : one interrupt should be described here, as in22 - interrupts : one interrupt should be described here, as in
25 <0 IRQ_TYPE_LEVEL_HIGH>23 <0 IRQ_TYPE_LEVEL_HIGH>
26 - ports : One input port(reg = <0>) and one output port(reg = <1>)24 - ports : One input port(reg = <0>) and one output port(reg = <1>)
Documentation/devicetree/bindings/display/bridge/sii902x.txt+2−2
@@ -5,8 +5,8 @@ Required properties: · 4 unmodified lines
5 - reg: i2c address of the bridge5 - reg: i2c address of the bridge
6 6
7Optional properties:7Optional properties:
8 - interrupts-extended or interrupt-parent + interrupts: describe8 - interrupts: describe the interrupt line used to inform the host
9 the interrupt line used to inform the host about hotplug events.9 about hotplug events.
10 - reset-gpios: OF device-tree gpio specification for RST_N pin.10 - reset-gpios: OF device-tree gpio specification for RST_N pin.
11 11
12Optional subnodes:12Optional subnodes:
Documentation/devicetree/bindings/display/bridge/sii9234.txt+1−1
@@ -7,7 +7,7 @@ Required properties: · 6 unmodified lines
7 - iovcc18-supply : I/O Supply Voltage (1.8V)7 - iovcc18-supply : I/O Supply Voltage (1.8V)
8 - avcc12-supply : TMDS Analog Supply Voltage (1.2V)8 - avcc12-supply : TMDS Analog Supply Voltage (1.2V)
9 - cvcc12-supply : Digital Core Supply Voltage (1.2V)9 - cvcc12-supply : Digital Core Supply Voltage (1.2V)
10 - interrupts, interrupt-parent: interrupt specifier of INT pin10 - interrupts: interrupt specifier of INT pin
11 - reset-gpios: gpio specifier of RESET pin (active low)11 - reset-gpios: gpio specifier of RESET pin (active low)
12 - video interfaces: Device node can contain two video interface port12 - video interfaces: Device node can contain two video interface port
13 nodes for HDMI encoder and connector according to [1].13 nodes for HDMI encoder and connector according to [1].
Documentation/devicetree/bindings/display/bridge/sil-sii8620.txt+1−1
@@ -5,7 +5,7 @@ Required properties: · 4 unmodified lines
5 - reg: i2c address of the bridge5 - reg: i2c address of the bridge
6 - cvcc10-supply: Digital Core Supply Voltage (1.0V)6 - cvcc10-supply: Digital Core Supply Voltage (1.0V)
7 - iovcc18-supply: I/O Supply Voltage (1.8V)7 - iovcc18-supply: I/O Supply Voltage (1.8V)
8 - interrupts, interrupt-parent: interrupt specifier of INT pin8 - interrupts: interrupt specifier of INT pin
9 - reset-gpios: gpio specifier of RESET pin9 - reset-gpios: gpio specifier of RESET pin
10 - clocks, clock-names: specification and name of "xtal" clock10 - clocks, clock-names: specification and name of "xtal" clock
11 - video interfaces: Device node can contain video interface port11 - video interfaces: Device node can contain video interface port
Documentation/devicetree/bindings/display/exynos/exynos7-decon.txt+0−3
@@ -9,9 +9,6 @@ Required properties: · 8 unmodified lines
9 9
10- reg: physical base address and length of the DECON registers set.10- reg: physical base address and length of the DECON registers set.
11 11
12- interrupt-parent: should be the phandle of the decon controller's
13 parent interrupt controller.
14
15- interrupts: should contain a list of all DECON IP block interrupts in the12- interrupts: should contain a list of all DECON IP block interrupts in the
16 order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier13 order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier
17 format depends on the interrupt controller used.14 format depends on the interrupt controller used.
Documentation/devicetree/bindings/display/exynos/exynos_dp.txt+0−2
@@ -25,8 +25,6 @@ Required properties for dp-controller: · 24 unmodified lines
25 from common clock binding: handle to dp clock.25 from common clock binding: handle to dp clock.
26 -clock-names:26 -clock-names:
27 from common clock binding: Shall be "dp".27 from common clock binding: Shall be "dp".
28 -interrupt-parent:
29 phandle to Interrupt combiner node.
30 -phys:28 -phys:
31 from general PHY binding: the phandle for the PHY device.29 from general PHY binding: the phandle for the PHY device.
32 -phy-names:30 -phy-names:
Documentation/devicetree/bindings/display/exynos/samsung-fimd.txt+0−3
@@ -16,9 +16,6 @@ Required properties: · 15 unmodified lines
16 16
17- reg: physical base address and length of the FIMD registers set.17- reg: physical base address and length of the FIMD registers set.
18 18
19- interrupt-parent: should be the phandle of the fimd controller's
20 parent interrupt controller.
21
22- interrupts: should contain a list of all FIMD IP block interrupts in the19- interrupts: should contain a list of all FIMD IP block interrupts in the
23 order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier20 order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier
24 format depends on the interrupt controller used.21 format depends on the interrupt controller used.
Documentation/devicetree/bindings/display/ht16k33.txt+0−2
@@ -4,8 +4,6 @@ Holtek ht16k33 RAM mapping 16*8 LED controller driver with keyscan · 3 unmodified lines
4Required properties:4Required properties:
5- compatible: "holtek,ht16k33"5- compatible: "holtek,ht16k33"
6- reg: I2C slave address of the chip.6- reg: I2C slave address of the chip.
7- interrupt-parent: A phandle pointing to the interrupt controller
8 serving the interrupt for this chip.
9- interrupts: Interrupt specification for the key pressed interrupt.7- interrupts: Interrupt specification for the key pressed interrupt.
10- refresh-rate-hz: Display update interval in HZ.8- refresh-rate-hz: Display update interval in HZ.
11- debounce-delay-ms: Debouncing interval time in milliseconds.9- debounce-delay-ms: Debouncing interval time in milliseconds.
Documentation/devicetree/bindings/display/marvell,pxa2xx-lcdc.txt+3−0
@@ -10,6 +10,9 @@ Required properties: · 9 unmodified lines
10 - interrupts : framebuffer controller interrupt.10 - interrupts : framebuffer controller interrupt.
11 - clocks: phandle to input clocks11 - clocks: phandle to input clocks
12 12
13Optional properties:
14 - lcd-supply: A phandle to a power regulator that controls the LCD voltage.
15
13Required nodes:16Required nodes:
14 - port: connection to the LCD panel (see video-interfaces.txt)17 - port: connection to the LCD panel (see video-interfaces.txt)
15 This node must have its properties bus-width and remote-endpoint set.18 This node must have its properties bus-width and remote-endpoint set.
Documentation/devicetree/bindings/display/marvell,pxa300-gcu.txt+17−0
@@ -0,0 +1,17 @@
1PXA3xx GCU Controller
2---------------------
3
4Required properties:
5 - compatible : "marvell,pxa300-gcu"
6 - reg : should contain the register range (address and length).
7 - interrupts : Controller interrupt.
8 - clocks: phandle to the PXA specific input clock.
9
10Example for PXA300:
11
12 display-controller@54000000 {
13 compatible = "marvell,pxa300-gcu";
14 reg = <0x54000000 0x1000>;
15 interrupts = <39>;
16 clocks = <&clks CLK_PXA300_GCU>;
17 };
Documentation/devicetree/bindings/display/mediatek/mediatek,disp.txt+1−1
@@ -40,7 +40,7 @@ Required properties (all function blocks): · 39 unmodified lines
40 "mediatek,<chip>-dpi" - DPI controller, see mediatek,dpi.txt40 "mediatek,<chip>-dpi" - DPI controller, see mediatek,dpi.txt
41 "mediatek,<chip>-disp-mutex" - display mutex41 "mediatek,<chip>-disp-mutex" - display mutex
42 "mediatek,<chip>-disp-od" - overdrive42 "mediatek,<chip>-disp-od" - overdrive
43 the supported chips are mt2701 and mt8173.43 the supported chips are mt2701, mt2712 and mt8173.
44- reg: Physical base address and length of the function block register space44- reg: Physical base address and length of the function block register space
45- interrupts: The interrupt signal from the function block (required, except for45- interrupts: The interrupt signal from the function block (required, except for
46 merge and split function blocks).46 merge and split function blocks).
Documentation/devicetree/bindings/display/msm/dpu.txt+131−0
@@ -0,0 +1,131 @@
1Qualcomm Technologies, Inc. DPU KMS
2
3Description:
4
5Device tree bindings for MSM Mobile Display Subsytem(MDSS) that encapsulates
6sub-blocks like DPU display controller, DSI and DP interfaces etc.
7The DPU display controller is found in SDM845 SoC.
8
9MDSS:
10Required properties:
11- compatible: "qcom,sdm845-mdss"
12- reg: physical base address and length of contoller's registers.
13- reg-names: register region names. The following region is required:
14 * "mdss"
15- power-domains: a power domain consumer specifier according to
16 Documentation/devicetree/bindings/power/power_domain.txt
17- clocks: list of clock specifiers for clocks needed by the device.
18- clock-names: device clock names, must be in same order as clocks property.
19 The following clocks are required:
20 * "iface"
21 * "bus"
22 * "core"
23- interrupts: interrupt signal from MDSS.
24- interrupt-controller: identifies the node as an interrupt controller.
25- #interrupt-cells: specifies the number of cells needed to encode an interrupt
26 source, should be 1.
27- iommus: phandle of iommu device node.
28- #address-cells: number of address cells for the MDSS children. Should be 1.
29- #size-cells: Should be 1.
30- ranges: parent bus address space is the same as the child bus address space.
31
32Optional properties:
33- assigned-clocks: list of clock specifiers for clocks needing rate assignment
34- assigned-clock-rates: list of clock frequencies sorted in the same order as
35 the assigned-clocks property.
36
37MDP:
38Required properties:
39- compatible: "qcom,sdm845-dpu"
40- reg: physical base address and length of controller's registers.
41- reg-names : register region names. The following region is required:
42 * "mdp"
43 * "vbif"
44- clocks: list of clock specifiers for clocks needed by the device.
45- clock-names: device clock names, must be in same order as clocks property.
46 The following clocks are required.
47 * "bus"
48 * "iface"
49 * "core"
50 * "vsync"
51- interrupts: interrupt line from DPU to MDSS.
52- ports: contains the list of output ports from DPU device. These ports connect
53 to interfaces that are external to the DPU hardware, such as DSI, DP etc.
54
55 Each output port contains an endpoint that describes how it is connected to an
56 external interface. These are described by the standard properties documented
57 here:
58 Documentation/devicetree/bindings/graph.txt
59 Documentation/devicetree/bindings/media/video-interfaces.txt
60
61 Port 0 -> DPU_INTF1 (DSI1)
62 Port 1 -> DPU_INTF2 (DSI2)
63
64Optional properties:
65- assigned-clocks: list of clock specifiers for clocks needing rate assignment
66- assigned-clock-rates: list of clock frequencies sorted in the same order as
67 the assigned-clocks property.
68
69Example:
70
71 mdss: mdss@ae00000 {
72 compatible = "qcom,sdm845-mdss";
73 reg = <0xae00000 0x1000>;
74 reg-names = "mdss";
75
76 power-domains = <&clock_dispcc 0>;
77
78 clocks = <&gcc GCC_DISP_AHB_CLK>, <&gcc GCC_DISP_AXI_CLK>,
79 <&clock_dispcc DISP_CC_MDSS_MDP_CLK>;
80 clock-names = "iface", "bus", "core";
81
82 assigned-clocks = <&clock_dispcc DISP_CC_MDSS_MDP_CLK>;
83 assigned-clock-rates = <300000000>;
84
85 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
86 interrupt-controller;
87 #interrupt-cells = <1>;
88
89 iommus = <&apps_iommu 0>;
90
91 #address-cells = <2>;
92 #size-cells = <1>;
93 ranges = <0 0 0xae00000 0xb2008>;
94
95 mdss_mdp: mdp@ae01000 {
96 compatible = "qcom,sdm845-dpu";
97 reg = <0 0x1000 0x8f000>, <0 0xb0000 0x2008>;
98 reg-names = "mdp", "vbif";
99
100 clocks = <&clock_dispcc DISP_CC_MDSS_AHB_CLK>,
101 <&clock_dispcc DISP_CC_MDSS_AXI_CLK>,
102 <&clock_dispcc DISP_CC_MDSS_MDP_CLK>,
103 <&clock_dispcc DISP_CC_MDSS_VSYNC_CLK>;
104 clock-names = "iface", "bus", "core", "vsync";
105
106 assigned-clocks = <&clock_dispcc DISP_CC_MDSS_MDP_CLK>,
107 <&clock_dispcc DISP_CC_MDSS_VSYNC_CLK>;
108 assigned-clock-rates = <0 0 300000000 19200000>;
109
110 interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
111
112 ports {
113 #address-cells = <1>;
114 #size-cells = <0>;
115
116 port@0 {
117 reg = <0>;
118 dpu_intf1_out: endpoint {
119 remote-endpoint = <&dsi0_in>;
120 };
121 };
122
123 port@1 {
124 reg = <1>;
125 dpu_intf2_out: endpoint {
126 remote-endpoint = <&dsi1_in>;
127 };
128 };
129 };
130 };
131 };
Documentation/devicetree/bindings/display/msm/dsi.txt+16−2
@@ -43,8 +43,6 @@ Optional properties: · 42 unmodified lines
43 the master link of the 2-DSI panel.43 the master link of the 2-DSI panel.
44- qcom,sync-dual-dsi: Boolean value indicating if the DSI controller is44- qcom,sync-dual-dsi: Boolean value indicating if the DSI controller is
45 driving a 2-DSI panel whose 2 links need receive command simultaneously.45 driving a 2-DSI panel whose 2 links need receive command simultaneously.
46- interrupt-parent: phandle to the MDP block if the interrupt signal is routed
47 through MDP block
48- pinctrl-names: the pin control state names; should contain "default"46- pinctrl-names: the pin control state names; should contain "default"
49- pinctrl-0: the default pinctrl state (active)47- pinctrl-0: the default pinctrl state (active)
50- pinctrl-n: the "sleep" pinctrl state48- pinctrl-n: the "sleep" pinctrl state
@@ -121,6 +119,20 @@ Required properties: · 70 unmodified lines
121Optional properties:119Optional properties:
122- qcom,dsi-phy-regulator-ldo-mode: Boolean value indicating if the LDO mode PHY120- qcom,dsi-phy-regulator-ldo-mode: Boolean value indicating if the LDO mode PHY
123 regulator is wanted.121 regulator is wanted.
122- qcom,mdss-mdp-transfer-time-us: Specifies the dsi transfer time for command mode
123 panels in microseconds. Driver uses this number to adjust
124 the clock rate according to the expected transfer time.
125 Increasing this value would slow down the mdp processing
126 and can result in slower performance.
127 Decreasing this value can speed up the mdp processing,
128 but this can also impact power consumption.
129 As a rule this time should not be higher than the time
130 that would be expected with the processing at the
131 dsi link rate since anyways this would be the maximum
132 transfer time that could be achieved.
133 If ping pong split is enabled, this time should not be higher
134 than two times the dsi link rate time.
135 If the property is not specified, then the default value is 14000 us.
124 136
125[1] Documentation/devicetree/bindings/clock/clock-bindings.txt137[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
126[2] Documentation/devicetree/bindings/graph.txt138[2] Documentation/devicetree/bindings/graph.txt
@@ -171,6 +183,8 @@ Example: · 44 unmodified lines
171 qcom,master-dsi;183 qcom,master-dsi;
172 qcom,sync-dual-dsi;184 qcom,sync-dual-dsi;
173 185
186 qcom,mdss-mdp-transfer-time-us = <12000>;
187
174 pinctrl-names = "default", "sleep";188 pinctrl-names = "default", "sleep";
175 pinctrl-0 = <&dsi_active>;189 pinctrl-0 = <&dsi_active>;
176 pinctrl-1 = <&dsi_suspend>;190 pinctrl-1 = <&dsi_suspend>;
Documentation/devicetree/bindings/display/msm/edp.txt+0−4
@@ -25,10 +25,6 @@ Required properties: · 24 unmodified lines
25- panel-hpd-gpios: GPIO pin used for eDP hpd.25- panel-hpd-gpios: GPIO pin used for eDP hpd.
26 26
27 27
28Optional properties:
29- interrupt-parent: phandle to the MDP block if the interrupt signal is routed
30 through MDP block
31
32Example:28Example:
33 mdss_edp: qcom,mdss_edp@fd923400 {29 mdss_edp: qcom,mdss_edp@fd923400 {
34 compatible = "qcom,mdss-edp";30 compatible = "qcom,mdss-edp";
Documentation/devicetree/bindings/display/msm/mdp5.txt+0−2
@@ -41,8 +41,6 @@ Required properties: · 40 unmodified lines
41- reg-names: The names of register regions. The following regions are required:41- reg-names: The names of register regions. The following regions are required:
42 * "mdp_phys"42 * "mdp_phys"
43- interrupts: Interrupt line from MDP5 to MDSS interrupt controller.43- interrupts: Interrupt line from MDP5 to MDSS interrupt controller.
44- interrupt-parent: phandle to the MDSS block
45 through MDP block
46- clocks: device clocks. See ../clocks/clock-bindings.txt for details.44- clocks: device clocks. See ../clocks/clock-bindings.txt for details.
47- clock-names: the following clocks are required.45- clock-names: the following clocks are required.
48- * "bus"46- * "bus"
Documentation/devicetree/bindings/display/renesas,du.txt+0−1
@@ -19,7 +19,6 @@ Required Properties: · 18 unmodified lines
19 19
20 - reg: the memory-mapped I/O registers base address and length20 - reg: the memory-mapped I/O registers base address and length
21 21
22 - interrupt-parent: phandle of the parent interrupt controller.
23 - interrupts: Interrupt specifiers for the DU interrupts.22 - interrupts: Interrupt specifiers for the DU interrupts.
24 23
25 - clocks: A list of phandles + clock-specifier pairs, one for each entry in24 - clocks: A list of phandles + clock-specifier pairs, one for each entry in
Documentation/devicetree/bindings/display/sm501fb.txt+0−2
@@ -9,8 +9,6 @@ Required properties: · 8 unmodified lines
9 - First entry: System Configuration register9 - First entry: System Configuration register
10 - Second entry: IO space (Display Controller register)10 - Second entry: IO space (Display Controller register)
11- interrupts : SMI interrupt to the cpu should be described here.11- interrupts : SMI interrupt to the cpu should be described here.
12- interrupt-parent : the phandle for the interrupt controller that
13 services interrupts for this device.
14 12
15Optional properties:13Optional properties:
16- mode : select a video mode:14- mode : select a video mode:
Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt+1−3
@@ -8,8 +8,6 @@ Required properties: · 7 unmodified lines
8 - reg: base address and size of the LCDC device8 - reg: base address and size of the LCDC device
9 9
10Recommended properties:10Recommended properties:
11 - interrupt-parent: the phandle for the interrupt controller that
12 services interrupts for this device.
13 - ti,hwmods: Name of the hwmod associated to the LCDC11 - ti,hwmods: Name of the hwmod associated to the LCDC
14 12
15Optional properties:13Optional properties:
@@ -36,7 +34,7 @@ Optional nodes: · 20 unmodified lines
36 34
37 - port/ports: to describe a connection to an external encoder. The35 - port/ports: to describe a connection to an external encoder. The
38 binding follows Documentation/devicetree/bindings/graph.txt and36 binding follows Documentation/devicetree/bindings/graph.txt and
39 suppors a single port with a single endpoint.37 supports a single port with a single endpoint.
40 38
41 - See also Documentation/devicetree/bindings/display/tilcdc/panel.txt and39 - See also Documentation/devicetree/bindings/display/tilcdc/panel.txt and
42 Documentation/devicetree/bindings/display/tilcdc/tfp410.txt for connecting40 Documentation/devicetree/bindings/display/tilcdc/tfp410.txt for connecting
Documentation/devicetree/bindings/dma/jz4780-dma.txt+0−1
@@ -5,7 +5,6 @@ Required properties: · 4 unmodified lines
5- compatible: Should be "ingenic,jz4780-dma"5- compatible: Should be "ingenic,jz4780-dma"
6- reg: Should contain the DMA controller registers location and length.6- reg: Should contain the DMA controller registers location and length.
7- interrupts: Should contain the interrupt specifier of the DMA controller.7- interrupts: Should contain the interrupt specifier of the DMA controller.
8- interrupt-parent: Should be the phandle of the interrupt controller that
9- clocks: Should contain a clock specifier for the JZ4780 PDMA clock.8- clocks: Should contain a clock specifier for the JZ4780 PDMA clock.
10- #dma-cells: Must be <2>. Number of integer cells in the dmas property of9- #dma-cells: Must be <2>. Number of integer cells in the dmas property of
11 DMA clients (see below).10 DMA clients (see below).
Documentation/devicetree/bindings/dma/nvidia,tegra210-adma.txt+0−1
@@ -8,7 +8,6 @@ Required properties: · 7 unmodified lines
8- reg: Should contain DMA registers location and length. This should be8- reg: Should contain DMA registers location and length. This should be
9 a single entry that includes all of the per-channel registers in one9 a single entry that includes all of the per-channel registers in one
10 contiguous bank.10 contiguous bank.
11- interrupt-parent: Phandle to the interrupt parent controller.
12- interrupts: Should contain all of the per-channel DMA interrupts in11- interrupts: Should contain all of the per-channel DMA interrupts in
13 ascending order with respect to the DMA channel index.12 ascending order with respect to the DMA channel index.
14- clocks: Must contain one entry for the ADMA module clock13- clocks: Must contain one entry for the ADMA module clock
Documentation/devicetree/bindings/dma/owl-dma.txt+47−0
@@ -0,0 +1,47 @@
1* Actions Semi Owl SoCs DMA controller
2
3This binding follows the generic DMA bindings defined in dma.txt.
4
5Required properties:
6- compatible: Should be "actions,s900-dma".
7- reg: Should contain DMA registers location and length.
8- interrupts: Should contain 4 interrupts shared by all channel.
9- #dma-cells: Must be <1>. Used to represent the number of integer
10 cells in the dmas property of client device.
11- dma-channels: Physical channels supported.
12- dma-requests: Number of DMA request signals supported by the controller.
13 Refer to Documentation/devicetree/bindings/dma/dma.txt
14- clocks: Phandle and Specifier of the clock feeding the DMA controller.
15
16Example:
17
18Controller:
19 dma: dma-controller@e0260000 {
20 compatible = "actions,s900-dma";
21 reg = <0x0 0xe0260000 0x0 0x1000>;
22 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
23 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
24 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
25 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
26 #dma-cells = <1>;
27 dma-channels = <12>;
28 dma-requests = <46>;
29 clocks = <&clock CLK_DMAC>;
30 };
31
32Client:
33
34DMA clients connected to the Actions Semi Owl SoCs DMA controller must
35use the format described in the dma.txt file, using a two-cell specifier
36for each channel.
37
38The two cells in order are:
391. A phandle pointing to the DMA controller.
402. The channel id.
41
42uart5: serial@e012a000 {
43 ...
44 dma-names = "tx", "rx";
45 dmas = <&dma 26>, <&dma 27>;
46 ...
47};
Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt+1−0
@@ -29,6 +29,7 @@ Required Properties: · 28 unmodified lines
29 - "renesas,dmac-r8a77965" (R-Car M3-N)29 - "renesas,dmac-r8a77965" (R-Car M3-N)
30 - "renesas,dmac-r8a77970" (R-Car V3M)30 - "renesas,dmac-r8a77970" (R-Car V3M)
31 - "renesas,dmac-r8a77980" (R-Car V3H)31 - "renesas,dmac-r8a77980" (R-Car V3H)
32 - "renesas,dmac-r8a77990" (R-Car E3)
32 - "renesas,dmac-r8a77995" (R-Car D3)33 - "renesas,dmac-r8a77995" (R-Car D3)
33 34
34- reg: base address and length of the registers block for the DMAC35- reg: base address and length of the registers block for the DMAC
Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.txt+0−2
@@ -5,8 +5,6 @@ Required properties: · 4 unmodified lines
5- reg: Address range of the DMAC registers. This should include5- reg: Address range of the DMAC registers. This should include
6 all of the per-channel registers.6 all of the per-channel registers.
7- interrupt: Should contain the DMAC interrupt number.7- interrupt: Should contain the DMAC interrupt number.
8- interrupt-parent: Should be the phandle for the interrupt controller
9 that services interrupts for this device.
10- dma-channels: Number of channels supported by hardware.8- dma-channels: Number of channels supported by hardware.
11- snps,dma-masters: Number of AXI masters supported by the hardware.9- snps,dma-masters: Number of AXI masters supported by the hardware.
12- snps,data-width: Maximum AXI data width supported by hardware.10- snps,data-width: Maximum AXI data width supported by hardware.
Documentation/devicetree/bindings/dma/snps-dma.txt+0−2
@@ -23,8 +23,6 @@ Deprecated properties: · 22 unmodified lines
23 23
24 24
25Optional properties:25Optional properties:
26- interrupt-parent: Should be the phandle for the interrupt controller
27 that services interrupts for this device
28- is_private: The device channels should be marked as private and not for by the26- is_private: The device channels should be marked as private and not for by the
29 general purpose DMA channel allocator. False if not passed.27 general purpose DMA channel allocator. False if not passed.
30- multi-block: Multi block transfers supported by hardware. Array property with28- multi-block: Multi block transfers supported by hardware. Array property with
Documentation/devicetree/bindings/dma/ti-edma.txt+0−1
@@ -201,7 +201,6 @@ Required properties: · 200 unmodified lines
201- #dma-cells: Should be set to <1>201- #dma-cells: Should be set to <1>
202 Clients should use a single channel number per DMA request.202 Clients should use a single channel number per DMA request.
203- reg: Memory map for accessing module203- reg: Memory map for accessing module
204- interrupt-parent: Interrupt controller the interrupt is routed through
205- interrupts: Exactly 3 interrupts need to be specified in the order:204- interrupts: Exactly 3 interrupts need to be specified in the order:
206 1. Transfer completion interrupt.205 1. Transfer completion interrupt.
207 2. Memory protection interrupt.206 2. Memory protection interrupt.
Documentation/devicetree/bindings/dma/xilinx/xilinx_dma.txt+2−0
@@ -66,6 +66,8 @@ Optional child node properties: · 65 unmodified lines
66Optional child node properties for VDMA:66Optional child node properties for VDMA:
67- xlnx,genlock-mode: Tells Genlock synchronization is67- xlnx,genlock-mode: Tells Genlock synchronization is
68 enabled/disabled in hardware.68 enabled/disabled in hardware.
69- xlnx,enable-vert-flip: Tells vertical flip is
70 enabled/disabled in hardware(S2MM path).
69Optional child node properties for AXI DMA:71Optional child node properties for AXI DMA:
70-dma-channels: Number of dma channels in child node.72-dma-channels: Number of dma channels in child node.
71 73
Documentation/devicetree/bindings/dma/xilinx/zynqmp_dma.txt+0−1
@@ -5,7 +5,6 @@ control and rate control support for slave/peripheral dma access. · 4 unmodified lines
5Required properties:5Required properties:
6- compatible : Should be "xlnx,zynqmp-dma-1.0"6- compatible : Should be "xlnx,zynqmp-dma-1.0"
7- reg : Memory map for gdma/adma module access.7- reg : Memory map for gdma/adma module access.
8- interrupt-parent : Interrupt controller the interrupt is routed through
9- interrupts : Should contain DMA channel interrupt.8- interrupts : Should contain DMA channel interrupt.
10- xlnx,bus-width : Axi buswidth in bits. Should contain 128 or 649- xlnx,bus-width : Axi buswidth in bits. Should contain 128 or 64
11- clock-names : List of input clocks "clk_main", "clk_apb"10- clock-names : List of input clocks "clk_main", "clk_apb"
Documentation/devicetree/bindings/eeprom/at24.txt+2−0
@@ -72,6 +72,8 @@ Optional properties: · 71 unmodified lines
72 72
73 - wp-gpios: GPIO to which the write-protect pin of the chip is connected.73 - wp-gpios: GPIO to which the write-protect pin of the chip is connected.
74 74
75 - address-width: number of address bits (one of 8, 16).
76
75Example:77Example:
76 78
77eeprom@52 {79eeprom@52 {
Documentation/devicetree/bindings/extcon/extcon-rt8973a.txt+0−2
@@ -11,8 +11,6 @@ for USB D-/D+ switching. · 10 unmodified lines
11Required properties:11Required properties:
12- compatible: Should be "richtek,rt8973a-muic"12- compatible: Should be "richtek,rt8973a-muic"
13- reg: Specifies the I2C slave address of the MUIC block. It should be 0x1413- reg: Specifies the I2C slave address of the MUIC block. It should be 0x14
14- interrupt-parent: Specifies the phandle of the interrupt controller to which
15 the interrupts from rt8973a are delivered to.
16- interrupts: Interrupt specifiers for detection interrupt sources.14- interrupts: Interrupt specifiers for detection interrupt sources.
17 15
18Example:16Example:
Documentation/devicetree/bindings/extcon/extcon-sm5502.txt+0−2
@@ -9,8 +9,6 @@ the host controller using an I2C interface. · 8 unmodified lines
9Required properties:9Required properties:
10- compatible: Should be "siliconmitus,sm5502-muic"10- compatible: Should be "siliconmitus,sm5502-muic"
11- reg: Specifies the I2C slave address of the MUIC block. It should be 0x2511- reg: Specifies the I2C slave address of the MUIC block. It should be 0x25
12- interrupt-parent: Specifies the phandle of the interrupt controller to which
13 the interrupts from sm5502 are delivered to.
14- interrupts: Interrupt specifiers for detection interrupt sources.12- interrupts: Interrupt specifiers for detection interrupt sources.
15 13
16Example:14Example:
Documentation/devicetree/bindings/fsi/fsi-master-ast-cf.txt+36−0
@@ -0,0 +1,36 @@
1Device-tree bindings for ColdFire offloaded gpio-based FSI master driver
2------------------------------------------------------------------------
3
4Required properties:
5 - compatible =
6 "aspeed,ast2400-cf-fsi-master" for an AST2400 based system
7 or
8 "aspeed,ast2500-cf-fsi-master" for an AST2500 based system
9
10 - clock-gpios = <gpio-descriptor>; : GPIO for FSI clock
11 - data-gpios = <gpio-descriptor>; : GPIO for FSI data signal
12 - enable-gpios = <gpio-descriptor>; : GPIO for enable signal
13 - trans-gpios = <gpio-descriptor>; : GPIO for voltage translator enable
14 - mux-gpios = <gpio-descriptor>; : GPIO for pin multiplexing with other
15 functions (eg, external FSI masters)
16 - memory-region = <phandle>; : Reference to the reserved memory for
17 the ColdFire. Must be 2M aligned on
18 AST2400 and 1M aligned on AST2500
19 - aspeed,sram = <phandle>; : Reference to the SRAM node.
20 - aspeed,cvic = <phandle>; : Reference to the CVIC node.
21
22Examples:
23
24 fsi-master {
25 compatible = "aspeed,ast2500-cf-fsi-master", "fsi-master";
26
27 clock-gpios = <&gpio 0>;
28 data-gpios = <&gpio 1>;
29 enable-gpios = <&gpio 2>;
30 trans-gpios = <&gpio 3>;
31 mux-gpios = <&gpio 4>;
32
33 memory-region = <&coldfire_memory>;
34 aspeed,sram = <&sram>;
35 aspeed,cvic = <&cvic>;
36 }
Documentation/devicetree/bindings/fsi/fsi.txt+5−0
@@ -83,6 +83,10 @@ addresses and sizes in the slave address space: · 82 unmodified lines
83 #address-cells = <1>;83 #address-cells = <1>;
84 #size-cells = <1>;84 #size-cells = <1>;
85 85
86Optionally, a slave can provide a global unique chip ID which is used to
87identify the physical location of the chip in a system specific way
88
89 chip-id = <0>;
86 90
87FSI engines (devices)91FSI engines (devices)
88---------------------92---------------------
@@ -125,6 +129,7 @@ device tree if no extra platform information is required. · 36 unmodified lines
125 reg = <0 0>;129 reg = <0 0>;
126 #address-cells = <1>;130 #address-cells = <1>;
127 #size-cells = <1>;131 #size-cells = <1>;
132 chip-id = <0>;
128 133
129 /* FSI engine at 0xc00, using a single page. In this example,134 /* FSI engine at 0xc00, using a single page. In this example,
130 * it's an I2C master controller, so subnodes describe the135 * it's an I2C master controller, so subnodes describe the
Documentation/devicetree/bindings/gnss/gnss.txt+36−0
@@ -0,0 +1,36 @@
1GNSS Receiver DT binding
2
3This documents the binding structure and common properties for GNSS receiver
4devices.
5
6A GNSS receiver node is a node named "gnss" and typically resides on a serial
7bus (e.g. UART, I2C or SPI).
8
9Please refer to the following documents for generic properties:
10
11 Documentation/devicetree/bindings/serial/slave-device.txt
12 Documentation/devicetree/bindings/spi/spi-bus.txt
13
14Required properties:
15
16- compatible : A string reflecting the vendor and specific device the node
17 represents
18
19Optional properties:
20- enable-gpios : GPIO used to enable the device
21- timepulse-gpios : Time pulse GPIO
22
23Example:
24
25serial@1234 {
26 compatible = "ns16550a";
27
28 gnss {
29 compatible = "u-blox,neo-8";
30
31 vcc-supply = <&gnss_reg>;
32 timepulse-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
33
34 current-speed = <4800>;
35 };
36};
Documentation/devicetree/bindings/gnss/sirfstar.txt+45−0
@@ -0,0 +1,45 @@
1SiRFstar-based GNSS Receiver DT binding
2
3SiRFstar chipsets are used in GNSS-receiver modules produced by several
4vendors and can use UART, SPI or I2C interfaces.
5
6Please see Documentation/devicetree/bindings/gnss/gnss.txt for generic
7properties.
8
9Required properties:
10
11- compatible : Must be one of
12
13 "fastrax,uc430"
14 "linx,r4"
15 "wi2wi,w2sg0008i"
16 "wi2wi,w2sg0084i"
17
18- vcc-supply : Main voltage regulator (pin name: 3V3_IN, VCC, VDD)
19
20Required properties (I2C):
21- reg : I2C slave address
22
23Required properties (SPI):
24- reg : SPI chip select address
25
26Optional properties:
27
28- sirf,onoff-gpios : GPIO used to power on and off device (pin name: ON_OFF)
29- sirf,wakeup-gpios : GPIO used to determine device power state
30 (pin name: RFPWRUP, WAKEUP)
31- timepulse-gpios : Time pulse GPIO (pin name: 1PPS, TM)
32
33Example:
34
35serial@1234 {
36 compatible = "ns16550a";
37
38 gnss {
39 compatible = "wi2wi,w2sg0084i";
40
41 vcc-supply = <&gnss_reg>;
42 sirf,onoff-gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
43 sirf,wakeup-gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
44 };
45};
Documentation/devicetree/bindings/gnss/u-blox.txt+44−0
@@ -0,0 +1,44 @@
1u-blox GNSS Receiver DT binding
2
3The u-blox GNSS receivers can use UART, DDC (I2C), SPI and USB interfaces.
4
5Please see Documentation/devicetree/bindings/gnss/gnss.txt for generic
6properties.
7
8Required properties:
9
10- compatible : Must be one of
11
12 "u-blox,neo-8"
13 "u-blox,neo-m8"
14
15- vcc-supply : Main voltage regulator
16
17Required properties (DDC):
18- reg : DDC (I2C) slave address
19
20Required properties (SPI):
21- reg : SPI chip select address
22
23Required properties (USB):
24- reg : Number of the USB hub port or the USB host-controller port
25 to which this device is attached
26
27Optional properties:
28
29- timepulse-gpios : Time pulse GPIO
30- u-blox,extint-gpios : GPIO connected to the "external interrupt" input pin
31- v-bckp-supply : Backup voltage regulator
32
33Example:
34
35serial@1234 {
36 compatible = "ns16550a";
37
38 gnss {
39 compatible = "u-blox,neo-8";
40
41 v-bckp-supply = <&gnss_v_bckp_reg>;
42 vcc-supply = <&gnss_vcc_reg>;
43 };
44};
Documentation/devicetree/bindings/gpio/8xxx_gpio.txt+0−2
@@ -25,8 +25,6 @@ Required properties: · 24 unmodified lines
25- #gpio-cells: Should be two. The first cell is the pin number25- #gpio-cells: Should be two. The first cell is the pin number
26 and the second cell is used to specify optional26 and the second cell is used to specify optional
27 parameters (currently unused).27 parameters (currently unused).
28- interrupt-parent: Phandle for the interrupt controller that
29 services interrupts for this device.
30- interrupts: Interrupt mapping for GPIO IRQ.28- interrupts: Interrupt mapping for GPIO IRQ.
31- gpio-controller: Marks the port as GPIO controller.29- gpio-controller: Marks the port as GPIO controller.
32 30
Documentation/devicetree/bindings/gpio/abilis,tb10x-gpio.txt+0−1
@@ -14,7 +14,6 @@ Optional Properties: · 13 unmodified lines
14- #interrupt-cells: Should be <1>. Interrupts are triggered on both edges.14- #interrupt-cells: Should be <1>. Interrupts are triggered on both edges.
15- interrupts: Defines the interrupt line connecting this GPIO controller to15- interrupts: Defines the interrupt line connecting this GPIO controller to
16 its parent interrupt controller.16 its parent interrupt controller.
17- interrupt-parent: Defines the parent interrupt controller.
18 17
19GPIO ranges are specified as described in18GPIO ranges are specified as described in
20Documentation/devicetree/bindings/gpio/gpio.txt19Documentation/devicetree/bindings/gpio/gpio.txt
Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.txt+0−3
@@ -30,9 +30,6 @@ Optional properties: · 29 unmodified lines
30- interrupts:30- interrupts:
31 The interrupt shared by all GPIO lines for this controller.31 The interrupt shared by all GPIO lines for this controller.
32 32
33- interrupt-parent:
34 phandle of the parent interrupt controller
35
36- interrupts-extended:33- interrupts-extended:
37 Alternate form of specifying interrupts and parents that allows for34 Alternate form of specifying interrupts and parents that allows for
38 multiple parents. This takes precedence over 'interrupts' and35 multiple parents. This takes precedence over 'interrupts' and
Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt+3−0
@@ -19,6 +19,9 @@ Required properties: · 18 unmodified lines
19 4 = active high level-sensitive.19 4 = active high level-sensitive.
20 8 = active low level-sensitive.20 8 = active low level-sensitive.
21 21
22Optional properties:
23- clocks: the clock for clocking the GPIO silicon
24
22Example:25Example:
23 26
24gpio0: gpio@73f84000 {27gpio0: gpio@73f84000 {
Documentation/devicetree/bindings/gpio/gpio-adnp.txt+0−1
@@ -3,7 +3,6 @@ Avionic Design N-bit GPIO expander bindings · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: should be "ad,gpio-adnp"4- compatible: should be "ad,gpio-adnp"
5- reg: The I2C slave address for this device.5- reg: The I2C slave address for this device.
6- interrupt-parent: phandle of the parent interrupt controller.
7- interrupts: Interrupt specifier for the controllers interrupt.6- interrupts: Interrupt specifier for the controllers interrupt.
8- #gpio-cells: Should be 2. The first cell is the GPIO number and the7- #gpio-cells: Should be 2. The first cell is the GPIO number and the
9 second cell is used to specify optional parameters:8 second cell is used to specify optional parameters:
Documentation/devicetree/bindings/gpio/gpio-aspeed.txt+0−1
@@ -17,7 +17,6 @@ Required properties: · 16 unmodified lines
17 17
18Optional properties:18Optional properties:
19 19
20- interrupt-parent : The parent interrupt controller, optional if inherited
21- clocks : A phandle to the clock to use for debounce timings20- clocks : A phandle to the clock to use for debounce timings
22 21
23The gpio and interrupt properties are further described in their respective22The gpio and interrupt properties are further described in their respective
Documentation/devicetree/bindings/gpio/gpio-ath79.txt+0−1
@@ -12,7 +12,6 @@ Required properties: · 11 unmodified lines
12- ngpios: Should be set to the number of GPIOs available on the SoC.12- ngpios: Should be set to the number of GPIOs available on the SoC.
13 13
14Optional properties:14Optional properties:
15- interrupt-parent: phandle of the parent interrupt controller.
16- interrupts: Interrupt specifier for the controllers interrupt.15- interrupts: Interrupt specifier for the controllers interrupt.
17- interrupt-controller : Identifies the node as an interrupt controller16- interrupt-controller : Identifies the node as an interrupt controller
18- #interrupt-cells : Specifies the number of cells needed to encode interrupt17- #interrupt-cells : Specifies the number of cells needed to encode interrupt
Documentation/devicetree/bindings/gpio/gpio-davinci.txt+0−2
@@ -15,8 +15,6 @@ Required Properties: · 14 unmodified lines
15 - first cell is the pin number15 - first cell is the pin number
16 - second cell is used to specify optional parameters (unused)16 - second cell is used to specify optional parameters (unused)
17 17
18- interrupt-parent: phandle of the parent interrupt controller.
19
20- interrupts: Array of GPIO interrupt number. Only banked or unbanked IRQs are18- interrupts: Array of GPIO interrupt number. Only banked or unbanked IRQs are
21 supported at a time.19 supported at a time.
22 20
Documentation/devicetree/bindings/gpio/gpio-max732x.txt+0−1
@@ -30,7 +30,6 @@ Optional properties: · 29 unmodified lines
30 - #interrupt-cells: Number of cells to encode an interrupt source, shall be 2.30 - #interrupt-cells: Number of cells to encode an interrupt source, shall be 2.
31 - first cell is the pin number31 - first cell is the pin number
32 - second cell is used to specify flags32 - second cell is used to specify flags
33 - interrupt-parent: phandle of the parent interrupt controller.
34 - interrupts: Interrupt specifier for the controllers interrupt.33 - interrupts: Interrupt specifier for the controllers interrupt.
35 34
36Please refer to gpio.txt in this directory for details of the common GPIO35Please refer to gpio.txt in this directory for details of the common GPIO
Documentation/devicetree/bindings/gpio/gpio-pca953x.txt+3−0
@@ -37,6 +37,7 @@ Required properties: · 36 unmodified lines
37 - #interrupt-cells: if to be used as interrupt expander.37 - #interrupt-cells: if to be used as interrupt expander.
38 38
39Optional properties:39Optional properties:
40 - interrupts: interrupt specifier for the device's interrupt output.
40 - reset-gpios: GPIO specification for the RESET input. This is an41 - reset-gpios: GPIO specification for the RESET input. This is an
41 active low signal to the PCA953x.42 active low signal to the PCA953x.
42 - vcc-supply: power supply regulator.43 - vcc-supply: power supply regulator.
@@ -49,6 +50,8 @@ Example: · 6 unmodified lines
49 reg = <0x20>;50 reg = <0x20>;
50 pinctrl-names = "default";51 pinctrl-names = "default";
51 pinctrl-0 = <&pinctrl_pca9505>;52 pinctrl-0 = <&pinctrl_pca9505>;
53 gpio-controller;
54 #gpio-cells = <2>;
52 interrupt-parent = <&gpio3>;55 interrupt-parent = <&gpio3>;
53 interrupts = <23 IRQ_TYPE_LEVEL_LOW>;56 interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
54 };57 };
Documentation/devicetree/bindings/gpio/gpio-pcf857x.txt+0−1
@@ -49,7 +49,6 @@ Optional Properties: · 48 unmodified lines
49 49
50 - interrupt-controller: Identifies the node as an interrupt controller.50 - interrupt-controller: Identifies the node as an interrupt controller.
51 - #interrupt-cells: Number of cells to encode an interrupt source, shall be 2.51 - #interrupt-cells: Number of cells to encode an interrupt source, shall be 2.
52 - interrupt-parent: phandle of the parent interrupt controller.
53 - interrupts: Interrupt specifier for the controllers interrupt.52 - interrupts: Interrupt specifier for the controllers interrupt.
54 53
55 54
Documentation/devicetree/bindings/gpio/gpio-uniphier.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6- gpio-controller: Marks the device node as a GPIO controller.6- gpio-controller: Marks the device node as a GPIO controller.
7- #gpio-cells: Should be 2. The first cell is the pin number and the second7- #gpio-cells: Should be 2. The first cell is the pin number and the second
8 cell is used to specify optional parameters.8 cell is used to specify optional parameters.
9- interrupt-parent: Specifies the parent interrupt controller.
10- interrupt-controller: Marks the device node as an interrupt controller.9- interrupt-controller: Marks the device node as an interrupt controller.
11- #interrupt-cells: Should be 2. The first cell defines the interrupt number.10- #interrupt-cells: Should be 2. The first cell defines the interrupt number.
12 The second cell bits[3:0] is used to specify trigger type as follows:11 The second cell bits[3:0] is used to specify trigger type as follows:
Documentation/devicetree/bindings/gpio/gpio-xgene-sb.txt+0−1
@@ -26,7 +26,6 @@ Required properties: · 25 unmodified lines
26 1 = active low26 1 = active low
27- gpio-controller: Marks the device node as a GPIO controller.27- gpio-controller: Marks the device node as a GPIO controller.
28- interrupts: The EXT_INT_0 parent interrupt resource must be listed first.28- interrupts: The EXT_INT_0 parent interrupt resource must be listed first.
29- interrupt-parent: Phandle of the parent interrupt controller.
30- interrupt-cells: Should be two.29- interrupt-cells: Should be two.
31 - first cell is 0-N coresponding for EXT_INT_0 to EXT_INT_N.30 - first cell is 0-N coresponding for EXT_INT_0 to EXT_INT_N.
32 - second cell is used to specify flags.31 - second cell is used to specify flags.
Documentation/devicetree/bindings/gpio/gpio-xilinx.txt+0−2
@@ -14,8 +14,6 @@ Required properties: · 13 unmodified lines
14 14
15Optional properties:15Optional properties:
16- interrupts : Interrupt mapping for GPIO IRQ.16- interrupts : Interrupt mapping for GPIO IRQ.
17- interrupt-parent : Phandle for the interrupt controller that
18 services interrupts for this device.
19- xlnx,all-inputs : if n-th bit is setup, GPIO-n is input17- xlnx,all-inputs : if n-th bit is setup, GPIO-n is input
20- xlnx,dout-default : if n-th bit is 1, GPIO-n default value is 118- xlnx,dout-default : if n-th bit is 1, GPIO-n default value is 1
21- xlnx,gpio-width : gpio width19- xlnx,gpio-width : gpio width
Documentation/devicetree/bindings/gpio/gpio-xlp.txt+0−1
@@ -30,7 +30,6 @@ Required properties: · 29 unmodified lines
30 4 = active high level-sensitive.30 4 = active high level-sensitive.
31 8 = active low level-sensitive.31 8 = active low level-sensitive.
32- interrupts: Interrupt number for this device.32- interrupts: Interrupt number for this device.
33- interrupt-parent: phandle of the parent interrupt controller.
34- interrupt-controller: Identifies the node as an interrupt controller.33- interrupt-controller: Identifies the node as an interrupt controller.
35 34
36Example:35Example:
Documentation/devicetree/bindings/gpio/gpio-zynq.txt+0−1
@@ -11,7 +11,6 @@ Required properties: · 10 unmodified lines
11- gpio-controller : Marks the device node as a GPIO controller.11- gpio-controller : Marks the device node as a GPIO controller.
12- interrupts : Interrupt specifier (see interrupt bindings for12- interrupts : Interrupt specifier (see interrupt bindings for
13 details)13 details)
14- interrupt-parent : Must be core interrupt controller
15- interrupt-controller : Marks the device node as an interrupt controller.14- interrupt-controller : Marks the device node as an interrupt controller.
16- #interrupt-cells : Should be 2. The first cell is the GPIO number.15- #interrupt-cells : Should be 2. The first cell is the GPIO number.
17 The second cell bits[3:0] is used to specify trigger type and level flags:16 The second cell bits[3:0] is used to specify trigger type and level flags:
Documentation/devicetree/bindings/gpio/mediatek,mt7621-gpio.txt+35−0
@@ -0,0 +1,35 @@
1Mediatek MT7621 SoC GPIO controller bindings
2
3The IP core used inside these SoCs has 3 banks of 32 GPIOs each.
4The registers of all the banks are interwoven inside one single IO range.
5We load one GPIO controller instance per bank. Also the GPIO controller can receive
6interrupts on any of the GPIOs, either edge or level. It then interrupts the CPU
7using GIC INT12.
8
9Required properties for the top level node:
10- #gpio-cells : Should be two. The first cell is the GPIO pin number and the
11 second cell specifies GPIO flags, as defined in <dt-bindings/gpio/gpio.h>.
12 Only the GPIO_ACTIVE_HIGH and GPIO_ACTIVE_LOW flags are supported.
13- #interrupt-cells : Specifies the number of cells needed to encode an
14 interrupt. Should be 2. The first cell defines the interrupt number,
15 the second encodes the triger flags encoded as described in
16 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
17- compatible:
18 - "mediatek,mt7621-gpio" for Mediatek controllers
19- reg : Physical base address and length of the controller's registers
20- interrupt-parent : phandle of the parent interrupt controller.
21- interrupts : Interrupt specifier for the controllers interrupt.
22- interrupt-controller : Mark the device node as an interrupt controller.
23- gpio-controller : Marks the device node as a GPIO controller.
24
25Example:
26 gpio@600 {
27 #gpio-cells = <2>;
28 #interrupt-cells = <2>;
29 compatible = "mediatek,mt7621-gpio";
30 gpio-controller;
31 interrupt-controller;
32 reg = <0x600 0x100>;
33 interrupt-parent = <&gic>;
34 interrupts = <GIC_SHARED 12 IRQ_TYPE_LEVEL_HIGH>;
35 };
Documentation/devicetree/bindings/gpio/nintendo,hollywood-gpio.txt+1−2
@@ -1,7 +1,7 @@
1Nintendo Wii (Hollywood) GPIO controller1Nintendo Wii (Hollywood) GPIO controller
2 2
3Required properties:3Required properties:
4- compatible: "nintendo,hollywood-gpio4- compatible: "nintendo,hollywood-gpio"
5- reg: Physical base address and length of the controller's registers.5- reg: Physical base address and length of the controller's registers.
6- gpio-controller: Marks the device node as a GPIO controller.6- gpio-controller: Marks the device node as a GPIO controller.
7- #gpio-cells: Should be <2>. The first cell is the pin number and the7- #gpio-cells: Should be <2>. The first cell is the pin number and the
@@ -14,7 +14,6 @@ Optional properties: · 6 unmodified lines
14- #interrupt-cells: Should be two.14- #interrupt-cells: Should be two.
15- interrupts: Interrupt specifier for the controller's Broadway (PowerPC)15- interrupts: Interrupt specifier for the controller's Broadway (PowerPC)
16 interrupt.16 interrupt.
17- interrupt-parent: phandle of the parent interrupt controller.
18 17
19Example:18Example:
20 19
Documentation/devicetree/bindings/gpio/nvidia,tegra186-gpio.txt+4−0
@@ -68,6 +68,8 @@ Required properties: · 67 unmodified lines
68 One of:68 One of:
69 - "nvidia,tegra186-gpio".69 - "nvidia,tegra186-gpio".
70 - "nvidia,tegra186-gpio-aon".70 - "nvidia,tegra186-gpio-aon".
71 - "nvidia,tegra194-gpio".
72 - "nvidia,tegra194-gpio-aon".
71- reg-names73- reg-names
72 Array of strings.74 Array of strings.
73 Contains a list of names for the register spaces described by the reg75 Contains a list of names for the register spaces described by the reg
@@ -91,6 +93,8 @@ Required properties: · 17 unmodified lines
91 depending on compatible value:93 depending on compatible value:
92 - "nvidia,tegra186-gpio": 6 entries.94 - "nvidia,tegra186-gpio": 6 entries.
93 - "nvidia,tegra186-gpio-aon": 1 entry.95 - "nvidia,tegra186-gpio-aon": 1 entry.
96 - "nvidia,tegra194-gpio": 6 entries.
97 - "nvidia,tegra194-gpio-aon": 1 entry.
94- gpio-controller98- gpio-controller
95 Boolean.99 Boolean.
96 Marks the device node as a GPIO controller/provider.100 Marks the device node as a GPIO controller/provider.
Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt+1−1
@@ -17,6 +17,7 @@ Required Properties: · 16 unmodified lines
17 - "renesas,gpio-r8a7796": for R8A7796 (R-Car M3-W) compatible GPIO controller.17 - "renesas,gpio-r8a7796": for R8A7796 (R-Car M3-W) compatible GPIO controller.
18 - "renesas,gpio-r8a77965": for R8A77965 (R-Car M3-N) compatible GPIO controller.18 - "renesas,gpio-r8a77965": for R8A77965 (R-Car M3-N) compatible GPIO controller.
19 - "renesas,gpio-r8a77970": for R8A77970 (R-Car V3M) compatible GPIO controller.19 - "renesas,gpio-r8a77970": for R8A77970 (R-Car V3M) compatible GPIO controller.
20 - "renesas,gpio-r8a77980": for R8A77980 (R-Car V3H) compatible GPIO controller.
20 - "renesas,gpio-r8a77990": for R8A77990 (R-Car E3) compatible GPIO controller.21 - "renesas,gpio-r8a77990": for R8A77990 (R-Car E3) compatible GPIO controller.
21 - "renesas,gpio-r8a77995": for R8A77995 (R-Car D3) compatible GPIO controller.22 - "renesas,gpio-r8a77995": for R8A77995 (R-Car D3) compatible GPIO controller.
22 - "renesas,rcar-gen1-gpio": for a generic R-Car Gen1 GPIO controller.23 - "renesas,rcar-gen1-gpio": for a generic R-Car Gen1 GPIO controller.
@@ -31,7 +32,6 @@ Required Properties: · 8 unmodified lines
31 - reg: Base address and length of each memory resource used by the GPIO32 - reg: Base address and length of each memory resource used by the GPIO
32 controller hardware module.33 controller hardware module.
33 34
34 - interrupt-parent: phandle of the parent interrupt controller.
35 - interrupts: Interrupt specifier for the controllers interrupt.35 - interrupts: Interrupt specifier for the controllers interrupt.
36 36
37 - gpio-controller: Marks the device node as a gpio controller.37 - gpio-controller: Marks the device node as a gpio controller.
Documentation/devicetree/bindings/gpio/rockchip,rk3328-grf-gpio.txt+32−0
@@ -0,0 +1,32 @@
1Rockchip RK3328 GRF (General Register Files) GPIO controller.
2
3In Rockchip RK3328, the output only GPIO_MUTE pin, originally for codec mute
4control, can also be used for general purpose. It is manipulated by the
5GRF_SOC_CON10 register in GRF. Aside from the GPIO_MUTE pin, the HDMI pins can
6also be set in the same way.
7
8Currently this GPIO controller only supports the mute pin. If needed in the
9future, the HDMI pins support can also be added.
10
11Required properties:
12- compatible: Should contain "rockchip,rk3328-grf-gpio".
13- gpio-controller: Marks the device node as a gpio controller.
14- #gpio-cells: Should be 2. The first cell is the pin number and
15 the second cell is used to specify the gpio polarity:
16 0 = Active high,
17 1 = Active low.
18
19Example:
20
21 grf: syscon@ff100000 {
22 compatible = "rockchip,rk3328-grf", "syscon", "simple-mfd";
23
24 grf_gpio: grf-gpio {
25 compatible = "rockchip,rk3328-grf-gpio";
26 gpio-controller;
27 #gpio-cells = <2>;
28 };
29 };
30
31Note: The grf_gpio node should be declared as the child of the GRF (General
32Register File) node. The GPIO_MUTE pin is referred to as <&grf_gpio 0>.
Documentation/devicetree/bindings/gpio/snps-dwapb-gpio.txt+0−1
@@ -25,7 +25,6 @@ controller. · 24 unmodified lines
25 interrupt. Shall be set to 2. The first cell defines the interrupt number,25 interrupt. Shall be set to 2. The first cell defines the interrupt number,
26 the second encodes the triger flags encoded as described in26 the second encodes the triger flags encoded as described in
27 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt27 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
28- interrupt-parent : The parent interrupt controller.
29- interrupts : The interrupts to the parent controller raised when GPIOs28- interrupts : The interrupts to the parent controller raised when GPIOs
30 generate the interrupts. If the controller provides one combined interrupt29 generate the interrupts. If the controller provides one combined interrupt
31 for all GPIOs, specify a single interrupt. If the controller provides one30 for all GPIOs, specify a single interrupt. If the controller provides one
Documentation/devicetree/bindings/hsi/omap-ssi.txt+0−1
@@ -33,7 +33,6 @@ Required Port sub-node properties: · 32 unmodified lines
33- reg-names: Contains the values "tx" and "rx" (in this order).33- reg-names: Contains the values "tx" and "rx" (in this order).
34- reg: Contains a matching register specifier for each entry34- reg: Contains a matching register specifier for each entry
35 in reg-names.35 in reg-names.
36- interrupt-parent Should be a phandle for the interrupt controller
37- interrupts: Should contain interrupt specifiers for mpu interrupts36- interrupts: Should contain interrupt specifiers for mpu interrupts
38 0 and 1 (in this order).37 0 and 1 (in this order).
39- ti,ssi-cawake-gpio: Defines which GPIO pin is used to signify CAWAKE38- ti,ssi-cawake-gpio: Defines which GPIO pin is used to signify CAWAKE
Documentation/devicetree/bindings/hwmon/npcm750-pwm-fan.txt+84−0
@@ -0,0 +1,84 @@
1Nuvoton NPCM7xx PWM and Fan Tacho controller device
2
3The Nuvoton BMC NPCM7XX supports 8 Pulse-width modulation (PWM)
4controller outputs and 16 Fan tachometer controller inputs.
5
6Required properties for pwm-fan node
7- #address-cells : should be 1.
8- #size-cells : should be 0.
9- compatible : "nuvoton,npcm750-pwm-fan" for Poleg NPCM7XX.
10- reg : specifies physical base address and size of the registers.
11- reg-names : must contain:
12 * "pwm" for the PWM registers.
13 * "fan" for the Fan registers.
14- clocks : phandle of reference clocks.
15- clock-names : must contain
16 * "pwm" for PWM controller operating clock.
17 * "fan" for Fan controller operating clock.
18- interrupts : contain the Fan interrupts with flags for falling edge.
19- pinctrl-names : a pinctrl state named "default" must be defined.
20- pinctrl-0 : phandle referencing pin configuration of the PWM and Fan
21 controller ports.
22
23fan subnode format:
24===================
25Under fan subnode can be upto 8 child nodes, each child node representing a fan.
26Each fan subnode must have one PWM channel and atleast one Fan tach channel.
27
28For PWM channel can be configured cooling-levels to create cooling device.
29Cooling device could be bound to a thermal zone for the thermal control.
30
31Required properties for each child node:
32- reg : specify the PWM output channel.
33 integer value in the range 0 through 7, that represent
34 the PWM channel number that used.
35
36- fan-tach-ch : specify the Fan tach input channel.
37 integer value in the range 0 through 15, that represent
38 the fan tach channel number that used.
39
40 At least one Fan tach input channel is required
41
42Optional property for each child node:
43- cooling-levels: PWM duty cycle values in a range from 0 to 255
44 which correspond to thermal cooling states.
45
46Examples:
47
48pwm_fan:pwm-fan-controller@103000 {
49 #address-cells = <1>;
50 #size-cells = <0>;
51 compatible = "nuvoton,npcm750-pwm-fan";
52 reg = <0x103000 0x2000>,
53 <0x180000 0x8000>;
54 reg-names = "pwm", "fan";
55 clocks = <&clk NPCM7XX_CLK_APB3>,
56 <&clk NPCM7XX_CLK_APB4>;
57 clock-names = "pwm","fan";
58 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
59 <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
60 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
61 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
62 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
63 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
64 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
65 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
66 pinctrl-names = "default";
67 pinctrl-0 = <&pwm0_pins &pwm1_pins &pwm2_pins
68 &fanin0_pins &fanin1_pins &fanin2_pins
69 &fanin3_pins &fanin4_pins>;
70 fan@0 {
71 reg = <0x00>;
72 fan-tach-ch = /bits/ 8 <0x00 0x01>;
73 cooling-levels = <127 255>;
74 };
75 fan@1 {
76 reg = <0x01>;
77 fan-tach-ch = /bits/ 8 <0x02 0x03>;
78 };
79 fan@2 {
80 reg = <0x02>;
81 fan-tach-ch = /bits/ 8 <0x04>;
82 };
83
84};
Documentation/devicetree/bindings/i2c/i2c-aspeed.txt+0−3
@@ -11,9 +11,6 @@ Required Properties: · 10 unmodified lines
11- resets : phandle to reset controller with the reset number in11- resets : phandle to reset controller with the reset number in
12 the second cell12 the second cell
13- interrupts : interrupt number13- interrupts : interrupt number
14- interrupt-parent : interrupt controller for bus, should reference a
15 aspeed,ast2400-i2c-ic or aspeed,ast2500-i2c-ic
16 interrupt controller
17 14
18Optional Properties:15Optional Properties:
19- bus-frequency : frequency of the bus clock in Hz defaults to 100 kHz when not16- bus-frequency : frequency of the bus clock in Hz defaults to 100 kHz when not
Documentation/devicetree/bindings/i2c/i2c-brcmstb.txt+0−2
@@ -10,8 +10,6 @@ Required properties: · 9 unmodified lines
10 10
11Optional properties :11Optional properties :
12 12
13- interrupt-parent: specifies the phandle to the parent interrupt controller
14 this one is cascaded from
15- interrupts: specifies the interrupt number, the irq line to be used13- interrupts: specifies the interrupt number, the irq line to be used
16- interrupt-names: Interrupt name string14- interrupt-names: Interrupt name string
17 15
Documentation/devicetree/bindings/i2c/i2c-fsi.txt+40−0
@@ -0,0 +1,40 @@
1Device-tree bindings for FSI-attached I2C master and busses
2-----------------------------------------------------------
3
4Required properties:
5 - compatible = "ibm,i2c-fsi";
6 - reg = < address size >; : The FSI CFAM address and address
7 space size.
8 - #address-cells = <1>; : Number of address cells in child
9 nodes.
10 - #size-cells = <0>; : Number of size cells in child nodes.
11 - child nodes : Nodes to describe busses off the I2C
12 master.
13
14Child node required properties:
15 - reg = < port number > : The port number on the I2C master.
16
17Child node optional properties:
18 - child nodes : Nodes to describe devices on the I2C
19 bus.
20
21Examples:
22
23 i2c@1800 {
24 compatible = "ibm,i2c-fsi";
25 reg = < 0x1800 0x400 >;
26 #address-cells = <1>;
27 #size-cells = <0>;
28
29 i2c-bus@0 {
30 reg = <0>;
31 };
32
33 i2c-bus@1 {
34 reg = <1>;
35
36 eeprom@50 {
37 compatible = "vendor,dev-name";
38 };
39 };
40 };
Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt+0−1
@@ -5,7 +5,6 @@ Required properties: · 4 unmodified lines
5 - "fsl,imx7ulp-lpi2c" for LPI2C compatible with the one integrated on i.MX7ULP soc5 - "fsl,imx7ulp-lpi2c" for LPI2C compatible with the one integrated on i.MX7ULP soc
6 - "fsl,imx8dv-lpi2c" for LPI2C compatible with the one integrated on i.MX8DV soc6 - "fsl,imx8dv-lpi2c" for LPI2C compatible with the one integrated on i.MX8DV soc
7- reg : address and length of the lpi2c master registers7- reg : address and length of the lpi2c master registers
8- interrupt-parent : core interrupt controller
9- interrupts : lpi2c interrupt8- interrupts : lpi2c interrupt
10- clocks : lpi2c clock specifier9- clocks : lpi2c clock specifier
11 10
Documentation/devicetree/bindings/i2c/i2c-jz4780.txt+0−4
@@ -11,10 +11,6 @@ Recommended properties: · 10 unmodified lines
11- pinctrl-names: should be "default";11- pinctrl-names: should be "default";
12- pinctrl-0: phandle to pinctrl function12- pinctrl-0: phandle to pinctrl function
13 13
14Optional properties:
15- interrupt-parent: Should be the phandle of the interrupt controller that
16 delivers interrupts to the I2C block.
17
18Example14Example
19 15
20/ {16/ {
Documentation/devicetree/bindings/i2c/i2c-mpc.txt+0−2
@@ -15,8 +15,6 @@ Recommended properties : · 14 unmodified lines
15 information for the interrupt. This should be encoded based on15 information for the interrupt. This should be encoded based on
16 the information in section 2) depending on the type of interrupt16 the information in section 2) depending on the type of interrupt
17 controller you have.17 controller you have.
18 - interrupt-parent : the phandle for the interrupt controller that
19 services interrupts for this device.
20 - fsl,preserve-clocking : boolean; if defined, the clock settings18 - fsl,preserve-clocking : boolean; if defined, the clock settings
21 from the bootloader are preserved (not touched).19 from the bootloader are preserved (not touched).
22 - clock-frequency : desired I2C bus clock frequency in Hz.20 - clock-frequency : desired I2C bus clock frequency in Hz.
Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.txt+0−2
@@ -28,8 +28,6 @@ Optional Properties: · 27 unmodified lines
28 - i2c-mux-idle-disconnect: Boolean; if defined, forces mux to disconnect all28 - i2c-mux-idle-disconnect: Boolean; if defined, forces mux to disconnect all
29 children in idle state. This is necessary for example, if there are several29 children in idle state. This is necessary for example, if there are several
30 multiplexers on the bus and the devices behind them use same I2C addresses.30 multiplexers on the bus and the devices behind them use same I2C addresses.
31 - interrupt-parent: Phandle for the interrupt controller that services
32 interrupts for this device.
33 - interrupts: Interrupt mapping for IRQ.31 - interrupts: Interrupt mapping for IRQ.
34 - interrupt-controller: Marks the device node as an interrupt controller.32 - interrupt-controller: Marks the device node as an interrupt controller.
35 - #interrupt-cells : Should be two.33 - #interrupt-cells : Should be two.
Documentation/devicetree/bindings/i2c/i2c-owl.txt+27−0
@@ -0,0 +1,27 @@
1Actions Semiconductor Owl I2C controller
2
3Required properties:
4
5- compatible : Should be "actions,s900-i2c".
6- reg : Offset and length of the register set for the device.
7- #address-cells : Should be 1.
8- #size-cells : Should be 0.
9- interrupts : A single interrupt specifier.
10- clocks : Phandle of the clock feeding the I2C controller.
11
12Optional properties:
13
14- clock-frequency : Desired I2C bus clock frequency in Hz. As only Normal and
15 Fast modes are supported, possible values are 100000 and
16 400000.
17Examples:
18
19 i2c0: i2c@e0170000 {
20 compatible = "actions,s900-i2c";
21 reg = <0 0xe0170000 0 0x1000>;
22 #address-cells = <1>;
23 #size-cells = <0>;
24 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
25 clocks = <&clock CLK_I2C0>;
26 clock-frequency = <100000>;
27 };
Documentation/devicetree/bindings/i2c/i2c-pca-platform.txt+0−2
@@ -12,8 +12,6 @@ Required properties : · 11 unmodified lines
12 12
13Optional properties13Optional properties
14 - interrupts : the interrupt number14 - interrupts : the interrupt number
15 - interrupt-parent : the phandle for the interrupt controller.
16 If an interrupt is not specified polling will be used.
17 - reset-gpios : gpio specifier for gpio connected to RESET_N pin. As the line15 - reset-gpios : gpio specifier for gpio connected to RESET_N pin. As the line
18 is active low, it should be marked GPIO_ACTIVE_LOW.16 is active low, it should be marked GPIO_ACTIVE_LOW.
19 - clock-frequency : I2C bus frequency.17 - clock-frequency : I2C bus frequency.
Documentation/devicetree/bindings/i2c/i2c-pnx.txt+0−2
@@ -7,8 +7,6 @@ Required properties: · 6 unmodified lines
7 - interrupts: configure one interrupt line7 - interrupts: configure one interrupt line
8 - #address-cells: always 1 (for i2c addresses)8 - #address-cells: always 1 (for i2c addresses)
9 - #size-cells: always 09 - #size-cells: always 0
10 - interrupt-parent: the phandle for the interrupt controller that
11 services interrupts for this device.
12 10
13Optional properties:11Optional properties:
14 12
Documentation/devicetree/bindings/i2c/i2c-pxa.txt+0−3
@@ -12,9 +12,6 @@ Required properties : · 11 unmodified lines
12Recommended properties :12Recommended properties :
13 13
14 - interrupts : the interrupt number14 - interrupts : the interrupt number
15 - interrupt-parent : the phandle for the interrupt controller that
16 services interrupts for this device. If the parent is the default
17 interrupt controller in device tree, it could be ignored.
18 - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling15 - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling
19 status register of i2c controller instead.16 status register of i2c controller instead.
20 - mrvl,i2c-fast-mode : Enable fast mode of i2c controller.17 - mrvl,i2c-fast-mode : Enable fast mode of i2c controller.
Documentation/devicetree/bindings/i2c/i2c-rcar.txt+4−1
@@ -4,6 +4,7 @@ Required properties: · 3 unmodified lines
4- compatible:4- compatible:
5 "renesas,i2c-r8a7743" if the device is a part of a R8A7743 SoC.5 "renesas,i2c-r8a7743" if the device is a part of a R8A7743 SoC.
6 "renesas,i2c-r8a7745" if the device is a part of a R8A7745 SoC.6 "renesas,i2c-r8a7745" if the device is a part of a R8A7745 SoC.
7 "renesas,i2c-r8a774a1" if the device is a part of a R8A774A1 SoC.
7 "renesas,i2c-r8a7778" if the device is a part of a R8A7778 SoC.8 "renesas,i2c-r8a7778" if the device is a part of a R8A7778 SoC.
8 "renesas,i2c-r8a7779" if the device is a part of a R8A7779 SoC.9 "renesas,i2c-r8a7779" if the device is a part of a R8A7779 SoC.
9 "renesas,i2c-r8a7790" if the device is a part of a R8A7790 SoC.10 "renesas,i2c-r8a7790" if the device is a part of a R8A7790 SoC.
@@ -16,11 +17,13 @@ Required properties: · 6 unmodified lines
16 "renesas,i2c-r8a77965" if the device is a part of a R8A77965 SoC.17 "renesas,i2c-r8a77965" if the device is a part of a R8A77965 SoC.
17 "renesas,i2c-r8a77970" if the device is a part of a R8A77970 SoC.18 "renesas,i2c-r8a77970" if the device is a part of a R8A77970 SoC.
18 "renesas,i2c-r8a77980" if the device is a part of a R8A77980 SoC.19 "renesas,i2c-r8a77980" if the device is a part of a R8A77980 SoC.
20 "renesas,i2c-r8a77990" if the device is a part of a R8A77990 SoC.
19 "renesas,i2c-r8a77995" if the device is a part of a R8A77995 SoC.21 "renesas,i2c-r8a77995" if the device is a part of a R8A77995 SoC.
20 "renesas,rcar-gen1-i2c" for a generic R-Car Gen1 compatible device.22 "renesas,rcar-gen1-i2c" for a generic R-Car Gen1 compatible device.
21 "renesas,rcar-gen2-i2c" for a generic R-Car Gen2 or RZ/G1 compatible23 "renesas,rcar-gen2-i2c" for a generic R-Car Gen2 or RZ/G1 compatible
22 device.24 device.
23 "renesas,rcar-gen3-i2c" for a generic R-Car Gen3 compatible device.25 "renesas,rcar-gen3-i2c" for a generic R-Car Gen3 or RZ/G2 compatible
26 device.
24 "renesas,i2c-rcar" (deprecated)27 "renesas,i2c-rcar" (deprecated)
25 28
26 When compatible with the generic version, nodes must list the29 When compatible with the generic version, nodes must list the
Documentation/devicetree/bindings/i2c/i2c-sh_mobile.txt+3−1
@@ -6,6 +6,7 @@ Required properties: · 5 unmodified lines
6 - "renesas,iic-r8a7740" (R-Mobile A1)6 - "renesas,iic-r8a7740" (R-Mobile A1)
7 - "renesas,iic-r8a7743" (RZ/G1M)7 - "renesas,iic-r8a7743" (RZ/G1M)
8 - "renesas,iic-r8a7745" (RZ/G1E)8 - "renesas,iic-r8a7745" (RZ/G1E)
9 - "renesas,iic-r8a774a1" (RZ/G2M)
9 - "renesas,iic-r8a7790" (R-Car H2)10 - "renesas,iic-r8a7790" (R-Car H2)
10 - "renesas,iic-r8a7791" (R-Car M2-W)11 - "renesas,iic-r8a7791" (R-Car M2-W)
11 - "renesas,iic-r8a7792" (R-Car V2H)12 - "renesas,iic-r8a7792" (R-Car V2H)
@@ -17,7 +18,8 @@ Required properties: · 5 unmodified lines
17 - "renesas,iic-sh73a0" (SH-Mobile AG5)18 - "renesas,iic-sh73a0" (SH-Mobile AG5)
18 - "renesas,rcar-gen2-iic" (generic R-Car Gen2 or RZ/G119 - "renesas,rcar-gen2-iic" (generic R-Car Gen2 or RZ/G1
19 compatible device)20 compatible device)
20 - "renesas,rcar-gen3-iic" (generic R-Car Gen3 compatible device)21 - "renesas,rcar-gen3-iic" (generic R-Car Gen3 or RZ/G2
22 compatible device)
21 - "renesas,rmobile-iic" (generic device)23 - "renesas,rmobile-iic" (generic device)
22 24
23 When compatible with a generic R-Car version, nodes25 When compatible with a generic R-Car version, nodes
Documentation/devicetree/bindings/iio/accel/adxl345.txt+5−4
@@ -1,9 +1,12 @@
1Analog Devices ADXL345 3-Axis, +/-(2g/4g/8g/16g) Digital Accelerometer1Analog Devices ADXL345/ADXL375 3-Axis Digital Accelerometers
2 2
3http://www.analog.com/en/products/mems/accelerometers/adxl345.html3http://www.analog.com/en/products/mems/accelerometers/adxl345.html
4http://www.analog.com/en/products/sensors-mems/accelerometers/adxl375.html
4 5
5Required properties:6Required properties:
6 - compatible : should be "adi,adxl345"7 - compatible : should be one of
8 "adi,adxl345"
9 "adi,adxl375"
7 - reg : the I2C address or SPI chip select number of the sensor10 - reg : the I2C address or SPI chip select number of the sensor
8 11
9Required properties for SPI bus usage:12Required properties for SPI bus usage:
@@ -11,8 +14,6 @@ Required properties for SPI bus usage: · 1 unmodified line
11 - spi-cpol and spi-cpha : must be defined for adxl345 to enable SPI mode 314 - spi-cpol and spi-cpha : must be defined for adxl345 to enable SPI mode 3
12 15
13Optional properties:16Optional properties:
14 - interrupt-parent : phandle to the parent interrupt controller as documented
15 in Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
16 - interrupts: interrupt mapping for IRQ as documented in17 - interrupts: interrupt mapping for IRQ as documented in
17 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt18 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
18 19
Documentation/devicetree/bindings/iio/accel/bma180.txt+0−2
@@ -10,8 +10,6 @@ Required properties: · 9 unmodified lines
10 10
11Optional properties:11Optional properties:
12 12
13 - interrupt-parent : should be the phandle for the interrupt controller
14
15 - interrupts : interrupt mapping for GPIO IRQ, it should by configured with13 - interrupts : interrupt mapping for GPIO IRQ, it should by configured with
16 flags IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING14 flags IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING
17 For the bma250 the first interrupt listed must be the one15 For the bma250 the first interrupt listed must be the one
Documentation/devicetree/bindings/iio/accel/mma8452.txt+0−2
@@ -15,8 +15,6 @@ Required properties: · 14 unmodified lines
15 15
16Optional properties:16Optional properties:
17 17
18 - interrupt-parent: should be the phandle for the interrupt controller
19
20 - interrupts: interrupt mapping for GPIO IRQ18 - interrupts: interrupt mapping for GPIO IRQ
21 19
22 - interrupt-names: should contain "INT1" and/or "INT2", the accelerometer's20 - interrupt-names: should contain "INT1" and/or "INT2", the accelerometer's
Documentation/devicetree/bindings/iio/adc/amlogic,meson-saradc.txt+1−0
@@ -4,6 +4,7 @@ Required properties: · 3 unmodified lines
4- compatible: depending on the SoC this should be one of:4- compatible: depending on the SoC this should be one of:
5 - "amlogic,meson8-saradc" for Meson85 - "amlogic,meson8-saradc" for Meson8
6 - "amlogic,meson8b-saradc" for Meson8b6 - "amlogic,meson8b-saradc" for Meson8b
7 - "amlogic,meson8m2-saradc" for Meson8m2
7 - "amlogic,meson-gxbb-saradc" for GXBB8 - "amlogic,meson-gxbb-saradc" for GXBB
8 - "amlogic,meson-gxl-saradc" for GXL9 - "amlogic,meson-gxl-saradc" for GXL
9 - "amlogic,meson-gxm-saradc" for GXM10 - "amlogic,meson-gxm-saradc" for GXM
Documentation/devicetree/bindings/iio/adc/at91-sama5d2_adc.txt+9−0
@@ -21,6 +21,14 @@ Optional properties: · 20 unmodified lines
21 - dmas: Phandle to dma channel for the ADC.21 - dmas: Phandle to dma channel for the ADC.
22 - dma-names: Must be "rx" when dmas property is being used.22 - dma-names: Must be "rx" when dmas property is being used.
23 See ../../dma/dma.txt for details.23 See ../../dma/dma.txt for details.
24 - #io-channel-cells: in case consumer drivers are attached, this must be 1.
25 See <Documentation/devicetree/bindings/iio/iio-bindings.txt> for details.
26
27Properties for consumer drivers:
28 - Consumer drivers can be connected to this producer device, as specified
29 in <Documentation/devicetree/bindings/iio/iio-bindings.txt>
30 - Channels exposed are specified in:
31 <dt-bindings/iio/adc/at91-sama5d2_adc.txt>
24 32
25Example:33Example:
26 34
@@ -38,4 +46,5 @@ adc: adc@fc030000 { · 11 unmodified lines
38 atmel,trigger-edge-type = <IRQ_TYPE_EDGE_BOTH>;46 atmel,trigger-edge-type = <IRQ_TYPE_EDGE_BOTH>;
39 dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | AT91_XDMAC_DT_PERID(25))>;47 dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | AT91_XDMAC_DT_PERID(25))>;
40 dma-names = "rx";48 dma-names = "rx";
49 #io-channel-cells = <1>;
41}50}
Documentation/devicetree/bindings/iio/adc/avia-hx711.txt+7−1
@@ -8,11 +8,17 @@ Required properties: · 7 unmodified lines
8 See Documentation/devicetree/bindings/gpio/gpio.txt8 See Documentation/devicetree/bindings/gpio/gpio.txt
9 - avdd-supply: Definition of the regulator used as analog supply9 - avdd-supply: Definition of the regulator used as analog supply
10 10
11Optional properties:
12 - clock-frequency: Frequency of PD_SCK in Hz
13 Minimum value allowed is 10 kHz because of maximum
14 high time of 50 microseconds.
15
11Example:16Example:
12weight@0 {17weight {
13 compatible = "avia,hx711";18 compatible = "avia,hx711";
14 sck-gpios = <&gpio3 10 GPIO_ACTIVE_HIGH>;19 sck-gpios = <&gpio3 10 GPIO_ACTIVE_HIGH>;
15 dout-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;20 dout-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
16 avdd-suppy = <&avdd>;21 avdd-suppy = <&avdd>;
22 clock-frequency = <100000>;
17};23};
18 24
Documentation/devicetree/bindings/iio/adc/cpcap-adc.txt+0−1
@@ -2,7 +2,6 @@ Motorola CPCAP PMIC ADC binding · 1 unmodified line
2 2
3Required properties:3Required properties:
4- compatible: Should be "motorola,cpcap-adc" or "motorola,mapphone-cpcap-adc"4- compatible: Should be "motorola,cpcap-adc" or "motorola,mapphone-cpcap-adc"
5- interrupt-parent: The interrupt controller
6- interrupts: The interrupt number for the ADC device5- interrupts: The interrupt number for the ADC device
7- interrupt-names: Should be "adcdone"6- interrupt-names: Should be "adcdone"
8- #io-channel-cells: Number of cells in an IIO specifier7- #io-channel-cells: Number of cells in an IIO specifier
Documentation/devicetree/bindings/iio/adc/fsl,imx25-gcq.txt+0−1
@@ -8,7 +8,6 @@ Required properties: · 7 unmodified lines
8 - reg: Should be the register range of the module.8 - reg: Should be the register range of the module.
9 - interrupts: Should be the interrupt number of the module.9 - interrupts: Should be the interrupt number of the module.
10 Typically this is <1>.10 Typically this is <1>.
11 - interrupt-parent: phandle to the tsadc module of the i.MX25.
12 - #address-cells: Should be <1> (setting for the subnodes)11 - #address-cells: Should be <1> (setting for the subnodes)
13 - #size-cells: Should be <0> (setting for the subnodes)12 - #size-cells: Should be <0> (setting for the subnodes)
14 13
Documentation/devicetree/bindings/iio/adc/max1027-adc.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4 - compatible: Should be "maxim,max1027" or "maxim,max1029" or "maxim,max1031"4 - compatible: Should be "maxim,max1027" or "maxim,max1029" or "maxim,max1031"
5 - reg: SPI chip select number for the device5 - reg: SPI chip select number for the device
6 - interrupt-parent: phandle to the parent interrupt controller
7 see: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
8 - interrupts: IRQ line for the ADC6 - interrupts: IRQ line for the ADC
9 see: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt7 see: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
10 8
Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.txt+1−1
@@ -7,7 +7,7 @@ Required properties: · 6 unmodified lines
7 7
8Example node:8Example node:
9 9
10 ads1202: adc@0 {10 ads1202: adc {
11 compatible = "sd-modulator";11 compatible = "sd-modulator";
12 #io-channel-cells = <0>;12 #io-channel-cells = <0>;
13 };13 };
Documentation/devicetree/bindings/iio/adc/sprd,sc27xx-adc.txt+36−0
@@ -0,0 +1,36 @@
1Spreadtrum SC27XX series PMICs ADC binding
2
3Required properties:
4- compatible: Should be one of the following.
5 "sprd,sc2720-adc"
6 "sprd,sc2721-adc"
7 "sprd,sc2723-adc"
8 "sprd,sc2730-adc"
9 "sprd,sc2731-adc"
10- reg: The address offset of ADC controller.
11- interrupt-parent: The interrupt controller.
12- interrupts: The interrupt number for the ADC device.
13- #io-channel-cells: Number of cells in an IIO specifier.
14- hwlocks: Reference to a phandle of a hwlock provider node.
15
16Example:
17
18 sc2731_pmic: pmic@0 {
19 compatible = "sprd,sc2731";
20 reg = <0>;
21 spi-max-frequency = <26000000>;
22 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
23 interrupt-controller;
24 #interrupt-cells = <2>;
25 #address-cells = <1>;
26 #size-cells = <0>;
27
28 pmic_adc: adc@480 {
29 compatible = "sprd,sc2731-adc";
30 reg = <0x480>;
31 interrupt-parent = <&sc2731_pmic>;
32 interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
33 #io-channel-cells = <1>;
34 hwlocks = <&hwlock 4>;
35 };
36 };
Documentation/devicetree/bindings/iio/adc/st,stm32-adc.txt+0−1
@@ -60,7 +60,6 @@ Required properties: · 59 unmodified lines
60- reg: Offset of ADC instance in ADC block (e.g. may be 0x0, 0x100, 0x200).60- reg: Offset of ADC instance in ADC block (e.g. may be 0x0, 0x100, 0x200).
61- clocks: Input clock private to this ADC instance. It's required only on61- clocks: Input clock private to this ADC instance. It's required only on
62 stm32f4, that has per instance clock input for registers access.62 stm32f4, that has per instance clock input for registers access.
63- interrupt-parent: Phandle to the parent interrupt controller.
64- interrupts: IRQ Line for the ADC (e.g. may be 0 for adc@0, 1 for adc@100 or63- interrupts: IRQ Line for the ADC (e.g. may be 0 for adc@0, 1 for adc@100 or
65 2 for adc@200).64 2 for adc@200).
66- st,adc-channels: List of single-ended channels muxed for this ADC.65- st,adc-channels: List of single-ended channels muxed for this ADC.
Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt+0−1
@@ -22,7 +22,6 @@ Required properties: · 21 unmodified lines
22 clock to the AXI bus interface of the core.22 clock to the AXI bus interface of the core.
23 23
24Optional properties:24Optional properties:
25 - interrupt-parent: phandle to the parent interrupt controller
26 - xlnx,external-mux:25 - xlnx,external-mux:
27 * "none": No external multiplexer is used, this is the default26 * "none": No external multiplexer is used, this is the default
28 if the property is omitted.27 if the property is omitted.
Documentation/devicetree/bindings/iio/chemical/atlas,ec-sm.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6 6
7 - compatible: must be "atlas,ec-sm"7 - compatible: must be "atlas,ec-sm"
8 - reg: the I2C address of the sensor8 - reg: the I2C address of the sensor
9 - interrupt-parent: should be the phandle for the interrupt controller
10 - interrupts: the sole interrupt generated by the device9 - interrupts: the sole interrupt generated by the device
11 10
12 Refer to interrupt-controller/interrupts.txt for generic interrupt client11 Refer to interrupt-controller/interrupts.txt for generic interrupt client
Documentation/devicetree/bindings/iio/chemical/atlas,orp-sm.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6 6
7 - compatible: must be "atlas,orp-sm"7 - compatible: must be "atlas,orp-sm"
8 - reg: the I2C address of the sensor8 - reg: the I2C address of the sensor
9 - interrupt-parent: should be the phandle for the interrupt controller
10 - interrupts: the sole interrupt generated by the device9 - interrupts: the sole interrupt generated by the device
11 10
12 Refer to interrupt-controller/interrupts.txt for generic interrupt client11 Refer to interrupt-controller/interrupts.txt for generic interrupt client
Documentation/devicetree/bindings/iio/chemical/atlas,ph-sm.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6 6
7 - compatible: must be "atlas,ph-sm"7 - compatible: must be "atlas,ph-sm"
8 - reg: the I2C address of the sensor8 - reg: the I2C address of the sensor
9 - interrupt-parent: should be the phandle for the interrupt controller
10 - interrupts: the sole interrupt generated by the device9 - interrupts: the sole interrupt generated by the device
11 10
12 Refer to interrupt-controller/interrupts.txt for generic interrupt client11 Refer to interrupt-controller/interrupts.txt for generic interrupt client
Documentation/devicetree/bindings/iio/dac/ad5758.txt+78−0
@@ -0,0 +1,78 @@
1Analog Devices AD5758 DAC device driver
2
3Required properties for the AD5758:
4 - compatible: Must be "adi,ad5758"
5 - reg: SPI chip select number for the device
6 - spi-max-frequency: Max SPI frequency to use (< 50000000)
7 - spi-cpha: is the only mode that is supported
8
9Required properties:
10
11 - adi,dc-dc-mode: Mode of operation of the dc-to-dc converter
12 Dynamic Power Control (DPC)
13 In this mode, the AD5758 circuitry senses the output
14 voltage and dynamically regulates the supply voltage,
15 VDPC+, to meet compliance requirements plus an optimized
16 headroom voltage for the output buffer.
17
18 Programmable Power Control (PPC)
19 In this mode, the VDPC+ voltage is user-programmable to
20 a fixed level that needs to accommodate the maximum output
21 load required.
22
23 The output of the DAC core is either converted to a
24 current or voltage output at the VIOUT pin. Only one mode
25 can be enabled at any one time.
26
27 The following values are currently supported:
28 * 1: DPC current mode
29 * 2: DPC voltage mode
30 * 3: PPC current mode
31
32 Depending on the selected output mode (voltage or current) one of the
33 two properties must
34 be present:
35
36 - adi,range-microvolt: Voltage output range
37 The array of voltage output ranges must contain two fields:
38 * <0 5000000>: 0 V to 5 V voltage range
39 * <0 10000000>: 0 V to 10 V voltage range
40 * <(-5000000) 5000000>: ±5 V voltage range
41 * <(-10000000) 10000000>: ±10 V voltage range
42 - adi,range-microamp: Current output range
43 The array of current output ranges must contain two fields:
44 * <0 20000>: 0 mA to 20 mA current range
45 * <0 24000>: 0 mA to 24 mA current range
46 * <4 24000>: 4 mA to 20 mA current range
47 * <(-20000) 20000>: ±20 mA current range
48 * <(-24000) 24000>: ±24 mA current range
49 * <(-1000) 22000>: −1 mA to +22 mA current range
50
51Optional properties:
52
53 - adi,dc-dc-ilim-microamp: The dc-to-dc converter current limit
54 The following values are currently supported [uA]:
55 * 150000
56 * 200000
57 * 250000
58 * 300000
59 * 350000
60 * 400000
61
62 - adi,slew-time-us: The time it takes for the output to reach the
63 full scale [uS]
64 The supported range is between 133us up to 1023984375us
65
66AD5758 Example:
67
68 dac@0 {
69 compatible = "adi,ad5758";
70 reg = <0>;
71 spi-max-frequency = <1000000>;
72 spi-cpha;
73
74 adi,dc-dc-mode = <2>;
75 adi,range-microvolt = <0 10000000>;
76 adi,dc-dc-ilim-microamp = <200000>;
77 adi,slew-time-us = <125000>;
78 };
Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.txt+0−1
@@ -5,7 +5,6 @@ Required properties: · 4 unmodified lines
5 - reg : the I2C address of the sensor5 - reg : the I2C address of the sensor
6 6
7Optional properties:7Optional properties:
8 - interrupt-parent : should be the phandle for the interrupt controller
9 - interrupts : interrupt mapping for the trigger interrupt from the8 - interrupts : interrupt mapping for the trigger interrupt from the
10 internal oscillator. The following IRQ modes are supported:9 internal oscillator. The following IRQ modes are supported:
11 IRQ_TYPE_EDGE_RISING, IRQ_TYPE_EDGE_FALLING, IRQ_TYPE_LEVEL_HIGH and10 IRQ_TYPE_EDGE_RISING, IRQ_TYPE_EDGE_FALLING, IRQ_TYPE_LEVEL_HIGH and
Documentation/devicetree/bindings/iio/health/afe4403.txt+0−1
@@ -4,7 +4,6 @@ Required properties: · 3 unmodified lines
4 - compatible : Should be "ti,afe4403".4 - compatible : Should be "ti,afe4403".
5 - reg : SPI chip select address of device.5 - reg : SPI chip select address of device.
6 - tx-supply : Regulator supply to transmitting LEDs.6 - tx-supply : Regulator supply to transmitting LEDs.
7 - interrupt-parent : Phandle to he parent interrupt controller.
8 - interrupts : The interrupt line the device ADC_RDY pin is7 - interrupts : The interrupt line the device ADC_RDY pin is
9 connected to. For details refer to,8 connected to. For details refer to,
10 ../../interrupt-controller/interrupts.txt.9 ../../interrupt-controller/interrupts.txt.
Documentation/devicetree/bindings/iio/health/afe4404.txt+0−1
@@ -4,7 +4,6 @@ Required properties: · 3 unmodified lines
4 - compatible : Should be "ti,afe4404".4 - compatible : Should be "ti,afe4404".
5 - reg : I2C address of the device.5 - reg : I2C address of the device.
6 - tx-supply : Regulator supply to transmitting LEDs.6 - tx-supply : Regulator supply to transmitting LEDs.
7 - interrupt-parent : Phandle to he parent interrupt controller.
8 - interrupts : The interrupt line the device ADC_RDY pin is7 - interrupts : The interrupt line the device ADC_RDY pin is
9 connected to. For details refer to,8 connected to. For details refer to,
10 ../interrupt-controller/interrupts.txt.9 ../interrupt-controller/interrupts.txt.
Documentation/devicetree/bindings/iio/health/max30100.txt+0−1
@@ -5,7 +5,6 @@ Maxim MAX30100 heart rate and pulse oximeter sensor · 4 unmodified lines
5Required properties:5Required properties:
6 - compatible: must be "maxim,max30100"6 - compatible: must be "maxim,max30100"
7 - reg: the I2C address of the sensor7 - reg: the I2C address of the sensor
8 - interrupt-parent: should be the phandle for the interrupt controller
9 - interrupts: the sole interrupt generated by the device8 - interrupts: the sole interrupt generated by the device
10 9
11 Refer to interrupt-controller/interrupts.txt for generic10 Refer to interrupt-controller/interrupts.txt for generic
Documentation/devicetree/bindings/iio/health/max30102.txt+0−1
@@ -7,7 +7,6 @@ Maxim MAX30105 optical particle-sensing module · 6 unmodified lines
7Required properties:7Required properties:
8 - compatible: must be "maxim,max30102" or "maxim,max30105"8 - compatible: must be "maxim,max30102" or "maxim,max30105"
9 - reg: the I2C address of the sensor9 - reg: the I2C address of the sensor
10 - interrupt-parent: should be the phandle for the interrupt controller
11 - interrupts: the sole interrupt generated by the device10 - interrupts: the sole interrupt generated by the device
12 11
13 Refer to interrupt-controller/interrupts.txt for generic12 Refer to interrupt-controller/interrupts.txt for generic
Documentation/devicetree/bindings/iio/humidity/hts221.txt+0−1
@@ -13,7 +13,6 @@ Optional properties: · 12 unmodified lines
13 when it is not active, whereas a pull-up one is needed when interrupt13 when it is not active, whereas a pull-up one is needed when interrupt
14 line is configured as IRQ_TYPE_LEVEL_LOW or IRQ_TYPE_EDGE_FALLING.14 line is configured as IRQ_TYPE_LEVEL_LOW or IRQ_TYPE_EDGE_FALLING.
15 Refer to pinctrl/pinctrl-bindings.txt for the property description.15 Refer to pinctrl/pinctrl-bindings.txt for the property description.
16- interrupt-parent: should be the phandle for the interrupt controller
17- interrupts: interrupt mapping for IRQ. It should be configured with16- interrupts: interrupt mapping for IRQ. It should be configured with
18 flags IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_EDGE_RISING, IRQ_TYPE_LEVEL_LOW or17 flags IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_EDGE_RISING, IRQ_TYPE_LEVEL_LOW or
19 IRQ_TYPE_EDGE_FALLING.18 IRQ_TYPE_EDGE_FALLING.
Documentation/devicetree/bindings/iio/imu/bmi160.txt+0−1
@@ -9,7 +9,6 @@ Required properties: · 8 unmodified lines
9 - spi-max-frequency : set maximum clock frequency (only for SPI)9 - spi-max-frequency : set maximum clock frequency (only for SPI)
10 10
11Optional properties:11Optional properties:
12 - interrupt-parent : should be the phandle of the interrupt controller
13 - interrupts : interrupt mapping for IRQ, must be IRQ_TYPE_LEVEL_LOW12 - interrupts : interrupt mapping for IRQ, must be IRQ_TYPE_LEVEL_LOW
14 - interrupt-names : set to "INT1" if INT1 pin should be used as interrupt13 - interrupt-names : set to "INT1" if INT1 pin should be used as interrupt
15 input, set to "INT2" if INT2 pin should be used instead14 input, set to "INT2" if INT2 pin should be used instead
Documentation/devicetree/bindings/iio/imu/inv_mpu6050.txt+1−1
@@ -6,12 +6,12 @@ Required properties: · 5 unmodified lines
6 - compatible : should be one of6 - compatible : should be one of
7 "invensense,mpu6050"7 "invensense,mpu6050"
8 "invensense,mpu6500"8 "invensense,mpu6500"
9 "invensense,mpu6515"
9 "invensense,mpu9150"10 "invensense,mpu9150"
10 "invensense,mpu9250"11 "invensense,mpu9250"
11 "invensense,mpu9255"12 "invensense,mpu9255"
12 "invensense,icm20608"13 "invensense,icm20608"
13 - reg : the I2C address of the sensor14 - reg : the I2C address of the sensor
14 - interrupt-parent : should be the phandle for the interrupt controller
15 - interrupts: interrupt mapping for IRQ. It should be configured with flags15 - interrupts: interrupt mapping for IRQ. It should be configured with flags
16 IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_EDGE_RISING, IRQ_TYPE_LEVEL_LOW or16 IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_EDGE_RISING, IRQ_TYPE_LEVEL_LOW or
17 IRQ_TYPE_EDGE_FALLING.17 IRQ_TYPE_EDGE_FALLING.
Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt+0−1
@@ -20,7 +20,6 @@ Optional properties: · 19 unmodified lines
20 IRQ_TYPE_EDGE_RISING a pull-down resistor is needed to drive the line20 IRQ_TYPE_EDGE_RISING a pull-down resistor is needed to drive the line
21 when it is not active, whereas a pull-up one is needed when interrupt21 when it is not active, whereas a pull-up one is needed when interrupt
22 line is configured as IRQ_TYPE_LEVEL_LOW or IRQ_TYPE_EDGE_FALLING.22 line is configured as IRQ_TYPE_LEVEL_LOW or IRQ_TYPE_EDGE_FALLING.
23- interrupt-parent: should be the phandle for the interrupt controller
24- interrupts: interrupt mapping for IRQ. It should be configured with23- interrupts: interrupt mapping for IRQ. It should be configured with
25 flags IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_EDGE_RISING, IRQ_TYPE_LEVEL_LOW or24 flags IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_EDGE_RISING, IRQ_TYPE_LEVEL_LOW or
26 IRQ_TYPE_EDGE_FALLING.25 IRQ_TYPE_EDGE_FALLING.
Documentation/devicetree/bindings/iio/light/apds9300.txt+0−1
@@ -9,7 +9,6 @@ Required properties: · 8 unmodified lines
9 9
10Optional properties:10Optional properties:
11 11
12 - interrupt-parent : should be the phandle for the interrupt controller
13 - interrupts : interrupt mapping for GPIO IRQ12 - interrupts : interrupt mapping for GPIO IRQ
14 13
15Example:14Example:
Documentation/devicetree/bindings/iio/light/apds9960.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6 6
7 - compatible: must be "avago,apds9960"7 - compatible: must be "avago,apds9960"
8 - reg: the I2c address of the sensor8 - reg: the I2c address of the sensor
9 - interrupt-parent: should be the phandle for the interrupt controller
10 - interrupts : the sole interrupt generated by the device9 - interrupts : the sole interrupt generated by the device
11 10
12 Refer to interrupt-controller/interrupts.txt for generic interrupt client11 Refer to interrupt-controller/interrupts.txt for generic interrupt client
Documentation/devicetree/bindings/iio/light/isl29018.txt+0−1
@@ -10,7 +10,6 @@ Required properties: · 9 unmodified lines
10 10
11Optional properties:11Optional properties:
12 12
13 - interrupt-parent: should be the phandle for the interrupt controller
14 - interrupts: the sole interrupt generated by the device13 - interrupts: the sole interrupt generated by the device
15 14
16 Refer to interrupt-controller/interrupts.txt for generic interrupt client15 Refer to interrupt-controller/interrupts.txt for generic interrupt client
Documentation/devicetree/bindings/iio/light/isl29501.txt+13−0
@@ -0,0 +1,13 @@
1* ISL29501 Time-of-flight sensor.
2
3Required properties:
4
5 - compatible : should be "renesas,isl29501"
6 - reg : the I2C address of the sensor
7
8Example:
9
10isl29501@57 {
11 compatible = "renesas,isl29501";
12 reg = <0x57>;
13};
Documentation/devicetree/bindings/iio/light/opt3001.txt+0−1
@@ -13,7 +13,6 @@ Required properties: · 12 unmodified lines
13 - reg: the I2C address of the sensor13 - reg: the I2C address of the sensor
14 14
15Optional properties:15Optional properties:
16 - interrupt-parent: should be the phandle for the interrupt controller
17 - interrupts: interrupt mapping for GPIO IRQ (configure for falling edge)16 - interrupts: interrupt mapping for GPIO IRQ (configure for falling edge)
18 17
19Example:18Example:
Documentation/devicetree/bindings/iio/light/tsl2583.txt+0−1
@@ -10,7 +10,6 @@ Required properties: · 9 unmodified lines
10 10
11Optional properties:11Optional properties:
12 12
13 - interrupt-parent: should be the phandle for the interrupt controller
14 - interrupts: the sole interrupt generated by the device13 - interrupts: the sole interrupt generated by the device
15 14
16 Refer to interrupt-controller/interrupts.txt for generic interrupt client15 Refer to interrupt-controller/interrupts.txt for generic interrupt client
Documentation/devicetree/bindings/iio/light/uvis25.txt+0−1
@@ -5,7 +5,6 @@ Required properties: · 4 unmodified lines
5- reg: i2c address of the sensor / spi cs line5- reg: i2c address of the sensor / spi cs line
6 6
7Optional properties:7Optional properties:
8- interrupt-parent: should be the phandle for the interrupt controller
9- interrupts: interrupt mapping for IRQ. It should be configured with8- interrupts: interrupt mapping for IRQ. It should be configured with
10 flags IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_EDGE_RISING, IRQ_TYPE_LEVEL_LOW or9 flags IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_EDGE_RISING, IRQ_TYPE_LEVEL_LOW or
11 IRQ_TYPE_EDGE_FALLING.10 IRQ_TYPE_EDGE_FALLING.
Documentation/devicetree/bindings/iio/magnetometer/bmc150_magn.txt+0−1
@@ -9,7 +9,6 @@ Required properties: · 8 unmodified lines
9 9
10Optional properties:10Optional properties:
11 11
12 - interrupt-parent : phandle to the parent interrupt controller
13 - interrupts : interrupt mapping for GPIO IRQ12 - interrupts : interrupt mapping for GPIO IRQ
14 13
15Example:14Example:
Documentation/devicetree/bindings/iio/pressure/bmp085.txt+0−8
@@ -8,11 +8,6 @@ Required properties: · 7 unmodified lines
8 "bosch,bme280"8 "bosch,bme280"
9 9
10Optional properties:10Optional properties:
11- chip-id: configurable chip id for non-default chip revisions
12- temp-measurement-period: temperature measurement period (milliseconds)
13- default-oversampling: default oversampling value to be used at startup,
14 value range is 0-3 with rising sensitivity.
15- interrupt-parent: should be the phandle for the interrupt controller
16- interrupts: interrupt mapping for IRQ11- interrupts: interrupt mapping for IRQ
17- reset-gpios: a GPIO line handling reset of the sensor: as the line is12- reset-gpios: a GPIO line handling reset of the sensor: as the line is
18 active low, it should be marked GPIO_ACTIVE_LOW (see gpio/gpio.txt)13 active low, it should be marked GPIO_ACTIVE_LOW (see gpio/gpio.txt)
@@ -24,9 +19,6 @@ Example: · 5 unmodified lines
24pressure@77 {19pressure@77 {
25 compatible = "bosch,bmp085";20 compatible = "bosch,bmp085";
26 reg = <0x77>;21 reg = <0x77>;
27 chip-id = <10>;
28 temp-measurement-period = <100>;
29 default-oversampling = <2>;
30 interrupt-parent = <&gpio0>;22 interrupt-parent = <&gpio0>;
31 interrupts = <25 IRQ_TYPE_EDGE_RISING>;23 interrupts = <25 IRQ_TYPE_EDGE_RISING>;
32 reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;24 reset-gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
Documentation/devicetree/bindings/iio/pressure/zpa2326.txt+0−2
@@ -15,8 +15,6 @@ Optional properties: · 14 unmodified lines
15 power to the sensor15 power to the sensor
16- vdd-supply: an optional regulator that needs to be on to provide VDD16- vdd-supply: an optional regulator that needs to be on to provide VDD
17 power to the sensor17 power to the sensor
18- interrupt-parent: phandle to the parent interrupt controller as documented in
19 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
20- interrupts: interrupt mapping for IRQ as documented in18- interrupts: interrupt mapping for IRQ as documented in
21 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt19 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
22 20
Documentation/devicetree/bindings/iio/proximity/as3935.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6 - spi-max-frequency: specifies maximum SPI clock frequency6 - spi-max-frequency: specifies maximum SPI clock frequency
7 - spi-cpha: SPI Mode 1. Refer to spi/spi-bus.txt for generic SPI7 - spi-cpha: SPI Mode 1. Refer to spi/spi-bus.txt for generic SPI
8 slave node bindings.8 slave node bindings.
9 - interrupt-parent : should be the phandle for the interrupt controller
10 - interrupts : the sole interrupt generated by the device9 - interrupts : the sole interrupt generated by the device
11 10
12 Refer to interrupt-controller/interrupts.txt for generic11 Refer to interrupt-controller/interrupts.txt for generic
Documentation/devicetree/bindings/iio/proximity/sx9500.txt+0−1
@@ -3,7 +3,6 @@ Semtech's SX9500 capacitive proximity button device driver · 2 unmodified lines
3Required properties:3Required properties:
4 - compatible: must be "semtech,sx9500"4 - compatible: must be "semtech,sx9500"
5 - reg: i2c address where to find the device5 - reg: i2c address where to find the device
6 - interrupt-parent : should be the phandle for the interrupt controller
7 - interrupts : the sole interrupt generated by the device6 - interrupts : the sole interrupt generated by the device
8 7
9 Refer to interrupt-controller/interrupts.txt for generic8 Refer to interrupt-controller/interrupts.txt for generic
Documentation/devicetree/bindings/iio/sensorhub.txt+0−1
@@ -6,7 +6,6 @@ of a virtual sensor device. · 5 unmodified lines
6Required properties:6Required properties:
7- compatible: "samsung,sensorhub-rinato" or "samsung,sensorhub-thermostat"7- compatible: "samsung,sensorhub-rinato" or "samsung,sensorhub-thermostat"
8- spi-max-frequency: max SPI clock frequency8- spi-max-frequency: max SPI clock frequency
9- interrupt-parent: interrupt parent
10- interrupts: communication interrupt9- interrupts: communication interrupt
11- ap-mcu-gpios: [out] ap to sensorhub line - used during communication10- ap-mcu-gpios: [out] ap to sensorhub line - used during communication
12- mcu-ap-gpios: [in] sensorhub to ap - used during communication11- mcu-ap-gpios: [in] sensorhub to ap - used during communication
Documentation/devicetree/bindings/iio/temperature/tmp007.txt+0−2
@@ -20,8 +20,6 @@ Required properties: · 19 unmodified lines
20 20
21Optional properties:21Optional properties:
22 22
23 - interrupt-parent: should be the phandle for the interrupt controller
24
25 - interrupts: interrupt mapping for GPIO IRQ (level active low)23 - interrupts: interrupt mapping for GPIO IRQ (level active low)
26 24
27Example:25Example:
Documentation/devicetree/bindings/infiniband/hisilicon-hns-roce.txt+0−1
@@ -19,7 +19,6 @@ representing a dsaf device. · 18 unmodified lines
19- #size-cells: must be 219- #size-cells: must be 2
20Optional properties:20Optional properties:
21- dma-coherent: Present if DMA operations are coherent.21- dma-coherent: Present if DMA operations are coherent.
22- interrupt-parent: the interrupt parent of this device.
23- interrupts: should contain 32 completion event irq,1 async event irq22- interrupts: should contain 32 completion event irq,1 async event irq
24and 1 event overflow irq.23and 1 event overflow irq.
25- interrupt-names:should be one of 34 irqs for roce device24- interrupt-names:should be one of 34 irqs for roce device
Documentation/devicetree/bindings/input/cypress,cyapa.txt+0−2
@@ -3,8 +3,6 @@ Cypress I2C Touchpad · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: must be "cypress,cyapa".4- compatible: must be "cypress,cyapa".
5- reg: I2C address of the chip.5- reg: I2C address of the chip.
6- interrupt-parent: a phandle for the interrupt controller (see interrupt
7 binding[0]).
8- interrupts: interrupt to which the chip is connected (see interrupt6- interrupts: interrupt to which the chip is connected (see interrupt
9 binding[0]).7 binding[0]).
10 8
Documentation/devicetree/bindings/input/cypress,tm2-touchkey.txt+0−2
@@ -3,8 +3,6 @@ Samsung tm2-touchkey · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: must be "cypress,tm2-touchkey"4- compatible: must be "cypress,tm2-touchkey"
5- reg: I2C address of the chip.5- reg: I2C address of the chip.
6- interrupt-parent: a phandle for the interrupt controller (see interrupt
7 binding[0]).
8- interrupts: interrupt to which the chip is connected (see interrupt6- interrupts: interrupt to which the chip is connected (see interrupt
9 binding[0]).7 binding[0]).
10- vcc-supply : internal regulator output. 1.8V8- vcc-supply : internal regulator output. 1.8V
Documentation/devicetree/bindings/input/e3x0-button.txt+0−2
@@ -7,8 +7,6 @@ This module provides a simple power button event via two interrupts. · 6 unmodified lines
7Required properties:7Required properties:
8- compatible: should be one of the following8- compatible: should be one of the following
9 - "ettus,e3x0-button": For devices such as the NI Ettus Research USRP E3x09 - "ettus,e3x0-button": For devices such as the NI Ettus Research USRP E3x0
10- interrupt-parent:
11 - a phandle to the interrupt controller that it is attached to.
12- interrupts: should be one of the following10- interrupts: should be one of the following
13 - <0 30 1>, <0 31 1>: For devices such as the NI Ettus Research USRP E3x011 - <0 30 1>, <0 31 1>: For devices such as the NI Ettus Research USRP E3x0
14- interrupt-names: should be one of the following12- interrupt-names: should be one of the following
Documentation/devicetree/bindings/input/elan_i2c.txt+0−2
@@ -3,8 +3,6 @@ Elantech I2C Touchpad · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: must be "elan,ekth3000".4- compatible: must be "elan,ekth3000".
5- reg: I2C address of the chip.5- reg: I2C address of the chip.
6- interrupt-parent: a phandle for the interrupt controller (see interrupt
7 binding[0]).
8- interrupts: interrupt to which the chip is connected (see interrupt6- interrupts: interrupt to which the chip is connected (see interrupt
9 binding[0]).7 binding[0]).
10 8
Documentation/devicetree/bindings/input/elants_i2c.txt+0−2
@@ -3,8 +3,6 @@ Elantech I2C Touchscreen · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: must be "elan,ekth3500".4- compatible: must be "elan,ekth3500".
5- reg: I2C address of the chip.5- reg: I2C address of the chip.
6- interrupt-parent: a phandle for the interrupt controller (see interrupt
7 binding[0]).
8- interrupts: interrupt to which the chip is connected (see interrupt6- interrupts: interrupt to which the chip is connected (see interrupt
9 binding[0]).7 binding[0]).
10 8
Documentation/devicetree/bindings/input/hid-over-i2c.txt+2−2
@@ -14,7 +14,6 @@ Required properties: · 13 unmodified lines
14- compatible: must be "hid-over-i2c"14- compatible: must be "hid-over-i2c"
15- reg: i2c slave address15- reg: i2c slave address
16- hid-descr-addr: HID descriptor address16- hid-descr-addr: HID descriptor address
17- interrupt-parent: the phandle for the interrupt controller
18- interrupts: interrupt line17- interrupts: interrupt line
19 18
20Additional optional properties:19Additional optional properties:
@@ -26,7 +25,8 @@ device-specific compatible properties, which should be used in addition to the · 5 unmodified lines
26 25
27- compatible:26- compatible:
28 * "wacom,w9013" (Wacom W9013 digitizer). Supports:27 * "wacom,w9013" (Wacom W9013 digitizer). Supports:
29 - vdd-supply28 - vdd-supply (3.3V)
29 - vddl-supply (1.8V)
30 - post-power-on-delay-ms30 - post-power-on-delay-ms
31 31
32- vdd-supply: phandle of the regulator that provides the supply voltage.32- vdd-supply: phandle of the regulator that provides the supply voltage.
Documentation/devicetree/bindings/input/keys.txt+8−0
@@ -0,0 +1,8 @@
1General Keys Properties:
2
3Optional properties for Keys:
4- power-off-time-sec: Duration in seconds which the key should be kept
5 pressed for device to power off automatically. Device with key pressed
6 shutdown feature can specify this property.
7- linux,keycodes: Specifies the numeric keycode values to be used for
8 reporting key presses.
Documentation/devicetree/bindings/input/qcom,pm8941-pwrkey.txt+10−0
@@ -7,6 +7,7 @@ PROPERTIES · 6 unmodified lines
7 Value type: <string>7 Value type: <string>
8 Definition: must be one of:8 Definition: must be one of:
9 "qcom,pm8941-pwrkey"9 "qcom,pm8941-pwrkey"
10 "qcom,pm8941-resin"
10 11
11- reg:12- reg:
12 Usage: required13 Usage: required
@@ -32,6 +33,14 @@ PROPERTIES · 19 unmodified lines
32 Definition: presence of this property indicates that the KPDPWR_N pin33 Definition: presence of this property indicates that the KPDPWR_N pin
33 should be configured for pull up.34 should be configured for pull up.
34 35
36- linux,code:
37 Usage: optional
38 Value type: <u32>
39 Definition: The input key-code associated with the power key.
40 Use the linux event codes defined in
41 include/dt-bindings/input/linux-event-codes.h
42 When property is omitted KEY_POWER is assumed.
43
35EXAMPLE44EXAMPLE
36 45
37 pwrkey@800 {46 pwrkey@800 {
@@ -40,4 +49,5 @@ EXAMPLE · 2 unmodified lines
40 interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;49 interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
41 debounce = <15625>;50 debounce = <15625>;
42 bias-pull-up;51 bias-pull-up;
52 linux,code = <KEY_POWER>;
43 };53 };
Documentation/devicetree/bindings/input/raydium_i2c_ts.txt+0−1
@@ -3,7 +3,6 @@ Raydium I2C touchscreen · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: must be "raydium,rm32380"4- compatible: must be "raydium,rm32380"
5- reg: The I2C address of the device5- reg: The I2C address of the device
6- interrupt-parent: the phandle for the interrupt controller
7- interrupts: interrupt to which the chip is connected6- interrupts: interrupt to which the chip is connected
8 See ../interrupt-controller/interrupts.txt7 See ../interrupt-controller/interrupts.txt
9Optional properties:8Optional properties:
Documentation/devicetree/bindings/input/rmi4/rmi_i2c.txt+0−1
@@ -16,7 +16,6 @@ Required Properties: · 15 unmodified lines
16 16
17Optional Properties:17Optional Properties:
18- interrupts: interrupt which the rmi device is connected to.18- interrupts: interrupt which the rmi device is connected to.
19- interrupt-parent: The interrupt controller.
20See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt19See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
21 20
22- syna,reset-delay-ms: The number of milliseconds to wait after resetting the21- syna,reset-delay-ms: The number of milliseconds to wait after resetting the
Documentation/devicetree/bindings/input/rmi4/rmi_spi.txt+0−1
@@ -16,7 +16,6 @@ Required Properties: · 15 unmodified lines
16 16
17Optional Properties:17Optional Properties:
18- interrupts: interrupt which the rmi device is connected to.18- interrupts: interrupt which the rmi device is connected to.
19- interrupt-parent: The interrupt controller.
20See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt19See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
21 20
22- spi-rx-delay-us: microsecond delay after a read transfer.21- spi-rx-delay-us: microsecond delay after a read transfer.
Documentation/devicetree/bindings/input/ti,palmas-pwrbutton.txt+0−1
@@ -9,7 +9,6 @@ This module provides a simple power button event via an Interrupt. · 8 unmodified lines
9Required properties:9Required properties:
10- compatible: should be one of the following10- compatible: should be one of the following
11 - "ti,palmas-pwrbutton": For Palmas compatible power on button11 - "ti,palmas-pwrbutton": For Palmas compatible power on button
12- interrupt-parent: Parent interrupt device, must be handle of palmas node.
13- interrupts: Interrupt number of power button submodule on device.12- interrupts: Interrupt number of power button submodule on device.
14 13
15Optional Properties:14Optional Properties:
Documentation/devicetree/bindings/input/touchscreen/ad7879.txt+0−1
@@ -5,7 +5,6 @@ Required properties: · 4 unmodified lines
5 for I2C slave, use "adi,ad7879-1"5 for I2C slave, use "adi,ad7879-1"
6- reg : SPI chipselect/I2C slave address6- reg : SPI chipselect/I2C slave address
7 See spi-bus.txt for more SPI slave properties7 See spi-bus.txt for more SPI slave properties
8- interrupt-parent : the phandle for the interrupt controller
9- interrupts : touch controller interrupt8- interrupts : touch controller interrupt
10- touchscreen-max-pressure : maximum reported pressure9- touchscreen-max-pressure : maximum reported pressure
11- adi,resistance-plate-x : total resistance of X-plate (for pressure10- adi,resistance-plate-x : total resistance of X-plate (for pressure
Documentation/devicetree/bindings/input/touchscreen/ads7846.txt+0−1
@@ -18,7 +18,6 @@ Additional required properties: · 17 unmodified lines
18 "ti,ads7846"18 "ti,ads7846"
19 "ti,ads7873"19 "ti,ads7873"
20 20
21 interrupt-parent
22 interrupts An interrupt node describing the IRQ line the chip's21 interrupts An interrupt node describing the IRQ line the chip's
23 !PENIRQ pin is connected to.22 !PENIRQ pin is connected to.
24 vcc-supply A regulator node for the supply voltage.23 vcc-supply A regulator node for the supply voltage.
Documentation/devicetree/bindings/input/touchscreen/ar1021.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible : "microchip,ar1021-i2c"4- compatible : "microchip,ar1021-i2c"
5- reg : I2C slave address5- reg : I2C slave address
6- interrupt-parent : the phandle for the interrupt controller
7- interrupts : touch controller interrupt6- interrupts : touch controller interrupt
8 7
9Example:8Example:
Documentation/devicetree/bindings/input/touchscreen/bu21029.txt+35−0
@@ -0,0 +1,35 @@
1* Rohm BU21029 Touch Screen Controller
2
3Required properties:
4 - compatible : must be "rohm,bu21029"
5 - reg : i2c device address of the chip (0x40 or 0x41)
6 - interrupt-parent : the phandle for the gpio controller
7 - interrupts : (gpio) interrupt to which the chip is connected
8 - rohm,x-plate-ohms : x-plate resistance in Ohm
9
10Optional properties:
11 - reset-gpios : gpio pin to reset the chip (active low)
12 - touchscreen-size-x : horizontal resolution of touchscreen (in pixels)
13 - touchscreen-size-y : vertical resolution of touchscreen (in pixels)
14 - touchscreen-max-pressure: maximum pressure value
15 - vdd-supply : power supply for the controller
16
17Example:
18
19 &i2c1 {
20 /* ... */
21
22 bu21029: bu21029@40 {
23 compatible = "rohm,bu21029";
24 reg = <0x40>;
25 interrupt-parent = <&gpio1>;
26 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
27 reset-gpios = <&gpio6 16 GPIO_ACTIVE_LOW>;
28 rohm,x-plate-ohms = <600>;
29 touchscreen-size-x = <800>;
30 touchscreen-size-y = <480>;
31 touchscreen-max-pressure = <4095>;
32 };
33
34 /* ... */
35 };
Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4 - compatible : "chipone,icn8318"4 - compatible : "chipone,icn8318"
5 - reg : I2C slave address of the chip (0x40)5 - reg : I2C slave address of the chip (0x40)
6 - interrupt-parent : a phandle pointing to the interrupt controller
7 serving the interrupt for this chip
8 - interrupts : interrupt specification for the icn8318 interrupt6 - interrupts : interrupt specification for the icn8318 interrupt
9 - wake-gpios : GPIO specification for the WAKE input7 - wake-gpios : GPIO specification for the WAKE input
10 - touchscreen-size-x : horizontal resolution of touchscreen (in pixels)8 - touchscreen-size-x : horizontal resolution of touchscreen (in pixels)
Documentation/devicetree/bindings/input/touchscreen/colibri-vf50-ts.txt+0−1
@@ -7,7 +7,6 @@ Required Properties: · 6 unmodified lines
7- xm-gpios: FET gate driver for input of X-7- xm-gpios: FET gate driver for input of X-
8- yp-gpios: FET gate driver for input of Y+8- yp-gpios: FET gate driver for input of Y+
9- ym-gpios: FET gate driver for input of Y-9- ym-gpios: FET gate driver for input of Y-
10- interrupt-parent: phandle for the interrupt controller
11- interrupts: pen irq interrupt for touch detection10- interrupts: pen irq interrupt for touch detection
12- pinctrl-names: "idle", "default", "gpios"11- pinctrl-names: "idle", "default", "gpios"
13- pinctrl-0: pinctrl node for pen/touch detection state pinmux12- pinctrl-0: pinctrl node for pen/touch detection state pinmux
Documentation/devicetree/bindings/input/touchscreen/cyttsp.txt+0−2
@@ -4,8 +4,6 @@ Required properties: · 3 unmodified lines
4 - compatible : must be "cypress,cyttsp-i2c" or "cypress,cyttsp-spi"4 - compatible : must be "cypress,cyttsp-i2c" or "cypress,cyttsp-spi"
5 - reg : Device I2C address or SPI chip select number5 - reg : Device I2C address or SPI chip select number
6 - spi-max-frequency : Maximum SPI clocking speed of the device (for cyttsp-spi)6 - spi-max-frequency : Maximum SPI clocking speed of the device (for cyttsp-spi)
7 - interrupt-parent : the phandle for the gpio controller
8 (see interrupt binding[0]).
9 - interrupts : (gpio) interrupt to which the chip is connected7 - interrupts : (gpio) interrupt to which the chip is connected
10 (see interrupt binding[0]).8 (see interrupt binding[0]).
11 - bootloader-key : the 8-byte bootloader key that is required to switch9 - bootloader-key : the 8-byte bootloader key that is required to switch
Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt+0−2
@@ -22,8 +22,6 @@ Required properties: · 21 unmodified lines
22 or: "focaltech,ft6236"22 or: "focaltech,ft6236"
23 23
24 - reg: I2C slave address of the chip (0x38)24 - reg: I2C slave address of the chip (0x38)
25 - interrupt-parent: a phandle pointing to the interrupt controller
26 serving the interrupt for this chip
27 - interrupts: interrupt specification for the touchdetect25 - interrupts: interrupt specification for the touchdetect
28 interrupt26 interrupt
29 27
Documentation/devicetree/bindings/input/touchscreen/eeti.txt+30−0
@@ -0,0 +1,30 @@
1Bindings for EETI touchscreen controller
2
3Required properties:
4- compatible: should be "eeti,exc3000-i2c"
5- reg: I2C address of the chip. Should be set to <0xa>
6- interrupts: interrupt to which the chip is connected
7
8Optional properties:
9- attn-gpios: A handle to a GPIO to check whether interrupt is still
10 latched. This is necessary for platforms that lack
11 support for level-triggered IRQs.
12
13The following optional properties described in touchscreen.txt are
14also supported:
15
16- touchscreen-inverted-x
17- touchscreen-inverted-y
18- touchscreen-swapped-x-y
19
20Example:
21
22i2c-master {
23 touchscreen@a {
24 compatible = "eeti,exc3000-i2c";
25 reg = <0xa>;
26 interrupt-parent = <&gpio>;
27 interrupts = <123 IRQ_TYPE_EDGE_RISING>;
28 attn-gpios = <&gpio 123 GPIO_ACTIVE_HIGH>;
29 };
30};
Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: must be "eeti,egalax_ts"4- compatible: must be "eeti,egalax_ts"
5- reg: i2c slave address5- reg: i2c slave address
6- interrupt-parent: the phandle for the interrupt controller
7- interrupts: touch controller interrupt6- interrupts: touch controller interrupt
8- wakeup-gpios: the gpio pin to be used for waking up the controller7- wakeup-gpios: the gpio pin to be used for waking up the controller
9 and also used as irq pin8 and also used as irq pin
Documentation/devicetree/bindings/input/touchscreen/ektf2127.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4 - compatible : "elan,ektf2127"4 - compatible : "elan,ektf2127"
5 - reg : I2C slave address of the chip (0x40)5 - reg : I2C slave address of the chip (0x40)
6 - interrupt-parent : a phandle pointing to the interrupt controller
7 serving the interrupt for this chip
8 - interrupts : interrupt specification for the ektf2127 interrupt6 - interrupts : interrupt specification for the ektf2127 interrupt
9 - power-gpios : GPIO specification for the pin connected to the7 - power-gpios : GPIO specification for the pin connected to the
10 ektf2127's wake input. This needs to be driven high8 ektf2127's wake input. This needs to be driven high
Documentation/devicetree/bindings/input/touchscreen/exc3000.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: must be "eeti,exc3000"4- compatible: must be "eeti,exc3000"
5- reg: i2c slave address5- reg: i2c slave address
6- interrupt-parent: the phandle for the interrupt controller
7- interrupts: touch controller interrupt6- interrupts: touch controller interrupt
8- touchscreen-size-x: See touchscreen.txt7- touchscreen-size-x: See touchscreen.txt
9- touchscreen-size-y: See touchscreen.txt8- touchscreen-size-y: See touchscreen.txt
Documentation/devicetree/bindings/input/touchscreen/fsl-mx25-tcq.txt+0−1
@@ -8,7 +8,6 @@ Required properties: · 7 unmodified lines
8 - reg: Memory range of the device.8 - reg: Memory range of the device.
9 - interrupts: Should be the interrupt number associated with this module within9 - interrupts: Should be the interrupt number associated with this module within
10 the tscadc unit (<0>).10 the tscadc unit (<0>).
11 - interrupt-parent: Should be a phandle to the tscadc unit.
12 - fsl,wires: Should be '<4>' or '<5>'11 - fsl,wires: Should be '<4>' or '<5>'
13 12
14Optional properties:13Optional properties:
Documentation/devicetree/bindings/input/touchscreen/goodix.txt+0−1
@@ -11,7 +11,6 @@ Required properties: · 10 unmodified lines
11 or "goodix,gt928"11 or "goodix,gt928"
12 or "goodix,gt967"12 or "goodix,gt967"
13 - reg : I2C address of the chip. Should be 0x5d or 0x1413 - reg : I2C address of the chip. Should be 0x5d or 0x14
14 - interrupt-parent : Interrupt controller to which the chip is connected
15 - interrupts : Interrupt to which the chip is connected14 - interrupts : Interrupt to which the chip is connected
16 15
17Optional properties:16Optional properties:
Documentation/devicetree/bindings/input/touchscreen/hideep.txt+1−2
@@ -3,7 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible : must be "hideep,hideep-ts"4- compatible : must be "hideep,hideep-ts"
5- reg : I2C slave address, (e.g. 0x6C).5- reg : I2C slave address, (e.g. 0x6C).
6- interrupt-parent : Interrupt controller to which the chip is connected.
7- interrupts : Interrupt to which the chip is connected.6- interrupts : Interrupt to which the chip is connected.
8 7
9Optional properties:8Optional properties:
@@ -32,7 +31,7 @@ i2c@00000000 { · 22 unmodified lines
32 reg = <0x6c>;31 reg = <0x6c>;
33 interrupt-parent = <&gpx1>;32 interrupt-parent = <&gpx1>;
34 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;33 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
35 vdd-supply = <&ldo15_reg>";34 vdd-supply = <&ldo15_reg>;
36 vid-supply = <&ldo18_reg>;35 vid-supply = <&ldo18_reg>;
37 reset-gpios = <&gpx1 5 0>;36 reset-gpios = <&gpx1 5 0>;
38 touchscreen-size-x = <1080>;37 touchscreen-size-x = <1080>;
Documentation/devicetree/bindings/input/touchscreen/max11801-ts.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: must be "maxim,max11801"4- compatible: must be "maxim,max11801"
5- reg: i2c slave address5- reg: i2c slave address
6- interrupt-parent: the phandle for the interrupt controller
7- interrupts: touch controller interrupt6- interrupts: touch controller interrupt
8 7
9Example:8Example:
Documentation/devicetree/bindings/input/touchscreen/melfas_mip4.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: must be "melfas,mip4_ts"4- compatible: must be "melfas,mip4_ts"
5- reg: I2C slave address of the chip (0x48 or 0x34)5- reg: I2C slave address of the chip (0x48 or 0x34)
6- interrupt-parent: interrupt controller to which the chip is connected
7- interrupts: interrupt to which the chip is connected6- interrupts: interrupt to which the chip is connected
8 7
9Optional properties:8Optional properties:
Documentation/devicetree/bindings/input/touchscreen/resistive-adc-touch.txt+30−0
@@ -0,0 +1,30 @@
1Generic resistive touchscreen ADC
2
3Required properties:
4
5 - compatible: must be "resistive-adc-touch"
6The device must be connected to an ADC device that provides channels for
7position measurement and optional pressure.
8Refer to ../iio/iio-bindings.txt for details
9 - iio-channels: must have at least two channels connected to an ADC device.
10These should correspond to the channels exposed by the ADC device and should
11have the right index as the ADC device registers them. These channels
12represent the relative position on the "x" and "y" axes.
13 - iio-channel-names: must have all the channels' names. Mandatory channels
14are "x" and "y".
15
16Optional properties:
17 - iio-channels: The third channel named "pressure" is optional and can be
18used if the ADC device also measures pressure besides position.
19If this channel is missing, pressure will be ignored and the touchscreen
20will only report position.
21 - iio-channel-names: optional channel named "pressure".
22
23Example:
24
25 resistive_touch: resistive_touch {
26 compatible = "resistive-adc-touch";
27 touchscreen-min-pressure = <50000>;
28 io-channels = <&adc 24>, <&adc 25>, <&adc 26>;
29 io-channel-names = "x", "y", "pressure";
30 };
Documentation/devicetree/bindings/input/touchscreen/samsung,s6sy761.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible : must be "samsung,s6sy761"4- compatible : must be "samsung,s6sy761"
5- reg : I2C slave address, (e.g. 0x48)5- reg : I2C slave address, (e.g. 0x48)
6- interrupt-parent : the phandle to the interrupt controller which provides
7 the interrupt
8- interrupts : interrupt specification6- interrupts : interrupt specification
9- avdd-supply : analogic power supply7- avdd-supply : analogic power supply
10- vdd-supply : power supply8- vdd-supply : power supply
Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt+0−2
@@ -8,8 +8,6 @@ Required properties: · 7 unmodified lines
8 "silead,gsl3675"8 "silead,gsl3675"
9 "silead,gsl3692"9 "silead,gsl3692"
10- reg : I2C slave address of the chip (0x40)10- reg : I2C slave address of the chip (0x40)
11- interrupt-parent : a phandle pointing to the interrupt controller
12 serving the interrupt for this chip
13- interrupts : interrupt specification for the gsl1680 interrupt11- interrupts : interrupt specification for the gsl1680 interrupt
14- power-gpios : Specification for the pin connected to the gsl1680's12- power-gpios : Specification for the pin connected to the gsl1680's
15 shutdown input. This needs to be driven high to take the13 shutdown input. This needs to be driven high to take the
Documentation/devicetree/bindings/input/touchscreen/sis_i2c.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: must be "sis,9200-ts"4- compatible: must be "sis,9200-ts"
5- reg: i2c slave address5- reg: i2c slave address
6- interrupt-parent: the phandle for the interrupt controller
7 (see interrupt binding [0])
8- interrupts: touch controller interrupt (see interrupt6- interrupts: touch controller interrupt (see interrupt
9 binding [0])7 binding [0])
10 8
Documentation/devicetree/bindings/input/touchscreen/st,stmfts.txt+0−2
@@ -10,8 +10,6 @@ coordinates. · 9 unmodified lines
10Required properties:10Required properties:
11- compatible : must be "st,stmfts"11- compatible : must be "st,stmfts"
12- reg : I2C slave address, (e.g. 0x49)12- reg : I2C slave address, (e.g. 0x49)
13- interrupt-parent : the phandle to the interrupt controller which provides
14 the interrupt
15- interrupts : interrupt specification13- interrupts : interrupt specification
16- avdd-supply : analogic power supply14- avdd-supply : analogic power supply
17- vdd-supply : power supply15- vdd-supply : power supply
Documentation/devicetree/bindings/input/touchscreen/sx8654.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: must be "semtech,sx8654"4- compatible: must be "semtech,sx8654"
5- reg: i2c slave address5- reg: i2c slave address
6- interrupt-parent: the phandle for the interrupt controller
7- interrupts: touch controller interrupt6- interrupts: touch controller interrupt
8 7
9Example:8Example:
Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt+3−0
@@ -7,6 +7,9 @@ Optional properties for Touchscreens: · 6 unmodified lines
7 (in pixels)7 (in pixels)
8 - touchscreen-max-pressure : maximum reported pressure (arbitrary range8 - touchscreen-max-pressure : maximum reported pressure (arbitrary range
9 dependent on the controller)9 dependent on the controller)
10 - touchscreen-min-pressure : minimum pressure on the touchscreen to be
11 achieved in order for the touchscreen
12 driver to report a touch event.
10 - touchscreen-fuzz-x : horizontal noise value of the absolute input13 - touchscreen-fuzz-x : horizontal noise value of the absolute input
11 device (in pixels)14 device (in pixels)
12 - touchscreen-fuzz-y : vertical noise value of the absolute input15 - touchscreen-fuzz-y : vertical noise value of the absolute input
Documentation/devicetree/bindings/input/touchscreen/tsc2007.txt+0−2
@@ -9,8 +9,6 @@ Optional properties: · 8 unmodified lines
9- gpios: the interrupt gpio the chip is connected to (trough the penirq pin).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.10 The penirq pin goes to low when the panel is touched.
11 (see GPIO binding[1] for more details).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 connected12- interrupts: (gpio) interrupt to which the chip is connected
15 (see interrupt binding[0]).13 (see interrupt binding[0]).
16- ti,max-rt: maximum pressure.14- ti,max-rt: maximum pressure.
Documentation/devicetree/bindings/input/touchscreen/zet6223.txt+0−2
@@ -3,8 +3,6 @@ Zeitec ZET6223 I2C touchscreen controller · 2 unmodified lines
3Required properties:3Required properties:
4- compatible : "zeitec,zet6223"4- compatible : "zeitec,zet6223"
5- reg : I2C slave address of the chip (0x76)5- reg : I2C slave address of the chip (0x76)
6- interrupt-parent : a phandle pointing to the interrupt controller
7 serving the interrupt for this chip
8- interrupts : interrupt specification for the zet6223 interrupt6- interrupts : interrupt specification for the zet6223 interrupt
9 7
10Optional properties:8Optional properties:
Documentation/devicetree/bindings/interrupt-controller/abilis,tb10x-ictl.txt+0−1
@@ -13,7 +13,6 @@ Required properties · 12 unmodified lines
13- interrupt-congroller: Identifies the node as an interrupt controller.13- interrupt-congroller: Identifies the node as an interrupt controller.
14- #interrupt cells: Specifies the number of cells used to encode an interrupt14- #interrupt cells: Specifies the number of cells used to encode an interrupt
15 source connected to this controller. The value shall be 2.15 source connected to this controller. The value shall be 2.
16- interrupt-parent: Specifies the parent interrupt controller.
17- interrupts: Specifies the list of interrupt lines which are handled by16- interrupts: Specifies the list of interrupt lines which are handled by
18 the interrupt controller in the parent controller's notation. Interrupts17 the interrupt controller in the parent controller's notation. Interrupts
19 are mapped one-to-one to parent interrupts.18 are mapped one-to-one to parent interrupts.
Documentation/devicetree/bindings/interrupt-controller/al,alpine-msix.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6 6
7- compatible: should be "al,alpine-msix"7- compatible: should be "al,alpine-msix"
8- reg: physical base address and size of the registers8- reg: physical base address and size of the registers
9- interrupt-parent: specifies the parent interrupt controller.
10- interrupt-controller: identifies the node as an interrupt controller9- interrupt-controller: identifies the node as an interrupt controller
11- msi-controller: identifies the node as an PCI Message Signaled Interrupt10- msi-controller: identifies the node as an PCI Message Signaled Interrupt
12 controller11 controller
Documentation/devicetree/bindings/interrupt-controller/allwinner,sunxi-nmi.txt+0−1
@@ -13,7 +13,6 @@ Required properties: · 12 unmodified lines
13- #interrupt-cells : Specifies the number of cells needed to encode an13- #interrupt-cells : Specifies the number of cells needed to encode an
14 interrupt source. The value shall be 2. The first cell is the IRQ number, the14 interrupt source. The value shall be 2. The first cell is the IRQ number, the
15 second cell the trigger type as defined in interrupt.txt in this directory.15 second cell the trigger type as defined in interrupt.txt in this directory.
16- interrupt-parent: Specifies the parent interrupt controller.
17- interrupts: Specifies the interrupt line (NMI) which is handled by16- interrupts: Specifies the interrupt line (NMI) which is handled by
18 the interrupt controller in the parent controller's notation. This value17 the interrupt controller in the parent controller's notation. This value
19 shall be the NMI.18 shall be the NMI.
Documentation/devicetree/bindings/interrupt-controller/amlogic,meson-gpio-intc.txt+0−3
@@ -15,9 +15,6 @@ Required properties: · 14 unmodified lines
15 "amlogic,meson-gxbb-gpio-intc" for GXBB SoCs (S905) or15 "amlogic,meson-gxbb-gpio-intc" for GXBB SoCs (S905) or
16 "amlogic,meson-gxl-gpio-intc" for GXL SoCs (S905X, S912)16 "amlogic,meson-gxl-gpio-intc" for GXL SoCs (S905X, S912)
17 "amlogic,meson-axg-gpio-intc" for AXG SoCs (A113D, A113X)17 "amlogic,meson-axg-gpio-intc" for AXG SoCs (A113D, A113X)
18- interrupt-parent : a phandle to the GIC the interrupts are routed to.
19 Usually this is provided at the root level of the device tree as it is
20 common to most of the SoC.
21- reg : Specifies base physical address and size of the registers.18- reg : Specifies base physical address and size of the registers.
22- interrupt-controller : Identifies the node as an interrupt controller.19- interrupt-controller : Identifies the node as an interrupt controller.
23- #interrupt-cells : Specifies the number of cells needed to encode an20- #interrupt-cells : Specifies the number of cells needed to encode an
Documentation/devicetree/bindings/interrupt-controller/atmel,aic.txt+0−2
@@ -4,7 +4,6 @@ Required properties: · 3 unmodified lines
4- compatible: Should be "atmel,<chip>-aic"4- compatible: Should be "atmel,<chip>-aic"
5 <chip> can be "at91rm9200", "sama5d2", "sama5d3" or "sama5d4"5 <chip> can be "at91rm9200", "sama5d2", "sama5d3" or "sama5d4"
6- interrupt-controller: Identifies the node as an interrupt controller.6- interrupt-controller: Identifies the node as an interrupt controller.
7- interrupt-parent: For single AIC system, it is an empty property.
8- #interrupt-cells: The number of cells to define the interrupts. It should be 3.7- #interrupt-cells: The number of cells to define the interrupts. It should be 3.
9 The first cell is the IRQ number (aka "Peripheral IDentifier" on datasheet).8 The first cell is the IRQ number (aka "Peripheral IDentifier" on datasheet).
10 The second cell is used to specify flags:9 The second cell is used to specify flags:
@@ -27,7 +26,6 @@ Examples: · 16 unmodified lines
27 aic: interrupt-controller@fffff000 {26 aic: interrupt-controller@fffff000 {
28 compatible = "atmel,at91rm9200-aic";27 compatible = "atmel,at91rm9200-aic";
29 interrupt-controller;28 interrupt-controller;
30 interrupt-parent;
31 #interrupt-cells = <3>;29 #interrupt-cells = <3>;
32 reg = <0xfffff000 0x200>;30 reg = <0xfffff000 0x200>;
33 };31 };
Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt+0−2
@@ -26,8 +26,6 @@ Required properties: · 25 unmodified lines
26 are 0..7 for bank 0, and 0..31 for bank 1.26 are 0..7 for bank 0, and 0..31 for bank 1.
27 27
28Additional required properties for brcm,bcm2836-armctrl-ic:28Additional required properties for brcm,bcm2836-armctrl-ic:
29- interrupt-parent : Specifies the parent interrupt controller when this
30 controller is the second level.
31- interrupts : Specifies the interrupt on the parent for this interrupt29- interrupts : Specifies the interrupt on the parent for this interrupt
32 controller to handle.30 controller to handle.
33 31
Documentation/devicetree/bindings/interrupt-controller/brcm,bcm3380-l2-intc.txt+0−2
@@ -18,8 +18,6 @@ Required properties: · 17 unmodified lines
18- interrupt-controller: identifies the node as an interrupt controller18- interrupt-controller: identifies the node as an interrupt controller
19- #interrupt-cells: specifies the number of cells needed to encode an interrupt19- #interrupt-cells: specifies the number of cells needed to encode an interrupt
20 source, should be 1.20 source, should be 1.
21- interrupt-parent: specifies the phandle to the parent interrupt controller
22 this one is cascaded from
23- interrupts: specifies the interrupt line in the interrupt-parent controller21- interrupts: specifies the interrupt line in the interrupt-parent controller
24 node, valid values depend on the type of parent interrupt controller22 node, valid values depend on the type of parent interrupt controller
25 23
Documentation/devicetree/bindings/interrupt-controller/brcm,bcm6345-l1-intc.txt+0−2
@@ -29,8 +29,6 @@ Required properties: · 28 unmodified lines
29- interrupt-controller: identifies the node as an interrupt controller29- interrupt-controller: identifies the node as an interrupt controller
30- #interrupt-cells: specifies the number of cells needed to encode an interrupt30- #interrupt-cells: specifies the number of cells needed to encode an interrupt
31 source, should be 1.31 source, should be 1.
32- interrupt-parent: specifies the phandle to the parent interrupt controller(s)
33 this one is cascaded from
34- interrupts: specifies the interrupt line(s) in the interrupt-parent controller32- interrupts: specifies the interrupt line(s) in the interrupt-parent controller
35 node; valid values depend on the type of parent interrupt controller33 node; valid values depend on the type of parent interrupt controller
36 34
Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7038-l1-intc.txt+0−2
@@ -28,8 +28,6 @@ Required properties: · 27 unmodified lines
28- interrupt-controller: identifies the node as an interrupt controller28- interrupt-controller: identifies the node as an interrupt controller
29- #interrupt-cells: specifies the number of cells needed to encode an interrupt29- #interrupt-cells: specifies the number of cells needed to encode an interrupt
30 source, should be 1.30 source, should be 1.
31- interrupt-parent: specifies the phandle to the parent interrupt controller(s)
32 this one is cascaded from
33- interrupts: specifies the interrupt line(s) in the interrupt-parent controller31- interrupts: specifies the interrupt line(s) in the interrupt-parent controller
34 node; valid values depend on the type of parent interrupt controller32 node; valid values depend on the type of parent interrupt controller
35 33
Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt+0−2
@@ -56,8 +56,6 @@ Required properties: · 55 unmodified lines
56- interrupt-controller: identifies the node as an interrupt controller56- interrupt-controller: identifies the node as an interrupt controller
57- #interrupt-cells: specifies the number of cells needed to encode an interrupt57- #interrupt-cells: specifies the number of cells needed to encode an interrupt
58 source, should be 1.58 source, should be 1.
59- interrupt-parent: specifies the phandle to the parent interrupt controller
60 this one is cascaded from
61- interrupts: specifies the interrupt line(s) in the interrupt-parent controller59- interrupts: specifies the interrupt line(s) in the interrupt-parent controller
62 node, valid values depend on the type of parent interrupt controller60 node, valid values depend on the type of parent interrupt controller
63- brcm,int-map-mask: 32-bits bit mask describing how many and which interrupts61- brcm,int-map-mask: 32-bits bit mask describing how many and which interrupts
Documentation/devicetree/bindings/interrupt-controller/brcm,l2-intc.txt+0−2
@@ -8,8 +8,6 @@ Required properties: · 7 unmodified lines
8- interrupt-controller: identifies the node as an interrupt controller8- interrupt-controller: identifies the node as an interrupt controller
9- #interrupt-cells: specifies the number of cells needed to encode an9- #interrupt-cells: specifies the number of cells needed to encode an
10 interrupt source. Should be 1.10 interrupt source. Should be 1.
11- interrupt-parent: specifies the phandle to the parent interrupt controller
12 this controller is cacaded from
13- interrupts: specifies the interrupt line in the interrupt-parent irq space11- interrupts: specifies the interrupt line in the interrupt-parent irq space
14 to be used for cascading12 to be used for cascading
15 13
Documentation/devicetree/bindings/interrupt-controller/fsl,ls-scfg-msi.txt+0−3
@@ -13,9 +13,6 @@ Required properties: · 12 unmodified lines
13- reg: physical base address of the controller and length of memory mapped.13- reg: physical base address of the controller and length of memory mapped.
14- interrupts: an interrupt to the parent interrupt controller.14- interrupts: an interrupt to the parent interrupt controller.
15 15
16Optional properties:
17- interrupt-parent: the phandle to the parent interrupt controller.
18
19This interrupt controller hardware is a second level interrupt controller that16This interrupt controller hardware is a second level interrupt controller that
20is hooked to a parent interrupt controller: e.g: ARM GIC for ARM-based17is hooked to a parent interrupt controller: e.g: ARM GIC for ARM-based
21platforms. If interrupt-parent is not provided, the default parent interrupt18platforms. If interrupt-parent is not provided, the default parent interrupt
Documentation/devicetree/bindings/interrupt-controller/hisilicon,mbigen-v2.txt+0−2
@@ -68,8 +68,6 @@ Examples: · 67 unmodified lines
68 68
69Devices connect to mbigen required properties:69Devices connect to mbigen required properties:
70----------------------------------------------------70----------------------------------------------------
71-interrupt-parent: Specifies the mbigen device node which device connected.
72
73-interrupts:Specifies the interrupt source.71-interrupts:Specifies the interrupt source.
74 For the specific information of each cell in this property,please refer to72 For the specific information of each cell in this property,please refer to
75 the "interrupt-cells" description mentioned above.73 the "interrupt-cells" description mentioned above.
Documentation/devicetree/bindings/interrupt-controller/ingenic,intc.txt+1−1
@@ -4,6 +4,7 @@ Required properties: · 3 unmodified lines
4 4
5- compatible : should be "ingenic,<socname>-intc". Valid strings are:5- compatible : should be "ingenic,<socname>-intc". Valid strings are:
6 ingenic,jz4740-intc6 ingenic,jz4740-intc
7 ingenic,jz4725b-intc
7 ingenic,jz4770-intc8 ingenic,jz4770-intc
8 ingenic,jz4775-intc9 ingenic,jz4775-intc
9 ingenic,jz4780-intc10 ingenic,jz4780-intc
@@ -11,7 +12,6 @@ Required properties: · 1 unmodified line
11- interrupt-controller : Identifies the node as an interrupt controller12- interrupt-controller : Identifies the node as an interrupt controller
12- #interrupt-cells : Specifies the number of cells needed to encode an13- #interrupt-cells : Specifies the number of cells needed to encode an
13 interrupt source. The value shall be 1.14 interrupt source. The value shall be 1.
14- interrupt-parent : phandle of the CPU interrupt controller.
15- interrupts : Specifies the CPU interrupt the controller is connected to.15- interrupts : Specifies the CPU interrupt the controller is connected to.
16 16
17Example:17Example:
Documentation/devicetree/bindings/interrupt-controller/marvell,odmi-controller.txt+0−2
@@ -26,8 +26,6 @@ Required properties: · 25 unmodified lines
26 See Documentation/devicetree/bindings/interrupt-controller/arm,gic.txt26 See Documentation/devicetree/bindings/interrupt-controller/arm,gic.txt
27 for details about the GIC Device Tree binding.27 for details about the GIC Device Tree binding.
28 28
29- interrupt-parent : Reference to the parent interrupt controller.
30
31Example:29Example:
32 30
33 odmi: odmi@300000 {31 odmi: odmi@300000 {
Documentation/devicetree/bindings/interrupt-controller/mediatek,cirq.txt+0−2
@@ -16,8 +16,6 @@ Required properties: · 15 unmodified lines
16 and "mediatek,cirq" as a fallback.16 and "mediatek,cirq" as a fallback.
17- interrupt-controller : Identifies the node as an interrupt controller.17- interrupt-controller : Identifies the node as an interrupt controller.
18- #interrupt-cells : Use the same format as specified by GIC in arm,gic.txt.18- #interrupt-cells : Use the same format as specified by GIC in arm,gic.txt.
19- interrupt-parent: phandle of irq parent for cirq. The parent must
20 use the same interrupt-cells format as GIC.
21- reg: Physical base address of the cirq registers and length of memory19- reg: Physical base address of the cirq registers and length of memory
22 mapped region.20 mapped region.
23- mediatek,ext-irq-range: Identifies external irq number range in different21- mediatek,ext-irq-range: Identifies external irq number range in different
Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt+1−2
@@ -11,6 +11,7 @@ Required properties: · 10 unmodified lines
11 "mediatek,mt7622-sysirq", "mediatek,mt6577-sysirq": for MT762211 "mediatek,mt7622-sysirq", "mediatek,mt6577-sysirq": for MT7622
12 "mediatek,mt6795-sysirq", "mediatek,mt6577-sysirq": for MT679512 "mediatek,mt6795-sysirq", "mediatek,mt6577-sysirq": for MT6795
13 "mediatek,mt6797-sysirq", "mediatek,mt6577-sysirq": for MT679713 "mediatek,mt6797-sysirq", "mediatek,mt6577-sysirq": for MT6797
14 "mediatek,mt6765-sysirq", "mediatek,mt6577-sysirq": for MT6765
14 "mediatek,mt6755-sysirq", "mediatek,mt6577-sysirq": for MT675515 "mediatek,mt6755-sysirq", "mediatek,mt6577-sysirq": for MT6755
15 "mediatek,mt6592-sysirq", "mediatek,mt6577-sysirq": for MT659216 "mediatek,mt6592-sysirq", "mediatek,mt6577-sysirq": for MT6592
16 "mediatek,mt6589-sysirq", "mediatek,mt6577-sysirq": for MT658917 "mediatek,mt6589-sysirq", "mediatek,mt6577-sysirq": for MT6589
@@ -21,8 +22,6 @@ Required properties: · 4 unmodified lines
21 "mediatek,mt2701-sysirq", "mediatek,mt6577-sysirq": for MT270122 "mediatek,mt2701-sysirq", "mediatek,mt6577-sysirq": for MT2701
22- interrupt-controller : Identifies the node as an interrupt controller23- interrupt-controller : Identifies the node as an interrupt controller
23- #interrupt-cells : Use the same format as specified by GIC in arm,gic.txt.24- #interrupt-cells : Use the same format as specified by GIC in arm,gic.txt.
24- interrupt-parent: phandle of irq parent for sysirq. The parent must
25 use the same interrupt-cells format as GIC.
26- reg: Physical base address of the intpol registers and length of memory25- reg: Physical base address of the intpol registers and length of memory
27 mapped region. Could be multiple bases here. Ex: mt6797 needs 2 reg, others26 mapped region. Could be multiple bases here. Ex: mt6797 needs 2 reg, others
28 need 1.27 need 1.
Documentation/devicetree/bindings/interrupt-controller/mscc,ocelot-icpu-intr.txt+0−1
@@ -7,7 +7,6 @@ Required properties: · 6 unmodified lines
7- interrupt-controller : Identifies the node as an interrupt controller7- interrupt-controller : Identifies the node as an interrupt controller
8- #interrupt-cells : Specifies the number of cells needed to encode an8- #interrupt-cells : Specifies the number of cells needed to encode an
9 interrupt source. The value shall be 1.9 interrupt source. The value shall be 1.
10- interrupt-parent : phandle of the CPU interrupt controller.
11- interrupts : Specifies the CPU interrupt the controller is connected to.10- interrupts : Specifies the CPU interrupt the controller is connected to.
12 11
13Example:12Example:
Documentation/devicetree/bindings/interrupt-controller/nvidia,tegra20-ictlr.txt+1−3
@@ -15,12 +15,10 @@ Required properties: · 14 unmodified lines
15 include "nvidia,tegra30-ictlr". 15 include "nvidia,tegra30-ictlr".
16- reg : Specifies base physical address and size of the registers.16- reg : Specifies base physical address and size of the registers.
17 Each controller must be described separately (Tegra20 has 4 of them,17 Each controller must be described separately (Tegra20 has 4 of them,
18 whereas Tegra30 and later have 5" 18 whereas Tegra30 and later have 5).
19- interrupt-controller : Identifies the node as an interrupt controller.19- interrupt-controller : Identifies the node as an interrupt controller.
20- #interrupt-cells : Specifies the number of cells needed to encode an20- #interrupt-cells : Specifies the number of cells needed to encode an
21 interrupt source. The value must be 3.21 interrupt source. The value must be 3.
22- interrupt-parent : a phandle to the GIC these interrupts are routed
23 to.
24 22
25Notes:23Notes:
26 24
Documentation/devicetree/bindings/interrupt-controller/nxp,lpc3220-mic.txt+0−2
@@ -14,8 +14,6 @@ Required properties: · 13 unmodified lines
14 Reset value is IRQ_TYPE_LEVEL_LOW.14 Reset value is IRQ_TYPE_LEVEL_LOW.
15 15
16Optional properties:16Optional properties:
17- interrupt-parent: empty for MIC interrupt controller, link to parent
18 MIC interrupt controller for SIC1 and SIC2
19- interrupts: empty for MIC interrupt controller, cascaded MIC17- interrupts: empty for MIC interrupt controller, cascaded MIC
20 hardware interrupts for SIC1 and SIC218 hardware interrupts for SIC1 and SIC2
21 19
Documentation/devicetree/bindings/interrupt-controller/qca,ath79-misc-intc.txt+0−1
@@ -7,7 +7,6 @@ Required Properties: · 6 unmodified lines
7- compatible: has to be "qca,<soctype>-cpu-intc", "qca,ar7100-misc-intc" or7- compatible: has to be "qca,<soctype>-cpu-intc", "qca,ar7100-misc-intc" or
8 "qca,<soctype>-cpu-intc", "qca,ar7240-misc-intc"8 "qca,<soctype>-cpu-intc", "qca,ar7240-misc-intc"
9- reg: Base address and size of the controllers memory area9- reg: Base address and size of the controllers memory area
10- interrupt-parent: phandle of the parent interrupt controller.
11- interrupts: Interrupt specifier for the controllers interrupt.10- interrupts: Interrupt specifier for the controllers interrupt.
12- interrupt-controller : Identifies the node as an interrupt controller11- interrupt-controller : Identifies the node as an interrupt controller
13- #interrupt-cells : Specifies the number of cells needed to encode interrupt12- #interrupt-cells : Specifies the number of cells needed to encode interrupt
Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.txt+0−6
@@ -35,12 +35,6 @@ Properties: · 34 unmodified lines
35 interrupt.35 interrupt.
36 The second element is the trigger type.36 The second element is the trigger type.
37 37
38- interrupt-parent:
39 Usage: required
40 Value type: <phandle>
41 Definition: Specifies the interrupt parent necessary for hierarchical
42 domain to operate.
43
44- interrupt-controller:38- interrupt-controller:
45 Usage: required39 Usage: required
46 Value type: <bool>40 Value type: <bool>
Documentation/devicetree/bindings/interrupt-controller/renesas,irqc.txt+3−0
@@ -7,15 +7,18 @@ Required properties: · 6 unmodified lines
7 - "renesas,irqc-r8a73a4" (R-Mobile APE6)7 - "renesas,irqc-r8a73a4" (R-Mobile APE6)
8 - "renesas,irqc-r8a7743" (RZ/G1M)8 - "renesas,irqc-r8a7743" (RZ/G1M)
9 - "renesas,irqc-r8a7745" (RZ/G1E)9 - "renesas,irqc-r8a7745" (RZ/G1E)
10 - "renesas,irqc-r8a77470" (RZ/G1C)
10 - "renesas,irqc-r8a7790" (R-Car H2)11 - "renesas,irqc-r8a7790" (R-Car H2)
11 - "renesas,irqc-r8a7791" (R-Car M2-W)12 - "renesas,irqc-r8a7791" (R-Car M2-W)
12 - "renesas,irqc-r8a7792" (R-Car V2H)13 - "renesas,irqc-r8a7792" (R-Car V2H)
13 - "renesas,irqc-r8a7793" (R-Car M2-N)14 - "renesas,irqc-r8a7793" (R-Car M2-N)
14 - "renesas,irqc-r8a7794" (R-Car E2)15 - "renesas,irqc-r8a7794" (R-Car E2)
16 - "renesas,intc-ex-r8a774a1" (RZ/G2M)
15 - "renesas,intc-ex-r8a7795" (R-Car H3)17 - "renesas,intc-ex-r8a7795" (R-Car H3)
16 - "renesas,intc-ex-r8a7796" (R-Car M3-W)18 - "renesas,intc-ex-r8a7796" (R-Car M3-W)
17 - "renesas,intc-ex-r8a77965" (R-Car M3-N)19 - "renesas,intc-ex-r8a77965" (R-Car M3-N)
18 - "renesas,intc-ex-r8a77970" (R-Car V3M)20 - "renesas,intc-ex-r8a77970" (R-Car V3M)
21 - "renesas,intc-ex-r8a77980" (R-Car V3H)
19 - "renesas,intc-ex-r8a77995" (R-Car D3)22 - "renesas,intc-ex-r8a77995" (R-Car D3)
20- #interrupt-cells: has to be <2>: an interrupt index and flags, as defined in23- #interrupt-cells: has to be <2>: an interrupt index and flags, as defined in
21 interrupts.txt in this directory24 interrupts.txt in this directory
Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.txt+44−0
@@ -0,0 +1,44 @@
1RISC-V Hart-Level Interrupt Controller (HLIC)
2---------------------------------------------
3
4RISC-V cores include Control Status Registers (CSRs) which are local to each
5CPU core (HART in RISC-V terminology) and can be read or written by software.
6Some of these CSRs are used to control local interrupts connected to the core.
7Every interrupt is ultimately routed through a hart's HLIC before it
8interrupts that hart.
9
10The RISC-V supervisor ISA manual specifies three interrupt sources that are
11attached to every HLIC: software interrupts, the timer interrupt, and external
12interrupts. Software interrupts are used to send IPIs between cores. The
13timer interrupt comes from an architecturally mandated real-time timer that is
14controller via Supervisor Binary Interface (SBI) calls and CSR reads. External
15interrupts connect all other device interrupts to the HLIC, which are routed
16via the platform-level interrupt controller (PLIC).
17
18All RISC-V systems that conform to the supervisor ISA specification are
19required to have a HLIC with these three interrupt sources present. Since the
20interrupt map is defined by the ISA it's not listed in the HLIC's device tree
21entry, though external interrupt controllers (like the PLIC, for example) will
22need to define how their interrupts map to the relevant HLICs. This means
23a PLIC interrupt property will typically list the HLICs for all present HARTs
24in the system.
25
26Required properties:
27- compatible : "riscv,cpu-intc"
28- #interrupt-cells : should be <1>
29- interrupt-controller : Identifies the node as an interrupt controller
30
31Furthermore, this interrupt-controller MUST be embedded inside the cpu
32definition of the hart whose CSRs control these local interrupts.
33
34An example device tree entry for a HLIC is show below.
35
36 cpu1: cpu@1 {
37 compatible = "riscv";
38 ...
39 cpu1-intc: interrupt-controller {
40 #interrupt-cells = <1>;
41 compatible = "riscv,cpu-intc", "sifive,fu540-c000-cpu-intc";
42 interrupt-controller;
43 };
44 };
Documentation/devicetree/bindings/interrupt-controller/samsung,exynos4210-combiner.txt+0−2
@@ -32,8 +32,6 @@ Optional properties: · 31 unmodified lines
32- samsung,combiner-nr: The number of interrupt combiners supported. If this32- samsung,combiner-nr: The number of interrupt combiners supported. If this
33 property is not specified, the default number of combiners is assumed33 property is not specified, the default number of combiners is assumed
34 to be 16.34 to be 16.
35- interrupt-parent: pHandle of the parent interrupt controller, if not
36 inherited from the parent node.
37 35
38 36
39Example:37Example:
Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.txt+58−0
@@ -0,0 +1,58 @@
1SiFive Platform-Level Interrupt Controller (PLIC)
2-------------------------------------------------
3
4SiFive SOCs include an implementation of the Platform-Level Interrupt Controller
5(PLIC) high-level specification in the RISC-V Privileged Architecture
6specification. The PLIC connects all external interrupts in the system to all
7hart contexts in the system, via the external interrupt source in each hart.
8
9A hart context is a privilege mode in a hardware execution thread. For example,
10in an 4 core system with 2-way SMT, you have 8 harts and probably at least two
11privilege modes per hart; machine mode and supervisor mode.
12
13Each interrupt can be enabled on per-context basis. Any context can claim
14a pending enabled interrupt and then release it once it has been handled.
15
16Each interrupt has a configurable priority. Higher priority interrupts are
17serviced first. Each context can specify a priority threshold. Interrupts
18with priority below this threshold will not cause the PLIC to raise its
19interrupt line leading to the context.
20
21While the PLIC supports both edge-triggered and level-triggered interrupts,
22interrupt handlers are oblivious to this distinction and therefore it is not
23specified in the PLIC device-tree binding.
24
25While the RISC-V ISA doesn't specify a memory layout for the PLIC, the
26"sifive,plic-1.0.0" device is a concrete implementation of the PLIC that
27contains a specific memory layout, which is documented in chapter 8 of the
28SiFive U5 Coreplex Series Manual <https://static.dev.sifive.com/U54-MC-RVCoreIP.pdf>.
29
30Required properties:
31- compatible : "sifive,plic-1.0.0" and a string identifying the actual
32 detailed implementation in case that specific bugs need to be worked around.
33- #address-cells : should be <0> or more.
34- #interrupt-cells : should be <1> or more.
35- interrupt-controller : Identifies the node as an interrupt controller.
36- reg : Should contain 1 register range (address and length).
37- interrupts-extended : Specifies which contexts are connected to the PLIC,
38 with "-1" specifying that a context is not present. Each node pointed
39 to should be a riscv,cpu-intc node, which has a riscv node as parent.
40- riscv,ndev: Specifies how many external interrupts are supported by
41 this controller.
42
43Example:
44
45 plic: interrupt-controller@c000000 {
46 #address-cells = <0>;
47 #interrupt-cells = <1>;
48 compatible = "sifive,plic-1.0.0", "sifive,fu540-c000-plic";
49 interrupt-controller;
50 interrupts-extended = <
51 &cpu0-intc 11
52 &cpu1-intc 11 &cpu1-intc 9
53 &cpu2-intc 11 &cpu2-intc 9
54 &cpu3-intc 11 &cpu3-intc 9
55 &cpu4-intc 11 &cpu4-intc 9>;
56 reg = <0xc000000 0x4000000>;
57 riscv,ndev = <10>;
58 };
Documentation/devicetree/bindings/interrupt-controller/sigma,smp8642-intc.txt+0−1
@@ -4,7 +4,6 @@ Required properties: · 3 unmodified lines
4- compatible: should be "sigma,smp8642-intc"4- compatible: should be "sigma,smp8642-intc"
5- reg: physical address of MMIO region5- reg: physical address of MMIO region
6- ranges: address space mapping of child nodes6- ranges: address space mapping of child nodes
7- interrupt-parent: phandle of parent interrupt controller
8- interrupt-controller: boolean7- interrupt-controller: boolean
9- #address-cells: should be <1>8- #address-cells: should be <1>
10- #size-cells: should be <1>9- #size-cells: should be <1>
Documentation/devicetree/bindings/interrupt-controller/snps,archs-idu-intc.txt+0−1
@@ -7,7 +7,6 @@ Properties: · 6 unmodified lines
7 7
8- compatible: "snps,archs-idu-intc"8- compatible: "snps,archs-idu-intc"
9- interrupt-controller: This is an interrupt controller.9- interrupt-controller: This is an interrupt controller.
10- interrupt-parent: <reference to parent core intc>
11- #interrupt-cells: Must be <1>.10- #interrupt-cells: Must be <1>.
12 11
13 Value of the cell specifies the "common" IRQ from peripheral to IDU. Number N12 Value of the cell specifies the "common" IRQ from peripheral to IDU. Number N
Documentation/devicetree/bindings/interrupt-controller/snps,dw-apb-ictl.txt+0−1
@@ -11,7 +11,6 @@ Required properties: · 10 unmodified lines
11- interrupt-controller: identifies the node as an interrupt controller11- interrupt-controller: identifies the node as an interrupt controller
12- #interrupt-cells: number of cells to encode an interrupt-specifier, shall be 112- #interrupt-cells: number of cells to encode an interrupt-specifier, shall be 1
13- interrupts: interrupt reference to primary interrupt controller13- interrupts: interrupt reference to primary interrupt controller
14- interrupt-parent: (optional) reference specific primary interrupt controller
15 14
16The interrupt sources map to the corresponding bits in the interrupt15The interrupt sources map to the corresponding bits in the interrupt
17registers, i.e.16registers, i.e.
Documentation/devicetree/bindings/interrupt-controller/socionext,synquacer-exiu.txt+0−1
@@ -12,7 +12,6 @@ Required properties: · 11 unmodified lines
12- interrupt-controller : Identifies the node as an interrupt controller.12- interrupt-controller : Identifies the node as an interrupt controller.
13- #interrupt-cells : Specifies the number of cells needed to encode an13- #interrupt-cells : Specifies the number of cells needed to encode an
14 interrupt source. The value must be 3.14 interrupt source. The value must be 3.
15- interrupt-parent : phandle of the GIC these interrupts are routed to.
16- socionext,spi-base : The SPI number of the first SPI of the 32 adjacent15- socionext,spi-base : The SPI number of the first SPI of the 32 adjacent
17 ones the EXIU forwards its interrups to.16 ones the EXIU forwards its interrups to.
18 17
Documentation/devicetree/bindings/interrupt-controller/st,spear3xx-shirq.txt+0−4
@@ -31,10 +31,6 @@ Required properties: · 30 unmodified lines
31 parent) is equal to number of groups. The format of the interrupt31 parent) is equal to number of groups. The format of the interrupt
32 specifier depends in the interrupt parent controller.32 specifier depends in the interrupt parent controller.
33 33
34 Optional properties:
35 - interrupt-parent: pHandle of the parent interrupt controller, if not
36 inherited from the parent node.
37
38Example:34Example:
39 35
40The following is an example from the SPEAr320 SoC dtsi file.36The following is an example from the SPEAr320 SoC dtsi file.
Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.txt+1−1
@@ -12,7 +12,7 @@ Required properties: · 11 unmodified lines
12 specifier, shall be 212 specifier, shall be 2
13- interrupts: interrupts references to primary interrupt controller13- interrupts: interrupts references to primary interrupt controller
14 (only needed for exti controller with multiple exti under14 (only needed for exti controller with multiple exti under
15 same parent interrupt: st,stm32-exti and st,stm32h7-exti")15 same parent interrupt: st,stm32-exti and st,stm32h7-exti)
16 16
17Example:17Example:
18 18
Documentation/devicetree/bindings/interrupt-controller/technologic,ts4800.txt+0−2
@@ -11,6 +11,4 @@ Required properties: · 10 unmodified lines
11 region11 region
12- #interrupt-cells: specifies the number of cells needed to encode an interrupt12- #interrupt-cells: specifies the number of cells needed to encode an interrupt
13 source, should be 1.13 source, should be 1.
14- interrupt-parent: phandle to the parent interrupt controller this one is
15 cascaded from
16- interrupts: specifies the interrupt line in the interrupt-parent controller14- interrupts: specifies the interrupt line in the interrupt-parent controller
Documentation/devicetree/bindings/interrupt-controller/ti,c64x+megamod-pic.txt+0−1
@@ -46,7 +46,6 @@ C6X Interrupt Chips · 45 unmodified lines
46 - interrupt-controller46 - interrupt-controller
47 - #interrupt-cells: <1>47 - #interrupt-cells: <1>
48 - reg: base address and size of register area48 - reg: base address and size of register area
49 - interrupt-parent: must be core interrupt controller
50 - interrupts: This should have four cells; one for each interrupt combiner.49 - interrupts: This should have four cells; one for each interrupt combiner.
51 The cells contain the core priority interrupt to which the50 The cells contain the core priority interrupt to which the
52 corresponding combiner output is wired.51 corresponding combiner output is wired.
Documentation/devicetree/bindings/interrupt-controller/ti,omap4-wugen-mpu+0−2
@@ -12,8 +12,6 @@ Required properties: · 11 unmodified lines
12- interrupt-controller : Identifies the node as an interrupt controller.12- interrupt-controller : Identifies the node as an interrupt controller.
13- #interrupt-cells : Specifies the number of cells needed to encode an13- #interrupt-cells : Specifies the number of cells needed to encode an
14 interrupt source. The value must be 3.14 interrupt source. The value must be 3.
15- interrupt-parent : a phandle to the GIC these interrupts are routed
16 to.
17 15
18Notes:16Notes:
19 17
Documentation/devicetree/bindings/iommu/mediatek,iommu.txt+4−2
@@ -40,6 +40,7 @@ video decode local arbiter, all these ports are according to the video HW. · 39 unmodified lines
40Required properties:40Required properties:
41- compatible : must be one of the following string:41- compatible : must be one of the following string:
42 "mediatek,mt2701-m4u" for mt2701 which uses generation one m4u HW.42 "mediatek,mt2701-m4u" for mt2701 which uses generation one m4u HW.
43 "mediatek,mt2712-m4u" for mt2712 which uses generation two m4u HW.
43 "mediatek,mt8173-m4u" for mt8173 which uses generation two m4u HW.44 "mediatek,mt8173-m4u" for mt8173 which uses generation two m4u HW.
44- reg : m4u register base and size.45- reg : m4u register base and size.
45- interrupts : the interrupt of m4u.46- interrupts : the interrupt of m4u.
@@ -50,8 +51,9 @@ Required properties: · 4 unmodified lines
50 according to the local arbiter index, like larb0, larb1, larb2...51 according to the local arbiter index, like larb0, larb1, larb2...
51- iommu-cells : must be 1. This is the mtk_m4u_id according to the HW.52- iommu-cells : must be 1. This is the mtk_m4u_id according to the HW.
52 Specifies the mtk_m4u_id as defined in53 Specifies the mtk_m4u_id as defined in
53 dt-binding/memory/mt2701-larb-port.h for mt2701 and54 dt-binding/memory/mt2701-larb-port.h for mt2701,
54 dt-binding/memory/mt8173-larb-port.h for mt817355 dt-binding/memory/mt2712-larb-port.h for mt2712, and
56 dt-binding/memory/mt8173-larb-port.h for mt8173.
55 57
56Example:58Example:
57 iommu: iommu@10205000 {59 iommu: iommu@10205000 {
Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt+3−0
@@ -19,7 +19,10 @@ Required Properties: · 18 unmodified lines
19 - "renesas,ipmmu-r8a7794" for the R8A7794 (R-Car E2) IPMMU.19 - "renesas,ipmmu-r8a7794" for the R8A7794 (R-Car E2) IPMMU.
20 - "renesas,ipmmu-r8a7795" for the R8A7795 (R-Car H3) IPMMU.20 - "renesas,ipmmu-r8a7795" for the R8A7795 (R-Car H3) IPMMU.
21 - "renesas,ipmmu-r8a7796" for the R8A7796 (R-Car M3-W) IPMMU.21 - "renesas,ipmmu-r8a7796" for the R8A7796 (R-Car M3-W) IPMMU.
22 - "renesas,ipmmu-r8a77965" for the R8A77965 (R-Car M3-N) IPMMU.
22 - "renesas,ipmmu-r8a77970" for the R8A77970 (R-Car V3M) IPMMU.23 - "renesas,ipmmu-r8a77970" for the R8A77970 (R-Car V3M) IPMMU.
24 - "renesas,ipmmu-r8a77980" for the R8A77980 (R-Car V3H) IPMMU.
25 - "renesas,ipmmu-r8a77990" for the R8A77990 (R-Car E3) IPMMU.
23 - "renesas,ipmmu-r8a77995" for the R8A77995 (R-Car D3) IPMMU.26 - "renesas,ipmmu-r8a77995" for the R8A77995 (R-Car D3) IPMMU.
24 - "renesas,ipmmu-vmsa" for generic R-Car Gen2 or RZ/G1 VMSA-compatible27 - "renesas,ipmmu-vmsa" for generic R-Car Gen2 or RZ/G1 VMSA-compatible
25 IPMMU.28 IPMMU.
Documentation/devicetree/bindings/iommu/samsung,sysmmu.txt+0−1
@@ -31,7 +31,6 @@ Required properties: · 30 unmodified lines
31- compatible: Should be "samsung,exynos-sysmmu"31- compatible: Should be "samsung,exynos-sysmmu"
32- reg: A tuple of base address and size of System MMU registers.32- reg: A tuple of base address and size of System MMU registers.
33- #iommu-cells: Should be <0>.33- #iommu-cells: Should be <0>.
34- interrupt-parent: The phandle of the interrupt controller of System MMU
35- interrupts: An interrupt specifier for interrupt signal of System MMU,34- interrupts: An interrupt specifier for interrupt signal of System MMU,
36 according to the format defined by a particular interrupt35 according to the format defined by a particular interrupt
37 controller.36 controller.
Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt+27−7
@@ -3,13 +3,6 @@ pwm-backlight bindings · 2 unmodified lines
3Required properties:3Required properties:
4 - compatible: "pwm-backlight"4 - compatible: "pwm-backlight"
5 - pwms: OF device-tree PWM specification (see PWM binding[0])5 - pwms: OF device-tree PWM specification (see PWM binding[0])
6 - brightness-levels: Array of distinct brightness levels. Typically these
7 are in the range from 0 to 255, but any range starting at 0 will do.
8 The actual brightness level (PWM duty cycle) will be interpolated
9 from these values. 0 means a 0% duty cycle (darkest/off), while the
10 last value in the array represents a 100% duty cycle (brightest).
11 - default-brightness-level: the default brightness level (index into the
12 array defined by the "brightness-levels" property)
13 - power-supply: regulator for supply voltage6 - power-supply: regulator for supply voltage
14 7
15Optional properties:8Optional properties:
@@ -21,6 +14,19 @@ Optional properties: · 5 unmodified lines
21 and enabling the backlight using GPIO.14 and enabling the backlight using GPIO.
22 - pwm-off-delay-ms: Delay in ms between disabling the backlight using GPIO15 - pwm-off-delay-ms: Delay in ms between disabling the backlight using GPIO
23 and setting PWM value to 0.16 and setting PWM value to 0.
17 - brightness-levels: Array of distinct brightness levels. Typically these
18 are in the range from 0 to 255, but any range starting at
19 0 will do. The actual brightness level (PWM duty cycle)
20 will be interpolated from these values. 0 means a 0% duty
21 cycle (darkest/off), while the last value in the array
22 represents a 100% duty cycle (brightest).
23 - default-brightness-level: The default brightness level (index into the
24 array defined by the "brightness-levels" property).
25 - num-interpolated-steps: Number of interpolated steps between each value
26 of brightness-levels table. This way a high
27 resolution pwm duty cycle can be used without
28 having to list out every possible value in the
29 brightness-level array.
24 30
25[0]: Documentation/devicetree/bindings/pwm/pwm.txt31[0]: Documentation/devicetree/bindings/pwm/pwm.txt
26[1]: Documentation/devicetree/bindings/gpio/gpio.txt32[1]: Documentation/devicetree/bindings/gpio/gpio.txt
@@ -39,3 +45,17 @@ Example: · 12 unmodified lines
39 post-pwm-on-delay-ms = <10>;45 post-pwm-on-delay-ms = <10>;
40 pwm-off-delay-ms = <10>;46 pwm-off-delay-ms = <10>;
41 };47 };
48
49Example using num-interpolation-steps:
50
51 backlight {
52 compatible = "pwm-backlight";
53 pwms = <&pwm 0 5000000>;
54
55 brightness-levels = <0 2048 4096 8192 16384 65535>;
56 num-interpolated-steps = <2048>;
57 default-brightness-level = <4096>;
58
59 power-supply = <&vdd_bl_reg>;
60 enable-gpios = <&gpio 58 0>;
61 };
Documentation/devicetree/bindings/leds/common.txt+1−1
@@ -31,7 +31,7 @@ Optional properties for child nodes: · 30 unmodified lines
31 "backlight" - LED will act as a back-light, controlled by the framebuffer31 "backlight" - LED will act as a back-light, controlled by the framebuffer
32 system32 system
33 "default-on" - LED will turn on (but for leds-gpio see "default-state"33 "default-on" - LED will turn on (but for leds-gpio see "default-state"
34 property in Documentation/devicetree/bindings/gpio/led.txt)34 property in Documentation/devicetree/bindings/leds/leds-gpio.txt)
35 "heartbeat" - LED "double" flashes at a load average based rate35 "heartbeat" - LED "double" flashes at a load average based rate
36 "disk-activity" - LED indicates disk activity36 "disk-activity" - LED indicates disk activity
37 "ide-disk" - LED indicates IDE disk activity (deprecated),37 "ide-disk" - LED indicates IDE disk activity (deprecated),
Documentation/devicetree/bindings/leds/leds-lm3692x.txt+4−1
@@ -20,7 +20,10 @@ Optional properties: · 19 unmodified lines
20 - vled-supply : LED supply20 - vled-supply : LED supply
21 21
22Required child properties:22Required child properties:
23 - reg : 023 - reg : 0 - Will enable all LED sync paths
24 1 - Will enable the LED1 sync
25 2 - Will enable the LED2 sync
26 3 - Will enable the LED3 sync (LM36923 only)
24 27
25Optional child properties:28Optional child properties:
26 - label : see Documentation/devicetree/bindings/leds/common.txt29 - label : see Documentation/devicetree/bindings/leds/common.txt
Documentation/devicetree/bindings/leds/leds-lt3593.txt+32−0
@@ -0,0 +1,32 @@
1Bindings for Linear Technologies LT3593 LED controller
2
3Required properties:
4- compatible: Should be "lltc,lt3593".
5- lltc,ctrl-gpios: A handle to the GPIO that is connected to the 'CTRL'
6 pin of the chip.
7
8The hardware supports only one LED. The properties of this LED are
9configured in a sub-node in the device node.
10
11Optional sub-node properties:
12- label: A label for the LED. If none is given, the LED will be
13 named "lt3595::".
14- linux,default-trigger: The default trigger for the LED.
15 See Documentation/devicetree/bindings/leds/common.txt
16- default-state: The initial state of the LED.
17 See Documentation/devicetree/bindings/leds/common.txt
18
19If multiple chips of this type are found in a design, each one needs to
20be handled by its own device node.
21
22Example:
23
24led-controller {
25 compatible = "lltc,lt3593";
26 lltc,ctrl-gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
27
28 led {
29 label = "white:backlight";
30 default-state = "on";
31 };
32};
Documentation/devicetree/bindings/mailbox/altera-mailbox.txt+0−1
@@ -9,7 +9,6 @@ Required properties: · 8 unmodified lines
9 of cells required for the mailbox specifier. Should be 1.9 of cells required for the mailbox specifier. Should be 1.
10 10
11Optional properties:11Optional properties:
12- interrupt-parent : interrupt source phandle.
13- interrupts : interrupt number. The interrupt specifier format12- interrupts : interrupt number. The interrupt specifier format
14 depends on the interrupt controller parent.13 depends on the interrupt controller parent.
15 14
Documentation/devicetree/bindings/mailbox/fsl,mu.txt+54−0
@@ -0,0 +1,54 @@
1NXP i.MX Messaging Unit (MU)
2--------------------------------------------------------------------
3
4The Messaging Unit module enables two processors within the SoC to
5communicate and coordinate by passing messages (e.g. data, status
6and control) through the MU interface. The MU also provides the ability
7for one processor to signal the other processor using interrupts.
8
9Because the MU manages the messaging between processors, the MU uses
10different clocks (from each side of the different peripheral buses).
11Therefore, the MU must synchronize the accesses from one side to the
12other. The MU accomplishes synchronization using two sets of matching
13registers (Processor A-facing, Processor B-facing).
14
15Messaging Unit Device Node:
16=============================
17
18Required properties:
19-------------------
20- compatible : should be "fsl,<chip>-mu", the supported chips include
21 imx6sx, imx7s, imx8qxp, imx8qm.
22 The "fsl,imx6sx-mu" compatible is seen as generic and should
23 be included together with SoC specific compatible.
24- reg : Should contain the registers location and length
25- interrupts : Interrupt number. The interrupt specifier format depends
26 on the interrupt controller parent.
27- #mbox-cells: Must be 2.
28 <&phandle type channel>
29 phandle : Label name of controller
30 type : Channel type
31 channel : Channel number
32
33 This MU support 4 type of unidirectional channels, each type
34 has 4 channels. A total of 16 channels. Following types are
35 supported:
36 0 - TX channel with 32bit transmit register and IRQ transmit
37 acknowledgment support.
38 1 - RX channel with 32bit receive register and IRQ support
39 2 - TX doorbell channel. Without own register and no ACK support.
40 3 - RX doorbell channel.
41
42Optional properties:
43-------------------
44- clocks : phandle to the input clock.
45- fsl,mu-side-b : Should be set for side B MU.
46
47Examples:
48--------
49lsio_mu0: mailbox@5d1b0000 {
50 compatible = "fsl,imx8qxp-mu";
51 reg = <0x0 0x5d1b0000 0x0 0x10000>;
52 interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
53 #mbox-cells = <2>;
54};
Documentation/devicetree/bindings/mailbox/mtk-gce.txt+57−0
@@ -0,0 +1,57 @@
1MediaTek GCE
2===============
3
4The Global Command Engine (GCE) is used to help read/write registers with
5critical time limitation, such as updating display configuration during the
6vblank. The GCE can be used to implement the Command Queue (CMDQ) driver.
7
8CMDQ driver uses mailbox framework for communication. Please refer to
9mailbox.txt for generic information about mailbox device-tree bindings.
10
11Required properties:
12- compatible: Must be "mediatek,mt8173-gce"
13- reg: Address range of the GCE unit
14- interrupts: The interrupt signal from the GCE block
15- clock: Clocks according to the common clock binding
16- clock-names: Must be "gce" to stand for GCE clock
17- #mbox-cells: Should be 3.
18 <&phandle channel priority atomic_exec>
19 phandle: Label name of a gce node.
20 channel: Channel of mailbox. Be equal to the thread id of GCE.
21 priority: Priority of GCE thread.
22 atomic_exec: GCE processing continuous packets of commands in atomic
23 way.
24
25Required properties for a client device:
26- mboxes: Client use mailbox to communicate with GCE, it should have this
27 property and list of phandle, mailbox specifiers.
28- mediatek,gce-subsys: u32, specify the sub-system id which is corresponding
29 to the register address.
30
31Some vaules of properties are defined in 'dt-bindings/gce/mt8173-gce.h'. Such as
32sub-system ids, thread priority, event ids.
33
34Example:
35
36 gce: gce@10212000 {
37 compatible = "mediatek,mt8173-gce";
38 reg = <0 0x10212000 0 0x1000>;
39 interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_LOW>;
40 clocks = <&infracfg CLK_INFRA_GCE>;
41 clock-names = "gce";
42 thread-num = CMDQ_THR_MAX_COUNT;
43 #mbox-cells = <3>;
44 };
45
46Example for a client device:
47
48 mmsys: clock-controller@14000000 {
49 compatible = "mediatek,mt8173-mmsys";
50 mboxes = <&gce 0 CMDQ_THR_PRIO_LOWEST 1>,
51 <&gce 1 CMDQ_THR_PRIO_LOWEST 1>;
52 mediatek,gce-subsys = <SUBSYS_1400XXXX>;
53 mutex-event-eof = <CMDQ_EVENT_MUTEX0_STREAM_EOF
54 CMDQ_EVENT_MUTEX1_STREAM_EOF>;
55
56 ...
57 };
Documentation/devicetree/bindings/mailbox/ti,secure-proxy.txt+50−0
@@ -0,0 +1,50 @@
1Texas Instruments' Secure Proxy
2========================================
3
4The Texas Instruments' secure proxy is a mailbox controller that has
5configurable queues selectable at SoC(System on Chip) integration. The
6Message manager is broken up into different address regions that are
7called "threads" or "proxies" - each instance is unidirectional and is
8instantiated at SoC integration level by system controller to indicate
9receive or transmit path.
10
11Message Manager Device Node:
12===========================
13Required properties:
14--------------------
15- compatible: Shall be "ti,am654-secure-proxy"
16- reg-names target_data - Map the proxy data region
17 rt - Map the realtime status region
18 scfg - Map the configuration region
19- reg: Contains the register map per reg-names.
20- #mbox-cells Shall be 1 and shall refer to the transfer path
21 called thread.
22- interrupt-names: Contains interrupt names matching the rx transfer path
23 for a given SoC. Receive interrupts shall be of the
24 format: "rx_<PID>".
25- interrupts: Contains the interrupt information corresponding to
26 interrupt-names property.
27
28Example(AM654):
29------------
30
31 secure_proxy: mailbox@32c00000 {
32 compatible = "ti,am654-secure-proxy";
33 #mbox-cells = <1>;
34 reg-names = "target_data", "rt", "scfg";
35 reg = <0x0 0x32c00000 0x0 0x100000>,
36 <0x0 0x32400000 0x0 0x100000>,
37 <0x0 0x32800000 0x0 0x100000>;
38 interrupt-names = "rx_011";
39 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
40 };
41
42 dmsc: dmsc {
43 [...]
44 mbox-names = "rx", "tx";
45 # RX Thread ID is 11
46 # TX Thread ID is 13
47 mboxes= <&secure_proxy 11>,
48 <&secure_proxy 13>;
49 [...]
50 };
Documentation/devicetree/bindings/media/cec-gpio.txt+14−8
@@ -4,8 +4,8 @@ The HDMI CEC GPIO module supports CEC implementations where the CEC line · 3 unmodified lines
4is hooked up to a pull-up GPIO line and - optionally - the HPD line is4is hooked up to a pull-up GPIO line and - optionally - the HPD line is
5hooked up to another GPIO line.5hooked up to another GPIO line.
6 6
7Please note: the maximum voltage for the CEC line is 3.63V, for the HPD7Please note: the maximum voltage for the CEC line is 3.63V, for the HPD and
8line it is 5.3V. So you may need some sort of level conversion circuitry85V lines it is 5.3V. So you may need some sort of level conversion circuitry
9when connecting them to a GPIO line.9when connecting them to a GPIO line.
10 10
11Required properties:11Required properties:
@@ -19,18 +19,24 @@ following property is also required: · 7 unmodified lines
19 - hdmi-phandle - phandle to the HDMI controller, see also cec.txt.19 - hdmi-phandle - phandle to the HDMI controller, see also cec.txt.
20 20
21If the CEC line is not associated with an HDMI receiver/transmitter, then21If the CEC line is not associated with an HDMI receiver/transmitter, then
22the following property is optional:22the following property is optional and can be used for debugging HPD changes:
23 23
24 - hpd-gpios: gpio that the HPD line is connected to.24 - hpd-gpios: gpio that the HPD line is connected to.
25 25
26This property is optional and can be used for debugging changes on the 5V line:
27
28 - v5-gpios: gpio that the 5V line is connected to.
29
26Example for the Raspberry Pi 3 where the CEC line is connected to30Example for the Raspberry Pi 3 where the CEC line is connected to
27pin 26 aka BCM7 aka CE1 on the GPIO pin header and the HPD line is31pin 26 aka BCM7 aka CE1 on the GPIO pin header, the HPD line is
28connected to pin 11 aka BCM17 (some level shifter is needed for this!):32connected to pin 11 aka BCM17 and the 5V line is connected to pin
3315 aka BCM22 (some level shifter is needed for the HPD and 5V lines!):
29 34
30#include <dt-bindings/gpio/gpio.h>35#include <dt-bindings/gpio/gpio.h>
31 36
32cec-gpio {37cec-gpio {
33 compatible = "cec-gpio";38 compatible = "cec-gpio";
34 cec-gpios = <&gpio 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;39 cec-gpios = <&gpio 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
35 hpd-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;40 hpd-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
41 v5-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
36};42};
Documentation/devicetree/bindings/media/i2c/ak7375.txt+8−0
@@ -0,0 +1,8 @@
1Asahi Kasei Microdevices AK7375 voice coil lens driver
2
3AK7375 is a camera voice coil lens.
4
5Mandatory properties:
6
7- compatible: "asahi-kasei,ak7375"
8- reg: I2C slave address
Documentation/devicetree/bindings/media/i2c/aptina,mt9v111.txt+46−0
@@ -0,0 +1,46 @@
1* Aptina MT9V111 CMOS sensor
2----------------------------
3
4The Aptina MT9V111 is a 1/4-Inch VGA-format digital image sensor with a core
5based on Aptina MT9V011 sensor and an integrated Image Flow Processor (IFP).
6
7The sensor has an active pixel array of 640x480 pixels and can output a number
8of image resolution and formats controllable through a simple two-wires
9interface.
10
11Required properties:
12--------------------
13
14- compatible: shall be "aptina,mt9v111".
15- clocks: reference to the system clock input provider.
16
17Optional properties:
18--------------------
19
20- enable-gpios: output enable signal, pin name "OE#". Active low.
21- standby-gpios: low power state control signal, pin name "STANDBY".
22 Active high.
23- reset-gpios: chip reset signal, pin name "RESET#". Active low.
24
25The device node must contain one 'port' child node with one 'endpoint' child
26sub-node for its digital output video port, in accordance with the video
27interface bindings defined in:
28Documentation/devicetree/bindings/media/video-interfaces.txt
29
30Example:
31--------
32
33 &i2c1 {
34 camera@48 {
35 compatible = "aptina,mt9v111";
36 reg = <0x48>;
37
38 clocks = <&camera_clk>;
39
40 port {
41 mt9v111_out: endpoint {
42 remote-endpoint = <&ceu_in>;
43 };
44 };
45 };
46 };
Documentation/devicetree/bindings/media/i2c/dongwoon,dw9807.txt+9−0
@@ -0,0 +1,9 @@
1Dongwoon Anatech DW9807 voice coil lens driver
2
3DW9807 is a 10-bit DAC with current sink capability. It is intended for
4controlling voice coil lenses.
5
6Mandatory properties:
7
8- compatible: "dongwoon,dw9807-vcm"
9- reg: I2C slave address
Documentation/devicetree/bindings/media/i2c/nokia,smia.txt+3−0
@@ -29,6 +29,9 @@ Optional properties · 28 unmodified lines
29- reset-gpios: XSHUTDOWN GPIO29- reset-gpios: XSHUTDOWN GPIO
30- flash-leds: See ../video-interfaces.txt30- flash-leds: See ../video-interfaces.txt
31- lens-focus: See ../video-interfaces.txt31- lens-focus: See ../video-interfaces.txt
32- rotation: Integer property; valid values are 0 (sensor mounted upright)
33 and 180 (sensor mounted upside down). See
34 ../video-interfaces.txt .
32 35
33 36
34Endpoint node mandatory properties37Endpoint node mandatory properties
Documentation/devicetree/bindings/media/i2c/ov2680.txt+46−0
@@ -0,0 +1,46 @@
1* Omnivision OV2680 MIPI CSI-2 sensor
2
3Required Properties:
4- compatible: should be "ovti,ov2680".
5- clocks: reference to the xvclk input clock.
6- clock-names: should be "xvclk".
7- DOVDD-supply: Digital I/O voltage supply.
8- DVDD-supply: Digital core voltage supply.
9- AVDD-supply: Analog voltage supply.
10
11Optional Properties:
12- reset-gpios: reference to the GPIO connected to the powerdown/reset pin,
13 if any. This is an active low signal to the OV2680.
14
15The device node must contain one 'port' child node for its digital output
16video port, and this port must have a single endpoint in accordance with
17 the video interface bindings defined in
18Documentation/devicetree/bindings/media/video-interfaces.txt.
19
20Endpoint node required properties for CSI-2 connection are:
21- remote-endpoint: a phandle to the bus receiver's endpoint node.
22- clock-lanes: should be set to <0> (clock lane on hardware lane 0).
23- data-lanes: should be set to <1> (one CSI-2 lane supported).
24
25Example:
26
27&i2c2 {
28 ov2680: camera-sensor@36 {
29 compatible = "ovti,ov2680";
30 reg = <0x36>;
31 clocks = <&osc>;
32 clock-names = "xvclk";
33 reset-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
34 DOVDD-supply = <&sw2_reg>;
35 DVDD-supply = <&sw2_reg>;
36 AVDD-supply = <&reg_peri_3p15v>;
37
38 port {
39 ov2680_to_mipi: endpoint {
40 remote-endpoint = <&mipi_from_sensor>;
41 clock-lanes = <0>;
42 data-lanes = <1>;
43 };
44 };
45 };
46};
Documentation/devicetree/bindings/media/i2c/ov5640.txt+5−0
@@ -13,6 +13,10 @@ Optional Properties: · 12 unmodified lines
13 This is an active low signal to the OV5640.13 This is an active low signal to the OV5640.
14- powerdown-gpios: reference to the GPIO connected to the powerdown pin,14- powerdown-gpios: reference to the GPIO connected to the powerdown pin,
15 if any. This is an active high signal to the OV5640.15 if any. This is an active high signal to the OV5640.
16- rotation: as defined in
17 Documentation/devicetree/bindings/media/video-interfaces.txt,
18 valid values are 0 (sensor mounted upright) and 180 (sensor
19 mounted upside down).
16 20
17The device node must contain one 'port' child node for its digital output21The device node must contain one 'port' child node for its digital output
18video port, in accordance with the video interface bindings defined in22video port, in accordance with the video interface bindings defined in
@@ -51,6 +55,7 @@ Examples: · 32 unmodified lines
51 DVDD-supply = <&vgen2_reg>; /* 1.5v */55 DVDD-supply = <&vgen2_reg>; /* 1.5v */
52 powerdown-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;56 powerdown-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
53 reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;57 reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
58 rotation = <180>;
54 59
55 port {60 port {
56 /* MIPI CSI-2 bus endpoint */61 /* MIPI CSI-2 bus endpoint */
Documentation/devicetree/bindings/media/i2c/tc358743.txt+1−1
@@ -12,7 +12,7 @@ Required Properties: · 11 unmodified lines
12Optional Properties:12Optional Properties:
13 13
14- reset-gpios: gpio phandle GPIO connected to the reset pin14- reset-gpios: gpio phandle GPIO connected to the reset pin
15- interrupts, interrupt-parent: GPIO connected to the interrupt pin15- interrupts: GPIO connected to the interrupt pin
16- data-lanes: should be <1 2 3 4> for four-lane operation,16- data-lanes: should be <1 2 3 4> for four-lane operation,
17 or <1 2> for two-lane operation17 or <1 2> for two-lane operation
18- clock-lanes: should be <0>18- clock-lanes: should be <0>
Documentation/devicetree/bindings/media/nvidia,tegra-vde.txt+9−2
@@ -27,9 +27,15 @@ Required properties: · 26 unmodified lines
27 - sxe27 - sxe
28- clocks : Must include the following entries:28- clocks : Must include the following entries:
29 - vde29 - vde
30- resets : Must include the following entries:30- resets : Must contain an entry for each entry in reset-names.
31- reset-names : Should include the following entries:
31 - vde32 - vde
32 33
34Optional properties:
35- resets : Must contain an entry for each entry in reset-names.
36- reset-names : Must include the following entries:
37 - mc
38
33Example:39Example:
34 40
35video-codec@6001a000 {41video-codec@6001a000 {
@@ -51,5 +57,6 @@ video-codec@6001a000 { · 15 unmodified lines
51 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */57 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */
52 interrupt-names = "sync-token", "bsev", "sxe";58 interrupt-names = "sync-token", "bsev", "sxe";
53 clocks = <&tegra_car TEGRA20_CLK_VDE>;59 clocks = <&tegra_car TEGRA20_CLK_VDE>;
54 resets = <&tegra_car 61>;60 reset-names = "vde", "mc";
61 resets = <&tegra_car 61>, <&mc TEGRA20_MC_RESET_VDE>;
55};62};
Documentation/devicetree/bindings/media/qcom,camss.txt+80−48
@@ -5,8 +5,9 @@ Qualcomm Camera Subsystem · 4 unmodified lines
5- compatible:5- compatible:
6 Usage: required6 Usage: required
7 Value type: <stringlist>7 Value type: <stringlist>
8 Definition: Should contain:8 Definition: Should contain one of:
9 - "qcom,msm8916-camss"9 - "qcom,msm8916-camss"
10 - "qcom,msm8996-camss"
10- reg:11- reg:
11 Usage: required12 Usage: required
12 Value type: <prop-encoded-array>13 Value type: <prop-encoded-array>
@@ -19,11 +20,16 @@ Qualcomm Camera Subsystem · 6 unmodified lines
19 - "csiphy0_clk_mux"20 - "csiphy0_clk_mux"
20 - "csiphy1"21 - "csiphy1"
21 - "csiphy1_clk_mux"22 - "csiphy1_clk_mux"
23 - "csiphy2" (8996 only)
24 - "csiphy2_clk_mux" (8996 only)
22 - "csid0"25 - "csid0"
23 - "csid1"26 - "csid1"
27 - "csid2" (8996 only)
28 - "csid3" (8996 only)
24 - "ispif"29 - "ispif"
25 - "csi_clk_mux"30 - "csi_clk_mux"
26 - "vfe0"31 - "vfe0"
32 - "vfe1" (8996 only)
27- interrupts:33- interrupts:
28 Usage: required34 Usage: required
29 Value type: <prop-encoded-array>35 Value type: <prop-encoded-array>
@@ -34,10 +40,14 @@ Qualcomm Camera Subsystem · 4 unmodified lines
34 Definition: Should contain the following entries:40 Definition: Should contain the following entries:
35 - "csiphy0"41 - "csiphy0"
36 - "csiphy1"42 - "csiphy1"
43 - "csiphy2" (8996 only)
37 - "csid0"44 - "csid0"
38 - "csid1"45 - "csid1"
46 - "csid2" (8996 only)
47 - "csid3" (8996 only)
39 - "ispif"48 - "ispif"
40 - "vfe0"49 - "vfe0"
50 - "vfe1" (8996 only)
41- power-domains:51- power-domains:
42 Usage: required52 Usage: required
43 Value type: <prop-encoded-array>53 Value type: <prop-encoded-array>
@@ -53,25 +63,42 @@ Qualcomm Camera Subsystem · 9 unmodified lines
53 Usage: required63 Usage: required
54 Value type: <stringlist>64 Value type: <stringlist>
55 Definition: Should contain the following entries:65 Definition: Should contain the following entries:
56 - "camss_top_ahb"66 - "top_ahb"
57 - "ispif_ahb"67 - "ispif_ahb"
58 - "csiphy0_timer"68 - "csiphy0_timer"
59 - "csiphy1_timer"69 - "csiphy1_timer"
60 - "csi0_ahb"70 - "csiphy2_timer" (8996 only)
61 - "csi0"71 - "csi0_ahb"
62 - "csi0_phy"72 - "csi0"
63 - "csi0_pix"73 - "csi0_phy"
64 - "csi0_rdi"74 - "csi0_pix"
65 - "csi1_ahb"75 - "csi0_rdi"
66 - "csi1"76 - "csi1_ahb"
67 - "csi1_phy"77 - "csi1"
68 - "csi1_pix"78 - "csi1_phy"
69 - "csi1_rdi"79 - "csi1_pix"
70 - "camss_ahb"80 - "csi1_rdi"
71 - "camss_vfe_vfe"81 - "csi2_ahb" (8996 only)
72 - "camss_csi_vfe"82 - "csi2" (8996 only)
73 - "iface"83 - "csi2_phy" (8996 only)
74 - "bus"84 - "csi2_pix" (8996 only)
85 - "csi2_rdi" (8996 only)
86 - "csi3_ahb" (8996 only)
87 - "csi3" (8996 only)
88 - "csi3_phy" (8996 only)
89 - "csi3_pix" (8996 only)
90 - "csi3_rdi" (8996 only)
91 - "ahb"
92 - "vfe0"
93 - "csi_vfe0"
94 - "vfe0_ahb", (8996 only)
95 - "vfe0_stream", (8996 only)
96 - "vfe1", (8996 only)
97 - "csi_vfe1", (8996 only)
98 - "vfe1_ahb", (8996 only)
99 - "vfe1_stream", (8996 only)
100 - "vfe_ahb"
101 - "vfe_axi"
75- vdda-supply:102- vdda-supply:
76 Usage: required103 Usage: required
77 Value type: <phandle>104 Value type: <phandle>
@@ -90,22 +117,27 @@ Qualcomm Camera Subsystem · 12 unmodified lines
90 - reg:117 - reg:
91 Usage: required118 Usage: required
92 Value type: <u32>119 Value type: <u32>
93 Definition: Selects CSI2 PHY interface - PHY0 or PHY1.120 Definition: Selects CSI2 PHY interface - PHY0, PHY1
121 or PHY2 (8996 only)
94 Endpoint node properties:122 Endpoint node properties:
95 - clock-lanes:123 - clock-lanes:
96 Usage: required124 Usage: required
97 Value type: <u32>125 Value type: <u32>
98 Definition: The physical clock lane index. The value126 Definition: The physical clock lane index. On 8916
99 must always be <1> as the physical clock127 the value must always be <1> as the physical
100 lane is lane 1.128 clock lane is lane 1. On 8996 the value must
129 always be <7> as the hardware supports D-PHY
130 and C-PHY, indexes are in a common set and
131 D-PHY physical clock lane is labeled as 7.
101 - data-lanes:132 - data-lanes:
102 Usage: required133 Usage: required
103 Value type: <prop-encoded-array>134 Value type: <prop-encoded-array>
104 Definition: An array of physical data lanes indexes.135 Definition: An array of physical data lanes indexes.
105 Position of an entry determines the logical136 Position of an entry determines the logical
106 lane number, while the value of an entry137 lane number, while the value of an entry
107 indicates physical lane index. Lane swapping138 indicates physical lane index. Lane swapping
108 is supported.139 is supported. Physical lane indexes for
140 8916: 0, 2, 3, 4; for 8996: 0, 1, 2, 3.
109 141
110* An Example142* An Example
111 143
@@ -161,25 +193,25 @@ Qualcomm Camera Subsystem · 49 unmodified lines
161 <&gcc GCC_CAMSS_CSI_VFE0_CLK>,193 <&gcc GCC_CAMSS_CSI_VFE0_CLK>,
162 <&gcc GCC_CAMSS_VFE_AHB_CLK>,194 <&gcc GCC_CAMSS_VFE_AHB_CLK>,
163 <&gcc GCC_CAMSS_VFE_AXI_CLK>;195 <&gcc GCC_CAMSS_VFE_AXI_CLK>;
164 clock-names = "camss_top_ahb",196 clock-names = "top_ahb",
165 "ispif_ahb",197 "ispif_ahb",
166 "csiphy0_timer",198 "csiphy0_timer",
167 "csiphy1_timer",199 "csiphy1_timer",
168 "csi0_ahb",200 "csi0_ahb",
169 "csi0",201 "csi0",
170 "csi0_phy",202 "csi0_phy",
171 "csi0_pix",203 "csi0_pix",
172 "csi0_rdi",204 "csi0_rdi",
173 "csi1_ahb",205 "csi1_ahb",
174 "csi1",206 "csi1",
175 "csi1_phy",207 "csi1_phy",
176 "csi1_pix",208 "csi1_pix",
177 "csi1_rdi",209 "csi1_rdi",
178 "camss_ahb",210 "ahb",
179 "camss_vfe_vfe",211 "vfe0",
180 "camss_csi_vfe",212 "csi_vfe0",
181 "iface",213 "vfe_ahb",
182 "bus";214 "vfe_axi";
183 vdda-supply = <&pm8916_l2>;215 vdda-supply = <&pm8916_l2>;
184 iommus = <&apps_iommu 3>;216 iommus = <&apps_iommu 3>;
185 ports {217 ports {
Documentation/devicetree/bindings/media/qcom,venus.txt+1−0
@@ -6,6 +6,7 @@ · 5 unmodified lines
6 Definition: Value should contain one of:6 Definition: Value should contain one of:
7 - "qcom,msm8916-venus"7 - "qcom,msm8916-venus"
8 - "qcom,msm8996-venus"8 - "qcom,msm8996-venus"
9 - "qcom,sdm845-venus"
9- reg:10- reg:
10 Usage: required11 Usage: required
11 Value type: <prop-encoded-array>12 Value type: <prop-encoded-array>
Documentation/devicetree/bindings/media/rcar_vin.txt+37−17
@@ -21,7 +21,9 @@ on Gen3 platforms to a CSI-2 receiver. · 20 unmodified lines
21 - "renesas,vin-r8a7794" for the R8A7794 device21 - "renesas,vin-r8a7794" for the R8A7794 device
22 - "renesas,vin-r8a7795" for the R8A7795 device22 - "renesas,vin-r8a7795" for the R8A7795 device
23 - "renesas,vin-r8a7796" for the R8A7796 device23 - "renesas,vin-r8a7796" for the R8A7796 device
24 - "renesas,vin-r8a77965" for the R8A77965 device
24 - "renesas,vin-r8a77970" for the R8A77970 device25 - "renesas,vin-r8a77970" for the R8A77970 device
26 - "renesas,vin-r8a77995" for the R8A77995 device
25 - "renesas,rcar-gen2-vin" for a generic R-Car Gen2 or RZ/G1 compatible27 - "renesas,rcar-gen2-vin" for a generic R-Car Gen2 or RZ/G1 compatible
26 device.28 device.
27 29
@@ -37,30 +39,51 @@ Additionally, an alias named vinX will need to be created to specify · 9 unmodified lines
37which video input device this is.39which video input device this is.
38 40
39The per-board settings Gen2 platforms:41The per-board settings Gen2 platforms:
40 - port sub-node describing a single endpoint connected to the vin42
41 as described in video-interfaces.txt[1]. Only the first one will43- port - sub-node describing a single endpoint connected to the VIN
42 be considered as each vin interface has one input port.44 from external SoC pins as described in video-interfaces.txt[1].
45 Only the first one will be considered as each vin interface has one
46 input port.
47
48 - Optional properties for endpoint nodes:
49 - hsync-active: see [1] for description. Default is active high.
50 - vsync-active: see [1] for description. Default is active high.
51 If both HSYNC and VSYNC polarities are not specified, embedded
52 synchronization is selected.
53 - field-active-even: see [1] for description. Default is active high.
54 - bus-width: see [1] for description. The selected bus width depends on
55 the SoC type and selected input image format.
56 Valid values are: 8, 10, 12, 16, 24 and 32.
57 - data-shift: see [1] for description. Valid values are 0 and 8.
58 - data-enable-active: polarity of CLKENB signal, see [1] for
59 description. Default is active high.
43 60
44The per-board settings Gen3 platforms:61The per-board settings Gen3 platforms:
45 62
46Gen3 platforms can support both a single connected parallel input source63Gen3 platforms can support both a single connected parallel input source
47from external SoC pins (port0) and/or multiple parallel input sources64from external SoC pins (port@0) and/or multiple parallel input sources
48from local SoC CSI-2 receivers (port1) depending on SoC.65from local SoC CSI-2 receivers (port@1) depending on SoC.
49 66
50- renesas,id - ID number of the VIN, VINx in the documentation.67- renesas,id - ID number of the VIN, VINx in the documentation.
51- ports68- ports
52 - port 0 - sub-node describing a single endpoint connected to the VIN69 - port@0 - sub-node describing a single endpoint connected to the VIN
53 from external SoC pins described in video-interfaces.txt[1].70 from external SoC pins as described in video-interfaces.txt[1].
54 Describing more then one endpoint in port 0 is invalid. Only VIN71 Describing more than one endpoint in port@0 is invalid. Only VIN
55 instances that are connected to external pins should have port 0.72 instances that are connected to external pins should have port@0.
56 - port 1 - sub-nodes describing one or more endpoints connected to73
74 Endpoint nodes of port@0 support the optional properties listed in
75 the Gen2 per-board settings description.
76
77 - port@1 - sub-nodes describing one or more endpoints connected to
57 the VIN from local SoC CSI-2 receivers. The endpoint numbers must78 the VIN from local SoC CSI-2 receivers. The endpoint numbers must
58 use the following schema.79 use the following schema.
59 80
60 - Endpoint 0 - sub-node describing the endpoint connected to CSI2081 - endpoint@0 - sub-node describing the endpoint connected to CSI20
61 - Endpoint 1 - sub-node describing the endpoint connected to CSI2182 - endpoint@1 - sub-node describing the endpoint connected to CSI21
62 - Endpoint 2 - sub-node describing the endpoint connected to CSI4083 - endpoint@2 - sub-node describing the endpoint connected to CSI40
63 - Endpoint 3 - sub-node describing the endpoint connected to CSI4184 - endpoint@3 - sub-node describing the endpoint connected to CSI41
85
86 Endpoint nodes of port@1 do not support any optional endpoint property.
64 87
65Device node example for Gen2 platforms88Device node example for Gen2 platforms
66--------------------------------------89--------------------------------------
@@ -107,9 +130,6 @@ Board setup example for Gen2 platforms (vin1 composite video input) · 40 unmodified lines
107 status = "okay";130 status = "okay";
108 131
109 port {132 port {
110 #address-cells = <1>;
111 #size-cells = <0>;
112
113 vin1ep0: endpoint {133 vin1ep0: endpoint {
114 remote-endpoint = <&adv7180>;134 remote-endpoint = <&adv7180>;
115 bus-width = <8>;135 bus-width = <8>;
Documentation/devicetree/bindings/media/sh_mobile_ceu.txt+0−1
@@ -2,7 +2,6 @@ Bindings, specific for the sh_mobile_ceu_camera.c driver: · 1 unmodified line
2 - compatible: Should be "renesas,sh-mobile-ceu"2 - compatible: Should be "renesas,sh-mobile-ceu"
3 - reg: register base and size3 - reg: register base and size
4 - interrupts: the interrupt number4 - interrupts: the interrupt number
5 - interrupt-parent: the interrupt controller
6 - renesas,max-width: maximum image width, supported on this SoC5 - renesas,max-width: maximum image width, supported on this SoC
7 - renesas,max-height: maximum image height, supported on this SoC6 - renesas,max-height: maximum image height, supported on this SoC
8 7
Documentation/devicetree/bindings/media/video-interfaces.txt+6−0
@@ -85,6 +85,10 @@ Optional properties · 84 unmodified lines
85 85
86- lens-focus: A phandle to the node of the focus lens controller.86- lens-focus: A phandle to the node of the focus lens controller.
87 87
88- rotation: The device, typically an image sensor, is not mounted upright,
89 but a number of degrees counter clockwise. Typical values are 0 and 180
90 (upside down).
91
88 92
89Optional endpoint properties93Optional endpoint properties
90----------------------------94----------------------------
@@ -109,6 +113,8 @@ Optional endpoint properties · 18 unmodified lines
109 Note, that if HSYNC and VSYNC polarities are not specified, embedded113 Note, that if HSYNC and VSYNC polarities are not specified, embedded
110 synchronization may be required, where supported.114 synchronization may be required, where supported.
111- data-active: similar to HSYNC and VSYNC, specifies data line polarity.115- data-active: similar to HSYNC and VSYNC, specifies data line polarity.
116- data-enable-active: similar to HSYNC and VSYNC, specifies the data enable
117 signal polarity.
112- field-even-active: field signal level during the even field data transmission.118- field-even-active: field signal level during the even field data transmission.
113- pclk-sample: sample data on rising (1) or falling (0) edge of the pixel clock119- pclk-sample: sample data on rising (1) or falling (0) edge of the pixel clock
114 signal.120 signal.
Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.txt+4−2
@@ -2,8 +2,9 @@ SMI (Smart Multimedia Interface) Common · 1 unmodified line
2 2
3The hardware block diagram please check bindings/iommu/mediatek,iommu.txt3The hardware block diagram please check bindings/iommu/mediatek,iommu.txt
4 4
5Mediatek SMI have two generations of HW architecture, mt8173 uses the second5Mediatek SMI have two generations of HW architecture, mt2712 and mt8173 use
6generation of SMI HW while mt2701 uses the first generation HW of SMI.6the second generation of SMI HW while mt2701 uses the first generation HW of
7SMI.
7 8
8There's slight differences between the two SMI, for generation 2, the9There's slight differences between the two SMI, for generation 2, the
9register which control the iommu port is at each larb's register base. But10register which control the iommu port is at each larb's register base. But
@@ -15,6 +16,7 @@ not needed for SMI generation 2. · 5 unmodified lines
15Required properties:16Required properties:
16- compatible : must be one of :17- compatible : must be one of :
17 "mediatek,mt2701-smi-common"18 "mediatek,mt2701-smi-common"
19 "mediatek,mt2712-smi-common"
18 "mediatek,mt8173-smi-common"20 "mediatek,mt8173-smi-common"
19- reg : the register and size of the SMI block.21- reg : the register and size of the SMI block.
20- power-domains : a phandle to the power domain of this local arbiter.22- power-domains : a phandle to the power domain of this local arbiter.
Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.txt+3−2
@@ -4,8 +4,9 @@ The hardware block diagram please check bindings/iommu/mediatek,iommu.txt · 3 unmodified lines
4 4
5Required properties:5Required properties:
6- compatible : must be one of :6- compatible : must be one of :
7 "mediatek,mt8173-smi-larb"
8 "mediatek,mt2701-smi-larb"7 "mediatek,mt2701-smi-larb"
8 "mediatek,mt2712-smi-larb"
9 "mediatek,mt8173-smi-larb"
9- reg : the register and size of this local arbiter.10- reg : the register and size of this local arbiter.
10- mediatek,smi : a phandle to the smi_common node.11- mediatek,smi : a phandle to the smi_common node.
11- power-domains : a phandle to the power domain of this local arbiter.12- power-domains : a phandle to the power domain of this local arbiter.
@@ -15,7 +16,7 @@ Required properties: · 3 unmodified lines
15 the register.16 the register.
16 - "smi" : It's the clock for transfer data and command.17 - "smi" : It's the clock for transfer data and command.
17 18
18Required property for mt2701:19Required property for mt2701 and mt2712:
19- mediatek,larb-id :the hardware id of this larb.20- mediatek,larb-id :the hardware id of this larb.
20 21
21Example:22Example:
Documentation/devicetree/bindings/mfd/ac100.txt+0−4
@@ -10,7 +10,6 @@ Required properties: · 9 unmodified lines
10- sub-nodes:10- sub-nodes:
11 - codec11 - codec
12 - compatible: "x-powers,ac100-codec"12 - compatible: "x-powers,ac100-codec"
13 - interrupt-parent: The parent interrupt controller
14 - interrupts: SoC NMI / GPIO interrupt connected to the13 - interrupts: SoC NMI / GPIO interrupt connected to the
15 IRQ_AUDIO pin14 IRQ_AUDIO pin
16 - #clock-cells: Shall be 015 - #clock-cells: Shall be 0
@@ -20,9 +19,6 @@ Required properties: · 3 unmodified lines
20 19
21 - rtc20 - rtc
22 - compatible: "x-powers,ac100-rtc"21 - compatible: "x-powers,ac100-rtc"
23 - interrupt-parent: The parent interrupt controller
24 - interrupts: SoC NMI / GPIO interrupt connected to the
25 IRQ_RTC pin
26 - clocks: A phandle to the codec's "4M_adda" clock22 - clocks: A phandle to the codec's "4M_adda" clock
27 - #clock-cells: Shall be 123 - #clock-cells: Shall be 1
28 - clock-output-names: "cko1_rtc", "cko2_rtc", "cko3_rtc"24 - clock-output-names: "cko1_rtc", "cko2_rtc", "cko3_rtc"
Documentation/devicetree/bindings/mfd/altera-a10sr.txt+0−1
@@ -5,7 +5,6 @@ Required parent device properties: · 4 unmodified lines
5- spi-max-frequency : Maximum SPI frequency.5- spi-max-frequency : Maximum SPI frequency.
6- reg : The SPI Chip Select address for the Arria106- reg : The SPI Chip Select address for the Arria10
7 System Resource chip7 System Resource chip
8- interrupt-parent : The parent interrupt controller.
9- interrupts : The interrupt line the device is connected to.8- interrupts : The interrupt line the device is connected to.
10- interrupt-controller : Marks the device node as an interrupt controller.9- interrupt-controller : Marks the device node as an interrupt controller.
11- #interrupt-cells : The number of cells to describe an IRQ, should be 2.10- #interrupt-cells : The number of cells to describe an IRQ, should be 2.
Documentation/devicetree/bindings/mfd/arizona.txt+0−1
@@ -22,7 +22,6 @@ Required properties: · 21 unmodified lines
22 connected to.22 connected to.
23 - interrupt-controller : Arizona class devices contain interrupt controllers23 - interrupt-controller : Arizona class devices contain interrupt controllers
24 and may provide interrupt services to other devices.24 and may provide interrupt services to other devices.
25 - interrupt-parent : The parent interrupt controller.
26 - #interrupt-cells: the number of cells to describe an IRQ, this should be 2.25 - #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
27 The first cell is the IRQ number.26 The first cell is the IRQ number.
28 The second cell is the flags, encoded as the trigger masks from27 The second cell is the flags, encoded as the trigger masks from
Documentation/devicetree/bindings/mfd/as3722.txt+2−0
@@ -20,6 +20,8 @@ Optional properties: · 19 unmodified lines
20- ams,enable-internal-i2c-pullup: Boolean property, to enable internal pullup on20- ams,enable-internal-i2c-pullup: Boolean property, to enable internal pullup on
21 i2c scl/sda pins. Missing this will disable internal pullup on i2c21 i2c scl/sda pins. Missing this will disable internal pullup on i2c
22 scl/sda lines.22 scl/sda lines.
23- ams,enable-ac-ok-power-on: Boolean property, to enable exit out of power off
24 mode with AC_OK pin (pin enabled in power off mode).
23 25
24Optional submodule and their properties:26Optional submodule and their properties:
25=======================================27=======================================
Documentation/devicetree/bindings/mfd/axp20x.txt+5−3
@@ -28,7 +28,6 @@ Required properties: · 27 unmodified lines
28 * "x-powers,axp809"28 * "x-powers,axp809"
29 * "x-powers,axp813"29 * "x-powers,axp813"
30- reg: The I2C slave address or RSB hardware address for the AXP chip30- reg: The I2C slave address or RSB hardware address for the AXP chip
31- interrupt-parent: The parent interrupt controller
32- interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin31- interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin
33- interrupt-controller: The PMIC has its own internal IRQs32- interrupt-controller: The PMIC has its own internal IRQs
34- #interrupt-cells: Should be set to 133- #interrupt-cells: Should be set to 1
@@ -45,8 +44,11 @@ Optional properties: · 10 unmodified lines
45 board is driving OTG VBus or not.44 board is driving OTG VBus or not.
46 (axp221 / axp223 / axp803/ axp813 only)45 (axp221 / axp223 / axp803/ axp813 only)
47 46
48- x-powers,master-mode: Boolean (axp806 only). Set this when the PMIC is47- x-powers,self-working-mode and
49 wired for master mode. The default is slave mode.48 x-powers,master-mode: Boolean (axp806 only). Set either of these when the
49 PMIC is wired for self-working mode or master mode.
50 If neither is set then slave mode is assumed.
51 This corresponds to how the MODESET pin is wired.
50 52
51- <input>-supply: a phandle to the regulator supply node. May be omitted if53- <input>-supply: a phandle to the regulator supply node. May be omitted if
52 inputs are unregulated, such as using the IPSOUT output54 inputs are unregulated, such as using the IPSOUT output
Documentation/devicetree/bindings/mfd/bd9571mwv.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4 - compatible : Should be "rohm,bd9571mwv".4 - compatible : Should be "rohm,bd9571mwv".
5 - reg : I2C slave address.5 - reg : I2C slave address.
6 - interrupt-parent : Phandle to the parent interrupt controller.
7 - interrupts : The interrupt line the device is connected to.6 - interrupts : The interrupt line the device is connected to.
8 - interrupt-controller : Marks the device node as an interrupt controller.7 - interrupt-controller : Marks the device node as an interrupt controller.
9 - #interrupt-cells : The number of cells to describe an IRQ, should be 2.8 - #interrupt-cells : The number of cells to describe an IRQ, should be 2.
Documentation/devicetree/bindings/mfd/bfticu.txt+0−1
@@ -10,7 +10,6 @@ Required properties: · 9 unmodified lines
10- interrupts: the main IRQ line to signal the collected IRQs10- interrupts: the main IRQ line to signal the collected IRQs
11- #interrupt-cells : is 2 and their usage is compliant to the 2 cells variant11- #interrupt-cells : is 2 and their usage is compliant to the 2 cells variant
12 of Documentation/devicetree/bindings/interrupt-controller/interrupts.txt12 of Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
13- interrupt-parent: the parent IRQ ctrl the main IRQ is connected to
14- reg: access on the parent local bus (chip select, offset in chip select, size)13- reg: access on the parent local bus (chip select, offset in chip select, size)
15 14
16Example:15Example:
Documentation/devicetree/bindings/mfd/da9055.txt+0−2
@@ -22,8 +22,6 @@ Documentation/devicetree/bindings/sound/da9055.txt · 21 unmodified lines
22Required properties:22Required properties:
23- compatible : Should be "dlg,da9055-pmic"23- compatible : Should be "dlg,da9055-pmic"
24- reg: Specifies the I2C slave address (defaults to 0x5a but can be modified)24- reg: Specifies the I2C slave address (defaults to 0x5a but can be modified)
25- interrupt-parent: Specifies the phandle of the interrupt controller to which
26 the IRQs from da9055 are delivered to.
27- interrupts: IRQ line info for da9055 chip.25- interrupts: IRQ line info for da9055 chip.
28- interrupt-controller: da9055 has internal IRQs (has own IRQ domain).26- interrupt-controller: da9055 has internal IRQs (has own IRQ domain).
29- #interrupt-cells: Should be 1, is the local IRQ number for da9055.27- #interrupt-cells: Should be 1, is the local IRQ number for da9055.
Documentation/devicetree/bindings/mfd/da9062.txt+0−2
@@ -32,8 +32,6 @@ Required properties: · 31 unmodified lines
32 "dlg,da9061" for DA906132 "dlg,da9061" for DA9061
33- reg : Specifies the I2C slave address (this defaults to 0x58 but it can be33- reg : Specifies the I2C slave address (this defaults to 0x58 but it can be
34 modified to match the chip's OTP settings).34 modified to match the chip's OTP settings).
35- interrupt-parent : Specifies the reference to the interrupt controller for
36 the DA9062 or DA9061.
37- interrupts : IRQ line information.35- interrupts : IRQ line information.
38- interrupt-controller36- interrupt-controller
39 37
Documentation/devicetree/bindings/mfd/da9063.txt+0−2
@@ -16,8 +16,6 @@ Required properties: · 15 unmodified lines
16- compatible : Should be "dlg,da9063" or "dlg,da9063l"16- compatible : Should be "dlg,da9063" or "dlg,da9063l"
17- reg : Specifies the I2C slave address (this defaults to 0x58 but it can be17- reg : Specifies the I2C slave address (this defaults to 0x58 but it can be
18 modified to match the chip's OTP settings).18 modified to match the chip's OTP settings).
19- interrupt-parent : Specifies the reference to the interrupt controller for
20 the DA9063.
21- interrupts : IRQ line information.19- interrupts : IRQ line information.
22- interrupt-controller20- interrupt-controller
23 21
Documentation/devicetree/bindings/mfd/da9150.txt+0−2
@@ -13,8 +13,6 @@ da9150-fg : Battery Fuel-Gauge · 12 unmodified lines
13Required properties:13Required properties:
14- compatible : Should be "dlg,da9150"14- compatible : Should be "dlg,da9150"
15- reg: Specifies the I2C slave address15- reg: Specifies the I2C slave address
16- interrupt-parent: Specifies the phandle of the interrupt controller to which
17 the IRQs from da9150 are delivered to.
18- interrupts: IRQ line info for da9150 chip.16- interrupts: IRQ line info for da9150 chip.
19- interrupt-controller: da9150 has internal IRQs (own IRQ domain).17- interrupt-controller: da9150 has internal IRQs (own IRQ domain).
20 (See ../interrupt-controller/interrupts.txt for18 (See ../interrupt-controller/interrupts.txt for
Documentation/devicetree/bindings/mfd/madera.txt+102−0
@@ -0,0 +1,102 @@
1Cirrus Logic Madera class audio codecs Multi-Functional Device
2
3These devices are audio SoCs with extensive digital capabilities and a range
4of analogue I/O.
5
6See also the child driver bindings in:
7bindings/pinctrl/cirrus,madera-pinctrl.txt
8bindings/regulator/arizona-regulator.txt
9bindings/sound/madera.txt
10
11Required properties:
12
13 - compatible : One of the following chip-specific strings:
14 "cirrus,cs47l35"
15 "cirrus,cs47l85"
16 "cirrus,cs47l90"
17 "cirrus,cs47l91"
18 "cirrus,wm1840"
19
20 - reg : I2C slave address when connected using I2C, chip select number when
21 using SPI.
22
23 - DCVDD-supply : Power supply for the device as defined in
24 bindings/regulator/regulator.txt
25 Mandatory on CS47L35, CS47L90, CS47L91
26 Optional on CS47L85, WM1840
27
28 - AVDD-supply, DBVDD1-supply, DBVDD2-supply, CPVDD1-supply, CPVDD2-supply :
29 Power supplies for the device
30
31 - DBVDD3-supply, DBVDD4-supply : Power supplies for the device
32 (CS47L85, CS47L90, CS47L91, WM1840)
33
34 - SPKVDDL-supply, SPKVDDR-supply : Power supplies for the device
35 (CS47L85, WM1840)
36
37 - SPKVDD-supply : Power supply for the device
38 (CS47L35)
39
40 - interrupt-controller : Indicates that this device is an interrupt controller
41
42 - #interrupt-cells: the number of cells to describe an IRQ, must be 2.
43 The first cell is the IRQ number.
44 The second cell is the flags, encoded as the trigger masks from
45 bindings/interrupt-controller/interrupts.txt
46
47 - gpio-controller : Indicates this device is a GPIO controller.
48
49 - #gpio-cells : Must be 2. The first cell is the pin number. The second cell
50 is reserved for future use and must be zero
51
52 - interrupt-parent : The parent interrupt controller.
53
54 - interrupts : The interrupt line the /IRQ signal for the device is
55 connected to.
56
57Optional properties:
58
59 - MICVDD-supply : Power supply, only need to be specified if
60 powered externally
61
62 - reset-gpios : One entry specifying the GPIO controlling /RESET.
63 As defined in bindings/gpio.txt.
64 Although optional, it is strongly recommended to use a hardware reset
65
66 - MICBIASx : Initial data for the MICBIAS regulators, as covered in
67 Documentation/devicetree/bindings/regulator/regulator.txt.
68 One for each MICBIAS generator (MICBIAS1, MICBIAS2, ...)
69 (all codecs)
70
71 One for each output pin (MICBIAS1A, MIBCIAS1B, MICBIAS2A, ...)
72 (all except CS47L85, WM1840)
73
74 The following following additional property is supported for the generator
75 nodes:
76 - cirrus,ext-cap : Set to 1 if the MICBIAS has external decoupling
77 capacitors attached.
78
79Optional child nodes:
80 micvdd : Node containing initialization data for the micvdd regulator
81 See bindings/regulator/arizona-regulator.txt
82
83 ldo1 : Node containing initialization data for the LDO1 regulator
84 See bindings/regulator/arizona-regulator.txt
85 (cs47l85, wm1840)
86
87Example:
88
89cs47l85@0 {
90 compatible = "cirrus,cs47l85";
91 reg = <0>;
92
93 reset-gpios = <&gpio 0>;
94
95 interrupt-controller;
96 #interrupt-cells = <2>;
97 interrupts = <&host_irq1>;
98 interrupt-parent = <&gic>;
99
100 gpio-controller;
101 #gpio-cells = <2>;
102};
Documentation/devicetree/bindings/mfd/max14577.txt+0−1
@@ -11,7 +11,6 @@ Required properties: · 10 unmodified lines
11- compatible : Must be "maxim,max14577" or "maxim,max77836".11- compatible : Must be "maxim,max14577" or "maxim,max77836".
12- reg : I2C slave address for the max14577 chip (0x25 for max14577/max77836)12- reg : I2C slave address for the max14577 chip (0x25 for max14577/max77836)
13- interrupts : IRQ line for the chip.13- interrupts : IRQ line for the chip.
14- interrupt-parent : The parent interrupt controller.
15 14
16 15
17Required nodes:16Required nodes:
Documentation/devicetree/bindings/mfd/max77686.txt+0−1
@@ -15,7 +15,6 @@ Required properties: · 14 unmodified lines
15- compatible : Must be "maxim,max77686";15- compatible : Must be "maxim,max77686";
16- reg : Specifies the i2c slave address of PMIC block.16- reg : Specifies the i2c slave address of PMIC block.
17- interrupts : This i2c device has an IRQ line connected to the main SoC.17- interrupts : This i2c device has an IRQ line connected to the main SoC.
18- interrupt-parent : The parent interrupt controller.
19 18
20Example:19Example:
21 20
Documentation/devicetree/bindings/mfd/max77693.txt+0−1
@@ -14,7 +14,6 @@ Required properties: · 13 unmodified lines
14- compatible : Must be "maxim,max77693".14- compatible : Must be "maxim,max77693".
15- reg : Specifies the i2c slave address of PMIC block.15- reg : Specifies the i2c slave address of PMIC block.
16- interrupts : This i2c device has an IRQ line connected to the main SoC.16- interrupts : This i2c device has an IRQ line connected to the main SoC.
17- interrupt-parent : The parent interrupt controller.
18 17
19Optional properties:18Optional properties:
20- regulators : The regulators of max77693 have to be instantiated under subnode19- regulators : The regulators of max77693 have to be instantiated under subnode
Documentation/devicetree/bindings/mfd/max77802.txt+0−1
@@ -14,7 +14,6 @@ Required properties: · 13 unmodified lines
14- compatible : Must be "maxim,max77802"14- compatible : Must be "maxim,max77802"
15- reg : Specifies the I2C slave address of PMIC block.15- reg : Specifies the I2C slave address of PMIC block.
16- interrupts : I2C device IRQ line connected to the main SoC.16- interrupts : I2C device IRQ line connected to the main SoC.
17- interrupt-parent : The parent interrupt controller.
18 17
19Example:18Example:
20 19
Documentation/devicetree/bindings/mfd/max8998.txt+0−2
@@ -20,8 +20,6 @@ Required properties: · 19 unmodified lines
20- reg: Specifies the i2c slave address of the pmic block. It should be 0x66.20- reg: Specifies the i2c slave address of the pmic block. It should be 0x66.
21 21
22Optional properties:22Optional properties:
23- interrupt-parent: Specifies the phandle of the interrupt controller to which
24 the interrupts from MAX8998 are routed to.
25- interrupts: Interrupt specifiers for two interrupt sources.23- interrupts: Interrupt specifiers for two interrupt sources.
26 - First interrupt specifier is for main interrupt.24 - First interrupt specifier is for main interrupt.
27 - Second interrupt specifier is for power-on/-off interrupt.25 - Second interrupt specifier is for power-on/-off interrupt.
Documentation/devicetree/bindings/mfd/motorola-cpcap.txt+0−1
@@ -3,7 +3,6 @@ Motorola CPCAP PMIC device tree binding · 2 unmodified lines
3Required properties:3Required properties:
4- compatible : One or both of "motorola,cpcap" or "ste,6556002"4- compatible : One or both of "motorola,cpcap" or "ste,6556002"
5- reg : SPI chip select5- reg : SPI chip select
6- interrupt-parent : The parent interrupt controller
7- interrupts : The interrupt line the device is connected to6- interrupts : The interrupt line the device is connected to
8- interrupt-controller : Marks the device node as an interrupt controller7- interrupt-controller : Marks the device node as an interrupt controller
9- #interrupt-cells : The number of cells to describe an IRQ, should be 28- #interrupt-cells : The number of cells to describe an IRQ, should be 2
Documentation/devicetree/bindings/mfd/palmas.txt+0−1
@@ -25,7 +25,6 @@ and also the generic series names · 24 unmodified lines
25 The first cell is the IRQ number.25 The first cell is the IRQ number.
26 The second cell is the flags, encoded as the trigger masks from26 The second cell is the flags, encoded as the trigger masks from
27 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt27 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
28- interrupt-parent : The parent interrupt controller.
29 28
30Optional properties:29Optional properties:
31 ti,mux-padX : set the pad register X (1-2) to the correct muxing for the30 ti,mux-padX : set the pad register X (1-2) to the correct muxing for the
Documentation/devicetree/bindings/mfd/retu.txt+0−1
@@ -9,7 +9,6 @@ Required properties: · 8 unmodified lines
9- compatible: "nokia,retu" or "nokia,tahvo"9- compatible: "nokia,retu" or "nokia,tahvo"
10- reg: Specifies the CBUS slave address of the ASIC chip10- reg: Specifies the CBUS slave address of the ASIC chip
11- interrupts: The interrupt line the device is connected to11- interrupts: The interrupt line the device is connected to
12- interrupt-parent: The parent interrupt controller
13 12
14Example:13Example:
15 14
Documentation/devicetree/bindings/mfd/rk808.txt+0−1
@@ -10,7 +10,6 @@ Required properties: · 9 unmodified lines
10- compatible: "rockchip,rk808"10- compatible: "rockchip,rk808"
11- compatible: "rockchip,rk818"11- compatible: "rockchip,rk818"
12- reg: I2C slave address12- reg: I2C slave address
13- interrupt-parent: The parent interrupt controller.
14- interrupts: the interrupt outputs of the controller.13- interrupts: the interrupt outputs of the controller.
15- #clock-cells: from common clock binding; shall be set to 1 (multiple clock14- #clock-cells: from common clock binding; shall be set to 1 (multiple clock
16 outputs). See <dt-bindings/clock/rockchip,rk808.h> for clock IDs.15 outputs). See <dt-bindings/clock/rockchip,rk808.h> for clock IDs.
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt+62−0
@@ -0,0 +1,62 @@
1* ROHM BD71837 Power Management Integrated Circuit bindings
2
3BD71837MWV is a programmable Power Management IC for powering single-core,
4dual-core, and quad-core SoCs such as NXP-i.MX 8M. It is optimized for
5low BOM cost and compact solution footprint. It integrates 8 Buck
6egulators and 7 LDOs to provide all the power rails required by the SoC and
7the commonly used peripherals.
8
9Datasheet for PMIC is available at:
10https://www.rohm.com/datasheet/BD71837MWV/bd71837mwv-e
11
12Required properties:
13 - compatible : Should be "rohm,bd71837".
14 - reg : I2C slave address.
15 - interrupt-parent : Phandle to the parent interrupt controller.
16 - interrupts : The interrupt line the device is connected to.
17 - clocks : The parent clock connected to PMIC. If this is missing
18 32768 KHz clock is assumed.
19 - #clock-cells : Should be 0.
20 - regulators: : List of child nodes that specify the regulators.
21 Please see ../regulator/rohm,bd71837-regulator.txt
22
23Optional properties:
24- clock-output-names : Should contain name for output clock.
25
26Example:
27
28 /* external oscillator node */
29 osc: oscillator {
30 compatible = "fixed-clock";
31 #clock-cells = <1>;
32 clock-frequency = <32768>;
33 clock-output-names = "osc";
34 };
35
36 pmic: pmic@4b {
37 compatible = "rohm,bd71837";
38 reg = <0x4b>;
39 interrupt-parent = <&gpio1>;
40 interrupts = <29 GPIO_ACTIVE_LOW>;
41 interrupt-names = "irq";
42 #clock-cells = <0>;
43 clocks = <&osc 0>;
44 clock-output-names = "bd71837-32k-out";
45
46 regulators {
47 buck1: BUCK1 {
48 regulator-name = "buck1";
49 regulator-min-microvolt = <700000>;
50 regulator-max-microvolt = <1300000>;
51 regulator-boot-on;
52 regulator-ramp-delay = <1250>;
53 };
54 };
55 };
56
57 /* Clock consumer node */
58 rtc@0 {
59 compatible = "company,my-rtc";
60 clock-names = "my-clock";
61 clocks = <&pmic>;
62 };
Documentation/devicetree/bindings/mfd/samsung,sec-core.txt+0−2
@@ -31,8 +31,6 @@ Required properties: · 30 unmodified lines
31 - reg: Specifies the I2C slave address of the pmic block. It should be 0x66.31 - reg: Specifies the I2C slave address of the pmic block. It should be 0x66.
32 32
33Optional properties:33Optional properties:
34 - interrupt-parent: Specifies the phandle of the interrupt controller to which
35 the interrupts from s2mps11 are delivered to.
36 - interrupts: Interrupt specifiers for interrupt sources.34 - interrupts: Interrupt specifiers for interrupt sources.
37 - samsung,s2mps11-wrstbi-ground: Indicates that WRSTBI pin of PMIC is pulled35 - samsung,s2mps11-wrstbi-ground: Indicates that WRSTBI pin of PMIC is pulled
38 down. When the system is suspended it will always go down thus triggerring36 down. When the system is suspended it will always go down thus triggerring
Documentation/devicetree/bindings/mfd/stmpe.txt+0−1
@@ -10,7 +10,6 @@ Required properties: · 9 unmodified lines
10Optional properties:10Optional properties:
11 - interrupts : The interrupt outputs from the controller11 - interrupts : The interrupt outputs from the controller
12 - interrupt-controller : Marks the device node as an interrupt controller12 - interrupt-controller : Marks the device node as an interrupt controller
13 - interrupt-parent : Specifies which IRQ controller we're connected to
14 - wakeup-source : Marks the input device as wakable13 - wakeup-source : Marks the input device as wakable
15 - st,autosleep-timeout : Valid entries (ms); 4, 16, 32, 64, 128, 256, 512 and 102414 - st,autosleep-timeout : Valid entries (ms); 4, 16, 32, 64, 128, 256, 512 and 1024
16 - irq-gpio : If present, which GPIO to use for event IRQ15 - irq-gpio : If present, which GPIO to use for event IRQ
Documentation/devicetree/bindings/mfd/tc3589x.txt+0−1
@@ -15,7 +15,6 @@ Required properties: · 14 unmodified lines
15 - compatible : must be "toshiba,tc35890", "toshiba,tc35892", "toshiba,tc35893",15 - compatible : must be "toshiba,tc35890", "toshiba,tc35892", "toshiba,tc35893",
16 "toshiba,tc35894", "toshiba,tc35895" or "toshiba,tc35896"16 "toshiba,tc35894", "toshiba,tc35895" or "toshiba,tc35896"
17 - reg : I2C address of the device17 - reg : I2C address of the device
18 - interrupt-parent : specifies which IRQ controller we're connected to
19 - interrupts : the interrupt on the parent the controller is connected to18 - interrupts : the interrupt on the parent the controller is connected to
20 - interrupt-controller : marks the device node as an interrupt controller19 - interrupt-controller : marks the device node as an interrupt controller
21 - #interrupt-cells : should be <1>, the first cell is the IRQ offset on this20 - #interrupt-cells : should be <1>, the first cell is the IRQ offset on this
Documentation/devicetree/bindings/mfd/tps65086.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4 - compatible : Should be "ti,tps65086".4 - compatible : Should be "ti,tps65086".
5 - reg : I2C slave address.5 - reg : I2C slave address.
6 - interrupt-parent : Phandle to the parent interrupt controller.
7 - interrupts : The interrupt line the device is connected to.6 - interrupts : The interrupt line the device is connected to.
8 - interrupt-controller : Marks the device node as an interrupt controller.7 - interrupt-controller : Marks the device node as an interrupt controller.
9 - #interrupt-cells : The number of cells to describe an IRQ, should be 2.8 - #interrupt-cells : The number of cells to describe an IRQ, should be 2.
Documentation/devicetree/bindings/mfd/tps65910.txt+1−1
@@ -22,7 +22,7 @@ Required properties: · 21 unmodified lines
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, vmmc, vbb24 vaux2, vaux33, vmmc, vbb
25 tps65911: vrtc, vio, vdd1, vdd3, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5,25 tps65911: vrtc, vio, vdd1, vdd2, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5,
26 ldo6, ldo7, ldo826 ldo6, ldo7, ldo8
27 27
28- xxx-supply: Input voltage supply regulator.28- xxx-supply: Input voltage supply regulator.
Documentation/devicetree/bindings/mfd/tps65912.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4 - compatible : Should be "ti,tps65912".4 - compatible : Should be "ti,tps65912".
5 - reg : Slave address or chip select number (I2C / SPI).5 - reg : Slave address or chip select number (I2C / SPI).
6 - interrupt-parent : The parent interrupt controller.
7 - interrupts : The interrupt line the device is connected to.6 - interrupts : The interrupt line the device is connected to.
8 - interrupt-controller : Marks the device node as an interrupt controller.7 - interrupt-controller : Marks the device node as an interrupt controller.
9 - #interrupt-cells : The number of cells to describe an IRQ, should be 2.8 - #interrupt-cells : The number of cells to describe an IRQ, should be 2.
Documentation/devicetree/bindings/mfd/twl-familly.txt+0−1
@@ -16,7 +16,6 @@ Required properties: · 15 unmodified lines
16- interrupt-controller : Since the twl support several interrupts internally,16- interrupt-controller : Since the twl support several interrupts internally,
17 it is considered as an interrupt controller cascaded to the SoC one.17 it is considered as an interrupt controller cascaded to the SoC one.
18- #interrupt-cells = <1>;18- #interrupt-cells = <1>;
19- interrupt-parent : The parent interrupt controller.
20 19
21Optional node:20Optional node:
22- Child nodes contain in the twl. The twl family is made of several variants21- Child nodes contain in the twl. The twl family is made of several variants
Documentation/devicetree/bindings/mfd/twl6040.txt+0−1
@@ -9,7 +9,6 @@ Required properties: · 8 unmodified lines
9- compatible : "ti,twl6040" for twl6040, "ti,twl6041" for twl60419- compatible : "ti,twl6040" for twl6040, "ti,twl6041" for twl6041
10- reg: must be 0x4b for i2c address10- reg: must be 0x4b for i2c address
11- interrupts: twl6040 has one interrupt line connecteded to the main SoC11- interrupts: twl6040 has one interrupt line connecteded to the main SoC
12- interrupt-parent: The parent interrupt controller
13- gpio-controller:12- gpio-controller:
14- #gpio-cells = <1>: twl6040 provides GPO lines.13- #gpio-cells = <1>: twl6040 provides GPO lines.
15- #clock-cells = <0>; twl6040 is a provider of pdmclk which is used by McPDM14- #clock-cells = <0>; twl6040 is a provider of pdmclk which is used by McPDM
Documentation/devicetree/bindings/mfd/wm831x.txt+0−1
@@ -22,7 +22,6 @@ Required properties: · 21 unmodified lines
22 22
23 - interrupts : The interrupt line the IRQ signal for the device is23 - interrupts : The interrupt line the IRQ signal for the device is
24 connected to.24 connected to.
25 - interrupt-parent : The parent interrupt controller.
26 25
27 - interrupt-controller : wm831x devices contain interrupt controllers and26 - interrupt-controller : wm831x devices contain interrupt controllers and
28 may provide interrupt services to other devices.27 may provide interrupt services to other devices.
Documentation/devicetree/bindings/mips/brcm/soc.txt+1−1
@@ -152,7 +152,7 @@ Required properties: · 151 unmodified lines
152- compatible : should contain one of:152- compatible : should contain one of:
153 "brcm,bcm7425-timers"153 "brcm,bcm7425-timers"
154 "brcm,bcm7429-timers"154 "brcm,bcm7429-timers"
155 "brcm,bcm7435-timers and155 "brcm,bcm7435-timers" and
156 "brcm,brcmstb-timers"156 "brcm,brcmstb-timers"
157- reg : the timers register range157- reg : the timers register range
158- interrupts : the interrupt line for this timer block158- interrupts : the interrupt line for this timer block
Documentation/devicetree/bindings/mips/cavium/cib.txt+0−2
@@ -13,8 +13,6 @@ Properties: · 12 unmodified lines
13- cavium,max-bits: The index (zero based) of the highest numbered bit13- cavium,max-bits: The index (zero based) of the highest numbered bit
14 in the CIB block.14 in the CIB block.
15 15
16- interrupt-parent: Always the CIU on the SoC.
17
18- interrupts: The CIU line to which the CIB block is connected.16- interrupts: The CIU line to which the CIB block is connected.
19 17
20- #interrupt-cells: Must be <2>. The first cell is the bit within the18- #interrupt-cells: Must be <2>. The first cell is the bit within the
Documentation/devicetree/bindings/misc/aspeed,cvic.txt+35−0
@@ -0,0 +1,35 @@
1* ASPEED AST2400 and AST2500 coprocessor interrupt controller
2
3This file describes the bindings for the interrupt controller present
4in the AST2400 and AST2500 BMC SoCs which provides interrupt to the
5ColdFire coprocessor.
6
7It is not a normal interrupt controller and it would be rather
8inconvenient to create an interrupt tree for it as it somewhat shares
9some of the same sources as the main ARM interrupt controller but with
10different numbers.
11
12The AST2500 supports a SW generated interrupt
13
14Required properties:
15- reg: address and length of the register for the device.
16- compatible: "aspeed,cvic" and one of:
17 "aspeed,ast2400-cvic"
18 or
19 "aspeed,ast2500-cvic"
20
21- valid-sources: One cell, bitmap of supported sources for the implementation
22
23Optional properties;
24- copro-sw-interrupts: List of interrupt numbers that can be used as
25 SW interrupts from the ARM to the coprocessor.
26 (AST2500 only)
27
28Example:
29
30 cvic: copro-interrupt-controller@1e6c2000 {
31 compatible = "aspeed,ast2500-cvic";
32 valid-sources = <0xffffffff>;
33 copro-sw-interrupts = <1>;
34 reg = <0x1e6c2000 0x80>;
35 };
Documentation/devicetree/bindings/mmc/arasan,sdhci.txt+2−2
@@ -19,8 +19,6 @@ Required Properties: · 18 unmodified lines
19 - clocks: From clock bindings: Handles to clock inputs.19 - clocks: From clock bindings: Handles to clock inputs.
20 - clock-names: From clock bindings: Tuple including "clk_xin" and "clk_ahb"20 - clock-names: From clock bindings: Tuple including "clk_xin" and "clk_ahb"
21 - interrupts: Interrupt specifier21 - interrupts: Interrupt specifier
22 - interrupt-parent: Phandle for the interrupt controller that services
23 interrupts for this device.
24 22
25Required Properties for "arasan,sdhci-5.1":23Required Properties for "arasan,sdhci-5.1":
26 - phys: From PHY bindings: Phandle for the Generic PHY for arasan.24 - phys: From PHY bindings: Phandle for the Generic PHY for arasan.
@@ -39,6 +37,8 @@ Optional Properties: · 12 unmodified lines
39 - xlnx,fails-without-test-cd: when present, the controller doesn't work when37 - xlnx,fails-without-test-cd: when present, the controller doesn't work when
40 the CD line is not connected properly, and the line is not connected38 the CD line is not connected properly, and the line is not connected
41 properly. Test mode can be used to force the controller to function.39 properly. Test mode can be used to force the controller to function.
40 - xlnx,int-clock-stable-broken: when present, the controller always reports
41 that the internal clock is stable even when it is not.
42 42
43Example:43Example:
44 sdhci@e0100000 {44 sdhci@e0100000 {
Documentation/devicetree/bindings/mmc/fsl-esdhc.txt+0−1
@@ -21,7 +21,6 @@ Required properties: · 20 unmodified lines
21 "fsl,ls1043a-esdhc"21 "fsl,ls1043a-esdhc"
22 "fsl,ls1046a-esdhc"22 "fsl,ls1046a-esdhc"
23 "fsl,ls2080a-esdhc"23 "fsl,ls2080a-esdhc"
24 - interrupt-parent : interrupt source phandle.
25 - clock-frequency : specifies eSDHC base clock frequency.24 - clock-frequency : specifies eSDHC base clock frequency.
26 25
27Optional properties:26Optional properties:
Documentation/devicetree/bindings/mmc/mmc-spi-slot.txt+0−2
@@ -13,8 +13,6 @@ Optional properties: · 12 unmodified lines
13- gpios : may specify GPIOs in this order: Card-Detect GPIO,13- gpios : may specify GPIOs in this order: Card-Detect GPIO,
14 Write-Protect GPIO. Note that this does not follow the14 Write-Protect GPIO. Note that this does not follow the
15 binding from mmc.txt, for historical reasons.15 binding from mmc.txt, for historical reasons.
16- interrupt-parent : the phandle for the interrupt controller that
17 services interrupts for this device.
18 16
19Example:17Example:
20 18
Documentation/devicetree/bindings/mmc/pxa-mmc.txt+3−3
@@ -8,10 +8,9 @@ Required properties: · 7 unmodified lines
8 8
9Optional properties:9Optional properties:
10- marvell,detect-delay-ms: sets the detection delay timeout in ms.10- marvell,detect-delay-ms: sets the detection delay timeout in ms.
11- marvell,gpio-power: GPIO spec for the card power enable pin
12 11
13This file documents differences between the core properties in mmc.txt12In addition to the properties described in this docuent, the details
14and the properties used by the pxa-mmc driver.13described in mmc.txt are supported.
15 14
16Examples:15Examples:
17 16
@@ -19,6 +18,7 @@ mmc0: mmc@41100000 { · 1 unmodified line
19 compatible = "marvell,pxa-mmc";18 compatible = "marvell,pxa-mmc";
20 reg = <0x41100000 0x1000>;19 reg = <0x41100000 0x1000>;
21 interrupts = <23>;20 interrupts = <23>;
21 vmmc-supply = <&mmc_regulator>;
22 cd-gpios = <&gpio 23 0>;22 cd-gpios = <&gpio 23 0>;
23 wp-gpios = <&gpio 24 0>;23 wp-gpios = <&gpio 24 0>;
24};24};
Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.txt+1−0
@@ -14,6 +14,7 @@ Required Properties: · 13 unmodified lines
14 before RK328814 before RK3288
15 - "rockchip,rk3288-dw-mshc": for Rockchip RK328815 - "rockchip,rk3288-dw-mshc": for Rockchip RK3288
16 - "rockchip,rv1108-dw-mshc", "rockchip,rk3288-dw-mshc": for Rockchip RV110816 - "rockchip,rv1108-dw-mshc", "rockchip,rk3288-dw-mshc": for Rockchip RV1108
17 - "rockchip,px30-dw-mshc", "rockchip,rk3288-dw-mshc": for Rockchip PX30
17 - "rockchip,rk3036-dw-mshc", "rockchip,rk3288-dw-mshc": for Rockchip RK303618 - "rockchip,rk3036-dw-mshc", "rockchip,rk3288-dw-mshc": for Rockchip RK3036
18 - "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc": for Rockchip RK322x19 - "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc": for Rockchip RK322x
19 - "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc": for Rockchip RK332820 - "rockchip,rk3328-dw-mshc", "rockchip,rk3288-dw-mshc": for Rockchip RK3328
Documentation/devicetree/bindings/mmc/sdhci-msm.txt+6−1
@@ -4,7 +4,12 @@ This file documents differences between the core properties in mmc.txt · 3 unmodified lines
4and the properties used by the sdhci-msm driver.4and the properties used by the sdhci-msm driver.
5 5
6Required properties:6Required properties:
7- compatible: Should contain "qcom,sdhci-msm-v4".7- compatible: Should contain:
8 "qcom,sdhci-msm-v4" for sdcc versions less than 5.0
9 "qcom,sdhci-msm-v5" for sdcc versions >= 5.0
10 For SDCC version 5.0.0, MCI registers are removed from SDCC
11 interface and some registers are moved to HC. New compatible
12 string is added to support this change - "qcom,sdhci-msm-v5".
8- reg: Base address and length of the register in the following order:13- reg: Base address and length of the register in the following order:
9 - Host controller register map (required)14 - Host controller register map (required)
10 - SD Core register map (required)15 - SD Core register map (required)
Documentation/devicetree/bindings/mmc/sdhci-of-dwcmshc.txt+20−0
@@ -0,0 +1,20 @@
1* Synopsys DesignWare Cores Mobile Storage Host Controller
2
3Required properties:
4- compatible: should be one of the following:
5 "snps,dwcmshc-sdhci"
6- reg: offset and length of the register set for the device.
7- interrupts: a single interrupt specifier.
8- clocks: Array of clocks required for SDHCI; requires at least one for
9 core clock.
10- clock-names: Array of names corresponding to clocks property; shall be
11 "core" for core clock and "bus" for optional bus clock.
12
13Example:
14 sdhci2: sdhci@aa0000 {
15 compatible = "snps,dwcmshc-sdhci";
16 reg = <0xaa0000 0x1000>;
17 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
18 clocks = <&emmcclk>;
19 bus-width = <8>;
20 }
Documentation/devicetree/bindings/mmc/sunxi-mmc.txt+2−0
@@ -16,6 +16,8 @@ Required properties: · 15 unmodified lines
16 * "allwinner,sun9i-a80-mmc"16 * "allwinner,sun9i-a80-mmc"
17 * "allwinner,sun50i-a64-emmc"17 * "allwinner,sun50i-a64-emmc"
18 * "allwinner,sun50i-a64-mmc"18 * "allwinner,sun50i-a64-mmc"
19 * "allwinner,sun50i-h6-emmc", "allwinner.sun50i-a64-emmc"
20 * "allwinner,sun50i-h6-mmc", "allwinner.sun50i-a64-mmc"
19 - reg : mmc controller base registers21 - reg : mmc controller base registers
20 - clocks : a list with 4 phandle + clock specifier pairs22 - clocks : a list with 4 phandle + clock specifier pairs
21 - clock-names : must contain "ahb", "mmc", "output" and "sample"23 - clock-names : must contain "ahb", "mmc", "output" and "sample"
Documentation/devicetree/bindings/mmc/tmio_mmc.txt+1−0
@@ -28,6 +28,7 @@ Required properties: · 27 unmodified lines
28 "renesas,sdhi-r8a7796" - SDHI IP on R8A7796 SoC28 "renesas,sdhi-r8a7796" - SDHI IP on R8A7796 SoC
29 "renesas,sdhi-r8a77965" - SDHI IP on R8A77965 SoC29 "renesas,sdhi-r8a77965" - SDHI IP on R8A77965 SoC
30 "renesas,sdhi-r8a77980" - SDHI IP on R8A77980 SoC30 "renesas,sdhi-r8a77980" - SDHI IP on R8A77980 SoC
31 "renesas,sdhi-r8a77990" - SDHI IP on R8A77990 SoC
31 "renesas,sdhi-r8a77995" - SDHI IP on R8A77995 SoC32 "renesas,sdhi-r8a77995" - SDHI IP on R8A77995 SoC
32 "renesas,sdhi-shmobile" - a generic sh-mobile SDHI controller33 "renesas,sdhi-shmobile" - a generic sh-mobile SDHI controller
33 "renesas,rcar-gen1-sdhi" - a generic R-Car Gen1 SDHI controller34 "renesas,rcar-gen1-sdhi" - a generic R-Car Gen1 SDHI controller
Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt+0−1
@@ -42,7 +42,6 @@ Required properties: · 41 unmodified lines
42 May be "nand", if the SoC has the individual NAND42 May be "nand", if the SoC has the individual NAND
43 interrupts multiplexed behind another custom piece of43 interrupts multiplexed behind another custom piece of
44 hardware44 hardware
45- interrupt-parent : See standard interrupt bindings
46- #address-cells : <1> - subnodes give the chip-select number45- #address-cells : <1> - subnodes give the chip-select number
47- #size-cells : <0>46- #size-cells : <0>
48 47
Documentation/devicetree/bindings/mtd/denali-nand.txt+5−0
@@ -8,6 +8,9 @@ Required properties: · 7 unmodified lines
8 - reg : should contain registers location and length for data and reg.8 - reg : should contain registers location and length for data and reg.
9 - reg-names: Should contain the reg names "nand_data" and "denali_reg"9 - reg-names: Should contain the reg names "nand_data" and "denali_reg"
10 - interrupts : The interrupt number.10 - interrupts : The interrupt number.
11 - clocks: should contain phandle of the controller core clock, the bus
12 interface clock, and the ECC circuit clock.
13 - clock-names: should contain "nand", "nand_x", "ecc"
11 14
12Optional properties:15Optional properties:
13 - nand-ecc-step-size: see nand.txt for details. If present, the value must be16 - nand-ecc-step-size: see nand.txt for details. If present, the value must be
@@ -31,5 +34,7 @@ nand: nand@ff900000 { · 17 unmodified lines
31 compatible = "altr,socfpga-denali-nand";34 compatible = "altr,socfpga-denali-nand";
32 reg = <0xff900000 0x20>, <0xffb80000 0x1000>;35 reg = <0xff900000 0x20>, <0xffb80000 0x1000>;
33 reg-names = "nand_data", "denali_reg";36 reg-names = "nand_data", "denali_reg";
37 clocks = <&nand_clk>, <&nand_x_clk>, <&nand_ecc_clk>;
38 clock-names = "nand", "nand_x", "ecc";
34 interrupts = <0 144 4>;39 interrupts = <0 144 4>;
35};40};
Documentation/devicetree/bindings/mtd/gpmc-nand.txt+0−1
@@ -16,7 +16,6 @@ Required properties: · 15 unmodified lines
16 - compatible: "ti,omap2-nand"16 - compatible: "ti,omap2-nand"
17 - reg: range id (CS number), base offset and length of the17 - reg: range id (CS number), base offset and length of the
18 NAND I/O space18 NAND I/O space
19 - interrupt-parent: must point to gpmc node
20 - interrupts: Two interrupt specifiers, one for fifoevent, one for termcount.19 - interrupts: Two interrupt specifiers, one for fifoevent, one for termcount.
21 20
22Optional properties:21Optional properties:
Documentation/devicetree/bindings/mtd/jedec,spi-nor.txt+9−0
@@ -69,6 +69,15 @@ Optional properties: · 68 unmodified lines
69 all chips and support for it can not be detected at runtime.69 all chips and support for it can not be detected at runtime.
70 Refer to your chips' datasheet to check if this is supported70 Refer to your chips' datasheet to check if this is supported
71 by your chip.71 by your chip.
72- broken-flash-reset : Some flash devices utilize stateful addressing modes
73 (e.g., for 32-bit addressing) which need to be managed
74 carefully by a system. Because these sorts of flash don't
75 have a standardized software reset command, and because some
76 systems don't toggle the flash RESET# pin upon system reset
77 (if the pin even exists at all), there are systems which
78 cannot reboot properly if the flash is left in the "wrong"
79 state. This boolean flag can be used on such systems, to
80 denote the absence of a reliable reset mechanism.
72 81
73Example:82Example:
74 83
Documentation/devicetree/bindings/mtd/nand.txt+5−1
@@ -25,7 +25,7 @@ Optional NAND chip properties: · 24 unmodified lines
25 Deprecated values:25 Deprecated values:
26 "soft_bch": use "soft" and nand-ecc-algo instead26 "soft_bch": use "soft" and nand-ecc-algo instead
27- nand-ecc-algo: string, algorithm of NAND ECC.27- nand-ecc-algo: string, algorithm of NAND ECC.
28 Supported values are: "hamming", "bch".28 Valid values are: "hamming", "bch", "rs".
29- nand-bus-width : 8 or 16 bus width if not present 829- nand-bus-width : 8 or 16 bus width if not present 8
30- nand-on-flash-bbt: boolean to enable on flash bbt option if not present false30- nand-on-flash-bbt: boolean to enable on flash bbt option if not present false
31 31
@@ -43,6 +43,10 @@ Optional NAND chip properties: · 11 unmodified lines
43 This is particularly useful when only the in-band area is43 This is particularly useful when only the in-band area is
44 used by the upper layers, and you want to make your NAND44 used by the upper layers, and you want to make your NAND
45 as reliable as possible.45 as reliable as possible.
46- nand-is-boot-medium: Whether the NAND chip is a boot medium. Drivers might use
47 this information to select ECC algorithms supported by
48 the boot ROM or similar restrictions.
49
46- nand-rb: shall contain the native Ready/Busy ids.50- nand-rb: shall contain the native Ready/Busy ids.
47 51
48The ECC strength and ECC step size properties define the correction capability52The ECC strength and ECC step size properties define the correction capability
Documentation/devicetree/bindings/mtd/nvidia-tegra20-nand.txt+64−0
@@ -0,0 +1,64 @@
1NVIDIA Tegra NAND Flash controller
2
3Required properties:
4- compatible: Must be one of:
5 - "nvidia,tegra20-nand"
6- reg: MMIO address range
7- interrupts: interrupt output of the NFC controller
8- clocks: Must contain an entry for each entry in clock-names.
9 See ../clocks/clock-bindings.txt for details.
10- clock-names: Must include the following entries:
11 - nand
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 - nand
16
17Optional children nodes:
18Individual NAND chips are children of the NAND controller node. Currently
19only one NAND chip supported.
20
21Required children node properties:
22- reg: An integer ranging from 1 to 6 representing the CS line to use.
23
24Optional children node properties:
25- nand-ecc-mode: String, operation mode of the NAND ecc mode. Currently only
26 "hw" is supported.
27- nand-ecc-algo: string, algorithm of NAND ECC.
28 Supported values with "hw" ECC mode are: "rs", "bch".
29- nand-bus-width : See nand.txt
30- nand-on-flash-bbt: See nand.txt
31- nand-ecc-strength: integer representing the number of bits to correct
32 per ECC step (always 512). Supported strength using HW ECC
33 modes are:
34 - RS: 4, 6, 8
35 - BCH: 4, 8, 14, 16
36- nand-ecc-maximize: See nand.txt
37- nand-is-boot-medium: Makes sure only ECC strengths supported by the boot ROM
38 are chosen.
39- wp-gpios: GPIO specifier for the write protect pin.
40
41Optional child node of NAND chip nodes:
42Partitions: see partition.txt
43
44 Example:
45 nand-controller@70008000 {
46 compatible = "nvidia,tegra20-nand";
47 reg = <0x70008000 0x100>;
48 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
49 clocks = <&tegra_car TEGRA20_CLK_NDFLASH>;
50 clock-names = "nand";
51 resets = <&tegra_car 13>;
52 reset-names = "nand";
53
54 nand@0 {
55 reg = <0>;
56 #address-cells = <1>;
57 #size-cells = <1>;
58 nand-bus-width = <8>;
59 nand-on-flash-bbt;
60 nand-ecc-algo = "bch";
61 nand-ecc-strength = <8>;
62 wp-gpios = <&gpio TEGRA_GPIO(S, 0) GPIO_ACTIVE_LOW>;
63 };
64 };
Documentation/devicetree/bindings/mtd/partition.txt+46−0
@@ -14,6 +14,13 @@ method is used for a given flash device. To describe the method there should be · 13 unmodified lines
14a subnode of the flash device that is named 'partitions'. It must have a14a subnode of the flash device that is named 'partitions'. It must have a
15'compatible' property, which is used to identify the method to use.15'compatible' property, which is used to identify the method to use.
16 16
17When a single partition is represented with a DT node (it depends on a used
18format) it may also be described using above rules ('compatible' and optionally
19some extra properties / subnodes). It allows describing more complex,
20hierarchical (multi-level) layouts and should be used if there is some
21significant relation between partitions or some partition internally uses
22another partitioning method.
23
17Available bindings are listed in the "partitions" subdirectory.24Available bindings are listed in the "partitions" subdirectory.
18 25
19 26
@@ -109,3 +116,42 @@ flash@2 { · 89 unmodified lines
109 };116 };
110 };117 };
111};118};
119
120flash@3 {
121 partitions {
122 compatible = "fixed-partitions";
123 #address-cells = <1>;
124 #size-cells = <1>;
125
126 partition@0 {
127 label = "bootloader";
128 reg = <0x000000 0x100000>;
129 read-only;
130 };
131
132 firmware@100000 {
133 label = "firmware";
134 reg = <0x100000 0xe00000>;
135 compatible = "brcm,trx";
136 };
137
138 calibration@f00000 {
139 label = "calibration";
140 reg = <0xf00000 0x100000>;
141 compatible = "fixed-partitions";
142 ranges = <0 0xf00000 0x100000>;
143 #address-cells = <1>;
144 #size-cells = <1>;
145
146 partition@0 {
147 label = "wifi0";
148 reg = <0x000000 0x080000>;
149 };
150
151 partition@80000 {
152 label = "wifi1";
153 reg = <0x080000 0x080000>;
154 };
155 };
156 };
157};
Documentation/devicetree/bindings/mtd/partitions/brcm,trx.txt+37−0
@@ -0,0 +1,37 @@
1Broadcom TRX Container Partition
2================================
3
4TRX is Broadcom's official firmware format for the BCM947xx boards. It's used by
5most of the vendors building devices based on Broadcom's BCM47xx SoCs and is
6supported by the CFE bootloader.
7
8Design of the TRX format is very minimalistic. Its header contains
9identification fields, CRC32 checksum and the locations of embedded partitions.
10Its purpose is to store a few partitions in a format that can be distributed as
11a standalone file and written in a flash memory.
12
13Container can hold up to 4 partitions. The first partition has to contain a
14device executable binary (e.g. a kernel) as it's what the CFE bootloader starts
15executing. Other partitions can be used for operating system purposes. This is
16useful for systems that keep kernel and rootfs separated.
17
18TRX doesn't enforce any strict partition boundaries or size limits. All
19partitions have to be less than the 4GiB max size limit.
20
21There are two existing/known TRX variants:
221) v1 which contains 3 partitions
232) v2 which contains 4 partitions
24
25There aren't separated compatible bindings for them as version can be trivialy
26detected by a software parsing TRX header.
27
28Required properties:
29- compatible : (required) must be "brcm,trx"
30
31Example:
32
33flash@0 {
34 partitions {
35 compatible = "brcm,trx";
36 };
37};
Documentation/devicetree/bindings/mtd/qcom_nandc.txt+3−4
@@ -45,11 +45,12 @@ Required properties: · 44 unmodified lines
45 number (e.g., 0, 1, 2, etc.)45 number (e.g., 0, 1, 2, etc.)
46- #address-cells: see partition.txt46- #address-cells: see partition.txt
47- #size-cells: see partition.txt47- #size-cells: see partition.txt
48- nand-ecc-strength: see nand.txt
49- nand-ecc-step-size: must be 512. see nand.txt for more details.
50 48
51Optional properties:49Optional properties:
52- nand-bus-width: see nand.txt50- nand-bus-width: see nand.txt
51- nand-ecc-strength: see nand.txt. If not specified, then ECC strength will
52 be used according to chip requirement and available
53 OOB size.
53 54
54Each nandcs device node may optionally contain a 'partitions' sub-node, which55Each nandcs device node may optionally contain a 'partitions' sub-node, which
55further contains sub-nodes describing the flash partition mapping. See56further contains sub-nodes describing the flash partition mapping. See
@@ -77,7 +78,6 @@ nand-controller@1ac00000 { · 21 unmodified lines
77 reg = <0>;78 reg = <0>;
78 79
79 nand-ecc-strength = <4>;80 nand-ecc-strength = <4>;
80 nand-ecc-step-size = <512>;
81 nand-bus-width = <8>;81 nand-bus-width = <8>;
82 82
83 partitions {83 partitions {
@@ -117,7 +117,6 @@ nand-controller@79b0000 { · 33 unmodified lines
117 nand@0 {117 nand@0 {
118 reg = <0>;118 reg = <0>;
119 nand-ecc-strength = <4>;119 nand-ecc-strength = <4>;
120 nand-ecc-step-size = <512>;
121 nand-bus-width = <8>;120 nand-bus-width = <8>;
122 121
123 partitions {122 partitions {
Documentation/devicetree/bindings/mtd/spear_smi.txt+0−2
@@ -5,8 +5,6 @@ Required properties: · 4 unmodified lines
5- reg : Address range of the mtd chip5- reg : Address range of the mtd chip
6- #address-cells, #size-cells : Must be present if the device has sub-nodes6- #address-cells, #size-cells : Must be present if the device has sub-nodes
7 representing partitions.7 representing partitions.
8- interrupt-parent: Should be the phandle for the interrupt controller
9 that services interrupts for this device
10- interrupts: Should contain the STMMAC interrupts8- interrupts: Should contain the STMMAC interrupts
11- clock-rate : Functional clock rate of SMI in Hz9- clock-rate : Functional clock rate of SMI in Hz
12 10
Documentation/devicetree/bindings/mtd/spi-nand.txt+5−0
@@ -0,0 +1,5 @@
1SPI NAND flash
2
3Required properties:
4- compatible: should be "spi-nand"
5- reg: should encode the chip-select line used to access the NAND chip
Documentation/devicetree/bindings/mux/adi,adgs1408.txt+48−0
@@ -0,0 +1,48 @@
1Bindings for Analog Devices ADGS1408/1409 8:1/Dual 4:1 Mux
2
3Required properties:
4- compatible : Should be one of
5 * "adi,adgs1408"
6 * "adi,adgs1409"
7* Standard mux-controller bindings as described in mux-controller.txt
8
9Optional properties for ADGS1408/1409:
10- gpio-controller : if present, #gpio-cells is required.
11- #gpio-cells : should be <2>
12 - First cell is the GPO line number, i.e. 0 to 3
13 for ADGS1408 and 0 to 4 for ADGS1409
14 - Second cell is used to specify active high (0)
15 or active low (1)
16
17Optional properties:
18- idle-state : if present, the state that the mux controller will have
19 when idle. The special state MUX_IDLE_AS_IS is the default and
20 MUX_IDLE_DISCONNECT is also supported.
21
22States 0 through 7 correspond to signals S1 through S8 in the datasheet.
23For ADGS1409 only states 0 to 3 are available.
24
25Example:
26
27 /*
28 * One mux controller.
29 * Mux state set to idle as is (no idle-state declared)
30 */
31 &spi0 {
32 mux: mux-controller@0 {
33 compatible = "adi,adgs1408";
34 reg = <0>;
35 spi-max-frequency = <1000000>;
36 #mux-control-cells = <0>;
37 };
38 }
39
40 adc-mux {
41 compatible = "io-channel-mux";
42 io-channels = <&adc 1>;
43 io-channel-names = "parent";
44 mux-controls = <&mux>;
45
46 channels = "out_a0", "out_a1", "test0", "test1",
47 "out_b0", "out_b1", "testb0", "testb1";
48 };
Documentation/devicetree/bindings/net/amd-xgbe.txt+0−2
@@ -8,8 +8,6 @@ Required properties: · 7 unmodified lines
8 - SerDes Rx/Tx registers8 - SerDes Rx/Tx registers
9 - SerDes integration registers (1/2)9 - SerDes integration registers (1/2)
10 - SerDes integration registers (2/2)10 - SerDes integration registers (2/2)
11- interrupt-parent: Should be the phandle for the interrupt controller
12 that services interrupts for this device
13- interrupts: Should contain the amd-xgbe interrupt(s). The first interrupt11- interrupts: Should contain the amd-xgbe interrupt(s). The first interrupt
14 listed is required and is the general device interrupt. If the optional12 listed is required and is the general device interrupt. If the optional
15 amd,per-channel-interrupt property is specified, then one additional13 amd,per-channel-interrupt property is specified, then one additional
Documentation/devicetree/bindings/net/brcm,mdio-mux-iproc.txt+5−2
@@ -13,14 +13,17 @@ MDIO multiplexer node: · 12 unmodified lines
13Every non-ethernet PHY requires a compatible so that it could be probed based13Every non-ethernet PHY requires a compatible so that it could be probed based
14on this compatible string.14on this compatible string.
15 15
16Optional properties:
17- clocks: phandle of the core clock which drives the mdio block.
18
16Additional information regarding generic multiplexer properties can be found19Additional information regarding generic multiplexer properties can be found
17at- Documentation/devicetree/bindings/net/mdio-mux.txt20at- Documentation/devicetree/bindings/net/mdio-mux.txt
18 21
19 22
20for example:23for example:
21 mdio_mux_iproc: mdio-mux@6602023c {24 mdio_mux_iproc: mdio-mux@66020000 {
22 compatible = "brcm,mdio-mux-iproc";25 compatible = "brcm,mdio-mux-iproc";
23 reg = <0x6602023c 0x14>;26 reg = <0x66020000 0x250>;
24 #address-cells = <1>;27 #address-cells = <1>;
25 #size-cells = <0>;28 #size-cells = <0>;
26 29
Documentation/devicetree/bindings/net/btusb.txt+0−1
@@ -15,7 +15,6 @@ Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt · 14 unmodified lines
15 15
16Optional properties:16Optional properties:
17 17
18 - interrupt-parent: phandle of the parent interrupt controller
19 - interrupt-names: (see below)18 - interrupt-names: (see below)
20 - interrupts : The interrupt specified by the name "wakeup" is the interrupt19 - interrupts : The interrupt specified by the name "wakeup" is the interrupt
21 that shall be used for out-of-band wake-on-bt. Driver will20 that shall be used for out-of-band wake-on-bt. Driver will
Documentation/devicetree/bindings/net/can/holt_hi311x.txt+0−1
@@ -5,7 +5,6 @@ Required properties: · 4 unmodified lines
5 - "holt,hi3110" for HI-31105 - "holt,hi3110" for HI-3110
6 - reg: SPI chip select.6 - reg: SPI chip select.
7 - clocks: The clock feeding the CAN controller.7 - clocks: The clock feeding the CAN controller.
8 - interrupt-parent: The parent interrupt controller.
9 - interrupts: Should contain IRQ line for the CAN controller.8 - interrupts: Should contain IRQ line for the CAN controller.
10 9
11Optional properties:10Optional properties:
Documentation/devicetree/bindings/net/can/microchip,mcp251x.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6 - "microchip,mcp2515" for MCP2515.6 - "microchip,mcp2515" for MCP2515.
7 - reg: SPI chip select.7 - reg: SPI chip select.
8 - clocks: The clock feeding the CAN controller.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.9 - interrupts: Should contain IRQ line for the CAN controller.
11 10
12Optional properties:11Optional properties:
Documentation/devicetree/bindings/net/can/xilinx_can.txt+26−10
@@ -2,20 +2,25 @@ Xilinx Axi CAN/Zynq CANPS controller Device Tree Bindings · 1 unmodified line
2---------------------------------------------------------2---------------------------------------------------------
3 3
4Required properties:4Required properties:
5- compatible : Should be "xlnx,zynq-can-1.0" for Zynq CAN5- compatible : Should be:
6 controllers and "xlnx,axi-can-1.00.a" for Axi CAN6 - "xlnx,zynq-can-1.0" for Zynq CAN controllers
7 controllers.7 - "xlnx,axi-can-1.00.a" for Axi CAN controllers
8- reg : Physical base address and size of the Axi CAN/Zynq8 - "xlnx,canfd-1.0" for CAN FD controllers
9 CANPS registers map.9- reg : Physical base address and size of the controller
10 registers map.
10- interrupts : Property with a value describing the interrupt11- interrupts : Property with a value describing the interrupt
11 number.12 number.
12- interrupt-parent : Must be core interrupt controller13- clock-names : List of input clock names
13- clock-names : List of input clock names - "can_clk", "pclk"14 - "can_clk", "pclk" (For CANPS),
14 (For CANPS), "can_clk" , "s_axi_aclk"(For AXI CAN)15 - "can_clk", "s_axi_aclk" (For AXI CAN and CAN FD).
15 (See clock bindings for details).16 (See clock bindings for details).
16- clocks : Clock phandles (see clock bindings for details).17- clocks : Clock phandles (see clock bindings for details).
17- tx-fifo-depth : Can Tx fifo depth.18- tx-fifo-depth : Can Tx fifo depth (Zynq, Axi CAN).
18- rx-fifo-depth : Can Rx fifo depth.19- rx-fifo-depth : Can Rx fifo depth (Zynq, Axi CAN, CAN FD in
20 sequential Rx mode).
21- tx-mailbox-count : Can Tx mailbox buffer count (CAN FD).
22- rx-mailbox-count : Can Rx mailbox buffer count (CAN FD in mailbox Rx
23 mode).
19 24
20 25
21Example:26Example:
@@ -42,3 +47,14 @@ For Axi CAN Dts file: · 20 unmodified lines
42 tx-fifo-depth = <0x40>;47 tx-fifo-depth = <0x40>;
43 rx-fifo-depth = <0x40>;48 rx-fifo-depth = <0x40>;
44 };49 };
50For CAN FD Dts file:
51 canfd_0: canfd@40000000 {
52 compatible = "xlnx,canfd-1.0";
53 clocks = <&clkc 0>, <&clkc 1>;
54 clock-names = "can_clk", "s_axi_aclk";
55 reg = <0x40000000 0x2000>;
56 interrupt-parent = <&intc>;
57 interrupts = <0 59 1>;
58 tx-mailbox-count = <0x20>;
59 rx-fifo-depth = <0x20>;
60 };
Documentation/devicetree/bindings/net/cpsw.txt+0−1
@@ -11,7 +11,6 @@ Required properties: · 10 unmodified lines
11 registers map11 registers map
12- interrupts : property with a value describing the interrupt12- interrupts : property with a value describing the interrupt
13 number13 number
14- interrupt-parent : The parent interrupt controller
15- cpdma_channels : Specifies number of channels in CPDMA14- cpdma_channels : Specifies number of channels in CPDMA
16- ale_entries : Specifies No of entries ALE can hold15- ale_entries : Specifies No of entries ALE can hold
17- bd_ram_size : Specifies internal descriptor RAM size16- bd_ram_size : Specifies internal descriptor RAM size
Documentation/devicetree/bindings/net/davicom-dm9000.txt+0−1
@@ -5,7 +5,6 @@ Required properties: · 4 unmodified lines
5- reg : physical addresses and sizes of registers, must contain 2 entries:5- reg : physical addresses and sizes of registers, must contain 2 entries:
6 first entry : address register,6 first entry : address register,
7 second entry : data register.7 second entry : data register.
8- interrupt-parent : interrupt controller to which the device is connected
9- interrupts : interrupt specifier specific to interrupt controller8- interrupts : interrupt specifier specific to interrupt controller
10 9
11Optional properties:10Optional properties:
Documentation/devicetree/bindings/net/dsa/b53.txt+8−0
@@ -24,6 +24,14 @@ Required properties: · 23 unmodified lines
24 "brcm,bcm53018-srab"24 "brcm,bcm53018-srab"
25 "brcm,bcm53019-srab" and the mandatory "brcm,bcm5301x-srab" string25 "brcm,bcm53019-srab" and the mandatory "brcm,bcm5301x-srab" string
26 26
27 For the BCM5831X/BCM1140x SoCs with an integrated switch, must be one of:
28 "brcm,bcm11404-srab"
29 "brcm,bcm11407-srab"
30 "brcm,bcm11409-srab"
31 "brcm,bcm58310-srab"
32 "brcm,bcm58311-srab"
33 "brcm,bcm58313-srab" and the mandatory "brcm,omega-srab" string
34
27 For the BCM585xx/586XX/88312 SoCs with an integrated switch, must be one of:35 For the BCM585xx/586XX/88312 SoCs with an integrated switch, must be one of:
28 "brcm,bcm58522-srab"36 "brcm,bcm58522-srab"
29 "brcm,bcm58523-srab"37 "brcm,bcm58523-srab"
Documentation/devicetree/bindings/net/dsa/ksz.txt+3−1
@@ -4,7 +4,9 @@ Microchip KSZ Series Ethernet switches · 3 unmodified lines
4Required properties:4Required properties:
5 5
6- compatible: For external switch chips, compatible string must be exactly one6- compatible: For external switch chips, compatible string must be exactly one
7 of: "microchip,ksz9477"7 of the following:
8 - "microchip,ksz9477"
9 - "microchip,ksz9897"
8 10
9See Documentation/devicetree/bindings/net/dsa/dsa.txt for a list of additional11See Documentation/devicetree/bindings/net/dsa/dsa.txt for a list of additional
10required and optional properties.12required and optional properties.
Documentation/devicetree/bindings/net/dsa/marvell.txt+0−1
@@ -30,7 +30,6 @@ Required properties: · 29 unmodified lines
30Optional properties:30Optional properties:
31 31
32- reset-gpios : Should be a gpio specifier for a reset line32- reset-gpios : Should be a gpio specifier for a reset line
33- interrupt-parent : Parent interrupt controller
34- interrupts : Interrupt from the switch33- interrupts : Interrupt from the switch
35- interrupt-controller : Indicates the switch is itself an interrupt34- interrupt-controller : Indicates the switch is itself an interrupt
36 controller. This is used for the PHY interrupts.35 controller. This is used for the PHY interrupts.
Documentation/devicetree/bindings/net/dsa/realtek-smi.txt+153−0
@@ -0,0 +1,153 @@
1Realtek SMI-based Switches
2==========================
3
4The SMI "Simple Management Interface" is a two-wire protocol using
5bit-banged GPIO that while it reuses the MDIO lines MCK and MDIO does
6not use the MDIO protocol. This binding defines how to specify the
7SMI-based Realtek devices.
8
9Required properties:
10
11- compatible: must be exactly one of:
12 "realtek,rtl8366"
13 "realtek,rtl8366rb" (4+1 ports)
14 "realtek,rtl8366s" (4+1 ports)
15 "realtek,rtl8367"
16 "realtek,rtl8367b"
17 "realtek,rtl8368s" (8 port)
18 "realtek,rtl8369"
19 "realtek,rtl8370" (8 port)
20
21Required properties:
22- mdc-gpios: GPIO line for the MDC clock line.
23- mdio-gpios: GPIO line for the MDIO data line.
24- reset-gpios: GPIO line for the reset signal.
25
26Optional properties:
27- realtek,disable-leds: if the LED drivers are not used in the
28 hardware design this will disable them so they are not turned on
29 and wasting power.
30
31Required subnodes:
32
33- interrupt-controller
34
35 This defines an interrupt controller with an IRQ line (typically
36 a GPIO) that will demultiplex and handle the interrupt from the single
37 interrupt line coming out of one of the SMI-based chips. It most
38 importantly provides link up/down interrupts to the PHY blocks inside
39 the ASIC.
40
41Required properties of interrupt-controller:
42
43- interrupt: parent interrupt, see interrupt-controller/interrupts.txt
44- interrupt-controller: see interrupt-controller/interrupts.txt
45- #address-cells: should be <0>
46- #interrupt-cells: should be <1>
47
48- mdio
49
50 This defines the internal MDIO bus of the SMI device, mostly for the
51 purpose of being able to hook the interrupts to the right PHY and
52 the right PHY to the corresponding port.
53
54Required properties of mdio:
55
56- compatible: should be set to "realtek,smi-mdio" for all SMI devices
57
58See net/mdio.txt for additional MDIO bus properties.
59
60See net/dsa/dsa.txt for a list of additional required and optional properties
61and subnodes of DSA switches.
62
63Examples:
64
65switch {
66 compatible = "realtek,rtl8366rb";
67 /* 22 = MDIO (has input reads), 21 = MDC (clock, output only) */
68 mdc-gpios = <&gpio0 21 GPIO_ACTIVE_HIGH>;
69 mdio-gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
70 reset-gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
71
72 switch_intc: interrupt-controller {
73 /* GPIO 15 provides the interrupt */
74 interrupt-parent = <&gpio0>;
75 interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
76 interrupt-controller;
77 #address-cells = <0>;
78 #interrupt-cells = <1>;
79 };
80
81 ports {
82 #address-cells = <1>;
83 #size-cells = <0>;
84 reg = <0>;
85 port@0 {
86 reg = <0>;
87 label = "lan0";
88 phy-handle = <&phy0>;
89 };
90 port@1 {
91 reg = <1>;
92 label = "lan1";
93 phy-handle = <&phy1>;
94 };
95 port@2 {
96 reg = <2>;
97 label = "lan2";
98 phy-handle = <&phy2>;
99 };
100 port@3 {
101 reg = <3>;
102 label = "lan3";
103 phy-handle = <&phy3>;
104 };
105 port@4 {
106 reg = <4>;
107 label = "wan";
108 phy-handle = <&phy4>;
109 };
110 port@5 {
111 reg = <5>;
112 label = "cpu";
113 ethernet = <&gmac0>;
114 phy-mode = "rgmii";
115 fixed-link {
116 speed = <1000>;
117 full-duplex;
118 };
119 };
120 };
121
122 mdio {
123 compatible = "realtek,smi-mdio", "dsa-mdio";
124 #address-cells = <1>;
125 #size-cells = <0>;
126
127 phy0: phy@0 {
128 reg = <0>;
129 interrupt-parent = <&switch_intc>;
130 interrupts = <0>;
131 };
132 phy1: phy@1 {
133 reg = <1>;
134 interrupt-parent = <&switch_intc>;
135 interrupts = <1>;
136 };
137 phy2: phy@2 {
138 reg = <2>;
139 interrupt-parent = <&switch_intc>;
140 interrupts = <2>;
141 };
142 phy3: phy@3 {
143 reg = <3>;
144 interrupt-parent = <&switch_intc>;
145 interrupts = <3>;
146 };
147 phy4: phy@4 {
148 reg = <4>;
149 interrupt-parent = <&switch_intc>;
150 interrupts = <12>;
151 };
152 };
153};
Documentation/devicetree/bindings/net/dsa/vitesse,vsc73xx.txt+81−0
@@ -0,0 +1,81 @@
1Vitesse VSC73xx Switches
2========================
3
4This defines device tree bindings for the Vitesse VSC73xx switch chips.
5The Vitesse company has been acquired by Microsemi and Microsemi in turn
6acquired by Microchip but retains this vendor branding.
7
8The currently supported switch chips are:
9Vitesse VSC7385 SparX-G5 5+1-port Integrated Gigabit Ethernet Switch
10Vitesse VSC7388 SparX-G8 8-port Integrated Gigabit Ethernet Switch
11Vitesse VSC7395 SparX-G5e 5+1-port Integrated Gigabit Ethernet Switch
12Vitesse VSC7398 SparX-G8e 8-port Integrated Gigabit Ethernet Switch
13
14The device tree node is an SPI device so it must reside inside a SPI bus
15device tree node, see spi/spi-bus.txt
16
17Required properties:
18
19- compatible: must be exactly one of:
20 "vitesse,vsc7385"
21 "vitesse,vsc7388"
22 "vitesse,vsc7395"
23 "vitesse,vsc7398"
24- gpio-controller: indicates that this switch is also a GPIO controller,
25 see gpio/gpio.txt
26- #gpio-cells: this must be set to <2> and indicates that we are a twocell
27 GPIO controller, see gpio/gpio.txt
28
29Optional properties:
30
31- reset-gpios: a handle to a GPIO line that can issue reset of the chip.
32 It should be tagged as active low.
33
34Required subnodes:
35
36See net/dsa/dsa.txt for a list of additional required and optional properties
37and subnodes of DSA switches.
38
39Examples:
40
41switch@0 {
42 compatible = "vitesse,vsc7395";
43 reg = <0>;
44 /* Specified for 2.5 MHz or below */
45 spi-max-frequency = <2500000>;
46 gpio-controller;
47 #gpio-cells = <2>;
48
49 ports {
50 #address-cells = <1>;
51 #size-cells = <0>;
52
53 port@0 {
54 reg = <0>;
55 label = "lan1";
56 };
57 port@1 {
58 reg = <1>;
59 label = "lan2";
60 };
61 port@2 {
62 reg = <2>;
63 label = "lan3";
64 };
65 port@3 {
66 reg = <3>;
67 label = "lan4";
68 };
69 vsc: port@6 {
70 reg = <6>;
71 label = "cpu";
72 ethernet = <&gmac1>;
73 phy-mode = "rgmii";
74 fixed-link {
75 speed = <1000>;
76 full-duplex;
77 pause;
78 };
79 };
80 };
81};
Documentation/devicetree/bindings/net/dwmac-sun8i.txt+0−8
@@ -19,8 +19,6 @@ Required properties: · 18 unmodified lines
19- reset-names: must be "stmmaceth"19- reset-names: must be "stmmaceth"
20- phy-mode: See ethernet.txt20- phy-mode: See ethernet.txt
21- phy-handle: See ethernet.txt21- phy-handle: See ethernet.txt
22- #address-cells: shall be 1
23- #size-cells: shall be 0
24- syscon: A phandle to the device containing the EMAC or GMAC clock register22- syscon: A phandle to the device containing the EMAC or GMAC clock register
25 23
26Optional properties:24Optional properties:
@@ -86,8 +84,6 @@ emac: ethernet@1c0b000 { · 59 unmodified lines
86 reset-names = "stmmaceth";84 reset-names = "stmmaceth";
87 clocks = <&ccu CLK_BUS_EMAC>;85 clocks = <&ccu CLK_BUS_EMAC>;
88 clock-names = "stmmaceth";86 clock-names = "stmmaceth";
89 #address-cells = <1>;
90 #size-cells = <0>;
91 87
92 phy-handle = <&int_mii_phy>;88 phy-handle = <&int_mii_phy>;
93 phy-mode = "mii";89 phy-mode = "mii";
@@ -137,8 +133,6 @@ emac: ethernet@1c0b000 { · 43 unmodified lines
137 reset-names = "stmmaceth";133 reset-names = "stmmaceth";
138 clocks = <&ccu CLK_BUS_EMAC>;134 clocks = <&ccu CLK_BUS_EMAC>;
139 clock-names = "stmmaceth";135 clock-names = "stmmaceth";
140 #address-cells = <1>;
141 #size-cells = <0>;
142 136
143 phy-handle = <&ext_rgmii_phy>;137 phy-handle = <&ext_rgmii_phy>;
144 phy-mode = "rgmii";138 phy-mode = "rgmii";
@@ -191,8 +185,6 @@ emac: ethernet@1c0b000 { · 46 unmodified lines
191 reset-names = "stmmaceth";185 reset-names = "stmmaceth";
192 clocks = <&ccu CLK_BUS_EMAC>;186 clocks = <&ccu CLK_BUS_EMAC>;
193 clock-names = "stmmaceth";187 clock-names = "stmmaceth";
194 #address-cells = <1>;
195 #size-cells = <0>;
196 188
197 phy-handle = <&ext_rgmii_phy>;189 phy-handle = <&ext_rgmii_phy>;
198 phy-mode = "rgmii";190 phy-mode = "rgmii";
Documentation/devicetree/bindings/net/fsl-fman.txt+2−25
@@ -238,7 +238,7 @@ PROPERTIES · 237 unmodified lines
238 Must include one of the following:238 Must include one of the following:
239 - "fsl,fman-dtsec" for dTSEC MAC239 - "fsl,fman-dtsec" for dTSEC MAC
240 - "fsl,fman-xgec" for XGEC MAC240 - "fsl,fman-xgec" for XGEC MAC
241 - "fsl,fman-memac for mEMAC MAC241 - "fsl,fman-memac" for mEMAC MAC
242 242
243- cell-index243- cell-index
244 Usage: required244 Usage: required
@@ -356,30 +356,7 @@ ethernet@e0000 { · 111 unmodified lines
356============================================================================356============================================================================
357FMan IEEE 1588 Node357FMan IEEE 1588 Node
358 358
359DESCRIPTION359Refer to Documentation/devicetree/bindings/ptp/ptp-qoriq.txt
360
361The FMan interface to support IEEE 1588
362
363
364PROPERTIES
365
366- compatible
367 Usage: required
368 Value type: <stringlist>
369 Definition: A standard property.
370 Must include "fsl,fman-ptp-timer".
371
372- reg
373 Usage: required
374 Value type: <prop-encoded-array>
375 Definition: A standard property.
376
377EXAMPLE
378
379ptp-timer@fe000 {
380 compatible = "fsl,fman-ptp-timer";
381 reg = <0xfe000 0x1000>;
382};
383 360
384=============================================================================361=============================================================================
385FMan MDIO Node362FMan MDIO Node
Documentation/devicetree/bindings/net/hisilicon-hns-dsaf.txt+0−1
@@ -9,7 +9,6 @@ Required properties: · 8 unmodified lines
9 "6port-16rss",9 "6port-16rss",
10 "6port-16vf",10 "6port-16vf",
11 "single-port".11 "single-port".
12- interrupt-parent: the interrupt parent of this device.
13- interrupts: should contain the DSA Fabric and rcb interrupt.12- interrupts: should contain the DSA Fabric and rcb interrupt.
14- reg: specifies base physical address(es) and size of the device registers.13- reg: specifies base physical address(es) and size of the device registers.
15 The first region is external interface control register base and size(optional,14 The first region is external interface control register base and size(optional,
Documentation/devicetree/bindings/net/ibm,emac.txt+0−1
@@ -18,7 +18,6 @@ · 17 unmodified lines
18 "ibm,emac4". For Axon, thus, we have: "ibm,emac-axon",18 "ibm,emac4". For Axon, thus, we have: "ibm,emac-axon",
19 "ibm,emac4"19 "ibm,emac4"
20 - interrupts : <interrupt mapping for EMAC IRQ and WOL IRQ>20 - interrupts : <interrupt mapping for EMAC IRQ and WOL IRQ>
21 - interrupt-parent : optional, if needed for interrupt mapping
22 - reg : <registers mapping>21 - reg : <registers mapping>
23 - local-mac-address : 6 bytes, MAC address22 - local-mac-address : 6 bytes, MAC address
24 - mal-device : phandle of the associated McMAL node23 - mal-device : phandle of the associated McMAL node
Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt+0−1
@@ -22,7 +22,6 @@ Optional properties: · 21 unmodified lines
22 - marvell,wakeup-gap-ms: wakeup gap represents wakeup latency of the host22 - marvell,wakeup-gap-ms: wakeup gap represents wakeup latency of the host
23 platform. The value will be configured to firmware. This23 platform. The value will be configured to firmware. This
24 is needed to work chip's sleep feature as expected (u16).24 is needed to work chip's sleep feature as expected (u16).
25 - interrupt-parent: phandle of the parent interrupt controller
26 - interrupt-names: Used only for USB based devices (See below)25 - interrupt-names: Used only for USB based devices (See below)
27 - interrupts : specifies the interrupt pin number to the cpu. For SDIO, the26 - interrupts : specifies the interrupt pin number to the cpu. For SDIO, the
28 driver will use the first interrupt specified in the interrupt27 driver will use the first interrupt specified in the interrupt
Documentation/devicetree/bindings/net/mediatek,mt7620-gsw.txt+0−2
@@ -6,8 +6,6 @@ The mediatek gigabit switch can be found on Mediatek SoCs (mt7620, mt7621). · 5 unmodified lines
6Required properties:6Required properties:
7- compatible: Should be "mediatek,mt7620-gsw" or "mediatek,mt7621-gsw"7- compatible: Should be "mediatek,mt7620-gsw" or "mediatek,mt7621-gsw"
8- reg: Address and length of the register set for the device8- reg: Address and length of the register set for the device
9- interrupt-parent: Should be the phandle for the interrupt controller
10 that services interrupts for this device
11- interrupts: Should contain the gigabit switches interrupt9- interrupts: Should contain the gigabit switches interrupt
12- resets: Should contain the gigabit switches resets10- resets: Should contain the gigabit switches resets
13- reset-names: Should contain the reset names "gsw"11- reset-names: Should contain the reset names "gsw"
Documentation/devicetree/bindings/net/mediatek-bluetooth.txt+35−0
@@ -0,0 +1,35 @@
1MediaTek SoC built-in Bluetooth Devices
2==================================
3
4This device is a serial attached device to BTIF device and thus it must be a
5child node of the serial node with BTIF. The dt-bindings details for BTIF
6device can be known via Documentation/devicetree/bindings/serial/8250.txt.
7
8Required properties:
9
10- compatible: Must be
11 "mediatek,mt7622-bluetooth": for MT7622 SoC
12- clocks: Should be the clock specifiers corresponding to the entry in
13 clock-names property.
14- clock-names: Should contain "ref" entries.
15- power-domains: Phandle to the power domain that the device is part of
16
17Example:
18
19 btif: serial@1100c000 {
20 compatible = "mediatek,mt7622-btif",
21 "mediatek,mtk-btif";
22 reg = <0 0x1100c000 0 0x1000>;
23 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_LOW>;
24 clocks = <&pericfg CLK_PERI_BTIF_PD>;
25 clock-names = "main";
26 reg-shift = <2>;
27 reg-io-width = <4>;
28
29 bluetooth {
30 compatible = "mediatek,mt7622-bluetooth";
31 power-domains = <&scpsys MT7622_POWER_DOMAIN_WB>;
32 clocks = <&clk25m>;
33 clock-names = "ref";
34 };
35 };
Documentation/devicetree/bindings/net/mediatek-net.txt+0−3
@@ -30,9 +30,6 @@ Required properties: · 29 unmodified lines
30- mediatek,pctl: phandle to the syscon node that handles the ports slew rate30- mediatek,pctl: phandle to the syscon node that handles the ports slew rate
31 and driver current: only for MT2701 and MT7623 SoC31 and driver current: only for MT2701 and MT7623 SoC
32 32
33Optional properties:
34- interrupt-parent: Should be the phandle for the interrupt controller
35 that services interrupts for this device
36* Ethernet MAC node33* Ethernet MAC node
37 34
38Required properties:35Required properties:
Documentation/devicetree/bindings/net/microchip,enc28j60.txt+0−3
@@ -8,9 +8,6 @@ the SPI master node. · 7 unmodified lines
8Required properties:8Required properties:
9- compatible: Should be "microchip,enc28j60"9- compatible: Should be "microchip,enc28j60"
10- reg: Specify the SPI chip select the ENC28J60 is wired to10- reg: Specify the SPI chip select the ENC28J60 is wired to
11- interrupt-parent: Specify the phandle of the source interrupt, see interrupt
12 binding documentation for details. Usually this is the GPIO bank
13 the interrupt line is wired to.
14- interrupts: Specify the interrupt index within the interrupt controller (referred11- interrupts: Specify the interrupt index within the interrupt controller (referred
15 to above in interrupt-parent) and interrupt type. The ENC28J60 natively12 to above in interrupt-parent) and interrupt type. The ENC28J60 natively
16 generates falling edge interrupts, however, additional board logic13 generates falling edge interrupts, however, additional board logic
Documentation/devicetree/bindings/net/nfc/nxp-nci.txt+0−1
@@ -4,7 +4,6 @@ Required properties: · 3 unmodified lines
4- compatible: Should be "nxp,nxp-nci-i2c".4- compatible: Should be "nxp,nxp-nci-i2c".
5- clock-frequency: I²C work frequency.5- clock-frequency: I²C work frequency.
6- reg: address on the bus6- reg: address on the bus
7- interrupt-parent: phandle for the interrupt gpio controller
8- interrupts: GPIO interrupt to which the chip is connected7- interrupts: GPIO interrupt to which the chip is connected
9- enable-gpios: Output GPIO pin used for enabling/disabling the chip8- enable-gpios: Output GPIO pin used for enabling/disabling the chip
10- firmware-gpios: Output GPIO pin used to enter firmware download mode9- firmware-gpios: Output GPIO pin used to enter firmware download mode
Documentation/devicetree/bindings/net/nfc/pn533-i2c.txt+0−1
@@ -4,7 +4,6 @@ Required properties: · 3 unmodified lines
4- compatible: Should be "nxp,pn532-i2c" or "nxp,pn533-i2c".4- compatible: Should be "nxp,pn532-i2c" or "nxp,pn533-i2c".
5- clock-frequency: I²C work frequency.5- clock-frequency: I²C work frequency.
6- reg: address on the bus6- reg: address on the bus
7- interrupt-parent: phandle for the interrupt gpio controller
8- interrupts: GPIO interrupt to which the chip is connected7- interrupts: GPIO interrupt to which the chip is connected
9 8
10Optional SoC Specific Properties:9Optional SoC Specific Properties:
Documentation/devicetree/bindings/net/nfc/pn544.txt+1−2
@@ -2,9 +2,8 @@ · 1 unmodified line
2 2
3Required properties:3Required properties:
4- compatible: Should be "nxp,pn544-i2c".4- compatible: Should be "nxp,pn544-i2c".
5- clock-frequency: I�C work frequency.5- clock-frequency: I²C work frequency.
6- reg: address on the bus6- reg: address on the bus
7- interrupt-parent: phandle for the interrupt gpio controller
8- interrupts: GPIO interrupt to which the chip is connected7- interrupts: GPIO interrupt to which the chip is connected
9- enable-gpios: Output GPIO pin used for enabling/disabling the PN5448- enable-gpios: Output GPIO pin used for enabling/disabling the PN544
10- firmware-gpios: Output GPIO pin used to enter firmware download mode9- firmware-gpios: Output GPIO pin used to enter firmware download mode
Documentation/devicetree/bindings/net/nfc/s3fwrn5.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: Should be "samsung,s3fwrn5-i2c".4- compatible: Should be "samsung,s3fwrn5-i2c".
5- reg: address on the bus5- reg: address on the bus
6- interrupt-parent: phandle for the interrupt gpio controller
7- interrupts: GPIO interrupt to which the chip is connected6- interrupts: GPIO interrupt to which the chip is connected
8- s3fwrn5,en-gpios: Output GPIO pin used for enabling/disabling the chip7- s3fwrn5,en-gpios: Output GPIO pin used for enabling/disabling the chip
9- s3fwrn5,fw-gpios: Output GPIO pin used to enter firmware mode and8- s3fwrn5,fw-gpios: Output GPIO pin used to enter firmware mode and
Documentation/devicetree/bindings/net/nfc/st-nci-i2c.txt+0−1
@@ -4,7 +4,6 @@ Required properties: · 3 unmodified lines
4- compatible: Should be "st,st21nfcb-i2c" or "st,st21nfcc-i2c".4- compatible: Should be "st,st21nfcb-i2c" or "st,st21nfcc-i2c".
5- clock-frequency: I²C work frequency.5- clock-frequency: I²C work frequency.
6- reg: address on the bus6- reg: address on the bus
7- interrupt-parent: phandle for the interrupt gpio controller
8- interrupts: GPIO interrupt to which the chip is connected7- interrupts: GPIO interrupt to which the chip is connected
9- reset-gpios: Output GPIO pin used to reset the ST21NFCB8- reset-gpios: Output GPIO pin used to reset the ST21NFCB
10 9
Documentation/devicetree/bindings/net/nfc/st-nci-spi.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: Should be "st,st21nfcb-spi"4- compatible: Should be "st,st21nfcb-spi"
5- spi-max-frequency: Maximum SPI frequency (<= 4000000).5- spi-max-frequency: Maximum SPI frequency (<= 4000000).
6- interrupt-parent: phandle for the interrupt gpio controller
7- interrupts: GPIO interrupt to which the chip is connected6- interrupts: GPIO interrupt to which the chip is connected
8- reset-gpios: Output GPIO pin used to reset the ST21NFCB7- reset-gpios: Output GPIO pin used to reset the ST21NFCB
9 8
Documentation/devicetree/bindings/net/nfc/st21nfca.txt+0−2
@@ -4,8 +4,6 @@ Required properties: · 3 unmodified lines
4- compatible: Should be "st,st21nfca-i2c".4- compatible: Should be "st,st21nfca-i2c".
5- clock-frequency: I²C work frequency.5- clock-frequency: I²C work frequency.
6- reg: address on the bus6- reg: address on the bus
7- interrupt-parent: phandle for the interrupt gpio controller
8- interrupts: GPIO interrupt to which the chip is connected
9- enable-gpios: Output GPIO pin used for enabling/disabling the ST21NFCA7- enable-gpios: Output GPIO pin used for enabling/disabling the ST21NFCA
10 8
11Optional SoC Specific Properties:9Optional SoC Specific Properties:
Documentation/devicetree/bindings/net/nfc/st95hf.txt+0−3
@@ -17,9 +17,6 @@ Required properties: · 16 unmodified lines
17 17
18- enable-gpio: GPIO line to enable ST95HF transceiver.18- enable-gpio: GPIO line to enable ST95HF transceiver.
19 19
20- interrupt-parent : Standard way to specify the controller to which
21 ST95HF transceiver's interrupt is routed.
22
23- interrupts : Standard way to define ST95HF transceiver's out20- interrupts : Standard way to define ST95HF transceiver's out
24 interrupt.21 interrupt.
25 22
Documentation/devicetree/bindings/net/nfc/trf7970a.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: Should be "ti,trf7970a".4- compatible: Should be "ti,trf7970a".
5- spi-max-frequency: Maximum SPI frequency (<= 2000000).5- spi-max-frequency: Maximum SPI frequency (<= 2000000).
6- interrupt-parent: phandle of parent interrupt handler.
7- interrupts: A single interrupt specifier.6- interrupts: A single interrupt specifier.
8- ti,enable-gpios: One or two GPIO entries used for 'EN' and 'EN2' pins on the7- ti,enable-gpios: One or two GPIO entries used for 'EN' and 'EN2' pins on the
9 TRF7970A. EN2 is optional.8 TRF7970A. EN2 is optional.
Documentation/devicetree/bindings/net/phy.txt+0−2
@@ -3,8 +3,6 @@ PHY nodes · 2 unmodified lines
3Required properties:3Required properties:
4 4
5 - interrupts : interrupt specifier for the sole interrupt.5 - interrupts : interrupt specifier for the sole interrupt.
6 - interrupt-parent : the phandle for the interrupt controller that
7 services interrupts for this device.
8 - reg : The ID number for the phy, usually a small integer6 - reg : The ID number for the phy, usually a small integer
9 7
10Optional Properties:8Optional Properties:
Documentation/devicetree/bindings/net/qca,qca7000.txt+0−1
@@ -19,7 +19,6 @@ Required properties: · 18 unmodified lines
19- spi-cpol : Must be set19- spi-cpol : Must be set
20 20
21Optional properties:21Optional properties:
22- interrupt-parent : Specify the pHandle of the source interrupt
23- spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at.22- spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at.
24 Numbers smaller than 1000000 or greater than 1600000023 Numbers smaller than 1000000 or greater than 16000000
25 are invalid. Missing the property will set the SPI24 are invalid. Missing the property will set the SPI
Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt+27−2
@@ -10,12 +10,25 @@ device the slave device is attached to. · 9 unmodified lines
10Required properties:10Required properties:
11 - compatible: should contain one of the following:11 - compatible: should contain one of the following:
12 * "qcom,qca6174-bt"12 * "qcom,qca6174-bt"
13 * "qcom,wcn3990-bt"
14
15Optional properties for compatible string qcom,qca6174-bt:
13 16
14Optional properties:
15 - enable-gpios: gpio specifier used to enable chip17 - enable-gpios: gpio specifier used to enable chip
16 - clocks: clock provided to the controller (SUSCLK_32KHZ)18 - clocks: clock provided to the controller (SUSCLK_32KHZ)
17 19
18Example:20Required properties for compatible string qcom,wcn3990-bt:
21
22 - vddio-supply: VDD_IO supply regulator handle.
23 - vddxo-supply: VDD_XO supply regulator handle.
24 - vddrf-supply: VDD_RF supply regulator handle.
25 - vddch0-supply: VDD_CH0 supply regulator handle.
26
27Optional properties for compatible string qcom,wcn3990-bt:
28
29 - max-speed: see Documentation/devicetree/bindings/serial/slave-device.txt
30
31Examples:
19 32
20serial@7570000 {33serial@7570000 {
21 label = "BT-UART";34 label = "BT-UART";
@@ -28,3 +41,15 @@ serial@7570000 { · 6 unmodified lines
28 clocks = <&divclk4>;41 clocks = <&divclk4>;
29 };42 };
30};43};
44
45serial@898000 {
46 bluetooth {
47 compatible = "qcom,wcn3990-bt";
48
49 vddio-supply = <&vreg_s4a_1p8>;
50 vddxo-supply = <&vreg_l7a_1p8>;
51 vddrf-supply = <&vreg_l17a_1p3>;
52 vddch0-supply = <&vreg_l25a_3p3>;
53 max-speed = <3200000>;
54 };
55};
Documentation/devicetree/bindings/net/ralink,rt2880-net.txt+0−2
@@ -14,8 +14,6 @@ Required properties: · 13 unmodified lines
14 "ralink,rt3050-eth", "ralink,rt3883-eth", "ralink,rt5350-eth",14 "ralink,rt3050-eth", "ralink,rt3883-eth", "ralink,rt5350-eth",
15 "mediatek,mt7620-eth", "mediatek,mt7621-eth"15 "mediatek,mt7620-eth", "mediatek,mt7621-eth"
16- reg: Address and length of the register set for the device16- reg: Address and length of the register set for the device
17- interrupt-parent: Should be the phandle for the interrupt controller
18 that services interrupts for this device
19- interrupts: Should contain the frame engines interrupt17- interrupts: Should contain the frame engines interrupt
20- resets: Should contain the frame engines resets18- resets: Should contain the frame engines resets
21- reset-names: Should contain the reset names "fe". If a switch is present19- reset-names: Should contain the reset names "fe". If a switch is present
Documentation/devicetree/bindings/net/ralink,rt3050-esw.txt+0−2
@@ -7,8 +7,6 @@ SoCs (RT3x5x, RT5350, MT76x8). · 6 unmodified lines
7Required properties:7Required properties:
8- compatible: Should be "ralink,rt3050-esw"8- compatible: Should be "ralink,rt3050-esw"
9- reg: Address and length of the register set for the device9- reg: Address and length of the register set for the device
10- interrupt-parent: Should be the phandle for the interrupt controller
11 that services interrupts for this device
12- interrupts: Should contain the embedded switches interrupt10- interrupts: Should contain the embedded switches interrupt
13- resets: Should contain the embedded switches resets11- resets: Should contain the embedded switches resets
14- reset-names: Should contain the reset names "esw"12- reset-names: Should contain the reset names "esw"
Documentation/devicetree/bindings/net/renesas,ravb.txt+2−3
@@ -16,6 +16,7 @@ Required properties: · 15 unmodified lines
16 - "renesas,etheravb-rcar-gen2" as a fallback for the above16 - "renesas,etheravb-rcar-gen2" as a fallback for the above
17 R-Car Gen2 and RZ/G1 devices.17 R-Car Gen2 and RZ/G1 devices.
18 18
19 - "renesas,etheravb-r8a774a1" for the R8A774A1 SoC.
19 - "renesas,etheravb-r8a7795" for the R8A7795 SoC.20 - "renesas,etheravb-r8a7795" for the R8A7795 SoC.
20 - "renesas,etheravb-r8a7796" for the R8A7796 SoC.21 - "renesas,etheravb-r8a7796" for the R8A7796 SoC.
21 - "renesas,etheravb-r8a77965" for the R8A77965 SoC.22 - "renesas,etheravb-r8a77965" for the R8A77965 SoC.
@@ -24,7 +25,7 @@ Required properties: · 2 unmodified lines
24 - "renesas,etheravb-r8a77990" for the R8A77990 SoC.25 - "renesas,etheravb-r8a77990" for the R8A77990 SoC.
25 - "renesas,etheravb-r8a77995" for the R8A77995 SoC.26 - "renesas,etheravb-r8a77995" for the R8A77995 SoC.
26 - "renesas,etheravb-rcar-gen3" as a fallback for the above27 - "renesas,etheravb-rcar-gen3" as a fallback for the above
27 R-Car Gen3 devices.28 R-Car Gen3 and RZ/G2 devices.
28 29
29 When compatible with the generic version, nodes must list the30 When compatible with the generic version, nodes must list the
30 SoC-specific version corresponding to the platform first followed by31 SoC-specific version corresponding to the platform first followed by
@@ -47,8 +48,6 @@ Required properties: · 16 unmodified lines
47- pinctrl-0: phandle, referring to a default pin configuration node.48- pinctrl-0: phandle, referring to a default pin configuration node.
48 49
49Optional properties:50Optional properties:
50- interrupt-parent: the phandle for the interrupt controller that services
51 interrupts for this device.
52- interrupt-names: A list of interrupt names.51- interrupt-names: A list of interrupt names.
53 For the R-Car Gen 3 SoCs this property is mandatory;52 For the R-Car Gen 3 SoCs this property is mandatory;
54 it should include one entry per channel, named "ch%u",53 it should include one entry per channel, named "ch%u",
Documentation/devicetree/bindings/net/rockchip-dwmac.txt+1−0
@@ -4,6 +4,7 @@ The device node has following properties. · 3 unmodified lines
4 4
5Required properties:5Required properties:
6 - compatible: should be "rockchip,<name>-gamc"6 - compatible: should be "rockchip,<name>-gamc"
7 "rockchip,px30-gmac": found on PX30 SoCs
7 "rockchip,rk3128-gmac": found on RK312x SoCs8 "rockchip,rk3128-gmac": found on RK312x SoCs
8 "rockchip,rk3228-gmac": found on RK322x SoCs9 "rockchip,rk3228-gmac": found on RK322x SoCs
9 "rockchip,rk3288-gmac": found on RK3288 SoCs10 "rockchip,rk3288-gmac": found on RK3288 SoCs
Documentation/devicetree/bindings/net/samsung-sxgbe.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: Should be "samsung,sxgbe-v2.0a"4- compatible: Should be "samsung,sxgbe-v2.0a"
5- reg: Address and length of the register set for the device5- reg: Address and length of the register set for the device
6- interrupt-parent: Should be the phandle for the interrupt controller
7 that services interrupts for this device
8- interrupts: Should contain the SXGBE interrupts6- interrupts: Should contain the SXGBE interrupts
9 These interrupts are ordered by fixed and follows variable7 These interrupts are ordered by fixed and follows variable
10 trasmit DMA interrupts, receive DMA interrupts and lpi interrupt.8 trasmit DMA interrupts, receive DMA interrupts and lpi interrupt.
Documentation/devicetree/bindings/net/sh_eth.txt+0−2
@@ -35,8 +35,6 @@ Required properties: · 34 unmodified lines
35- pinctrl-0: phandle, referring to a default pin configuration node.35- pinctrl-0: phandle, referring to a default pin configuration node.
36 36
37Optional properties:37Optional properties:
38- interrupt-parent: the phandle for the interrupt controller that services
39 interrupts for this device.
40- pinctrl-names: pin configuration state name ("default").38- pinctrl-names: pin configuration state name ("default").
41- renesas,no-ether-link: boolean, specify when a board does not provide a proper39- renesas,no-ether-link: boolean, specify when a board does not provide a proper
42 Ether LINK signal.40 Ether LINK signal.
Documentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt+0−2
@@ -83,8 +83,6 @@ Required properties: · 82 unmodified lines
83 - "snps,dwc-qos-ethernet-4.10" (deprecated):83 - "snps,dwc-qos-ethernet-4.10" (deprecated):
84 - "phy_ref_clk"84 - "phy_ref_clk"
85 - "apb_clk"85 - "apb_clk"
86- interrupt-parent: Should be the phandle for the interrupt controller
87 that services interrupts for this device
88- interrupts: Should contain the core's combined interrupt signal86- interrupts: Should contain the core's combined interrupt signal
89- phy-mode: See ethernet.txt file in the same directory87- phy-mode: See ethernet.txt file in the same directory
90- resets: Phandle and reset specifiers for each entry in reset-names, in the88- resets: Phandle and reset specifiers for each entry in reset-names, in the
Documentation/devicetree/bindings/net/stmmac.txt+3−4
@@ -1,11 +1,10 @@
1* STMicroelectronics 10/100/1000 Ethernet driver (GMAC)1* STMicroelectronics 10/100/1000/2500/10000 Ethernet (GMAC/XGMAC)
2 2
3Required properties:3Required properties:
4- compatible: Should be "snps,dwmac-<ip_version>", "snps,dwmac"4- compatible: Should be "snps,dwmac-<ip_version>", "snps,dwmac" or
5 "snps,dwxgmac-<ip_version>", "snps,dwxgmac".
5 For backwards compatibility: "st,spear600-gmac" is also supported.6 For backwards compatibility: "st,spear600-gmac" is also supported.
6- reg: Address and length of the register set for the device7- reg: Address and length of the register set for the device
7- interrupt-parent: Should be the phandle for the interrupt controller
8 that services interrupts for this device
9- interrupts: Should contain the STMMAC interrupts8- interrupts: Should contain the STMMAC interrupts
10- interrupt-names: Should contain a list of interrupt names corresponding to9- interrupt-names: Should contain a list of interrupt names corresponding to
11 the interrupts in the interrupts property, if available.10 the interrupts in the interrupts property, if available.
Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt+0−2
@@ -11,8 +11,6 @@ Required properties: · 10 unmodified lines
11Optional properties:11Optional properties:
12 - brcm,drive-strength : drive strength used for SDIO pins on device in mA12 - brcm,drive-strength : drive strength used for SDIO pins on device in mA
13 (default = 6).13 (default = 6).
14 - interrupt-parent : the phandle for the interrupt controller to which the
15 device interrupts are connected.
16 - interrupts : specifies attributes for the out-of-band interrupt (host-wake).14 - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
17 When not specified the device will use in-band SDIO interrupts.15 When not specified the device will use in-band SDIO interrupts.
18 - interrupt-names : name of the out-of-band interrupt, which must be set16 - interrupt-names : name of the out-of-band interrupt, which must be set
Documentation/devicetree/bindings/net/wireless/marvell-8xxx.txt+0−1
@@ -29,7 +29,6 @@ Optional properties: · 28 unmodified lines
29 - marvell,wakeup-pin : a wakeup pin number of wifi chip which will be configured29 - marvell,wakeup-pin : a wakeup pin number of wifi chip which will be configured
30 to firmware. Firmware will wakeup the host using this pin30 to firmware. Firmware will wakeup the host using this pin
31 during suspend/resume.31 during suspend/resume.
32 - interrupt-parent: phandle of the parent interrupt controller
33 - interrupts : interrupt pin number to the cpu. driver will request an irq based on32 - interrupts : interrupt pin number to the cpu. driver will request an irq based on
34 this interrupt number. during system suspend, the irq will be enabled33 this interrupt number. during system suspend, the irq will be enabled
35 so that the wifi chip can wakeup host platform under certain condition.34 so that the wifi chip can wakeup host platform under certain condition.
Documentation/devicetree/bindings/net/wireless/ti,wl1251.txt+0−2
@@ -8,8 +8,6 @@ Required properties: · 7 unmodified lines
8- reg : Chip select address of device8- reg : Chip select address of device
9- spi-max-frequency : Maximum SPI clocking speed of device in Hz9- spi-max-frequency : Maximum SPI clocking speed of device in Hz
10- interrupts : Should contain interrupt line10- interrupts : Should contain interrupt line
11- interrupt-parent : Should be the phandle for the interrupt controller
12 that services interrupts for this device
13- vio-supply : phandle to regulator providing VIO11- vio-supply : phandle to regulator providing VIO
14- ti,power-gpio : GPIO connected to chip's PMEN pin12- ti,power-gpio : GPIO connected to chip's PMEN pin
15 13
Documentation/devicetree/bindings/net/wireless/ti,wlcore,spi.txt+1−3
@@ -17,9 +17,7 @@ Required properties: · 16 unmodified lines
17 * "ti,wl1837"17 * "ti,wl1837"
18- reg : Chip select address of device18- reg : Chip select address of device
19- spi-max-frequency : Maximum SPI clocking speed of device in Hz19- spi-max-frequency : Maximum SPI clocking speed of device in Hz
20- interrupt-parent, interrupts :20- interrupts : Should contain parameters for 1 interrupt line.
21 Should contain parameters for 1 interrupt line.
22 Interrupt parameters: parent, line number, type.
23- vwlan-supply : Point the node of the regulator that powers/enable the21- vwlan-supply : Point the node of the regulator that powers/enable the
24 wl12xx/wl18xx chip22 wl12xx/wl18xx chip
25 23
Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt+0−2
@@ -20,8 +20,6 @@ Required properties: · 19 unmodified lines
20 - interrupts : specifies attributes for the out-of-band interrupt.20 - interrupts : specifies attributes for the out-of-band interrupt.
21 21
22Optional properties:22Optional properties:
23 - interrupt-parent : the phandle for the interrupt controller to which the
24 device interrupts are connected.
25 - ref-clock-frequency : ref clock frequency in Hz23 - ref-clock-frequency : ref clock frequency in Hz
26 - tcxo-clock-frequency : tcxo clock frequency in Hz24 - tcxo-clock-frequency : tcxo clock frequency in Hz
27 25
Documentation/devicetree/bindings/nvmem/imx-ocotp.txt+2−1
@@ -1,7 +1,7 @@
1Freescale i.MX6 On-Chip OTP Controller (OCOTP) device tree bindings1Freescale i.MX6 On-Chip OTP Controller (OCOTP) device tree bindings
2 2
3This binding represents the on-chip eFuse OTP controller found on3This binding represents the on-chip eFuse OTP controller found on
4i.MX6Q/D, i.MX6DL/S, i.MX6SL, i.MX6SX and i.MX6UL SoCs.4i.MX6Q/D, i.MX6DL/S, i.MX6SL, i.MX6SX, i.MX6UL and i.MX6SLL SoCs.
5 5
6Required properties:6Required properties:
7- compatible: should be one of7- compatible: should be one of
@@ -10,6 +10,7 @@ Required properties: · 2 unmodified lines
10 "fsl,imx6sx-ocotp" (i.MX6SX),10 "fsl,imx6sx-ocotp" (i.MX6SX),
11 "fsl,imx6ul-ocotp" (i.MX6UL),11 "fsl,imx6ul-ocotp" (i.MX6UL),
12 "fsl,imx7d-ocotp" (i.MX7D/S),12 "fsl,imx7d-ocotp" (i.MX7D/S),
13 "fsl,imx6sll-ocotp" (i.MX6SLL),
13 followed by "syscon".14 followed by "syscon".
14- #address-cells : Should be 115- #address-cells : Should be 1
15- #size-cells : Should be 116- #size-cells : Should be 1
Documentation/devicetree/bindings/nvmem/sc27xx-efuse.txt+52−0
@@ -0,0 +1,52 @@
1= Spreadtrum SC27XX PMIC eFuse device tree bindings =
2
3Required properties:
4- compatible: Should be one of the following.
5 "sprd,sc2720-efuse"
6 "sprd,sc2721-efuse"
7 "sprd,sc2723-efuse"
8 "sprd,sc2730-efuse"
9 "sprd,sc2731-efuse"
10- reg: Specify the address offset of efuse controller.
11- hwlocks: Reference to a phandle of a hwlock provider node.
12
13= Data cells =
14Are child nodes of eFuse, bindings of which as described in
15bindings/nvmem/nvmem.txt
16
17Example:
18
19 sc2731_pmic: pmic@0 {
20 compatible = "sprd,sc2731";
21 reg = <0>;
22 spi-max-frequency = <26000000>;
23 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
24 interrupt-controller;
25 #interrupt-cells = <2>;
26 #address-cells = <1>;
27 #size-cells = <0>;
28
29 efuse@380 {
30 compatible = "sprd,sc2731-efuse";
31 reg = <0x380>;
32 #address-cells = <1>;
33 #size-cells = <1>;
34 hwlocks = <&hwlock 12>;
35
36 /* Data cells */
37 thermal_calib: calib@10 {
38 reg = <0x10 0x2>;
39 };
40 };
41 };
42
43= Data consumers =
44Are device nodes which consume nvmem data cells.
45
46Example:
47
48 thermal {
49 ...
50 nvmem-cells = <&thermal_calib>;
51 nvmem-cell-names = "calibration";
52 };
Documentation/devicetree/bindings/pci/altera-pcie-msi.txt+0−1
@@ -7,7 +7,6 @@ Required properties: · 6 unmodified lines
7- reg-names: must include the following entries:7- reg-names: must include the following entries:
8 "csr": CSR registers8 "csr": CSR registers
9 "vector_slave": vectors slave port region9 "vector_slave": vectors slave port region
10- interrupt-parent: interrupt source phandle.
11- interrupts: specifies the interrupt source of the parent interrupt10- interrupts: specifies the interrupt source of the parent interrupt
12 controller. The format of the interrupt specifier depends on the11 controller. The format of the interrupt specifier depends on the
13 parent interrupt controller.12 parent interrupt controller.
Documentation/devicetree/bindings/pci/altera-pcie.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6- reg-names: must include the following entries:6- reg-names: must include the following entries:
7 "Txs": TX slave port region7 "Txs": TX slave port region
8 "Cra": Control register access region8 "Cra": Control register access region
9- interrupt-parent: interrupt source phandle.
10- interrupts: specifies the interrupt source of the parent interrupt9- interrupts: specifies the interrupt source of the parent interrupt
11 controller. The format of the interrupt specifier depends10 controller. The format of the interrupt specifier depends
12 on the parent interrupt controller.11 on the parent interrupt controller.
Documentation/devicetree/bindings/pci/brcm,iproc-pcie.txt+0−1
@@ -65,7 +65,6 @@ When the iProc event queue based MSI is used, one needs to define the · 64 unmodified lines
65following properties in the MSI device node:65following properties in the MSI device node:
66- compatible: Must be "brcm,iproc-msi"66- compatible: Must be "brcm,iproc-msi"
67- msi-controller: claims itself as an MSI controller67- msi-controller: claims itself as an MSI controller
68- interrupt-parent: Link to its parent interrupt device
69- interrupts: List of interrupt IDs from its parent interrupt device68- interrupts: List of interrupt IDs from its parent interrupt device
70 69
71Optional properties:70Optional properties:
Documentation/devicetree/bindings/pci/cdns,cdns-pcie-ep.txt+5−0
@@ -9,6 +9,9 @@ Required properties: · 8 unmodified lines
9 9
10Optional properties:10Optional properties:
11- max-functions: Maximum number of functions that can be configured (default 1).11- max-functions: Maximum number of functions that can be configured (default 1).
12- phys: From PHY bindings: List of Generic PHY phandles. One per lane if more
13 than one in the list. If only one PHY listed it must manage all lanes.
14- phy-names: List of names to identify the PHY.
12 15
13Example:16Example:
14 17
@@ -19,4 +22,6 @@ pcie@fc000000 { · 4 unmodified lines
19 reg-names = "reg", "mem";22 reg-names = "reg", "mem";
20 cdns,max-outbound-regions = <16>;23 cdns,max-outbound-regions = <16>;
21 max-functions = /bits/ 8 <8>;24 max-functions = /bits/ 8 <8>;
25 phys = <&ep_phy0 &ep_phy1>;
26 phy-names = "pcie-lane0","pcie-lane1";
22};27};
Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.txt+6−0
@@ -24,6 +24,9 @@ Optional properties: · 23 unmodified lines
24 translations (default 32)24 translations (default 32)
25- vendor-id: The PCI vendor ID (16 bits, default is design dependent)25- vendor-id: The PCI vendor ID (16 bits, default is design dependent)
26- device-id: The PCI device ID (16 bits, default is design dependent)26- device-id: The PCI device ID (16 bits, default is design dependent)
27- phys: From PHY bindings: List of Generic PHY phandles. One per lane if more
28 than one in the list. If only one PHY listed it must manage all lanes.
29- phy-names: List of names to identify the PHY.
27 30
28Example:31Example:
29 32
@@ -57,4 +60,7 @@ pcie@fb000000 { · 27 unmodified lines
57 interrupt-map-mask = <0x0 0x0 0x0 0x7>;60 interrupt-map-mask = <0x0 0x0 0x0 0x7>;
58 61
59 msi-parent = <&its_pci>;62 msi-parent = <&its_pci>;
63
64 phys = <&pcie_phy0>;
65 phy-names = "pcie-phy";
60};66};
Documentation/devicetree/bindings/pci/faraday,ftpci100.txt+0−1
@@ -41,7 +41,6 @@ Mandatory subnodes: · 40 unmodified lines
41- For "faraday,ftpci100" a node representing the interrupt-controller inside the41- For "faraday,ftpci100" a node representing the interrupt-controller inside the
42 host bridge is mandatory. It has the following mandatory properties:42 host bridge is mandatory. It has the following mandatory properties:
43 - interrupt: see interrupt-controller/interrupts.txt43 - interrupt: see interrupt-controller/interrupts.txt
44 - interrupt-parent: see interrupt-controller/interrupts.txt
45 - interrupt-controller: see interrupt-controller/interrupts.txt44 - interrupt-controller: see interrupt-controller/interrupts.txt
46 - #address-cells: set to <0>45 - #address-cells: set to <0>
47 - #interrupt-cells: set to <1>46 - #interrupt-cells: set to <1>
Documentation/devicetree/bindings/pci/mobiveil-pcie.txt+0−3
@@ -26,9 +26,6 @@ Required properties: · 25 unmodified lines
26- interrupt-controller: identifies the node as an interrupt controller26- interrupt-controller: identifies the node as an interrupt controller
27- #interrupt-cells: specifies the number of cells needed to encode an27- #interrupt-cells: specifies the number of cells needed to encode an
28 interrupt source. The value must be 1.28 interrupt source. The value must be 1.
29- interrupt-parent : phandle to the interrupt controller that
30 it is attached to, it should be set to gic to point to
31 ARM's Generic Interrupt Controller node in system DT.
32- interrupts: The interrupt line of the PCIe controller29- interrupts: The interrupt line of the PCIe controller
33 last cell of this field is set to 4 to30 last cell of this field is set to 4 to
34 denote it as IRQ_TYPE_LEVEL_HIGH type interrupt.31 denote it as IRQ_TYPE_LEVEL_HIGH type interrupt.
Documentation/devicetree/bindings/pci/pci-keystone.txt+0−3
@@ -17,7 +17,6 @@ reg: index 1 is the base address and length of DW application registers. · 16 unmodified lines
17 17
18pcie_msi_intc : Interrupt controller device node for MSI IRQ chip18pcie_msi_intc : Interrupt controller device node for MSI IRQ chip
19 interrupt-cells: should be set to 119 interrupt-cells: should be set to 1
20 interrupt-parent: Parent interrupt controller phandle
21 interrupts: GIC interrupt lines connected to PCI MSI interrupt lines20 interrupts: GIC interrupt lines connected to PCI MSI interrupt lines
22 21
23 Example:22 Example:
@@ -37,8 +36,6 @@ pcie_msi_intc : Interrupt controller device node for MSI IRQ chip · 13 unmodified lines
37 36
38pcie_intc: Interrupt controller device node for Legacy IRQ chip37pcie_intc: Interrupt controller device node for Legacy IRQ chip
39 interrupt-cells: should be set to 138 interrupt-cells: should be set to 1
40 interrupt-parent: Parent interrupt controller phandle
41 interrupts: GIC interrupt lines connected to PCI Legacy interrupt lines
42 39
43 Example:40 Example:
44 pcie_intc: legacy-interrupt-controller {41 pcie_intc: legacy-interrupt-controller {
Documentation/devicetree/bindings/pci/ralink,rt3883-pci.txt+0−3
@@ -41,9 +41,6 @@ · 40 unmodified lines
41 - #interrupt-cells: specifies the number of cells needed to encode an41 - #interrupt-cells: specifies the number of cells needed to encode an
42 interrupt source. The value must be 1.42 interrupt source. The value must be 1.
43 43
44 - interrupt-parent: the phandle for the interrupt controller that
45 services interrupts for this device.
46
47 - interrupts: specifies the interrupt source of the parent interrupt44 - interrupts: specifies the interrupt source of the parent interrupt
48 controller. The format of the interrupt specifier depends on the45 controller. The format of the interrupt specifier depends on the
49 parent interrupt controller.46 parent interrupt controller.
Documentation/devicetree/bindings/phy/brcm,sr-pcie-phy.txt+41−0
@@ -0,0 +1,41 @@
1Broadcom Stingray PCIe PHY
2
3Required properties:
4- compatible: must be "brcm,sr-pcie-phy"
5- reg: base address and length of the PCIe SS register space
6- brcm,sr-cdru: phandle to the CDRU syscon node
7- brcm,sr-mhb: phandle to the MHB syscon node
8- #phy-cells: Must be 1, denotes the PHY index
9
10For PAXB based root complex, one can have a configuration of up to 8 PHYs
11PHY index goes from 0 to 7
12
13For the internal PAXC based root complex, PHY index is always 8
14
15Example:
16 mhb: syscon@60401000 {
17 compatible = "brcm,sr-mhb", "syscon";
18 reg = <0 0x60401000 0 0x38c>;
19 };
20
21 cdru: syscon@6641d000 {
22 compatible = "brcm,sr-cdru", "syscon";
23 reg = <0 0x6641d000 0 0x400>;
24 };
25
26 pcie_phy: phy@40000000 {
27 compatible = "brcm,sr-pcie-phy";
28 reg = <0 0x40000000 0 0x800>;
29 brcm,sr-cdru = <&cdru>;
30 brcm,sr-mhb = <&mhb>;
31 #phy-cells = <1>;
32 };
33
34 /* users of the PCIe PHY */
35
36 pcie0: pcie@48000000 {
37 ...
38 ...
39 phys = <&pcie_phy 0>;
40 phy-names = "pcie-phy";
41 };
Documentation/devicetree/bindings/phy/phy-ath79-usb.txt+2−2
@@ -3,7 +3,7 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: "qca,ar7100-usb-phy"4- compatible: "qca,ar7100-usb-phy"
5- #phys-cells: should be 05- #phys-cells: should be 0
6- reset-names: "usb-phy"[, "usb-suspend-override"]6- reset-names: "phy"[, "suspend-override"]
7- resets: references to the reset controllers7- resets: references to the reset controllers
8 8
9Example:9Example:
@@ -11,7 +11,7 @@ Example: · 1 unmodified line
11 usb-phy {11 usb-phy {
12 compatible = "qca,ar7100-usb-phy";12 compatible = "qca,ar7100-usb-phy";
13 13
14 reset-names = "usb-phy", "usb-suspend-override";14 reset-names = "phy", "suspend-override";
15 resets = <&rst 4>, <&rst 3>;15 resets = <&rst 4>, <&rst 3>;
16 16
17 #phy-cells = <0>;17 #phy-cells = <0>;
Documentation/devicetree/bindings/phy/phy-mtk-tphy.txt+6−0
@@ -47,6 +47,12 @@ Required properties (port (child) node): · 46 unmodified lines
47 - PHY_TYPE_PCIE47 - PHY_TYPE_PCIE
48 - PHY_TYPE_SATA48 - PHY_TYPE_SATA
49 49
50Optional properties (PHY_TYPE_USB2 port (child) node):
51- mediatek,eye-src : u32, the value of slew rate calibrate
52- mediatek,eye-vrt : u32, the selection of VRT reference voltage
53- mediatek,eye-term : u32, the selection of HS_TX TERM reference voltage
54- mediatek,bc12 : bool, enable BC12 of u2phy if support it
55
50Example:56Example:
51 57
52u3phy: usb-phy@11290000 {58u3phy: usb-phy@11290000 {
Documentation/devicetree/bindings/phy/qcom-qmp-phy.txt+12−2
@@ -12,7 +12,14 @@ Required properties: · 11 unmodified lines
12 "qcom,sdm845-qmp-usb3-phy" for USB3 QMP V3 phy on sdm845,12 "qcom,sdm845-qmp-usb3-phy" for USB3 QMP V3 phy on sdm845,
13 "qcom,sdm845-qmp-usb3-uni-phy" for USB3 QMP V3 UNI phy on sdm845.13 "qcom,sdm845-qmp-usb3-uni-phy" for USB3 QMP V3 UNI phy on sdm845.
14 14
15 - reg: offset and length of register set for PHY's common serdes block.15 - reg:
16 - For "qcom,sdm845-qmp-usb3-phy":
17 - index 0: address and length of register set for PHY's common serdes
18 block.
19 - named register "dp_com" (using reg-names): address and length of the
20 DP_COM control block.
21 - For all others:
22 - offset and length of register set for PHY's common serdes block.
16 23
17 - #clock-cells: must be 124 - #clock-cells: must be 1
18 - Phy pll outputs a bunch of clocks for Tx, Rx and Pipe25 - Phy pll outputs a bunch of clocks for Tx, Rx and Pipe
@@ -60,7 +67,10 @@ Required nodes: · 41 unmodified lines
60 67
61Required properties for child node:68Required properties for child node:
62 - reg: list of offset and length pairs of register sets for PHY blocks -69 - reg: list of offset and length pairs of register sets for PHY blocks -
63 tx, rx and pcs.70 - index 0: tx
71 - index 1: rx
72 - index 2: pcs
73 - index 3: pcs_misc (optional)
64 74
65 - #phy-cells: must be 075 - #phy-cells: must be 0
66 76
Documentation/devicetree/bindings/phy/rcar-gen3-phy-pcie.txt+24−0
@@ -0,0 +1,24 @@
1* Renesas R-Car generation 3 PCIe PHY
2
3This file provides information on what the device node for the R-Car
4generation 3 PCIe PHY contains.
5
6Required properties:
7- compatible: "renesas,r8a77980-pcie-phy" if the device is a part of the
8 R8A77980 SoC.
9- reg: offset and length of the register block.
10- clocks: clock phandle and specifier pair.
11- power-domains: power domain phandle and specifier pair.
12- resets: reset phandle and specifier pair.
13- #phy-cells: see phy-bindings.txt in the same directory, must be <0>.
14
15Example (R-Car V3H):
16
17 pcie-phy@e65d0000 {
18 compatible = "renesas,r8a77980-pcie-phy";
19 reg = <0 0xe65d0000 0 0x8000>;
20 #phy-cells = <0>;
21 clocks = <&cpg CPG_MOD 319>;
22 power-domains = <&sysc 32>;
23 resets = <&cpg 319>;
24 };
Documentation/devicetree/bindings/phy/rcar-gen3-phy-usb2.txt+2−0
@@ -10,6 +10,8 @@ Required properties: · 9 unmodified lines
10 SoC.10 SoC.
11 "renesas,usb2-phy-r8a77965" if the device is a part of an11 "renesas,usb2-phy-r8a77965" if the device is a part of an
12 R8A77965 SoC.12 R8A77965 SoC.
13 "renesas,usb2-phy-r8a77990" if the device is a part of an
14 R8A77990 SoC.
13 "renesas,usb2-phy-r8a77995" if the device is a part of an15 "renesas,usb2-phy-r8a77995" if the device is a part of an
14 R8A77995 SoC.16 R8A77995 SoC.
15 "renesas,rcar-gen3-usb2-phy" for a generic R-Car Gen3 compatible device.17 "renesas,rcar-gen3-usb2-phy" for a generic R-Car Gen3 compatible device.
Documentation/devicetree/bindings/pinctrl/actions,s900-pinctrl.txt+10−0
@@ -19,6 +19,10 @@ Required Properties: · 18 unmodified lines
19 defines the interrupt number, the second encodes19 defines the interrupt number, the second encodes
20 the trigger flags described in20 the trigger flags described in
21 bindings/interrupt-controller/interrupts.txt21 bindings/interrupt-controller/interrupts.txt
22- interrupts: The interrupt outputs from the controller. There is one GPIO
23 interrupt per GPIO bank. The number of interrupts listed depends
24 on the number of GPIO banks on the SoC. The interrupts must be
25 ordered by bank, starting with bank 0.
22 26
23Please refer to pinctrl-bindings.txt in this directory for details of the27Please refer to pinctrl-bindings.txt in this directory for details of the
24common pinctrl bindings used by client devices, including the meaning of the28common pinctrl bindings used by client devices, including the meaning of the
@@ -180,6 +184,12 @@ Example: · 155 unmodified lines
180 #gpio-cells = <2>;184 #gpio-cells = <2>;
181 interrupt-controller;185 interrupt-controller;
182 #interrupt-cells = <2>;186 #interrupt-cells = <2>;
187 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
188 <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
189 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
190 <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
191 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
192 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
183 193
184 uart2-default: uart2-default {194 uart2-default: uart2-default {
185 pinmux {195 pinmux {
Documentation/devicetree/bindings/pinctrl/atmel,at91-pio4-pinctrl.txt+3−0
@@ -36,6 +36,8 @@ Optional properties: · 35 unmodified lines
36- GENERIC_PINCONFIG: generic pinconfig options to use, bias-disable,36- GENERIC_PINCONFIG: generic pinconfig options to use, bias-disable,
37bias-pull-down, bias-pull-up, drive-open-drain, input-schmitt-enable,37bias-pull-down, bias-pull-up, drive-open-drain, input-schmitt-enable,
38input-debounce, output-low, output-high.38input-debounce, output-low, output-high.
39- atmel,drive-strength: 0 or 1 for low drive, 2 for medium drive and 3 for
40high drive. The default value is low drive.
39 41
40Example:42Example:
41 43
@@ -66,6 +68,7 @@ Example: · 24 unmodified lines
66 pinmux = <PIN_PB0>,68 pinmux = <PIN_PB0>,
67 <PIN_PB5>;69 <PIN_PB5>;
68 bias-pull-up;70 bias-pull-up;
71 atmel,drive-strength = <ATMEL_PIO_DRVSTR_ME>;
69 };72 };
70 73
71 pinctrl_sdmmc1_default: sdmmc1_default {74 pinctrl_sdmmc1_default: sdmmc1_default {
Documentation/devicetree/bindings/pinctrl/berlin,pinctrl.txt+2−1
@@ -23,7 +23,8 @@ Required properties: · 22 unmodified lines
23 "marvell,berlin2q-system-pinctrl",23 "marvell,berlin2q-system-pinctrl",
24 "marvell,berlin4ct-avio-pinctrl",24 "marvell,berlin4ct-avio-pinctrl",
25 "marvell,berlin4ct-soc-pinctrl",25 "marvell,berlin4ct-soc-pinctrl",
26 "marvell,berlin4ct-system-pinctrl"26 "marvell,berlin4ct-system-pinctrl",
27 "syna,as370-soc-pinctrl"
27 28
28Required subnode-properties:29Required subnode-properties:
29- groups: a list of strings describing the group names.30- groups: a list of strings describing the group names.
Documentation/devicetree/bindings/pinctrl/cirrus,madera-pinctrl.txt+99−0
@@ -0,0 +1,99 @@
1Cirrus Logic Madera class audio codecs pinctrl driver
2
3The Cirrus Logic Madera codecs provide a number of GPIO functions for
4interfacing to external hardware and to provide logic outputs to other devices.
5Certain groups of GPIO pins also have an alternate function, normally as an
6audio interface.
7
8The set of available GPIOs, functions and alternate function groups differs
9between codecs so refer to the datasheet for the codec for further information
10on what is supported on that device.
11
12The properties for this driver exist within the parent MFD driver node.
13
14See also
15 the core bindings for the parent MFD driver:
16 Documentation/devicetree/bindings/mfd/madera.txt
17
18 the generic pinmix bindings:
19 Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
20
21Required properties of parent mfd node:
22 - pinctrl-names : must be "default"
23 - pinctrl-0 : a phandle to the node containing the subnodes containing default
24 configurations
25
26Required subnodes:
27 One subnode is required to contain the default settings. It contains an
28 arbitrary number of configuration subnodes, one for each group or pin
29 configuration you want to apply as a default.
30
31Required properties of configuration subnodes:
32 - groups : name of one pin group to configure. One of:
33 aif1, aif2, aif3, aif4, mif1, mif2, mif3, pdmspk1, pdmspk2,
34 dmic4, dmic5, dmic6,
35 gpio1, gpio2, ..., gpio40
36 The gpioN groups select the single pin of this name for configuration
37
38Optional properties of configuration subnodes:
39 Any configuration option not explicitly listed in the dts will be left at
40 chip default setting.
41
42 - function : name of function to assign to this group. One of:
43 aif1, aif2, aif3, aif4, mif1, mif2, mif3, pdmspk1, pdmspk2,
44 dmic3, dmic4, dmic5, dmic6,
45 io, dsp-gpio, irq1, irq2,
46 fll1-clk, fll1-lock, fll2-clk, fll2-lock, fll3-clk, fll3-lock,
47 fllao-clk, fllao-lock,
48 opclk, opclk-async, pwm1, pwm2, spdif,
49 asrc1-in1-lock, asrc1-in2-lock, asrc2-in1-lock, asrc2-in2-lock,
50 spkl-short-circuit, spkr-short-circuit, spk-shutdown,
51 spk-overheat-shutdown, spk-overheat-warn,
52 timer1-sts, timer2-sts, timer3-sts, timer4-sts, timer5-sts, timer6-sts,
53 timer7-sts, timer8-sts,
54 log1-fifo-ne, log2-fifo-ne, log3-fifo-ne, log4-fifo-ne, log5-fifo-ne,
55 log6-fifo-ne, log7-fifo-ne, log8-fifo-ne,
56
57 - bias-disable : disable pull-up and pull-down
58 - bias-bus-hold : enable buskeeper
59 - bias-pull-up : output is pulled-up
60 - bias-pull-down : output is pulled-down
61 - drive-push-pull : CMOS output
62 - drive-open-drain : open-drain output
63 - drive-strength : drive strength in mA. Valid values are 4 or 8
64 - input-schmitt-enable : enable schmitt-trigger mode
65 - input-schmitt-disable : disable schmitt-trigger mode
66 - input-debounce : A value of 0 disables debounce, a value !=0 enables
67 debounce
68 - output-low : set the pin to output mode with low level
69 - output-high : set the pin to output mode with high level
70
71Example:
72
73cs47l85@0 {
74 compatible = "cirrus,cs47l85";
75
76 pinctrl-names = "default";
77 pinctrl-0 = <&cs47l85_defaults>;
78
79 cs47l85_defaults: cs47l85-gpio-defaults {
80 aif1 {
81 groups = "aif1";
82 function = "aif1";
83 bias-bus-hold;
84 };
85
86 aif2 {
87 groups = "aif2";
88 function = "aif2";
89 bias-bus-hold;
90 };
91
92 opclk {
93 groups = "gpio1";
94 function = "opclk";
95 bias-pull-up;
96 drive-strength = <8>;
97 };
98 };
99};
Documentation/devicetree/bindings/pinctrl/fsl,imx8mq-pinctrl.txt+36−0
@@ -0,0 +1,36 @@
1* Freescale IMX8MQ IOMUX Controller
2
3Please refer to fsl,imx-pinctrl.txt and pinctrl-bindings.txt in this directory
4for common binding part and usage.
5
6Required properties:
7- compatible: "fsl,imx8mq-iomuxc"
8- reg: should contain the base physical address and size of the iomuxc
9 registers.
10
11Required properties in sub-nodes:
12- fsl,pins: each entry consists of 6 integers and represents the mux and config
13 setting for one pin. The first 5 integers <mux_reg conf_reg input_reg mux_val
14 input_val> are specified using a PIN_FUNC_ID macro, which can be found in
15 imx8mq-pinfunc.h under device tree source folder. The last integer CONFIG is
16 the pad setting value like pull-up on this pin. Please refer to i.MX8M Quad
17 Reference Manual for detailed CONFIG settings.
18
19Examples:
20
21&uart1 {
22 pinctrl-names = "default";
23 pinctrl-0 = <&pinctrl_uart1>;
24};
25
26iomuxc: pinctrl@30330000 {
27 compatible = "fsl,imx8mq-iomuxc";
28 reg = <0x0 0x30330000 0x0 0x10000>;
29
30 pinctrl_uart1: uart1grp {
31 fsl,pins = <
32 MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX 0x49
33 MX8MQ_IOMUXC_UART1_TXD_UART1_DCE_TX 0x49
34 >;
35 };
36};
Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.txt+1−1
@@ -17,7 +17,7 @@ Tegra124 adds the following optional properties for pin configuration subnodes. · 16 unmodified lines
17The macros for options are defined in the17The macros for options are defined in the
18 include/dt-binding/pinctrl/pinctrl-tegra.h.18 include/dt-binding/pinctrl/pinctrl-tegra.h.
19- nvidia,enable-input: Integer. Enable the pin's input path.19- nvidia,enable-input: Integer. Enable the pin's input path.
20 enable :TEGRA_PIN_ENABLE0 and20 enable :TEGRA_PIN_ENABLE and
21 disable or output only: TEGRA_PIN_DISABLE.21 disable or output only: TEGRA_PIN_DISABLE.
22- nvidia,open-drain: Integer.22- nvidia,open-drain: Integer.
23 enable: TEGRA_PIN_ENABLE.23 enable: TEGRA_PIN_ENABLE.
Documentation/devicetree/bindings/pinctrl/nvidia,tegra210-pinmux.txt+1−1
@@ -44,7 +44,7 @@ Optional subnode-properties: · 43 unmodified lines
44- nvidia,tristate: Integer.44- nvidia,tristate: Integer.
45 0: drive, 1: tristate.45 0: drive, 1: tristate.
46- nvidia,enable-input: Integer. Enable the pin's input path.46- nvidia,enable-input: Integer. Enable the pin's input path.
47 enable :TEGRA_PIN_ENABLE0 and47 enable :TEGRA_PIN_ENABLE and
48 disable or output only: TEGRA_PIN_DISABLE.48 disable or output only: TEGRA_PIN_DISABLE.
49- nvidia,open-drain: Integer.49- nvidia,open-drain: Integer.
50 enable: TEGRA_PIN_ENABLE.50 enable: TEGRA_PIN_ENABLE.
Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt+6−0
@@ -103,6 +103,12 @@ Optional properties: · 102 unmodified lines
103#pinctrl-cells: Number of pin control cells in addition to the index within the103#pinctrl-cells: Number of pin control cells in addition to the index within the
104 pin controller device instance104 pin controller device instance
105 105
106pinctrl-use-default: Boolean. Indicates that the OS can use the boot default
107 pin configuration. This allows using an OS that does not have a
108 driver for the pin controller. This property can be set either
109 globally for the pin controller or in child nodes for individual
110 pin group control.
111
106Pin controller devices should contain the pin configuration nodes that client112Pin controller devices should contain the pin configuration nodes that client
107devices reference.113devices reference.
108 114
Documentation/devicetree/bindings/pinctrl/pinctrl-mt7622.txt+0−2
@@ -16,8 +16,6 @@ If the property interrupt-controller is defined, following property is required · 15 unmodified lines
16- reg-names: A string describing the "reg" entries. Must contain "eint".16- reg-names: A string describing the "reg" entries. Must contain "eint".
17- interrupts : The interrupt output from the controller.17- interrupts : The interrupt output from the controller.
18- #interrupt-cells: Should be two.18- #interrupt-cells: Should be two.
19- interrupt-parent: Phandle of the interrupt parent to which the external
20 GPIO interrupts are forwarded to.
21 19
22Please refer to pinctrl-bindings.txt in this directory for details of the20Please refer to pinctrl-bindings.txt in this directory for details of the
23common pinctrl bindings used by client devices, including the meaning of the21common pinctrl bindings used by client devices, including the meaning of the
Documentation/devicetree/bindings/pinctrl/pinctrl-sx150x.txt+0−2
@@ -25,8 +25,6 @@ Required properties: · 24 unmodified lines
25- gpio-controller: Marks the device as a GPIO controller.25- gpio-controller: Marks the device as a GPIO controller.
26 26
27Optional properties :27Optional properties :
28- interrupt-parent: phandle of the parent interrupt controller.
29
30- interrupts: Interrupt specifier for the controllers interrupt.28- interrupts: Interrupt specifier for the controllers interrupt.
31 29
32- interrupt-controller: Marks the device as a interrupt controller.30- interrupt-controller: Marks the device as a interrupt controller.
Documentation/devicetree/bindings/pinctrl/qcom,apq8064-pinctrl.txt+6−0
@@ -10,6 +10,11 @@ Required properties: · 9 unmodified lines
10- #gpio-cells : Should be two.10- #gpio-cells : Should be two.
11 The first cell is the gpio pin number and the11 The first cell is the gpio pin number and the
12 second cell is used for optional parameters.12 second cell is used for optional parameters.
13- gpio-ranges: see ../gpio/gpio.txt
14
15Optional properties:
16
17- gpio-reserved-ranges: see ../gpio/gpio.txt
13 18
14Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for19Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
15a general description of GPIO and interrupt bindings.20a general description of GPIO and interrupt bindings.
@@ -67,6 +72,7 @@ Example: · 51 unmodified lines
67 72
68 pinctrl-names = "default";73 pinctrl-names = "default";
69 pinctrl-0 = <&gsbi5_uart_default>;74 pinctrl-0 = <&gsbi5_uart_default>;
75 gpio-ranges = <&msmgpio 0 0 90>;
70 76
71 gsbi5_uart_default: gsbi5_uart_default {77 gsbi5_uart_default: gsbi5_uart_default {
72 mux {78 mux {
Documentation/devicetree/bindings/pinctrl/qcom,apq8084-pinctrl.txt+9−0
@@ -40,6 +40,14 @@ MSM8960 platform. · 39 unmodified lines
40 Definition: must be 2. Specifying the pin number and flags, as defined40 Definition: must be 2. Specifying the pin number and flags, as defined
41 in <dt-bindings/gpio/gpio.h>41 in <dt-bindings/gpio/gpio.h>
42 42
43- gpio-ranges:
44 Usage: required
45 Definition: see ../gpio/gpio.txt
46
47- gpio-reserved-ranges:
48 Usage: optional
49 Definition: see ../gpio/gpio.txt
50
43Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for51Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
44a general description of GPIO and interrupt bindings.52a general description of GPIO and interrupt bindings.
45 53
@@ -154,6 +162,7 @@ Example: · 108 unmodified lines
154 162
155 gpio-controller;163 gpio-controller;
156 #gpio-cells = <2>;164 #gpio-cells = <2>;
165 gpio-ranges = <&tlmm 0 0 147>;
157 interrupt-controller;166 interrupt-controller;
158 #interrupt-cells = <2>;167 #interrupt-cells = <2>;
159 interrupts = <0 208 0>;168 interrupts = <0 208 0>;
Documentation/devicetree/bindings/pinctrl/qcom,ipq4019-pinctrl.txt+6−0
@@ -13,6 +13,11 @@ Required properties: · 12 unmodified lines
13- #gpio-cells : Should be two.13- #gpio-cells : Should be two.
14 The first cell is the gpio pin number and the14 The first cell is the gpio pin number and the
15 second cell is used for optional parameters.15 second cell is used for optional parameters.
16- gpio-ranges: see ../gpio/gpio.txt
17
18Optional properties:
19
20- gpio-reserved-ranges: see ../gpio/gpio.txt
16 21
17Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for22Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
18a general description of GPIO and interrupt bindings.23a general description of GPIO and interrupt bindings.
@@ -64,6 +69,7 @@ Example: · 45 unmodified lines
64 69
65 gpio-controller;70 gpio-controller;
66 #gpio-cells = <2>;71 #gpio-cells = <2>;
72 gpio-ranges = <&tlmm 0 0 100>;
67 interrupt-controller;73 interrupt-controller;
68 #interrupt-cells = <2>;74 #interrupt-cells = <2>;
69 interrupts = <0 208 0>;75 interrupts = <0 208 0>;
Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt+6−0
@@ -10,6 +10,11 @@ Required properties: · 9 unmodified lines
10- #gpio-cells : Should be two.10- #gpio-cells : Should be two.
11 The first cell is the gpio pin number and the11 The first cell is the gpio pin number and the
12 second cell is used for optional parameters.12 second cell is used for optional parameters.
13- gpio-ranges: see ../gpio/gpio.txt
14
15Optional properties:
16
17- gpio-reserved-ranges: see ../gpio/gpio.txt
13 18
14Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for19Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
15a general description of GPIO and interrupt bindings.20a general description of GPIO and interrupt bindings.
@@ -67,6 +72,7 @@ Example: · 51 unmodified lines
67 72
68 gpio-controller;73 gpio-controller;
69 #gpio-cells = <2>;74 #gpio-cells = <2>;
75 gpio-ranges = <&pinmux 0 0 69>;
70 interrupt-controller;76 interrupt-controller;
71 #interrupt-cells = <2>;77 #interrupt-cells = <2>;
72 interrupts = <0 32 0x4>;78 interrupts = <0 32 0x4>;
Documentation/devicetree/bindings/pinctrl/qcom,ipq8074-pinctrl.txt+9−0
@@ -40,6 +40,14 @@ IPQ8074 platform. · 39 unmodified lines
40 Definition: must be 2. Specifying the pin number and flags, as defined40 Definition: must be 2. Specifying the pin number and flags, as defined
41 in <dt-bindings/gpio/gpio.h>41 in <dt-bindings/gpio/gpio.h>
42 42
43- gpio-ranges:
44 Usage: required
45 Definition: see ../gpio/gpio.txt
46
47- gpio-reserved-ranges:
48 Usage: optional
49 Definition: see ../gpio/gpio.txt
50
43Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for51Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
44a general description of GPIO and interrupt bindings.52a general description of GPIO and interrupt bindings.
45 53
@@ -148,6 +156,7 @@ Example: · 102 unmodified lines
148 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;156 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
149 gpio-controller;157 gpio-controller;
150 #gpio-cells = <2>;158 #gpio-cells = <2>;
159 gpio-ranges = <&tlmm 0 0 70>;
151 interrupt-controller;160 interrupt-controller;
152 #interrupt-cells = <2>;161 #interrupt-cells = <2>;
153 162
Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.txt+9−0
@@ -40,6 +40,14 @@ MDM9615 platform. · 39 unmodified lines
40 Definition: must be 2. Specifying the pin number and flags, as defined40 Definition: must be 2. Specifying the pin number and flags, as defined
41 in <dt-bindings/gpio/gpio.h>41 in <dt-bindings/gpio/gpio.h>
42 42
43- gpio-ranges:
44 Usage: required
45 Definition: see ../gpio/gpio.txt
46
47- gpio-reserved-ranges:
48 Usage: optional
49 Definition: see ../gpio/gpio.txt
50
43Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for51Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
44a general description of GPIO and interrupt bindings.52a general description of GPIO and interrupt bindings.
45 53
@@ -127,6 +135,7 @@ Example: · 81 unmodified lines
127 135
128 gpio-controller;136 gpio-controller;
129 #gpio-cells = <2>;137 #gpio-cells = <2>;
138 gpio-ranges = <&msmgpio 0 0 88>;
130 interrupt-controller;139 interrupt-controller;
131 #interrupt-cells = <2>;140 #interrupt-cells = <2>;
132 interrupts = <0 16 0x4>;141 interrupts = <0 16 0x4>;
Documentation/devicetree/bindings/pinctrl/qcom,msm8660-pinctrl.txt+6−0
@@ -10,6 +10,11 @@ Required properties: · 9 unmodified lines
10- #gpio-cells : Should be two.10- #gpio-cells : Should be two.
11 The first cell is the gpio pin number and the11 The first cell is the gpio pin number and the
12 second cell is used for optional parameters.12 second cell is used for optional parameters.
13- gpio-ranges: see ../gpio/gpio.txt
14
15Optional properties:
16
17- gpio-reserved-ranges: see ../gpio/gpio.txt
13 18
14Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for19Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
15a general description of GPIO and interrupt bindings.20a general description of GPIO and interrupt bindings.
@@ -62,6 +67,7 @@ Example: · 46 unmodified lines
62 67
63 gpio-controller;68 gpio-controller;
64 #gpio-cells = <2>;69 #gpio-cells = <2>;
70 gpio-ranges = <&msmgpio 0 0 173>;
65 interrupt-controller;71 interrupt-controller;
66 #interrupt-cells = <2>;72 #interrupt-cells = <2>;
67 interrupts = <0 16 0x4>;73 interrupts = <0 16 0x4>;
Documentation/devicetree/bindings/pinctrl/qcom,msm8916-pinctrl.txt+9−0
@@ -40,6 +40,14 @@ MSM8916 platform. · 39 unmodified lines
40 Definition: must be 2. Specifying the pin number and flags, as defined40 Definition: must be 2. Specifying the pin number and flags, as defined
41 in <dt-bindings/gpio/gpio.h>41 in <dt-bindings/gpio/gpio.h>
42 42
43- gpio-ranges:
44 Usage: required
45 Definition: see ../gpio/gpio.txt
46
47- gpio-reserved-ranges:
48 Usage: optional
49 Definition: see ../gpio/gpio.txt
50
43Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for51Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
44a general description of GPIO and interrupt bindings.52a general description of GPIO and interrupt bindings.
45 53
@@ -162,6 +170,7 @@ Example: · 116 unmodified lines
162 interrupts = <0 208 0>;170 interrupts = <0 208 0>;
163 gpio-controller;171 gpio-controller;
164 #gpio-cells = <2>;172 #gpio-cells = <2>;
173 gpio-ranges = <&tlmm 0 0 122>;
165 interrupt-controller;174 interrupt-controller;
166 #interrupt-cells = <2>;175 #interrupt-cells = <2>;
167 176
Documentation/devicetree/bindings/pinctrl/qcom,msm8960-pinctrl.txt+9−0
@@ -40,6 +40,14 @@ MSM8960 platform. · 39 unmodified lines
40 Definition: must be 2. Specifying the pin number and flags, as defined40 Definition: must be 2. Specifying the pin number and flags, as defined
41 in <dt-bindings/gpio/gpio.h>41 in <dt-bindings/gpio/gpio.h>
42 42
43- gpio-ranges:
44 Usage: required
45 Definition: see ../gpio/gpio.txt
46
47- gpio-reserved-ranges:
48 Usage: optional
49 Definition: see ../gpio/gpio.txt
50
43Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for51Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
44a general description of GPIO and interrupt bindings.52a general description of GPIO and interrupt bindings.
45 53
@@ -156,6 +164,7 @@ Example: · 110 unmodified lines
156 164
157 gpio-controller;165 gpio-controller;
158 #gpio-cells = <2>;166 #gpio-cells = <2>;
167 gpio-ranges = <&msmgpio 0 0 152>;
159 interrupt-controller;168 interrupt-controller;
160 #interrupt-cells = <2>;169 #interrupt-cells = <2>;
161 interrupts = <0 16 0x4>;170 interrupts = <0 16 0x4>;
Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt+6−0
@@ -10,6 +10,11 @@ Required properties: · 9 unmodified lines
10- #gpio-cells : Should be two.10- #gpio-cells : Should be two.
11 The first cell is the gpio pin number and the11 The first cell is the gpio pin number and the
12 second cell is used for optional parameters.12 second cell is used for optional parameters.
13- gpio-ranges: see ../gpio/gpio.txt
14
15Optional properties:
16
17- gpio-reserved-ranges: see ../gpio/gpio.txt
13 18
14Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for19Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
15a general description of GPIO and interrupt bindings.20a general description of GPIO and interrupt bindings.
@@ -87,6 +92,7 @@ Example: · 71 unmodified lines
87 92
88 gpio-controller;93 gpio-controller;
89 #gpio-cells = <2>;94 #gpio-cells = <2>;
95 gpio-ranges = <&msmgpio 0 0 146>;
90 interrupt-controller;96 interrupt-controller;
91 #interrupt-cells = <2>;97 #interrupt-cells = <2>;
92 interrupts = <0 208 0>;98 interrupts = <0 208 0>;
Documentation/devicetree/bindings/pinctrl/qcom,msm8994-pinctrl.txt+9−0
@@ -42,6 +42,14 @@ MSM8994 platform. · 41 unmodified lines
42 Definition: must be 2. Specifying the pin number and flags, as defined42 Definition: must be 2. Specifying the pin number and flags, as defined
43 in <dt-bindings/gpio/gpio.h>43 in <dt-bindings/gpio/gpio.h>
44 44
45- gpio-ranges:
46 Usage: required
47 Definition: see ../gpio/gpio.txt
48
49- gpio-reserved-ranges:
50 Usage: optional
51 Definition: see ../gpio/gpio.txt
52
45Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for53Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
46a general description of GPIO and interrupt bindings.54a general description of GPIO and interrupt bindings.
47 55
@@ -160,6 +168,7 @@ Example: · 112 unmodified lines
160 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;168 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
161 gpio-controller;169 gpio-controller;
162 #gpio-cells = <2>;170 #gpio-cells = <2>;
171 gpio-ranges = <&msmgpio 0 0 146>;
163 interrupt-controller;172 interrupt-controller;
164 #interrupt-cells = <2>;173 #interrupt-cells = <2>;
165 174
Documentation/devicetree/bindings/pinctrl/qcom,msm8996-pinctrl.txt+9−0
@@ -40,6 +40,14 @@ MSM8996 platform. · 39 unmodified lines
40 Definition: must be 2. Specifying the pin number and flags, as defined40 Definition: must be 2. Specifying the pin number and flags, as defined
41 in <dt-bindings/gpio/gpio.h>41 in <dt-bindings/gpio/gpio.h>
42 42
43- gpio-ranges:
44 Usage: required
45 Definition: see ../gpio/gpio.txt
46
47- gpio-reserved-ranges:
48 Usage: optional
49 Definition: see ../gpio/gpio.txt
50
43Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for51Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
44a general description of GPIO and interrupt bindings.52a general description of GPIO and interrupt bindings.
45 53
@@ -180,6 +188,7 @@ Example: · 134 unmodified lines
180 reg = <0x01010000 0x300000>;188 reg = <0x01010000 0x300000>;
181 interrupts = <0 208 0>;189 interrupts = <0 208 0>;
182 gpio-controller;190 gpio-controller;
191 gpio-ranges = <&tlmm 0 0 150>;
183 #gpio-cells = <2>;192 #gpio-cells = <2>;
184 interrupt-controller;193 interrupt-controller;
185 #interrupt-cells = <2>;194 #interrupt-cells = <2>;
Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt+4−2
@@ -7,6 +7,7 @@ PMIC's from Qualcomm. · 6 unmodified lines
7 Usage: required7 Usage: required
8 Value type: <string>8 Value type: <string>
9 Definition: must be one of:9 Definition: must be one of:
10 "qcom,pm8005-gpio"
10 "qcom,pm8018-gpio"11 "qcom,pm8018-gpio"
11 "qcom,pm8038-gpio"12 "qcom,pm8038-gpio"
12 "qcom,pm8058-gpio"13 "qcom,pm8058-gpio"
@@ -15,7 +16,7 @@ PMIC's from Qualcomm. · 2 unmodified lines
15 "qcom,pm8921-gpio"16 "qcom,pm8921-gpio"
16 "qcom,pm8941-gpio"17 "qcom,pm8941-gpio"
17 "qcom,pm8994-gpio"18 "qcom,pm8994-gpio"
18 "qcom,pmi8994-gpio"19 "qcom,pm8998-gpio"
19 "qcom,pma8084-gpio"20 "qcom,pma8084-gpio"
20 "qcom,pmi8994-gpio"21 "qcom,pmi8994-gpio"
21 22
@@ -78,6 +79,7 @@ to specify in a pin configuration subnode: · 56 unmodified lines
78 Value type: <string-array>79 Value type: <string-array>
79 Definition: List of gpio pins affected by the properties specified in80 Definition: List of gpio pins affected by the properties specified in
80 this subnode. Valid pins are:81 this subnode. Valid pins are:
82 gpio1-gpio4 for pm8005
81 gpio1-gpio6 for pm801883 gpio1-gpio6 for pm8018
82 gpio1-gpio12 for pm803884 gpio1-gpio12 for pm8038
83 gpio1-gpio40 for pm805885 gpio1-gpio40 for pm8058
@@ -86,7 +88,7 @@ to specify in a pin configuration subnode: · 2 unmodified lines
86 gpio1-gpio44 for pm892188 gpio1-gpio44 for pm8921
87 gpio1-gpio36 for pm894189 gpio1-gpio36 for pm8941
88 gpio1-gpio22 for pm899490 gpio1-gpio22 for pm8994
89 gpio1-gpio10 for pmi899491 gpio1-gpio26 for pm8998
90 gpio1-gpio22 for pma808492 gpio1-gpio22 for pma8084
91 gpio1-gpio10 for pmi899493 gpio1-gpio10 for pmi8994
92 94
Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt+9−8
@@ -124,8 +124,6 @@ used as system wakeup events. · 123 unmodified lines
124A. External GPIO Interrupts: For supporting external gpio interrupts, the124A. External GPIO Interrupts: For supporting external gpio interrupts, the
125 following properties should be specified in the pin-controller device node.125 following properties should be specified in the pin-controller device node.
126 126
127 - interrupt-parent: phandle of the interrupt parent to which the external
128 GPIO interrupts are forwarded to.
129 - interrupts: interrupt specifier for the controller. The format and value of127 - interrupts: interrupt specifier for the controller. The format and value of
130 the interrupt specifier depends on the interrupt parent for the controller.128 the interrupt specifier depends on the interrupt parent for the controller.
131 129
@@ -145,8 +143,13 @@ A. External GPIO Interrupts: For supporting external gpio interrupts, the · 13 unmodified lines
145 143
146B. External Wakeup Interrupts: For supporting external wakeup interrupts, a144B. External Wakeup Interrupts: For supporting external wakeup interrupts, a
147 child node representing the external wakeup interrupt controller should be145 child node representing the external wakeup interrupt controller should be
148 included in the pin-controller device node. This child node should include146 included in the pin-controller device node.
149 the following properties.147
148 Only one pin-controller device node can include external wakeup interrupts
149 child node (in other words, only one External Wakeup Interrupts
150 pin-controller is supported).
151
152 This child node should include following properties:
150 153
151 - compatible: identifies the type of the external wakeup interrupt controller154 - compatible: identifies the type of the external wakeup interrupt controller
152 The possible values are:155 The possible values are:
@@ -156,12 +159,12 @@ B. External Wakeup Interrupts: For supporting external wakeup interrupts, a · 3 unmodified lines
156 found on Samsung S3C2412 and S3C2413 SoCs,159 found on Samsung S3C2412 and S3C2413 SoCs,
157 - samsung,s3c64xx-wakeup-eint: represents wakeup interrupt controller160 - samsung,s3c64xx-wakeup-eint: represents wakeup interrupt controller
158 found on Samsung S3C64xx SoCs,161 found on Samsung S3C64xx SoCs,
162 - samsung,s5pv210-wakeup-eint: represents wakeup interrupt controller
163 found on Samsung S5Pv210 SoCs,
159 - samsung,exynos4210-wakeup-eint: represents wakeup interrupt controller164 - samsung,exynos4210-wakeup-eint: represents wakeup interrupt controller
160 found on Samsung Exynos4210 and S5PC110/S5PV210 SoCs.165 found on Samsung Exynos4210 and S5PC110/S5PV210 SoCs.
161 - samsung,exynos7-wakeup-eint: represents wakeup interrupt controller166 - samsung,exynos7-wakeup-eint: represents wakeup interrupt controller
162 found on Samsung Exynos7 SoC.167 found on Samsung Exynos7 SoC.
163 - interrupt-parent: phandle of the interrupt parent to which the external
164 wakeup interrupts are forwarded to.
165 - interrupts: interrupt used by multiplexed wakeup interrupts.168 - interrupts: interrupt used by multiplexed wakeup interrupts.
166 169
167 In addition, following properties must be present in node of every bank170 In addition, following properties must be present in node of every bank
@@ -181,8 +184,6 @@ B. External Wakeup Interrupts: For supporting external wakeup interrupts, a · 13 unmodified lines
181 Node of every bank of pins supporting direct wake-up interrupts (without184 Node of every bank of pins supporting direct wake-up interrupts (without
182 multiplexing) must contain following properties:185 multiplexing) must contain following properties:
183 186
184 - interrupt-parent: phandle of the interrupt parent to which the external
185 wakeup interrupts are forwarded to.
186 - interrupts: interrupts of the interrupt parent which are used for external187 - interrupts: interrupts of the interrupt parent which are used for external
187 wakeup interrupts from pins of the bank, must contain interrupts for all188 wakeup interrupts from pins of the bank, must contain interrupts for all
188 pins of the bank.189 pins of the bank.
Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt+6−5
@@ -37,11 +37,10 @@ Required properties: · 36 unmodified lines
37 37
38Optional properties:38Optional properties:
39 - reset: : Reference to the reset controller39 - reset: : Reference to the reset controller
40 - interrupt-parent: phandle of the interrupt parent to which the external40 - st,syscfg: Should be phandle/offset/mask.
41 GPIO interrupts are forwarded to.41 -The phandle to the syscon node which includes IRQ mux selection register.
42 - st,syscfg: Should be phandle/offset pair. The phandle to the syscon node42 -The offset of the IRQ mux selection register
43 which includes IRQ mux selection register, and the offset of the IRQ mux43 -The field mask of IRQ mux, needed if different of 0xf.
44 selection register.
45 - gpio-ranges: Define a dedicated mapping between a pin-controller and44 - gpio-ranges: Define a dedicated mapping between a pin-controller and
46 a gpio controller. Format is <&phandle a b c> with:45 a gpio controller. Format is <&phandle a b c> with:
47 -(phandle): phandle of pin-controller.46 -(phandle): phandle of pin-controller.
@@ -55,6 +54,8 @@ Optional properties: · 7 unmodified lines
55 NOTE: If "gpio-ranges" is used for a gpio controller, all gpio-controller54 NOTE: If "gpio-ranges" is used for a gpio controller, all gpio-controller
56 have to use a "gpio-ranges" entry.55 have to use a "gpio-ranges" entry.
57 More details in Documentation/devicetree/bindings/gpio/gpio.txt.56 More details in Documentation/devicetree/bindings/gpio/gpio.txt.
57 - st,bank-ioport: should correspond to the EXTI IOport selection (EXTI line
58 used to select GPIOs as interrupts).
58 59
59Example 1:60Example 1:
60#include <dt-bindings/pinctrl/stm32f429-pinfunc.h>61#include <dt-bindings/pinctrl/stm32f429-pinfunc.h>
Documentation/devicetree/bindings/power/power_domain.txt+9−1
@@ -114,18 +114,26 @@ Required properties: · 113 unmodified lines
114 - power-domains : A list of PM domain specifiers, as defined by bindings of114 - power-domains : A list of PM domain specifiers, as defined by bindings of
115 the power controller that is the PM domain provider.115 the power controller that is the PM domain provider.
116 116
117Optional properties:
118 - power-domain-names : A list of power domain name strings sorted in the same
119 order as the power-domains property. Consumers drivers will use
120 power-domain-names to match power domains with power-domains
121 specifiers.
122
117Example:123Example:
118 124
119 leaky-device@12350000 {125 leaky-device@12350000 {
120 compatible = "foo,i-leak-current";126 compatible = "foo,i-leak-current";
121 reg = <0x12350000 0x1000>;127 reg = <0x12350000 0x1000>;
122 power-domains = <&power 0>;128 power-domains = <&power 0>;
129 power-domain-names = "io";
123 };130 };
124 131
125 leaky-device@12351000 {132 leaky-device@12351000 {
126 compatible = "foo,i-leak-current";133 compatible = "foo,i-leak-current";
127 reg = <0x12351000 0x1000>;134 reg = <0x12351000 0x1000>;
128 power-domains = <&power 0>, <&power 1> ;135 power-domains = <&power 0>, <&power 1> ;
136 power-domain-names = "io", "clk";
129 };137 };
130 138
131The first example above defines a typical PM domain consumer device, which is139The first example above defines a typical PM domain consumer device, which is
@@ -133,7 +141,7 @@ located inside a PM domain with index 0 of a power controller represented by a · 1 unmodified line
133node with the label "power".141node with the label "power".
134In the second example the consumer device are partitioned across two PM domains,142In the second example the consumer device are partitioned across two PM domains,
135the first with index 0 and the second with index 1, of a power controller that143the first with index 0 and the second with index 1, of a power controller that
136is represented by a node with the label "power.144is represented by a node with the label "power".
137 145
138Optional properties:146Optional properties:
139- required-opps: This contains phandle to an OPP node in another device's OPP147- required-opps: This contains phandle to an OPP node in another device's OPP
Documentation/devicetree/bindings/power/reset/qcom,pon.txt+45−0
@@ -0,0 +1,45 @@
1Qualcomm PON Device
2
3The Power On device for Qualcomm PM8xxx is MFD supporting pwrkey
4and resin along with the Android reboot-mode.
5
6This DT node has pwrkey and resin as sub nodes.
7
8Required Properties:
9-compatible: "qcom,pm8916-pon"
10-reg: Specifies the physical address of the pon register
11
12Optional subnode:
13-pwrkey: Specifies the subnode pwrkey and should follow the
14 qcom,pm8941-pwrkey.txt description.
15-resin: Specifies the subnode resin and should follow the
16 qcom,pm8xxx-pwrkey.txt description.
17
18The rest of the properties should follow the generic reboot-mode description
19found in reboot-mode.txt
20
21Example:
22
23 pon@800 {
24 compatible = "qcom,pm8916-pon";
25
26 reg = <0x800>;
27 mode-bootloader = <0x2>;
28 mode-recovery = <0x1>;
29
30 pwrkey {
31 compatible = "qcom,pm8941-pwrkey";
32 interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
33 debounce = <15625>;
34 bias-pull-up;
35 linux,code = <KEY_POWER>;
36 };
37
38 resin {
39 compatible = "qcom,pm8941-resin";
40 interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
41 debounce = <15625>;
42 bias-pull-up;
43 linux,code = <KEY_VOLUMEDOWN>;
44 };
45 };
Documentation/devicetree/bindings/power/supply/act8945a-charger.txt+0−2
@@ -9,8 +9,6 @@ Required properties: · 8 unmodified lines
9 - interrupts: <a b> where a is the interrupt number and b is a9 - interrupts: <a b> where a is the interrupt number and b is a
10 field that represents an encoding of the sense and level10 field that represents an encoding of the sense and level
11 information for the interrupt.11 information for the interrupt.
12 - interrupt-parent: the phandle for the interrupt controller that
13 services interrupts for this device.
14 12
15Optional properties:13Optional properties:
16 - active-semi,input-voltage-threshold-microvolt: unit: mV;14 - active-semi,input-voltage-threshold-microvolt: unit: mV;
Documentation/devicetree/bindings/power/supply/bq24257.txt+0−2
@@ -6,8 +6,6 @@ Required properties: · 5 unmodified lines
6 * "ti,bq24251"6 * "ti,bq24251"
7 * "ti,bq24257"7 * "ti,bq24257"
8- reg: integer, i2c address of the device.8- reg: integer, i2c address of the device.
9- interrupt-parent: Should be the phandle for the interrupt controller. Use in
10 conjunction with "interrupts".
11- interrupts: Interrupt mapping for GPIO IRQ (configure for both edges). Use in9- interrupts: Interrupt mapping for GPIO IRQ (configure for both edges). Use in
12 conjunction with "interrupt-parent".10 conjunction with "interrupt-parent".
13- ti,battery-regulation-voltage: integer, maximum charging voltage in uV.11- ti,battery-regulation-voltage: integer, maximum charging voltage in uV.
Documentation/devicetree/bindings/power/supply/lp8727_charger.txt+0−1
@@ -5,7 +5,6 @@ Required properties: · 4 unmodified lines
5- reg: I2C slave address 27h5- reg: I2C slave address 27h
6 6
7Optional properties:7Optional properties:
8- interrupt-parent: interrupt controller node (see interrupt binding[0])
9- interrupts: interrupt specifier (see interrupt binding[0])8- interrupts: interrupt specifier (see interrupt binding[0])
10- debounce-ms: interrupt debounce time. (u32)9- debounce-ms: interrupt debounce time. (u32)
11 10
Documentation/devicetree/bindings/power/supply/maxim,ds2760.txt+26−0
@@ -0,0 +1,26 @@
1Devicetree bindings for Maxim DS2760
2====================================
3
4The ds2760 is a w1 slave device and must hence have its sub-node in DT
5under a w1 bus master node.
6
7The device exposes a power supply, so the details described in
8Documentation/devicetree/bindings/power/supply/power_supply.txt apply.
9
10Required properties:
11- compatible: must be "maxim,ds2760"
12
13Optional properties:
14- power-supplies: Refers to one or more power supplies connected to
15 this battery.
16- maxim,pmod-enabled: This boolean property enables the DS2760 to enter
17 sleep mode when the DQ line goes low for greater
18 than 2 seconds and leave sleep Mode when the DQ
19 line goes high.
20- maxim,cache-time-ms: Time im milliseconds to cache the data for. When
21 this time expires, the values are read again from
22 the hardware. Defaults to 1000.
23- rated-capacity-microamp-hours:
24 The rated capacity of the battery, in mAh.
25 If not specified, the value stored in the
26 non-volatile chip memory is used.
Documentation/devicetree/bindings/power/supply/maxim,max14656.txt+0−1
@@ -3,7 +3,6 @@ Maxim MAX14656 / AL32 USB Charger Detector · 2 unmodified lines
3Required properties :3Required properties :
4- compatible : "maxim,max14656";4- compatible : "maxim,max14656";
5- reg: i2c slave address5- reg: i2c slave address
6- interrupt-parent: the phandle for the interrupt controller
7- interrupts: interrupt line6- interrupts: interrupt line
8 7
9Example:8Example:
Documentation/devicetree/bindings/power/supply/rt9455_charger.txt+0−2
@@ -4,8 +4,6 @@ Required properties: · 3 unmodified lines
4- compatible: it should contain one of the following:4- compatible: it should contain one of the following:
5 "richtek,rt9455".5 "richtek,rt9455".
6- reg: integer, i2c address of the device.6- reg: integer, i2c address of the device.
7- interrupt-parent: the phandle for the interrupt controller that
8 services interrupts for this device.
9- interrupts: interrupt mapping for GPIO IRQ, it should be7- interrupts: interrupt mapping for GPIO IRQ, it should be
10 configured with IRQ_TYPE_LEVEL_LOW flag.8 configured with IRQ_TYPE_LEVEL_LOW flag.
11- richtek,output-charge-current: integer, output current from the charger to the9- richtek,output-charge-current: integer, output current from the charger to the
Documentation/devicetree/bindings/power/supply/sbs_sbs-battery.txt+8−4
@@ -2,7 +2,11 @@ SBS sbs-battery · 1 unmodified line
2~~~~~~~~~~2~~~~~~~~~~
3 3
4Required properties :4Required properties :
5 - compatible : "sbs,sbs-battery"5 - compatible: "<vendor>,<part-number>", "sbs,sbs-battery" as fallback. The
6 part number compatible string might be used in order to take care of
7 vendor specific registers.
8 Known <vendor>,<part-number>:
9 ti,bq20z75
6 10
7Optional properties :11Optional properties :
8 - sbs,i2c-retry-count : The number of times to retry i2c transactions on i2c12 - sbs,i2c-retry-count : The number of times to retry i2c transactions on i2c
@@ -14,9 +18,9 @@ Optional properties : · 5 unmodified lines
14 18
15Example:19Example:
16 20
17 bq20z75@b {21 battery@b {
18 compatible = "sbs,sbs-battery";22 compatible = "ti,bq20z75", "sbs,sbs-battery";
19 reg = < 0xb >;23 reg = <0xb>;
20 sbs,i2c-retry-count = <2>;24 sbs,i2c-retry-count = <2>;
21 sbs,poll-retry-count = <10>;25 sbs,poll-retry-count = <10>;
22 sbs,battery-detect-gpios = <&gpio-controller 122 1>;26 sbs,battery-detect-gpios = <&gpio-controller 122 1>;
Documentation/devicetree/bindings/power/supply/sbs_sbs-charger.txt+0−2
@@ -7,8 +7,6 @@ Required properties: · 6 unmodified lines
7 specific registers.7 specific registers.
8 8
9Optional properties:9Optional properties:
10- interrupt-parent: Should be the phandle for the interrupt controller. Use in
11 conjunction with "interrupts".
12- interrupts: Interrupt mapping for GPIO IRQ. Use in conjunction with10- interrupts: Interrupt mapping for GPIO IRQ. Use in conjunction with
13 "interrupt-parent". If an interrupt is not provided the driver will switch11 "interrupt-parent". If an interrupt is not provided the driver will switch
14 automatically to polling.12 automatically to polling.
Documentation/devicetree/bindings/powerpc/4xx/akebono.txt+0−2
@@ -19,7 +19,6 @@ The IBM Akebono board is a development board for the PPC476GTR SoC. · 18 unmodified lines
19 19
20 - compatible : should be "ibm,476gtr-sdhci","generic-sdhci".20 - compatible : should be "ibm,476gtr-sdhci","generic-sdhci".
21 - reg : should contain the SDHCI registers location and length.21 - reg : should contain the SDHCI registers location and length.
22 - interrupt-parent : a phandle for the interrupt controller.
23 - interrupts : should contain the SDHCI interrupt.22 - interrupts : should contain the SDHCI interrupt.
24 23
251.b) The Advanced Host Controller Interface (AHCI) SATA node241.b) The Advanced Host Controller Interface (AHCI) SATA node
@@ -30,7 +29,6 @@ The IBM Akebono board is a development board for the PPC476GTR SoC. · 4 unmodified lines
30 29
31 - compatible : should be "ibm,476gtr-ahci".30 - compatible : should be "ibm,476gtr-ahci".
32 - reg : should contain the AHCI registers location and length.31 - reg : should contain the AHCI registers location and length.
33 - interrupt-parent : a phandle for the interrupt controller.
34 - interrupts : should contain the AHCI interrupt.32 - interrupts : should contain the AHCI interrupt.
35 33
361.c) The FPGA node341.c) The FPGA node
Documentation/devicetree/bindings/powerpc/4xx/hsta.txt+0−1
@@ -13,7 +13,6 @@ device tree entries: · 12 unmodified lines
13Require properties:13Require properties:
14- compatible : "ibm,476gtr-hsta-msi", "ibm,hsta-msi"14- compatible : "ibm,476gtr-hsta-msi", "ibm,hsta-msi"
15- reg : register mapping for the HSTA MSI space15- reg : register mapping for the HSTA MSI space
16- interrupt-parent : parent controller for mapping interrupts
17- interrupts : ordered interrupt mapping for each MSI in the register16- interrupts : ordered interrupt mapping for each MSI in the register
18 space. The first interrupt should be associated with a17 space. The first interrupt should be associated with a
19 register offset of 0x00, the second to 0x10, etc.18 register offset of 0x00, the second to 0x10, etc.
Documentation/devicetree/bindings/powerpc/4xx/ppc440spe-adma.txt+0−2
@@ -38,7 +38,6 @@ DMA devices. · 37 unmodified lines
38 2 sources: DMAx CS FIFO Needs Service IRQ (on UIC0)38 2 sources: DMAx CS FIFO Needs Service IRQ (on UIC0)
39 and DMA Error IRQ (on UIC1). The latter is common39 and DMA Error IRQ (on UIC1). The latter is common
40 for both DMA engines>.40 for both DMA engines>.
41 - interrupt-parent : needed for interrupt mapping
42 41
43 Example:42 Example:
44 43
@@ -65,7 +64,6 @@ DMA devices. · 20 unmodified lines
65 - compatible : "amcc,xor-accelerator";64 - compatible : "amcc,xor-accelerator";
66 - reg : <registers mapping>65 - reg : <registers mapping>
67 - interrupts : <interrupt mapping for XOR interrupt source>66 - interrupts : <interrupt mapping for XOR interrupt source>
68 - interrupt-parent : for interrupt mapping
69 67
70 Example:68 Example:
71 69
Documentation/devicetree/bindings/powerpc/fsl/dcsr.txt+0−7
@@ -84,13 +84,6 @@ PROPERTIES · 83 unmodified lines
84 84
85 Interrupt numbers are listed in order (perfmon, event0, event1).85 Interrupt numbers are listed in order (perfmon, event0, event1).
86 86
87 - interrupt-parent
88 Usage: required
89 Value type: <phandle>
90 Definition: A single <phandle> value that points
91 to the interrupt parent to which the child domain
92 is being mapped. Value must be "&mpic"
93
94 - reg87 - reg
95 Usage: required88 Usage: required
96 Value type: <prop-encoded-array>89 Value type: <prop-encoded-array>
Documentation/devicetree/bindings/powerpc/fsl/diu.txt+0−2
@@ -8,8 +8,6 @@ Required properties: · 7 unmodified lines
8- reg : should contain at least address and length of the DIU register8- reg : should contain at least address and length of the DIU register
9 set.9 set.
10- interrupts : one DIU interrupt should be described here.10- interrupts : one DIU interrupt should be described here.
11- interrupt-parent : the phandle for the interrupt controller that
12 services interrupts for this device.
13 11
14Optional properties:12Optional properties:
15- edid : verbatim EDID data block describing attached display.13- edid : verbatim EDID data block describing attached display.
Documentation/devicetree/bindings/powerpc/fsl/dma.txt+0−4
@@ -13,7 +13,6 @@ Required properties: · 12 unmodified lines
13 DMA channels and the address space of the DMA controller13 DMA channels and the address space of the DMA controller
14- cell-index : controller index. 0 for controller @ 0x810014- cell-index : controller index. 0 for controller @ 0x8100
15- interrupts : interrupt specifier for DMA IRQ15- interrupts : interrupt specifier for DMA IRQ
16- interrupt-parent : optional, if needed for interrupt mapping
17 16
18- DMA channel nodes:17- DMA channel nodes:
19 - compatible : must include "fsl,elo-dma-channel"18 - compatible : must include "fsl,elo-dma-channel"
@@ -25,7 +24,6 @@ Optional properties: · 5 unmodified lines
25 - interrupts : interrupt specifier for DMA channel IRQ24 - interrupts : interrupt specifier for DMA channel IRQ
26 (on 83xx this is expected to be identical to25 (on 83xx this is expected to be identical to
27 the interrupts property of the parent node)26 the interrupts property of the parent node)
28 - interrupt-parent : optional, if needed for interrupt mapping
29 27
30Example:28Example:
31 dma@82a8 {29 dma@82a8 {
@@ -88,7 +86,6 @@ Required properties: · 56 unmodified lines
88 - cell-index : DMA channel index starts at 0.86 - cell-index : DMA channel index starts at 0.
89 - reg : DMA channel specific registers87 - reg : DMA channel specific registers
90 - interrupts : interrupt specifier for DMA channel IRQ88 - interrupts : interrupt specifier for DMA channel IRQ
91 - interrupt-parent : optional, if needed for interrupt mapping
92 89
93Example:90Example:
94 dma@21300 {91 dma@21300 {
@@ -146,7 +143,6 @@ Required properties: · 51 unmodified lines
146 - compatible : must include "fsl,eloplus-dma-channel"143 - compatible : must include "fsl,eloplus-dma-channel"
147 - reg : DMA channel specific registers144 - reg : DMA channel specific registers
148 - interrupts : interrupt specifier for DMA channel IRQ145 - interrupts : interrupt specifier for DMA channel IRQ
149 - interrupt-parent : optional, if needed for interrupt mapping
150 146
151Example:147Example:
152dma@100300 {148dma@100300 {
Documentation/devicetree/bindings/powerpc/fsl/ecm.txt+0−4
@@ -57,8 +57,4 @@ PROPERTIES · 56 unmodified lines
57 Usage: required57 Usage: required
58 Value type: <prop-encoded-array>58 Value type: <prop-encoded-array>
59 59
60 - interrupt-parent
61 Usage: required
62 Value type: <phandle>
63
64=====================================================================60=====================================================================
Documentation/devicetree/bindings/powerpc/fsl/mcm.txt+0−4
@@ -57,8 +57,4 @@ PROPERTIES · 56 unmodified lines
57 Usage: required57 Usage: required
58 Value type: <prop-encoded-array>58 Value type: <prop-encoded-array>
59 59
60 - interrupt-parent
61 Usage: required
62 Value type: <phandle>
63
64=====================================================================60=====================================================================
Documentation/devicetree/bindings/powerpc/fsl/mpc5121-psc.txt+0−4
@@ -18,8 +18,6 @@ Required properties : · 17 unmodified lines
18 - interrupts : <a b> where a is the interrupt number of the18 - interrupts : <a b> where a is the interrupt number of the
19 PSC FIFO Controller and b is a field that represents an19 PSC FIFO Controller and b is a field that represents an
20 encoding of the sense and level information for the interrupt.20 encoding of the sense and level information for the interrupt.
21 - interrupt-parent : the phandle for the interrupt controller that
22 services interrupts for this device.
23 21
24Recommended properties :22Recommended properties :
25 - fsl,rx-fifo-size : the size of the RX fifo slice (a multiple of 4)23 - fsl,rx-fifo-size : the size of the RX fifo slice (a multiple of 4)
@@ -45,8 +43,6 @@ Required properties : · 19 unmodified lines
45 - interrupts : <a b> where a is the interrupt number of the43 - interrupts : <a b> where a is the interrupt number of the
46 PSC FIFO Controller and b is a field that represents an44 PSC FIFO Controller and b is a field that represents an
47 encoding of the sense and level information for the interrupt.45 encoding of the sense and level information for the interrupt.
48 - interrupt-parent : the phandle for the interrupt controller that
49 services interrupts for this device.
50 46
51Recommended properties :47Recommended properties :
52 - clocks : specifies the clock needed to operate the fifo controller48 - clocks : specifies the clock needed to operate the fifo controller
Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt+0−5
@@ -21,11 +21,6 @@ Required properties: · 20 unmodified lines
21 be set as edge sensitive. If msi-available-ranges is present, only21 be set as edge sensitive. If msi-available-ranges is present, only
22 the interrupts that correspond to available ranges shall be present.22 the interrupts that correspond to available ranges shall be present.
23 23
24- interrupt-parent: the phandle for the interrupt controller
25 that services interrupts for this device. for 83xx cpu, the interrupts
26 are routed to IPIC, and for 85xx/86xx cpu the interrupts are routed
27 to MPIC.
28
29Optional properties:24Optional properties:
30- msi-available-ranges: use <start count> style section to define which25- msi-available-ranges: use <start count> style section to define which
31 msi interrupt can be used in the 256 msi interrupts. This property is26 msi interrupt can be used in the 256 msi interrupts. This property is
Documentation/devicetree/bindings/powerpc/fsl/pamu.txt+0−2
@@ -32,8 +32,6 @@ Optional properties: · 31 unmodified lines
32 A standard property. It represents the CCSR registers of32 A standard property. It represents the CCSR registers of
33 all child PAMUs combined. Include it to provide support33 all child PAMUs combined. Include it to provide support
34 for legacy drivers.34 for legacy drivers.
35- interrupt-parent : <phandle>
36 Phandle to interrupt controller
37- fsl,portid-mapping : <u32>35- fsl,portid-mapping : <u32>
38 The Coherency Subdomain ID Port Mapping Registers and36 The Coherency Subdomain ID Port Mapping Registers and
39 Snoop ID Port Mapping registers, which are part of the37 Snoop ID Port Mapping registers, which are part of the
Documentation/devicetree/bindings/powerpc/nintendo/wii.txt+0−1
@@ -148,7 +148,6 @@ Nintendo Wii device tree · 147 unmodified lines
148 - reg : should contain the controller registers location and length148 - reg : should contain the controller registers location and length
149 - interrupt-controller149 - interrupt-controller
150 - interrupts : should contain the cascade interrupt of the "flipper" pic150 - interrupts : should contain the cascade interrupt of the "flipper" pic
151 - interrupt-parent: should contain the phandle of the "flipper" pic
152 151
1531.l) The General Purpose I/O (GPIO) controller node1521.l) The General Purpose I/O (GPIO) controller node
154 153
Documentation/devicetree/bindings/ptp/ptp-qoriq.txt+12−3
@@ -2,7 +2,8 @@ · 1 unmodified line
2 2
3General Properties:3General Properties:
4 4
5 - compatible Should be "fsl,etsec-ptp"5 - compatible Should be "fsl,etsec-ptp" for eTSEC
6 Should be "fsl,fman-ptp-timer" for DPAA FMan
6 - reg Offset and length of the register set for the device7 - reg Offset and length of the register set for the device
7 - interrupts There should be at least two interrupts. Some devices8 - interrupts There should be at least two interrupts. Some devices
8 have as many as four PTP related interrupts.9 have as many as four PTP related interrupts.
@@ -43,14 +44,22 @@ Clock Properties: · 34 unmodified lines
43 value, which will be directly written in those bits, that is why,44 value, which will be directly written in those bits, that is why,
44 according to reference manual, the next clock sources can be used:45 according to reference manual, the next clock sources can be used:
45 46
47 For eTSEC,
46 <0> - external high precision timer reference clock (TSEC_TMR_CLK48 <0> - external high precision timer reference clock (TSEC_TMR_CLK
47 input is used for this purpose);49 input is used for this purpose);
48 <1> - eTSEC system clock;50 <1> - eTSEC system clock;
49 <2> - eTSEC1 transmit clock;51 <2> - eTSEC1 transmit clock;
50 <3> - RTC clock input.52 <3> - RTC clock input.
51 53
52 When this attribute is not used, eTSEC system clock will serve as54 For DPAA FMan,
53 IEEE 1588 timer reference clock.55 <0> - external high precision timer reference clock (TMR_1588_CLK)
56 <1> - MAC system clock (1/2 FMan clock)
57 <2> - reserved
58 <3> - RTC clock oscillator
59
60 When this attribute is not used, the IEEE 1588 timer reference clock
61 will use the eTSEC system clock (for Gianfar) or the MAC system
62 clock (for DPAA).
54 63
55Example:64Example:
56 65
Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt+4−1
@@ -16,7 +16,10 @@ modes in device tree. · 15 unmodified lines
16 16
17 17
18Required properties:18Required properties:
19- compatible: Should be "fsl,vf610-ftm-pwm".19- compatible : should be "fsl,<soc>-ftm-pwm" and one of the following
20 compatible strings:
21 - "fsl,vf610-ftm-pwm" for PWM compatible with the one integrated on VF610
22 - "fsl,imx8qm-ftm-pwm" for PWM compatible with the one integrated on i.MX8QM
20- reg: Physical base address and length of the controller's registers23- reg: Physical base address and length of the controller's registers
21- #pwm-cells: Should be 3. See pwm.txt in this directory for a description of24- #pwm-cells: Should be 3. See pwm.txt in this directory for a description of
22 the cells format.25 the cells format.
Documentation/devicetree/bindings/pwm/pwm-mediatek.txt+3−1
@@ -5,11 +5,13 @@ Required properties: · 4 unmodified lines
5 - "mediatek,mt2712-pwm": found on mt2712 SoC.5 - "mediatek,mt2712-pwm": found on mt2712 SoC.
6 - "mediatek,mt7622-pwm": found on mt7622 SoC.6 - "mediatek,mt7622-pwm": found on mt7622 SoC.
7 - "mediatek,mt7623-pwm": found on mt7623 SoC.7 - "mediatek,mt7623-pwm": found on mt7623 SoC.
8 - "mediatek,mt7628-pwm": found on mt7628 SoC.
8 - reg: physical base address and length of the controller's registers.9 - reg: physical base address and length of the controller's registers.
9 - #pwm-cells: must be 2. See pwm.txt in this directory for a description of10 - #pwm-cells: must be 2. See pwm.txt in this directory for a description of
10 the cell format.11 the cell format.
11 - clocks: phandle and clock specifier of the PWM reference clock.12 - clocks: phandle and clock specifier of the PWM reference clock.
12 - clock-names: must contain the following:13 - clock-names: must contain the following, except for MT7628 which
14 has no clocks
13 - "top": the top clock generator15 - "top": the top clock generator
14 - "main": clock used by the PWM core16 - "main": clock used by the PWM core
15 - "pwm1-8": the eight per PWM clocks for mt271217 - "pwm1-8": the eight per PWM clocks for mt2712
Documentation/devicetree/bindings/pwm/renesas,pwm-rcar.txt+1−0
@@ -12,6 +12,7 @@ Required Properties: · 11 unmodified lines
12 - "renesas,pwm-r8a7795": for R-Car H312 - "renesas,pwm-r8a7795": for R-Car H3
13 - "renesas,pwm-r8a7796": for R-Car M3-W13 - "renesas,pwm-r8a7796": for R-Car M3-W
14 - "renesas,pwm-r8a77965": for R-Car M3-N14 - "renesas,pwm-r8a77965": for R-Car M3-N
15 - "renesas,pwm-r8a77990": for R-Car E3
15 - "renesas,pwm-r8a77995": for R-Car D316 - "renesas,pwm-r8a77995": for R-Car D3
16- reg: base address and length of the registers block for the PWM.17- reg: base address and length of the registers block for the PWM.
17- #pwm-cells: should be 2. See pwm.txt in this directory for a description of18- #pwm-cells: should be 2. See pwm.txt in this directory for a description of
Documentation/devicetree/bindings/regulator/cpcap-regulator.txt+1−0
@@ -5,6 +5,7 @@ Requires node properties: · 4 unmodified lines
5- "compatible" value one of:5- "compatible" value one of:
6 "motorola,cpcap-regulator"6 "motorola,cpcap-regulator"
7 "motorola,mapphone-cpcap-regulator"7 "motorola,mapphone-cpcap-regulator"
8 "motorola,xoom-cpcap-regulator"
8 9
9Required regulator properties:10Required regulator properties:
10- "regulator-name"11- "regulator-name"
Documentation/devicetree/bindings/regulator/max8997-regulator.txt+0−2
@@ -32,8 +32,6 @@ Required properties: · 31 unmodified lines
32 'max8997,pmic-buck[1/2/5]-dvs-voltage' should be specified.32 'max8997,pmic-buck[1/2/5]-dvs-voltage' should be specified.
33 33
34Optional properties:34Optional properties:
35- interrupt-parent: Specifies the phandle of the interrupt controller to which
36 the interrupts from max8997 are delivered to.
37- interrupts: Interrupt specifiers for two interrupt sources.35- interrupts: Interrupt specifiers for two interrupt sources.
38 - First interrupt specifier is for 'irq1' interrupt.36 - First interrupt specifier is for 'irq1' interrupt.
39 - Second interrupt specifier is for 'alert' interrupt.37 - Second interrupt specifier is for 'alert' interrupt.
Documentation/devicetree/bindings/regulator/palmas-pmic.txt+0−1
@@ -18,7 +18,6 @@ Required properties: · 17 unmodified lines
18 ti,tps659038-pmic18 ti,tps659038-pmic
19and also the generic series names19and also the generic series names
20 ti,palmas-pmic20 ti,palmas-pmic
21- interrupt-parent : The parent interrupt controller which is palmas.
22- interrupts : The interrupt number and the type which can be looked up here:21- interrupts : The interrupt number and the type which can be looked up here:
23 arch/arm/boot/dts/include/dt-bindings/interrupt-controller/irq.h22 arch/arm/boot/dts/include/dt-bindings/interrupt-controller/irq.h
24- interrupts-name: The names of the individual interrupts.23- interrupts-name: The names of the individual interrupts.
Documentation/devicetree/bindings/regulator/pfuze100.txt+85−1
@@ -1,9 +1,18 @@
1PFUZE100 family of regulators1PFUZE100 family of regulators
2 2
3Required properties:3Required properties:
4- compatible: "fsl,pfuze100", "fsl,pfuze200", "fsl,pfuze3000"4- compatible: "fsl,pfuze100", "fsl,pfuze200", "fsl,pfuze3000", "fsl,pfuze3001"
5- reg: I2C slave address5- reg: I2C slave address
6 6
7Optional properties:
8- fsl,pfuze-support-disable-sw: Boolean, if present disable all unused switch
9 regulators to save power consumption. Attention, ensure that all important
10 regulators (e.g. DDR ref, DDR supply) has set the "regulator-always-on"
11 property. If not present, the switched regualtors are always on and can't be
12 disabled. This binding is a workaround to keep backward compatibility with
13 old dtb's which rely on the fact that the switched regulators are always on
14 and don't mark them explicit as "regulator-always-on".
15
7Required child node:16Required child node:
8- regulators: This is the list of child nodes that specify the regulator17- regulators: This is the list of child nodes that specify the regulator
9 initialization data for defined regulators. Please refer to below doc18 initialization data for defined regulators. Please refer to below doc
@@ -16,6 +25,8 @@ Required child node: · 6 unmodified lines
16 sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen6,coin25 sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen6,coin
17 --PFUZE300026 --PFUZE3000
18 sw1a,sw1b,sw2,sw3,swbst,vsnvs,vrefddr,vldo1,vldo2,vccsd,v33,vldo3,vldo427 sw1a,sw1b,sw2,sw3,swbst,vsnvs,vrefddr,vldo1,vldo2,vccsd,v33,vldo3,vldo4
28 --PFUZE3001
29 sw1,sw2,sw3,vsnvs,vldo1,vldo2,vccsd,v33,vldo3,vldo4
19 30
20Each regulator is defined using the standard binding for regulators.31Each regulator is defined using the standard binding for regulators.
21 32
@@ -303,3 +314,76 @@ Example 3: PFUZE3000 · 281 unmodified lines
303 };314 };
304 };315 };
305 };316 };
317
318Example 4: PFUZE 3001
319
320 pfuze3001: pmic@8 {
321 compatible = "fsl,pfuze3001";
322 reg = <0x08>;
323
324 regulators {
325 sw1_reg: sw1 {
326 regulator-min-microvolt = <700000>;
327 regulator-max-microvolt = <3300000>;
328 regulator-boot-on;
329 regulator-always-on;
330 };
331
332 sw2_reg: sw2 {
333 regulator-min-microvolt = <1500000>;
334 regulator-max-microvolt = <3300000>;
335 regulator-boot-on;
336 regulator-always-on;
337 };
338
339 sw3_reg: sw3 {
340 regulator-min-microvolt = <900000>;
341 regulator-max-microvolt = <1650000>;
342 regulator-boot-on;
343 regulator-always-on;
344 };
345
346 snvs_reg: vsnvs {
347 regulator-min-microvolt = <1000000>;
348 regulator-max-microvolt = <3000000>;
349 regulator-boot-on;
350 regulator-always-on;
351 };
352
353 vgen1_reg: vldo1 {
354 regulator-min-microvolt = <1800000>;
355 regulator-max-microvolt = <3300000>;
356 regulator-always-on;
357 };
358
359 vgen2_reg: vldo2 {
360 regulator-min-microvolt = <800000>;
361 regulator-max-microvolt = <1550000>;
362 regulator-always-on;
363 };
364
365 vgen3_reg: vccsd {
366 regulator-min-microvolt = <2850000>;
367 regulator-max-microvolt = <3300000>;
368 regulator-always-on;
369 };
370
371 vgen4_reg: v33 {
372 regulator-min-microvolt = <2850000>;
373 regulator-max-microvolt = <3300000>;
374 regulator-always-on;
375 };
376
377 vgen5_reg: vldo3 {
378 regulator-min-microvolt = <1800000>;
379 regulator-max-microvolt = <3300000>;
380 regulator-always-on;
381 };
382
383 vgen6_reg: vldo4 {
384 regulator-min-microvolt = <1800000>;
385 regulator-max-microvolt = <3300000>;
386 regulator-always-on;
387 };
388 };
389 };
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt+160−0
@@ -0,0 +1,160 @@
1Qualcomm Technologies, Inc. RPMh Regulators
2
3rpmh-regulator devices support PMIC regulator management via the Voltage
4Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators. The APPS
5processor communicates with these hardware blocks via a Resource State
6Coordinator (RSC) using command packets. The VRM allows changing three
7parameters for a given regulator: enable state, output voltage, and operating
8mode. The XOB allows changing only a single parameter for a given regulator:
9its enable state. Despite its name, the XOB is capable of controlling the
10enable state of any PMIC peripheral. It is used for clock buffers, low-voltage
11switches, and LDO/SMPS regulators which have a fixed voltage and mode.
12
13=======================
14Required Node Structure
15=======================
16
17RPMh regulators must be described in two levels of device nodes. The first
18level describes the PMIC containing the regulators and must reside within an
19RPMh device node. The second level describes each regulator within the PMIC
20which is to be used on the board. Each of these regulators maps to a single
21RPMh resource.
22
23The names used for regulator nodes must match those supported by a given PMIC.
24Supported regulator node names:
25 PM8998: smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
26 PMI8998: bob
27 PM8005: smps1 - smps4
28
29========================
30First Level Nodes - PMIC
31========================
32
33- compatible
34 Usage: required
35 Value type: <string>
36 Definition: Must be one of: "qcom,pm8998-rpmh-regulators",
37 "qcom,pmi8998-rpmh-regulators" or
38 "qcom,pm8005-rpmh-regulators".
39
40- qcom,pmic-id
41 Usage: required
42 Value type: <string>
43 Definition: RPMh resource name suffix used for the regulators found on
44 this PMIC. Typical values: "a", "b", "c", "d", "e", "f".
45
46- vdd-s1-supply
47- vdd-s2-supply
48- vdd-s3-supply
49- vdd-s4-supply
50 Usage: optional (PM8998 and PM8005 only)
51 Value type: <phandle>
52 Definition: phandle of the parent supply regulator of one or more of the
53 regulators for this PMIC.
54
55- vdd-s5-supply
56- vdd-s6-supply
57- vdd-s7-supply
58- vdd-s8-supply
59- vdd-s9-supply
60- vdd-s10-supply
61- vdd-s11-supply
62- vdd-s12-supply
63- vdd-s13-supply
64- vdd-l1-l27-supply
65- vdd-l2-l8-l17-supply
66- vdd-l3-l11-supply
67- vdd-l4-l5-supply
68- vdd-l6-supply
69- vdd-l7-l12-l14-l15-supply
70- vdd-l9-supply
71- vdd-l10-l23-l25-supply
72- vdd-l13-l19-l21-supply
73- vdd-l16-l28-supply
74- vdd-l18-l22-supply
75- vdd-l20-l24-supply
76- vdd-l26-supply
77- vin-lvs-1-2-supply
78 Usage: optional (PM8998 only)
79 Value type: <phandle>
80 Definition: phandle of the parent supply regulator of one or more of the
81 regulators for this PMIC.
82
83- vdd-bob-supply
84 Usage: optional (PMI8998 only)
85 Value type: <phandle>
86 Definition: BOB regulator parent supply phandle
87
88===============================
89Second Level Nodes - Regulators
90===============================
91
92- qcom,always-wait-for-ack
93 Usage: optional
94 Value type: <empty>
95 Definition: Boolean flag which indicates that the application processor
96 must wait for an ACK or a NACK from RPMh for every request
97 sent for this regulator including those which are for a
98 strictly lower power state.
99
100Other properties defined in Documentation/devicetree/bindings/regulator.txt
101may also be used. regulator-initial-mode and regulator-allowed-modes may be
102specified for VRM regulators using mode values from
103include/dt-bindings/regulator/qcom,rpmh-regulator.h. regulator-allow-bypass
104may be specified for BOB type regulators managed via VRM.
105regulator-allow-set-load may be specified for LDO type regulators managed via
106VRM.
107
108========
109Examples
110========
111
112#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
113
114&apps_rsc {
115 pm8998-rpmh-regulators {
116 compatible = "qcom,pm8998-rpmh-regulators";
117 qcom,pmic-id = "a";
118
119 vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;
120
121 smps2 {
122 regulator-min-microvolt = <1100000>;
123 regulator-max-microvolt = <1100000>;
124 };
125
126 pm8998_s5: smps5 {
127 regulator-min-microvolt = <1904000>;
128 regulator-max-microvolt = <2040000>;
129 };
130
131 ldo7 {
132 regulator-min-microvolt = <1800000>;
133 regulator-max-microvolt = <1800000>;
134 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
135 regulator-allowed-modes =
136 <RPMH_REGULATOR_MODE_LPM
137 RPMH_REGULATOR_MODE_HPM>;
138 regulator-allow-set-load;
139 };
140
141 lvs1 {
142 regulator-min-microvolt = <1800000>;
143 regulator-max-microvolt = <1800000>;
144 };
145 };
146
147 pmi8998-rpmh-regulators {
148 compatible = "qcom,pmi8998-rpmh-regulators";
149 qcom,pmic-id = "b";
150
151 bob {
152 regulator-min-microvolt = <3312000>;
153 regulator-max-microvolt = <3600000>;
154 regulator-allowed-modes =
155 <RPMH_REGULATOR_MODE_AUTO
156 RPMH_REGULATOR_MODE_HPM>;
157 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
158 };
159 };
160};
Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.txt+0−8
@@ -1,13 +1,5 @@
1ROHM BD71837 Power Management Integrated Circuit (PMIC) regulator bindings1ROHM BD71837 Power Management Integrated Circuit (PMIC) regulator bindings
2 2
3BD71837MWV is a programmable Power Management
4IC (PMIC) for powering single-core, dual-core, and
5quad-core SoC’s such as NXP-i.MX 8M. It is optimized
6for low BOM cost and compact solution footprint. It
7integrates 8 Buck regulators and 7 LDO’s to provide all
8the power rails required by the SoC and the commonly
9used peripherals.
10
11Required properties:3Required properties:
12 - regulator-name: should be "buck1", ..., "buck8" and "ldo1", ..., "ldo7"4 - regulator-name: should be "buck1", ..., "buck8" and "ldo1", ..., "ldo7"
13 5
Documentation/devicetree/bindings/regulator/tps65090.txt+1−1
@@ -16,7 +16,7 @@ Required properties: · 15 unmodified lines
16Optional properties:16Optional properties:
17- ti,enable-ext-control: This is applicable for DCDC1, DCDC2 and DCDC3.17- ti,enable-ext-control: This is applicable for DCDC1, DCDC2 and DCDC3.
18 If DCDCs are externally controlled then this property should be there.18 If DCDCs are externally controlled then this property should be there.
19- "dcdc-ext-control-gpios: This is applicable for DCDC1, DCDC2 and DCDC3.19- dcdc-ext-control-gpios: This is applicable for DCDC1, DCDC2 and DCDC3.
20 If DCDCs are externally controlled and if it is from GPIO then GPIO20 If DCDCs are externally controlled and if it is from GPIO then GPIO
21 number should be provided. If it is externally controlled and no GPIO21 number should be provided. If it is externally controlled and no GPIO
22 entry then driver will just configure this rails as external control22 entry then driver will just configure this rails as external control
Documentation/devicetree/bindings/regulator/uniphier-regulator.txt+57−0
@@ -0,0 +1,57 @@
1Socionext UniPhier Regulator Controller
2
3This describes the devicetree bindings for regulator controller implemented
4on Socionext UniPhier SoCs.
5
6USB3 Controller
7---------------
8
9This regulator controls VBUS and belongs to USB3 glue layer. Before using
10the regulator, it is necessary to control the clocks and resets to enable
11this layer. These clocks and resets should be described in each property.
12
13Required properties:
14- compatible: Should be
15 "socionext,uniphier-pro4-usb3-regulator" - for Pro4 SoC
16 "socionext,uniphier-pxs2-usb3-regulator" - for PXs2 SoC
17 "socionext,uniphier-ld20-usb3-regulator" - for LD20 SoC
18 "socionext,uniphier-pxs3-usb3-regulator" - for PXs3 SoC
19- reg: Specifies offset and length of the register set for the device.
20- clocks: A list of phandles to the clock gate for USB3 glue layer.
21 According to the clock-names, appropriate clocks are required.
22- clock-names: Should contain
23 "gio", "link" - for Pro4 SoC
24 "link" - for others
25- resets: A list of phandles to the reset control for USB3 glue layer.
26 According to the reset-names, appropriate resets are required.
27- reset-names: Should contain
28 "gio", "link" - for Pro4 SoC
29 "link" - for others
30
31See Documentation/devicetree/bindings/regulator/regulator.txt
32for more details about the regulator properties.
33
34Example:
35
36 usb-glue@65b00000 {
37 compatible = "socionext,uniphier-ld20-dwc3-glue",
38 "simple-mfd";
39 #address-cells = <1>;
40 #size-cells = <1>;
41 ranges = <0 0x65b00000 0x400>;
42
43 usb_vbus0: regulators@100 {
44 compatible = "socionext,uniphier-ld20-usb3-regulator";
45 reg = <0x100 0x10>;
46 clock-names = "link";
47 clocks = <&sys_clk 14>;
48 reset-names = "link";
49 resets = <&sys_rst 14>;
50 };
51
52 phy {
53 ...
54 phy-supply = <&usb_vbus0>;
55 };
56 ...
57 };
Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt+6−1
@@ -8,6 +8,7 @@ on the Qualcomm Hexagon core. · 7 unmodified lines
8 Value type: <string>8 Value type: <string>
9 Definition: must be one of:9 Definition: must be one of:
10 "qcom,q6v5-pil",10 "qcom,q6v5-pil",
11 "qcom,ipq8074-wcss-pil"
11 "qcom,msm8916-mss-pil",12 "qcom,msm8916-mss-pil",
12 "qcom,msm8974-mss-pil"13 "qcom,msm8974-mss-pil"
13 "qcom,msm8996-mss-pil"14 "qcom,msm8996-mss-pil"
@@ -50,11 +51,15 @@ on the Qualcomm Hexagon core. · 36 unmodified lines
50 Usage: required51 Usage: required
51 Value type: <phandle>52 Value type: <phandle>
52 Definition: reference to the reset-controller for the modem sub-system53 Definition: reference to the reset-controller for the modem sub-system
54 reference to the list of 3 reset-controllers for the
55 wcss sub-system
53 56
54- reset-names:57- reset-names:
55 Usage: required58 Usage: required
56 Value type: <stringlist>59 Value type: <stringlist>
57 Definition: must be "mss_restart"60 Definition: must be "mss_restart" for the modem sub-system
61 Definition: must be "wcss_aon_reset", "wcss_reset", "wcss_q6_reset"
62 for the wcss syb-system
58 63
59- cx-supply:64- cx-supply:
60- mss-supply:65- mss-supply:
Documentation/devicetree/bindings/remoteproc/ti,davinci-rproc.txt+0−6
@@ -45,12 +45,6 @@ The following are the mandatory properties: · 44 unmodified lines
45 per the bindings in45 per the bindings in
46 Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt46 Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
47 47
48Optional properties:
49--------------------
50- interrupt-parent: phandle to the interrupt controller node. This property
51 is needed if the device node hierarchy doesn't have an
52 interrupt controller.
53
54 48
55Example:49Example:
56--------50--------
Documentation/devicetree/bindings/remoteproc/ti,keystone-rproc.txt+0−6
@@ -51,12 +51,6 @@ The following are the mandatory properties: · 50 unmodified lines
51 Documentation/devicetree/bindings/reset/ti,sci-reset.txt51 Documentation/devicetree/bindings/reset/ti,sci-reset.txt
52 for 66AK2G SoCs52 for 66AK2G SoCs
53 53
54- interrupt-parent: Should contain a phandle to the Keystone 2 IRQ controller
55 IP node that is used by the ARM CorePac processor to
56 receive interrupts from the DSP remote processors. See
57 Documentation/devicetree/bindings/interrupt-controller/ti,keystone-irq.txt
58 for details.
59
60- interrupts: Should contain an entry for each value in 'interrupt-names'.54- interrupts: Should contain an entry for each value in 'interrupt-names'.
61 Each entry should have the interrupt source number used by55 Each entry should have the interrupt source number used by
62 the remote processor to the host processor. The values should56 the remote processor to the host processor. The values should
Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt+1−1
@@ -49,7 +49,7 @@ compatible (optional) - standard definition · 48 unmodified lines
49 - may contain the following strings:49 - may contain the following strings:
50 - shared-dma-pool: This indicates a region of memory meant to be50 - shared-dma-pool: This indicates a region of memory meant to be
51 used as a shared pool of DMA buffers for a set of devices. It can51 used as a shared pool of DMA buffers for a set of devices. It can
52 be used by an operating system to instanciate the necessary pool52 be used by an operating system to instantiate the necessary pool
53 management subsystem if necessary.53 management subsystem if necessary.
54 - vendor specific string in the form <vendor>,[<device>-]<usage>54 - vendor specific string in the form <vendor>,[<device>-]<usage>
55no-map (optional) - empty property55no-map (optional) - empty property
Documentation/devicetree/bindings/reset/amlogic,meson-axg-audio-arb.txt+21−0
@@ -0,0 +1,21 @@
1* Amlogic audio memory arbiter controller
2
3The Amlogic Audio ARB is a simple device which enables or
4disables the access of Audio FIFOs to DDR on AXG based SoC.
5
6Required properties:
7- compatible: 'amlogic,meson-axg-audio-arb'
8- reg: physical base address of the controller and length of memory
9 mapped region.
10- clocks: phandle to the fifo peripheral clock provided by the audio
11 clock controller.
12- #reset-cells: must be 1.
13
14Example on the A113 SoC:
15
16arb: reset-controller@280 {
17 compatible = "amlogic,meson-axg-audio-arb";
18 reg = <0x0 0x280 0x0 0x4>;
19 #reset-cells = <1>;
20 clocks = <&clkc_audio AUD_CLKID_DDR_ARB>;
21};
Documentation/devicetree/bindings/reset/qcom,aoss-reset.txt+52−0
@@ -0,0 +1,52 @@
1Qualcomm AOSS Reset Controller
2======================================
3
4This binding describes a reset-controller found on AOSS-CC (always on subsystem)
5for Qualcomm SDM845 SoCs.
6
7Required properties:
8- compatible:
9 Usage: required
10 Value type: <string>
11 Definition: must be:
12 "qcom,sdm845-aoss-cc"
13
14- reg:
15 Usage: required
16 Value type: <prop-encoded-array>
17 Definition: must specify the base address and size of the register
18 space.
19
20- #reset-cells:
21 Usage: required
22 Value type: <uint>
23 Definition: must be 1; cell entry represents the reset index.
24
25Example:
26
27aoss_reset: reset-controller@c2a0000 {
28 compatible = "qcom,sdm845-aoss-cc";
29 reg = <0xc2a0000 0x31000>;
30 #reset-cells = <1>;
31};
32
33Specifying reset lines connected to IP modules
34==============================================
35
36Device nodes that need access to reset lines should
37specify them as a reset phandle in their corresponding node as
38specified in reset.txt.
39
40For list of all valid reset indicies see
41<dt-bindings/reset/qcom,sdm845-aoss.h>
42
43Example:
44
45modem-pil@4080000 {
46 ...
47
48 resets = <&aoss_reset AOSS_CC_MSS_RESTART>;
49 reset-names = "mss_restart";
50
51 ...
52};
Documentation/devicetree/bindings/reset/st,sti-softreset.txt+1−1
@@ -15,7 +15,7 @@ Please refer to reset.txt in this directory for common reset · 14 unmodified lines
15controller binding usage.15controller binding usage.
16 16
17Required properties:17Required properties:
18- compatible: Should be st,stih407-softreset";18- compatible: Should be "st,stih407-softreset";
19- #reset-cells: 1, see below19- #reset-cells: 1, see below
20 20
21example:21example:
Documentation/devicetree/bindings/reset/uniphier-reset.txt+56−0
@@ -118,3 +118,59 @@ Example: · 117 unmodified lines
118 118
119 other nodes ...119 other nodes ...
120 };120 };
121
122
123USB3 core reset
124---------------
125
126USB3 core reset belongs to USB3 glue layer. Before using the core reset,
127it is necessary to control the clocks and resets to enable this layer.
128These clocks and resets should be described in each property.
129
130Required properties:
131- compatible: Should be
132 "socionext,uniphier-pro4-usb3-reset" - for Pro4 SoC
133 "socionext,uniphier-pxs2-usb3-reset" - for PXs2 SoC
134 "socionext,uniphier-ld20-usb3-reset" - for LD20 SoC
135 "socionext,uniphier-pxs3-usb3-reset" - for PXs3 SoC
136- #reset-cells: Should be 1.
137- reg: Specifies offset and length of the register set for the device.
138- clocks: A list of phandles to the clock gate for USB3 glue layer.
139 According to the clock-names, appropriate clocks are required.
140- clock-names: Should contain
141 "gio", "link" - for Pro4 SoC
142 "link" - for others
143- resets: A list of phandles to the reset control for USB3 glue layer.
144 According to the reset-names, appropriate resets are required.
145- reset-names: Should contain
146 "gio", "link" - for Pro4 SoC
147 "link" - for others
148
149Example:
150
151 usb-glue@65b00000 {
152 compatible = "socionext,uniphier-ld20-dwc3-glue",
153 "simple-mfd";
154 #address-cells = <1>;
155 #size-cells = <1>;
156 ranges = <0 0x65b00000 0x400>;
157
158 usb_rst: reset@0 {
159 compatible = "socionext,uniphier-ld20-usb3-reset";
160 reg = <0x0 0x4>;
161 #reset-cells = <1>;
162 clock-names = "link";
163 clocks = <&sys_clk 14>;
164 reset-names = "link";
165 resets = <&sys_rst 14>;
166 };
167
168 regulator {
169 ...
170 };
171
172 phy {
173 ...
174 };
175 ...
176 };
Documentation/devicetree/bindings/rtc/brcm,brcmstb-waketimer.txt+0−2
@@ -7,8 +7,6 @@ Required properties: · 6 unmodified lines
7- compatible : should contain "brcm,brcmstb-waketimer"7- compatible : should contain "brcm,brcmstb-waketimer"
8- reg : the register start and length for the WKTMR block8- reg : the register start and length for the WKTMR block
9- interrupts : The TIMER interrupt9- interrupts : The TIMER interrupt
10- interrupt-parent: The phandle to the Always-On (AON) Power Management (PM) L2
11 interrupt controller node
12- clocks : The phandle to the UPG fixed clock (27Mhz domain)10- clocks : The phandle to the UPG fixed clock (27Mhz domain)
13 11
14Example:12Example:
Documentation/devicetree/bindings/rtc/isil,isl12057.txt+0−3
@@ -25,9 +25,6 @@ Optional properties: · 24 unmodified lines
25 - "wakeup-source": mark the chip as a wakeup source, independently of25 - "wakeup-source": mark the chip as a wakeup source, independently of
26 the availability of an IRQ line connected to the SoC.26 the availability of an IRQ line connected to the SoC.
27 27
28 - "interrupt-parent", "interrupts": for passing the interrupt line
29 of the SoC connected to IRQ#2 of the RTC chip.
30
31 28
32Example isl12057 node without IRQ#2 pin connected (no alarm support):29Example isl12057 node without IRQ#2 pin connected (no alarm support):
33 30
Documentation/devicetree/bindings/rtc/isil,isl1219.txt+29−0
@@ -0,0 +1,29 @@
1Intersil ISL1219 I2C RTC/Alarm chip with event in
2
3ISL1219 has additional pins EVIN and #EVDET for tamper detection.
4
5Required properties supported by the device:
6
7 - "compatible": must be "isil,isl1219"
8 - "reg": I2C bus address of the device
9
10Optional properties:
11
12 - "interrupt-names": list which may contains "irq" and "evdet"
13 - "interrupts": list of interrupts for "irq" and "evdet"
14 - "isil,ev-evienb": if present EV.EVIENB bit is set to the specified
15 value for proper operation.
16
17
18Example isl1219 node with #IRQ pin connected to SoC gpio1 pin12
19 and #EVDET pin connected to SoC gpio2 pin 24:
20
21 isl1219: rtc@68 {
22 compatible = "isil,isl1219";
23 reg = <0x68>;
24 interrupt-names = "irq", "evdet";
25 interrupts-extended = <&gpio1 12 IRQ_TYPE_EDGE_FALLING>,
26 <&gpio2 24 IRQ_TYPE_EDGE_FALLING>;
27 isil,ev-evienb = <1>;
28 };
29
Documentation/devicetree/bindings/rtc/rtc-cmos.txt+0−1
@@ -7,7 +7,6 @@ Required properties: · 6 unmodified lines
7 7
8Optional properties:8Optional properties:
9 - interrupts : should contain interrupt.9 - interrupts : should contain interrupt.
10 - interrupt-parent : interrupt source phandle.
11 - ctrl-reg : Contains the initial value of the control register also10 - ctrl-reg : Contains the initial value of the control register also
12 called "Register B".11 called "Register B".
13 - freq-reg : Contains the initial value of the frequency register also12 - freq-reg : Contains the initial value of the frequency register also
Documentation/devicetree/bindings/rtc/rtc-ds1307.txt+1−1
@@ -13,6 +13,7 @@ Required properties: · 12 unmodified lines
13 "maxim,ds3231",13 "maxim,ds3231",
14 "st,m41t0",14 "st,m41t0",
15 "st,m41t00",15 "st,m41t00",
16 "st,m41t11",
16 "microchip,mcp7940x",17 "microchip,mcp7940x",
17 "microchip,mcp7941x",18 "microchip,mcp7941x",
18 "pericom,pt7c4338",19 "pericom,pt7c4338",
@@ -21,7 +22,6 @@ Required properties: · 2 unmodified lines
21- reg: I2C bus address of the device22- reg: I2C bus address of the device
22 23
23Optional properties:24Optional properties:
24- interrupt-parent: phandle for the interrupt controller.
25- interrupts: rtc alarm interrupt.25- interrupts: rtc alarm interrupt.
26- clock-output-names: From common clock binding to override the default output26- clock-output-names: From common clock binding to override the default output
27 clock name27 clock name
Documentation/devicetree/bindings/rtc/rtc-m41t80.txt+0−1
@@ -16,7 +16,6 @@ Required properties: · 15 unmodified lines
16- reg: I2C bus address of the device16- reg: I2C bus address of the device
17 17
18Optional properties:18Optional properties:
19- interrupt-parent: phandle for the interrupt controller.
20- interrupts: rtc alarm interrupt.19- interrupts: rtc alarm interrupt.
21- clock-output-names: From common clock binding to override the default output20- clock-output-names: From common clock binding to override the default output
22 clock name21 clock name
Documentation/devicetree/bindings/rtc/rtc-omap.txt+0−1
@@ -11,7 +11,6 @@ Required properties: · 10 unmodified lines
11 - "ti,am4372-rtc" - for RTC IP used similar to that on AM437X SoC family.11 - "ti,am4372-rtc" - for RTC IP used similar to that on AM437X SoC family.
12- reg: Address range of rtc register set12- reg: Address range of rtc register set
13- interrupts: rtc timer, alarm interrupts in order13- interrupts: rtc timer, alarm interrupts in order
14- interrupt-parent: phandle for the interrupt controller
15 14
16Optional properties:15Optional properties:
17- system-power-controller: whether the rtc is controlling the system power16- system-power-controller: whether the rtc is controlling the system power
Documentation/devicetree/bindings/rtc/rtc-palmas.txt+0−1
@@ -3,7 +3,6 @@ Palmas RTC controller bindings · 2 unmodified lines
3Required properties:3Required properties:
4- compatible:4- compatible:
5 - "ti,palmas-rtc" for palma series of the RTC controller5 - "ti,palmas-rtc" for palma series of the RTC controller
6- interrupt-parent: Parent interrupt device, must be handle of palmas node.
7- interrupts: Interrupt number of RTC submodule on device.6- interrupts: Interrupt number of RTC submodule on device.
8 7
9Optional properties:8Optional properties:
Documentation/devicetree/bindings/rtc/spear-rtc.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible : "st,spear600-rtc"4- compatible : "st,spear600-rtc"
5- reg : Address range of the rtc registers5- reg : Address range of the rtc registers
6- interrupt-parent: Should be the phandle for the interrupt controller
7 that services interrupts for this device
8- interrupt: Should contain the rtc interrupt number6- interrupt: Should contain the rtc interrupt number
9 7
10Example:8Example:
Documentation/devicetree/bindings/rtc/sprd,sc27xx-rtc.txt+0−1
@@ -3,7 +3,6 @@ Spreadtrum SC27xx Real Time Clock · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: should be "sprd,sc2731-rtc".4- compatible: should be "sprd,sc2731-rtc".
5- reg: address offset of rtc register.5- reg: address offset of rtc register.
6- interrupt-parent: phandle for the interrupt controller.
7- interrupts: rtc alarm interrupt.6- interrupts: rtc alarm interrupt.
8 7
9Example:8Example:
Documentation/devicetree/bindings/rtc/st,stm32-rtc.txt+0−2
@@ -13,8 +13,6 @@ Required properties: · 12 unmodified lines
13 It is required on stm32(h7/mp1).13 It is required on stm32(h7/mp1).
14- clock-names: must be "rtc_ck" and "pclk".14- clock-names: must be "rtc_ck" and "pclk".
15 It is required on stm32(h7/mp1).15 It is required on stm32(h7/mp1).
16- interrupt-parent: phandle for the interrupt controller.
17 It is required on stm32(f4/f7/h7).
18- interrupts: rtc alarm interrupt. On stm32mp1, a second interrupt is required16- interrupts: rtc alarm interrupt. On stm32mp1, a second interrupt is required
19 for rtc alarm wakeup interrupt.17 for rtc alarm wakeup interrupt.
20- st,syscfg: phandle/offset/mask triplet. The phandle to pwrcfg used to18- st,syscfg: phandle/offset/mask triplet. The phandle to pwrcfg used to
Documentation/devicetree/bindings/rtc/stericsson,coh901331.txt+0−1
@@ -3,7 +3,6 @@ ST-Ericsson COH 901 331 Real Time Clock · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: must be "stericsson,coh901331"4- compatible: must be "stericsson,coh901331"
5- reg: address range of rtc register set.5- reg: address range of rtc register set.
6- interrupt-parent: phandle for the interrupt controller.
7- interrupts: rtc alarm interrupt.6- interrupts: rtc alarm interrupt.
8- clocks: phandle to the rtc clock source7- clocks: phandle to the rtc clock source
9 8
Documentation/devicetree/bindings/security/tpm/st33zp24-i2c.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6- reg: address on the bus6- reg: address on the bus
7 7
8Optional ST33ZP24 Properties:8Optional ST33ZP24 Properties:
9- interrupt-parent: phandle for the interrupt gpio controller
10- interrupts: GPIO interrupt to which the chip is connected9- interrupts: GPIO interrupt to which the chip is connected
11- lpcpd-gpios: Output GPIO pin used for ST33ZP24 power management D1/D2 state.10- lpcpd-gpios: Output GPIO pin used for ST33ZP24 power management D1/D2 state.
12If set, power must be present when the platform is going into sleep/hibernate mode.11If set, power must be present when the platform is going into sleep/hibernate mode.
Documentation/devicetree/bindings/security/tpm/st33zp24-spi.txt+0−1
@@ -5,7 +5,6 @@ Required properties: · 4 unmodified lines
5- spi-max-frequency: Maximum SPI frequency (<= 10000000).5- spi-max-frequency: Maximum SPI frequency (<= 10000000).
6 6
7Optional ST33ZP24 Properties:7Optional ST33ZP24 Properties:
8- interrupt-parent: phandle for the interrupt gpio controller
9- interrupts: GPIO interrupt to which the chip is connected8- interrupts: GPIO interrupt to which the chip is connected
10- lpcpd-gpios: Output GPIO pin used for ST33ZP24 power management D1/D2 state.9- lpcpd-gpios: Output GPIO pin used for ST33ZP24 power management D1/D2 state.
11If set, power must be present when the platform is going into sleep/hibernate mode.10If set, power must be present when the platform is going into sleep/hibernate mode.
Documentation/devicetree/bindings/security/tpm/tpm_tis_mmio.txt+1−1
@@ -13,7 +13,7 @@ Required properties: · 12 unmodified lines
13 "tcg,tpm-tis-mmio". Valid chip strings are:13 "tcg,tpm-tis-mmio". Valid chip strings are:
14 * "atmel,at97sc3204"14 * "atmel,at97sc3204"
15- reg: The location of the MMIO registers, should be at least 0x5000 bytes15- reg: The location of the MMIO registers, should be at least 0x5000 bytes
16- interrupt-parent/interrupts: An optional interrupt indicating command completion.16- interrupts: An optional interrupt indicating command completion.
17 17
18Example:18Example:
19 19
Documentation/devicetree/bindings/serial/fsl-imx-uart.txt+5−1
@@ -9,7 +9,11 @@ Optional properties: · 8 unmodified lines
9- fsl,dte-mode : Indicate the uart works in DTE mode. The uart works9- fsl,dte-mode : Indicate the uart works in DTE mode. The uart works
10 in DCE mode by default.10 in DCE mode by default.
11- rs485-rts-delay, rs485-rts-active-low, rs485-rx-during-tx,11- rs485-rts-delay, rs485-rts-active-low, rs485-rx-during-tx,
12 linux,rs485-enabled-at-boot-time: see rs485.txt12 linux,rs485-enabled-at-boot-time: see rs485.txt. Note that for RS485
13 you must enable either the "uart-has-rtscts" or the "rts-gpios"
14 properties. In case you use "uart-has-rtscts" the signal that controls
15 the transceiver is actually CTS_B, not RTS_B. CTS_B is always output,
16 and RTS_B is input, regardless of dte-mode.
13 17
14Please check Documentation/devicetree/bindings/serial/serial.txt18Please check Documentation/devicetree/bindings/serial/serial.txt
15for the complete list of generic properties.19for the complete list of generic properties.
Documentation/devicetree/bindings/serial/maxim,max310x.txt+0−2
@@ -7,8 +7,6 @@ Required properties: · 6 unmodified lines
7 - "maxim,max3109" for Maxim MAX3109,7 - "maxim,max3109" for Maxim MAX3109,
8 - "maxim,max14830" for Maxim MAX14830.8 - "maxim,max14830" for Maxim MAX14830.
9- reg: SPI chip select number.9- reg: SPI chip select number.
10- interrupt-parent: The phandle for the interrupt controller that
11 services interrupts for this IC.
12- interrupts: Specifies the interrupt source of the parent interrupt10- interrupts: Specifies the interrupt source of the parent interrupt
13 controller. The format of the interrupt specifier depends on the11 controller. The format of the interrupt specifier depends on the
14 parent interrupt controller.12 parent interrupt controller.
Documentation/devicetree/bindings/serial/mtk-uart.txt+1−0
@@ -8,6 +8,7 @@ Required properties: · 7 unmodified lines
8 * "mediatek,mt6582-uart" for MT6582 compatible UARTS8 * "mediatek,mt6582-uart" for MT6582 compatible UARTS
9 * "mediatek,mt6589-uart" for MT6589 compatible UARTS9 * "mediatek,mt6589-uart" for MT6589 compatible UARTS
10 * "mediatek,mt6755-uart" for MT6755 compatible UARTS10 * "mediatek,mt6755-uart" for MT6755 compatible UARTS
11 * "mediatek,mt6765-uart" for MT6765 compatible UARTS
11 * "mediatek,mt6795-uart" for MT6795 compatible UARTS12 * "mediatek,mt6795-uart" for MT6795 compatible UARTS
12 * "mediatek,mt6797-uart" for MT6797 compatible UARTS13 * "mediatek,mt6797-uart" for MT6797 compatible UARTS
13 * "mediatek,mt7622-uart" for MT7622 compatible UARTS14 * "mediatek,mt7622-uart" for MT7622 compatible UARTS
Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt+0−4
@@ -10,8 +10,6 @@ Required properties: · 9 unmodified lines
10 - "nxp,sc16is760" for NXP SC16IS760,10 - "nxp,sc16is760" for NXP SC16IS760,
11 - "nxp,sc16is762" for NXP SC16IS762.11 - "nxp,sc16is762" for NXP SC16IS762.
12- reg: I2C address of the SC16IS7xx device.12- reg: I2C address of the SC16IS7xx device.
13- interrupt-parent: The phandle for the interrupt controller that
14 services interrupts for this IC.
15- interrupts: Should contain the UART interrupt13- interrupts: Should contain the UART interrupt
16- clocks: Reference to the IC source clock.14- clocks: Reference to the IC source clock.
17 15
@@ -44,8 +42,6 @@ Required properties: · 26 unmodified lines
44 - "nxp,sc16is760" for NXP SC16IS760,42 - "nxp,sc16is760" for NXP SC16IS760,
45 - "nxp,sc16is762" for NXP SC16IS762.43 - "nxp,sc16is762" for NXP SC16IS762.
46- reg: SPI chip select number.44- reg: SPI chip select number.
47- interrupt-parent: The phandle for the interrupt controller that
48 services interrupts for this IC.
49- interrupts: Specifies the interrupt source of the parent interrupt45- interrupts: Specifies the interrupt source of the parent interrupt
50 controller. The format of the interrupt specifier depends on the46 controller. The format of the interrupt specifier depends on the
51 parent interrupt controller.47 parent interrupt controller.
Documentation/devicetree/bindings/serial/omap_serial.txt+1−0
@@ -1,6 +1,7 @@
1OMAP UART controller1OMAP UART controller
2 2
3Required properties:3Required properties:
4- compatible : should be "ti,am654-uart" for AM654 controllers
4- compatible : should be "ti,omap2-uart" for OMAP2 controllers5- compatible : should be "ti,omap2-uart" for OMAP2 controllers
5- compatible : should be "ti,omap3-uart" for OMAP3 controllers6- compatible : should be "ti,omap3-uart" for OMAP3 controllers
6- compatible : should be "ti,omap4-uart" for OMAP4 controllers7- compatible : should be "ti,omap4-uart" for OMAP4 controllers
Documentation/devicetree/bindings/serial/qca,ar9330-uart.txt+0−3
@@ -7,9 +7,6 @@ Required properties: · 6 unmodified lines
7- reg: Specifies the physical base address of the controller and7- reg: Specifies the physical base address of the controller and
8 the length of the memory mapped region.8 the length of the memory mapped region.
9 9
10- interrupt-parent: The phandle for the interrupt controller that
11 services interrupts for this device.
12
13- interrupts: Specifies the interrupt source of the parent interrupt10- interrupts: Specifies the interrupt source of the parent interrupt
14 controller. The format of the interrupt specifier depends on the11 controller. The format of the interrupt specifier depends on the
15 parent interrupt controller.12 parent interrupt controller.
Documentation/devicetree/bindings/serial/renesas,rzn1-uart.txt+10−0
@@ -0,0 +1,10 @@
1Renesas RZ/N1 UART
2
3This controller is based on the Synopsys DesignWare ABP UART and inherits all
4properties defined in snps-dw-apb-uart.txt except for the compatible property.
5
6Required properties:
7- compatible : The device specific string followed by the generic RZ/N1 string.
8 Therefore it must be one of:
9 "renesas,r9a06g032-uart", "renesas,rzn1-uart"
10 "renesas,r9a06g033-uart", "renesas,rzn1-uart"
Documentation/devicetree/bindings/serial/renesas,sci-serial.txt+17−2
@@ -5,6 +5,7 @@ Required properties: · 4 unmodified lines
5 - compatible: Must contain one or more of the following:5 - compatible: Must contain one or more of the following:
6 6
7 - "renesas,scif-r7s72100" for R7S72100 (RZ/A1H) SCIF compatible UART.7 - "renesas,scif-r7s72100" for R7S72100 (RZ/A1H) SCIF compatible UART.
8 - "renesas,scif-r7s9210" for R7S9210 (RZ/A2) SCIF compatible UART.
8 - "renesas,scifa-r8a73a4" for R8A73A4 (R-Mobile APE6) SCIFA compatible UART.9 - "renesas,scifa-r8a73a4" for R8A73A4 (R-Mobile APE6) SCIFA compatible UART.
9 - "renesas,scifb-r8a73a4" for R8A73A4 (R-Mobile APE6) SCIFB compatible UART.10 - "renesas,scifb-r8a73a4" for R8A73A4 (R-Mobile APE6) SCIFB compatible UART.
10 - "renesas,scifa-r8a7740" for R8A7740 (R-Mobile A1) SCIFA compatible UART.11 - "renesas,scifa-r8a7740" for R8A7740 (R-Mobile A1) SCIFA compatible UART.
@@ -72,7 +73,21 @@ Required properties: · 61 unmodified lines
72 family-specific and/or generic versions.73 family-specific and/or generic versions.
73 74
74 - reg: Base address and length of the I/O registers used by the UART.75 - reg: Base address and length of the I/O registers used by the UART.
75 - interrupts: Must contain an interrupt-specifier for the SCIx interrupt.76 - interrupts: Must contain one or more interrupt-specifiers for the SCIx.
77 If a single interrupt is expressed, then all events are
78 multiplexed into this single interrupt.
79
80 If multiple interrupts are provided by the hardware, the order
81 in which the interrupts are listed must match order below. Note
82 that some HW interrupt events may be muxed together resulting
83 in duplicate entries.
84 The interrupt order is as follows:
85 1. Error (ERI)
86 2. Receive buffer full (RXI)
87 3. Transmit buffer empty (TXI)
88 4. Break (BRI)
89 5. Data Ready (DRI)
90 6. Transmit End (TEI)
76 91
77 - clocks: Must contain a phandle and clock-specifier pair for each entry92 - clocks: Must contain a phandle and clock-specifier pair for each entry
78 in clock-names.93 in clock-names.
@@ -89,7 +104,7 @@ Required properties: · 10 unmodified lines
89 - "scif_clk" for the optional external clock source for the frequency104 - "scif_clk" for the optional external clock source for the frequency
90 divider (SCIF_CLK).105 divider (SCIF_CLK).
91 106
92Note: Each enabled SCIx UART should have an alias correctly numbered in the107Note: Each enabled SCIx UART may have an optional "serialN" alias in the
93"aliases" node.108"aliases" node.
94 109
95Optional properties:110Optional properties:
Documentation/devicetree/bindings/serial/xlnx,opb-uartlite.txt+23−0
@@ -0,0 +1,23 @@
1Xilinx Axi Uartlite controller Device Tree Bindings
2---------------------------------------------------------
3
4Required properties:
5- compatible : Can be either of
6 "xlnx,xps-uartlite-1.00.a"
7 "xlnx,opb-uartlite-1.00.b"
8- reg : Physical base address and size of the Axi Uartlite
9 registers map.
10- interrupts : Should contain the UART controller interrupt.
11
12Optional properties:
13- port-number : Set Uart port number
14- clock-names : Should be "s_axi_aclk"
15- clocks : Input clock specifier. Refer to common clock bindings.
16
17Example:
18serial@800c0000 {
19 compatible = "xlnx,xps-uartlite-1.00.a";
20 reg = <0x0 0x800c0000 0x10000>;
21 interrupts = <0x0 0x6e 0x1>;
22 port-number = <0>;
23};
Documentation/devicetree/bindings/slimbus/slim-ngd-qcom-ctrl.txt+84−0
@@ -0,0 +1,84 @@
1Qualcomm SLIMBus Non Generic Device (NGD) Controller binding
2
3SLIMBus NGD controller is a light-weight driver responsible for communicating
4with SLIMBus slaves directly over the bus using messaging interface and
5communicating with master component residing on ADSP for bandwidth and
6data-channel management
7
8Please refer to slimbus/bus.txt for details of the common SLIMBus bindings.
9
10- compatible:
11 Usage: required
12 Value type: <stringlist>
13 Definition: must be "qcom,slim-ngd-v<MAJOR>.<MINOR>.<STEP>"
14 must be one of the following.
15 "qcom,slim-ngd-v1.5.0" for MSM8996
16 "qcom,slim-ngd-v2.1.0" for SDM845
17
18- reg:
19 Usage: required
20 Value type: <prop-encoded-array>
21 Definition: must specify the base address and size of the controller
22 register space.
23- dmas
24 Usage: required
25 Value type: <array of phandles>
26 Definition: List of rx and tx dma channels
27
28- dma-names
29 Usage: required
30 Value type: <stringlist>
31 Definition: must be "rx" and "tx".
32
33- interrupts:
34 Usage: required
35 Value type: <prop-encoded-array>
36 Definition: must list controller IRQ.
37
38#address-cells
39 Usage: required
40 Value type: <u32>
41 Definition: Should be 1, reflecting the instance id of ngd.
42
43#size-cells
44 Usage: required
45 Value type: <u32>
46 Definition: Should be 0
47
48= NGD Devices
49Each subnode represents an instance of NGD, must contain the following
50properties:
51
52- reg:
53 Usage: required
54 Value type: <u32>
55 Definition: Should be instance id of ngd.
56
57#address-cells
58 Usage: required
59 Refer to slimbus/bus.txt for details of the common SLIMBus bindings.
60
61#size-cells
62 Usage: required
63 Refer to slimbus/bus.txt for details of the common SLIMBus bindings.
64
65= EXAMPLE
66
67slim@91c0000 {
68 compatible = "qcom,slim-ngd-v1.5.0";
69 reg = <0x91c0000 0x2c000>;
70 interrupts = <0 163 0>;
71 dmas = <&slimbam 3>, <&slimbam 4>;
72 dma-names = "rx", "tx";
73 #address-cells = <1>;
74 #size-cells = <0>;
75 ngd@1 {
76 reg = <1>;
77 #address-cells = <1>;
78 #size-cells = <1>;
79 codec@1 {
80 compatible = "slim217,1a0";
81 reg = <1 0>;
82 };
83 };
84};
Documentation/devicetree/bindings/soc/fsl/cpm_qe/gpio.txt+0−1
@@ -21,7 +21,6 @@ Optional properties: · 20 unmodified lines
21 one as described by the fsl,cpm1-gpio-irq-mask property. There should be as21 one as described by the fsl,cpm1-gpio-irq-mask property. There should be as
22 many interrupts as number of ones in the mask property. The first interrupt in22 many interrupts as number of ones in the mask property. The first interrupt in
23 the list corresponds to the most significant bit of the mask.23 the list corresponds to the most significant bit of the mask.
24- interrupt-parent : Parent for the above interrupt property.
25 24
26Example of four SOC GPIO banks defined as gpio-controller nodes:25Example of four SOC GPIO banks defined as gpio-controller nodes:
27 26
Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/ucc.txt+0−2
@@ -11,8 +11,6 @@ Required properties: · 10 unmodified lines
11 information for the interrupt. This should be encoded based on11 information for the interrupt. This should be encoded based on
12 the information in section 2) depending on the type of interrupt12 the information in section 2) depending on the type of interrupt
13 controller you have.13 controller you have.
14- interrupt-parent : the phandle for the interrupt controller that
15 services interrupts for this device.
16- pio-handle : The phandle for the Parallel I/O port configuration.14- pio-handle : The phandle for the Parallel I/O port configuration.
17- port-number : for UART drivers, the port number to use, between 0 and 3.15- port-number : for UART drivers, the port number to use, between 0 and 3.
18 This usually corresponds to the /dev/ttyQE device, e.g. <0> = /dev/ttyQE0.16 This usually corresponds to the /dev/ttyQE device, e.g. <0> = /dev/ttyQE0.
Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/usb.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6 length, the next two two cells should contain PRAM location and6 length, the next two two cells should contain PRAM location and
7 length.7 length.
8- interrupts : should contain USB interrupt.8- interrupts : should contain USB interrupt.
9- interrupt-parent : interrupt source phandle.
10- fsl,fullspeed-clock : specifies the full speed USB clock source:9- fsl,fullspeed-clock : specifies the full speed USB clock source:
11 "none": clock source is disabled10 "none": clock source is disabled
12 "brg1" through "brg16": clock source is BRG1-BRG16, respectively11 "brg1" through "brg16": clock source is BRG1-BRG16, respectively
Documentation/devicetree/bindings/soc/mediatek/pwrap.txt+1−0
@@ -19,6 +19,7 @@ IP Pairing · 18 unmodified lines
19Required properties in pwrap device node.19Required properties in pwrap device node.
20- compatible:20- compatible:
21 "mediatek,mt2701-pwrap" for MT2701/7623 SoCs21 "mediatek,mt2701-pwrap" for MT2701/7623 SoCs
22 "mediatek,mt6797-pwrap" for MT6797 SoCs
22 "mediatek,mt7622-pwrap" for MT7622 SoCs23 "mediatek,mt7622-pwrap" for MT7622 SoCs
23 "mediatek,mt8135-pwrap" for MT8135 SoCs24 "mediatek,mt8135-pwrap" for MT8135 SoCs
24 "mediatek,mt8173-pwrap" for MT8173 SoCs25 "mediatek,mt8173-pwrap" for MT8173 SoCs
Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.txt+2−2
@@ -39,14 +39,14 @@ Required properties: · 38 unmodified lines
39 39
40Optional property:40Optional property:
41- clock-frequency: Desired I2C bus clock frequency in Hz.41- clock-frequency: Desired I2C bus clock frequency in Hz.
42 When missing default to 400000Hz.42 When missing default to 100000Hz.
43 43
44Child nodes should conform to I2C bus binding as described in i2c.txt.44Child nodes should conform to I2C bus binding as described in i2c.txt.
45 45
46Qualcomm Technologies Inc. GENI Serial Engine based UART Controller46Qualcomm Technologies Inc. GENI Serial Engine based UART Controller
47 47
48Required properties:48Required properties:
49- compatible: Must be "qcom,geni-debug-uart".49- compatible: Must be "qcom,geni-debug-uart" or "qcom,geni-uart".
50- reg: Must contain UART register location and length.50- reg: Must contain UART register location and length.
51- interrupts: Must contain UART core interrupts.51- interrupts: Must contain UART core interrupts.
52- clock-names: Must contain "se".52- clock-names: Must contain "se".
Documentation/devicetree/bindings/soc/qcom/qcom,glink.txt+5−0
@@ -10,6 +10,11 @@ edge. · 9 unmodified lines
10 Value type: <stringlist>10 Value type: <stringlist>
11 Definition: must be "qcom,glink-rpm"11 Definition: must be "qcom,glink-rpm"
12 12
13- label:
14 Usage: optional
15 Value type: <string>
16 Definition: should specify the subsystem name this edge corresponds to.
17
13- interrupts:18- interrupts:
14 Usage: required19 Usage: required
15 Value type: <prop-encoded-array>20 Value type: <prop-encoded-array>
Documentation/devicetree/bindings/soc/qcom/rpmh-rsc.txt+137−0
@@ -0,0 +1,137 @@
1RPMH RSC:
2------------
3
4Resource Power Manager Hardened (RPMH) is the mechanism for communicating with
5the hardened resource accelerators on Qualcomm SoCs. Requests to the resources
6can be written to the Trigger Command Set (TCS) registers and using a (addr,
7val) pair and triggered. Messages in the TCS are then sent in sequence over an
8internal bus.
9
10The hardware block (Direct Resource Voter or DRV) is a part of the h/w entity
11(Resource State Coordinator a.k.a RSC) that can handle multiple sleep and
12active/wake resource requests. Multiple such DRVs can exist in a SoC and can
13be written to from Linux. The structure of each DRV follows the same template
14with a few variations that are captured by the properties here.
15
16A TCS may be triggered from Linux or triggered by the F/W after all the CPUs
17have powered off to facilitate idle power saving. TCS could be classified as -
18
19 ACTIVE /* Triggered by Linux */
20 SLEEP /* Triggered by F/W */
21 WAKE /* Triggered by F/W */
22 CONTROL /* Triggered by F/W */
23
24The order in which they are described in the DT, should match the hardware
25configuration.
26
27Requests can be made for the state of a resource, when the subsystem is active
28or idle. When all subsystems like Modem, GPU, CPU are idle, the resource state
29will be an aggregate of the sleep votes from each of those subsystems. Clients
30may request a sleep value for their shared resources in addition to the active
31mode requests.
32
33Properties:
34
35- compatible:
36 Usage: required
37 Value type: <string>
38 Definition: Should be "qcom,rpmh-rsc".
39
40- reg:
41 Usage: required
42 Value type: <prop-encoded-array>
43 Definition: The first register specifies the base address of the
44 DRV(s). The number of DRVs in the dependent on the RSC.
45 The tcs-offset specifies the start address of the
46 TCS in the DRVs.
47
48- reg-names:
49 Usage: required
50 Value type: <string>
51 Definition: Maps the register specified in the reg property. Must be
52 "drv-0", "drv-1", "drv-2" etc and "tcs-offset". The
53
54- interrupts:
55 Usage: required
56 Value type: <prop-encoded-interrupt>
57 Definition: The interrupt that trips when a message complete/response
58 is received for this DRV from the accelerators.
59
60- qcom,drv-id:
61 Usage: required
62 Value type: <u32>
63 Definition: The id of the DRV in the RSC block that will be used by
64 this controller.
65
66- qcom,tcs-config:
67 Usage: required
68 Value type: <prop-encoded-array>
69 Definition: The tuple defining the configuration of TCS.
70 Must have 2 cells which describe each TCS type.
71 <type number_of_tcs>.
72 The order of the TCS must match the hardware
73 configuration.
74 - Cell #1 (TCS Type): TCS types to be specified -
75 ACTIVE_TCS
76 SLEEP_TCS
77 WAKE_TCS
78 CONTROL_TCS
79 - Cell #2 (Number of TCS): <u32>
80
81- label:
82 Usage: optional
83 Value type: <string>
84 Definition: Name for the RSC. The name would be used in trace logs.
85
86Drivers that want to use the RSC to communicate with RPMH must specify their
87bindings as child nodes of the RSC controllers they wish to communicate with.
88
89Example 1:
90
91For a TCS whose RSC base address is is 0x179C0000 and is at a DRV id of 2, the
92register offsets for DRV2 start at 0D00, the register calculations are like
93this -
94DRV0: 0x179C0000
95DRV2: 0x179C0000 + 0x10000 = 0x179D0000
96DRV2: 0x179C0000 + 0x10000 * 2 = 0x179E0000
97TCS-OFFSET: 0xD00
98
99 apps_rsc: rsc@179c0000 {
100 label = "apps_rsc";
101 compatible = "qcom,rpmh-rsc";
102 reg = <0x179c0000 0x10000>,
103 <0x179d0000 0x10000>,
104 <0x179e0000 0x10000>;
105 reg-names = "drv-0", "drv-1", "drv-2";
106 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
107 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
108 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
109 qcom,tcs-offset = <0xd00>;
110 qcom,drv-id = <2>;
111 qcom,tcs-config = <ACTIVE_TCS 2>,
112 <SLEEP_TCS 3>,
113 <WAKE_TCS 3>,
114 <CONTROL_TCS 1>;
115 };
116
117Example 2:
118
119For a TCS whose RSC base address is 0xAF20000 and is at DRV id of 0, the
120register offsets for DRV0 start at 01C00, the register calculations are like
121this -
122DRV0: 0xAF20000
123TCS-OFFSET: 0x1C00
124
125 disp_rsc: rsc@af20000 {
126 label = "disp_rsc";
127 compatible = "qcom,rpmh-rsc";
128 reg = <0xaf20000 0x10000>;
129 reg-names = "drv-0";
130 interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
131 qcom,tcs-offset = <0x1c00>;
132 qcom,drv-id = <0>;
133 qcom,tcs-config = <ACTIVE_TCS 0>,
134 <SLEEP_TCS 1>,
135 <WAKE_TCS 1>,
136 <CONTROL_TCS 0>;
137 };
Documentation/devicetree/bindings/sound/ac97-bus.txt+32−0
@@ -0,0 +1,32 @@
1Generic AC97 Device Properties
2
3This documents describes the devicetree bindings for an ac97 controller child
4node describing ac97 codecs.
5
6Required properties:
7-compatible : Must be "ac97,vendor_id1,vendor_id2
8 The ids shall be the 4 characters hexadecimal encoding, such as
9 given by "%04x" formatting of printf
10-reg : Must be the ac97 codec number, between 0 and 3
11
12Example:
13ac97: sound@40500000 {
14 compatible = "marvell,pxa270-ac97";
15 reg = < 0x40500000 0x1000 >;
16 interrupts = <14>;
17 reset-gpios = <&gpio 95 GPIO_ACTIVE_HIGH>;
18 #sound-dai-cells = <1>;
19 pinctrl-names = "default";
20 pinctrl-0 = < &pinctrl_ac97_default >;
21 clocks = <&clks CLK_AC97>, <&clks CLK_AC97CONF>;
22 clock-names = "AC97CLK", "AC97CONFCLK";
23
24 #address-cells = <1>;
25 #size-cells = <0>;
26 audio-codec@0 {
27 reg = <0>;
28 compatible = "ac97,574d,4c13";
29 clocks = <&fixed_wm9713_clock>;
30 clock-names = "ac97_clk";
31 }
32};
Documentation/devicetree/bindings/sound/amlogic,axg-fifo.txt+23−0
@@ -0,0 +1,23 @@
1* Amlogic Audio FIFO controllers
2
3Required properties:
4- compatible: 'amlogic,axg-toddr' or
5 'amlogic,axg-frddr'
6- reg: physical base address of the controller and length of memory
7 mapped region.
8- interrupts: interrupt specifier for the fifo.
9- clocks: phandle to the fifo peripheral clock provided by the audio
10 clock controller.
11- resets: phandle to memory ARB line provided by the arb reset controller.
12- #sound-dai-cells: must be 0.
13
14Example of FRDDR A on the A113 SoC:
15
16frddr_a: audio-controller@1c0 {
17 compatible = "amlogic,axg-frddr";
18 reg = <0x0 0x1c0 0x0 0x1c>;
19 #sound-dai-cells = <0>;
20 interrupts = <GIC_SPI 88 IRQ_TYPE_EDGE_RISING>;
21 clocks = <&clkc_audio AUD_CLKID_FRDDR_A>;
22 resets = <&arb AXG_ARB_FRDDR_A>;
23};
Documentation/devicetree/bindings/sound/amlogic,axg-sound-card.txt+124−0
@@ -0,0 +1,124 @@
1Amlogic AXG sound card:
2
3Required properties:
4
5- compatible: "amlogic,axg-sound-card"
6- model : User specified audio sound card name, one string
7
8Optional properties:
9
10- audio-aux-devs : List of phandles pointing to auxiliary devices
11- audio-widgets : Please refer to widgets.txt.
12- audio-routing : A list of the connections between audio components.
13
14Subnodes:
15
16- dai-link: Container for dai-link level properties and the CODEC
17 sub-nodes. There should be at least one (and probably more)
18 subnode of this type.
19
20Required dai-link properties:
21
22- sound-dai: phandle and port of the CPU DAI.
23
24Required TDM Backend dai-link properties:
25- dai-format : CPU/CODEC common audio format
26
27Optional TDM Backend dai-link properties:
28- dai-tdm-slot-rx-mask-{0,1,2,3}: Receive direction slot masks
29- dai-tdm-slot-tx-mask-{0,1,2,3}: Transmit direction slot masks
30 When omitted, mask is assumed to have to no
31 slots. A valid must have at one slot, so at
32 least one these mask should be provided with
33 an enabled slot.
34- dai-tdm-slot-num : Please refer to tdm-slot.txt.
35 If omitted, slot number is set to accommodate the largest
36 mask provided.
37- dai-tdm-slot-width : Please refer to tdm-slot.txt. default to 32 if omitted.
38- mclk-fs : Multiplication factor between stream rate and mclk
39
40Backend dai-link subnodes:
41
42- codec: dai-link representing backend links should have at least one subnode.
43 One subnode for each codec of the dai-link.
44 dai-link representing frontend links have no codec, therefore have no
45 subnodes
46
47Required codec subnodes properties:
48
49- sound-dai: phandle and port of the CODEC DAI.
50
51Optional codec subnodes properties:
52
53- dai-tdm-slot-tx-mask : Please refer to tdm-slot.txt.
54- dai-tdm-slot-rx-mask : Please refer to tdm-slot.txt.
55
56Example:
57
58sound {
59 compatible = "amlogic,axg-sound-card";
60 model = "AXG-S420";
61 audio-aux-devs = <&tdmin_a>, <&tdmout_c>;
62 audio-widgets = "Line", "Lineout",
63 "Line", "Linein",
64 "Speaker", "Speaker1 Left",
65 "Speaker", "Speaker1 Right";
66 "Speaker", "Speaker2 Left",
67 "Speaker", "Speaker2 Right";
68 audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2",
69 "SPDIFOUT IN 0", "FRDDR_A OUT 3",
70 "TDM_C Playback", "TDMOUT_C OUT",
71 "TDMIN_A IN 2", "TDM_C Capture",
72 "TDMIN_A IN 5", "TDM_C Loopback",
73 "TODDR_A IN 0", "TDMIN_A OUT",
74 "Lineout", "Lineout AOUTL",
75 "Lineout", "Lineout AOUTR",
76 "Speaker1 Left", "SPK1 OUT_A",
77 "Speaker2 Left", "SPK2 OUT_A",
78 "Speaker1 Right", "SPK1 OUT_B",
79 "Speaker2 Right", "SPK2 OUT_B",
80 "Linein AINL", "Linein",
81 "Linein AINR", "Linein";
82
83 dai-link@0 {
84 sound-dai = <&frddr_a>;
85 };
86
87 dai-link@1 {
88 sound-dai = <&toddr_a>;
89 };
90
91 dai-link@2 {
92 sound-dai = <&tdmif_c>;
93 dai-format = "i2s";
94 dai-tdm-slot-tx-mask-2 = <1 1>;
95 dai-tdm-slot-tx-mask-3 = <1 1>;
96 dai-tdm-slot-rx-mask-1 = <1 1>;
97 mclk-fs = <256>;
98
99 codec@0 {
100 sound-dai = <&lineout>;
101 };
102
103 codec@1 {
104 sound-dai = <&speaker_amp1>;
105 };
106
107 codec@2 {
108 sound-dai = <&speaker_amp2>;
109 };
110
111 codec@3 {
112 sound-dai = <&linein>;
113 };
114
115 };
116
117 dai-link@3 {
118 sound-dai = <&spdifout>;
119
120 codec {
121 sound-dai = <&spdif_dit>;
122 };
123 };
124};
Documentation/devicetree/bindings/sound/amlogic,axg-spdifout.txt+20−0
@@ -0,0 +1,20 @@
1* Amlogic Audio SPDIF Output
2
3Required properties:
4- compatible: 'amlogic,axg-spdifout'
5- clocks: list of clock phandle, one for each entry clock-names.
6- clock-names: should contain the following:
7 * "pclk" : peripheral clock.
8 * "mclk" : master clock
9- #sound-dai-cells: must be 0.
10
11Example on the A113 SoC:
12
13spdifout: audio-controller@480 {
14 compatible = "amlogic,axg-spdifout";
15 reg = <0x0 0x480 0x0 0x50>;
16 #sound-dai-cells = <0>;
17 clocks = <&clkc_audio AUD_CLKID_SPDIFOUT>,
18 <&clkc_audio AUD_CLKID_SPDIFOUT_CLK>;
19 clock-names = "pclk", "mclk";
20};
Documentation/devicetree/bindings/sound/amlogic,axg-tdm-formatters.txt+28−0
@@ -0,0 +1,28 @@
1* Amlogic Audio TDM formatters
2
3Required properties:
4- compatible: 'amlogic,axg-tdmin' or
5 'amlogic,axg-tdmout'
6- reg: physical base address of the controller and length of memory
7 mapped region.
8- clocks: list of clock phandle, one for each entry clock-names.
9- clock-names: should contain the following:
10 * "pclk" : peripheral clock.
11 * "sclk" : bit clock.
12 * "sclk_sel" : bit clock input multiplexer.
13 * "lrclk" : sample clock
14 * "lrclk_sel": sample clock input multiplexer
15
16Example of TDMOUT_A on the A113 SoC:
17
18tdmout_a: audio-controller@500 {
19 compatible = "amlogic,axg-tdmout";
20 reg = <0x0 0x500 0x0 0x40>;
21 clocks = <&clkc_audio AUD_CLKID_TDMOUT_A>,
22 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK>,
23 <&clkc_audio AUD_CLKID_TDMOUT_A_SCLK_SEL>,
24 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>,
25 <&clkc_audio AUD_CLKID_TDMOUT_A_LRCLK>;
26 clock-names = "pclk", "sclk", "sclk_sel",
27 "lrclk", "lrclk_sel";
28};
Documentation/devicetree/bindings/sound/amlogic,axg-tdm-iface.txt+22−0
@@ -0,0 +1,22 @@
1* Amlogic Audio TDM Interfaces
2
3Required properties:
4- compatible: 'amlogic,axg-tdm-iface'
5- clocks: list of clock phandle, one for each entry clock-names.
6- clock-names: should contain the following:
7 * "sclk" : bit clock.
8 * "lrclk": sample clock
9 * "mclk" : master clock
10 -> optional if the interface is in clock slave mode.
11- #sound-dai-cells: must be 0.
12
13Example of TDM_A on the A113 SoC:
14
15tdmif_a: audio-controller@0 {
16 compatible = "amlogic,axg-tdm-iface";
17 #sound-dai-cells = <0>;
18 clocks = <&clkc_audio AUD_CLKID_MST_A_MCLK>,
19 <&clkc_audio AUD_CLKID_MST_A_SCLK>,
20 <&clkc_audio AUD_CLKID_MST_A_LRCLK>;
21 clock-names = "mclk", "sclk", "lrclk";
22};
Documentation/devicetree/bindings/sound/atmel-i2s.txt+5−6
@@ -15,7 +15,6 @@ Required properties: · 14 unmodified lines
15- clock-names: Should be one of each entry matching the clocks phandles list:15- clock-names: Should be one of each entry matching the clocks phandles list:
16 - "pclk" (peripheral clock) Required.16 - "pclk" (peripheral clock) Required.
17 - "gclk" (generated clock) Optional (1).17 - "gclk" (generated clock) Optional (1).
18 - "aclk" (Audio PLL clock) Optional (1).
19 - "muxclk" (I2S mux clock) Optional (1).18 - "muxclk" (I2S mux clock) Optional (1).
20 19
21Optional properties:20Optional properties:
@@ -23,9 +22,9 @@ Optional properties: · 1 unmodified line
23- princtrl-names: Should contain only one value - "default".22- princtrl-names: Should contain only one value - "default".
24 23
25 24
26(1) : Only the peripheral clock is required. The generated clock, the Audio25(1) : Only the peripheral clock is required. The generated clock and the I2S
27 PLL clock adn the I2S mux clock are optional and should only be set26 mux clock are optional and should only be set together, when Master Mode
28 together, when Master Mode is required.27 is required.
29 28
30Example:29Example:
31 30
@@ -40,8 +39,8 @@ Example: · 8 unmodified lines
40 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |39 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
41 AT91_XDMAC_DT_PERID(32))>;40 AT91_XDMAC_DT_PERID(32))>;
42 dma-names = "tx", "rx";41 dma-names = "tx", "rx";
43 clocks = <&i2s0_clk>, <&i2s0_gclk>, <&audio_pll_pmc>, <&i2s0muxck>;42 clocks = <&i2s0_clk>, <&i2s0_gclk>, <&i2s0muxck>;
44 clock-names = "pclk", "gclk", "aclk", "muxclk";43 clock-names = "pclk", "gclk", "muxclk";
45 pinctrl-names = "default";44 pinctrl-names = "default";
46 pinctrl-0 = <&pinctrl_i2s0_default>;45 pinctrl-0 = <&pinctrl_i2s0_default>;
47 };46 };
Documentation/devicetree/bindings/sound/audio-graph-card.txt+2−0
@@ -18,6 +18,8 @@ Below are same as Simple-Card. · 17 unmodified lines
18- bitclock-inversion18- bitclock-inversion
19- frame-inversion19- frame-inversion
20- mclk-fs20- mclk-fs
21- hp-det-gpio
22- mic-det-gpio
21- dai-tdm-slot-num23- dai-tdm-slot-num
22- dai-tdm-slot-width24- dai-tdm-slot-width
23- clocks / system-clock-frequency25- clocks / system-clock-frequency
Documentation/devicetree/bindings/sound/cs35l33.txt+0−2
@@ -14,8 +14,6 @@ Optional properties: · 13 unmodified lines
14 14
15 - reset-gpios : gpio used to reset the amplifier15 - reset-gpios : gpio used to reset the amplifier
16 16
17 - interrupt-parent : Specifies the phandle of the interrupt controller to
18 which the IRQs from CS35L33 are delivered to.
19 - interrupts : IRQ line info CS35L33.17 - interrupts : IRQ line info CS35L33.
20 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt18 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
21 for further information relating to interrupt properties)19 for further information relating to interrupt properties)
Documentation/devicetree/bindings/sound/cs35l34.txt+0−2
@@ -21,8 +21,6 @@ Optional properties: · 20 unmodified lines
21 21
22 - reset-gpios: GPIO used to reset the amplifier.22 - reset-gpios: GPIO used to reset the amplifier.
23 23
24 - interrupt-parent : Specifies the phandle of the interrupt controller to
25 which the IRQs from CS35L34 are delivered to.
26 - interrupts : IRQ line info CS35L34.24 - interrupts : IRQ line info CS35L34.
27 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt25 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
28 for further information relating to interrupt properties)26 for further information relating to interrupt properties)
Documentation/devicetree/bindings/sound/cs35l35.txt+0−2
@@ -10,8 +10,6 @@ Required properties: · 9 unmodified lines
10 as covered in10 as covered in
11 Documentation/devicetree/bindings/regulator/regulator.txt.11 Documentation/devicetree/bindings/regulator/regulator.txt.
12 12
13 - interrupt-parent : Specifies the phandle of the interrupt controller to
14 which the IRQs from CS35L35 are delivered to.
15 - interrupts : IRQ line info CS35L35.13 - interrupts : IRQ line info CS35L35.
16 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt14 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
17 for further information relating to interrupt properties)15 for further information relating to interrupt properties)
Documentation/devicetree/bindings/sound/cs42l42.txt+1−4
@@ -15,9 +15,6 @@ Optional properties: · 14 unmodified lines
15 - reset-gpios : a GPIO spec for the reset pin. If specified, it will be15 - reset-gpios : a GPIO spec for the reset pin. If specified, it will be
16 deasserted before communication to the codec starts.16 deasserted before communication to the codec starts.
17 17
18 - interrupt-parent : Specifies the phandle of the interrupt controller to
19 which the IRQs from CS42L42 are delivered to.
20
21 - interrupts : IRQ line info CS42L42.18 - interrupts : IRQ line info CS42L42.
22 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt19 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
23 for further information relating to interrupt properties)20 for further information relating to interrupt properties)
@@ -107,4 +104,4 @@ cs42l42: cs42l42@48 { · 83 unmodified lines
107 cirrus,btn-det-event-dbnce = <10>;104 cirrus,btn-det-event-dbnce = <10>;
108 cirrus,bias-lvls = <0x0F 0x08 0x04 0x01>;105 cirrus,bias-lvls = <0x0F 0x08 0x04 0x01>;
109 cirrus,hs-bias-ramp-rate = <0x02>;106 cirrus,hs-bias-ramp-rate = <0x02>;
110};107};
Documentation/devicetree/bindings/sound/da7218.txt+0−2
@@ -15,8 +15,6 @@ Required properties: · 14 unmodified lines
15 information relating to regulators)15 information relating to regulators)
16 16
17Optional properties:17Optional properties:
18- interrupt-parent: Specifies the phandle of the interrupt controller to which
19 the IRQs from DA7218 are delivered to.
20- interrupts: IRQ line info for DA7218 chip.18- interrupts: IRQ line info for DA7218 chip.
21 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for19 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for
22 further information relating to interrupt properties)20 further information relating to interrupt properties)
Documentation/devicetree/bindings/sound/da7219.txt+0−2
@@ -8,8 +8,6 @@ Required properties: · 7 unmodified lines
8- compatible : Should be "dlg,da7219"8- compatible : Should be "dlg,da7219"
9- reg: Specifies the I2C slave address9- reg: Specifies the I2C slave address
10 10
11- interrupt-parent : Specifies the phandle of the interrupt controller to which
12 the IRQs from DA7219 are delivered to.
13- interrupts : IRQ line info for DA7219.11- interrupts : IRQ line info for DA7219.
14 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for12 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for
15 further information relating to interrupt properties)13 further information relating to interrupt properties)
Documentation/devicetree/bindings/sound/dioo,dio2125.txt+0−12
@@ -1,12 +0,0 @@
1DIO2125 Audio Driver
2
3Required properties:
4- compatible : "dioo,dio2125"
5- enable-gpios : the gpio connected to the enable pin of the dio2125
6
7Example:
8
9amp: analog-amplifier {
10 compatible = "dioo,dio2125";
11 enable-gpios = <&gpio GPIOH_3 0>;
12};
Documentation/devicetree/bindings/sound/everest,es7134.txt+6−1
@@ -1,10 +1,15 @@
1ES7134 i2s DA converter1ES7134 i2s DA converter
2 2
3Required properties:3Required properties:
4- compatible : "everest,es7134" or "everest,es7144"4- compatible : "everest,es7134" or
5 "everest,es7144" or
6 "everest,es7154"
7- VDD-supply : regulator phandle for the VDD supply
8- PVDD-supply: regulator phandle for the PVDD supply for the es7154
5 9
6Example:10Example:
7 11
8i2s_codec: external-codec {12i2s_codec: external-codec {
9 compatible = "everest,es7134";13 compatible = "everest,es7134";
14 VDD-supply = <&vcc_5v>;
10};15};
Documentation/devicetree/bindings/sound/everest,es7241.txt+28−0
@@ -0,0 +1,28 @@
1ES7241 i2s AD converter
2
3Required properties:
4- compatible : "everest,es7241"
5- VDDP-supply: regulator phandle for the VDDA supply
6- VDDA-supply: regulator phandle for the VDDP supply
7- VDDD-supply: regulator phandle for the VDDD supply
8
9Optional properties:
10- reset-gpios: gpio connected to the reset pin
11- m0-gpios : gpio connected to the m0 pin
12- m1-gpios : gpio connected to the m1 pin
13- everest,sdout-pull-down:
14 Format used by the serial interface is controlled by pulling
15 the sdout. If the sdout is pulled down, leftj format is used.
16 If this property is not provided, sdout is assumed to pulled
17 up and i2s format is used
18
19Example:
20
21linein: audio-codec@2 {
22 #sound-dai-cells = <0>;
23 compatible = "everest,es7241";
24 VDDA-supply = <&vcc_3v3>;
25 VDDP-supply = <&vcc_3v3>;
26 VDDD-supply = <&vcc_3v3>;
27 reset-gpios = <&gpio GPIOH_42>;
28};
Documentation/devicetree/bindings/sound/fsl,ssi.txt+0−2
@@ -18,8 +18,6 @@ Required properties: · 17 unmodified lines
18 encoded based on the information in section 2)18 encoded based on the information in section 2)
19 depending on the type of interrupt controller you19 depending on the type of interrupt controller you
20 have.20 have.
21- interrupt-parent: The phandle for the interrupt controller that
22 services interrupts for this device.
23- fsl,fifo-depth: The number of elements in the transmit and receive FIFOs.21- fsl,fifo-depth: The number of elements in the transmit and receive FIFOs.
24 This number is the maximum allowed value for SFCSR[TFWM0].22 This number is the maximum allowed value for SFCSR[TFWM0].
25 - clocks: "ipg" - Required clock for the SSI unit23 - clocks: "ipg" - Required clock for the SSI unit
Documentation/devicetree/bindings/sound/marvell,pxa2xx-ac97.txt+27−0
@@ -0,0 +1,27 @@
1Marvell PXA2xx audio complex
2
3This descriptions matches the AC97 controller found in pxa2xx and pxa3xx series.
4
5Required properties:
6 - compatible: should be one of the following:
7 "marvell,pxa250-ac97"
8 "marvell,pxa270-ac97"
9 "marvell,pxa300-ac97"
10 - reg: device MMIO address space
11 - interrupts: single interrupt generated by AC97 IP
12 - clocks: input clock of the AC97 IP, refer to clock-bindings.txt
13
14Optional properties:
15 - pinctrl-names, pinctrl-0: refer to pinctrl-bindings.txt
16 - reset-gpios: gpio used for AC97 reset, refer to gpio.txt
17
18Example:
19 ac97: sound@40500000 {
20 compatible = "marvell,pxa250-ac97";
21 reg = < 0x40500000 0x1000 >;
22 interrupts = <14>;
23 reset-gpios = <&gpio 113 GPIO_ACTIVE_HIGH>;
24 #sound-dai-cells = <1>;
25 pinctrl-names = "default";
26 pinctrl-0 = < &pmux_ac97_default >;
27 };
Documentation/devicetree/bindings/sound/mrvl,pxa-ssp.txt+11−5
@@ -5,24 +5,30 @@ Required properties: · 4 unmodified lines
5 compatible Must be "mrvl,pxa-ssp-dai"5 compatible Must be "mrvl,pxa-ssp-dai"
6 port A phandle reference to a PXA ssp upstream device6 port A phandle reference to a PXA ssp upstream device
7 7
8Optional properties:
9
10 clock-names
11 clocks Through "clock-names" and "clocks", external clocks
12 can be configured. If a clock names "extclk" exists,
13 it will be set to the mclk rate of the audio stream
14 and be used as clock provider of the DAI.
15
8Example:16Example:
9 17
10 /* upstream device */18 /* upstream device */
11 19
12 ssp0: ssp@41000000 {20 ssp1: ssp@41000000 {
13 compatible = "mrvl,pxa3xx-ssp";21 compatible = "mrvl,pxa3xx-ssp";
14 reg = <0x41000000 0x40>;22 reg = <0x41000000 0x40>;
15 interrupts = <24>;23 interrupts = <24>;
16 clock-names = "pxa27x-ssp.0";24 clock-names = "pxa27x-ssp.0";
17 dmas = <&dma 13
18 &dma 14>;
19 dma-names = "rx", "tx";
20 };25 };
21 26
22 /* DAI as user */27 /* DAI as user */
23 28
24 ssp_dai0: ssp_dai@0 {29 ssp_dai0: ssp_dai@0 {
25 compatible = "mrvl,pxa-ssp-dai";30 compatible = "mrvl,pxa-ssp-dai";
26 port = <&ssp0>;31 port = <&ssp1>;
32 #sound-dai-cells = <0>;
27 };33 };
28 34
Documentation/devicetree/bindings/sound/mrvl,pxa2xx-pcm.txt+0−15
@@ -1,15 +0,0 @@
1DT bindings for ARM PXA2xx PCM platform driver
2
3This is just a dummy driver that registers the PXA ASoC platform driver.
4It does not have any resources assigned.
5
6Required properties:
7
8 - compatible 'mrvl,pxa-pcm-audio'
9
10Example:
11
12 pxa_pcm_audio: snd_soc_pxa_audio {
13 compatible = "mrvl,pxa-pcm-audio";
14 };
15
Documentation/devicetree/bindings/sound/name-prefix.txt+24−0
@@ -0,0 +1,24 @@
1Name prefix:
2
3Card implementing the routing property define the connection between
4audio components as list of string pair. Component using the same
5sink/source names may use the name prefix property to prepend the
6name of their sinks/sources with the provided string.
7
8Optional name prefix property:
9- sound-name-prefix : string using as prefix for the sink/source names of
10 the component.
11
12Example: Two instances of the same component.
13
14amp0: analog-amplifier@0 {
15 compatible = "simple-audio-amplifier";
16 enable-gpios = <&gpio GPIOH_3 0>;
17 sound-name-prefix = "FRONT";
18};
19
20amp1: analog-amplifier@1 {
21 compatible = "simple-audio-amplifier";
22 enable-gpios = <&gpio GPIOH_4 0>;
23 sound-name-prefix = "BACK";
24};
Documentation/devicetree/bindings/sound/omap-dmic.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6 <MPU access base address, size>,6 <MPU access base address, size>,
7 <L3 interconnect address, size>;7 <L3 interconnect address, size>;
8- interrupts: Interrupt number for DMIC8- interrupts: Interrupt number for DMIC
9- interrupt-parent: The parent interrupt controller
10- ti,hwmods: Name of the hwmod associated with OMAP dmic IP9- ti,hwmods: Name of the hwmod associated with OMAP dmic IP
11 10
12Example:11Example:
Documentation/devicetree/bindings/sound/omap-mcbsp.txt+0−1
@@ -15,7 +15,6 @@ Required properties: · 14 unmodified lines
15 <TX irq>,15 <TX irq>,
16 <RX irq>;16 <RX irq>;
17- interrupt-names: Array of strings associated with the interrupt numbers17- interrupt-names: Array of strings associated with the interrupt numbers
18- interrupt-parent: The parent interrupt controller
19- ti,buffer-size: Size of the FIFO on the port (OMAP2430 and newer SoC)18- ti,buffer-size: Size of the FIFO on the port (OMAP2430 and newer SoC)
20- ti,hwmods: Name of the hwmod associated to the McBSP port19- ti,hwmods: Name of the hwmod associated to the McBSP port
21 20
Documentation/devicetree/bindings/sound/omap-mcpdm.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6 <MPU access base address, size>,6 <MPU access base address, size>,
7 <L3 interconnect address, size>;7 <L3 interconnect address, size>;
8- interrupts: Interrupt number for McPDM8- interrupts: Interrupt number for McPDM
9- interrupt-parent: The parent interrupt controller
10- ti,hwmods: Name of the hwmod associated to the McPDM9- ti,hwmods: Name of the hwmod associated to the McPDM
11 10
12Example:11Example:
Documentation/devicetree/bindings/sound/qcom,apq8016-sbc.txt+1−1
@@ -30,7 +30,7 @@ Required properties: · 29 unmodified lines
30 30
31 Board connectors:31 Board connectors:
32 * Headset Mic32 * Headset Mic
33 * Secondary Mic",33 * Secondary Mic
34 * DMIC34 * DMIC
35 * Ext Spk35 * Ext Spk
36 36
Documentation/devicetree/bindings/sound/qcom,apq8096.txt+14−3
@@ -7,7 +7,7 @@ This binding describes the APQ8096 sound card, which uses qdsp for audio. · 6 unmodified lines
7 Value type: <stringlist>7 Value type: <stringlist>
8 Definition: must be "qcom,apq8096-sndcard"8 Definition: must be "qcom,apq8096-sndcard"
9 9
10- qcom,audio-routing:10- audio-routing:
11 Usage: Optional11 Usage: Optional
12 Value type: <stringlist>12 Value type: <stringlist>
13 Definition: A list of the connections between audio components.13 Definition: A list of the connections between audio components.
@@ -35,7 +35,7 @@ This binding describes the APQ8096 sound card, which uses qdsp for audio. · 21 unmodified lines
35 "Digital Mic3"35 "Digital Mic3"
36 36
37 Audio pins and MicBias on WCD9335 Codec:37 Audio pins and MicBias on WCD9335 Codec:
38 "MIC_BIAS138 "MIC_BIAS1"
39 "MIC_BIAS2"39 "MIC_BIAS2"
40 "MIC_BIAS3"40 "MIC_BIAS3"
41 "MIC_BIAS4"41 "MIC_BIAS4"
@@ -49,6 +49,12 @@ This binding describes the APQ8096 sound card, which uses qdsp for audio. · 7 unmodified lines
49 "DMIC1"49 "DMIC1"
50 "DMIC2"50 "DMIC2"
51 "DMIC3"51 "DMIC3"
52
53- model:
54 Usage: required
55 Value type: <stringlist>
56 Definition: The user-visible name of this sound card.
57
52= dailinks58= dailinks
53Each subnode of sndcard represents either a dailink, and subnodes of each59Each subnode of sndcard represents either a dailink, and subnodes of each
54dailinks would be cpu/codec/platform dais.60dailinks would be cpu/codec/platform dais.
@@ -79,11 +85,16 @@ dailinks would be cpu/codec/platform dais. · 24 unmodified lines
79 Value type: <phandle with arguments>85 Value type: <phandle with arguments>
80 Definition: dai phandle/s and port of CPU/CODEC/PLATFORM node.86 Definition: dai phandle/s and port of CPU/CODEC/PLATFORM node.
81 87
88Obsolete:
89 qcom,model: String for soundcard name (Use model instead)
90 qcom,audio-routing: A list of the connections between audio components.
91 (Use audio-routing instead)
92
82Example:93Example:
83 94
84audio {95audio {
85 compatible = "qcom,apq8096-sndcard";96 compatible = "qcom,apq8096-sndcard";
86 qcom,model = "DB820c";97 model = "DB820c";
87 98
88 mm1-dai-link {99 mm1-dai-link {
89 link-name = "MultiMedia1";100 link-name = "MultiMedia1";
Documentation/devicetree/bindings/sound/qcom,msm8916-wcd-analog.txt+0−1
@@ -7,7 +7,6 @@ Bindings for codec Analog IP which is integrated in pmic pm8916, · 6 unmodified lines
7Required properties7Required properties
8 - compatible = "qcom,pm8916-wcd-analog-codec";8 - compatible = "qcom,pm8916-wcd-analog-codec";
9 - reg: represents the slave base address provided to the peripheral.9 - reg: represents the slave base address provided to the peripheral.
10 - interrupt-parent : The parent interrupt controller.
11 - interrupts: List of interrupts in given SPMI peripheral.10 - interrupts: List of interrupts in given SPMI peripheral.
12 - interrupt-names: Names specified to above list of interrupts in same11 - interrupt-names: Names specified to above list of interrupts in same
13 order. List of supported interrupt names are:12 order. List of supported interrupt names are:
Documentation/devicetree/bindings/sound/qcom,q6adm.txt+6−0
@@ -18,6 +18,11 @@ used by the apr service device. · 17 unmodified lines
18= ADM routing18= ADM routing
19"routing" subnode of the ADM node represents adm routing specific configuration19"routing" subnode of the ADM node represents adm routing specific configuration
20 20
21- compatible:
22 Usage: required
23 Value type: <stringlist>
24 Definition: must be "qcom,q6adm-routing".
25
21- #sound-dai-cells26- #sound-dai-cells
22 Usage: required27 Usage: required
23 Value type: <u32>28 Value type: <u32>
@@ -28,6 +33,7 @@ q6adm@8 { · 4 unmodified lines
28 compatible = "qcom,q6adm";33 compatible = "qcom,q6adm";
29 reg = <APR_SVC_ADM>;34 reg = <APR_SVC_ADM>;
30 q6routing: routing {35 q6routing: routing {
36 compatible = "qcom,q6adm-routing";
31 #sound-dai-cells = <0>;37 #sound-dai-cells = <0>;
32 };38 };
33};39};
Documentation/devicetree/bindings/sound/qcom,q6afe.txt+6−0
@@ -17,6 +17,11 @@ used by all apr services. Must contain the following properties. · 16 unmodified lines
17subnode of "dais" representing board specific dai setup.17subnode of "dais" representing board specific dai setup.
18"dais" node should have following properties followed by dai children.18"dais" node should have following properties followed by dai children.
19 19
20- compatible:
21 Usage: required
22 Value type: <stringlist>
23 Definition: must be "qcom,q6afe-dais"
24
20- #sound-dai-cells25- #sound-dai-cells
21 Usage: required26 Usage: required
22 Value type: <u32>27 Value type: <u32>
@@ -100,6 +105,7 @@ q6afe@4 { · 77 unmodified lines
100 reg = <APR_SVC_AFE>;105 reg = <APR_SVC_AFE>;
101 106
102 dais {107 dais {
108 compatible = "qcom,q6afe-dais";
103 #sound-dai-cells = <1>;109 #sound-dai-cells = <1>;
104 #address-cells = <1>;110 #address-cells = <1>;
105 #size-cells = <0>;111 #size-cells = <0>;
Documentation/devicetree/bindings/sound/qcom,q6asm.txt+6−0
@@ -17,6 +17,11 @@ used by the apr service device. · 16 unmodified lines
17= ASM DAIs (Digial Audio Interface)17= ASM DAIs (Digial Audio Interface)
18"dais" subnode of the ASM node represents dai specific configuration18"dais" subnode of the ASM node represents dai specific configuration
19 19
20- compatible:
21 Usage: required
22 Value type: <stringlist>
23 Definition: must be "qcom,q6asm-dais".
24
20- #sound-dai-cells25- #sound-dai-cells
21 Usage: required26 Usage: required
22 Value type: <u32>27 Value type: <u32>
@@ -28,6 +33,7 @@ q6asm@7 { · 5 unmodified lines
28 compatible = "qcom,q6asm";33 compatible = "qcom,q6asm";
29 reg = <APR_SVC_ASM>;34 reg = <APR_SVC_ASM>;
30 q6asmdai: dais {35 q6asmdai: dais {
36 compatible = "qcom,q6asm-dais";
31 #sound-dai-cells = <1>;37 #sound-dai-cells = <1>;
32 };38 };
33};39};
Documentation/devicetree/bindings/sound/qcom,sdm845.txt+80−0
@@ -0,0 +1,80 @@
1* Qualcomm Technologies Inc. SDM845 ASoC sound card driver
2
3This binding describes the SDM845 sound card, which uses qdsp for audio.
4
5- compatible:
6 Usage: required
7 Value type: <stringlist>
8 Definition: must be "qcom,sdm845-sndcard"
9
10- audio-routing:
11 Usage: Optional
12 Value type: <stringlist>
13 Definition: A list of the connections between audio components.
14 Each entry is a pair of strings, the first being the
15 connection's sink, the second being the connection's
16 source. Valid names could be power supplies, MicBias
17 of codec and the jacks on the board.
18
19- model:
20 Usage: required
21 Value type: <stringlist>
22 Definition: The user-visible name of this sound card.
23
24= dailinks
25Each subnode of sndcard represents either a dailink, and subnodes of each
26dailinks would be cpu/codec/platform dais.
27
28- link-name:
29 Usage: required
30 Value type: <string>
31 Definition: User friendly name for dai link
32
33= CPU, PLATFORM, CODEC dais subnodes
34- cpu:
35 Usage: required
36 Value type: <subnode>
37 Definition: cpu dai sub-node
38
39- codec:
40 Usage: required
41 Value type: <subnode>
42 Definition: codec dai sub-node
43
44- platform:
45 Usage: Optional
46 Value type: <subnode>
47 Definition: platform dai sub-node
48
49- sound-dai:
50 Usage: required
51 Value type: <phandle>
52 Definition: dai phandle/s and port of CPU/CODEC/PLATFORM node.
53
54Example:
55
56audio {
57 compatible = "qcom,sdm845-sndcard";
58 model = "sdm845-snd-card";
59 pinctrl-names = "default", "sleep";
60 pinctrl-0 = <&pri_mi2s_active &pri_mi2s_ws_active>;
61 pinctrl-1 = <&pri_mi2s_sleep &pri_mi2s_ws_sleep>;
62
63 mm1-dai-link {
64 link-name = "MultiMedia1";
65 cpu {
66 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
67 };
68 };
69
70 pri-mi2s-dai-link {
71 link-name = "PRI MI2S Playback";
72 cpu {
73 sound-dai = <&q6afedai PRIMARY_MI2S_RX>;
74 };
75
76 platform {
77 sound-dai = <&q6routing>;
78 };
79 };
80};
Documentation/devicetree/bindings/sound/qcom,wcd9335.txt+123−0
@@ -0,0 +1,123 @@
1QCOM WCD9335 Codec
2
3Qualcomm WCD9335 Codec is a standalone Hi-Fi audio codec IC, supports
4Qualcomm Technologies, Inc. (QTI) multimedia solutions, including
5the MSM8996, MSM8976, and MSM8956 chipsets. It has in-built
6Soundwire controller, interrupt mux. It supports both I2S/I2C and
7SLIMbus audio interfaces.
8
9Required properties with SLIMbus Interface:
10
11- compatible:
12 Usage: required
13 Value type: <stringlist>
14 Definition: For SLIMbus interface it should be "slimMID,PID",
15 textual representation of Manufacturer ID, Product Code,
16 shall be in lower case hexadecimal with leading zeroes
17 suppressed. Refer to slimbus/bus.txt for details.
18 Should be:
19 "slim217,1a0" for MSM8996 and APQ8096 SoCs with SLIMbus.
20
21- reg
22 Usage: required
23 Value type: <u32 u32>
24 Definition: Should be ('Device index', 'Instance ID')
25
26- interrupts
27 Usage: required
28 Value type: <prop-encoded-array>
29 Definition: Interrupts via WCD INTR1 and INTR2 pins
30
31- interrupt-names:
32 Usage: required
33 Value type: <String array>
34 Definition: Interrupt names of WCD INTR1 and INTR2
35 Should be: "intr1", "intr2"
36
37- reset-gpio:
38 Usage: required
39 Value type: <String Array>
40 Definition: Reset gpio line
41
42- qcom,ifd:
43 Usage: required
44 Value type: <phandle>
45 Definition: SLIM interface device
46
47- clocks:
48 Usage: required
49 Value type: <prop-encoded-array>
50 Definition: See clock-bindings.txt section "consumers". List of
51 three clock specifiers for mclk, mclk2 and slimbus clock.
52
53- clock-names:
54 Usage: required
55 Value type: <string>
56 Definition: Must contain "mclk", "mclk2" and "slimbus" strings.
57
58- vdd-buck-supply:
59 Usage: required
60 Value type: <phandle>
61 Definition: Should contain a reference to the 1.8V buck supply
62
63- vdd-buck-sido-supply:
64 Usage: required
65 Value type: <phandle>
66 Definition: Should contain a reference to the 1.8V SIDO buck supply
67
68- vdd-rx-supply:
69 Usage: required
70 Value type: <phandle>
71 Definition: Should contain a reference to the 1.8V rx supply
72
73- vdd-tx-supply:
74 Usage: required
75 Value type: <phandle>
76 Definition: Should contain a reference to the 1.8V tx supply
77
78- vdd-vbat-supply:
79 Usage: Optional
80 Value type: <phandle>
81 Definition: Should contain a reference to the vbat supply
82
83- vdd-micbias-supply:
84 Usage: required
85 Value type: <phandle>
86 Definition: Should contain a reference to the micbias supply
87
88- vdd-io-supply:
89 Usage: required
90 Value type: <phandle>
91 Definition: Should contain a reference to the 1.8V io supply
92
93- interrupt-controller:
94 Usage: required
95 Definition: Indicating that this is a interrupt controller
96
97- #interrupt-cells:
98 Usage: required
99 Value type: <int>
100 Definition: should be 1
101
102#sound-dai-cells
103 Usage: required
104 Value type: <u32>
105 Definition: Must be 1
106
107codec@1{
108 compatible = "slim217,1a0";
109 reg = <1 0>;
110 interrupts = <&msmgpio 54 IRQ_TYPE_LEVEL_HIGH>;
111 interrupt-names = "intr2"
112 reset-gpio = <&msmgpio 64 0>;
113 qcom,ifd = <&wc9335_ifd>;
114 clock-names = "mclk", "native";
115 clocks = <&rpmcc RPM_SMD_DIV_CLK1>,
116 <&rpmcc RPM_SMD_BB_CLK1>;
117 vdd-buck-supply = <&pm8994_s4>;
118 vdd-rx-supply = <&pm8994_s4>;
119 vdd-buck-sido-supply = <&pm8994_s4>;
120 vdd-tx-supply = <&pm8994_s4>;
121 vdd-io-supply = <&pm8994_s4>;
122 #sound-dai-cells = <1>;
123}
Documentation/devicetree/bindings/sound/renesas,rsnd.txt+1−0
@@ -352,6 +352,7 @@ Required properties: · 351 unmodified lines
352 - "renesas,rcar_sound-r8a7794" (R-Car E2)352 - "renesas,rcar_sound-r8a7794" (R-Car E2)
353 - "renesas,rcar_sound-r8a7795" (R-Car H3)353 - "renesas,rcar_sound-r8a7795" (R-Car H3)
354 - "renesas,rcar_sound-r8a7796" (R-Car M3-W)354 - "renesas,rcar_sound-r8a7796" (R-Car M3-W)
355 - "renesas,rcar_sound-r8a77965" (R-Car M3-N)
355- reg : Should contain the register physical address.356- reg : Should contain the register physical address.
356 required register is357 required register is
357 SRU/ADG/SSI if generation1358 SRU/ADG/SSI if generation1
Documentation/devicetree/bindings/sound/rockchip-i2s.txt+1−0
@@ -7,6 +7,7 @@ Required properties: · 6 unmodified lines
7 7
8- compatible: should be one of the following:8- compatible: should be one of the following:
9 - "rockchip,rk3066-i2s": for rk30669 - "rockchip,rk3066-i2s": for rk3066
10 - "rockchip,px30-i2s", "rockchip,rk3066-i2s": for px30
10 - "rockchip,rk3036-i2s", "rockchip,rk3066-i2s": for rk303611 - "rockchip,rk3036-i2s", "rockchip,rk3066-i2s": for rk3036
11 - "rockchip,rk3188-i2s", "rockchip,rk3066-i2s": for rk318812 - "rockchip,rk3188-i2s", "rockchip,rk3066-i2s": for rk3188
12 - "rockchip,rk3228-i2s", "rockchip,rk3066-i2s": for rk322813 - "rockchip,rk3228-i2s", "rockchip,rk3066-i2s": for rk3228
Documentation/devicetree/bindings/sound/rt5514.txt+0−1
@@ -14,7 +14,6 @@ Optional properties: · 13 unmodified lines
14- clocks: The phandle of the master clock to the CODEC14- clocks: The phandle of the master clock to the CODEC
15- clock-names: Should be "mclk"15- clock-names: Should be "mclk"
16 16
17- interrupt-parent: The phandle for the interrupt controller.
18- interrupts: The interrupt number to the cpu. The interrupt specifier format17- interrupts: The interrupt number to the cpu. The interrupt specifier format
19 depends on the interrupt controller.18 depends on the interrupt controller.
20 19
Documentation/devicetree/bindings/sound/rt5682.txt+50−0
@@ -0,0 +1,50 @@
1RT5682 audio CODEC
2
3This device supports I2C only.
4
5Required properties:
6
7- compatible : "realtek,rt5682" or "realtek,rt5682i"
8
9- reg : The I2C address of the device.
10
11Optional properties:
12
13- interrupts : The CODEC's interrupt output.
14
15- realtek,dmic1-data-pin
16 0: dmic1 is not used
17 1: using GPIO2 pin as dmic1 data pin
18 2: using GPIO5 pin as dmic1 data pin
19
20- realtek,dmic1-clk-pin
21 0: using GPIO1 pin as dmic1 clock pin
22 1: using GPIO3 pin as dmic1 clock pin
23
24- realtek,jd-src
25 0: No JD is used
26 1: using JD1 as JD source
27
28- realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin.
29
30Pins on the device (for linking into audio routes) for RT5682:
31
32 * DMIC L1
33 * DMIC R1
34 * IN1P
35 * HPOL
36 * HPOR
37
38Example:
39
40rt5682 {
41 compatible = "realtek,rt5682i";
42 reg = <0x1a>;
43 interrupt-parent = <&gpio>;
44 interrupts = <TEGRA_GPIO(U, 6) GPIO_ACTIVE_HIGH>;
45 realtek,ldo1-en-gpios =
46 <&gpio TEGRA_GPIO(R, 2) GPIO_ACTIVE_HIGH>;
47 realtek,dmic1-data-pin = <1>;
48 realtek,dmic1-clk-pin = <1>;
49 realtek,jd-src = <1>;
50};
Documentation/devicetree/bindings/sound/sgtl5000.txt+1−1
@@ -17,7 +17,7 @@ Optional properties: · 16 unmodified lines
17 17
18- VDDD-supply : the regulator provider of VDDD18- VDDD-supply : the regulator provider of VDDD
19 19
20- micbias-resistor-k-ohms : the bias resistor to be used in kOmhs20- micbias-resistor-k-ohms : the bias resistor to be used in kOhms
21 The resistor can take values of 2k, 4k or 8k.21 The resistor can take values of 2k, 4k or 8k.
22 If set to 0 it will be off.22 If set to 0 it will be off.
23 If this node is not mentioned or if the value is unknown, then23 If this node is not mentioned or if the value is unknown, then
Documentation/devicetree/bindings/sound/simple-amplifier.txt+12−0
@@ -0,0 +1,12 @@
1Simple Amplifier Audio Driver
2
3Required properties:
4- compatible : "dioo,dio2125" or "simple-audio-amplifier"
5- enable-gpios : the gpio connected to the enable pin of the simple amplifier
6
7Example:
8
9amp: analog-amplifier {
10 compatible = "simple-audio-amplifier";
11 enable-gpios = <&gpio GPIOH_3 0>;
12};
Documentation/devicetree/bindings/sound/tas571x.txt+1−0
@@ -7,6 +7,7 @@ powerdown (optional). · 6 unmodified lines
7Required properties:7Required properties:
8 8
9- compatible: should be one of the following:9- compatible: should be one of the following:
10 - "ti,tas5707"
10 - "ti,tas5711",11 - "ti,tas5711",
11 - "ti,tas5717",12 - "ti,tas5717",
12 - "ti,tas5719",13 - "ti,tas5719",
Documentation/devicetree/bindings/sound/ts3a227e.txt+0−1
@@ -10,7 +10,6 @@ Required properties: · 9 unmodified lines
10 10
11 - compatible: Should contain "ti,ts3a227e".11 - compatible: Should contain "ti,ts3a227e".
12 - reg: The i2c address. Should contain <0x3b>.12 - reg: The i2c address. Should contain <0x3b>.
13 - interrupt-parent: The parent interrupt controller
14 - interrupts: Interrupt number for /INT pin from the 227e13 - interrupts: Interrupt number for /INT pin from the 227e
15 14
16Optional properies:15Optional properies:
Documentation/devicetree/bindings/sound/ux500-msp.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6 6
7Optional properties:7Optional properties:
8 - interrupts : The interrupt output from the device.8 - interrupts : The interrupt output from the device.
9 - interrupt-parent : The parent interrupt controller.
10 - <name>-supply : Phandle to the regulator <name> supply9 - <name>-supply : Phandle to the regulator <name> supply
11 10
12Example:11Example:
Documentation/devicetree/bindings/sound/wm8994.txt+6−1
@@ -26,7 +26,6 @@ Optional properties: · 25 unmodified lines
26 - interrupt-controller : These devices contain interrupt controllers26 - interrupt-controller : These devices contain interrupt controllers
27 and may provide interrupt services to other devices if they have an27 and may provide interrupt services to other devices if they have an
28 interrupt line connected.28 interrupt line connected.
29 - interrupt-parent : The parent interrupt controller.
30 - #interrupt-cells: the number of cells to describe an IRQ, this should be 2.29 - #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
31 The first cell is the IRQ number.30 The first cell is the IRQ number.
32 The second cell is the flags, encoded as the trigger masks from31 The second cell is the flags, encoded as the trigger masks from
@@ -57,6 +56,12 @@ Optional properties: · 24 unmodified lines
57 56
58 - wlf,ldoena-always-driven : If present LDOENA is always driven.57 - wlf,ldoena-always-driven : If present LDOENA is always driven.
59 58
59 - wlf,spkmode-pu : If present enable the internal pull-up resistor on
60 the SPKMODE pin.
61
62 - wlf,csnaddr-pd : If present enable the internal pull-down resistor on
63 the CS/ADDR pin.
64
60Example:65Example:
61 66
62wm8994: codec@1a {67wm8994: codec@1a {
Documentation/devicetree/bindings/spi/fsl-spi.txt+0−2
@@ -12,8 +12,6 @@ Required properties: · 11 unmodified lines
12 information for the interrupt. This should be encoded based on12 information for the interrupt. This should be encoded based on
13 the information in section 2) depending on the type of interrupt13 the information in section 2) depending on the type of interrupt
14 controller you have.14 controller you have.
15- interrupt-parent : the phandle for the interrupt controller that
16 services interrupts for this device.
17- clock-frequency : input clock frequency to non FSL_SOC cores15- clock-frequency : input clock frequency to non FSL_SOC cores
18 16
19Optional properties:17Optional properties:
Documentation/devicetree/bindings/spi/sh-hspi.txt+0−2
@@ -6,8 +6,6 @@ Required properties: · 5 unmodified lines
6 - "renesas,hspi-r8a7778" (R-Car M1)6 - "renesas,hspi-r8a7778" (R-Car M1)
7 - "renesas,hspi-r8a7779" (R-Car H1)7 - "renesas,hspi-r8a7779" (R-Car H1)
8- reg : Offset and length of the register set for the device8- reg : Offset and length of the register set for the device
9- interrupt-parent : The phandle for the interrupt controller that
10 services interrupts for this device
11- interrupts : Interrupt specifier9- interrupts : Interrupt specifier
12- #address-cells : Must be <1>10- #address-cells : Must be <1>
13- #size-cells : Must be <0>11- #size-cells : Must be <0>
Documentation/devicetree/bindings/spi/sh-msiof.txt+0−2
@@ -29,8 +29,6 @@ Required properties: · 28 unmodified lines
29 If two register sets are present, the first is to be29 If two register sets are present, the first is to be
30 used by the CPU, and the second is to be used by the30 used by the CPU, and the second is to be used by the
31 DMA engine.31 DMA engine.
32- interrupt-parent : The phandle for the interrupt controller that
33 services interrupts for this device
34- interrupts : Interrupt specifier32- interrupts : Interrupt specifier
35- #address-cells : Must be <1>33- #address-cells : Must be <1>
36- #size-cells : Must be <0>34- #size-cells : Must be <0>
Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt+4−2
@@ -1,8 +1,10 @@
1Synopsys DesignWare AMBA 2.0 Synchronous Serial Interface.1Synopsys DesignWare AMBA 2.0 Synchronous Serial Interface.
2 2
3Required properties:3Required properties:
4- compatible : "snps,dw-apb-ssi"4- compatible : "snps,dw-apb-ssi" or "mscc,<soc>-spi", where soc is "ocelot" or
5- reg : The register base for the controller.5 "jaguar2"
6- reg : The register base for the controller. For "mscc,<soc>-spi", a second
7 register set is required (named ICPU_CFG:SPI_MST)
6- interrupts : One interrupt, used by the controller.8- interrupts : One interrupt, used by the controller.
7- #address-cells : <1>, as required by generic SPI binding.9- #address-cells : <1>, as required by generic SPI binding.
8- #size-cells : <0>, also as required by generic SPI binding.10- #size-cells : <0>, also as required by generic SPI binding.
Documentation/devicetree/bindings/spi/spi-cadence.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6- reg : Physical base address and size of SPI registers map.6- reg : Physical base address and size of SPI registers map.
7- interrupts : Property with a value describing the interrupt7- interrupts : Property with a value describing the interrupt
8 number.8 number.
9- interrupt-parent : Must be core interrupt controller
10- clock-names : List of input clock names - "ref_clk", "pclk"9- clock-names : List of input clock names - "ref_clk", "pclk"
11 (See clock bindings for details).10 (See clock bindings for details).
12- clocks : Clock phandles (see clock bindings for details).11- clocks : Clock phandles (see clock bindings for details).
Documentation/devicetree/bindings/spi/spi-fsl-lpspi.txt+0−1
@@ -4,7 +4,6 @@ Required properties: · 3 unmodified lines
4- compatible :4- compatible :
5 - "fsl,imx7ulp-spi" for LPSPI compatible with the one integrated on i.MX7ULP soc5 - "fsl,imx7ulp-spi" for LPSPI compatible with the one integrated on i.MX7ULP soc
6- reg : address and length of the lpspi master registers6- reg : address and length of the lpspi master registers
7- interrupt-parent : core interrupt controller
8- interrupts : lpspi interrupt7- interrupts : lpspi interrupt
9- clocks : lpspi clock specifier8- clocks : lpspi clock specifier
10 9
Documentation/devicetree/bindings/spi/spi-rockchip.txt+1−0
@@ -7,6 +7,7 @@ Required Properties: · 6 unmodified lines
7 7
8- compatible: should be one of the following.8- compatible: should be one of the following.
9 "rockchip,rv1108-spi" for rv1108 SoCs.9 "rockchip,rv1108-spi" for rv1108 SoCs.
10 "rockchip,px30-spi", "rockchip,rk3066-spi" for px30 SoCs.
10 "rockchip,rk3036-spi" for rk3036 SoCS.11 "rockchip,rk3036-spi" for rk3036 SoCS.
11 "rockchip,rk3066-spi" for rk3066 SoCs.12 "rockchip,rk3066-spi" for rk3066 SoCs.
12 "rockchip,rk3188-spi" for rk3188 SoCs.13 "rockchip,rk3188-spi" for rk3188 SoCs.
Documentation/devicetree/bindings/spi/spi-rspi.txt+0−2
@@ -28,8 +28,6 @@ Required properties: · 27 unmodified lines
28 - "rx" for SPRI,28 - "rx" for SPRI,
29 - "tx" to SPTI,29 - "tx" to SPTI,
30 - "mux" for a single muxed interrupt.30 - "mux" for a single muxed interrupt.
31- interrupt-parent : The phandle for the interrupt controller that
32 services interrupts for this device.
33- num-cs : Number of chip selects. Some RSPI cores have more than 1.31- num-cs : Number of chip selects. Some RSPI cores have more than 1.
34- #address-cells : Must be <1>32- #address-cells : Must be <1>
35- #size-cells : Must be <0>33- #size-cells : Must be <0>
Documentation/devicetree/bindings/spi/spi-uniphier.txt+22−0
@@ -0,0 +1,22 @@
1Socionext UniPhier SPI controller driver
2
3UniPhier SoCs have SCSSI which supports SPI single channel.
4
5Required properties:
6 - compatible: should be "socionext,uniphier-scssi"
7 - reg: address and length of the spi master registers
8 - #address-cells: must be <1>, see spi-bus.txt
9 - #size-cells: must be <0>, see spi-bus.txt
10 - clocks: A phandle to the clock for the device.
11 - resets: A phandle to the reset control for the device.
12
13Example:
14
15spi0: spi@54006000 {
16 compatible = "socionext,uniphier-scssi";
17 reg = <0x54006000 0x100>;
18 #address-cells = <1>;
19 #size-cells = <0>;
20 clocks = <&peri_clk 11>;
21 resets = <&peri_rst 11>;
22};
Documentation/devicetree/bindings/spi/spi-xilinx.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6- reg : Physical base address and size of SPI registers map.6- reg : Physical base address and size of SPI registers map.
7- interrupts : Property with a value describing the interrupt7- interrupts : Property with a value describing the interrupt
8 number.8 number.
9- interrupt-parent : Must be core interrupt controller
10 9
11Optional properties:10Optional properties:
12- xlnx,num-ss-bits : Number of chip selects used.11- xlnx,num-ss-bits : Number of chip selects used.
Documentation/devicetree/bindings/spi/spi-xlp.txt+0−1
@@ -13,7 +13,6 @@ Required properties: · 12 unmodified lines
13- reg : Should contain register location and length.13- reg : Should contain register location and length.
14- clocks : Phandle of the spi clock14- clocks : Phandle of the spi clock
15- interrupts : Interrupt number used by this controller.15- interrupts : Interrupt number used by this controller.
16- interrupt-parent : Phandle of the parent interrupt controller.
17 16
18SPI slave nodes must be children of the SPI master node and can contain17SPI slave nodes must be children of the SPI master node and can contain
19properties described in Documentation/devicetree/bindings/spi/spi-bus.txt.18properties described in Documentation/devicetree/bindings/spi/spi-bus.txt.
Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
6- reg : Physical base address and size of GQSPI registers map.6- reg : Physical base address and size of GQSPI registers map.
7- interrupts : Property with a value describing the interrupt7- interrupts : Property with a value describing the interrupt
8 number.8 number.
9- interrupt-parent : Must be core interrupt controller.
10- clock-names : List of input clock names - "ref_clk", "pclk"9- clock-names : List of input clock names - "ref_clk", "pclk"
11 (See clock bindings for details).10 (See clock bindings for details).
12- clocks : Clock phandles (see clock bindings for details).11- clocks : Clock phandles (see clock bindings for details).
Documentation/devicetree/bindings/sram/sram.txt+2−0
@@ -50,6 +50,8 @@ Optional properties in the area nodes: · 49 unmodified lines
50 manipulation of the page attributes.50 manipulation of the page attributes.
51- label : the name for the reserved partition, if omitted, the label51- label : the name for the reserved partition, if omitted, the label
52 is taken from the node name excluding the unit address.52 is taken from the node name excluding the unit address.
53- clocks : a list of phandle and clock specifier pair that controls the
54 single SRAM clock.
53 55
54Example:56Example:
55 57
Documentation/devicetree/bindings/sram/sunxi-sram.txt+27−4
@@ -10,8 +10,14 @@ Controller Node · 9 unmodified lines
10 10
11Required properties:11Required properties:
12- compatible : should be:12- compatible : should be:
13 - "allwinner,sun4i-a10-sram-controller"13 - "allwinner,sun4i-a10-sram-controller" (deprecated)
14 - "allwinner,sun50i-a64-sram-controller"14 - "allwinner,sun4i-a10-system-control"
15 - "allwinner,sun5i-a13-system-control"
16 - "allwinner,sun7i-a20-system-control", "allwinner,sun4i-a10-system-control"
17 - "allwinner,sun8i-a23-system-control"
18 - "allwinner,sun8i-h3-system-control"
19 - "allwinner,sun50i-a64-sram-controller" (deprecated)
20 - "allwinner,sun50i-a64-system-control"
15- reg : sram controller register offset + length21- reg : sram controller register offset + length
16 22
17SRAM nodes23SRAM nodes
@@ -26,8 +32,25 @@ once again the representation described in the mmio-sram binding. · 8 unmodified lines
26 32
27The valid sections compatible for A10 are:33The valid sections compatible for A10 are:
28 - allwinner,sun4i-a10-sram-a3-a434 - allwinner,sun4i-a10-sram-a3-a4
35 - allwinner,sun4i-a10-sram-c1
29 - allwinner,sun4i-a10-sram-d36 - allwinner,sun4i-a10-sram-d
30 37
38The valid sections compatible for A13 are:
39 - allwinner,sun5i-a13-sram-a3-a4, allwinner,sun4i-a10-sram-a3-a4
40 - allwinner,sun5i-a13-sram-c1, allwinner,sun4i-a10-sram-c1
41 - allwinner,sun5i-a13-sram-d, allwinner,sun4i-a10-sram-d
42
43The valid sections compatible for A20 are:
44 - allwinner,sun7i-a20-sram-a3-a4, allwinner,sun4i-a10-sram-a3-a4
45 - allwinner,sun7i-a20-sram-c1, allwinner,sun4i-a10-sram-c1
46 - allwinner,sun7i-a20-sram-d, allwinner,sun4i-a10-sram-d
47
48The valid sections compatible for A23/A33 are:
49 - allwinner,sun8i-a23-sram-c1, allwinner,sun4i-a10-sram-c1
50
51The valid sections compatible for H3 are:
52 - allwinner,sun8i-h3-sram-c1, allwinner,sun4i-a10-sram-c1
53
31The valid sections compatible for A64 are:54The valid sections compatible for A64 are:
32 - allwinner,sun50i-a64-sram-c55 - allwinner,sun50i-a64-sram-c
33 56
@@ -47,8 +70,8 @@ This valid values for this argument are: · 13 unmodified lines
47 70
48Example71Example
49-------72-------
50sram-controller@1c00000 {73system-control@1c00000 {
51 compatible = "allwinner,sun4i-a10-sram-controller";74 compatible = "allwinner,sun4i-a10-system-control";
52 reg = <0x01c00000 0x30>;75 reg = <0x01c00000 0x30>;
53 #address-cells = <1>;76 #address-cells = <1>;
54 #size-cells = <1>;77 #size-cells = <1>;
Documentation/devicetree/bindings/staging/iio/adc/spear-adc.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: Should be "st,spear600-adc"4- compatible: Should be "st,spear600-adc"
5- reg: Address and length of the register set for the device5- reg: Address and length of the register set for the device
6- interrupt-parent: Should be the phandle for the interrupt controller
7 that services interrupts for this device
8- interrupts: Should contain the ADC interrupt6- interrupts: Should contain the ADC interrupt
9- sampling-frequency: Default sampling frequency7- sampling-frequency: Default sampling frequency
10 8
Documentation/devicetree/bindings/thermal/armada-thermal.txt+5−0
@@ -10,6 +10,11 @@ Required properties: · 9 unmodified lines
10 * marvell,armada-ap806-thermal10 * marvell,armada-ap806-thermal
11 * marvell,armada-cp110-thermal11 * marvell,armada-cp110-thermal
12 12
13Note: these bindings are deprecated for AP806/CP110 and should instead
14follow the rules described in:
15Documentation/devicetree/bindings/arm/marvell/ap806-system-controller.txt
16Documentation/devicetree/bindings/arm/marvell/cp110-system-controller.txt
17
13- reg: Device's register space.18- reg: Device's register space.
14 Two entries are expected, see the examples below. The first one points19 Two entries are expected, see the examples below. The first one points
15 to the status register (4B). The second one points to the control20 to the status register (4B). The second one points to the control
Documentation/devicetree/bindings/thermal/brcm,avs-tmon.txt+0−1
@@ -7,7 +7,6 @@ Required properties: · 6 unmodified lines
7- reg: address range for the AVS TMON registers7- reg: address range for the AVS TMON registers
8- interrupts: temperature monitor interrupt, for high/low threshold triggers8- interrupts: temperature monitor interrupt, for high/low threshold triggers
9- interrupt-names: should be "tmon"9- interrupt-names: should be "tmon"
10- interrupt-parent: the parent interrupt controller
11 10
12Example:11Example:
13 12
Documentation/devicetree/bindings/thermal/exynos-thermal.txt+0−1
@@ -13,7 +13,6 @@ · 12 unmodified lines
13 Exynos5420 (Must pass triminfo base and triminfo clock)13 Exynos5420 (Must pass triminfo base and triminfo clock)
14 "samsung,exynos5433-tmu"14 "samsung,exynos5433-tmu"
15 "samsung,exynos7-tmu"15 "samsung,exynos7-tmu"
16- interrupt-parent : The phandle for the interrupt controller
17- reg : Address range of the thermal registers. For soc's which has multiple16- reg : Address range of the thermal registers. For soc's which has multiple
18 instances of TMU and some registers are shared across all TMU's like17 instances of TMU and some registers are shared across all TMU's like
19 interrupt related then 2 set of register has to supplied. First set18 interrupt related then 2 set of register has to supplied. First set
Documentation/devicetree/bindings/thermal/qcom-tsens.txt+25−6
@@ -1,18 +1,28 @@
1* QCOM SoC Temperature Sensor (TSENS)1* QCOM SoC Temperature Sensor (TSENS)
2 2
3Required properties:3Required properties:
4- compatible :4- compatible:
5 - "qcom,msm8916-tsens" : For 8916 Family of SoCs5 Must be one of the following:
6 - "qcom,msm8974-tsens" : For 8974 Family of SoCs6 - "qcom,msm8916-tsens" (MSM8916)
7 - "qcom,msm8996-tsens" : For 8996 Family of SoCs7 - "qcom,msm8974-tsens" (MSM8974)
8 - "qcom,msm8996-tsens" (MSM8996)
9 - "qcom,msm8998-tsens", "qcom,tsens-v2" (MSM8998)
10 - "qcom,sdm845-tsens", "qcom,tsens-v2" (SDM845)
11 The generic "qcom,tsens-v2" property must be used as a fallback for any SoC
12 with version 2 of the TSENS IP. MSM8996 is the only exception because the
13 generic property did not exist when support was added.
14
15- reg: Address range of the thermal registers.
16 New platforms containing v2.x.y of the TSENS IP must specify the SROT and TM
17 register spaces separately, with order being TM before SROT.
18 See Example 2, below.
8 19
9- reg: Address range of the thermal registers
10- #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description.20- #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description.
11- #qcom,sensors: Number of sensors in tsens block21- #qcom,sensors: Number of sensors in tsens block
12- Refer to Documentation/devicetree/bindings/nvmem/nvmem.txt to know how to specify22- Refer to Documentation/devicetree/bindings/nvmem/nvmem.txt to know how to specify
13nvmem cells23nvmem cells
14 24
15Example:25Example 1 (legacy support before a fallback tsens-v2 property was introduced):
16tsens: thermal-sensor@900000 {26tsens: thermal-sensor@900000 {
17 compatible = "qcom,msm8916-tsens";27 compatible = "qcom,msm8916-tsens";
18 reg = <0x4a8000 0x2000>;28 reg = <0x4a8000 0x2000>;
@@ -20,3 +30,12 @@ tsens: thermal-sensor@900000 { · 1 unmodified line
20 nvmem-cell-names = "caldata", "calsel";30 nvmem-cell-names = "caldata", "calsel";
21 #thermal-sensor-cells = <1>;31 #thermal-sensor-cells = <1>;
22 };32 };
33
34Example 2 (for any platform containing v2 of the TSENS IP):
35tsens0: thermal-sensor@c263000 {
36 compatible = "qcom,sdm845-tsens", "qcom,tsens-v2";
37 reg = <0xc263000 0x1ff>, /* TM */
38 <0xc222000 0x1ff>; /* SROT */
39 #qcom,sensors = <13>;
40 #thermal-sensor-cells = <1>;
41 };
Documentation/devicetree/bindings/thermal/thermal.txt+3−8
@@ -97,8 +97,8 @@ get assigned to trip points of the zone. The cooling devices are expected · 96 unmodified lines
97to be loaded in the target system.97to be loaded in the target system.
98 98
99Required properties:99Required properties:
100- cooling-device: A phandle of a cooling device with its specifier,100- cooling-device: A list of phandles of cooling devices with their specifiers,
101 Type: phandle + referring to which cooling device is used in this101 Type: phandle + referring to which cooling devices are used in this
102 cooling specifier binding. In the cooling specifier, the first cell102 cooling specifier binding. In the cooling specifier, the first cell
103 is the minimum cooling state and the second cell103 is the minimum cooling state and the second cell
104 is the maximum cooling state used in this map.104 is the maximum cooling state used in this map.
@@ -276,12 +276,7 @@ thermal-zones { · 171 unmodified lines
276 };276 };
277 map1 {277 map1 {
278 trip = <&cpu_alert1>;278 trip = <&cpu_alert1>;
279 cooling-device = <&fan0 5 THERMAL_NO_LIMIT>;279 cooling-device = <&fan0 5 THERMAL_NO_LIMIT>, <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
280 };
281 map2 {
282 trip = <&cpu_alert1>;
283 cooling-device =
284 <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
285 };280 };
286 };281 };
287 };282 };
Documentation/devicetree/bindings/timer/altr,timer-1.0.txt+0−1
@@ -4,7 +4,6 @@ Required properties: · 3 unmodified lines
4 4
5- compatible : should be "altr,timer-1.0"5- compatible : should be "altr,timer-1.0"
6- reg : Specifies base physical address and size of the registers.6- reg : Specifies base physical address and size of the registers.
7- interrupt-parent: phandle of the interrupt controller
8- interrupts : Should contain the timer interrupt number7- interrupts : Should contain the timer interrupt number
9- clock-frequency : The frequency of the clock that drives the counter, in Hz.8- clock-frequency : The frequency of the clock that drives the counter, in Hz.
10 9
Documentation/devicetree/bindings/timer/fsl,gtm.txt+0−1
@@ -7,7 +7,6 @@ Required properties: · 6 unmodified lines
7 "fsl,<chip>-cpm2-gtm", "fsl,cpm2-gtm", "fsl,gtm" for CPM2 GTMs7 "fsl,<chip>-cpm2-gtm", "fsl,cpm2-gtm", "fsl,gtm" for CPM2 GTMs
8 - reg : should contain gtm registers location and length (0x40).8 - reg : should contain gtm registers location and length (0x40).
9 - interrupts : should contain four interrupts.9 - interrupts : should contain four interrupts.
10 - interrupt-parent : interrupt source phandle.
11 - clock-frequency : specifies the frequency driving the timer.10 - clock-frequency : specifies the frequency driving the timer.
12 11
13Example:12Example:
Documentation/devicetree/bindings/timer/marvell,orion-timer.txt+0−1
@@ -3,7 +3,6 @@ Marvell Orion SoC timer · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: shall be "marvell,orion-timer"4- compatible: shall be "marvell,orion-timer"
5- reg: base address of the timer register starting with TIMERS CONTROL register5- reg: base address of the timer register starting with TIMERS CONTROL register
6- interrupt-parent: phandle of the bridge interrupt controller
7- interrupts: should contain the interrupts for Timer0 and Timer16- interrupts: should contain the interrupts for Timer0 and Timer1
8- clocks: phandle of timer reference clock (tclk)7- clocks: phandle of timer reference clock (tclk)
9 8
Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt+20−14
@@ -1,19 +1,25 @@
1Mediatek MT6577, MT6572 and MT6589 Timers1Mediatek Timers
2---------------------------------------2---------------
3
4Mediatek SoCs have two different timers on different platforms,
5- GPT (General Purpose Timer)
6- SYST (System Timer)
7
8The proper timer will be selected automatically by driver.
3 9
4Required properties:10Required properties:
5- compatible should contain:11- compatible should contain:
6 * "mediatek,mt2701-timer" for MT2701 compatible timers12 * "mediatek,mt2701-timer" for MT2701 compatible timers (GPT)
7 * "mediatek,mt6580-timer" for MT6580 compatible timers13 * "mediatek,mt6580-timer" for MT6580 compatible timers (GPT)
8 * "mediatek,mt6589-timer" for MT6589 compatible timers14 * "mediatek,mt6589-timer" for MT6589 compatible timers (GPT)
9 * "mediatek,mt7623-timer" for MT7623 compatible timers15 * "mediatek,mt7623-timer" for MT7623 compatible timers (GPT)
10 * "mediatek,mt8127-timer" for MT8127 compatible timers16 * "mediatek,mt8127-timer" for MT8127 compatible timers (GPT)
11 * "mediatek,mt8135-timer" for MT8135 compatible timers17 * "mediatek,mt8135-timer" for MT8135 compatible timers (GPT)
12 * "mediatek,mt8173-timer" for MT8173 compatible timers18 * "mediatek,mt8173-timer" for MT8173 compatible timers (GPT)
13 * "mediatek,mt6577-timer" for MT6577 and all above compatible timers19 * "mediatek,mt6577-timer" for MT6577 and all above compatible timers (GPT)
14- reg: Should contain location and length for timers register.20 * "mediatek,mt6765-timer" for MT6765 compatible timers (SYST)
15- clocks: Clocks driving the timer hardware. This list should include two21- reg: Should contain location and length for timer register.
16 clocks. The order is system clock and as second clock the RTC clock.22- clocks: Should contain system clock.
17 23
18Examples:24Examples:
19 25
@@ -21,5 +27,5 @@ Examples: · 1 unmodified line
21 compatible = "mediatek,mt6577-timer";27 compatible = "mediatek,mt6577-timer";
22 reg = <0x10008000 0x80>;28 reg = <0x10008000 0x80>;
23 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>;29 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>;
24 clocks = <&system_clk>, <&rtc_clk>;30 clocks = <&system_clk>;
25 };31 };
Documentation/devicetree/bindings/timer/snps,arc-timer.txt+0−4
@@ -12,10 +12,6 @@ Required properties: · 11 unmodified lines
12 (16 for ARCHS cores, 3 for ARC700 cores)12 (16 for ARCHS cores, 3 for ARC700 cores)
13- clocks : phandle to the source clock13- clocks : phandle to the source clock
14 14
15Optional properties:
16
17- interrupt-parent : phandle to parent intc
18
19Example:15Example:
20 16
21 timer0 {17 timer0 {
Documentation/devicetree/bindings/timer/st,spear-timer.txt+0−2
@@ -5,8 +5,6 @@ · 4 unmodified lines
5- compatible : Should be:5- compatible : Should be:
6 "st,spear-timer"6 "st,spear-timer"
7- reg: Address range of the timer registers7- reg: Address range of the timer registers
8- interrupt-parent: Should be the phandle for the interrupt controller
9 that services interrupts for this device
10- interrupt: Should contain the timer interrupt number8- interrupt: Should contain the timer interrupt number
11 9
12Example:10Example:
Documentation/devicetree/bindings/timer/ti,c64x+timer64.txt+0−1
@@ -7,7 +7,6 @@ Required properties: · 6 unmodified lines
7 7
8- compatible: must be "ti,c64x+timer64"8- compatible: must be "ti,c64x+timer64"
9- reg: base address and size of register region9- reg: base address and size of register region
10- interrupt-parent: interrupt controller
11- interrupts: interrupt id10- interrupts: interrupt id
12 11
13Optional properties:12Optional properties:
Documentation/devicetree/bindings/timer/ti,davinci-timer.txt+37−0
@@ -0,0 +1,37 @@
1* Device tree bindings for Texas Instruments DaVinci timer
2
3This document provides bindings for the 64-bit timer in the DaVinci
4architecture devices. The timer can be configured as a general-purpose 64-bit
5timer, dual general-purpose 32-bit timers. When configured as dual 32-bit
6timers, each half can operate in conjunction (chain mode) or independently
7(unchained mode) of each other.
8
9The timer is a free running up-counter and can generate interrupts when the
10counter reaches preset counter values.
11
12Also see ../watchdog/davinci-wdt.txt for timers that are configurable as
13watchdog timers.
14
15Required properties:
16
17- compatible : should be "ti,da830-timer".
18- reg : specifies base physical address and count of the registers.
19- interrupts : interrupts generated by the timer.
20- interrupt-names: should be "tint12", "tint34", "cmpint0", "cmpint1",
21 "cmpint2", "cmpint3", "cmpint4", "cmpint5", "cmpint6",
22 "cmpint7" ("cmpintX" may be omitted if not present in the
23 hardware).
24- clocks : the clock feeding the timer clock.
25
26Example:
27
28 clocksource: timer@20000 {
29 compatible = "ti,da830-timer";
30 reg = <0x20000 0x1000>;
31 interrupts = <21>, <22>, <74>, <75>, <76>, <77>, <78>, <79>,
32 <80>, <81>;
33 interrupt-names = "tint12", "tint34", "cmpint0", "cmpint1",
34 "cmpint2", "cmpint3", "cmpint4", "cmpint5",
35 "cmpint6", "cmpint7";
36 clocks = <&pll0_auxclk>;
37 };
Documentation/devicetree/bindings/ufs/ufs-hisi.txt+41−0
@@ -0,0 +1,41 @@
1* Hisilicon Universal Flash Storage (UFS) Host Controller
2
3UFS nodes are defined to describe on-chip UFS hardware macro.
4Each UFS Host Controller should have its own node.
5
6Required properties:
7- compatible : compatible list, contains one of the following -
8 "hisilicon,hi3660-ufs", "jedec,ufs-1.1" for hisi ufs
9 host controller present on Hi36xx chipset.
10- reg : should contain UFS register address space & UFS SYS CTRL register address,
11- interrupt-parent : interrupt device
12- interrupts : interrupt number
13- clocks : List of phandle and clock specifier pairs
14- clock-names : List of clock input name strings sorted in the same
15 order as the clocks property. "ref_clk", "phy_clk" is optional
16- freq-table-hz : Array of <min max> operating frequencies stored in the same
17 order as the clocks property. If this property is not
18 defined or a value in the array is "0" then it is assumed
19 that the frequency is set by the parent clock or a
20 fixed rate clock source.
21- resets : describe reset node register
22- reset-names : reset node register, the "rst" corresponds to reset the whole UFS IP.
23
24Example:
25
26 ufs: ufs@ff3b0000 {
27 compatible = "hisilicon,hi3660-ufs", "jedec,ufs-1.1";
28 /* 0: HCI standard */
29 /* 1: UFS SYS CTRL */
30 reg = <0x0 0xff3b0000 0x0 0x1000>,
31 <0x0 0xff3b1000 0x0 0x1000>;
32 interrupt-parent = <&gic>;
33 interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>;
34 clocks = <&crg_ctrl HI3660_CLK_GATE_UFSIO_REF>,
35 <&crg_ctrl HI3660_CLK_GATE_UFSPHY_CFG>;
36 clock-names = "ref_clk", "phy_clk";
37 freq-table-hz = <0 0>, <0 0>;
38 /* offset: 0x84; bit: 12 */
39 resets = <&crg_rst 0x84 12>;
40 reset-names = "rst";
41 };
Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt+7−3
@@ -41,6 +41,8 @@ Optional properties: · 40 unmodified lines
41-lanes-per-direction : number of lanes available per direction - either 1 or 2.41-lanes-per-direction : number of lanes available per direction - either 1 or 2.
42 Note that it is assume same number of lanes is used both42 Note that it is assume same number of lanes is used both
43 directions at once. If not specified, default is 2 lanes per direction.43 directions at once. If not specified, default is 2 lanes per direction.
44- resets : reset node register
45- reset-names : describe reset node register, the "rst" corresponds to reset the whole UFS IP.
44 46
45Note: If above properties are not defined it can be assumed that the supply47Note: If above properties are not defined it can be assumed that the supply
46regulators or clocks are always on.48regulators or clocks are always on.
@@ -61,9 +63,11 @@ Example: · 14 unmodified lines
61 vccq-max-microamp = 200000;63 vccq-max-microamp = 200000;
62 vccq2-max-microamp = 200000;64 vccq2-max-microamp = 200000;
63 65
64 clocks = <&core 0>, <&ref 0>, <&iface 0>;66 clocks = <&core 0>, <&ref 0>, <&phy 0>, <&iface 0>;
65 clock-names = "core_clk", "ref_clk", "iface_clk";67 clock-names = "core_clk", "ref_clk", "phy_clk", "iface_clk";
66 freq-table-hz = <100000000 200000000>, <0 0>, <0 0>;68 freq-table-hz = <100000000 200000000>, <0 0>, <0 0>, <0 0>;
69 resets = <&reset 0 1>;
70 reset-names = "rst";
67 phys = <&ufsphy1>;71 phys = <&ufsphy1>;
68 phy-names = "ufsphy";72 phy-names = "ufsphy";
69 };73 };
Documentation/devicetree/bindings/usb/dwc3.txt+6−0
@@ -96,6 +96,11 @@ Optional properties: · 95 unmodified lines
96 enable periodic ESS TX threshold.96 enable periodic ESS TX threshold.
97 97
98 - <DEPRECATED> tx-fifo-resize: determines if the FIFO *has* to be reallocated.98 - <DEPRECATED> tx-fifo-resize: determines if the FIFO *has* to be reallocated.
99 - snps,incr-burst-type-adjustment: Value for INCR burst type of GSBUSCFG0
100 register, undefined length INCR burst type enable and INCRx type.
101 When just one value, which means INCRX burst mode enabled. When
102 more than one value, which means undefined length INCR burst type
103 enabled. The values can be 1, 4, 8, 16, 32, 64, 128 and 256.
99 104
100 - in addition all properties from usb-xhci.txt from the current directory are105 - in addition all properties from usb-xhci.txt from the current directory are
101 supported as well106 supported as well
@@ -108,4 +113,5 @@ dwc3@4a030000 { · 6 unmodified lines
108 reg = <0x4a030000 0xcfff>;113 reg = <0x4a030000 0xcfff>;
109 interrupts = <0 92 4>114 interrupts = <0 92 4>
110 usb-phy = <&usb2_phy>, <&usb3,phy>;115 usb-phy = <&usb2_phy>, <&usb3,phy>;
116 snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
111};117};
Documentation/devicetree/bindings/usb/fsl-usb.txt+0−2
@@ -33,8 +33,6 @@ Recommended properties : · 32 unmodified lines
33 information for the interrupt. This should be encoded based on33 information for the interrupt. This should be encoded based on
34 the information in section 2) depending on the type of interrupt34 the information in section 2) depending on the type of interrupt
35 controller you have.35 controller you have.
36 - interrupt-parent : the phandle for the interrupt controller that
37 services interrupts for this device.
38 36
39Optional properties :37Optional properties :
40 - fsl,invert-drvvbus : boolean; for MPC5121 USB0 only. Indicates the38 - fsl,invert-drvvbus : boolean; for MPC5121 USB0 only. Indicates the
Documentation/devicetree/bindings/usb/maxim,max3421.txt+0−3
@@ -11,9 +11,6 @@ Required properties: · 10 unmodified lines
11 The driver configures MAX3421E for active low level triggered interrupts,11 The driver configures MAX3421E for active low level triggered interrupts,
12 configure your interrupt line accordingly.12 configure your interrupt line accordingly.
13 13
14Optional property:
15 - interrupt-parent: the phandle to the associated interrupt controller.
16
17Example:14Example:
18 15
19 usb@0 {16 usb@0 {
Documentation/devicetree/bindings/usb/npcm7xx-usb.txt+18−0
@@ -0,0 +1,18 @@
1Nuvoton NPCM7XX SoC USB controllers:
2-----------------------------
3
4EHCI:
5-----
6
7Required properties:
8- compatible: "nuvoton,npcm750-ehci"
9- interrupts: Should contain the EHCI interrupt
10- reg: Physical address and length of the register set for the device
11
12Example:
13
14 ehci1: usb@f0806000 {
15 compatible = "nuvoton,npcm750-ehci";
16 reg = <0xf0806000 0x1000>;
17 interrupts = <0 61 4>;
18 };
Documentation/devicetree/bindings/usb/richtek,rt1711h.txt+0−2
@@ -3,8 +3,6 @@ Richtek RT1711H TypeC PD Controller. · 2 unmodified lines
3Required properties:3Required properties:
4 - compatible : Must be "richtek,rt1711h".4 - compatible : Must be "richtek,rt1711h".
5 - reg : Must be 0x4e, it's slave address of RT1711H.5 - reg : Must be 0x4e, it's slave address of RT1711H.
6 - interrupt-parent : the phandle for the interrupt controller that
7 provides interrupts for this device.
8 - interrupts : <a b> where a is the interrupt number and b represents an6 - interrupts : <a b> where a is the interrupt number and b represents an
9 encoding of the sense and level information for the interrupt.7 encoding of the sense and level information for the interrupt.
10 8
Documentation/devicetree/bindings/usb/rockchip,dwc3.txt+2−1
@@ -16,7 +16,8 @@ A child node must exist to represent the core DWC3 IP block. The name of · 15 unmodified lines
16the node is not important. The content of the node is defined in dwc3.txt.16the node is not important. The content of the node is defined in dwc3.txt.
17 17
18Phy documentation is provided in the following places:18Phy documentation is provided in the following places:
19Documentation/devicetree/bindings/phy/qcom-dwc3-usb-phy.txt19Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt - USB2.0 PHY
20Documentation/devicetree/bindings/phy/phy-rockchip-typec.txt - Type-C PHY
20 21
21Example device nodes:22Example device nodes:
22 23
Documentation/devicetree/bindings/usb/samsung-hsotg.txt+0−2
@@ -14,8 +14,6 @@ Binding details · 13 unmodified lines
14Required properties:14Required properties:
15- compatible: "samsung,s3c6400-hsotg" should be used for all currently15- compatible: "samsung,s3c6400-hsotg" should be used for all currently
16 supported SoC,16 supported SoC,
17- interrupt-parent: phandle for the interrupt controller to which the
18 interrupt signal of the HSOTG block is routed,
19- interrupts: specifier of interrupt signal of interrupt controller,17- interrupts: specifier of interrupt signal of interrupt controller,
20 according to bindings of interrupt controller,18 according to bindings of interrupt controller,
21- clocks: contains an array of clock specifiers:19- clocks: contains an array of clock specifiers:
Documentation/devicetree/bindings/usb/spear-usb.txt+0−4
@@ -6,8 +6,6 @@ EHCI: · 5 unmodified lines
6 6
7Required properties:7Required properties:
8- compatible: "st,spear600-ehci"8- compatible: "st,spear600-ehci"
9- interrupt-parent: Should be the phandle for the interrupt controller
10 that services interrupts for this device
11- interrupts: Should contain the EHCI interrupt9- interrupts: Should contain the EHCI interrupt
12 10
13Example:11Example:
@@ -25,8 +23,6 @@ OHCI: · 11 unmodified lines
25 23
26Required properties:24Required properties:
27- compatible: "st,spear600-ohci"25- compatible: "st,spear600-ohci"
28- interrupt-parent: Should be the phandle for the interrupt controller
29 that services interrupts for this device
30- interrupts: Should contain the OHCI interrupt26- interrupts: Should contain the OHCI interrupt
31 27
32Example:28Example:
Documentation/devicetree/bindings/usb/typec-tcpci.txt+49−0
@@ -0,0 +1,49 @@
1TCPCI(Typec port cotroller interface) binding
2---------------------------------------------
3
4Required properties:
5- compatible: should be set one of following:
6 - "nxp,ptn5110" for NXP USB PD TCPC PHY IC ptn5110.
7
8- reg: the i2c slave address of typec port controller device.
9- interrupt-parent: the phandle to the interrupt controller which provides
10 the interrupt.
11- interrupts: interrupt specification for tcpci alert.
12
13Required sub-node:
14- connector: The "usb-c-connector" attached to the tcpci chip, the bindings
15 of connector node are specified in
16 Documentation/devicetree/bindings/connector/usb-connector.txt
17
18Example:
19
20ptn5110@50 {
21 compatible = "nxp,ptn5110";
22 reg = <0x50>;
23 interrupt-parent = <&gpio3>;
24 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
25
26 usb_con: connector {
27 compatible = "usb-c-connector";
28 label = "USB-C";
29 data-role = "dual";
30 power-role = "dual";
31 try-power-role = "sink";
32 source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)>;
33 sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)
34 PDO_VAR(5000, 12000, 2000)>;
35 op-sink-microwatt = <10000000>;
36
37 ports {
38 #address-cells = <1>;
39 #size-cells = <0>;
40
41 port@1 {
42 reg = <1>;
43 usb_con_ss: endpoint {
44 remote-endpoint = <&usb3_data_ss>;
45 };
46 };
47 };
48 };
49};
Documentation/devicetree/bindings/usb/usb-xhci.txt+1−0
@@ -14,6 +14,7 @@ Required properties: · 13 unmodified lines
14 - "renesas,xhci-r8a7795" for r8a7795 SoC14 - "renesas,xhci-r8a7795" for r8a7795 SoC
15 - "renesas,xhci-r8a7796" for r8a7796 SoC15 - "renesas,xhci-r8a7796" for r8a7796 SoC
16 - "renesas,xhci-r8a77965" for r8a77965 SoC16 - "renesas,xhci-r8a77965" for r8a77965 SoC
17 - "renesas,xhci-r8a77990" for r8a77990 SoC
17 - "renesas,rcar-gen2-xhci" for a generic R-Car Gen2 or RZ/G1 compatible18 - "renesas,rcar-gen2-xhci" for a generic R-Car Gen2 or RZ/G1 compatible
18 device19 device
19 - "renesas,rcar-gen3-xhci" for a generic R-Car Gen3 compatible device20 - "renesas,rcar-gen3-xhci" for a generic R-Car Gen3 compatible device
Documentation/devicetree/bindings/vendor-prefixes.txt+12−0
@@ -42,6 +42,7 @@ arrow Arrow Electronics · 41 unmodified lines
42artesyn Artesyn Embedded Technologies Inc.42artesyn Artesyn Embedded Technologies Inc.
43asahi-kasei Asahi Kasei Corp.43asahi-kasei Asahi Kasei Corp.
44aspeed ASPEED Technology Inc.44aspeed ASPEED Technology Inc.
45asus AsusTek Computer Inc.
45atlas Atlas Scientific LLC46atlas Atlas Scientific LLC
46atmel Atmel Corporation47atmel Atmel Corporation
47auo AU Optronics Corporation48auo AU Optronics Corporation
@@ -54,6 +55,7 @@ axentia Axentia Technologies AB · 6 unmodified lines
54axis Axis Communications AB55axis Axis Communications AB
55bananapi BIPAI KEJI LIMITED56bananapi BIPAI KEJI LIMITED
56bhf Beckhoff Automation GmbH & Co. KG57bhf Beckhoff Automation GmbH & Co. KG
58bitmain Bitmain Technologies
57boe BOE Technology Group Co., Ltd.59boe BOE Technology Group Co., Ltd.
58bosch Bosch Sensortec GmbH60bosch Bosch Sensortec GmbH
59boundary Boundary Devices Inc.61boundary Boundary Devices Inc.
@@ -127,6 +129,7 @@ excito Excito · 67 unmodified lines
127ezchip EZchip Semiconductor129ezchip EZchip Semiconductor
128fairphone Fairphone B.V.130fairphone Fairphone B.V.
129faraday Faraday Technology Corporation131faraday Faraday Technology Corporation
132fastrax Fastrax Oy
130fcs Fairchild Semiconductor133fcs Fairchild Semiconductor
131firefly Firefly134firefly Firefly
132focaltech FocalTech Systems Co.,Ltd135focaltech FocalTech Systems Co.,Ltd
@@ -139,6 +142,7 @@ geekbuying GeekBuying · 6 unmodified lines
139gef GE Fanuc Intelligent Platforms Embedded Systems, Inc.142gef GE Fanuc Intelligent Platforms Embedded Systems, Inc.
140GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc.143GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc.
141geniatech Geniatech, Inc.144geniatech Geniatech, Inc.
145giantec Giantec Semiconductor, Inc.
142giantplus Giantplus Technology Co., Ltd.146giantplus Giantplus Technology Co., Ltd.
143globalscale Globalscale Technologies, Inc.147globalscale Globalscale Technologies, Inc.
144gmt Global Mixed-mode Technology, Inc.148gmt Global Mixed-mode Technology, Inc.
@@ -197,6 +201,7 @@ koe Kaohsiung Opto-Electronics Inc. · 52 unmodified lines
197kosagi Sutajio Ko-Usagi PTE Ltd.201kosagi Sutajio Ko-Usagi PTE Ltd.
198kyo Kyocera Corporation202kyo Kyocera Corporation
199lacie LaCie203lacie LaCie
204laird Laird PLC
200lantiq Lantiq Semiconductor205lantiq Lantiq Semiconductor
201lattice Lattice Semiconductor206lattice Lattice Semiconductor
202lego LEGO Systems A/S207lego LEGO Systems A/S
@@ -207,6 +212,7 @@ licheepi Lichee Pi · 4 unmodified lines
207linaro Linaro Limited212linaro Linaro Limited
208linksys Belkin International, Inc. (Linksys)213linksys Belkin International, Inc. (Linksys)
209linux Linux-specific binding214linux Linux-specific binding
215linx Linx Technologies
210lltc Linear Technology Corporation216lltc Linear Technology Corporation
211logicpd Logic PD, Inc.217logicpd Logic PD, Inc.
212lsi LSI Corp. (LSI Logic)218lsi LSI Corp. (LSI Logic)
@@ -275,6 +281,7 @@ opalkelly Opal Kelly Incorporated · 62 unmodified lines
275opencores OpenCores.org281opencores OpenCores.org
276openrisc OpenRISC.io282openrisc OpenRISC.io
277option Option NV283option Option NV
284oranth Shenzhen Oranth Technology Co., Ltd.
278ORCL Oracle Corporation285ORCL Oracle Corporation
279orisetech Orise Technology286orisetech Orise Technology
280ortustech Ortus Technology Co., Ltd.287ortustech Ortus Technology Co., Ltd.
@@ -318,6 +325,7 @@ rohm ROHM Semiconductor Co., Ltd · 37 unmodified lines
318roofull Shenzhen Roofull Technology Co, Ltd325roofull Shenzhen Roofull Technology Co, Ltd
319samsung Samsung Semiconductor326samsung Samsung Semiconductor
320samtec Samtec/Softing company327samtec Samtec/Softing company
328sancloud Sancloud Ltd
321sandisk Sandisk Corporation329sandisk Sandisk Corporation
322sbs Smart Battery System330sbs Smart Battery System
323schindler Schindler331schindler Schindler
@@ -388,6 +396,7 @@ tronsmart Tronsmart · 64 unmodified lines
388truly Truly Semiconductors Limited396truly Truly Semiconductors Limited
389tsd Theobroma Systems Design und Consulting GmbH397tsd Theobroma Systems Design und Consulting GmbH
390tyan Tyan Computer Corporation398tyan Tyan Computer Corporation
399u-blox u-blox
391ucrobotics uCRobotics400ucrobotics uCRobotics
392ubnt Ubiquiti Networks401ubnt Ubiquiti Networks
393udoo Udoo402udoo Udoo
@@ -396,9 +405,11 @@ upisemi uPI Semiconductor Corp. · 2 unmodified lines
396urt United Radiant Technology Corporation405urt United Radiant Technology Corporation
397usi Universal Scientific Industrial Co., Ltd.406usi Universal Scientific Industrial Co., Ltd.
398v3 V3 Semiconductor407v3 V3 Semiconductor
408vamrs Vamrs Ltd.
399variscite Variscite Ltd.409variscite Variscite Ltd.
400via VIA Technologies, Inc.410via VIA Technologies, Inc.
401virtio Virtual I/O Device Specification, developed by the OASIS consortium411virtio Virtual I/O Device Specification, developed by the OASIS consortium
412vitesse Vitesse Semiconductor Corporation
402vivante Vivante Corporation413vivante Vivante Corporation
403vocore VoCore Studio414vocore VoCore Studio
404voipac Voipac Technologies s.r.o.415voipac Voipac Technologies s.r.o.
@@ -416,6 +427,7 @@ xes Extreme Engineering Solutions (X-ES) · 11 unmodified lines
416xillybus Xillybus Ltd.427xillybus Xillybus Ltd.
417xlnx Xilinx428xlnx Xilinx
418xunlong Shenzhen Xunlong Software CO.,Limited429xunlong Shenzhen Xunlong Software CO.,Limited
430ysoft Y Soft Corporation a.s.
419zarlink Zarlink Semiconductor431zarlink Zarlink Semiconductor
420zeitec ZEITEC Semiconductor Co., LTD.432zeitec ZEITEC Semiconductor Co., LTD.
421zidoo Shenzhen Zidoo Technology Co., Ltd.433zidoo Shenzhen Zidoo Technology Co., Ltd.
Documentation/devicetree/bindings/w1/w1-gpio.txt+8−3
@@ -13,10 +13,15 @@ Optional properties: · 12 unmodified lines
13 - linux,open-drain: if specified, the data pin is considered in13 - linux,open-drain: if specified, the data pin is considered in
14 open-drain mode.14 open-drain mode.
15 15
16Also refer to the generic w1.txt document.
17
16Examples:18Examples:
17 19
18 onewire@0 {20 onewire {
19 compatible = "w1-gpio";21 compatible = "w1-gpio";
20 gpios = <&gpio 126 0>, <&gpio 105 0>;22 gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
21 };
22 23
24 battery {
25 // ...
26 };
27 };
Documentation/devicetree/bindings/w1/w1.txt+25−0
@@ -0,0 +1,25 @@
1Generic devicetree bindings for onewire (w1) busses
2===================================================
3
4Onewire busses are described through nodes of their master bus controller.
5Slave devices are listed as sub-nodes of such master devices. For now, only
6one slave is allowed per bus master.
7
8
9Example:
10
11 charger: charger {
12 compatible = "gpio-charger";
13 charger-type = "mains";
14 gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
15 };
16
17 onewire {
18 compatible = "w1-gpio";
19 gpios = <&gpio 100 0>, <&gpio 101 0>;
20
21 battery {
22 compatible = "maxim,ds2760";
23 power-supplies = <&charger>;
24 };
25 };
Documentation/devicetree/bindings/watchdog/arm,sp805.txt+22−7
@@ -1,17 +1,32 @@
1ARM AMBA Primecell SP805 Watchdog1ARM AMBA Primecell SP805 Watchdog
2 2
3SP805 WDT is a ARM Primecell Peripheral and has a standard-id register that
4can be used to identify the peripheral type, vendor, and revision.
5This value can be used for driver matching.
6
7As SP805 WDT is a primecell IP, it follows the base bindings specified in
8'arm/primecell.txt'
9
3Required properties:10Required properties:
4- compatible: Should be "arm,sp805" & "arm,primecell"11- compatible: Should be "arm,sp805" & "arm,primecell"
5- reg: Should contain location and length for watchdog timer register.12- reg: Should contain location and length for watchdog timer register
6- interrupts: Should contain the list of watchdog timer interrupts.13- clocks: Clocks driving the watchdog timer hardware. This list should be
7- clocks: clocks driving the watchdog timer hardware. This list should be 214 2 clocks. With 2 clocks, the order is wdog_clk, apb_pclk
8 clocks. With 2 clocks, the order is wdogclk clock, apb_pclk.15 wdog_clk can be equal to or be a sub-multiple of the apb_pclk
16 frequency
17- clock-names: Shall be "wdog_clk" for first clock and "apb_pclk" for the
18 second one
19
20Optional properties:
21- interrupts: Should specify WDT interrupt number
22- timeout-sec: Should specify default WDT timeout in seconds. If unset, the
23 default timeout is determined by the driver
9 24
10Example:25Example:
11 watchdog@66090000 {26 watchdog@66090000 {
12 compatible = "arm,sp805", "arm,primecell";27 compatible = "arm,sp805", "arm,primecell";
13 reg = <0x66090000 0x1000>;28 reg = <0x66090000 0x1000>;
14 interrupts = <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>;29 interrupts = <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>;
15 clocks = <&apb_pclk>,<&apb_pclk>;30 clocks = <&wdt_clk>, <&apb_pclk>;
16 clock-names = "wdogclk", "apb_pclk";31 clock-names = "wdog_clk", "apb_pclk";
17 };32 };
Documentation/devicetree/bindings/watchdog/cadence-wdt.txt+0−1
@@ -5,7 +5,6 @@ Required properties: · 4 unmodified lines
5- compatible : Should be "cdns,wdt-r1p2".5- compatible : Should be "cdns,wdt-r1p2".
6- clocks : This is pclk (APB clock).6- clocks : This is pclk (APB clock).
7- interrupts : This is wd_irq - watchdog timeout interrupt.7- interrupts : This is wd_irq - watchdog timeout interrupt.
8- interrupt-parent : Must be core interrupt controller.
9 8
10Optional properties9Optional properties
11- reset-on-timeout : If this property exists, then a reset is done10- reset-on-timeout : If this property exists, then a reset is done
Documentation/devicetree/bindings/watchdog/renesas-wdt.txt+1−0
@@ -16,6 +16,7 @@ Required properties: · 15 unmodified lines
16 - "renesas,r8a7796-wdt" (R-Car M3-W)16 - "renesas,r8a7796-wdt" (R-Car M3-W)
17 - "renesas,r8a77965-wdt" (R-Car M3-N)17 - "renesas,r8a77965-wdt" (R-Car M3-N)
18 - "renesas,r8a77970-wdt" (R-Car V3M)18 - "renesas,r8a77970-wdt" (R-Car V3M)
19 - "renesas,r8a77990-wdt" (R-Car E3)
19 - "renesas,r8a77995-wdt" (R-Car D3)20 - "renesas,r8a77995-wdt" (R-Car D3)
20 - "renesas,r7s72100-wdt" (RZ/A1)21 - "renesas,r7s72100-wdt" (RZ/A1)
21 The generic compatible string must be:22 The generic compatible string must be:
Documentation/devicetree/bindings/watchdog/rt2880-wdt.txt+0−1
@@ -5,7 +5,6 @@ Required properties: · 4 unmodified lines
5- reg: physical base address of the controller and length of the register range5- reg: physical base address of the controller and length of the register range
6 6
7Optional properties:7Optional properties:
8- interrupt-parent: phandle to the INTC device node
9- interrupts: Specify the INTC interrupt number8- interrupts: Specify the INTC interrupt number
10 9
11Example:10Example:
Documentation/devicetree/bindings/watchdog/sp805-wdt.txt+0−31
@@ -1,31 +0,0 @@
1* ARM SP805 Watchdog Timer (WDT) Controller
2
3SP805 WDT is a ARM Primecell Peripheral and has a standard-id register that
4can be used to identify the peripheral type, vendor, and revision.
5This value can be used for driver matching.
6
7As SP805 WDT is a primecell IP, it follows the base bindings specified in
8'arm/primecell.txt'
9
10Required properties:
11- compatible : Should be "arm,sp805-wdt", "arm,primecell"
12- reg : Base address and size of the watchdog timer registers.
13- clocks : From common clock binding.
14 First clock is PCLK and the second is WDOGCLK.
15 WDOGCLK can be equal to or be a sub-multiple of the PCLK frequency.
16- clock-names : From common clock binding.
17 Shall be "apb_pclk" for first clock and "wdog_clk" for the
18 second one.
19
20Optional properties:
21- interrupts : Should specify WDT interrupt number.
22
23Examples:
24
25 cluster1_core0_watchdog: wdt@c000000 {
26 compatible = "arm,sp805-wdt", "arm,primecell";
27 reg = <0x0 0xc000000 0x0 0x1000>;
28 clocks = <&clockgen 4 3>, <&clockgen 4 3>;
29 clock-names = "apb_pclk", "wdog_clk";
30 };
31
Documentation/devicetree/bindings/watchdog/st,stm32-iwdg.txt+10−3
@@ -2,9 +2,15 @@ STM32 Independent WatchDoG (IWDG) · 1 unmodified line
2---------------------------------2---------------------------------
3 3
4Required properties:4Required properties:
5- compatible: "st,stm32-iwdg"5- compatible: Should be either:
6- reg: physical base address and length of the registers set for the device6 - "st,stm32-iwdg"
7- clocks: must contain a single entry describing the clock input7 - "st,stm32mp1-iwdg"
8- reg: Physical base address and length of the registers set for the device
9- clocks: Reference to the clock entry lsi. Additional pclk clock entry
10 is required only for st,stm32mp1-iwdg.
11- clock-names: Name of the clocks used.
12 "lsi" for st,stm32-iwdg
13 "lsi", "pclk" for st,stm32mp1-iwdg
8 14
9Optional Properties:15Optional Properties:
10- timeout-sec: Watchdog timeout value in seconds.16- timeout-sec: Watchdog timeout value in seconds.
@@ -15,5 +21,6 @@ iwdg: watchdog@40003000 { · 4 unmodified lines
15 compatible = "st,stm32-iwdg";21 compatible = "st,stm32-iwdg";
16 reg = <0x40003000 0x400>;22 reg = <0x40003000 0x400>;
17 clocks = <&clk_lsi>;23 clocks = <&clk_lsi>;
24 clock-names = "lsi";
18 timeout-sec = <32>;25 timeout-sec = <32>;
19};26};
Documentation/devicetree/bindings/xilinx.txt+1−1
@@ -49,7 +49,7 @@ · 48 unmodified lines
49 followed by an older IP core version which implements the same49 followed by an older IP core version which implements the same
50 interface or any other device with the same interface.50 interface or any other device with the same interface.
51 51
52 'reg', 'interrupt-parent' and 'interrupts' are all optional properties.52 'reg' and 'interrupts' are all optional properties.
53 53
54 For example, the following block from system.mhs:54 For example, the following block from system.mhs:
55 55
Documentation/devicetree/bindings/xillybus/xillybus.txt+0−2
@@ -4,8 +4,6 @@ Required properties: · 3 unmodified lines
4- compatible: Should be "xillybus,xillybus-1.00.a"4- compatible: Should be "xillybus,xillybus-1.00.a"
5- reg: Address and length of the register set for the device5- reg: Address and length of the register set for the device
6- interrupts: Contains one interrupt node, typically consisting of three cells.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 7
10Optional properties:8Optional properties:
11- dma-coherent: Present if DMA operations are coherent9- dma-coherent: Present if DMA operations are coherent
Documentation/devicetree/dynamic-resolution-notes.txt+2−3
@@ -2,15 +2,14 @@ Device Tree Dynamic Resolver Notes · 1 unmodified line
2----------------------------------2----------------------------------
3 3
4This document describes the implementation of the in-kernel4This document describes the implementation of the in-kernel
5Device Tree resolver, residing in drivers/of/resolver.c and is a5Device Tree resolver, residing in drivers/of/resolver.c
6companion document to Documentation/devicetree/dt-object-internal.txt[1]
7 6
8How the resolver works7How the resolver works
9----------------------8----------------------
10 9
11The resolver is given as an input an arbitrary tree compiled with the10The resolver is given as an input an arbitrary tree compiled with the
12proper dtc option and having a /plugin/ tag. This generates the11proper dtc option and having a /plugin/ tag. This generates the
13appropriate __fixups__ & __local_fixups__ nodes as described in [1].12appropriate __fixups__ & __local_fixups__ nodes.
14 13
15In sequence the resolver works by the following steps:14In sequence the resolver works by the following steps:
16 15
Documentation/doc-guide/kernel-doc.rst+7−2
@@ -488,14 +488,19 @@ doc: *title* · 487 unmodified lines
488 .. kernel-doc:: drivers/gpu/drm/i915/intel_audio.c488 .. kernel-doc:: drivers/gpu/drm/i915/intel_audio.c
489 :doc: High Definition Audio over HDMI and Display Port489 :doc: High Definition Audio over HDMI and Display Port
490 490
491functions: *function* *[...]*491functions: *[ function ...]*
492 Include documentation for each *function* in *source*.492 Include documentation for each *function* in *source*.
493 If no *function* if specified, the documentaion for all functions
494 and types in the *source* will be included.
493 495
494 Example::496 Examples::
495 497
496 .. kernel-doc:: lib/bitmap.c498 .. kernel-doc:: lib/bitmap.c
497 :functions: bitmap_parselist bitmap_parselist_user499 :functions: bitmap_parselist bitmap_parselist_user
498 500
501 .. kernel-doc:: lib/idr.c
502 :functions:
503
499Without options, the kernel-doc directive includes all documentation comments504Without options, the kernel-doc directive includes all documentation comments
500from the source file.505from the source file.
501 506
Documentation/doc-guide/parse-headers.rst+2−2
@@ -32,7 +32,7 @@ SYNOPSIS · 31 unmodified lines
32 32
33\ **parse_headers.pl**\ [<options>] <C_FILE> <OUT_FILE> [<EXCEPTIONS_FILE>]33\ **parse_headers.pl**\ [<options>] <C_FILE> <OUT_FILE> [<EXCEPTIONS_FILE>]
34 34
35Where <options> can be: --debug, --help or --man.35Where <options> can be: --debug, --help or --usage.
36 36
37 37
38OPTIONS38OPTIONS
@@ -133,7 +133,7 @@ For both statements, \ **type**\ can be either one of the following: · 94 unmodified lines
133 133
134\ **symbol**\134\ **symbol**\
135 135
136 The ignore or replace statement will apply to the name of enum statements136 The ignore or replace statement will apply to the name of enum value
137 at C_FILE.137 at C_FILE.
138 138
139 For replace statements, \ **new_value**\ will automatically use :c:type:139 For replace statements, \ **new_value**\ will automatically use :c:type:
Documentation/doc-guide/sphinx.rst+1−1
@@ -28,7 +28,7 @@ The ReST markups currently used by the Documentation/ files are meant to be · 27 unmodified lines
28built with ``Sphinx`` version 1.3 or upper. If you're desiring to build28built with ``Sphinx`` version 1.3 or upper. If you're desiring to build
29PDF outputs, it is recommended to use version 1.4.6 or upper.29PDF outputs, it is recommended to use version 1.4.6 or upper.
30 30
31There's a script that checks for the Spinx requirements. Please see31There's a script that checks for the Sphinx requirements. Please see
32:ref:`sphinx-pre-install` for further details.32:ref:`sphinx-pre-install` for further details.
33 33
34Most distributions are shipped with Sphinx, but its toolchain is fragile,34Most distributions are shipped with Sphinx, but its toolchain is fragile,
Documentation/driver-api/device_link.rst+8−4
@@ -81,10 +81,14 @@ integration is desired. · 80 unmodified lines
81Two other flags are specifically targeted at use cases where the device81Two other flags are specifically targeted at use cases where the device
82link is added from the consumer's ``->probe`` callback: ``DL_FLAG_RPM_ACTIVE``82link is added from the consumer's ``->probe`` callback: ``DL_FLAG_RPM_ACTIVE``
83can be specified to runtime resume the supplier upon addition of the83can be specified to runtime resume the supplier upon addition of the
84device link. ``DL_FLAG_AUTOREMOVE`` causes the device link to be automatically84device link. ``DL_FLAG_AUTOREMOVE_CONSUMER`` causes the device link to be
85purged when the consumer fails to probe or later unbinds. This obviates85automatically purged when the consumer fails to probe or later unbinds.
86the need to explicitly delete the link in the ``->remove`` callback or in86This obviates the need to explicitly delete the link in the ``->remove``
87the error path of the ``->probe`` callback.87callback or in the error path of the ``->probe`` callback.
88
89Similarly, when the device link is added from supplier's ``->probe`` callback,
90``DL_FLAG_AUTOREMOVE_SUPPLIER`` causes the device link to be automatically
91purged when the supplier fails to probe or later unbinds.
88 92
89Limitations93Limitations
90===========94===========
Documentation/driver-api/firmware/fallback-mechanisms.rst+6−1
@@ -92,7 +92,7 @@ the loading file. · 91 unmodified lines
92 92
93The firmware device used to help load firmware using sysfs is only created if93The firmware device used to help load firmware using sysfs is only created if
94direct firmware loading fails and if the fallback mechanism is enabled for your94direct firmware loading fails and if the fallback mechanism is enabled for your
95firmware request, this is set up with fw_load_from_user_helper(). It is95firmware request, this is set up with :c:func:`firmware_fallback_sysfs`. It is
96important to re-iterate that no device is created if a direct filesystem lookup96important to re-iterate that no device is created if a direct filesystem lookup
97succeeded.97succeeded.
98 98
@@ -108,6 +108,11 @@ firmware_data_read() and firmware_loading_show() are just provided for the · 9 unmodified lines
108test_firmware driver for testing, they are not called in normal use or108test_firmware driver for testing, they are not called in normal use or
109expected to be used regularly by userspace.109expected to be used regularly by userspace.
110 110
111firmware_fallback_sysfs
112-----------------------
113.. kernel-doc:: drivers/base/firmware_loader/fallback.c
114 :functions: firmware_fallback_sysfs
115
111Firmware kobject uevent fallback mechanism116Firmware kobject uevent fallback mechanism
112==========================================117==========================================
113 118
Documentation/driver-api/fpga/fpga-mgr.rst+6−6
@@ -83,7 +83,7 @@ The programming sequence is:: · 82 unmodified lines
83 3. .write_complete83 3. .write_complete
84 84
85The .write_init function will prepare the FPGA to receive the image data. The85The .write_init function will prepare the FPGA to receive the image data. The
86buffer passed into .write_init will be atmost .initial_header_size bytes long,86buffer passed into .write_init will be at most .initial_header_size bytes long;
87if the whole bitstream is not immediately available then the core code will87if the whole bitstream is not immediately available then the core code will
88buffer up at least this much before starting.88buffer up at least this much before starting.
89 89
@@ -98,9 +98,9 @@ scatter list. This interface is suitable for drivers which use DMA. · 8 unmodified lines
98The .write_complete function is called after all the image has been written98The .write_complete function is called after all the image has been written
99to put the FPGA into operating mode.99to put the FPGA into operating mode.
100 100
101The ops include a .state function which will read the hardware FPGA manager and101The ops include a .state function which will determine the state the FPGA is in
102return a code of type enum fpga_mgr_states. It doesn't result in a change in102and return a code of type enum fpga_mgr_states. It doesn't result in a change
103hardware state.103in state.
104 104
105How to write an image buffer to a supported FPGA105How to write an image buffer to a supported FPGA
106------------------------------------------------106------------------------------------------------
@@ -181,8 +181,8 @@ API for implementing a new FPGA Manager driver · 74 unmodified lines
181.. kernel-doc:: drivers/fpga/fpga-mgr.c181.. kernel-doc:: drivers/fpga/fpga-mgr.c
182 :functions: fpga_mgr_unregister182 :functions: fpga_mgr_unregister
183 183
184API for programming a FPGA184API for programming an FPGA
185--------------------------185---------------------------
186 186
187.. kernel-doc:: include/linux/fpga/fpga-mgr.h187.. kernel-doc:: include/linux/fpga/fpga-mgr.h
188 :functions: fpga_image_info188 :functions: fpga_image_info
Documentation/driver-api/fpga/fpga-region.rst+6−6
@@ -4,7 +4,7 @@ FPGA Region · 3 unmodified lines
4Overview4Overview
5--------5--------
6 6
7This document is meant to be an brief overview of the FPGA region API usage. A7This document is meant to be a brief overview of the FPGA region API usage. A
8more conceptual look at regions can be found in the Device Tree binding8more conceptual look at regions can be found in the Device Tree binding
9document [#f1]_.9document [#f1]_.
10 10
@@ -31,11 +31,11 @@ fpga_image_info including: · 20 unmodified lines
31 * pointers to the image as either a scatter-gather buffer, a contiguous31 * pointers to the image as either a scatter-gather buffer, a contiguous
32 buffer, or the name of firmware file32 buffer, or the name of firmware file
33 33
34 * flags indicating specifics such as whether the image if for partial34 * flags indicating specifics such as whether the image is for partial
35 reconfiguration.35 reconfiguration.
36 36
37How to program a FPGA using a region37How to program an FPGA using a region
38------------------------------------38-------------------------------------
39 39
40First, allocate the info struct::40First, allocate the info struct::
41 41
@@ -77,8 +77,8 @@ An example of usage can be seen in the probe function of [#f2]_. · 35 unmodified lines
77.. [#f1] ../devicetree/bindings/fpga/fpga-region.txt77.. [#f1] ../devicetree/bindings/fpga/fpga-region.txt
78.. [#f2] ../../drivers/fpga/of-fpga-region.c78.. [#f2] ../../drivers/fpga/of-fpga-region.c
79 79
80API to program a FGPA80API to program an FPGA
81---------------------81----------------------
82 82
83.. kernel-doc:: drivers/fpga/fpga-region.c83.. kernel-doc:: drivers/fpga/fpga-region.c
84 :functions: fpga_region_program_fpga84 :functions: fpga_region_program_fpga
Documentation/driver-api/fpga/intro.rst+7−7
@@ -12,18 +12,18 @@ Linux. Some of the core intentions of the FPGA subsystems are: · 11 unmodified lines
12 12
13* Code should not be shared between upper and lower layers. This13* Code should not be shared between upper and lower layers. This
14 should go without saying. If that seems necessary, there's probably14 should go without saying. If that seems necessary, there's probably
15 framework functionality that that can be added that will benefit15 framework functionality that can be added that will benefit
16 other users. Write the linux-fpga mailing list and maintainers and16 other users. Write the linux-fpga mailing list and maintainers and
17 seek out a solution that expands the framework for broad reuse.17 seek out a solution that expands the framework for broad reuse.
18 18
19* Generally, when adding code, think of the future. Plan for re-use.19* Generally, when adding code, think of the future. Plan for reuse.
20 20
21The framework in the kernel is divided into:21The framework in the kernel is divided into:
22 22
23FPGA Manager23FPGA Manager
24------------24------------
25 25
26If you are adding a new FPGA or a new method of programming a FPGA,26If you are adding a new FPGA or a new method of programming an FPGA,
27this is the subsystem for you. Low level FPGA manager drivers contain27this is the subsystem for you. Low level FPGA manager drivers contain
28the knowledge of how to program a specific device. This subsystem28the knowledge of how to program a specific device. This subsystem
29includes the framework in fpga-mgr.c and the low level drivers that29includes the framework in fpga-mgr.c and the low level drivers that
@@ -32,10 +32,10 @@ are registered with it. · 2 unmodified lines
32FPGA Bridge32FPGA Bridge
33-----------33-----------
34 34
35FPGA Bridges prevent spurious signals from going out of a FPGA or a35FPGA Bridges prevent spurious signals from going out of an FPGA or a
36region of a FPGA during programming. They are disabled before36region of an FPGA during programming. They are disabled before
37programming begins and re-enabled afterwards. An FPGA bridge may be37programming begins and re-enabled afterwards. An FPGA bridge may be
38actual hard hardware that gates a bus to a cpu or a soft ("freeze")38actual hard hardware that gates a bus to a CPU or a soft ("freeze")
39bridge in FPGA fabric that surrounds a partial reconfiguration region39bridge in FPGA fabric that surrounds a partial reconfiguration region
40of an FPGA. This subsystem includes fpga-bridge.c and the low level40of an FPGA. This subsystem includes fpga-bridge.c and the low level
41drivers that are registered with it.41drivers that are registered with it.
@@ -44,7 +44,7 @@ FPGA Region · 2 unmodified lines
44-----------44-----------
45 45
46If you are adding a new interface to the FPGA framework, add it on top46If you are adding a new interface to the FPGA framework, add it on top
47of a FPGA region to allow the most reuse of your interface.47of an FPGA region to allow the most reuse of your interface.
48 48
49The FPGA Region framework (fpga-region.c) associates managers and49The FPGA Region framework (fpga-region.c) associates managers and
50bridges as reconfigurable regions. A region may refer to the whole50bridges as reconfigurable regions. A region may refer to the whole
Documentation/driver-api/libata.rst+1−2
@@ -118,8 +118,7 @@ PIO data read/write · 117 unmodified lines
118All bmdma-style drivers must implement this hook. This is the low-level118All bmdma-style drivers must implement this hook. This is the low-level
119operation that actually copies the data bytes during a PIO data119operation that actually copies the data bytes during a PIO data
120transfer. Typically the driver will choose one of120transfer. Typically the driver will choose one of
121:c:func:`ata_sff_data_xfer_noirq`, :c:func:`ata_sff_data_xfer`, or121:c:func:`ata_sff_data_xfer`, or :c:func:`ata_sff_data_xfer32`.
122:c:func:`ata_sff_data_xfer32`.
123 122
124ATA command execute123ATA command execute
125~~~~~~~~~~~~~~~~~~~124~~~~~~~~~~~~~~~~~~~
Documentation/driver-api/mtdnand.rst+2−2
@@ -374,7 +374,7 @@ The nand driver supports three different types of hardware ECC. · 373 unmodified lines
374 374
375- NAND_ECC_HW8_512375- NAND_ECC_HW8_512
376 376
377 Hardware ECC generator providing 6 bytes ECC per 512 byte.377 Hardware ECC generator providing 8 bytes ECC per 512 byte.
378 378
379If your hardware generator has a different functionality add it at the379If your hardware generator has a different functionality add it at the
380appropriate place in nand_base.c380appropriate place in nand_base.c
@@ -889,7 +889,7 @@ Use these constants to select the ECC algorithm:: · 508 unmodified lines
889 #define NAND_ECC_HW3_512 3889 #define NAND_ECC_HW3_512 3
890 /* Hardware ECC 6 byte ECC per 512 Byte data */890 /* Hardware ECC 6 byte ECC per 512 Byte data */
891 #define NAND_ECC_HW6_512 4891 #define NAND_ECC_HW6_512 4
892 /* Hardware ECC 6 byte ECC per 512 Byte data */892 /* Hardware ECC 8 byte ECC per 512 Byte data */
893 #define NAND_ECC_HW8_512 6893 #define NAND_ECC_HW8_512 6
894 894
895 895
Documentation/driver-api/slimbus.rst+5−0
@@ -125,3 +125,8 @@ Messaging APIs: · 124 unmodified lines
125~~~~~~~~~~~~~~~125~~~~~~~~~~~~~~~
126.. kernel-doc:: drivers/slimbus/messaging.c126.. kernel-doc:: drivers/slimbus/messaging.c
127 :export:127 :export:
128
129Streaming APIs:
130~~~~~~~~~~~~~~~
131.. kernel-doc:: drivers/slimbus/stream.c
132 :export:
Documentation/driver-api/usb/typec_bus.rst+136−0
@@ -0,0 +1,136 @@
1
2API for USB Type-C Alternate Mode drivers
3=========================================
4
5Introduction
6------------
7
8Alternate modes require communication with the partner using Vendor Defined
9Messages (VDM) as defined in USB Type-C and USB Power Delivery Specifications.
10The communication is SVID (Standard or Vendor ID) specific, i.e. specific for
11every alternate mode, so every alternate mode will need a custom driver.
12
13USB Type-C bus allows binding a driver to the discovered partner alternate
14modes by using the SVID and the mode number.
15
16USB Type-C Connector Class provides a device for every alternate mode a port
17supports, and separate device for every alternate mode the partner supports.
18The drivers for the alternate modes are bound to the partner alternate mode
19devices, and the port alternate mode devices must be handled by the port
20drivers.
21
22When a new partner alternate mode device is registered, it is linked to the
23alternate mode device of the port that the partner is attached to, that has
24matching SVID and mode. Communication between the port driver and alternate mode
25driver will happen using the same API.
26
27The port alternate mode devices are used as a proxy between the partner and the
28alternate mode drivers, so the port drivers are only expected to pass the SVID
29specific commands from the alternate mode drivers to the partner, and from the
30partners to the alternate mode drivers. No direct SVID specific communication is
31needed from the port drivers, but the port drivers need to provide the operation
32callbacks for the port alternate mode devices, just like the alternate mode
33drivers need to provide them for the partner alternate mode devices.
34
35Usage:
36------
37
38General
39~~~~~~~
40
41By default, the alternate mode drivers are responsible for entering the mode.
42It is also possible to leave the decision about entering the mode to the user
43space (See Documentation/ABI/testing/sysfs-class-typec). Port drivers should not
44enter any modes on their own.
45
46``->vdm`` is the most important callback in the operation callbacks vector. It
47will be used to deliver all the SVID specific commands from the partner to the
48alternate mode driver, and vice versa in case of port drivers. The drivers send
49the SVID specific commands to each other using :c:func:`typec_altmode_vmd()`.
50
51If the communication with the partner using the SVID specific commands results
52in need to reconfigure the pins on the connector, the alternate mode driver
53needs to notify the bus using :c:func:`typec_altmode_notify()`. The driver
54passes the negotiated SVID specific pin configuration value to the function as
55parameter. The bus driver will then configure the mux behind the connector using
56that value as the state value for the mux, and also call blocking notification
57chain to notify the external drivers about the state of the connector that need
58to know it.
59
60NOTE: The SVID specific pin configuration values must always start from
61``TYPEC_STATE_MODAL``. USB Type-C specification defines two default states for
62the connector: ``TYPEC_STATE_USB`` and ``TYPEC_STATE_SAFE``. These values are
63reserved by the bus as the first possible values for the state. When the
64alternate mode is entered, the bus will put the connector into
65``TYPEC_STATE_SAFE`` before sending Enter or Exit Mode command as defined in USB
66Type-C Specification, and also put the connector back to ``TYPEC_STATE_USB``
67after the mode has been exited.
68
69An example of working definitions for SVID specific pin configurations would
70look like this:
71
72enum {
73 ALTMODEX_CONF_A = TYPEC_STATE_MODAL,
74 ALTMODEX_CONF_B,
75 ...
76};
77
78Helper macro ``TYPEC_MODAL_STATE()`` can also be used:
79
80#define ALTMODEX_CONF_A = TYPEC_MODAL_STATE(0);
81#define ALTMODEX_CONF_B = TYPEC_MODAL_STATE(1);
82
83Notification chain
84~~~~~~~~~~~~~~~~~~
85
86The drivers for the components that the alternate modes are designed for need to
87get details regarding the results of the negotiation with the partner, and the
88pin configuration of the connector. In case of DisplayPort alternate mode for
89example, the GPU drivers will need to know those details. In case of
90Thunderbolt alternate mode, the thunderbolt drivers will need to know them, and
91so on.
92
93The notification chain is designed for this purpose. The drivers can register
94notifiers with :c:func:`typec_altmode_register_notifier()`.
95
96Cable plug alternate modes
97~~~~~~~~~~~~~~~~~~~~~~~~~~
98
99The alternate mode drivers are not bound to cable plug alternate mode devices,
100only to the partner alternate mode devices. If the alternate mode supports, or
101requires, a cable that responds to SOP Prime, and optionally SOP Double Prime
102messages, the driver for that alternate mode must request handle to the cable
103plug alternate modes using :c:func:`typec_altmode_get_plug()`, and take over
104their control.
105
106Driver API
107----------
108
109Alternate mode driver registering/unregistering
110~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
111
112.. kernel-doc:: drivers/usb/typec/bus.c
113 :functions: typec_altmode_register_driver typec_altmode_unregister_driver
114
115Alternate mode driver operations
116~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
117
118.. kernel-doc:: drivers/usb/typec/bus.c
119 :functions: typec_altmode_enter typec_altmode_exit typec_altmode_attention typec_altmode_vdm typec_altmode_notify
120
121API for the port drivers
122~~~~~~~~~~~~~~~~~~~~~~~~
123
124.. kernel-doc:: drivers/usb/typec/bus.c
125 :functions: typec_match_altmode
126
127Cable Plug operations
128~~~~~~~~~~~~~~~~~~~~~
129
130.. kernel-doc:: drivers/usb/typec/bus.c
131 :functions: typec_altmode_get_plug typec_altmode_put_plug
132
133Notifications
134~~~~~~~~~~~~~
135.. kernel-doc:: drivers/usb/typec/class.c
136 :functions: typec_altmode_register_notifier typec_altmode_unregister_notifier
Documentation/driver-model/devres.txt+1−0
@@ -240,6 +240,7 @@ CLOCK · 239 unmodified lines
240 devm_of_clk_add_hw_provider()240 devm_of_clk_add_hw_provider()
241 241
242DMA242DMA
243 dmaenginem_async_device_register()
243 dmam_alloc_coherent()244 dmam_alloc_coherent()
244 dmam_alloc_attrs()245 dmam_alloc_attrs()
245 dmam_declare_coherent_memory()246 dmam_declare_coherent_memory()
Documentation/early-userspace/README+3−3
@@ -66,17 +66,17 @@ early userspace image can be built by an unprivileged user. · 65 unmodified lines
66 66
67As a technical note, when directories and files are specified, the67As a technical note, when directories and files are specified, the
68entire CONFIG_INITRAMFS_SOURCE is passed to68entire CONFIG_INITRAMFS_SOURCE is passed to
69scripts/gen_initramfs_list.sh. This means that CONFIG_INITRAMFS_SOURCE69usr/gen_initramfs_list.sh. This means that CONFIG_INITRAMFS_SOURCE
70can really be interpreted as any legal argument to70can really be interpreted as any legal argument to
71gen_initramfs_list.sh. If a directory is specified as an argument then71gen_initramfs_list.sh. If a directory is specified as an argument then
72the contents are scanned, uid/gid translation is performed, and72the contents are scanned, uid/gid translation is performed, and
73usr/gen_init_cpio file directives are output. If a directory is73usr/gen_init_cpio file directives are output. If a directory is
74specified as an argument to scripts/gen_initramfs_list.sh then the74specified as an argument to usr/gen_initramfs_list.sh then the
75contents of the file are simply copied to the output. All of the output75contents of the file are simply copied to the output. All of the output
76directives from directory scanning and file contents copying are76directives from directory scanning and file contents copying are
77processed by usr/gen_init_cpio.77processed by usr/gen_init_cpio.
78 78
79See also 'scripts/gen_initramfs_list.sh -h'.79See also 'usr/gen_initramfs_list.sh -h'.
80 80
81Where's this all leading?81Where's this all leading?
82=========================82=========================
Documentation/fb/fbcon.txt+15−14
@@ -18,9 +18,10 @@ made available by the underlying graphics card are also possible. · 17 unmodified lines
18A. Configuration18A. Configuration
19 19
20 The framebuffer console can be enabled by using your favorite kernel20 The framebuffer console can be enabled by using your favorite kernel
21configuration tool. It is under Device Drivers->Graphics Support->Support for21configuration tool. It is under Device Drivers->Graphics Support->Frame
22framebuffer devices->Framebuffer Console Support. Select 'y' to compile22buffer Devices->Console display driver support->Framebuffer Console Support.
23support statically, or 'm' for module support. The module will be fbcon.23Select 'y' to compile support statically or 'm' for module support. The
24module will be fbcon.
24 25
25 In order for fbcon to activate, at least one framebuffer driver is26 In order for fbcon to activate, at least one framebuffer driver is
26required, so choose from any of the numerous drivers available. For x8627required, so choose from any of the numerous drivers available. For x86
@@ -29,10 +30,10 @@ always be available. However, using a chipset-specific driver will give you · 2 unmodified lines
29more speed and features, such as the ability to change the video mode30more speed and features, such as the ability to change the video mode
30dynamically.31dynamically.
31 32
32 To display the penguin logo, choose any logo available in Logo33 To display the penguin logo, choose any logo available in Graphics
33Configuration->Boot up logo.34support->Bootup logo.
34 35
35 Also, you will need to select at least one compiled-in fonts, but if36 Also, you will need to select at least one compiled-in font, but if
36you don't do anything, the kernel configuration tool will select one for you,37you don't do anything, the kernel configuration tool will select one for you,
37usually an 8x16 font.38usually an 8x16 font.
38 39
@@ -135,16 +136,16 @@ C. Boot options · 96 unmodified lines
135 136
136 The angle can be changed anytime afterwards by 'echoing' the same137 The angle can be changed anytime afterwards by 'echoing' the same
137 numbers to any one of the 2 attributes found in138 numbers to any one of the 2 attributes found in
138 /sys/class/graphics/fbcon139 /sys/class/graphics/fbcon:
139 140
140 rotate - rotate the display of the active console141 rotate - rotate the display of the active console
141 rotate_all - rotate the display of all consoles142 rotate_all - rotate the display of all consoles
142 143
143 Console rotation will only become available if Console Rotation144 Console rotation will only become available if Framebuffer Console
144 Support is compiled in your kernel.145 Rotation support is compiled in your kernel.
145 146
146 NOTE: This is purely console rotation. Any other applications that147 NOTE: This is purely console rotation. Any other applications that
147 use the framebuffer will remain at their 'normal'orientation.148 use the framebuffer will remain at their 'normal' orientation.
148 Actually, the underlying fb driver is totally ignorant of console149 Actually, the underlying fb driver is totally ignorant of console
149 rotation.150 rotation.
150 151
@@ -164,7 +165,7 @@ C. Boot options · 13 unmodified lines
164 165
165C. Attaching, Detaching and Unloading166C. Attaching, Detaching and Unloading
166 167
167Before going on how to attach, detach and unload the framebuffer console, an168Before going on to how to attach, detach and unload the framebuffer console, an
168illustration of the dependencies may help.169illustration of the dependencies may help.
169 170
170The console layer, as with most subsystems, needs a driver that interfaces with171The console layer, as with most subsystems, needs a driver that interfaces with
@@ -182,7 +183,7 @@ because fbcon is an intermediate layer between the console and the drivers: · 11 unmodified lines
182 183
183console ---> fbcon ---> fbdev drivers ---> hardware184console ---> fbcon ---> fbdev drivers ---> hardware
184 185
185The fbdev drivers cannot be unloaded if it's bound to fbcon, and fbcon cannot186The fbdev drivers cannot be unloaded if bound to fbcon, and fbcon cannot
186be unloaded if it's bound to the console layer.187be unloaded if it's bound to the console layer.
187 188
188So to unload the fbdev drivers, one must first unbind fbcon from the console,189So to unload the fbdev drivers, one must first unbind fbcon from the console,
@@ -232,7 +233,7 @@ restored properly. The following is one of the several methods that you can do: · 43 unmodified lines
232 echo 0 > /sys/class/vtconsole/vtcon1/bind233 echo 0 > /sys/class/vtconsole/vtcon1/bind
233 234
2346. That's it, you're back to VGA mode. And if you compiled fbcon as a module,2356. That's it, you're back to VGA mode. And if you compiled fbcon as a module,
235 you can unload it by 'rmmod fbcon'236 you can unload it by 'rmmod fbcon'.
236 237
2377. To reattach fbcon:2387. To reattach fbcon:
238 239
@@ -290,7 +291,7 @@ Samples: · 51 unmodified lines
290========291========
291 292
292Here are 2 sample bash scripts that you can use to bind or unbind the293Here are 2 sample bash scripts that you can use to bind or unbind the
293framebuffer console driver if you are in an X86 box:294framebuffer console driver if you are on an X86 box:
294 295
295---------------------------------------------------------------------------296---------------------------------------------------------------------------
296#!/bin/bash297#!/bin/bash
Documentation/features/sched/membarrier-sync-core/arch-support.txt+4−4
@@ -5,10 +5,10 @@ · 4 unmodified lines
5#5#
6# Architecture requirements6# Architecture requirements
7#7#
8# * arm648# * arm/arm64
9#9#
10# Rely on eret context synchronization when returning from IPI handler, and10# Rely on implicit context synchronization as a result of exception return
11# when returning to user-space.11# when returning from IPI handler, and when returning to user-space.
12#12#
13# * x8613# * x86
14#14#
@@ -31,7 +31,7 @@ · 16 unmodified lines
31 -----------------------31 -----------------------
32 | alpha: | TODO |32 | alpha: | TODO |
33 | arc: | TODO |33 | arc: | TODO |
34 | arm: | TODO |34 | arm: | ok |
35 | arm64: | ok |35 | arm64: | ok |
36 | c6x: | TODO |36 | c6x: | TODO |
37 | h8300: | TODO |37 | h8300: | TODO |
Documentation/filesystems/Locking+5−6
@@ -21,8 +21,7 @@ prototypes: · 20 unmodified lines
21 char *(*d_dname)((struct dentry *dentry, char *buffer, int buflen);21 char *(*d_dname)((struct dentry *dentry, char *buffer, int buflen);
22 struct vfsmount *(*d_automount)(struct path *path);22 struct vfsmount *(*d_automount)(struct path *path);
23 int (*d_manage)(const struct path *, bool);23 int (*d_manage)(const struct path *, bool);
24 struct dentry *(*d_real)(struct dentry *, const struct inode *,24 struct dentry *(*d_real)(struct dentry *, const struct inode *);
25 unsigned int, unsigned int);
26 25
27locking rules:26locking rules:
28 rename_lock ->d_lock may block rcu-walk27 rename_lock ->d_lock may block rcu-walk
@@ -64,7 +63,7 @@ prototypes: · 35 unmodified lines
64 void (*update_time)(struct inode *, struct timespec *, int);63 void (*update_time)(struct inode *, struct timespec *, int);
65 int (*atomic_open)(struct inode *, struct dentry *,64 int (*atomic_open)(struct inode *, struct dentry *,
66 struct file *, unsigned open_flag,65 struct file *, unsigned open_flag,
67 umode_t create_mode, int *opened);66 umode_t create_mode);
68 int (*tmpfile) (struct inode *, struct dentry *, umode_t);67 int (*tmpfile) (struct inode *, struct dentry *, umode_t);
69 68
70locking rules:69locking rules:
@@ -532,9 +531,9 @@ More details about quota locking can be found in fs/dquot.c. · 461 unmodified lines
532prototypes:531prototypes:
533 void (*open)(struct vm_area_struct*);532 void (*open)(struct vm_area_struct*);
534 void (*close)(struct vm_area_struct*);533 void (*close)(struct vm_area_struct*);
535 int (*fault)(struct vm_area_struct*, struct vm_fault *);534 vm_fault_t (*fault)(struct vm_area_struct*, struct vm_fault *);
536 int (*page_mkwrite)(struct vm_area_struct *, struct vm_fault *);535 vm_fault_t (*page_mkwrite)(struct vm_area_struct *, struct vm_fault *);
537 int (*pfn_mkwrite)(struct vm_area_struct *, struct vm_fault *);536 vm_fault_t (*pfn_mkwrite)(struct vm_area_struct *, struct vm_fault *);
538 int (*access)(struct vm_area_struct *, unsigned long, void*, int, int);537 int (*access)(struct vm_area_struct *, unsigned long, void*, int, int);
539 538
540locking rules:539locking rules:
Documentation/filesystems/cifs/CHANGES+4−1068
@@ -1,1068 +1,4 @@
1See https://wiki.samba.org/index.php/LinuxCIFSKernel for1See https://wiki.samba.org/index.php/LinuxCIFSKernel for summary
2more current information.2information (that may be easier to read than parsing the output of
3 3"git log fs/cifs") about fixes/improvements to CIFS/SMB2/SMB3 support (changes
4Version 1.624to cifs.ko module) by kernel version (and cifs internal module version).
5------------
6Add sockopt=TCP_NODELAY mount option. EA (xattr) routines hardened
7to more strictly handle corrupt frames.
8
9Version 1.61
10------------
11Fix append problem to Samba servers (files opened with O_APPEND could
12have duplicated data). Fix oops in cifs_lookup. Workaround problem
13mounting to OS/400 Netserve. Fix oops in cifs_get_tcp_session.
14Disable use of server inode numbers when server only
15partially supports them (e.g. for one server querying inode numbers on
16FindFirst fails but QPathInfo queries works). Fix oops with dfs in
17cifs_put_smb_ses. Fix mmap to work on directio mounts (needed
18for OpenOffice when on forcedirectio mount e.g.)
19
20Version 1.60
21-------------
22Fix memory leak in reconnect. Fix oops in DFS mount error path.
23Set s_maxbytes to smaller (the max that vfs can handle) so that
24sendfile will now work over cifs mounts again. Add noforcegid
25and noforceuid mount parameters. Fix small mem leak when using
26ntlmv2. Fix 2nd mount to same server but with different port to
27be allowed (rather than reusing the 1st port) - only when the
28user explicitly overrides the port on the 2nd mount.
29
30Version 1.59
31------------
32Client uses server inode numbers (which are persistent) rather than
33client generated ones by default (mount option "serverino" turned
34on by default if server supports it). Add forceuid and forcegid
35mount options (so that when negotiating unix extensions specifying
36which uid mounted does not immediately force the server's reported
37uids to be overridden). Add support for scope mount parm. Improve
38hard link detection to use same inode for both. Do not set
39read-only dos attribute on directories (for chmod) since Windows
40explorer special cases this attribute bit for directories for
41a different purpose.
42
43Version 1.58
44------------
45Guard against buffer overruns in various UCS-2 to UTF-8 string conversions
46when the UTF-8 string is composed of unusually long (more than 4 byte) converted
47characters. Add support for mounting root of a share which redirects immediately
48to DFS target. Convert string conversion functions from Unicode to more
49accurately mark string length before allocating memory (which may help the
50rare cases where a UTF-8 string is much larger than the UCS2 string that
51we converted from). Fix endianness of the vcnum field used during
52session setup to distinguish multiple mounts to same server from different
53userids. Raw NTLMSSP fixed (it requires /proc/fs/cifs/experimental
54flag to be set to 2, and mount must enable krb5 to turn on extended security).
55Performance of file create to Samba improved (posix create on lookup
56removes 1 of 2 network requests sent on file create)
57
58Version 1.57
59------------
60Improve support for multiple security contexts to the same server. We
61used to use the same "vcnumber" for all connections which could cause
62the server to treat subsequent connections, especially those that
63are authenticated as guest, as reconnections, invalidating the earlier
64user's smb session. This fix allows cifs to mount multiple times to the
65same server with different userids without risking invalidating earlier
66established security contexts. fsync now sends SMB Flush operation
67to better ensure that we wait for server to write all of the data to
68server disk (not just write it over the network). Add new mount
69parameter to allow user to disable sending the (slow) SMB flush on
70fsync if desired (fsync still flushes all cached write data to the server).
71Posix file open support added (turned off after one attempt if server
72fails to support it properly, as with Samba server versions prior to 3.3.2)
73Fix "redzone overwritten" bug in cifs_put_tcon (CIFSTcon may allocate too
74little memory for the "nativeFileSystem" field returned by the server
75during mount). Endian convert inode numbers if necessary (makes it easier
76to compare inode numbers on network files from big endian systems).
77
78Version 1.56
79------------
80Add "forcemandatorylock" mount option to allow user to use mandatory
81rather than posix (advisory) byte range locks, even though server would
82support posix byte range locks. Fix query of root inode when prefixpath
83specified and user does not have access to query information about the
84top of the share. Fix problem in 2.6.28 resolving DFS paths to
85Samba servers (worked to Windows). Fix rmdir so that pending search
86(readdir) requests do not get invalid results which include the now
87removed directory. Fix oops in cifs_dfs_ref.c when prefixpath is not reachable
88when using DFS. Add better file create support to servers which support
89the CIFS POSIX protocol extensions (this adds support for new flags
90on create, and improves semantics for write of locked ranges).
91
92Version 1.55
93------------
94Various fixes to make delete of open files behavior more predictable
95(when delete of an open file fails we mark the file as "delete-on-close"
96in a way that more servers accept, but only if we can first rename the
97file to a temporary name). Add experimental support for more safely
98handling fcntl(F_SETLEASE). Convert cifs to using blocking tcp
99sends, and also let tcp autotune the socket send and receive buffers.
100This reduces the number of EAGAIN errors returned by TCP/IP in
101high stress workloads (and the number of retries on socket writes
102when sending large SMBWriteX requests). Fix case in which a portion of
103data can in some cases not get written to the file on the server before the
104file is closed. Fix DFS parsing to properly handle path consumed field,
105and to handle certain codepage conversions better. Fix mount and
106umount race that can cause oops in mount or umount or reconnect.
107
108Version 1.54
109------------
110Fix premature write failure on congested networks (we would give up
111on EAGAIN from the socket too quickly on large writes).
112Cifs_mkdir and cifs_create now respect the setgid bit on parent dir.
113Fix endian problems in acl (mode from/to cifs acl) on bigendian
114architectures. Fix problems with preserving timestamps on copying open
115files (e.g. "cp -a") to Windows servers. For mkdir and create honor setgid bit
116on parent directory when server supports Unix Extensions but not POSIX
117create. Update cifs.upcall version to handle new Kerberos sec flags
118(this requires update of cifs.upcall program from Samba). Fix memory leak
119on dns_upcall (resolving DFS referralls). Fix plain text password
120authentication (requires setting SecurityFlags to 0x30030 to enable
121lanman and plain text though). Fix writes to be at correct offset when
122file is open with O_APPEND and file is on a directio (forcediretio) mount.
123Fix bug in rewinding readdir directory searches. Add nodfs mount option.
124
125Version 1.53
126------------
127DFS support added (Microsoft Distributed File System client support needed
128for referrals which enable a hierarchical name space among servers).
129Disable temporary caching of mode bits to servers which do not support
130storing of mode (e.g. Windows servers, when client mounts without cifsacl
131mount option) and add new "dynperm" mount option to enable temporary caching
132of mode (enable old behavior). Fix hang on mount caused when server crashes
133tcp session during negotiate protocol.
134
135Version 1.52
136------------
137Fix oops on second mount to server when null auth is used.
138Enable experimental Kerberos support. Return writebehind errors on flush
139and sync so that events like out of disk space get reported properly on
140cached files. Fix setxattr failure to certain Samba versions. Fix mount
141of second share to disconnected server session (autoreconnect on this).
142Add ability to modify cifs acls for handling chmod (when mounted with
143cifsacl flag). Fix prefixpath path separator so we can handle mounts
144with prefixpaths longer than one directory (one path component) when
145mounted to Windows servers. Fix slow file open when cifsacl
146enabled. Fix memory leak in FindNext when the SMB call returns -EBADF.
147
148
149Version 1.51
150------------
151Fix memory leak in statfs when mounted to very old servers (e.g.
152Windows 9x). Add new feature "POSIX open" which allows servers
153which support the current POSIX Extensions to provide better semantics
154(e.g. delete for open files opened with posix open). Take into
155account umask on posix mkdir not just older style mkdir. Add
156ability to mount to IPC$ share (which allows CIFS named pipes to be
157opened, read and written as if they were files). When 1st tree
158connect fails (e.g. due to signing negotiation failure) fix
159leak that causes cifsd not to stop and rmmod to fail to cleanup
160cifs_request_buffers pool. Fix problem with POSIX Open/Mkdir on
161bigendian architectures. Fix possible memory corruption when
162EAGAIN returned on kern_recvmsg. Return better error if server
163requires packet signing but client has disabled it. When mounted
164with cifsacl mount option - mode bits are approximated based
165on the contents of the ACL of the file or directory. When cifs
166mount helper is missing convert make sure that UNC name
167has backslash (not forward slash) between ip address of server
168and the share name.
169
170Version 1.50
171------------
172Fix NTLMv2 signing. NFS server mounted over cifs works (if cifs mount is
173done with "serverino" mount option). Add support for POSIX Unlink
174(helps with certain sharing violation cases when server such as
175Samba supports newer POSIX CIFS Protocol Extensions). Add "nounix"
176mount option to allow disabling the CIFS Unix Extensions for just
177that mount. Fix hang on spinlock in find_writable_file (race when
178reopening file after session crash). Byte range unlock request to
179windows server could unlock more bytes (on server copy of file)
180than intended if start of unlock request is well before start of
181a previous byte range lock that we issued.
182
183Version 1.49
184------------
185IPv6 support. Enable ipv6 addresses to be passed on mount (put the ipv6
186address after the "ip=" mount option, at least until mount.cifs is fixed to
187handle DNS host to ipv6 name translation). Accept override of uid or gid
188on mount even when Unix Extensions are negotiated (it used to be ignored
189when Unix Extensions were ignored). This allows users to override the
190default uid and gid for files when they are certain that the uids or
191gids on the server do not match those of the client. Make "sec=none"
192mount override username (so that null user connection is attempted)
193to match what documentation said. Support for very large reads, over 127K,
194available to some newer servers (such as Samba 3.0.26 and later but
195note that it also requires setting CIFSMaxBufSize at module install
196time to a larger value which may hurt performance in some cases).
197Make sign option force signing (or fail if server does not support it).
198
199Version 1.48
200------------
201Fix mtime bouncing around from local idea of last write times to remote time.
202Fix hang (in i_size_read) when simultaneous size update of same remote file
203on smp system corrupts sequence number. Do not reread unnecessarily partial page
204(which we are about to overwrite anyway) when writing out file opened rw.
205When DOS attribute of file on non-Unix server's file changes on the server side
206from read-only back to read-write, reflect this change in default file mode
207(we had been leaving a file's mode read-only until the inode were reloaded).
208Allow setting of attribute back to ATTR_NORMAL (removing readonly dos attribute
209when archive dos attribute not set and we are changing mode back to writeable
210on server which does not support the Unix Extensions). Remove read only dos
211attribute on chmod when adding any write permission (ie on any of
212user/group/other (not all of user/group/other ie 0222) when
213mounted to windows. Add support for POSIX MkDir (slight performance
214enhancement and eliminates the network race between the mkdir and set
215path info of the mode).
216
217
218Version 1.47
219------------
220Fix oops in list_del during mount caused by unaligned string.
221Fix file corruption which could occur on some large file
222copies caused by writepages page i/o completion bug.
223Seek to SEEK_END forces check for update of file size for non-cached
224files. Allow file size to be updated on remote extend of locally open,
225non-cached file. Fix reconnect to newer Samba servers (or other servers
226which support the CIFS Unix/POSIX extensions) so that we again tell the
227server the Unix/POSIX cifs capabilities which we support (SetFSInfo).
228Add experimental support for new POSIX Open/Mkdir (which returns
229stat information on the open, and allows setting the mode).
230
231Version 1.46
232------------
233Support deep tree mounts. Better support OS/2, Win9x (DOS) time stamps.
234Allow null user to be specified on mount ("username="). Do not return
235EINVAL on readdir when filldir fails due to overwritten blocksize
236(fixes FC problem). Return error in rename 2nd attempt retry (ie report
237if rename by handle also fails, after rename by path fails, we were
238not reporting whether the retry worked or not). Fix NTLMv2 to
239work to Windows servers (mount with option "sec=ntlmv2").
240
241Version 1.45
242------------
243Do not time out lockw calls when using posix extensions. Do not
244time out requests if server still responding reasonably fast
245on requests on other threads. Improve POSIX locking emulation,
246(lock cancel now works, and unlock of merged range works even
247to Windows servers now). Fix oops on mount to lanman servers
248(win9x, os/2 etc.) when null password. Do not send listxattr
249(SMB to query all EAs) if nouser_xattr specified. Fix SE Linux
250problem (instantiate inodes/dentries in right order for readdir).
251
252Version 1.44
253------------
254Rewritten sessionsetup support, including support for legacy SMB
255session setup needed for OS/2 and older servers such as Windows 95 and 98.
256Fix oops on ls to OS/2 servers. Add support for level 1 FindFirst
257so we can do search (ls etc.) to OS/2. Do not send NTCreateX
258or recent levels of FindFirst unless server says it supports NT SMBs
259(instead use legacy equivalents from LANMAN dialect). Fix to allow
260NTLMv2 authentication support (now can use stronger password hashing
261on mount if corresponding /proc/fs/cifs/SecurityFlags is set (0x4004).
262Allow override of global cifs security flags on mount via "sec=" option(s).
263
264Version 1.43
265------------
266POSIX locking to servers which support CIFS POSIX Extensions
267(disabled by default controlled by proc/fs/cifs/Experimental).
268Handle conversion of long share names (especially Asian languages)
269to Unicode during mount. Fix memory leak in sess struct on reconnect.
270Fix rare oops after acpi suspend. Fix O_TRUNC opens to overwrite on
271cifs open which helps rare case when setpathinfo fails or server does
272not support it.
273
274Version 1.42
275------------
276Fix slow oplock break when mounted to different servers at the same time and
277the tids match and we try to find matching fid on wrong server. Fix read
278looping when signing required by server (2.6.16 kernel only). Fix readdir
279vs. rename race which could cause each to hang. Return . and .. even
280if server does not. Allow searches to skip first three entries and
281begin at any location. Fix oops in find_writeable_file.
282
283Version 1.41
284------------
285Fix NTLMv2 security (can be enabled in /proc/fs/cifs) so customers can
286configure stronger authentication. Fix sfu symlinks so they can
287be followed (not just recognized). Fix wraparound of bcc on
288read responses when buffer size over 64K and also fix wrap of
289max smb buffer size when CIFSMaxBufSize over 64K. Fix oops in
290cifs_user_read and cifs_readpages (when EAGAIN on send of smb
291on socket is returned over and over). Add POSIX (advisory) byte range
292locking support (requires server with newest CIFS UNIX Extensions
293to the protocol implemented). Slow down negprot slightly in port 139
294RFC1001 case to give session_init time on buggy servers.
295
296Version 1.40
297------------
298Use fsuid (fsgid) more consistently instead of uid (gid). Improve performance
299of readpages by eliminating one extra memcpy. Allow update of file size
300from remote server even if file is open for write as long as mount is
301directio. Recognize share mode security and send NTLM encrypted password
302on tree connect if share mode negotiated.
303
304Version 1.39
305------------
306Defer close of a file handle slightly if pending writes depend on that handle
307(this reduces the EBADF bad file handle errors that can be logged under heavy
308stress on writes). Modify cifs Kconfig options to expose CONFIG_CIFS_STATS2
309Fix SFU style symlinks and mknod needed for servers which do not support the
310CIFS Unix Extensions. Fix setfacl/getfacl on bigendian. Timeout negative
311dentries so files that the client sees as deleted but that later get created
312on the server will be recognized. Add client side permission check on setattr.
313Timeout stuck requests better (where server has never responded or sent corrupt
314responses)
315
316Version 1.38
317------------
318Fix tcp socket retransmission timeouts (e.g. on ENOSPACE from the socket)
319to be smaller at first (but increasing) so large write performance performance
320over GigE is better. Do not hang thread on illegal byte range lock response
321from Windows (Windows can send an RFC1001 size which does not match smb size) by
322allowing an SMBs TCP length to be up to a few bytes longer than it should be.
323wsize and rsize can now be larger than negotiated buffer size if server
324supports large readx/writex, even when directio mount flag not specified.
325Write size will in many cases now be 16K instead of 4K which greatly helps
326file copy performance on lightly loaded networks. Fix oops in dnotify
327when experimental config flag enabled. Make cifsFYI more granular.
328
329Version 1.37
330------------
331Fix readdir caching when unlink removes file in current search buffer,
332and this is followed by a rewind search to just before the deleted entry.
333Do not attempt to set ctime unless atime and/or mtime change requested
334(most servers throw it away anyway). Fix length check of received smbs
335to be more accurate. Fix big endian problem with mapchars mount option,
336and with a field returned by statfs.
337
338Version 1.36
339------------
340Add support for mounting to older pre-CIFS servers such as Windows9x and ME.
341For these older servers, add option for passing netbios name of server in
342on mount (servernetbiosname). Add suspend support for power management, to
343avoid cifsd thread preventing software suspend from working.
344Add mount option for disabling the default behavior of sending byte range lock
345requests to the server (necessary for certain applications which break with
346mandatory lock behavior such as Evolution), and also mount option for
347requesting case insensitive matching for path based requests (requesting
348case sensitive is the default).
349
350Version 1.35
351------------
352Add writepage performance improvements. Fix path name conversions
353for long filenames on mounts which were done with "mapchars" mount option
354specified. Ensure multiplex ids do not collide. Fix case in which
355rmmod can oops if done soon after last unmount. Fix truncated
356search (readdir) output when resume filename was a long filename.
357Fix filename conversion when mapchars mount option was specified and
358filename was a long filename.
359
360Version 1.34
361------------
362Fix error mapping of the TOO_MANY_LINKS (hardlinks) case.
363Do not oops if root user kills cifs oplock kernel thread or
364kills the cifsd thread (NB: killing the cifs kernel threads is not
365recommended, unmount and rmmod cifs will kill them when they are
366no longer needed). Fix readdir to ASCII servers (ie older servers
367which do not support Unicode) and also require asterisk.
368Fix out of memory case in which data could be written one page
369off in the page cache.
370
371Version 1.33
372------------
373Fix caching problem, in which readdir of directory containing a file
374which was cached could cause the file's time stamp to be updated
375without invalidating the readahead data (so we could get stale
376file data on the client for that file even as the server copy changed).
377Cleanup response processing so cifsd can not loop when abnormally
378terminated.
379
380
381Version 1.32
382------------
383Fix oops in ls when Transact2 FindFirst (or FindNext) returns more than one
384transact response for an SMB request and search entry split across two frames.
385Add support for lsattr (getting ext2/ext3/reiserfs attr flags from the server)
386as new protocol extensions. Do not send Get/Set calls for POSIX ACLs
387unless server explicitly claims to support them in CIFS Unix extensions
388POSIX ACL capability bit. Fix packet signing when multiuser mounting with
389different users from the same client to the same server. Fix oops in
390cifs_close. Add mount option for remapping reserved characters in
391filenames (also allow recognizing files with created by SFU which have any
392of these seven reserved characters, except backslash, to be recognized).
393Fix invalid transact2 message (we were sometimes trying to interpret
394oplock breaks as SMB responses). Add ioctl for checking that the
395current uid matches the uid of the mounter (needed by umount.cifs).
396Reduce the number of large buffer allocations in cifs response processing
397(significantly reduces memory pressure under heavy stress with multiple
398processes accessing the same server at the same time).
399
400Version 1.31
401------------
402Fix updates of DOS attributes and time fields so that files on NT4 servers
403do not get marked delete on close. Display sizes of cifs buffer pools in
404cifs stats. Fix oops in unmount when cifsd thread being killed by
405shutdown. Add generic readv/writev and aio support. Report inode numbers
406consistently in readdir and lookup (when serverino mount option is
407specified use the inode number that the server reports - for both lookup
408and readdir, otherwise by default the locally generated inode number is used
409for inodes created in either path since servers are not always able to
410provide unique inode numbers when exporting multiple volumes from under one
411sharename).
412
413Version 1.30
414------------
415Allow new nouser_xattr mount parm to disable xattr support for user namespace.
416Do not flag user_xattr mount parm in dmesg. Retry failures setting file time
417(mostly affects NT4 servers) by retry with handle based network operation.
418Add new POSIX Query FS Info for returning statfs info more accurately.
419Handle passwords with multiple commas in them.
420
421Version 1.29
422------------
423Fix default mode in sysfs of cifs module parms. Remove old readdir routine.
424Fix capabilities flags for large readx so as to allow reads larger than 64K.
425
426Version 1.28
427------------
428Add module init parm for large SMB buffer size (to allow it to be changed
429from its default of 16K) which is especially useful for large file copy
430when mounting with the directio mount option. Fix oops after
431returning from mount when experimental ExtendedSecurity enabled and
432SpnegoNegotiated returning invalid error. Fix case to retry better when
433peek returns from 1 to 3 bytes on socket which should have more data.
434Fixed path based calls (such as cifs lookup) to handle path names
435longer than 530 (now can handle PATH_MAX). Fix pass through authentication
436from Samba server to DC (Samba required dummy LM password).
437
438Version 1.27
439------------
440Turn off DNOTIFY (directory change notification support) by default
441(unless built with the experimental flag) to fix hang with KDE
442file browser. Fix DNOTIFY flag mappings. Fix hang (in wait_event
443waiting on an SMB response) in SendReceive when session dies but
444reconnects quickly from another task. Add module init parms for
445minimum number of large and small network buffers in the buffer pools,
446and for the maximum number of simultaneous requests.
447
448Version 1.26
449------------
450Add setfacl support to allow setting of ACLs remotely to Samba 3.10 and later
451and other POSIX CIFS compliant servers. Fix error mapping for getfacl
452to EOPNOTSUPP when server does not support posix acls on the wire. Fix
453improperly zeroed buffer in CIFS Unix extensions set times call.
454
455Version 1.25
456------------
457Fix internationalization problem in cifs readdir with filenames that map to
458longer UTF-8 strings than the string on the wire was in Unicode. Add workaround
459for readdir to netapp servers. Fix search rewind (seek into readdir to return
460non-consecutive entries). Do not do readdir when server negotiates
461buffer size to small to fit filename. Add support for reading POSIX ACLs from
462the server (add also acl and noacl mount options).
463
464Version 1.24
465------------
466Optionally allow using server side inode numbers, rather than client generated
467ones by specifying mount option "serverino" - this is required for some apps
468to work which double check hardlinked files and have persistent inode numbers.
469
470Version 1.23
471------------
472Multiple bigendian fixes. On little endian systems (for reconnect after
473network failure) fix tcp session reconnect code so we do not try first
474to reconnect on reverse of port 445. Treat reparse points (NTFS junctions)
475as directories rather than symlinks because we can do follow link on them.
476
477Version 1.22
478------------
479Add config option to enable XATTR (extended attribute) support, mapping
480xattr names in the "user." namespace space to SMB/CIFS EAs. Lots of
481minor fixes pointed out by the Stanford SWAT checker (mostly missing
482or out of order NULL pointer checks in little used error paths).
483
484Version 1.21
485------------
486Add new mount parm to control whether mode check (generic_permission) is done
487on the client. If Unix extensions are enabled and the uids on the client
488and server do not match, client permission checks are meaningless on
489server uids that do not exist on the client (this does not affect the
490normal ACL check which occurs on the server). Fix default uid
491on mknod to match create and mkdir. Add optional mount parm to allow
492override of the default uid behavior (in which the server sets the uid
493and gid of newly created files). Normally for network filesystem mounts
494user want the server to set the uid/gid on newly created files (rather than
495using uid of the client processes you would in a local filesystem).
496
497Version 1.20
498------------
499Make transaction counts more consistent. Merge /proc/fs/cifs/SimultaneousOps
500info into /proc/fs/cifs/DebugData. Fix oops in rare oops in readdir
501(in build_wildcard_path_from_dentry). Fix mknod to pass type field
502(block/char/fifo) properly. Remove spurious mount warning log entry when
503credentials passed as mount argument. Set major/minor device number in
504inode for block and char devices when unix extensions enabled.
505
506Version 1.19
507------------
508Fix /proc/fs/cifs/Stats and DebugData display to handle larger
509amounts of return data. Properly limit requests to MAX_REQ (50
510is the usual maximum active multiplex SMB/CIFS requests per server).
511Do not kill cifsd (and thus hurt the other SMB session) when more than one
512session to the same server (but with different userids) exists and one
513of the two user's smb sessions is being removed while leaving the other.
514Do not loop reconnecting in cifsd demultiplex thread when admin
515kills the thread without going through unmount.
516
517Version 1.18
518------------
519Do not rename hardlinked files (since that should be a noop). Flush
520cached write behind data when reopening a file after session abend,
521except when already in write. Grab per socket sem during reconnect
522to avoid oops in sendmsg if overlapping with reconnect. Do not
523reset cached inode file size on readdir for files open for write on
524client.
525
526
527Version 1.17
528------------
529Update number of blocks in file so du command is happier (in Linux a fake
530blocksize of 512 is required for calculating number of blocks in inode).
531Fix prepare write of partial pages to read in data from server if possible.
532Fix race on tcpStatus field between unmount and reconnection code, causing
533cifsd process sometimes to hang around forever. Improve out of memory
534checks in cifs_filldir
535
536Version 1.16
537------------
538Fix incorrect file size in file handle based setattr on big endian hardware.
539Fix oops in build_path_from_dentry when out of memory. Add checks for invalid
540and closing file structs in writepage/partialpagewrite. Add statistics
541for each mounted share (new menuconfig option). Fix endianness problem in
542volume information displayed in /proc/fs/cifs/DebugData (only affects
543affects big endian architectures). Prevent renames while constructing
544path names for open, mkdir and rmdir.
545
546Version 1.15
547------------
548Change to mempools for alloc smb request buffers and multiplex structs
549to better handle low memory problems (and potential deadlocks).
550
551Version 1.14
552------------
553Fix incomplete listings of large directories on Samba servers when Unix
554extensions enabled. Fix oops when smb_buffer can not be allocated. Fix
555rename deadlock when writing out dirty pages at same time.
556
557Version 1.13
558------------
559Fix open of files in which O_CREATE can cause the mode to change in
560some cases. Fix case in which retry of write overlaps file close.
561Fix PPC64 build error. Reduce excessive stack usage in smb password
562hashing. Fix overwrite of Linux user's view of file mode to Windows servers.
563
564Version 1.12
565------------
566Fixes for large file copy, signal handling, socket retry, buffer
567allocation and low memory situations.
568
569Version 1.11
570------------
571Better port 139 support to Windows servers (RFC1001/RFC1002 Session_Initialize)
572also now allowing support for specifying client netbiosname. NT4 support added.
573
574Version 1.10
575------------
576Fix reconnection (and certain failed mounts) to properly wake up the
577blocked users thread so it does not seem hung (in some cases was blocked
578until the cifs receive timeout expired). Fix spurious error logging
579to kernel log when application with open network files killed.
580
581Version 1.09
582------------
583Fix /proc/fs module unload warning message (that could be logged
584to the kernel log). Fix intermittent failure in connectathon
585test7 (hardlink count not immediately refreshed in case in which
586inode metadata can be incorrectly kept cached when time near zero)
587
588Version 1.08
589------------
590Allow file_mode and dir_mode (specified at mount time) to be enforced
591locally (the server already enforced its own ACLs too) for servers
592that do not report the correct mode (do not support the
593CIFS Unix Extensions).
594
595Version 1.07
596------------
597Fix some small memory leaks in some unmount error paths. Fix major leak
598of cache pages in readpages causing multiple read oriented stress
599testcases (including fsx, and even large file copy) to fail over time.
600
601Version 1.06
602------------
603Send NTCreateX with ATTR_POSIX if Linux/Unix extensions negotiated with server.
604This allows files that differ only in case and improves performance of file
605creation and file open to such servers. Fix semaphore conflict which causes
606slow delete of open file to Samba (which unfortunately can cause an oplock
607break to self while vfs_unlink held i_sem) which can hang for 20 seconds.
608
609Version 1.05
610------------
611fixes to cifs_readpages for fsx test case
612
613Version 1.04
614------------
615Fix caching data integrity bug when extending file size especially when no
616oplock on file. Fix spurious logging of valid already parsed mount options
617that are parsed outside of the cifs vfs such as nosuid.
618
619
620Version 1.03
621------------
622Connect to server when port number override not specified, and tcp port
623unitialized. Reset search to restart at correct file when kernel routine
624filldir returns error during large directory searches (readdir).
625
626Version 1.02
627------------
628Fix caching problem when files opened by multiple clients in which
629page cache could contain stale data, and write through did
630not occur often enough while file was still open when read ahead
631(read oplock) not allowed. Treat "sep=" when first mount option
632as an override of comma as the default separator between mount
633options.
634
635Version 1.01
636------------
637Allow passwords longer than 16 bytes. Allow null password string.
638
639Version 1.00
640------------
641Gracefully clean up failed mounts when attempting to mount to servers such as
642Windows 98 that terminate tcp sessions during protocol negotiation. Handle
643embedded commas in mount parsing of passwords.
644
645Version 0.99
646------------
647Invalidate local inode cached pages on oplock break and when last file
648instance is closed so that the client does not continue using stale local
649copy rather than later modified server copy of file. Do not reconnect
650when server drops the tcp session prematurely before negotiate
651protocol response. Fix oops in reopen_file when dentry freed. Allow
652the support for CIFS Unix Extensions to be disabled via proc interface.
653
654Version 0.98
655------------
656Fix hang in commit_write during reconnection of open files under heavy load.
657Fix unload_nls oops in a mount failure path. Serialize writes to same socket
658which also fixes any possible races when cifs signatures are enabled in SMBs
659being sent out of signature sequence number order.
660
661Version 0.97
662------------
663Fix byte range locking bug (endian problem) causing bad offset and
664length.
665
666Version 0.96
667------------
668Fix oops (in send_sig) caused by CIFS unmount code trying to
669wake up the demultiplex thread after it had exited. Do not log
670error on harmless oplock release of closed handle.
671
672Version 0.95
673------------
674Fix unsafe global variable usage and password hash failure on gcc 3.3.1
675Fix problem reconnecting secondary mounts to same server after session
676failure. Fix invalid dentry - race in mkdir when directory gets created
677by another client between the lookup and mkdir.
678
679Version 0.94
680------------
681Fix to list processing in reopen_files. Fix reconnection when server hung
682but tcpip session still alive. Set proper timeout on socket read.
683
684Version 0.93
685------------
686Add missing mount options including iocharset. SMP fixes in write and open.
687Fix errors in reconnecting after TCP session failure. Fix module unloading
688of default nls codepage
689
690Version 0.92
691------------
692Active smb transactions should never go negative (fix double FreeXid). Fix
693list processing in file routines. Check return code on kmalloc in open.
694Fix spinlock usage for SMP.
695
696Version 0.91
697------------
698Fix oops in reopen_files when invalid dentry. drop dentry on server rename
699and on revalidate errors. Fix cases where pid is now tgid. Fix return code
700on create hard link when server does not support them.
701
702Version 0.90
703------------
704Fix scheduling while atomic error in getting inode info on newly created file.
705Fix truncate of existing files opened with O_CREAT but not O_TRUNC set.
706
707Version 0.89
708------------
709Fix oops on write to dead tcp session. Remove error log write for case when file open
710O_CREAT but not O_EXCL
711
712Version 0.88
713------------
714Fix non-POSIX behavior on rename of open file and delete of open file by taking
715advantage of trans2 SetFileInfo rename facility if available on target server.
716Retry on ENOSPC and EAGAIN socket errors.
717
718Version 0.87
719------------
720Fix oops on big endian readdir. Set blksize to be even power of two (2**blkbits) to fix
721allocation size miscalculation. After oplock token lost do not read through
722cache.
723
724Version 0.86
725------------
726Fix oops on empty file readahead. Fix for file size handling for locally cached files.
727
728Version 0.85
729------------
730Fix oops in mkdir when server fails to return inode info. Fix oops in reopen_files
731during auto reconnection to server after server recovered from failure.
732
733Version 0.84
734------------
735Finish support for Linux 2.5 open/create changes, which removes the
736redundant NTCreate/QPathInfo/close that was sent during file create.
737Enable oplock by default. Enable packet signing by default (needed to
738access many recent Windows servers)
739
740Version 0.83
741------------
742Fix oops when mounting to long server names caused by inverted parms to kmalloc.
743Fix MultiuserMount (/proc/fs/cifs configuration setting) so that when enabled
744we will choose a cifs user session (smb uid) that better matches the local
745uid if a) the mount uid does not match the current uid and b) we have another
746session to the same server (ip address) for a different mount which
747matches the current local uid.
748
749Version 0.82
750------------
751Add support for mknod of block or character devices. Fix oplock
752code (distributed caching) to properly send response to oplock
753break from server.
754
755Version 0.81
756------------
757Finish up CIFS packet digital signing for the default
758NTLM security case. This should help Windows 2003
759network interoperability since it is common for
760packet signing to be required now. Fix statfs (stat -f)
761which recently started returning errors due to
762invalid value (-1 instead of 0) being set in the
763struct kstatfs f_ffiles field.
764
765Version 0.80
766-----------
767Fix oops on stopping oplock thread when removing cifs when
768built as module.
769
770Version 0.79
771------------
772Fix mount options for ro (readonly), uid, gid and file and directory mode.
773
774Version 0.78
775------------
776Fix errors displayed on failed mounts to be more understandable.
777Fixed various incorrect or misleading smb to posix error code mappings.
778
779Version 0.77
780------------
781Fix display of NTFS DFS junctions to display as symlinks.
782They are the network equivalent. Fix oops in
783cifs_partialpagewrite caused by missing spinlock protection
784of openfile linked list. Allow writebehind caching errors to
785be returned to the application at file close.
786
787Version 0.76
788------------
789Clean up options displayed in /proc/mounts by show_options to
790be more consistent with other filesystems.
791
792Version 0.75
793------------
794Fix delete of readonly file to Windows servers. Reflect
795presence or absence of read only dos attribute in mode
796bits for servers that do not support CIFS Unix extensions.
797Fix shortened results on readdir of large directories to
798servers supporting CIFS Unix extensions (caused by
799incorrect resume key).
800
801Version 0.74
802------------
803Fix truncate bug (set file size) that could cause hangs e.g. running fsx
804
805Version 0.73
806------------
807unload nls if mount fails.
808
809Version 0.72
810------------
811Add resume key support to search (readdir) code to workaround
812Windows bug. Add /proc/fs/cifs/LookupCacheEnable which
813allows disabling caching of attribute information for
814lookups.
815
816Version 0.71
817------------
818Add more oplock handling (distributed caching code). Remove
819dead code. Remove excessive stack space utilization from
820symlink routines.
821
822Version 0.70
823------------
824Fix oops in get dfs referral (triggered when null path sent in to
825mount). Add support for overriding rsize at mount time.
826
827Version 0.69
828------------
829Fix buffer overrun in readdir which caused intermittent kernel oopses.
830Fix writepage code to release kmap on write data. Allow "-ip=" new
831mount option to be passed in on parameter distinct from the first part
832(server name portion of) the UNC name. Allow override of the
833tcp port of the target server via new mount option "-port="
834
835Version 0.68
836------------
837Fix search handle leak on rewind. Fix setuid and gid so that they are
838reflected in the local inode immediately. Cleanup of whitespace
839to make 2.4 and 2.5 versions more consistent.
840
841
842Version 0.67
843------------
844Fix signal sending so that captive thread (cifsd) exits on umount
845(which was causing the warning in kmem_cache_free of the request buffers
846at rmmod time). This had broken as a sideeffect of the recent global
847kernel change to daemonize. Fix memory leak in readdir code which
848showed up in "ls -R" (and applications that did search rewinding).
849
850Version 0.66
851------------
852Reconnect tids and fids after session reconnection (still do not
853reconnect byte range locks though). Fix problem caching
854lookup information for directory inodes, improving performance,
855especially in deep directory trees. Fix various build warnings.
856
857Version 0.65
858------------
859Finish fixes to commit write for caching/readahead consistency. fsx
860now works to Samba servers. Fix oops caused when readahead
861was interrupted by a signal.
862
863Version 0.64
864------------
865Fix data corruption (in partial page after truncate) that caused fsx to
866fail to Windows servers. Cleaned up some extraneous error logging in
867common error paths. Add generic sendfile support.
868
869Version 0.63
870------------
871Fix memory leak in AllocMidQEntry.
872Finish reconnection logic, so connection with server can be dropped
873(or server rebooted) and the cifs client will reconnect.
874
875Version 0.62
876------------
877Fix temporary socket leak when bad userid or password specified
878(or other SMBSessSetup failure). Increase maximum buffer size to slightly
879over 16K to allow negotiation of up to Samba and Windows server default read
880sizes. Add support for readpages
881
882Version 0.61
883------------
884Fix oops when username not passed in on mount. Extensive fixes and improvements
885to error logging (strip redundant newlines, change debug macros to ensure newline
886passed in and to be more consistent). Fix writepage wrong file handle problem,
887a readonly file handle could be incorrectly used to attempt to write out
888file updates through the page cache to multiply open files. This could cause
889the iozone benchmark to fail on the fwrite test. Fix bug mounting two different
890shares to the same Windows server when using different usernames
891(doing this to Samba servers worked but Windows was rejecting it) - now it is
892possible to use different userids when connecting to the same server from a
893Linux client. Fix oops when treeDisconnect called during unmount on
894previously freed socket.
895
896Version 0.60
897------------
898Fix oops in readpages caused by not setting address space operations in inode in
899rare code path.
900
901Version 0.59
902------------
903Includes support for deleting of open files and renaming over existing files (per POSIX
904requirement). Add readlink support for Windows junction points (directory symlinks).
905
906Version 0.58
907------------
908Changed read and write to go through pagecache. Added additional address space operations.
909Memory mapped operations now working.
910
911Version 0.57
912------------
913Added writepage code for additional memory mapping support. Fixed leak in xids causing
914the simultaneous operations counter (/proc/fs/cifs/SimultaneousOps) to increase on
915every stat call. Additional formatting cleanup.
916
917Version 0.56
918------------
919Fix bigendian bug in order of time conversion. Merge 2.5 to 2.4 version. Formatting cleanup.
920
921Version 0.55
922------------
923Fixes from Zwane Mwaikambo for adding missing return code checking in a few places.
924Also included a modified version of his fix to protect global list manipulation of
925the smb session and tree connection and mid related global variables.
926
927Version 0.54
928------------
929Fix problem with captive thread hanging around at unmount time. Adjust to 2.5.42-pre
930changes to superblock layout. Remove wasteful allocation of smb buffers (now the send
931buffer is reused for responses). Add more oplock handling. Additional minor cleanup.
932
933Version 0.53
934------------
935More stylistic updates to better match kernel style. Add additional statistics
936for filesystem which can be viewed via /proc/fs/cifs. Add more pieces of NTLMv2
937and CIFS Packet Signing enablement.
938
939Version 0.52
940------------
941Replace call to sleep_on with safer wait_on_event.
942Make stylistic changes to better match kernel style recommendations.
943Remove most typedef usage (except for the PDUs themselves).
944
945Version 0.51
946------------
947Update mount so the -unc mount option is no longer required (the ip address can be specified
948in a UNC style device name. Implementation of readpage/writepage started.
949
950Version 0.50
951------------
952Fix intermittent problem with incorrect smb header checking on badly
953fragmented tcp responses
954
955Version 0.49
956------------
957Fixes to setting of allocation size and file size.
958
959Version 0.48
960------------
961Various 2.5.38 fixes. Now works on 2.5.38
962
963Version 0.47
964------------
965Prepare for 2.5 kernel merge. Remove ifdefs.
966
967Version 0.46
968------------
969Socket buffer management fixes. Fix dual free.
970
971Version 0.45
972------------
973Various big endian fixes for hardlinks and symlinks and also for dfs.
974
975Version 0.44
976------------
977Various big endian fixes for servers with Unix extensions such as Samba
978
979Version 0.43
980------------
981Various FindNext fixes for incorrect filenames on large directory searches on big endian
982clients. basic posix file i/o tests now work on big endian machines, not just le
983
984Version 0.42
985------------
986SessionSetup and NegotiateProtocol now work from Big Endian machines.
987Various Big Endian fixes found during testing on the Linux on 390. Various fixes for compatibility with older
988versions of 2.4 kernel (now builds and works again on kernels at least as early as 2.4.7).
989
990Version 0.41
991------------
992Various minor fixes for Connectathon Posix "basic" file i/o test suite. Directory caching fixed so hardlinked
993files now return the correct number of links on fstat as they are repeatedly linked and unlinked.
994
995Version 0.40
996------------
997Implemented "Raw" (i.e. not encapsulated in SPNEGO) NTLMSSP (i.e. the Security Provider Interface used to negotiate
998session advanced session authentication). Raw NTLMSSP is preferred by Windows 2000 Professional and Windows XP.
999Began implementing support for SPNEGO encapsulation of NTLMSSP based session authentication blobs
1000(which is the mechanism preferred by Windows 2000 server in the absence of Kerberos).
1001
1002Version 0.38
1003------------
1004Introduced optional mount helper utility mount.cifs and made coreq changes to cifs vfs to enable
1005it. Fixed a few bugs in the DFS code (e.g. bcc two bytes too short and incorrect uid in PDU).
1006
1007Version 0.37
1008------------
1009Rewrote much of connection and mount/unmount logic to handle bugs with
1010multiple uses to same share, multiple users to same server etc.
1011
1012Version 0.36
1013------------
1014Fixed major problem with dentry corruption (missing call to dput)
1015
1016Version 0.35
1017------------
1018Rewrite of readdir code to fix bug. Various fixes for bigendian machines.
1019Begin adding oplock support. Multiusermount and oplockEnabled flags added to /proc/fs/cifs
1020although corresponding function not fully implemented in the vfs yet
1021
1022Version 0.34
1023------------
1024Fixed dentry caching bug, misc. cleanup
1025
1026Version 0.33
1027------------
1028Fixed 2.5 support to handle build and configure changes as well as misc. 2.5 changes. Now can build
1029on current 2.5 beta version (2.5.24) of the Linux kernel as well as on 2.4 Linux kernels.
1030Support for STATUS codes (newer 32 bit NT error codes) added. DFS support begun to be added.
1031
1032Version 0.32
1033------------
1034Unix extensions (symlink, readlink, hardlink, chmod and some chgrp and chown) implemented
1035and tested against Samba 2.2.5
1036
1037
1038Version 0.31
1039------------
10401) Fixed lockrange to be correct (it was one byte too short)
1041
10422) Fixed GETLK (i.e. the fcntl call to test a range of bytes in a file to see if locked) to correctly
1043show range as locked when there is a conflict with an existing lock.
1044
10453) default file perms are now 2767 (indicating support for mandatory locks) instead of 777 for directories
1046in most cases. Eventually will offer optional ability to query server for the correct perms.
1047
10483) Fixed eventual trap when mounting twice to different shares on the same server when the first succeeded
1049but the second one was invalid and failed (the second one was incorrectly disconnecting the tcp and smb
1050session)
1051
10524) Fixed error logging of valid mount options
1053
10545) Removed logging of password field.
1055
10566) Moved negotiate, treeDisconnect and uloggoffX (only tConx and SessSetup remain in connect.c) to cifssmb.c
1057and cleaned them up and made them more consistent with other cifs functions.
1058
10597) Server support for Unix extensions is now fully detected and FindFirst is implemented both ways
1060(with or without Unix extensions) but FindNext and QueryPathInfo with the Unix extensions are not completed,
1061nor is the symlink support using the Unix extensions
1062
10638) Started adding the readlink and follow_link code
1064
1065Version 0.3
1066-----------
1067Initial drop
1068
Documentation/filesystems/cifs/README+10−12
@@ -603,8 +603,7 @@ DebugData Displays information about active CIFS sessions and · 602 unmodified lines
603 shares, features enabled as well as the cifs.ko603 shares, features enabled as well as the cifs.ko
604 version.604 version.
605Stats Lists summary resource usage information as well as per605Stats Lists summary resource usage information as well as per
606 share statistics, if CONFIG_CIFS_STATS in enabled606 share statistics.
607 in the kernel configuration.
608 607
609Configuration pseudo-files:608Configuration pseudo-files:
610SecurityFlags Flags which control security negotiation and609SecurityFlags Flags which control security negotiation and
@@ -687,23 +686,22 @@ cifsFYI functions as a bit mask. Setting it to 1 enables additional kernel · 76 unmodified lines
687logging of various informational messages. 2 enables logging of non-zero686logging of various informational messages. 2 enables logging of non-zero
688SMB return codes while 4 enables logging of requests that take longer687SMB return codes while 4 enables logging of requests that take longer
689than one second to complete (except for byte range lock requests). 688than one second to complete (except for byte range lock requests).
690Setting it to 4 requires defining CONFIG_CIFS_STATS2 manually in the689Setting it to 4 requires CONFIG_CIFS_STATS2 to be set in kernel configuration
691source code (typically by setting it in the beginning of cifsglob.h),690(.config). Setting it to seven enables all three. Finally, tracing
692and setting it to seven enables all three. Finally, tracing
693the start of smb requests and responses can be enabled via:691the start of smb requests and responses can be enabled via:
694 692
695 echo 1 > /proc/fs/cifs/traceSMB693 echo 1 > /proc/fs/cifs/traceSMB
696 694
697Per share (per client mount) statistics are available in /proc/fs/cifs/Stats695Per share (per client mount) statistics are available in /proc/fs/cifs/Stats.
698if the kernel was configured with cifs statistics enabled. The statistics696Additional information is available if CONFIG_CIFS_STATS2 is enabled in the
699represent the number of successful (ie non-zero return code from the server) 697kernel configuration (.config). The statistics returned include counters which
700SMB responses to some of the more common commands (open, delete, mkdir etc.).698represent the number of attempted and failed (ie non-zero return code from the
699server) SMB3 (or cifs) requests grouped by request type (read, write, close etc.).
701Also recorded is the total bytes read and bytes written to the server for700Also recorded is the total bytes read and bytes written to the server for
702that share. Note that due to client caching effects this can be less than the701that share. Note that due to client caching effects this can be less than the
703number of bytes read and written by the application running on the client.702number of bytes read and written by the application running on the client.
704The statistics for the number of total SMBs and oplock breaks are different in703Statistics can be reset to zero by "echo 0 > /proc/fs/cifs/Stats" which may be
705that they represent all for that share, not just those for which the server704useful if comparing performance of two different scenarios.
706returned success.
707 705
708Also note that "cat /proc/fs/cifs/DebugData" will display information about706Also note that "cat /proc/fs/cifs/DebugData" will display information about
709the active sessions and the shares that are mounted.707the active sessions and the shares that are mounted.
Documentation/filesystems/ext4/ext4.rstrenamed from Documentation/filesystems/ext4.txt+64−78
@@ -1,6 +1,8 @@
1.. SPDX-License-Identifier: GPL-2.0
1 2
2Ext4 Filesystem3========================
3===============4General Information
5========================
4 6
5Ext4 is an advanced level of the ext3 filesystem which incorporates7Ext4 is an advanced level of the ext3 filesystem which incorporates
6scalability and reliability enhancements for supporting large filesystems8scalability and reliability enhancements for supporting large filesystems
@@ -11,37 +13,30 @@ Mailing list: linux-ext4@vger.kernel.org · 4 unmodified lines
11Web site: http://ext4.wiki.kernel.org13Web site: http://ext4.wiki.kernel.org
12 14
13 15
141. Quick usage instructions:16Quick usage instructions
15===========================17========================
16 18
17Note: More extensive information for getting started with ext4 can be19Note: More extensive information for getting started with ext4 can be
18 found at the ext4 wiki site at the URL:20found at the ext4 wiki site at the URL:
19 http://ext4.wiki.kernel.org/index.php/Ext4_Howto21http://ext4.wiki.kernel.org/index.php/Ext4_Howto
20 22
21 - Compile and install the latest version of e2fsprogs (as of this23 - The latest version of e2fsprogs can be found at:
22 writing version 1.41.3) from:24
25 https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/
23 26
24 http://sourceforge.net/project/showfiles.php?group_id=2406
25
26 or27 or
27 28
28 https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/29 http://sourceforge.net/project/showfiles.php?group_id=2406
29 30
30 or grab the latest git repository from:31 or grab the latest git repository from:
31 32
32 git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git33 https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
33
34 - Note that it is highly important to install the mke2fs.conf file
35 that comes with the e2fsprogs 1.41.x sources in /etc/mke2fs.conf. If
36 you have edited the /etc/mke2fs.conf file installed on your system,
37 you will need to merge your changes with the version from e2fsprogs
38 1.41.x.
39 34
40 - Create a new filesystem using the ext4 filesystem type:35 - Create a new filesystem using the ext4 filesystem type:
41 36
42 # mke2fs -t ext4 /dev/hda137 # mke2fs -t ext4 /dev/hda1
43 38
44 Or to configure an existing ext3 filesystem to support extents: 39 Or to configure an existing ext3 filesystem to support extents:
45 40
46 # tune2fs -O extents /dev/hda141 # tune2fs -O extents /dev/hda1
47 42
@@ -50,10 +45,6 @@ Note: More extensive information for getting started with ext4 can be · 2 unmodified lines
50 45
51 # tune2fs -I 256 /dev/hda146 # tune2fs -I 256 /dev/hda1
52 47
53 (Note: we currently do not have tools to convert an ext4
54 filesystem back to ext3; so please do not do try this on production
55 filesystems.)
56
57 - Mounting:48 - Mounting:
58 49
59 # mount -t ext4 /dev/hda1 /wherever50 # mount -t ext4 /dev/hda1 /wherever
@@ -75,10 +66,11 @@ Note: More extensive information for getting started with ext4 can be · 15 unmodified lines
75 the filesystem with a large journal can also be helpful for66 the filesystem with a large journal can also be helpful for
76 metadata-intensive workloads.67 metadata-intensive workloads.
77 68
782. Features69Features
79===========70========
80 71
812.1 Currently available72Currently Available
73-------------------
82 74
83* ability to use filesystems > 16TB (e2fsprogs support not available yet)75* ability to use filesystems > 16TB (e2fsprogs support not available yet)
84* extent format reduces metadata overhead (RAM, IO for access, transactions)76* extent format reduces metadata overhead (RAM, IO for access, transactions)
@@ -103,31 +95,15 @@ Note: More extensive information for getting started with ext4 can be · 18 unmodified lines
103[1] Filesystems with a block size of 1k may see a limit imposed by the95[1] Filesystems with a block size of 1k may see a limit imposed by the
104directory hash tree having a maximum depth of two.96directory hash tree having a maximum depth of two.
105 97
1062.2 Candidate features for future inclusion98Options
107 99=======
108* online defrag (patches available but not well tested)
109* reduced mke2fs time via lazy itable initialization in conjunction with
110 the uninit_bg feature (capability to do this is available in e2fsprogs
111 but a kernel thread to do lazy zeroing of unused inode table blocks
112 after filesystem is first mounted is required for safety)
113
114There are several others under discussion, whether they all make it in is
115partly a function of how much time everyone has to work on them. Features like
116metadata checksumming have been discussed and planned for a bit but no patches
117exist yet so I'm not sure they're in the near-term roadmap.
118
119The big performance win will come with mballoc, delalloc and flex_bg
120grouping of bitmaps and inode tables. Some test results available here:
121
122 - http://www.bullopensource.org/ext4/20080818-ffsb/ffsb-write-2.6.27-rc1.html
123 - http://www.bullopensource.org/ext4/20080818-ffsb/ffsb-readwrite-2.6.27-rc1.html
124
1253. Options
126==========
127 100
128When mounting an ext4 filesystem, the following option are accepted:101When mounting an ext4 filesystem, the following option are accepted:
129(*) == default102(*) == default
130 103
104======================= =======================================================
105Mount Option Description
106======================= =======================================================
131ro Mount filesystem read only. Note that ext4 will107ro Mount filesystem read only. Note that ext4 will
132 replay the journal (and thus write to the108 replay the journal (and thus write to the
133 partition) even when mounted "read only". The109 partition) even when mounted "read only". The
@@ -387,33 +363,38 @@ i_version Enable 64-bit inode version support. This option is · 253 unmodified lines
387dax Use direct access (no page cache). See363dax Use direct access (no page cache). See
388 Documentation/filesystems/dax.txt. Note that364 Documentation/filesystems/dax.txt. Note that
389 this option is incompatible with data=journal.365 this option is incompatible with data=journal.
366======================= =======================================================
390 367
391Data Mode368Data Mode
392=========369=========
393There are 3 different data modes:370There are 3 different data modes:
394 371
395* writeback mode372* writeback mode
396In data=writeback mode, ext4 does not journal data at all. This mode provides373
397a similar level of journaling as that of XFS, JFS, and ReiserFS in its default374 In data=writeback mode, ext4 does not journal data at all. This mode provides
398mode - metadata journaling. A crash+recovery can cause incorrect data to375 a similar level of journaling as that of XFS, JFS, and ReiserFS in its default
399appear in files which were written shortly before the crash. This mode will376 mode - metadata journaling. A crash+recovery can cause incorrect data to
400typically provide the best ext4 performance.377 appear in files which were written shortly before the crash. This mode will
378 typically provide the best ext4 performance.
401 379
402* ordered mode380* ordered mode
403In data=ordered mode, ext4 only officially journals metadata, but it logically381
404groups metadata information related to data changes with the data blocks into a382 In data=ordered mode, ext4 only officially journals metadata, but it logically
405single unit called a transaction. When it's time to write the new metadata383 groups metadata information related to data changes with the data blocks into
406out to disk, the associated data blocks are written first. In general,384 a single unit called a transaction. When it's time to write the new metadata
407this mode performs slightly slower than writeback but significantly faster than journal mode.385 out to disk, the associated data blocks are written first. In general, this
386 mode performs slightly slower than writeback but significantly faster than
387 journal mode.
408 388
409* journal mode389* journal mode
410data=journal mode provides full data and metadata journaling. All new data is390
411written to the journal first, and then to its final location.391 data=journal mode provides full data and metadata journaling. All new data is
412In the event of a crash, the journal can be replayed, bringing both data and392 written to the journal first, and then to its final location. In the event of
413metadata into a consistent state. This mode is the slowest except when data393 a crash, the journal can be replayed, bringing both data and metadata into a
414needs to be read from and written to disk at the same time where it394 consistent state. This mode is the slowest except when data needs to be read
415outperforms all others modes. Enabling this mode will disable delayed395 from and written to disk at the same time where it outperforms all others
416allocation and O_DIRECT support.396 modes. Enabling this mode will disable delayed allocation and O_DIRECT
397 support.
417 398
418/proc entries399/proc entries
419=============400=============
@@ -425,10 +406,12 @@ Information about mounted ext4 file systems can be found in · 5 unmodified lines
425in table below.406in table below.
426 407
427Files in /proc/fs/ext4/<devname>408Files in /proc/fs/ext4/<devname>
428..............................................................................409
410================ =======
429 File Content411 File Content
412================ =======
430 mb_groups details of multiblock allocator buddy cache of free blocks413 mb_groups details of multiblock allocator buddy cache of free blocks
431..............................................................................414================ =======
432 415
433/sys entries416/sys entries
434============417============
@@ -439,28 +422,30 @@ Information about mounted ext4 file systems can be found in · 4 unmodified lines
439/sys/fs/ext4/dm-0). The files in each per-device directory are shown422/sys/fs/ext4/dm-0). The files in each per-device directory are shown
440in table below.423in table below.
441 424
442Files in /sys/fs/ext4/<devname>425Files in /sys/fs/ext4/<devname>:
426
443(see also Documentation/ABI/testing/sysfs-fs-ext4)427(see also Documentation/ABI/testing/sysfs-fs-ext4)
444..............................................................................
445 File Content
446 428
429============================= =================================================
430File Content
431============================= =================================================
447 delayed_allocation_blocks This file is read-only and shows the number of432 delayed_allocation_blocks This file is read-only and shows the number of
448 blocks that are dirty in the page cache, but433 blocks that are dirty in the page cache, but
449 which do not have their location in the434 which do not have their location in the
450 filesystem allocated yet.435 filesystem allocated yet.
451 436
452 inode_goal Tuning parameter which (if non-zero) controls437inode_goal Tuning parameter which (if non-zero) controls
453 the goal inode used by the inode allocator in438 the goal inode used by the inode allocator in
454 preference to all other allocation heuristics.439 preference to all other allocation heuristics.
455 This is intended for debugging use only, and440 This is intended for debugging use only, and
456 should be 0 on production systems.441 should be 0 on production systems.
457 442
458 inode_readahead_blks Tuning parameter which controls the maximum443inode_readahead_blks Tuning parameter which controls the maximum
459 number of inode table blocks that ext4's inode444 number of inode table blocks that ext4's inode
460 table readahead algorithm will pre-read into445 table readahead algorithm will pre-read into
461 the buffer cache446 the buffer cache
462 447
463 lifetime_write_kbytes This file is read-only and shows the number of448lifetime_write_kbytes This file is read-only and shows the number of
464 kilobytes of data that have been written to this449 kilobytes of data that have been written to this
465 filesystem since it was created.450 filesystem since it was created.
466 451
@@ -508,7 +493,7 @@ Files in /sys/fs/ext4/<devname> · 41 unmodified lines
508 in the file system. If there is not enough space493 in the file system. If there is not enough space
509 for the reserved space when mounting the file494 for the reserved space when mounting the file
510 mount will _not_ fail.495 mount will _not_ fail.
511..............................................................................496============================= =================================================
512 497
513Ioctls498Ioctls
514======499======
@@ -518,8 +503,10 @@ through the system call interfaces. The list of all Ext4 specific ioctls are · 3 unmodified lines
518shown in the table below.503shown in the table below.
519 504
520Table of Ext4 specific ioctls505Table of Ext4 specific ioctls
521..............................................................................506
522 Ioctl Description507============================= =================================================
508Ioctl Description
509============================= =================================================
523 EXT4_IOC_GETFLAGS Get additional attributes associated with inode.510 EXT4_IOC_GETFLAGS Get additional attributes associated with inode.
524 The ioctl argument is an integer bitfield, with511 The ioctl argument is an integer bitfield, with
525 bit values described in ext4.h. This ioctl is an512 bit values described in ext4.h. This ioctl is an
@@ -610,8 +597,7 @@ Table of Ext4 specific ioctls · 84 unmodified lines
610 normal user by accident.597 normal user by accident.
611 The data blocks of the previous boot loader598 The data blocks of the previous boot loader
612 will be associated with the given inode.599 will be associated with the given inode.
613 600============================= =================================================
614..............................................................................
615 601
616References602References
617==========603==========
Documentation/filesystems/ext4/index.rst+17−0
@@ -0,0 +1,17 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3===============
4ext4 Filesystem
5===============
6
7General usage and on-disk artifacts writen by ext4. More documentation may
8be ported from the wiki as time permits. This should be considered the
9canonical source of information as the details here have been reviewed by
10the ext4 community.
11
12.. toctree::
13 :maxdepth: 5
14 :numbered:
15
16 ext4
17 ondisk/index
Documentation/filesystems/ext4/ondisk/about.rst+44−0
@@ -0,0 +1,44 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3About this Book
4===============
5
6This document attempts to describe the on-disk format for ext4
7filesystems. The same general ideas should apply to ext2/3 filesystems
8as well, though they do not support all the features that ext4 supports,
9and the fields will be shorter.
10
11**NOTE**: This is a work in progress, based on notes that the author
12(djwong) made while picking apart a filesystem by hand. The data
13structure definitions should be current as of Linux 4.18 and
14e2fsprogs-1.44. All comments and corrections are welcome, since there is
15undoubtedly plenty of lore that might not be reflected in freshly
16created demonstration filesystems.
17
18License
19-------
20This book is licensed under the terms of the GNU Public License, v2.
21
22Terminology
23-----------
24
25ext4 divides a storage device into an array of logical blocks both to
26reduce bookkeeping overhead and to increase throughput by forcing larger
27transfer sizes. Generally, the block size will be 4KiB (the same size as
28pages on x86 and the block layer's default block size), though the
29actual size is calculated as 2 ^ (10 + ``sb.s_log_block_size``) bytes.
30Throughout this document, disk locations are given in terms of these
31logical blocks, not raw LBAs, and not 1024-byte blocks. For the sake of
32convenience, the logical block size will be referred to as
33``$block_size`` throughout the rest of the document.
34
35When referenced in ``preformatted text`` blocks, ``sb`` refers to fields
36in the super block, and ``inode`` refers to fields in an inode table
37entry.
38
39Other References
40----------------
41
42Also see http://www.nongnu.org/ext2-doc/ for quite a collection of
43information about ext2/3. Here's another old reference:
44http://wiki.osdev.org/Ext2
Documentation/filesystems/ext4/ondisk/allocators.rst+56−0
@@ -0,0 +1,56 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3Block and Inode Allocation Policy
4---------------------------------
5
6ext4 recognizes (better than ext3, anyway) that data locality is
7generally a desirably quality of a filesystem. On a spinning disk,
8keeping related blocks near each other reduces the amount of movement
9that the head actuator and disk must perform to access a data block,
10thus speeding up disk IO. On an SSD there of course are no moving parts,
11but locality can increase the size of each transfer request while
12reducing the total number of requests. This locality may also have the
13effect of concentrating writes on a single erase block, which can speed
14up file rewrites significantly. Therefore, it is useful to reduce
15fragmentation whenever possible.
16
17The first tool that ext4 uses to combat fragmentation is the multi-block
18allocator. When a file is first created, the block allocator
19speculatively allocates 8KiB of disk space to the file on the assumption
20that the space will get written soon. When the file is closed, the
21unused speculative allocations are of course freed, but if the
22speculation is correct (typically the case for full writes of small
23files) then the file data gets written out in a single multi-block
24extent. A second related trick that ext4 uses is delayed allocation.
25Under this scheme, when a file needs more blocks to absorb file writes,
26the filesystem defers deciding the exact placement on the disk until all
27the dirty buffers are being written out to disk. By not committing to a
28particular placement until it's absolutely necessary (the commit timeout
29is hit, or sync() is called, or the kernel runs out of memory), the hope
30is that the filesystem can make better location decisions.
31
32The third trick that ext4 (and ext3) uses is that it tries to keep a
33file's data blocks in the same block group as its inode. This cuts down
34on the seek penalty when the filesystem first has to read a file's inode
35to learn where the file's data blocks live and then seek over to the
36file's data blocks to begin I/O operations.
37
38The fourth trick is that all the inodes in a directory are placed in the
39same block group as the directory, when feasible. The working assumption
40here is that all the files in a directory might be related, therefore it
41is useful to try to keep them all together.
42
43The fifth trick is that the disk volume is cut up into 128MB block
44groups; these mini-containers are used as outlined above to try to
45maintain data locality. However, there is a deliberate quirk -- when a
46directory is created in the root directory, the inode allocator scans
47the block groups and puts that directory into the least heavily loaded
48block group that it can find. This encourages directories to spread out
49over a disk; as the top-level directory/file blobs fill up one block
50group, the allocators simply move on to the next block group. Allegedly
51this scheme evens out the loading on the block groups, though the author
52suspects that the directories which are so unlucky as to land towards
53the end of a spinning drive get a raw deal performance-wise.
54
55Of course if all of these mechanisms fail, one can always use e4defrag
56to defragment files.
Documentation/filesystems/ext4/ondisk/attributes.rst+191−0
@@ -0,0 +1,191 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3Extended Attributes
4-------------------
5
6Extended attributes (xattrs) are typically stored in a separate data
7block on the disk and referenced from inodes via ``inode.i_file_acl*``.
8The first use of extended attributes seems to have been for storing file
9ACLs and other security data (selinux). With the ``user_xattr`` mount
10option it is possible for users to store extended attributes so long as
11all attribute names begin with “user”; this restriction seems to have
12disappeared as of Linux 3.0.
13
14There are two places where extended attributes can be found. The first
15place is between the end of each inode entry and the beginning of the
16next inode entry. For example, if inode.i\_extra\_isize = 28 and
17sb.inode\_size = 256, then there are 256 - (128 + 28) = 100 bytes
18available for in-inode extended attribute storage. The second place
19where extended attributes can be found is in the block pointed to by
20``inode.i_file_acl``. As of Linux 3.11, it is not possible for this
21block to contain a pointer to a second extended attribute block (or even
22the remaining blocks of a cluster). In theory it is possible for each
23attribute's value to be stored in a separate data block, though as of
24Linux 3.11 the code does not permit this.
25
26Keys are generally assumed to be ASCIIZ strings, whereas values can be
27strings or binary data.
28
29Extended attributes, when stored after the inode, have a header
30``ext4_xattr_ibody_header`` that is 4 bytes long:
31
32.. list-table::
33 :widths: 1 1 1 77
34 :header-rows: 1
35
36 * - Offset
37 - Type
38 - Name
39 - Description
40 * - 0x0
41 - \_\_le32
42 - h\_magic
43 - Magic number for identification, 0xEA020000. This value is set by the
44 Linux driver, though e2fsprogs doesn't seem to check it(?)
45
46The beginning of an extended attribute block is in
47``struct ext4_xattr_header``, which is 32 bytes long:
48
49.. list-table::
50 :widths: 1 1 1 77
51 :header-rows: 1
52
53 * - Offset
54 - Type
55 - Name
56 - Description
57 * - 0x0
58 - \_\_le32
59 - h\_magic
60 - Magic number for identification, 0xEA020000.
61 * - 0x4
62 - \_\_le32
63 - h\_refcount
64 - Reference count.
65 * - 0x8
66 - \_\_le32
67 - h\_blocks
68 - Number of disk blocks used.
69 * - 0xC
70 - \_\_le32
71 - h\_hash
72 - Hash value of all attributes.
73 * - 0x10
74 - \_\_le32
75 - h\_checksum
76 - Checksum of the extended attribute block.
77 * - 0x14
78 - \_\_u32
79 - h\_reserved[2]
80 - Zero.
81
82The checksum is calculated against the FS UUID, the 64-bit block number
83of the extended attribute block, and the entire block (header +
84entries).
85
86Following the ``struct ext4_xattr_header`` or
87``struct ext4_xattr_ibody_header`` is an array of
88``struct ext4_xattr_entry``; each of these entries is at least 16 bytes
89long. When stored in an external block, the ``struct ext4_xattr_entry``
90entries must be stored in sorted order. The sort order is
91``e_name_index``, then ``e_name_len``, and finally ``e_name``.
92Attributes stored inside an inode do not need be stored in sorted order.
93
94.. list-table::
95 :widths: 1 1 1 77
96 :header-rows: 1
97
98 * - Offset
99 - Type
100 - Name
101 - Description
102 * - 0x0
103 - \_\_u8
104 - e\_name\_len
105 - Length of name.
106 * - 0x1
107 - \_\_u8
108 - e\_name\_index
109 - Attribute name index. There is a discussion of this below.
110 * - 0x2
111 - \_\_le16
112 - e\_value\_offs
113 - Location of this attribute's value on the disk block where it is stored.
114 Multiple attributes can share the same value. For an inode attribute
115 this value is relative to the start of the first entry; for a block this
116 value is relative to the start of the block (i.e. the header).
117 * - 0x4
118 - \_\_le32
119 - e\_value\_inum
120 - The inode where the value is stored. Zero indicates the value is in the
121 same block as this entry. This field is only used if the
122 INCOMPAT\_EA\_INODE feature is enabled.
123 * - 0x8
124 - \_\_le32
125 - e\_value\_size
126 - Length of attribute value.
127 * - 0xC
128 - \_\_le32
129 - e\_hash
130 - Hash value of attribute name and attribute value. The kernel doesn't
131 update the hash for in-inode attributes, so for that case this value
132 must be zero, because e2fsck validates any non-zero hash regardless of
133 where the xattr lives.
134 * - 0x10
135 - char
136 - e\_name[e\_name\_len]
137 - Attribute name. Does not include trailing NULL.
138
139Attribute values can follow the end of the entry table. There appears to
140be a requirement that they be aligned to 4-byte boundaries. The values
141are stored starting at the end of the block and grow towards the
142xattr\_header/xattr\_entry table. When the two collide, the overflow is
143put into a separate disk block. If the disk block fills up, the
144filesystem returns -ENOSPC.
145
146The first four fields of the ``ext4_xattr_entry`` are set to zero to
147mark the end of the key list.
148
149Attribute Name Indices
150~~~~~~~~~~~~~~~~~~~~~~
151
152Logically speaking, extended attributes are a series of key=value pairs.
153The keys are assumed to be NULL-terminated strings. To reduce the amount
154of on-disk space that the keys consume, the beginning of the key string
155is matched against the attribute name index. If a match is found, the
156attribute name index field is set, and matching string is removed from
157the key name. Here is a map of name index values to key prefixes:
158
159.. list-table::
160 :widths: 1 79
161 :header-rows: 1
162
163 * - Name Index
164 - Key Prefix
165 * - 0
166 - (no prefix)
167 * - 1
168 - “user.”
169 * - 2
170 - “system.posix\_acl\_access”
171 * - 3
172 - “system.posix\_acl\_default”
173 * - 4
174 - “trusted.”
175 * - 6
176 - “security.”
177 * - 7
178 - “system.” (inline\_data only?)
179 * - 8
180 - “system.richacl” (SuSE kernels only?)
181
182For example, if the attribute key is “user.fubar”, the attribute name
183index is set to 1 and the “fubar” name is recorded on disk.
184
185POSIX ACLs
186~~~~~~~~~~
187
188POSIX ACLs are stored in a reduced version of the Linux kernel (and
189libacl's) internal ACL format. The key difference is that the version
190number is different (1) and the ``e_id`` field is only stored for named
191user and group ACLs.
Documentation/filesystems/ext4/ondisk/bigalloc.rst+22−0
@@ -0,0 +1,22 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3Bigalloc
4--------
5
6At the moment, the default size of a block is 4KiB, which is a commonly
7supported page size on most MMU-capable hardware. This is fortunate, as
8ext4 code is not prepared to handle the case where the block size
9exceeds the page size. However, for a filesystem of mostly huge files,
10it is desirable to be able to allocate disk blocks in units of multiple
11blocks to reduce both fragmentation and metadata overhead. The
12`bigalloc <Bigalloc>`__ feature provides exactly this ability. The
13administrator can set a block cluster size at mkfs time (which is stored
14in the s\_log\_cluster\_size field in the superblock); from then on, the
15block bitmaps track clusters, not individual blocks. This means that
16block groups can be several gigabytes in size (instead of just 128MiB);
17however, the minimum allocation unit becomes a cluster, not a block,
18even for directories. TaoBao had a patchset to extend the “use units of
19clusters instead of blocks” to the extent tree, though it is not clear
20where those patches went-- they eventually morphed into “extent tree v2”
21but that code has not landed as of May 2015.
22
Documentation/filesystems/ext4/ondisk/bitmaps.rst+28−0
@@ -0,0 +1,28 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3Block and inode Bitmaps
4-----------------------
5
6The data block bitmap tracks the usage of data blocks within the block
7group.
8
9The inode bitmap records which entries in the inode table are in use.
10
11As with most bitmaps, one bit represents the usage status of one data
12block or inode table entry. This implies a block group size of 8 \*
13number\_of\_bytes\_in\_a\_logical\_block.
14
15NOTE: If ``BLOCK_UNINIT`` is set for a given block group, various parts
16of the kernel and e2fsprogs code pretends that the block bitmap contains
17zeros (i.e. all blocks in the group are free). However, it is not
18necessarily the case that no blocks are in use -- if ``meta_bg`` is set,
19the bitmaps and group descriptor live inside the group. Unfortunately,
20ext2fs\_test\_block\_bitmap2() will return '0' for those locations,
21which produces confusing debugfs output.
22
23Inode Table
24-----------
25Inode tables are statically allocated at mkfs time. Each block group
26descriptor points to the start of the table, and the superblock records
27the number of inodes per group. See the section on inodes for more
28information.
Documentation/filesystems/ext4/ondisk/blockgroup.rst+135−0
@@ -0,0 +1,135 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3Layout
4------
5
6The layout of a standard block group is approximately as follows (each
7of these fields is discussed in a separate section below):
8
9.. list-table::
10 :widths: 1 1 1 1 1 1 1 1
11 :header-rows: 1
12
13 * - Group 0 Padding
14 - ext4 Super Block
15 - Group Descriptors
16 - Reserved GDT Blocks
17 - Data Block Bitmap
18 - inode Bitmap
19 - inode Table
20 - Data Blocks
21 * - 1024 bytes
22 - 1 block
23 - many blocks
24 - many blocks
25 - 1 block
26 - 1 block
27 - many blocks
28 - many more blocks
29
30For the special case of block group 0, the first 1024 bytes are unused,
31to allow for the installation of x86 boot sectors and other oddities.
32The superblock will start at offset 1024 bytes, whichever block that
33happens to be (usually 0). However, if for some reason the block size =
341024, then block 0 is marked in use and the superblock goes in block 1.
35For all other block groups, there is no padding.
36
37The ext4 driver primarily works with the superblock and the group
38descriptors that are found in block group 0. Redundant copies of the
39superblock and group descriptors are written to some of the block groups
40across the disk in case the beginning of the disk gets trashed, though
41not all block groups necessarily host a redundant copy (see following
42paragraph for more details). If the group does not have a redundant
43copy, the block group begins with the data block bitmap. Note also that
44when the filesystem is freshly formatted, mkfs will allocate “reserve
45GDT block” space after the block group descriptors and before the start
46of the block bitmaps to allow for future expansion of the filesystem. By
47default, a filesystem is allowed to increase in size by a factor of
481024x over the original filesystem size.
49
50The location of the inode table is given by ``grp.bg_inode_table_*``. It
51is continuous range of blocks large enough to contain
52``sb.s_inodes_per_group * sb.s_inode_size`` bytes.
53
54As for the ordering of items in a block group, it is generally
55established that the super block and the group descriptor table, if
56present, will be at the beginning of the block group. The bitmaps and
57the inode table can be anywhere, and it is quite possible for the
58bitmaps to come after the inode table, or for both to be in different
59groups (flex\_bg). Leftover space is used for file data blocks, indirect
60block maps, extent tree blocks, and extended attributes.
61
62Flexible Block Groups
63---------------------
64
65Starting in ext4, there is a new feature called flexible block groups
66(flex\_bg). In a flex\_bg, several block groups are tied together as one
67logical block group; the bitmap spaces and the inode table space in the
68first block group of the flex\_bg are expanded to include the bitmaps
69and inode tables of all other block groups in the flex\_bg. For example,
70if the flex\_bg size is 4, then group 0 will contain (in order) the
71superblock, group descriptors, data block bitmaps for groups 0-3, inode
72bitmaps for groups 0-3, inode tables for groups 0-3, and the remaining
73space in group 0 is for file data. The effect of this is to group the
74block metadata close together for faster loading, and to enable large
75files to be continuous on disk. Backup copies of the superblock and
76group descriptors are always at the beginning of block groups, even if
77flex\_bg is enabled. The number of block groups that make up a flex\_bg
78is given by 2 ^ ``sb.s_log_groups_per_flex``.
79
80Meta Block Groups
81-----------------
82
83Without the option META\_BG, for safety concerns, all block group
84descriptors copies are kept in the first block group. Given the default
85128MiB(2^27 bytes) block group size and 64-byte group descriptors, ext4
86can have at most 2^27/64 = 2^21 block groups. This limits the entire
87filesystem size to 2^21 ∗ 2^27 = 2^48bytes or 256TiB.
88
89The solution to this problem is to use the metablock group feature
90(META\_BG), which is already in ext3 for all 2.6 releases. With the
91META\_BG feature, ext4 filesystems are partitioned into many metablock
92groups. Each metablock group is a cluster of block groups whose group
93descriptor structures can be stored in a single disk block. For ext4
94filesystems with 4 KB block size, a single metablock group partition
95includes 64 block groups, or 8 GiB of disk space. The metablock group
96feature moves the location of the group descriptors from the congested
97first block group of the whole filesystem into the first group of each
98metablock group itself. The backups are in the second and last group of
99each metablock group. This increases the 2^21 maximum block groups limit
100to the hard limit 2^32, allowing support for a 512PiB filesystem.
101
102The change in the filesystem format replaces the current scheme where
103the superblock is followed by a variable-length set of block group
104descriptors. Instead, the superblock and a single block group descriptor
105block is placed at the beginning of the first, second, and last block
106groups in a meta-block group. A meta-block group is a collection of
107block groups which can be described by a single block group descriptor
108block. Since the size of the block group descriptor structure is 32
109bytes, a meta-block group contains 32 block groups for filesystems with
110a 1KB block size, and 128 block groups for filesystems with a 4KB
111blocksize. Filesystems can either be created using this new block group
112descriptor layout, or existing filesystems can be resized on-line, and
113the field s\_first\_meta\_bg in the superblock will indicate the first
114block group using this new layout.
115
116Please see an important note about ``BLOCK_UNINIT`` in the section about
117block and inode bitmaps.
118
119Lazy Block Group Initialization
120-------------------------------
121
122A new feature for ext4 are three block group descriptor flags that
123enable mkfs to skip initializing other parts of the block group
124metadata. Specifically, the INODE\_UNINIT and BLOCK\_UNINIT flags mean
125that the inode and block bitmaps for that group can be calculated and
126therefore the on-disk bitmap blocks are not initialized. This is
127generally the case for an empty block group or a block group containing
128only fixed-location block group metadata. The INODE\_ZEROED flag means
129that the inode table has been initialized; mkfs will unset this flag and
130rely on the kernel to initialize the inode tables in the background.
131
132By not writing zeroes to the bitmaps and inode table, mkfs time is
133reduced considerably. Note the feature flag is RO\_COMPAT\_GDT\_CSUM,
134but the dumpe2fs output prints this as “uninit\_bg”. They are the same
135thing.
Documentation/filesystems/ext4/ondisk/blockmap.rst+49−0
@@ -0,0 +1,49 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
4| i.i\_block Offset | Where It Points |
5+=====================+==============================================================================================================================================================================================================================+
6| 0 to 11 | Direct map to file blocks 0 to 11. |
7+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
8| 12 | Indirect block: (file blocks 12 to (``$block_size`` / 4) + 11, or 12 to 1035 if 4KiB blocks) |
9| | |
10| | +------------------------------+--------------------------------------------------------------------+ |
11| | | Indirect Block Offset | Where It Points | |
12| | +==============================+====================================================================+ |
13| | | 0 to (``$block_size`` / 4) | Direct map to (``$block_size`` / 4) blocks (1024 if 4KiB blocks) | |
14| | +------------------------------+--------------------------------------------------------------------+ |
15+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
16| 13 | Double-indirect block: (file blocks ``$block_size``/4 + 12 to (``$block_size`` / 4) ^ 2 + (``$block_size`` / 4) + 11, or 1036 to 1049611 if 4KiB blocks) |
17| | |
18| | +--------------------------------+---------------------------------------------------------------------------------------------------------+ |
19| | | Double Indirect Block Offset | Where It Points | |
20| | +================================+=========================================================================================================+ |
21| | | 0 to (``$block_size`` / 4) | Map to (``$block_size`` / 4) indirect blocks (1024 if 4KiB blocks) | |
22| | | | | |
23| | | | +------------------------------+--------------------------------------------------------------------+ | |
24| | | | | Indirect Block Offset | Where It Points | | |
25| | | | +==============================+====================================================================+ | |
26| | | | | 0 to (``$block_size`` / 4) | Direct map to (``$block_size`` / 4) blocks (1024 if 4KiB blocks) | | |
27| | | | +------------------------------+--------------------------------------------------------------------+ | |
28| | +--------------------------------+---------------------------------------------------------------------------------------------------------+ |
29+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
30| 14 | Triple-indirect block: (file blocks (``$block_size`` / 4) ^ 2 + (``$block_size`` / 4) + 12 to (``$block_size`` / 4) ^ 3 + (``$block_size`` / 4) ^ 2 + (``$block_size`` / 4) + 12, or 1049612 to 1074791436 if 4KiB blocks) |
31| | |
32| | +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ |
33| | | Triple Indirect Block Offset | Where It Points | |
34| | +================================+================================================================================================================================================+ |
35| | | 0 to (``$block_size`` / 4) | Map to (``$block_size`` / 4) double indirect blocks (1024 if 4KiB blocks) | |
36| | | | | |
37| | | | +--------------------------------+---------------------------------------------------------------------------------------------------------+ | |
38| | | | | Double Indirect Block Offset | Where It Points | | |
39| | | | +================================+=========================================================================================================+ | |
40| | | | | 0 to (``$block_size`` / 4) | Map to (``$block_size`` / 4) indirect blocks (1024 if 4KiB blocks) | | |
41| | | | | | | | |
42| | | | | | +------------------------------+--------------------------------------------------------------------+ | | |
43| | | | | | | Indirect Block Offset | Where It Points | | | |
44| | | | | | +==============================+====================================================================+ | | |
45| | | | | | | 0 to (``$block_size`` / 4) | Direct map to (``$block_size`` / 4) blocks (1024 if 4KiB blocks) | | | |
46| | | | | | +------------------------------+--------------------------------------------------------------------+ | | |
47| | | | +--------------------------------+---------------------------------------------------------------------------------------------------------+ | |
48| | +--------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+ |
49+---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Documentation/filesystems/ext4/ondisk/blocks.rst+142−0
@@ -0,0 +1,142 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3Blocks
4------
5
6ext4 allocates storage space in units of “blocks”. A block is a group of
7sectors between 1KiB and 64KiB, and the number of sectors must be an
8integral power of 2. Blocks are in turn grouped into larger units called
9block groups. Block size is specified at mkfs time and typically is
104KiB. You may experience mounting problems if block size is greater than
11page size (i.e. 64KiB blocks on a i386 which only has 4KiB memory
12pages). By default a filesystem can contain 2^32 blocks; if the '64bit'
13feature is enabled, then a filesystem can have 2^64 blocks.
14
15For 32-bit filesystems, limits are as follows:
16
17.. list-table::
18 :widths: 1 1 1 1 1
19 :header-rows: 1
20
21 * - Item
22 - 1KiB
23 - 2KiB
24 - 4KiB
25 - 64KiB
26 * - Blocks
27 - 2^32
28 - 2^32
29 - 2^32
30 - 2^32
31 * - Inodes
32 - 2^32
33 - 2^32
34 - 2^32
35 - 2^32
36 * - File System Size
37 - 4TiB
38 - 8TiB
39 - 16TiB
40 - 256PiB
41 * - Blocks Per Block Group
42 - 8,192
43 - 16,384
44 - 32,768
45 - 524,288
46 * - Inodes Per Block Group
47 - 8,192
48 - 16,384
49 - 32,768
50 - 524,288
51 * - Block Group Size
52 - 8MiB
53 - 32MiB
54 - 128MiB
55 - 32GiB
56 * - Blocks Per File, Extents
57 - 2^32
58 - 2^32
59 - 2^32
60 - 2^32
61 * - Blocks Per File, Block Maps
62 - 16,843,020
63 - 134,480,396
64 - 1,074,791,436
65 - 4,398,314,962,956 (really 2^32 due to field size limitations)
66 * - File Size, Extents
67 - 4TiB
68 - 8TiB
69 - 16TiB
70 - 256TiB
71 * - File Size, Block Maps
72 - 16GiB
73 - 256GiB
74 - 4TiB
75 - 256TiB
76
77For 64-bit filesystems, limits are as follows:
78
79.. list-table::
80 :widths: 1 1 1 1 1
81 :header-rows: 1
82
83 * - Item
84 - 1KiB
85 - 2KiB
86 - 4KiB
87 - 64KiB
88 * - Blocks
89 - 2^64
90 - 2^64
91 - 2^64
92 - 2^64
93 * - Inodes
94 - 2^32
95 - 2^32
96 - 2^32
97 - 2^32
98 * - File System Size
99 - 16ZiB
100 - 32ZiB
101 - 64ZiB
102 - 1YiB
103 * - Blocks Per Block Group
104 - 8,192
105 - 16,384
106 - 32,768
107 - 524,288
108 * - Inodes Per Block Group
109 - 8,192
110 - 16,384
111 - 32,768
112 - 524,288
113 * - Block Group Size
114 - 8MiB
115 - 32MiB
116 - 128MiB
117 - 32GiB
118 * - Blocks Per File, Extents
119 - 2^32
120 - 2^32
121 - 2^32
122 - 2^32
123 * - Blocks Per File, Block Maps
124 - 16,843,020
125 - 134,480,396
126 - 1,074,791,436
127 - 4,398,314,962,956 (really 2^32 due to field size limitations)
128 * - File Size, Extents
129 - 4TiB
130 - 8TiB
131 - 16TiB
132 - 256TiB
133 * - File Size, Block Maps
134 - 16GiB
135 - 256GiB
136 - 4TiB
137 - 256TiB
138
139Note: Files not using extents (i.e. files using block maps) must be
140placed within the first 2^32 blocks of a filesystem. Files with extents
141must be placed within the first 2^48 blocks of a filesystem. It's not
142clear what happens with larger filesystems.
Documentation/filesystems/ext4/ondisk/checksums.rst+73−0
@@ -0,0 +1,73 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3Checksums
4---------
5
6Starting in early 2012, metadata checksums were added to all major ext4
7and jbd2 data structures. The associated feature flag is metadata\_csum.
8The desired checksum algorithm is indicated in the superblock, though as
9of October 2012 the only supported algorithm is crc32c. Some data
10structures did not have space to fit a full 32-bit checksum, so only the
11lower 16 bits are stored. Enabling the 64bit feature increases the data
12structure size so that full 32-bit checksums can be stored for many data
13structures. However, existing 32-bit filesystems cannot be extended to
14enable 64bit mode, at least not without the experimental resize2fs
15patches to do so.
16
17Existing filesystems can have checksumming added by running
18``tune2fs -O metadata_csum`` against the underlying device. If tune2fs
19encounters directory blocks that lack sufficient empty space to add a
20checksum, it will request that you run ``e2fsck -D`` to have the
21directories rebuilt with checksums. This has the added benefit of
22removing slack space from the directory files and rebalancing the htree
23indexes. If you \_ignore\_ this step, your directories will not be
24protected by a checksum!
25
26The following table describes the data elements that go into each type
27of checksum. The checksum function is whatever the superblock describes
28(crc32c as of October 2013) unless noted otherwise.
29
30.. list-table::
31 :widths: 1 1 4
32 :header-rows: 1
33
34 * - Metadata
35 - Length
36 - Ingredients
37 * - Superblock
38 - \_\_le32
39 - The entire superblock up to the checksum field. The UUID lives inside
40 the superblock.
41 * - MMP
42 - \_\_le32
43 - UUID + the entire MMP block up to the checksum field.
44 * - Extended Attributes
45 - \_\_le32
46 - UUID + the entire extended attribute block. The checksum field is set to
47 zero.
48 * - Directory Entries
49 - \_\_le32
50 - UUID + inode number + inode generation + the directory block up to the
51 fake entry enclosing the checksum field.
52 * - HTREE Nodes
53 - \_\_le32
54 - UUID + inode number + inode generation + all valid extents + HTREE tail.
55 The checksum field is set to zero.
56 * - Extents
57 - \_\_le32
58 - UUID + inode number + inode generation + the entire extent block up to
59 the checksum field.
60 * - Bitmaps
61 - \_\_le32 or \_\_le16
62 - UUID + the entire bitmap. Checksums are stored in the group descriptor,
63 and truncated if the group descriptor size is 32 bytes (i.e. ^64bit)
64 * - Inodes
65 - \_\_le32
66 - UUID + inode number + inode generation + the entire inode. The checksum
67 field is set to zero. Each inode has its own checksum.
68 * - Group Descriptors
69 - \_\_le16
70 - If metadata\_csum, then UUID + group number + the entire descriptor;
71 else if gdt\_csum, then crc16(UUID + group number + the entire
72 descriptor). In all cases, only the lower 16 bits are stored.
73
Documentation/filesystems/ext4/ondisk/directory.rst+426−0
@@ -0,0 +1,426 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3Directory Entries
4-----------------
5
6In an ext4 filesystem, a directory is more or less a flat file that maps
7an arbitrary byte string (usually ASCII) to an inode number on the
8filesystem. There can be many directory entries across the filesystem
9that reference the same inode number--these are known as hard links, and
10that is why hard links cannot reference files on other filesystems. As
11such, directory entries are found by reading the data block(s)
12associated with a directory file for the particular directory entry that
13is desired.
14
15Linear (Classic) Directories
16~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17
18By default, each directory lists its entries in an “almost-linear”
19array. I write “almost” because it's not a linear array in the memory
20sense because directory entries are not split across filesystem blocks.
21Therefore, it is more accurate to say that a directory is a series of
22data blocks and that each block contains a linear array of directory
23entries. The end of each per-block array is signified by reaching the
24end of the block; the last entry in the block has a record length that
25takes it all the way to the end of the block. The end of the entire
26directory is of course signified by reaching the end of the file. Unused
27directory entries are signified by inode = 0. By default the filesystem
28uses ``struct ext4_dir_entry_2`` for directory entries unless the
29“filetype” feature flag is not set, in which case it uses
30``struct ext4_dir_entry``.
31
32The original directory entry format is ``struct ext4_dir_entry``, which
33is at most 263 bytes long, though on disk you'll need to reference
34``dirent.rec_len`` to know for sure.
35
36.. list-table::
37 :widths: 1 1 1 77
38 :header-rows: 1
39
40 * - Offset
41 - Size
42 - Name
43 - Description
44 * - 0x0
45 - \_\_le32
46 - inode
47 - Number of the inode that this directory entry points to.
48 * - 0x4
49 - \_\_le16
50 - rec\_len
51 - Length of this directory entry. Must be a multiple of 4.
52 * - 0x6
53 - \_\_le16
54 - name\_len
55 - Length of the file name.
56 * - 0x8
57 - char
58 - name[EXT4\_NAME\_LEN]
59 - File name.
60
61Since file names cannot be longer than 255 bytes, the new directory
62entry format shortens the rec\_len field and uses the space for a file
63type flag, probably to avoid having to load every inode during directory
64tree traversal. This format is ``ext4_dir_entry_2``, which is at most
65263 bytes long, though on disk you'll need to reference
66``dirent.rec_len`` to know for sure.
67
68.. list-table::
69 :widths: 1 1 1 77
70 :header-rows: 1
71
72 * - Offset
73 - Size
74 - Name
75 - Description
76 * - 0x0
77 - \_\_le32
78 - inode
79 - Number of the inode that this directory entry points to.
80 * - 0x4
81 - \_\_le16
82 - rec\_len
83 - Length of this directory entry.
84 * - 0x6
85 - \_\_u8
86 - name\_len
87 - Length of the file name.
88 * - 0x7
89 - \_\_u8
90 - file\_type
91 - File type code, see ftype_ table below.
92 * - 0x8
93 - char
94 - name[EXT4\_NAME\_LEN]
95 - File name.
96
97.. _ftype:
98
99The directory file type is one of the following values:
100
101.. list-table::
102 :widths: 1 79
103 :header-rows: 1
104
105 * - Value
106 - Description
107 * - 0x0
108 - Unknown.
109 * - 0x1
110 - Regular file.
111 * - 0x2
112 - Directory.
113 * - 0x3
114 - Character device file.
115 * - 0x4
116 - Block device file.
117 * - 0x5
118 - FIFO.
119 * - 0x6
120 - Socket.
121 * - 0x7
122 - Symbolic link.
123
124In order to add checksums to these classic directory blocks, a phony
125``struct ext4_dir_entry`` is placed at the end of each leaf block to
126hold the checksum. The directory entry is 12 bytes long. The inode
127number and name\_len fields are set to zero to fool old software into
128ignoring an apparently empty directory entry, and the checksum is stored
129in the place where the name normally goes. The structure is
130``struct ext4_dir_entry_tail``:
131
132.. list-table::
133 :widths: 1 1 1 77
134 :header-rows: 1
135
136 * - Offset
137 - Size
138 - Name
139 - Description
140 * - 0x0
141 - \_\_le32
142 - det\_reserved\_zero1
143 - Inode number, which must be zero.
144 * - 0x4
145 - \_\_le16
146 - det\_rec\_len
147 - Length of this directory entry, which must be 12.
148 * - 0x6
149 - \_\_u8
150 - det\_reserved\_zero2
151 - Length of the file name, which must be zero.
152 * - 0x7
153 - \_\_u8
154 - det\_reserved\_ft
155 - File type, which must be 0xDE.
156 * - 0x8
157 - \_\_le32
158 - det\_checksum
159 - Directory leaf block checksum.
160
161The leaf directory block checksum is calculated against the FS UUID, the
162directory's inode number, the directory's inode generation number, and
163the entire directory entry block up to (but not including) the fake
164directory entry.
165
166Hash Tree Directories
167~~~~~~~~~~~~~~~~~~~~~
168
169A linear array of directory entries isn't great for performance, so a
170new feature was added to ext3 to provide a faster (but peculiar)
171balanced tree keyed off a hash of the directory entry name. If the
172EXT4\_INDEX\_FL (0x1000) flag is set in the inode, this directory uses a
173hashed btree (htree) to organize and find directory entries. For
174backwards read-only compatibility with ext2, this tree is actually
175hidden inside the directory file, masquerading as “empty” directory data
176blocks! It was stated previously that the end of the linear directory
177entry table was signified with an entry pointing to inode 0; this is
178(ab)used to fool the old linear-scan algorithm into thinking that the
179rest of the directory block is empty so that it moves on.
180
181The root of the tree always lives in the first data block of the
182directory. By ext2 custom, the '.' and '..' entries must appear at the
183beginning of this first block, so they are put here as two
184``struct ext4_dir_entry_2``\ s and not stored in the tree. The rest of
185the root node contains metadata about the tree and finally a hash->block
186map to find nodes that are lower in the htree. If
187``dx_root.info.indirect_levels`` is non-zero then the htree has two
188levels; the data block pointed to by the root node's map is an interior
189node, which is indexed by a minor hash. Interior nodes in this tree
190contains a zeroed out ``struct ext4_dir_entry_2`` followed by a
191minor\_hash->block map to find leafe nodes. Leaf nodes contain a linear
192array of all ``struct ext4_dir_entry_2``; all of these entries
193(presumably) hash to the same value. If there is an overflow, the
194entries simply overflow into the next leaf node, and the
195least-significant bit of the hash (in the interior node map) that gets
196us to this next leaf node is set.
197
198To traverse the directory as a htree, the code calculates the hash of
199the desired file name and uses it to find the corresponding block
200number. If the tree is flat, the block is a linear array of directory
201entries that can be searched; otherwise, the minor hash of the file name
202is computed and used against this second block to find the corresponding
203third block number. That third block number will be a linear array of
204directory entries.
205
206To traverse the directory as a linear array (such as the old code does),
207the code simply reads every data block in the directory. The blocks used
208for the htree will appear to have no entries (aside from '.' and '..')
209and so only the leaf nodes will appear to have any interesting content.
210
211The root of the htree is in ``struct dx_root``, which is the full length
212of a data block:
213
214.. list-table::
215 :widths: 1 1 1 77
216 :header-rows: 1
217
218 * - Offset
219 - Type
220 - Name
221 - Description
222 * - 0x0
223 - \_\_le32
224 - dot.inode
225 - inode number of this directory.
226 * - 0x4
227 - \_\_le16
228 - dot.rec\_len
229 - Length of this record, 12.
230 * - 0x6
231 - u8
232 - dot.name\_len
233 - Length of the name, 1.
234 * - 0x7
235 - u8
236 - dot.file\_type
237 - File type of this entry, 0x2 (directory) (if the feature flag is set).
238 * - 0x8
239 - char
240 - dot.name[4]
241 - “.\\0\\0\\0”
242 * - 0xC
243 - \_\_le32
244 - dotdot.inode
245 - inode number of parent directory.
246 * - 0x10
247 - \_\_le16
248 - dotdot.rec\_len
249 - block\_size - 12. The record length is long enough to cover all htree
250 data.
251 * - 0x12
252 - u8
253 - dotdot.name\_len
254 - Length of the name, 2.
255 * - 0x13
256 - u8
257 - dotdot.file\_type
258 - File type of this entry, 0x2 (directory) (if the feature flag is set).
259 * - 0x14
260 - char
261 - dotdot\_name[4]
262 - “..\\0\\0”
263 * - 0x18
264 - \_\_le32
265 - struct dx\_root\_info.reserved\_zero
266 - Zero.
267 * - 0x1C
268 - u8
269 - struct dx\_root\_info.hash\_version
270 - Hash type, see dirhash_ table below.
271 * - 0x1D
272 - u8
273 - struct dx\_root\_info.info\_length
274 - Length of the tree information, 0x8.
275 * - 0x1E
276 - u8
277 - struct dx\_root\_info.indirect\_levels
278 - Depth of the htree. Cannot be larger than 3 if the INCOMPAT\_LARGEDIR
279 feature is set; cannot be larger than 2 otherwise.
280 * - 0x1F
281 - u8
282 - struct dx\_root\_info.unused\_flags
283 -
284 * - 0x20
285 - \_\_le16
286 - limit
287 - Maximum number of dx\_entries that can follow this header, plus 1 for
288 the header itself.
289 * - 0x22
290 - \_\_le16
291 - count
292 - Actual number of dx\_entries that follow this header, plus 1 for the
293 header itself.
294 * - 0x24
295 - \_\_le32
296 - block
297 - The block number (within the directory file) that goes with hash=0.
298 * - 0x28
299 - struct dx\_entry
300 - entries[0]
301 - As many 8-byte ``struct dx_entry`` as fits in the rest of the data block.
302
303.. _dirhash:
304
305The directory hash is one of the following values:
306
307.. list-table::
308 :widths: 1 79
309 :header-rows: 1
310
311 * - Value
312 - Description
313 * - 0x0
314 - Legacy.
315 * - 0x1
316 - Half MD4.
317 * - 0x2
318 - Tea.
319 * - 0x3
320 - Legacy, unsigned.
321 * - 0x4
322 - Half MD4, unsigned.
323 * - 0x5
324 - Tea, unsigned.
325
326Interior nodes of an htree are recorded as ``struct dx_node``, which is
327also the full length of a data block:
328
329.. list-table::
330 :widths: 1 1 1 77
331 :header-rows: 1
332
333 * - Offset
334 - Type
335 - Name
336 - Description
337 * - 0x0
338 - \_\_le32
339 - fake.inode
340 - Zero, to make it look like this entry is not in use.
341 * - 0x4
342 - \_\_le16
343 - fake.rec\_len
344 - The size of the block, in order to hide all of the dx\_node data.
345 * - 0x6
346 - u8
347 - name\_len
348 - Zero. There is no name for this “unused” directory entry.
349 * - 0x7
350 - u8
351 - file\_type
352 - Zero. There is no file type for this “unused” directory entry.
353 * - 0x8
354 - \_\_le16
355 - limit
356 - Maximum number of dx\_entries that can follow this header, plus 1 for
357 the header itself.
358 * - 0xA
359 - \_\_le16
360 - count
361 - Actual number of dx\_entries that follow this header, plus 1 for the
362 header itself.
363 * - 0xE
364 - \_\_le32
365 - block
366 - The block number (within the directory file) that goes with the lowest
367 hash value of this block. This value is stored in the parent block.
368 * - 0x12
369 - struct dx\_entry
370 - entries[0]
371 - As many 8-byte ``struct dx_entry`` as fits in the rest of the data block.
372
373The hash maps that exist in both ``struct dx_root`` and
374``struct dx_node`` are recorded as ``struct dx_entry``, which is 8 bytes
375long:
376
377.. list-table::
378 :widths: 1 1 1 77
379 :header-rows: 1
380
381 * - Offset
382 - Type
383 - Name
384 - Description
385 * - 0x0
386 - \_\_le32
387 - hash
388 - Hash code.
389 * - 0x4
390 - \_\_le32
391 - block
392 - Block number (within the directory file, not filesystem blocks) of the
393 next node in the htree.
394
395(If you think this is all quite clever and peculiar, so does the
396author.)
397
398If metadata checksums are enabled, the last 8 bytes of the directory
399block (precisely the length of one dx\_entry) are used to store a
400``struct dx_tail``, which contains the checksum. The ``limit`` and
401``count`` entries in the dx\_root/dx\_node structures are adjusted as
402necessary to fit the dx\_tail into the block. If there is no space for
403the dx\_tail, the user is notified to run e2fsck -D to rebuild the
404directory index (which will ensure that there's space for the checksum.
405The dx\_tail structure is 8 bytes long and looks like this:
406
407.. list-table::
408 :widths: 1 1 1 77
409 :header-rows: 1
410
411 * - Offset
412 - Type
413 - Name
414 - Description
415 * - 0x0
416 - u32
417 - dt\_reserved
418 - Zero.
419 * - 0x4
420 - \_\_le32
421 - dt\_checksum
422 - Checksum of the htree directory block.
423
424The checksum is calculated against the FS UUID, the htree index header
425(dx\_root or dx\_node), all of the htree indices (dx\_entry) that are in
426use, and the tail block (dx\_tail).
Documentation/filesystems/ext4/ondisk/dynamic.rst+12−0
@@ -0,0 +1,12 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3Dynamic Structures
4==================
5
6Dynamic metadata are created on the fly when files and blocks are
7allocated to files.
8
9.. include:: inodes.rst
10.. include:: ifork.rst
11.. include:: directory.rst
12.. include:: attributes.rst
Documentation/filesystems/ext4/ondisk/eainode.rst+18−0
@@ -0,0 +1,18 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3Large Extended Attribute Values
4-------------------------------
5
6To enable ext4 to store extended attribute values that do not fit in the
7inode or in the single extended attribute block attached to an inode,
8the EA\_INODE feature allows us to store the value in the data blocks of
9a regular file inode. This “EA inode” is linked only from the extended
10attribute name index and must not appear in a directory entry. The
11inode's i\_atime field is used to store a checksum of the xattr value;
12and i\_ctime/i\_version store a 64-bit reference count, which enables
13sharing of large xattr values between multiple owning inodes. For
14backward compatibility with older versions of this feature, the
15i\_mtime/i\_generation *may* store a back-reference to the inode number
16and i\_generation of the **one** owning inode (in cases where the EA
17inode is not referenced by multiple inodes) to verify that the EA inode
18is the correct one being accessed.
Documentation/filesystems/ext4/ondisk/globals.rst+13−0
@@ -0,0 +1,13 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3Global Structures
4=================
5
6The filesystem is sharded into a number of block groups, each of which
7have static metadata at fixed locations.
8
9.. include:: super.rst
10.. include:: group_descr.rst
11.. include:: bitmaps.rst
12.. include:: mmp.rst
13.. include:: journal.rst
Documentation/filesystems/ext4/ondisk/group_descr.rst+170−0
@@ -0,0 +1,170 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3Block Group Descriptors
4-----------------------
5
6Each block group on the filesystem has one of these descriptors
7associated with it. As noted in the Layout section above, the group
8descriptors (if present) are the second item in the block group. The
9standard configuration is for each block group to contain a full copy of
10the block group descriptor table unless the sparse\_super feature flag
11is set.
12
13Notice how the group descriptor records the location of both bitmaps and
14the inode table (i.e. they can float). This means that within a block
15group, the only data structures with fixed locations are the superblock
16and the group descriptor table. The flex\_bg mechanism uses this
17property to group several block groups into a flex group and lay out all
18of the groups' bitmaps and inode tables into one long run in the first
19group of the flex group.
20
21If the meta\_bg feature flag is set, then several block groups are
22grouped together into a meta group. Note that in the meta\_bg case,
23however, the first and last two block groups within the larger meta
24group contain only group descriptors for the groups inside the meta
25group.
26
27flex\_bg and meta\_bg do not appear to be mutually exclusive features.
28
29In ext2, ext3, and ext4 (when the 64bit feature is not enabled), the
30block group descriptor was only 32 bytes long and therefore ends at
31bg\_checksum. On an ext4 filesystem with the 64bit feature enabled, the
32block group descriptor expands to at least the 64 bytes described below;
33the size is stored in the superblock.
34
35If gdt\_csum is set and metadata\_csum is not set, the block group
36checksum is the crc16 of the FS UUID, the group number, and the group
37descriptor structure. If metadata\_csum is set, then the block group
38checksum is the lower 16 bits of the checksum of the FS UUID, the group
39number, and the group descriptor structure. Both block and inode bitmap
40checksums are calculated against the FS UUID, the group number, and the
41entire bitmap.
42
43The block group descriptor is laid out in ``struct ext4_group_desc``.
44
45.. list-table::
46 :widths: 1 1 1 77
47 :header-rows: 1
48
49 * - Offset
50 - Size
51 - Name
52 - Description
53 * - 0x0
54 - \_\_le32
55 - bg\_block\_bitmap\_lo
56 - Lower 32-bits of location of block bitmap.
57 * - 0x4
58 - \_\_le32
59 - bg\_inode\_bitmap\_lo
60 - Lower 32-bits of location of inode bitmap.
61 * - 0x8
62 - \_\_le32
63 - bg\_inode\_table\_lo
64 - Lower 32-bits of location of inode table.
65 * - 0xC
66 - \_\_le16
67 - bg\_free\_blocks\_count\_lo
68 - Lower 16-bits of free block count.
69 * - 0xE
70 - \_\_le16
71 - bg\_free\_inodes\_count\_lo
72 - Lower 16-bits of free inode count.
73 * - 0x10
74 - \_\_le16
75 - bg\_used\_dirs\_count\_lo
76 - Lower 16-bits of directory count.
77 * - 0x12
78 - \_\_le16
79 - bg\_flags
80 - Block group flags. See the bgflags_ table below.
81 * - 0x14
82 - \_\_le32
83 - bg\_exclude\_bitmap\_lo
84 - Lower 32-bits of location of snapshot exclusion bitmap.
85 * - 0x18
86 - \_\_le16
87 - bg\_block\_bitmap\_csum\_lo
88 - Lower 16-bits of the block bitmap checksum.
89 * - 0x1A
90 - \_\_le16
91 - bg\_inode\_bitmap\_csum\_lo
92 - Lower 16-bits of the inode bitmap checksum.
93 * - 0x1C
94 - \_\_le16
95 - bg\_itable\_unused\_lo
96 - Lower 16-bits of unused inode count. If set, we needn't scan past the
97 ``(sb.s_inodes_per_group - gdt.bg_itable_unused)``\ th entry in the
98 inode table for this group.
99 * - 0x1E
100 - \_\_le16
101 - bg\_checksum
102 - Group descriptor checksum; crc16(sb\_uuid+group+desc) if the
103 RO\_COMPAT\_GDT\_CSUM feature is set, or crc32c(sb\_uuid+group\_desc) &
104 0xFFFF if the RO\_COMPAT\_METADATA\_CSUM feature is set.
105 * -
106 -
107 -
108 - These fields only exist if the 64bit feature is enabled and s_desc_size
109 > 32.
110 * - 0x20
111 - \_\_le32
112 - bg\_block\_bitmap\_hi
113 - Upper 32-bits of location of block bitmap.
114 * - 0x24
115 - \_\_le32
116 - bg\_inode\_bitmap\_hi
117 - Upper 32-bits of location of inodes bitmap.
118 * - 0x28
119 - \_\_le32
120 - bg\_inode\_table\_hi
121 - Upper 32-bits of location of inodes table.
122 * - 0x2C
123 - \_\_le16
124 - bg\_free\_blocks\_count\_hi
125 - Upper 16-bits of free block count.
126 * - 0x2E
127 - \_\_le16
128 - bg\_free\_inodes\_count\_hi
129 - Upper 16-bits of free inode count.
130 * - 0x30
131 - \_\_le16
132 - bg\_used\_dirs\_count\_hi
133 - Upper 16-bits of directory count.
134 * - 0x32
135 - \_\_le16
136 - bg\_itable\_unused\_hi
137 - Upper 16-bits of unused inode count.
138 * - 0x34
139 - \_\_le32
140 - bg\_exclude\_bitmap\_hi
141 - Upper 32-bits of location of snapshot exclusion bitmap.
142 * - 0x38
143 - \_\_le16
144 - bg\_block\_bitmap\_csum\_hi
145 - Upper 16-bits of the block bitmap checksum.
146 * - 0x3A
147 - \_\_le16
148 - bg\_inode\_bitmap\_csum\_hi
149 - Upper 16-bits of the inode bitmap checksum.
150 * - 0x3C
151 - \_\_u32
152 - bg\_reserved
153 - Padding to 64 bytes.
154
155.. _bgflags:
156
157Block group flags can be any combination of the following:
158
159.. list-table::
160 :widths: 1 79
161 :header-rows: 1
162
163 * - Value
164 - Description
165 * - 0x1
166 - inode table and bitmap are not initialized (EXT4\_BG\_INODE\_UNINIT).
167 * - 0x2
168 - block bitmap is not initialized (EXT4\_BG\_BLOCK\_UNINIT).
169 * - 0x4
170 - inode table is zeroed (EXT4\_BG\_INODE\_ZEROED).
Documentation/filesystems/ext4/ondisk/ifork.rst+194−0
@@ -0,0 +1,194 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3The Contents of inode.i\_block
4------------------------------
5
6Depending on the type of file an inode describes, the 60 bytes of
7storage in ``inode.i_block`` can be used in different ways. In general,
8regular files and directories will use it for file block indexing
9information, and special files will use it for special purposes.
10
11Symbolic Links
12~~~~~~~~~~~~~~
13
14The target of a symbolic link will be stored in this field if the target
15string is less than 60 bytes long. Otherwise, either extents or block
16maps will be used to allocate data blocks to store the link target.
17
18Direct/Indirect Block Addressing
19~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20
21In ext2/3, file block numbers were mapped to logical block numbers by
22means of an (up to) three level 1-1 block map. To find the logical block
23that stores a particular file block, the code would navigate through
24this increasingly complicated structure. Notice that there is neither a
25magic number nor a checksum to provide any level of confidence that the
26block isn't full of garbage.
27
28.. ifconfig:: builder != 'latex'
29
30 .. include:: blockmap.rst
31
32.. ifconfig:: builder == 'latex'
33
34 [Table omitted because LaTeX doesn't support nested tables.]
35
36Note that with this block mapping scheme, it is necessary to fill out a
37lot of mapping data even for a large contiguous file! This inefficiency
38led to the creation of the extent mapping scheme, discussed below.
39
40Notice also that a file using this mapping scheme cannot be placed
41higher than 2^32 blocks.
42
43Extent Tree
44~~~~~~~~~~~
45
46In ext4, the file to logical block map has been replaced with an extent
47tree. Under the old scheme, allocating a contiguous run of 1,000 blocks
48requires an indirect block to map all 1,000 entries; with extents, the
49mapping is reduced to a single ``struct ext4_extent`` with
50``ee_len = 1000``. If flex\_bg is enabled, it is possible to allocate
51very large files with a single extent, at a considerable reduction in
52metadata block use, and some improvement in disk efficiency. The inode
53must have the extents flag (0x80000) flag set for this feature to be in
54use.
55
56Extents are arranged as a tree. Each node of the tree begins with a
57``struct ext4_extent_header``. If the node is an interior node
58(``eh.eh_depth`` > 0), the header is followed by ``eh.eh_entries``
59instances of ``struct ext4_extent_idx``; each of these index entries
60points to a block containing more nodes in the extent tree. If the node
61is a leaf node (``eh.eh_depth == 0``), then the header is followed by
62``eh.eh_entries`` instances of ``struct ext4_extent``; these instances
63point to the file's data blocks. The root node of the extent tree is
64stored in ``inode.i_block``, which allows for the first four extents to
65be recorded without the use of extra metadata blocks.
66
67The extent tree header is recorded in ``struct ext4_extent_header``,
68which is 12 bytes long:
69
70.. list-table::
71 :widths: 1 1 1 77
72 :header-rows: 1
73
74 * - Offset
75 - Size
76 - Name
77 - Description
78 * - 0x0
79 - \_\_le16
80 - eh\_magic
81 - Magic number, 0xF30A.
82 * - 0x2
83 - \_\_le16
84 - eh\_entries
85 - Number of valid entries following the header.
86 * - 0x4
87 - \_\_le16
88 - eh\_max
89 - Maximum number of entries that could follow the header.
90 * - 0x6
91 - \_\_le16
92 - eh\_depth
93 - Depth of this extent node in the extent tree. 0 = this extent node
94 points to data blocks; otherwise, this extent node points to other
95 extent nodes. The extent tree can be at most 5 levels deep: a logical
96 block number can be at most ``2^32``, and the smallest ``n`` that
97 satisfies ``4*(((blocksize - 12)/12)^n) >= 2^32`` is 5.
98 * - 0x8
99 - \_\_le32
100 - eh\_generation
101 - Generation of the tree. (Used by Lustre, but not standard ext4).
102
103Internal nodes of the extent tree, also known as index nodes, are
104recorded as ``struct ext4_extent_idx``, and are 12 bytes long:
105
106.. list-table::
107 :widths: 1 1 1 77
108 :header-rows: 1
109
110 * - Offset
111 - Size
112 - Name
113 - Description
114 * - 0x0
115 - \_\_le32
116 - ei\_block
117 - This index node covers file blocks from 'block' onward.
118 * - 0x4
119 - \_\_le32
120 - ei\_leaf\_lo
121 - Lower 32-bits of the block number of the extent node that is the next
122 level lower in the tree. The tree node pointed to can be either another
123 internal node or a leaf node, described below.
124 * - 0x8
125 - \_\_le16
126 - ei\_leaf\_hi
127 - Upper 16-bits of the previous field.
128 * - 0xA
129 - \_\_u16
130 - ei\_unused
131 -
132
133Leaf nodes of the extent tree are recorded as ``struct ext4_extent``,
134and are also 12 bytes long:
135
136.. list-table::
137 :widths: 1 1 1 77
138 :header-rows: 1
139
140 * - Offset
141 - Size
142 - Name
143 - Description
144 * - 0x0
145 - \_\_le32
146 - ee\_block
147 - First file block number that this extent covers.
148 * - 0x4
149 - \_\_le16
150 - ee\_len
151 - Number of blocks covered by extent. If the value of this field is <=
152 32768, the extent is initialized. If the value of the field is > 32768,
153 the extent is uninitialized and the actual extent length is ``ee_len`` -
154 32768. Therefore, the maximum length of a initialized extent is 32768
155 blocks, and the maximum length of an uninitialized extent is 32767.
156 * - 0x6
157 - \_\_le16
158 - ee\_start\_hi
159 - Upper 16-bits of the block number to which this extent points.
160 * - 0x8
161 - \_\_le32
162 - ee\_start\_lo
163 - Lower 32-bits of the block number to which this extent points.
164
165Prior to the introduction of metadata checksums, the extent header +
166extent entries always left at least 4 bytes of unallocated space at the
167end of each extent tree data block (because (2^x % 12) >= 4). Therefore,
168the 32-bit checksum is inserted into this space. The 4 extents in the
169inode do not need checksumming, since the inode is already checksummed.
170The checksum is calculated against the FS UUID, the inode number, the
171inode generation, and the entire extent block leading up to (but not
172including) the checksum itself.
173
174``struct ext4_extent_tail`` is 4 bytes long:
175
176.. list-table::
177 :widths: 1 1 1 77
178 :header-rows: 1
179
180 * - Offset
181 - Size
182 - Name
183 - Description
184 * - 0x0
185 - \_\_le32
186 - eb\_checksum
187 - Checksum of the extent block, crc32c(uuid+inum+igeneration+extentblock)
188
189Inline Data
190~~~~~~~~~~~
191
192If the inline data feature is enabled for the filesystem and the flag is
193set for the inode, it is possible that the first 60 bytes of the file
194data are stored here.
Documentation/filesystems/ext4/ondisk/index.rst+9−0
@@ -0,0 +1,9 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3==============================
4Data Structures and Algorithms
5==============================
6.. include:: about.rst
7.. include:: overview.rst
8.. include:: globals.rst
9.. include:: dynamic.rst
Documentation/filesystems/ext4/ondisk/inlinedata.rst+37−0
@@ -0,0 +1,37 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3Inline Data
4-----------
5
6The inline data feature was designed to handle the case that a file's
7data is so tiny that it readily fits inside the inode, which
8(theoretically) reduces disk block consumption and reduces seeks. If the
9file is smaller than 60 bytes, then the data are stored inline in
10``inode.i_block``. If the rest of the file would fit inside the extended
11attribute space, then it might be found as an extended attribute
12“system.data” within the inode body (“ibody EA”). This of course
13constrains the amount of extended attributes one can attach to an inode.
14If the data size increases beyond i\_block + ibody EA, a regular block
15is allocated and the contents moved to that block.
16
17Pending a change to compact the extended attribute key used to store
18inline data, one ought to be able to store 160 bytes of data in a
19256-byte inode (as of June 2015, when i\_extra\_isize is 28). Prior to
20that, the limit was 156 bytes due to inefficient use of inode space.
21
22The inline data feature requires the presence of an extended attribute
23for “system.data”, even if the attribute value is zero length.
24
25Inline Directories
26~~~~~~~~~~~~~~~~~~
27
28The first four bytes of i\_block are the inode number of the parent
29directory. Following that is a 56-byte space for an array of directory
30entries; see ``struct ext4_dir_entry``. If there is a “system.data”
31attribute in the inode body, the EA value is an array of
32``struct ext4_dir_entry`` as well. Note that for inline directories, the
33i\_block and EA space are treated as separate dirent blocks; directory
34entries cannot span the two.
35
36Inline directory entries are not checksummed, as the inode checksum
37should protect all inline data contents.
Documentation/filesystems/ext4/ondisk/inodes.rst+575−0
@@ -0,0 +1,575 @@
1.. SPDX-License-Identifier: GPL-2.0
2
3Index Nodes
4-----------
5
6In a regular UNIX filesystem, the inode stores all the metadata
7pertaining to the file (time stamps, block maps, extended attributes,
8etc), not the directory entry. To find the information associated with a
9file, one must traverse the directory files to find the directory entry
10associated with a file, then load the inode to find the metadata for
11that file. ext4 appears to cheat (for performance reasons) a little bit
12by storing a copy of the file type (normally stored in the inode) in the
13directory entry. (Compare all this to FAT, which stores all the file
14information directly in the directory entry, but does not support hard
15links and is in general more seek-happy than ext4 due to its simpler
16block allocator and extensive use of linked lists.)
17
18The inode table is a linear array of ``struct ext4_inode``. The table is
19sized to have enough blocks to store at least
20``sb.s_inode_size * sb.s_inodes_per_group`` bytes. The number of the
21block group containing an inode can be calculated as
22``(inode_number - 1) / sb.s_inodes_per_group``, and the offset into the
23group's table is ``(inode_number - 1) % sb.s_inodes_per_group``. There
24is no inode 0.
25
26The inode checksum is calculated against the FS UUID, the inode number,
27and the inode structure itself.
28
29The inode table entry is laid out in ``struct ext4_inode``.
30
31.. list-table::
32 :widths: 1 1 1 77
33 :header-rows: 1
34
35 * - Offset
36 - Size
37 - Name
38 - Description
39 * - 0x0
40 - \_\_le16
41 - i\_mode
42 - File mode. See the table i_mode_ below.
43 * - 0x2
44 - \_\_le16
45 - i\_uid
46 - Lower 16-bits of Owner UID.
47 * - 0x4
48 - \_\_le32
49 - i\_size\_lo
50 - Lower 32-bits of size in bytes.
51 * - 0x8
52 - \_\_le32
53 - i\_atime
54 - Last access time, in seconds since the epoch. However, if the EA\_INODE
55 inode flag is set, this inode stores an extended attribute value and
56 this field contains the checksum of the value.
57 * - 0xC
58 - \_\_le32
59 - i\_ctime
60 - Last inode change time, in seconds since the epoch. However, if the
61 EA\_INODE inode flag is set, this inode stores an extended attribute
62 value and this field contains the lower 32 bits of the attribute value's
63 reference count.
64 * - 0x10
65 - \_\_le32
66 - i\_mtime
67 - Last data modification time, in seconds since the epoch. However, if the
68 EA\_INODE inode flag is set, this inode stores an extended attribute
69 value and this field contains the number of the inode that owns the
70 extended attribute.
71 * - 0x14
72 - \_\_le32
73 - i\_dtime
74 - Deletion Time, in seconds since the epoch.
75 * - 0x18
76 - \_\_le16
77 - i\_gid
78 - Lower 16-bits of GID.
79 * - 0x1A
80 - \_\_le16
81 - i\_links\_count
82 - Hard link count. Normally, ext4 does not permit an inode to have more
83 than 65,000 hard links. This applies to files as well as directories,
84 which means that there cannot be more than 64,998 subdirectories in a
85 directory (each subdirectory's '..' entry counts as a hard link, as does
86 the '.' entry in the directory itself). With the DIR\_NLINK feature
87 enabled, ext4 supports more than 64,998 subdirectories by setting this
88 field to 1 to indicate that the number of hard links is not known.
89 * - 0x1C
90 - \_\_le32
91 - i\_blocks\_lo
92 - Lower 32-bits of “block” count. If the huge\_file feature flag is not
93 set on the filesystem, the file consumes ``i_blocks_lo`` 512-byte blocks
94 on disk. If huge\_file is set and EXT4\_HUGE\_FILE\_FL is NOT set in
95 ``inode.i_flags``, then the file consumes ``i_blocks_lo + (i_blocks_hi
96 << 32)`` 512-byte blocks on disk. If huge\_file is set and
97 EXT4\_HUGE\_FILE\_FL IS set in ``inode.i_flags``, then this file
98 consumes (``i_blocks_lo + i_blocks_hi`` << 32) filesystem blocks on
99 disk.
100 * - 0x20
101 - \_\_le32
102 - i\_flags
103 - Inode flags. See the table i_flags_ below.
104 * - 0x24
105 - 4 bytes
106 - i\_osd1
107 - See the table i_osd1_ for more details.
108 * - 0x28
109 - 60 bytes
110 - i\_block[EXT4\_N\_BLOCKS=15]
111 - Block map or extent tree. See the section “The Contents of inode.i\_block”.
112 * - 0x64
113 - \_\_le32
114 - i\_generation
115 - File version (for NFS).
116 * - 0x68
117 - \_\_le32
118 - i\_file\_acl\_lo
119 - Lower 32-bits of extended attribute block. ACLs are of course one of
120 many possible extended attributes; I think the name of this field is a
121 result of the first use of extended attributes being for ACLs.
122 * - 0x6C
123 - \_\_le32
124 - i\_size\_high / i\_dir\_acl
125 - Upper 32-bits of file/directory size. In ext2/3 this field was named
126 i\_dir\_acl, though it was usually set to zero and never used.
127 * - 0x70
128 - \_\_le32
129 - i\_obso\_faddr
130 - (Obsolete) fragment address.
131 * - 0x74
132 - 12 bytes
133 - i\_osd2
134 - See the table i_osd2_ for more details.
135 * - 0x80
136 - \_\_le16
137 - i\_extra\_isize
138 - Size of this inode - 128. Alternately, the size of the extended inode
139 fields beyond the original ext2 inode, including this field.
140 * - 0x82
141 - \_\_le16
142 - i\_checksum\_hi
143 - Upper 16-bits of the inode checksum.
144 * - 0x84
145 - \_\_le32
146 - i\_ctime\_extra
147 - Extra change time bits. This provides sub-second precision. See Inode
148 Timestamps section.
149 * - 0x88
150 - \_\_le32
151 - i\_mtime\_extra
152 - Extra modification time bits. This provides sub-second precision.
153 * - 0x8C
154 - \_\_le32
155 - i\_atime\_extra
156 - Extra access time bits. This provides sub-second precision.
157 * - 0x90
158 - \_\_le32
159 - i\_crtime
160 - File creation time, in seconds since the epoch.
161 * - 0x94
162 - \_\_le32
163 - i\_crtime\_extra
164 - Extra file creation time bits. This provides sub-second precision.
165 * - 0x98
166 - \_\_le32
167 - i\_version\_hi
168 - Upper 32-bits for version number.
169 * - 0x9C
170 - \_\_le32
171 - i\_projid
172 - Project ID.
173
174.. _i_mode:
175
176The ``i_mode`` value is a combination of the following flags:
177
178.. list-table::
179 :widths: 1 79
180 :header-rows: 1
181
182 * - Value
183 - Description
184 * - 0x1
185 - S\_IXOTH (Others may execute)
186 * - 0x2
187 - S\_IWOTH (Others may write)
188 * - 0x4
189 - S\_IROTH (Others may read)
190 * - 0x8
191 - S\_IXGRP (Group members may execute)
192 * - 0x10
193 - S\_IWGRP (Group members may write)
194 * - 0x20
195 - S\_IRGRP (Group members may read)
196 * - 0x40
197 - S\_IXUSR (Owner may execute)
198 * - 0x80
199 - S\_IWUSR (Owner may write)
200 * - 0x100
201 - S\_IRUSR (Owner may read)
202 * - 0x200
203 - S\_ISVTX (Sticky bit)
204 * - 0x400
205 - S\_ISGID (Set GID)
206 * - 0x800
207 - S\_ISUID (Set UID)
208 * -
209 - These are mutually-exclusive file types:
210 * - 0x1000
211 - S\_IFIFO (FIFO)
212 * - 0x2000
213 - S\_IFCHR (Character device)
214 * - 0x4000
215 - S\_IFDIR (Directory)
216 * - 0x6000
217 - S\_IFBLK (Block device)
218 * - 0x8000
219 - S\_IFREG (Regular file)
220 * - 0xA000
221 - S\_IFLNK (Symbolic link)
222 * - 0xC000
223 - S\_IFSOCK (Socket)
224
225.. _i_flags:
226
227The ``i_flags`` field is a combination of these values:
228
229.. list-table::
230 :widths: 1 79
231 :header-rows: 1
232
233 * - Value
234 - Description
235 * - 0x1
236 - This file requires secure deletion (EXT4\_SECRM\_FL). (not implemented)
237 * - 0x2
238 - This file should be preserved, should undeletion be desired
239 (EXT4\_UNRM\_FL). (not implemented)
240 * - 0x4
241 - File is compressed (EXT4\_COMPR\_FL). (not really implemented)
242 * - 0x8
243 - All writes to the file must be synchronous (EXT4\_SYNC\_FL).
244 * - 0x10
245 - File is immutable (EXT4\_IMMUTABLE\_FL).
246 * - 0x20
247 - File can only be appended (EXT4\_APPEND\_FL).
248 * - 0x40
249 - The dump(1) utility should not dump this file (EXT4\_NODUMP\_FL).
250 * - 0x80
251 - Do not update access time (EXT4\_NOATIME\_FL).
252 * - 0x100
253 - Dirty compressed file (EXT4\_DIRTY\_FL). (not used)
254 * - 0x200
255 - File has one or more compressed clusters (EXT4\_COMPRBLK\_FL). (not used)
256 * - 0x400
257 - Do not compress file (EXT4\_NOCOMPR\_FL). (not used)
258 * - 0x800
259 - Encrypted inode (EXT4\_ENCRYPT\_FL). This bit value previously was
260 EXT4\_ECOMPR\_FL (compression error), which was never used.
261 * - 0x1000
262 - Directory has hashed indexes (EXT4\_INDEX\_FL).
263 * - 0x2000
264 - AFS magic directory (EXT4\_IMAGIC\_FL).
265 * - 0x4000
266 - File data must always be written through the journal
267 (EXT4\_JOURNAL\_DATA\_FL).
268 * - 0x8000
269 - File tail should not be merged (EXT4\_NOTAIL\_FL). (not used by ext4)
270 * - 0x10000
271 - All directory entry data should be written synchronously (see
272 ``dirsync``) (EXT4\_DIRSYNC\_FL).
273 * - 0x20000
274 - Top of directory hierarchy (EXT4\_TOPDIR\_FL).
275 * - 0x40000
276 - This is a huge file (EXT4\_HUGE\_FILE\_FL).
277 * - 0x80000
278 - Inode uses extents (EXT4\_EXTENTS\_FL).
279 * - 0x200000
280 - Inode stores a large extended attribute value in its data blocks
281 (EXT4\_EA\_INODE\_FL).
282 * - 0x400000
283 - This file has blocks allocated past EOF (EXT4\_EOFBLOCKS\_FL).
284 (deprecated)
285 * - 0x01000000
286 - Inode is a snapshot (``EXT4_SNAPFILE_FL``). (not in mainline)
287 * - 0x04000000
288 - Snapshot is being deleted (``EXT4_SNAPFILE_DELETED_FL``). (not in
289 mainline)
290 * - 0x08000000
291 - Snapshot shrink has completed (``EXT4_SNAPFILE_SHRUNK_FL``). (not in
292 mainline)
293 * - 0x10000000
294 - Inode has inline data (EXT4\_INLINE\_DATA\_FL).
295 * - 0x20000000
296 - Create children with the same project ID (EXT4\_PROJINHERIT\_FL).
297 * - 0x80000000
298 - Reserved for ext4 library (EXT4\_RESERVED\_FL).
299 * -
300 - Aggregate flags:
301 * - 0x4BDFFF
302 - User-visible flags.
303 * - 0x4B80FF
304 - User-modifiable flags. Note that while EXT4\_JOURNAL\_DATA\_FL and
305 EXT4\_EXTENTS\_FL can be set with setattr, they are not in the kernel's
306 EXT4\_FL\_USER\_MODIFIABLE mask, since it needs to handle the setting of
307 these flags in a special manner and they are masked out of the set of
308 flags that are saved directly to i\_flags.
309
310.. _i_osd1:
311
312The ``osd1`` field has multiple meanings depending on the creator:
313
314Linux:
315
316.. list-table::
317 :widths: 1 1 1 77
318 :header-rows: 1
319
320 * - Offset
321 - Size
322 - Name
323 - Description
324 * - 0x0
325 - \_\_le32
326 - l\_i\_version
327 - Inode version. However, if the EA\_INODE inode flag is set, this inode
328 stores an extended attribute value and this field contains the upper 32
329 bits of the attribute value's reference count.
330
331Hurd:
332
333.. list-table::
334 :widths: 1 1 1 77
335 :header-rows: 1
336
337 * - Offset
338 - Size
339 - Name
340 - Description
341 * - 0x0
342 - \_\_le32
343 - h\_i\_translator
344 - ??
345
346Masix:
347
348.. list-table::
349 :widths: 1 1 1 77

226 more lines aren’t shown here.

Documentation/filesystems/ext4/ondisk/journal.rst+611−0

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

Documentation/filesystems/ext4/ondisk/mmp.rst+77−0

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

Documentation/filesystems/ext4/ondisk/overview.rst+26−0

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

Documentation/filesystems/ext4/ondisk/special_inodes.rst+38−0

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

Documentation/filesystems/ext4/ondisk/super.rst+801−0

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

Documentation/filesystems/f2fs.txt+18−0

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

Documentation/filesystems/index.rst+33−0

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

Documentation/filesystems/overlayfs.txt+59−22

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

Documentation/filesystems/porting+20−0

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

Documentation/filesystems/proc.txt+6−0

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

Documentation/filesystems/ramfs-rootfs-initramfs.txt+1−1

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

Documentation/filesystems/relay.txt+2−2

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

Documentation/filesystems/seq_file.txt+42−21

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

Documentation/filesystems/vfs.txt+14−20

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

Documentation/filesystems/xfs.txt+2−2

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

Documentation/fpga/dfl.txt+285−0

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

Documentation/gpu/amdgpu.rst+12−0

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

Documentation/gpu/msm-crash-dump.rst+96−0

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

Documentation/hwmon/ibmpowernv+41−2

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

Documentation/hwmon/max34440+12−4

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

Documentation/hwmon/mlxreg-fan+60−0

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

Documentation/hwmon/npcm750-pwm-fan+22−0

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

Documentation/hwmon/raspberrypi-hwmon+22−0

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

Documentation/hwmon/sysfs-interface+48−0

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

Documentation/i2c/busses/i2c-i801+4−7

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

Documentation/i2c/busses/i2c-ocores+1−1

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

Documentation/i2c/gpio-fault-injection+38−11

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

Documentation/index.rst+13−15

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

Documentation/input/multi-touch-protocol.rst+6−6

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

Documentation/ioctl/ioctl-number.txt+3−0

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

Documentation/iostats.txt+15−0

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

Documentation/kbuild/kbuild.txt+23−10

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

Documentation/kbuild/kconfig-language.txt+3−4

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

Documentation/kbuild/kconfig.txt+43−8

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

Documentation/kbuild/makefiles.txt+8−2

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

Documentation/kernel-hacking/hacking.rst+2−0

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

Documentation/kernel-hacking/index.rst+2−0

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

Documentation/kernel-hacking/locking.rst+4−2

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

Documentation/kprobes.txt+27−8

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

Documentation/media/audio.h.rst.exceptions+0−3

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

Documentation/media/media.h.rst.exceptions+1−1

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

Documentation/media/uapi/cec/cec-ioc-dqevent.rst+18−0

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

Documentation/media/uapi/dvb/audio-get-pts.rst+0−65

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

Documentation/media/uapi/dvb/audio-set-attributes.rst+0−67

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

Documentation/media/uapi/dvb/audio-set-ext-id.rst+0−66

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

Documentation/media/uapi/dvb/audio-set-karaoke.rst+0−66

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

Documentation/media/uapi/dvb/audio_data_types.rst+0−37

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

Documentation/media/uapi/dvb/audio_function_calls.rst+0−4

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

Documentation/media/uapi/dvb/video-get-frame-rate.rst+0−61

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

Documentation/media/uapi/dvb/video-get-navi.rst+0−84

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

Documentation/media/uapi/dvb/video-set-attributes.rst+0−93

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

Documentation/media/uapi/dvb/video-set-highlight.rst+0−86

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

Documentation/media/uapi/dvb/video-set-id.rst+0−75

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

Documentation/media/uapi/dvb/video-set-spu-palette.rst+0−82

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

Documentation/media/uapi/dvb/video-set-spu.rst+0−85

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

Documentation/media/uapi/dvb/video-set-system.rst+0−77

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

Documentation/media/uapi/dvb/video_function_calls.rst+0−7

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

Documentation/media/uapi/dvb/video_types.rst+0−131

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

Documentation/media/uapi/mediactl/media-ioc-device-info.rst+8−40

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

Documentation/media/uapi/mediactl/media-ioc-enum-entities.rst+20−72

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

Documentation/media/uapi/mediactl/media-ioc-enum-links.rst+12−60

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

Documentation/media/uapi/mediactl/media-ioc-g-topology.rst+63−177

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

Documentation/media/uapi/mediactl/media-types.rst+137−378

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

Documentation/media/uapi/v4l/extended-controls.rst+45−3

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

Documentation/media/uapi/v4l/pixfmt-compressed.rst+7−0

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

Documentation/media/uapi/v4l/pixfmt-rgb.rst+1−0

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

Documentation/media/uapi/v4l/pixfmt-srggb14p.rst+127−0

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

Documentation/media/uapi/v4l/pixfmt-y10p.rst+33−0

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

Documentation/media/uapi/v4l/subdev-formats.rst+81−6

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

Documentation/media/uapi/v4l/vidioc-enumstd.rst+7−4

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

Documentation/media/uapi/v4l/vidioc-g-std.rst+10−4

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

Documentation/media/uapi/v4l/vidioc-querystd.rst+7−4

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

Documentation/media/uapi/v4l/yuv-formats.rst+1−0

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

Documentation/media/v4l-drivers/qcom_camss.rst+60−33

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

Documentation/media/v4l-drivers/qcom_camss_8x96_graph.dot+104−0

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

Documentation/media/video.h.rst.exceptions+0−3

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

Documentation/media/videodev2.h.rst.exceptions+0−1

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

Documentation/memory-barriers.txt+27−16

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

Documentation/misc-devices/pci-endpoint-test.txt+6−0

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

Documentation/networking/00-INDEX+0−4

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

Documentation/networking/alias.rst+49−0

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

Documentation/networking/alias.txt+0−40

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

Documentation/networking/bonding.txt+1−1

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

Documentation/networking/bridge.rstrenamed from Documentation/networking/bridge.txt+6−0

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

Documentation/networking/can_ucan_protocol.rst+332−0

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

Documentation/networking/dpaa2/dpio-driver.rstrenamed from drivers/staging/fsl-mc/bus/dpio/dpio-driver.txt+26−3

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

Documentation/networking/dpaa2/index.rst+1−0

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

Documentation/networking/dpaa2/overview.rst+1−0

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

Documentation/networking/e100.rst+17−10

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

Documentation/networking/e1000.rst+112−75

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

Documentation/networking/index.rst+6−0

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

Documentation/networking/ip-sysctl.txt+29−5

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

Documentation/networking/net_failover.rst+57−54

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

Documentation/networking/netdev-FAQ.rst+259−0

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

Documentation/networking/netdev-FAQ.txt+0−244

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

Documentation/networking/scaling.txt+50−11

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

Documentation/networking/ti-cpsw.txt+541−0

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

Documentation/networking/tproxy.txt+27−7

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

Documentation/nommu-mmap.txt+1−1

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

Documentation/pcmcia/driver-changes.txt+0−3

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

Documentation/power/freezing-of-tasks.txt+6−6

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

Documentation/power/suspend-and-cpuhotplug.txt+3−3

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

Documentation/powerpc/DAWR-POWER9.txt+58−0

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

Documentation/powerpc/transactional_memory.txt+44−0

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

Documentation/process/2.Process.rst+1−1

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

Documentation/process/changes.rst+16−13

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

Documentation/process/howto.rst+1−1

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

Documentation/process/management-style.rst+13−12

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

Documentation/process/stable-kernel-rules.rst+1−1

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

Documentation/process/submitting-patches.rst+1−0

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

Documentation/rfkill.txt+8−10

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

Documentation/sound/alsa-configuration.rst+1−1

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

Documentation/sound/cards/multisound.sh+1139−0

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

Documentation/sound/hd-audio/models.rst+262−2

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

Documentation/sound/soc/dpcm.rst+1−3

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

Documentation/sphinx/kerneldoc.py+7−3

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

Documentation/sphinx/parse-headers.pl+1−1

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

Documentation/sysctl/fs.txt+36−0

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

Documentation/sysctl/kernel.txt+27−2

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

Documentation/sysctl/vm.txt+24−1

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

Documentation/timers/timekeeping.txt+1−1

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

Documentation/trace/events-power.rst+1−0

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

Documentation/trace/events.rst+1−1

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

Documentation/trace/ftrace.rst+2−2

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

Documentation/trace/histogram.rstrenamed from Documentation/trace/histogram.txt+628−622

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

Documentation/trace/index.rst+1−0

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

Documentation/trace/kprobetrace.rst+6−3

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

Documentation/trace/uprobetracer.rst+1−1

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

Documentation/translations/index.rst+13−0

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

Documentation/translations/it_IT/disclaimer-ita.rst+13−0

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

Documentation/translations/it_IT/doc-guide/index.rst+24−0

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

Documentation/translations/it_IT/doc-guide/kernel-doc.rst+554−0

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

Documentation/translations/it_IT/doc-guide/parse-headers.rst+196−0

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

Documentation/translations/it_IT/doc-guide/sphinx.rst+457−0

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

Documentation/translations/it_IT/index.rst+118−0

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

Documentation/translations/it_IT/kernel-hacking/hacking.rst+855−0

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

Documentation/translations/it_IT/kernel-hacking/index.rst+16−0

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

Documentation/translations/it_IT/kernel-hacking/locking.rst+1493−0

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

Documentation/translations/ko_KR/memory-barriers.txt+11−11

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

Documentation/translations/zh_CN/oops-tracing.txt+2−2

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

Documentation/usb/usb-serial.txt+0−9

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

Documentation/virtual/kvm/api.txt+148−4

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

Documentation/virtual/kvm/cpuid.txt+4−0

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

Documentation/virtual/kvm/devices/arm-vgic-v3.txt+8−0

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

Documentation/virtual/kvm/devices/arm-vgic.txt+9−6

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

Documentation/virtual/kvm/hypercalls.txt+20−0

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

Documentation/w1/slaves/w1_ds2438+1−1

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

Documentation/x86/intel_rdt_ui.txt+377−3

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

Documentation/x86/x86_64/boot-options.txt+5−3

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

Kconfig+21−1

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

MAINTAINERS+386−71

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

Makefile+74−57

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

arch/Kconfig+39−144

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

arch/alpha/Kconfig+1−22

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

arch/alpha/Kconfig.debug+0−5

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

arch/alpha/boot/Makefile+1−1

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

arch/alpha/include/asm/atomic.h+20−44

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

arch/alpha/include/uapi/asm/socket.h+3−0

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

arch/alpha/kernel/osf_sys.c+25−31

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

arch/alpha/mm/fault.c+2−1

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

arch/arc/Kconfig+4−20

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

arch/arc/Kconfig.debug+0−5

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

arch/arc/Makefile+2−15

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

arch/arc/configs/axs101_defconfig+0−1

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

arch/arc/configs/axs103_defconfig+0−1

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

arch/arc/configs/axs103_smp_defconfig+0−1

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

arch/arc/configs/haps_hs_defconfig+0−1

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

arch/arc/configs/haps_hs_smp_defconfig+0−1

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

arch/arc/configs/hsdk_defconfig+0−1

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

arch/arc/configs/nsim_700_defconfig+0−1

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

arch/arc/configs/nsim_hs_defconfig+0−1

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

arch/arc/configs/nsim_hs_smp_defconfig+0−1

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

arch/arc/configs/nsimosci_defconfig+0−1

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

arch/arc/configs/nsimosci_hs_defconfig+0−1

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

arch/arc/configs/nsimosci_hs_smp_defconfig+0−1

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

arch/arc/configs/tb10x_defconfig+0−1

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

arch/arc/include/asm/atomic.h+17−69

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

arch/arc/include/asm/cache.h+3−1

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

arch/arc/include/asm/delay.h+3−0

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

arch/arc/include/asm/entry-compact.h+6−0

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

arch/arc/include/asm/entry.h+0−3

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

arch/arc/include/asm/kprobes.h+0−2

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

arch/arc/include/asm/mach_desc.h+0−2

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

arch/arc/include/asm/page.h+1−1

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

arch/arc/include/asm/pgtable.h+1−1

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

arch/arc/kernel/irq.c+1−1

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

arch/arc/kernel/kprobes.c+5−45

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

arch/arc/kernel/process.c+36−11

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

arch/arc/mm/cache.c+14−3

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

arch/arc/mm/dma.c+47−2

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

arch/arc/mm/fault.c+3−1

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

arch/arc/plat-eznps/include/plat/ctop.h+10−0

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

arch/arc/plat-eznps/mtm.c+4−2

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

arch/arc/plat-hsdk/Kconfig+3−0

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

arch/arc/plat-hsdk/platform.c+62−0

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

arch/arm/Kconfig+12−40

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

arch/arm/Kconfig.debug+12−7

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

arch/arm/Makefile+2−6

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

arch/arm/boot/dts/Makefile+29−6

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

arch/arm/boot/dts/am335x-baltos.dtsi+1−1

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

arch/arm/boot/dts/am335x-bone-common.dtsi+0−1

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

arch/arm/boot/dts/am335x-evm.dts+1−1

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

arch/arm/boot/dts/am335x-evmsk.dts+1−1

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

arch/arm/boot/dts/am335x-osd3358-sm-red.dts+457−0

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

arch/arm/boot/dts/am335x-sancloud-bbe.dts+136−0

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

arch/arm/boot/dts/am335x-sl50.dts+245−52

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

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

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

arch/arm/boot/dts/am3517-evm.dts+47−3

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

arch/arm/boot/dts/am3517-som.dtsi+100−5

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

arch/arm/boot/dts/am3517.dtsi+9−0

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

arch/arm/boot/dts/am437x-gp-evm.dts+1−1

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

arch/arm/boot/dts/am437x-sk-evm.dts+2−0

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

arch/arm/boot/dts/am571x-idk.dts+0−4

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

arch/arm/boot/dts/am572x-idk-common.dtsi+0−4

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

arch/arm/boot/dts/am57xx-idk-common.dtsi+6−1

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

arch/arm/boot/dts/armada-388-clearfog-base.dts+0−5

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

arch/arm/boot/dts/armada-388-clearfog-pro.dts+0−5

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

arch/arm/boot/dts/armada-388-clearfog.dts+1−6

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

arch/arm/boot/dts/armada-388-clearfog.dtsi+1−6

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

arch/arm/boot/dts/armada-388-helios4.dts+313−0

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

arch/arm/boot/dts/armada-38x-solidrun-microsom.dtsi+0−6

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

arch/arm/boot/dts/armada-38x.dtsi+1−1

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

arch/arm/boot/dts/aspeed-ast2500-evb.dts+7−7

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

arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts+3−2

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

arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts+1−0

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

arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts+1−0

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

arch/arm/boot/dts/aspeed-g4.dtsi+24−2

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

arch/arm/boot/dts/aspeed-g5.dtsi+32−2

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

arch/arm/boot/dts/at91-dvk_som60.dts+95−0

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

arch/arm/boot/dts/at91-dvk_su60_somc.dtsi+159−0

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

arch/arm/boot/dts/at91-dvk_su60_somc_lcm.dtsi+90−0

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

arch/arm/boot/dts/at91-gatwick.dts+121−0

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

arch/arm/boot/dts/at91-som60.dtsi+230−0

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

arch/arm/boot/dts/at91-wb45n.dts+64−0

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

arch/arm/boot/dts/at91-wb45n.dtsi+165−0

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

arch/arm/boot/dts/at91-wb50n.dts+112−0

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

arch/arm/boot/dts/at91-wb50n.dtsi+198−0

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

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

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

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

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

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

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

arch/arm/boot/dts/at91sam9x5.dtsi+4−4

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

arch/arm/boot/dts/bcm-cygnus.dtsi+9−0

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

arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts+88−0

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

arch/arm/boot/dts/bcm2835-rpi-cm1.dtsi+34−0

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

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

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

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

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

arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts+4−0

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

arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts+4−0

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

arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts+4−0

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

arch/arm/boot/dts/bcm4708-linksys-ea6300-v1.dts+4−0

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

arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts+4−0

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

arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts+4−0

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

arch/arm/boot/dts/bcm4708-netgear-r6250.dts+4−0

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

arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts+4−0

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

arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts+4−0

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

arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts+4−0

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

arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts+4−0

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

arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts+4−0

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

arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts+4−0

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

arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts+4−0

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

arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts+4−0

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

arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts+4−0

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

arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts+4−0

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

arch/arm/boot/dts/bcm4709-linksys-ea9200.dts+4−0

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

arch/arm/boot/dts/bcm4709-netgear-r7000.dts+4−0

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

arch/arm/boot/dts/bcm4709-netgear-r8000.dts+4−0

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

arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts+4−0

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

arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts+4−0

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

arch/arm/boot/dts/bcm47094-linksys-panamera.dts+233−0

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

arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts+4−0

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

arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts+4−0

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

arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts+4−0

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

arch/arm/boot/dts/bcm47094-netgear-r8500.dts+4−0

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

arch/arm/boot/dts/bcm47094.dtsi+4−3

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

arch/arm/boot/dts/bcm5301x.dtsi+27−8

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

arch/arm/boot/dts/bcm53573.dtsi+8−0

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

arch/arm/boot/dts/bcm94708.dts+4−0

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

arch/arm/boot/dts/bcm94709.dts+4−0

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

arch/arm/boot/dts/bcm953012er.dts+4−0

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

arch/arm/boot/dts/bcm953012hr.dts+4−0

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

arch/arm/boot/dts/bcm953012k.dts+4−0

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

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

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

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

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

arch/arm/boot/dts/da850-enbw-cmc.dts+4−0

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

arch/arm/boot/dts/da850-evm.dts+90−1

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

arch/arm/boot/dts/da850-lcdk.dts+9−0

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

arch/arm/boot/dts/da850-lego-ev3.dts+86−0

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

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

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

arch/arm/boot/dts/dra7-evm-common.dtsi+10−0

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

arch/arm/boot/dts/dra7-evm.dts+0−9

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

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

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

arch/arm/boot/dts/dra71-evm.dts+8−0

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

arch/arm/boot/dts/dra72-evm-common.dtsi+1−0

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

arch/arm/boot/dts/dra74x.dtsi+10−0

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

arch/arm/boot/dts/dra76-evm.dts+14−0

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

arch/arm/boot/dts/dra76x.dtsi+64−0

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

arch/arm/boot/dts/emev2-kzm9d.dts+1−4

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

arch/arm/boot/dts/emev2.dtsi+1−4

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

arch/arm/boot/dts/exynos3250.dtsi+17−1

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

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

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

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

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

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

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

arch/arm/boot/dts/exynos4412-tmu-sensor-conf.dtsi+0−20

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

arch/arm/boot/dts/exynos4412.dtsi+9−0

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

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

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

arch/arm/boot/dts/exynos5250.dtsi+24−1

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

arch/arm/boot/dts/exynos5410.dtsi+4−4

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

arch/arm/boot/dts/exynos5420-cpus.dtsi+6−0

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

arch/arm/boot/dts/exynos5420-tmu-sensor-conf.dtsi+0−21

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

arch/arm/boot/dts/exynos5420.dtsi+5−5

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

arch/arm/boot/dts/exynos5422-cpus.dtsi+7−1

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

arch/arm/boot/dts/gemini-dlink-dir-685.dts+139−1

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

arch/arm/boot/dts/gemini-sl93512r.dts+328−0

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

arch/arm/boot/dts/gemini-sq201.dts+159−0

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

arch/arm/boot/dts/gr-peach-audiocamerashield.dtsi+79−0

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

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

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

arch/arm/boot/dts/imx31-lite.dts+177−0

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

arch/arm/boot/dts/imx31.dtsi+223−0

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

arch/arm/boot/dts/imx50-evk.dts+0−8

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

arch/arm/boot/dts/imx50-pinfunc.h+2−2

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

arch/arm/boot/dts/imx50.dtsi+0−18

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

arch/arm/boot/dts/imx51-babbage.dts+14−15

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

arch/arm/boot/dts/imx51-eukrea-mbimxsd51-baseboard.dts+7−14

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

arch/arm/boot/dts/imx51-zii-rdu1.dts+75−2

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

arch/arm/boot/dts/imx51-zii-scu2-mezz.dts+448−0

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

arch/arm/boot/dts/imx51-zii-scu3-esb.dts+467−0

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

arch/arm/boot/dts/imx51.dtsi+50−11

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

arch/arm/boot/dts/imx53-kp-ddc.dts+146−0

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

arch/arm/boot/dts/imx53-kp-hsc.dts+52−0

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

arch/arm/boot/dts/imx53-kp.dtsi+189−0

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

arch/arm/boot/dts/imx53-ppd.dts+38−2

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

arch/arm/boot/dts/imx53-qsb-common.dtsi+8−1

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

arch/arm/boot/dts/imx53.dtsi+6−1

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

arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts+0−3

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

arch/arm/boot/dts/imx6dl-icore-mipi.dts+25−0

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

arch/arm/boot/dts/imx6dl-mamoj.dts+265−0

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

arch/arm/boot/dts/imx6dl-nit6xlite.dts+1−37

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

arch/arm/boot/dts/imx6dl-nitrogen6x.dts+1−37

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

arch/arm/boot/dts/imx6dl-riotboard.dts+24−30

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

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

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

arch/arm/boot/dts/imx6q-apalis-eval.dts+16−0

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

arch/arm/boot/dts/imx6q-apalis-ixora-v1.1.dts+4−0

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

arch/arm/boot/dts/imx6q-apalis-ixora.dts+4−0

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

arch/arm/boot/dts/imx6q-cm-fx6.dts+66−0

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

arch/arm/boot/dts/imx6q-icore-mipi.dts+8−0

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

arch/arm/boot/dts/imx6q-nitrogen6_max.dts+1−37

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

arch/arm/boot/dts/imx6q-nitrogen6_som2.dts+1−37

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

arch/arm/boot/dts/imx6q-nitrogen6x.dts+1−37

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

arch/arm/boot/dts/imx6q-var-dt6customboard.dts+1−0

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

arch/arm/boot/dts/imx6q.dtsi+85−3

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

arch/arm/boot/dts/imx6qdl-apalis.dtsi+18−57

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

arch/arm/boot/dts/imx6qdl-colibri.dtsi+19−59

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

arch/arm/boot/dts/imx6qdl-icore.dtsi+46−3

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

arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi+2−37

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

arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi+2−37

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

arch/arm/boot/dts/imx6qdl-nitrogen6_som2.dtsi+2−37

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

arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi+2−37

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

arch/arm/boot/dts/imx6qdl-sabreauto.dtsi+25−0

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

arch/arm/boot/dts/imx6qdl-sabresd.dtsi+1−0

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

arch/arm/boot/dts/imx6qdl-wandboard.dtsi+34−25

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

arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi+29−3

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

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

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

arch/arm/boot/dts/imx6qp-nitrogen6_max.dts+1−38

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

arch/arm/boot/dts/imx6qp-nitrogen6_som2.dts+1−38

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

arch/arm/boot/dts/imx6sl-evk.dts+13−0

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

arch/arm/boot/dts/imx6sl.dtsi+56−8

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

arch/arm/boot/dts/imx6sll-evk.dts+463−0

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

arch/arm/boot/dts/imx6sll-pinfunc.h+880−0

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

arch/arm/boot/dts/imx6sll.dtsi+780−0

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

arch/arm/boot/dts/imx6sx-nitrogen6sx.dts+1−108

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

arch/arm/boot/dts/imx6sx-sdb-reva.dts+1−0

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

arch/arm/boot/dts/imx6sx.dtsi+11−5

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

arch/arm/boot/dts/imx6ul-ccimx6ulsbcexpress.dts+200−0

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

arch/arm/boot/dts/imx6ul-ccimx6ulsom.dtsi+201−0

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

arch/arm/boot/dts/imx6ul-pico-hobbit.dts+2−1

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

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

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

arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi+0−14

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

arch/arm/boot/dts/imx6ull.dtsi+22−40

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

arch/arm/boot/dts/imx7d-nitrogen7.dts+16−71

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

arch/arm/boot/dts/imx7d-sdb.dts+21−12

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

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

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

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

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

arch/arm/boot/dts/iwg20d-q7-common.dtsi+1−4

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

arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi+1−4

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

arch/arm/boot/dts/keystone-k2e-netcp.dtsi+20−0

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

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

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

arch/arm/boot/dts/keystone-k2g-ice.dts+59−0

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

arch/arm/boot/dts/keystone-k2g-netcp.dtsi+147−0

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

arch/arm/boot/dts/keystone-k2g.dtsi+17−8

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

arch/arm/boot/dts/keystone-k2hk-netcp.dtsi+20−0

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

arch/arm/boot/dts/keystone-k2l-netcp.dtsi+20−0

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

arch/arm/boot/dts/logicpd-som-lv.dtsi+1−1

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

arch/arm/boot/dts/logicpd-torpedo-37xx-devkit.dts+1−1

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

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

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

arch/arm/boot/dts/mt7623.dtsi+3−0

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

arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts+3−3

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

arch/arm/boot/dts/mt7623n-rfb-nand.dts+0−73

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

arch/arm/boot/dts/mt7623n-rfb.dtsi+0−86

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

arch/arm/boot/dts/omap3-cm-t3517.dts+1−1

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

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

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

arch/arm/boot/dts/omap3-evm-common.dtsi+1−1

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

arch/arm/boot/dts/omap3-igep0020-rev-f.dts+1−1

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

arch/arm/boot/dts/omap3-igep0030-rev-g.dts+1−1

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

arch/arm/boot/dts/omap3-zoom3.dts+1−1

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

arch/arm/boot/dts/omap4-droid4-xt894.dts+8−8

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

arch/arm/boot/dts/omap4-duovero-parlor.dts+3−1

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

arch/arm/boot/dts/omap4-duovero.dtsi+1−0

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

arch/arm/boot/dts/omap4-l4.dtsi+2444−0

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

arch/arm/boot/dts/omap4-panda-common.dtsi+23−1

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

arch/arm/boot/dts/omap4-panda-es.dts+13−1

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

arch/arm/boot/dts/omap4-sdp.dts+1−1

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

arch/arm/boot/dts/omap4-var-som-om44-wlan.dtsi+1−1

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

arch/arm/boot/dts/omap4.dtsi+32−780

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

arch/arm/boot/dts/omap4460.dtsi+36−0

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

arch/arm/boot/dts/omap5-board-common.dtsi+1−1

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

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

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

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

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

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

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

arch/arm/boot/dts/qcom-ipq4019.dtsi+24−0

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

arch/arm/boot/dts/qcom-ipq8064.dtsi+24−17

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

arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts+2−0

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

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

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

arch/arm/boot/dts/r7s72100-gr-peach.dts+1−4

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

arch/arm/boot/dts/r7s72100-rskrza1.dts+1−4

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

arch/arm/boot/dts/r7s72100.dtsi+1−4

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

arch/arm/boot/dts/r8a73a4-ape6evm.dts+1−4

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

arch/arm/boot/dts/r8a73a4.dtsi+1−4

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

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

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

arch/arm/boot/dts/r8a7740.dtsi+1−4

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

arch/arm/boot/dts/r8a7743-iwg20d-q7-dbcm-ca.dts+1−4

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

arch/arm/boot/dts/r8a7743-iwg20d-q7.dts+1−4

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

arch/arm/boot/dts/r8a7743-iwg20m.dtsi+1−4

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

arch/arm/boot/dts/r8a7743-sk-rzg1m.dts+1−4

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

arch/arm/boot/dts/r8a7743.dtsi+10−4

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

arch/arm/boot/dts/r8a7745-iwg22d-sodimm-dbhd-ca.dts+1−4

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

arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts+1−4

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

arch/arm/boot/dts/r8a7745-iwg22m.dtsi+1−4

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

arch/arm/boot/dts/r8a7745-sk-rzg1e.dts+1−4

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

arch/arm/boot/dts/r8a7745.dtsi+1−4

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

arch/arm/boot/dts/r8a77470.dtsi+8−8

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

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

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

arch/arm/boot/dts/r8a7778.dtsi+1−4

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

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

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

arch/arm/boot/dts/r8a7779.dtsi+1−4

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

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

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

arch/arm/boot/dts/r8a7790.dtsi+33−6

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

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

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

arch/arm/boot/dts/r8a7791-porter.dts+34−4

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

arch/arm/boot/dts/r8a7791.dtsi+13−6

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

arch/arm/boot/dts/r8a7792-blanche.dts+1−4

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

arch/arm/boot/dts/r8a7792-wheat.dts+1−4

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

arch/arm/boot/dts/r8a7792.dtsi+1−4

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

arch/arm/boot/dts/r8a7793-gose.dts+1−4

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

arch/arm/boot/dts/r8a7793.dtsi+14−6

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

arch/arm/boot/dts/r8a7794-alt.dts+1−4

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

arch/arm/boot/dts/r8a7794-silk.dts+1−4

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

arch/arm/boot/dts/r8a7794.dtsi+1−4

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

arch/arm/boot/dts/r8a77xx-aa104xd12-panel.dtsi+1−4

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

arch/arm/boot/dts/r8a77xx-aa121td01-panel.dtsi+1−4

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

arch/arm/boot/dts/r9a06g032-rzn1d400-db.dts+28−0

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

arch/arm/boot/dts/r9a06g032.dtsi+115−0

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

arch/arm/boot/dts/rk3036-evb.dts+1−39

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

arch/arm/boot/dts/rk3036-kylin.dts+1−39

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

arch/arm/boot/dts/rk3036.dtsi+1−39

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

arch/arm/boot/dts/rk3066a-bqcurie2.dts+1−38

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

arch/arm/boot/dts/rk3066a-marsboard.dts+1−38

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

arch/arm/boot/dts/rk3066a-mk808.dts+1−38

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

arch/arm/boot/dts/rk3066a-rayeager.dts+1−38

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

arch/arm/boot/dts/rk3066a.dtsi+1−38

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

arch/arm/boot/dts/rk3188-px3-evb.dts+1−38

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

arch/arm/boot/dts/rk3188-radxarock.dts+1−38

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

arch/arm/boot/dts/rk3188.dtsi+1−38

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

arch/arm/boot/dts/rk3228-evb.dts+1−39

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

arch/arm/boot/dts/rk3229-evb.dts+1−39

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

arch/arm/boot/dts/rk3229.dtsi+1−38

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

arch/arm/boot/dts/rk322x.dtsi+4−39

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

arch/arm/boot/dts/rk3288-evb-act8846.dts+1−39

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

arch/arm/boot/dts/rk3288-evb-rk808.dts+1−39

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

arch/arm/boot/dts/rk3288-evb.dtsi+2−40

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

arch/arm/boot/dts/rk3288-fennec.dts+1−39

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

arch/arm/boot/dts/rk3288-firefly-beta.dts+1−38

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

arch/arm/boot/dts/rk3288-firefly-reload-core.dtsi+1−38

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

arch/arm/boot/dts/rk3288-firefly-reload.dts+1−38

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

arch/arm/boot/dts/rk3288-firefly.dts+1−38

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

arch/arm/boot/dts/rk3288-firefly.dtsi+1−38

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

arch/arm/boot/dts/rk3288-miqi.dts+1−38

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

arch/arm/boot/dts/rk3288-phycore-rdk.dts+1−38

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

arch/arm/boot/dts/rk3288-phycore-som.dtsi+1−38

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

arch/arm/boot/dts/rk3288-popmetal.dts+1−38

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

arch/arm/boot/dts/rk3288-r89.dts+1−38

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

arch/arm/boot/dts/rk3288-rock2-som.dtsi+1−39

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

arch/arm/boot/dts/rk3288-rock2-square.dts+1−39

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

arch/arm/boot/dts/rk3288-tinker.dts+1−38

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

arch/arm/boot/dts/rk3288-veyron-analog-audio.dtsi+1−4

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

arch/arm/boot/dts/rk3288-veyron-brain.dts+1−38

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

arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi+2−39

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

arch/arm/boot/dts/rk3288-veyron-jaq.dts+1−38

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

arch/arm/boot/dts/rk3288-veyron-jerry.dts+1−38

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

arch/arm/boot/dts/rk3288-veyron-mickey.dts+1−38

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

arch/arm/boot/dts/rk3288-veyron-minnie.dts+1−38

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

arch/arm/boot/dts/rk3288-veyron-pinky.dts+1−38

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

arch/arm/boot/dts/rk3288-veyron-sdmmc.dtsi+1−38

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

arch/arm/boot/dts/rk3288-veyron-speedy.dts+1−38

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

arch/arm/boot/dts/rk3288-veyron.dtsi+21−54

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

arch/arm/boot/dts/rk3288-vyasa.dts+1−38

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

arch/arm/boot/dts/rk3288.dtsi+68−54

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

arch/arm/boot/dts/rk3xxx.dtsi+1−38

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

arch/arm/boot/dts/rv1108-evb.dts+1−39

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

arch/arm/boot/dts/rv1108.dtsi+1−39

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

arch/arm/boot/dts/s5pv210-aries.dtsi+419−0

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

arch/arm/boot/dts/s5pv210-fascinate4g.dts+45−0

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

arch/arm/boot/dts/s5pv210-galaxys.dts+77−0

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

arch/arm/boot/dts/s5pv210-pinctrl.dtsi+2−0

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

arch/arm/boot/dts/sama5d2-pinfunc.h+2−2

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

arch/arm/boot/dts/sama5d3.dtsi+4−4

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

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

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

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

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

arch/arm/boot/dts/sh73a0.dtsi+1−4

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

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

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

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

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

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

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

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

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

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

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

arch/arm/boot/dts/stm32mp157c-ed1.dts+17−8

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

arch/arm/boot/dts/stm32mp157c-ev1.dts+45−0

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

arch/arm/boot/dts/stm32mp157c.dtsi+295−14

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

arch/arm/boot/dts/sun4i-a10-inet97fv2.dts+1−1

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

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

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

arch/arm/boot/dts/sun5i.dtsi+24−8

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

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

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

arch/arm/boot/dts/sun7i-a20.dtsi+34−4

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

arch/arm/boot/dts/sun8i-a23-a33.dtsi+22−0

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

arch/arm/boot/dts/sun8i-a33.dtsi+9−0

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

arch/arm/boot/dts/sun8i-a83t-allwinner-h8homlet-v2.dts+8−0

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

arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts+8−0

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

arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts+8−0

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

arch/arm/boot/dts/sun8i-a83t.dtsi+0−2

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

arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts+21−0

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

arch/arm/boot/dts/sun8i-h3-beelink-x2.dts+7−0

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

arch/arm/boot/dts/sun8i-h3.dtsi+31−0

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

arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts+29−0

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

arch/arm/boot/dts/sun8i-r40.dtsi+317−2

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

arch/arm/boot/dts/sunxi-h3-h5.dtsi+0−2

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

arch/arm/boot/dts/sunxi-libretech-all-h3-cc.dtsi+9−0

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

arch/arm/boot/dts/tegra114-dalmore.dts+1−1

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

arch/arm/boot/dts/tegra114-roth.dts+1−1

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

arch/arm/boot/dts/tegra114-tn7.dts+1−1

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

arch/arm/boot/dts/tegra114.dtsi+7−2

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

arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi+1−1

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

arch/arm/boot/dts/tegra124-apalis.dtsi+1−1

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

arch/arm/boot/dts/tegra124-jetson-tk1.dts+1−1

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

arch/arm/boot/dts/tegra124-nyan.dtsi+1−1

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

arch/arm/boot/dts/tegra124-venice2.dts+1−1

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

arch/arm/boot/dts/tegra124.dtsi+5−2

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

arch/arm/boot/dts/tegra20-colibri-iris.dtsrenamed from arch/arm/boot/dts/tegra20-iris-512.dts+2−2

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

arch/arm/boot/dts/tegra20-colibri.dtsirenamed from arch/arm/boot/dts/tegra20-colibri-512.dtsi+24−3

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

arch/arm/boot/dts/tegra20-harmony.dts+1−1

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

arch/arm/boot/dts/tegra20-paz00.dts+1−1

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

arch/arm/boot/dts/tegra20-seaboard.dts+1−1

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

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

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

arch/arm/boot/dts/tegra20-trimslice.dts+1−1

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

arch/arm/boot/dts/tegra20-ventana.dts+1−1

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

arch/arm/boot/dts/tegra20.dtsi+27−4

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

arch/arm/boot/dts/tegra30-apalis.dtsi+6−3

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

arch/arm/boot/dts/tegra30-beaver.dts+1−4

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

arch/arm/boot/dts/tegra30-cardhu.dtsi+2−1

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

arch/arm/boot/dts/tegra30-colibri.dtsi+1−3

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

arch/arm/boot/dts/tegra30.dtsi+10−3

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

arch/arm/boot/dts/uniphier-pxs2.dtsi+3−0

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

arch/arm/boot/dts/vf610-zii-cfu1.dts+305−0

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

arch/arm/boot/dts/vf610-zii-ssmb-spu3.dts+341−0

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

arch/arm/boot/dts/zynq-cc108.dts+1−1

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

arch/arm/boot/dts/zynq-microzed.dts+2−2

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

arch/arm/boot/dts/zynq-parallella.dts+1−1

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

arch/arm/boot/dts/zynq-zc702.dts+2−3

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

arch/arm/boot/dts/zynq-zc706.dts+2−1

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

arch/arm/boot/dts/zynq-zc770-xm010.dts+1−1

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

arch/arm/boot/dts/zynq-zc770-xm011.dts+1−1

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

arch/arm/boot/dts/zynq-zc770-xm012.dts+1−1

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

arch/arm/boot/dts/zynq-zc770-xm013.dts+1−1

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

arch/arm/boot/dts/zynq-zed.dts+3−2

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

arch/arm/boot/dts/zynq-zturn.dts+114−0

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

arch/arm/boot/dts/zynq-zybo-z7.dts+13−3

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

arch/arm/boot/dts/zynq-zybo.dts+2−1

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

arch/arm/configs/aspeed_g4_defconfig+97−16

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

arch/arm/configs/aspeed_g5_defconfig+98−19

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

arch/arm/configs/bcm2835_defconfig+1−1

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

arch/arm/configs/davinci_all_defconfig+10−1

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

arch/arm/configs/exynos_defconfig+2−2

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

arch/arm/configs/imx_v4_v5_defconfig+2−0

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

arch/arm/configs/imx_v6_v7_defconfig+7−3

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

arch/arm/configs/keystone_defconfig+5−0

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

arch/arm/configs/multi_v5_defconfig+18−12

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

arch/arm/configs/multi_v7_defconfig+12−2

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

arch/arm/configs/mvebu_v7_defconfig+3−10

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

arch/arm/configs/mxs_defconfig+3−2

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

arch/arm/configs/pxa_defconfig+2−2

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

arch/arm/configs/qcom_defconfig+2−0

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

arch/arm/configs/s5pv210_defconfig+46−3

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

arch/arm/configs/shmobile_defconfig+3−14

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

arch/arm/crypto/chacha20-neon-core.S+4−6

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

arch/arm/crypto/ghash-ce-glue.c+2−3

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

arch/arm/crypto/sha1-ce-glue.c+0−1

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

arch/arm/crypto/sha1_glue.c+0−1

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

arch/arm/crypto/sha1_neon_glue.c+0−1

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

arch/arm/crypto/sha2-ce-glue.c+0−2

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

arch/arm/crypto/sha256_glue.c+1−3

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

arch/arm/crypto/sha256_neon_glue.c+2−4

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

arch/arm/crypto/sha512-glue.c+0−2

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

arch/arm/crypto/sha512-neon-glue.c+0−2

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

arch/arm/crypto/speck-neon-core.S+4−2

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

arch/arm/firmware/Makefile+3−0

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

arch/arm/firmware/trusted_foundations.c+9−5

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

arch/arm/include/asm/assembler.h+4−0

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

arch/arm/include/asm/atomic.h+14−41

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

arch/arm/include/asm/bitops.h+9−83

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

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

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

arch/arm/include/asm/hw_breakpoint.h+5−2

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

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

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

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

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

arch/arm/include/asm/kvm_emulate.h+18−8

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

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

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

arch/arm/include/asm/kvm_mmu.h+3−11

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

arch/arm/include/asm/mach/arch.h+1−1

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

arch/arm/include/asm/mach/time.h+1−2

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

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

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

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

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

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

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

arch/arm/include/asm/tlb.h+8−0

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

arch/arm/include/asm/uaccess.h+19−7

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

arch/arm/include/debug/renesas-scif.S+1−4

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

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

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

arch/arm/kernel/asm-offsets.c+1−12

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

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

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

arch/arm/kernel/entry-common.S+3−1

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

arch/arm/kernel/head-nommu.S+11−3

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

arch/arm/kernel/hw_breakpoint.c+39−39

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

arch/arm/kernel/irq.c+0−10

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

arch/arm/kernel/perf_event_v6.c+10−4

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

arch/arm/kernel/perf_event_v7.c+12−3

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

arch/arm/kernel/perf_event_xscale.c+12−6

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

arch/arm/kernel/process.c+5−5

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

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

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

arch/arm/kernel/signal.c+29−29

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

arch/arm/kernel/sys_oabi-compat.c+5−3

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

arch/arm/kernel/time.c+2−13

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

arch/arm/kvm/coproc.c+24−1

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

arch/arm/kvm/guest.c+23−0

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

arch/arm/lib/copy_from_user.S+9−0

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

arch/arm/mach-at91/Kconfig+4−0

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

arch/arm/mach-at91/Makefile+0−25

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

arch/arm/mach-at91/pm.c+161−31

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

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

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

arch/arm/mach-at91/pm_suspend.S+122−20

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

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

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

arch/arm/mach-davinci/Makefile+2−2

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

arch/arm/mach-davinci/aemif.c+0−218

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

arch/arm/mach-davinci/board-da830-evm.c+48−20

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

arch/arm/mach-davinci/board-da850-evm.c+53−42

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

arch/arm/mach-davinci/board-dm355-evm.c+2−0

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

arch/arm/mach-davinci/board-dm355-leopard.c+2−0

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

arch/arm/mach-davinci/board-dm365-evm.c+48−13

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

arch/arm/mach-davinci/board-dm644x-evm.c+44−13

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

arch/arm/mach-davinci/board-dm646x-evm.c+43−11

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

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

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

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

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

arch/arm/mach-davinci/board-omapl138-hawk.c+136−7

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

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

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

arch/arm/mach-davinci/clock.c+0−745

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

arch/arm/mach-davinci/clock.h+0−76

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

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

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

arch/arm/mach-davinci/da830.c+54−408

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

arch/arm/mach-davinci/da850.c+128−650

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

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

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

arch/arm/mach-davinci/davinci.h+8−0

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

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

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

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

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

arch/arm/mach-davinci/dm355.c+47−359

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

arch/arm/mach-davinci/dm365.c+34−451

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

arch/arm/mach-davinci/dm644x.c+45−299

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

arch/arm/mach-davinci/dm646x.c+45−327

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

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

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

arch/arm/mach-davinci/include/mach/common.h+2−9

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

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

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

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

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

arch/arm/mach-davinci/psc.c+0−137

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

arch/arm/mach-davinci/psc.h+0−12

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

arch/arm/mach-davinci/time.c+16−6

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

arch/arm/mach-davinci/usb-da8xx.c+13−229

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

arch/arm/mach-exynos/exynos.c+0−2

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

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

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

arch/arm/mach-hisi/hotplug.c+26−15

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

arch/arm/mach-imx/Kconfig+21−12

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

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

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

arch/arm/mach-imx/common.h+2−1

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

arch/arm/mach-imx/cpu-imx5.c+45−0

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

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

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

arch/arm/mach-imx/cpuidle-imx6sl.c+2−5

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

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

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

arch/arm/mach-imx/gpc.c+14−0

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

arch/arm/mach-imx/imx31-dt.c+0−18

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

arch/arm/mach-imx/mach-imx51.c+29−1

This diff is large: its 48 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-imx6sl.c+4−1

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

arch/arm/mach-imx/mach-imx7d-cm4.c+18−0

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

arch/arm/mach-imx/pm-imx6.c+30−3

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

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

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

arch/arm/mach-mvebu/platsmp.c+23−26

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

arch/arm/mach-mvebu/pmsu.c+3−3

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

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

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

arch/arm/mach-omap1/ams-delta-fiq.c+92−21

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

arch/arm/mach-omap1/ams-delta-fiq.h+42−0

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

arch/arm/mach-omap1/board-ams-delta.c+245−56

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

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

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

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

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

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

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

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

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

arch/arm/mach-omap2/omap-smp.c+41−0

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

arch/arm/mach-omap2/omap_hwmod_reset.c+8−4

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

arch/arm/mach-omap2/pm-asm-offsets.c+2−0

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

arch/arm/mach-omap2/pm-debug.c+6−31

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

arch/arm/mach-omap2/pm33xx-core.c+16−4

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

arch/arm/mach-omap2/sleep33xx.S+50−2

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

arch/arm/mach-omap2/sleep43xx.S+104−6

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

arch/arm/mach-pxa/balloon3.c+0−1

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

arch/arm/mach-pxa/devices.c+16−145

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

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

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

arch/arm/mach-pxa/em-x270.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/hx4700.c+4−0

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-pxa/irq.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-pxa/mioa701.c+0−2

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-pxa/pxa25x.c+37−1

This diff is large: its 66 lines aren’t shown here.

arch/arm/mach-pxa/pxa27x.c+38−1

This diff is large: its 67 lines aren’t shown here.

arch/arm/mach-pxa/pxa3xx.c+40−1

This diff is large: its 69 lines aren’t shown here.

arch/arm/mach-pxa/zylonite.c+0−11

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-rockchip/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-rpc/ecard.c+1−4

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-s3c24xx/include/mach/s3c2412.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-shmobile/Kconfig+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-shmobile/Makefile+2−6

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-shmobile/common.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-shmobile/headsmp-apmu.S+1−6

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-shmobile/platsmp-apmu.c+101−144

This diff is large: its 286 lines aren’t shown here.

arch/arm/mach-shmobile/platsmp-apmu.h+0−32

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-shmobile/platsmp.c+0−9

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-shmobile/pm-r8a7779.c+0−41

This diff is large: its 42 lines aren’t shown here.

arch/arm/mach-shmobile/pm-rcar-gen2.c+0−25

This diff is large: its 59 lines aren’t shown here.

arch/arm/mach-shmobile/r8a7779.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-shmobile/r8a7790.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-shmobile/r8a7791.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c+1−9

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-shmobile/setup-emev2.c+1−9

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-shmobile/setup-r7s72100.c+1−9

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-shmobile/setup-r8a73a4.c+1−10

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-shmobile/setup-r8a7740.c+1−9

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-shmobile/setup-r8a7778.c+1−9

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-shmobile/setup-r8a7779.c+1−9

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-shmobile/setup-r8a7790.c+0−38

This diff is large: its 39 lines aren’t shown here.

arch/arm/mach-shmobile/setup-r8a7791.c+0−39

This diff is large: its 40 lines aren’t shown here.

arch/arm/mach-shmobile/setup-rcar-gen2.c+3−17

This diff is large: its 65 lines aren’t shown here.

arch/arm/mach-shmobile/setup-sh73a0.c+1−9

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-shmobile/smp-emev2.c+1−9

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-shmobile/smp-r8a7779.c+14−64

This diff is large: its 109 lines aren’t shown here.

arch/arm/mach-shmobile/smp-r8a7790.c+0−71

This diff is large: its 72 lines aren’t shown here.

arch/arm/mach-shmobile/smp-r8a7791.c+0−53

This diff is large: its 54 lines aren’t shown here.

arch/arm/mach-shmobile/timer.c+0−8

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-uniphier/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mm/Kconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mm/dma-mapping.c+9−8

This diff is large: its 52 lines aren’t shown here.

arch/arm/mm/fault.c+4−3

This diff is large: its 25 lines aren’t shown here.

arch/arm/mm/init.c+9−0

This diff is large: its 30 lines aren’t shown here.

arch/arm/mm/nommu.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/tcm.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/net/bpf_jit_32.c+577−487

This diff is large: its 1624 lines aren’t shown here.

arch/arm/net/bpf_jit_32.h+20−22

This diff is large: its 74 lines aren’t shown here.

arch/arm/plat-omap/counter_32k.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-pxa/ssp.c+0−47

This diff is large: its 54 lines aren’t shown here.

arch/arm/plat-samsung/adc.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/probes/kprobes/core.c+7−132

This diff is large: its 176 lines aren’t shown here.

arch/arm/probes/kprobes/test-core.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/probes/uprobes/core.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/vfp/Makefile+1−4

This diff is large: its 10 lines aren’t shown here.

arch/arm/vfp/vfpmodule.c+7−10

This diff is large: its 50 lines aren’t shown here.

arch/arm64/Kconfig+20−29

This diff is large: its 149 lines aren’t shown here.

arch/arm64/Kconfig.debug+0−5

This diff is large: its 13 lines aren’t shown here.

arch/arm64/Kconfig.platforms+9−0

This diff is large: its 30 lines aren’t shown here.

arch/arm64/Makefile+6−5

This diff is large: its 30 lines aren’t shown here.

arch/arm64/boot/dts/Makefile+1−0

This diff is large: its 7 lines aren’t shown here.

arch/arm64/boot/dts/allwinner/Makefile+2−0

This diff is large: its 12 lines aren’t shown here.

arch/arm64/boot/dts/allwinner/sun50i-a64-amarula-relic.dts+219−0

This diff is large: its 220 lines aren’t shown here.

arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts+4−0

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts+4−0

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts+4−0

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts+4−0

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts+4−0

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts+285−0

This diff is large: its 286 lines aren’t shown here.

arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts+4−0

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/allwinner/sun50i-a64-sopine.dtsi+15−0

This diff is large: its 36 lines aren’t shown here.

arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts+6−1

This diff is large: its 28 lines aren’t shown here.

arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi+103−10

This diff is large: its 184 lines aren’t shown here.

arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts+12−0

This diff is large: its 19 lines aren’t shown here.

arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts+146−0

This diff is large: its 158 lines aren’t shown here.

arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi+64−3

This diff is large: its 102 lines aren’t shown here.

arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi+35−6

This diff is large: its 131 lines aren’t shown here.

arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts+35−0

This diff is large: its 39 lines aren’t shown here.

arch/arm64/boot/dts/amlogic/Makefile+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm64/boot/dts/amlogic/meson-axg-s400.dts+168−0

This diff is large: its 235 lines aren’t shown here.

arch/arm64/boot/dts/amlogic/meson-axg.dtsi+311−0

This diff is large: its 353 lines aren’t shown here.

arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi+12−5

This diff is large: its 38 lines aren’t shown here.

arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts+48−0

This diff is large: its 62 lines aren’t shown here.

arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts+218−0

This diff is large: its 219 lines aren’t shown here.

arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts+5−10

This diff is large: its 27 lines aren’t shown here.

arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts+7−0

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/amlogic/meson-gxl-s905w-p281.dts+22−0

This diff is large: its 23 lines aren’t shown here.

arch/arm64/boot/dts/amlogic/meson-gxl-s905w-tx3-mini.dts+22−0

This diff is large: its 23 lines aren’t shown here.

arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts+24−0

This diff is large: its 35 lines aren’t shown here.

arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts+5−10

This diff is large: its 27 lines aren’t shown here.

arch/arm64/boot/dts/amlogic/meson-gxm-q201.dts+7−0

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/arm/juno-r1.dts+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/boot/dts/arm/juno-r2.dts+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/boot/dts/arm/juno.dts+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/boot/dts/broadcom/northstar2/ns2.dtsi+2−2

This diff is large: its 12 lines aren’t shown here.

arch/arm64/boot/dts/broadcom/stingray/Makefile+2−0

This diff is large: its 6 lines aren’t shown here.

arch/arm64/boot/dts/broadcom/stingray/bcm958742-base.dtsi+1−34

This diff is large: its 76 lines aren’t shown here.

arch/arm64/boot/dts/broadcom/stingray/bcm958802a802x.dts+26−0

This diff is large: its 27 lines aren’t shown here.

arch/arm64/boot/dts/broadcom/stingray/stingray-board-base.dtsi+51−0

This diff is large: its 52 lines aren’t shown here.

arch/arm64/boot/dts/broadcom/stingray/stingray-clock.dtsi+19−7

This diff is large: its 60 lines aren’t shown here.

arch/arm64/boot/dts/broadcom/stingray/stingray-pcie.dtsi+54−0

This diff is large: its 55 lines aren’t shown here.

arch/arm64/boot/dts/broadcom/stingray/stingray.dtsi+21−2

This diff is large: its 59 lines aren’t shown here.

arch/arm64/boot/dts/exynos/exynos5433-tmu-g3d-sensor-conf.dtsi+0−20

This diff is large: its 21 lines aren’t shown here.

arch/arm64/boot/dts/exynos/exynos5433-tmu-sensor-conf.dtsi+0−19

This diff is large: its 20 lines aren’t shown here.

arch/arm64/boot/dts/exynos/exynos5433.dtsi+7−7

This diff is large: its 63 lines aren’t shown here.

arch/arm64/boot/dts/exynos/exynos7-tmu-sensor-conf.dtsi+0−21

This diff is large: its 22 lines aren’t shown here.

arch/arm64/boot/dts/exynos/exynos7.dtsi+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dts+1−37

This diff is large: its 47 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts+1−37

This diff is large: its 47 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls1012a-rdb.dts+1−37

This diff is large: its 47 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi+2−38

This diff is large: its 56 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi+1−2

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts+1−38

This diff is large: its 49 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts+1−38

This diff is large: its 49 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi+6−40

This diff is large: its 92 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls1046-post.dtsi+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts+1−38

This diff is large: its 49 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts+1−38

This diff is large: its 49 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi+5−39

This diff is large: its 82 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dts+1−37

This diff is large: its 49 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts+1−37

This diff is large: its 49 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi+7−37

This diff is large: its 97 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls2080a-qds.dts+1−37

This diff is large: its 49 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls2080a-rdb.dts+1−37

This diff is large: its 49 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls2080a-simu.dts+1−37

This diff is large: its 49 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi+5−37

This diff is large: its 81 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls2088a-qds.dts+1−37

This diff is large: its 49 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls2088a-rdb.dts+1−37

This diff is large: its 49 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi+5−37

This diff is large: its 81 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi+1−37

This diff is large: its 49 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi+1−37

This diff is large: its 49 lines aren’t shown here.

arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi+1−37

This diff is large: its 49 lines aren’t shown here.

arch/arm64/boot/dts/freescale/qoriq-bman-portals.dtsi+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-0.dtsi+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/freescale/qoriq-fman3-0-10g-1.dtsi+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-0.dtsi+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-1.dtsi+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-2.dtsi+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-3.dtsi+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-4.dtsi+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/freescale/qoriq-fman3-0-1g-5.dtsi+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/freescale/qoriq-fman3-0.dtsi+10−7

This diff is large: its 44 lines aren’t shown here.

arch/arm64/boot/dts/freescale/qoriq-qman-portals.dtsi+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dts+20−6

This diff is large: its 42 lines aren’t shown here.

arch/arm64/boot/dts/hisilicon/hi3660.dtsi+50−47

This diff is large: its 208 lines aren’t shown here.

arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm64/boot/dts/hisilicon/hi6220.dtsi+15−1

This diff is large: its 73 lines aren’t shown here.

arch/arm64/boot/dts/hisilicon/hip07.dtsi+284−0

This diff is large: its 305 lines aren’t shown here.

arch/arm64/boot/dts/marvell/armada-37xx.dtsi+22−1

This diff is large: its 44 lines aren’t shown here.

arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/boot/dts/marvell/armada-cp110.dtsi+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/boot/dts/mediatek/Makefile+1−0

This diff is large: its 7 lines aren’t shown here.

arch/arm64/boot/dts/mediatek/mt2712e.dtsi+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/boot/dts/mediatek/mt6797-x20-dev.dts+33−0

This diff is large: its 34 lines aren’t shown here.

arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm64/boot/dts/mediatek/mt7622.dtsi+10−2

This diff is large: its 35 lines aren’t shown here.

arch/arm64/boot/dts/mediatek/mt8173.dtsi+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi+20−2

This diff is large: its 36 lines aren’t shown here.

arch/arm64/boot/dts/nvidia/tegra194.dtsi+106−0

This diff is large: its 120 lines aren’t shown here.

arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi+239−0

This diff is large: its 253 lines aren’t shown here.

arch/arm64/boot/dts/qcom/msm8916.dtsi+14−14

This diff is large: its 56 lines aren’t shown here.

arch/arm64/boot/dts/qcom/msm8996.dtsi+16−6

This diff is large: its 36 lines aren’t shown here.

arch/arm64/boot/dts/qcom/pm8005.dtsi+33−0

This diff is large: its 34 lines aren’t shown here.

arch/arm64/boot/dts/qcom/pm8998.dtsi+55−0

This diff is large: its 56 lines aren’t shown here.

arch/arm64/boot/dts/qcom/sdm845-mtp.dts+45−0

This diff is large: its 50 lines aren’t shown here.

arch/arm64/boot/dts/qcom/sdm845.dtsi+780−0

This diff is large: its 823 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb-kf.dts+1−4

This diff is large: its 14 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a7795-es1-h3ulcb.dts+1−4

This diff is large: its 14 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a7795-es1-salvator-x.dts+1−4

This diff is large: its 13 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi+2−5

This diff is large: its 22 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a7795-h3ulcb-kf.dts+1−4

This diff is large: its 14 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a7795-h3ulcb.dts+1−4

This diff is large: its 14 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts+1−4

This diff is large: its 13 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a7795-salvator-xs.dts+1−4

This diff is large: its 13 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a7795.dtsi+14−8

This diff is large: its 65 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts+1−4

This diff is large: its 14 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts+1−4

This diff is large: its 14 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a7796-salvator-x.dts+1−4

This diff is large: its 13 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a7796-salvator-xs.dts+1−4

This diff is large: its 13 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a7796.dtsi+52−11

This diff is large: its 110 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a77965.dtsi+241−12

This diff is large: its 350 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a77970-eagle.dts+1−4

This diff is large: its 14 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a77970-v3msk.dts+1−4

This diff is large: its 14 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a77970.dtsi+2−5

This diff is large: its 23 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a77980-condor.dts+29−0

This diff is large: its 50 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a77980-v3hsk.dts+23−0

This diff is large: its 38 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a77980.dtsi+398−5

This diff is large: its 469 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a77990-ebisu.dts+37−0

This diff is large: its 57 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a77990.dtsi+159−10

This diff is large: its 235 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a77995-draak.dts+129−4

This diff is large: its 181 lines aren’t shown here.

arch/arm64/boot/dts/renesas/r8a77995.dtsi+231−20

This diff is large: its 428 lines aren’t shown here.

arch/arm64/boot/dts/renesas/salvator-common.dtsi+23−11

This diff is large: its 103 lines aren’t shown here.

arch/arm64/boot/dts/renesas/salvator-x.dtsi+3−4

This diff is large: its 22 lines aren’t shown here.

arch/arm64/boot/dts/renesas/salvator-xs.dtsi+3−4

This diff is large: its 22 lines aren’t shown here.

arch/arm64/boot/dts/renesas/ulcb-kf.dtsi+1−4

This diff is large: its 14 lines aren’t shown here.

arch/arm64/boot/dts/renesas/ulcb.dtsi+4−7

This diff is large: its 39 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/Makefile+2−0

This diff is large: its 10 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3328-evb.dts+1−38

This diff is large: its 45 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3328-rock64.dts+1−38

This diff is large: its 45 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3328.dtsi+5−39

This diff is large: its 78 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3368-evb-act8846.dts+1−38

This diff is large: its 45 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3368-evb.dtsi+1−38

This diff is large: its 45 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3368-geekbox.dts+1−38

This diff is large: its 45 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts+1−38

This diff is large: its 45 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3368-px5-evb.dts+1−38

This diff is large: its 45 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3368-r88.dts+1−38

This diff is large: its 45 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3368.dtsi+7−40

This diff is large: its 109 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3399-evb.dts+1−38

This diff is large: its 45 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3399-ficus.dts+599−0

This diff is large: its 600 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3399-firefly.dts+45−41

This diff is large: its 126 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3399-gru-bob.dts+79−0

This diff is large: its 80 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi+397−0

This diff is large: its 398 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts+6−80

This diff is large: its 123 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi+4−363

This diff is large: its 549 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3399-op1-opp.dtsi+1−38

This diff is large: its 45 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi+1−38

This diff is large: its 45 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts+1−38

This diff is large: its 45 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi+1−39

This diff is large: its 53 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts+1−40

This diff is large: its 60 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi+5−39

This diff is large: its 64 lines aren’t shown here.

arch/arm64/boot/dts/rockchip/rk3399.dtsi+99−62

This diff is large: its 329 lines aren’t shown here.

arch/arm64/boot/dts/socionext/uniphier-ld11-global.dts+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm64/boot/dts/socionext/uniphier-ld20-global.dts+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm64/boot/dts/sprd/sc2731.dtsi+44−0

This diff is large: its 58 lines aren’t shown here.

arch/arm64/boot/dts/sprd/sc9860.dtsi+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/boot/dts/sprd/whale2.dtsi+6−0

This diff is large: its 13 lines aren’t shown here.

arch/arm64/boot/dts/ti/Makefile+9−0

This diff is large: its 10 lines aren’t shown here.

arch/arm64/boot/dts/ti/k3-am65-main.dtsi+31−0

This diff is large: its 32 lines aren’t shown here.

arch/arm64/boot/dts/ti/k3-am65.dtsi+87−0

This diff is large: its 88 lines aren’t shown here.

arch/arm64/boot/dts/ti/k3-am654-base-board.dts+36−0

This diff is large: its 37 lines aren’t shown here.

arch/arm64/boot/dts/ti/k3-am654.dtsi+115−0

This diff is large: its 116 lines aren’t shown here.

arch/arm64/boot/dts/xilinx/Makefile+1−1

This diff is large: its 7 lines aren’t shown here.

arch/arm64/boot/dts/xilinx/avnet-ultra96-rev1.dts+19−0

This diff is large: its 20 lines aren’t shown here.

arch/arm64/boot/dts/xilinx/zynqmp-ep108-clk.dtsi+0−137

This diff is large: its 138 lines aren’t shown here.

arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts+0−154

This diff is large: its 155 lines aren’t shown here.

arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts+4−8

This diff is large: its 33 lines aren’t shown here.

arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm64/boot/dts/xilinx/zynqmp.dtsi+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/configs/defconfig+26−2

This diff is large: its 113 lines aren’t shown here.

arch/arm64/crypto/aes-ce-ccm-core.S+55−95

This diff is large: its 217 lines aren’t shown here.

arch/arm64/crypto/aes-glue.c+0−3

This diff is large: its 24 lines aren’t shown here.

arch/arm64/crypto/ghash-ce-core.S+203−116

This diff is large: its 442 lines aren’t shown here.

arch/arm64/crypto/ghash-ce-glue.c+129−73

This diff is large: its 368 lines aren’t shown here.

arch/arm64/crypto/sha1-ce-glue.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm64/crypto/sha2-ce-glue.c+0−2

This diff is large: its 16 lines aren’t shown here.

arch/arm64/crypto/sha256-glue.c+2−6

This diff is large: its 36 lines aren’t shown here.

arch/arm64/crypto/sha3-ce-glue.c+0−4

This diff is large: its 32 lines aren’t shown here.

arch/arm64/crypto/sha512-ce-glue.c+0−2

This diff is large: its 16 lines aren’t shown here.

arch/arm64/crypto/sha512-glue.c+0−2

This diff is large: its 16 lines aren’t shown here.

arch/arm64/crypto/sm3-ce-glue.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm64/include/asm/Kbuild+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm64/include/asm/acpi.h+20−9

This diff is large: its 66 lines aren’t shown here.

arch/arm64/include/asm/atomic.h+1−46

This diff is large: its 94 lines aren’t shown here.

arch/arm64/include/asm/barrier.h+13−0

This diff is large: its 20 lines aren’t shown here.

arch/arm64/include/asm/bitops.h+3−18

This diff is large: its 42 lines aren’t shown here.

arch/arm64/include/asm/cache.h+4−0

This diff is large: its 17 lines aren’t shown here.

arch/arm64/include/asm/cacheflush.h+26−1

This diff is large: its 48 lines aren’t shown here.

arch/arm64/include/asm/cpucaps.h+3−1

This diff is large: its 11 lines aren’t shown here.

arch/arm64/include/asm/efi.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm64/include/asm/fpsimd.h+16−1

This diff is large: its 44 lines aren’t shown here.

arch/arm64/include/asm/hw_breakpoint.h+5−2

This diff is large: its 19 lines aren’t shown here.

arch/arm64/include/asm/insn.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm64/include/asm/irq.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm64/include/asm/kprobes.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm64/include/asm/kvm_arm.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm64/include/asm/kvm_emulate.h+22−5

This diff is large: its 69 lines aren’t shown here.

arch/arm64/include/asm/kvm_host.h+15−13

This diff is large: its 57 lines aren’t shown here.

arch/arm64/include/asm/kvm_mmu.h+27−8

This diff is large: its 64 lines aren’t shown here.

arch/arm64/include/asm/memory.h+7−0

This diff is large: its 14 lines aren’t shown here.

arch/arm64/include/asm/neon.h+0−7

This diff is large: its 12 lines aren’t shown here.

arch/arm64/include/asm/numa.h+4−0

This diff is large: its 15 lines aren’t shown here.

arch/arm64/include/asm/pgtable-prot.h+22−2

This diff is large: its 31 lines aren’t shown here.

arch/arm64/include/asm/processor.h+18−3

This diff is large: its 37 lines aren’t shown here.

arch/arm64/include/asm/ptrace.h+53−26

This diff is large: its 105 lines aren’t shown here.

arch/arm64/include/asm/sdei.h+6−3

This diff is large: its 22 lines aren’t shown here.

arch/arm64/include/asm/simd.h+7−12

This diff is large: its 28 lines aren’t shown here.

arch/arm64/include/asm/spinlock.h+1−116

This diff is large: its 125 lines aren’t shown here.

arch/arm64/include/asm/spinlock_types.h+1−16

This diff is large: its 24 lines aren’t shown here.

arch/arm64/include/asm/stacktrace.h+61−12

This diff is large: its 123 lines aren’t shown here.

arch/arm64/include/asm/syscall.h+7−1

This diff is large: its 15 lines aren’t shown here.

arch/arm64/include/asm/syscall_wrapper.h+80−0

This diff is large: its 81 lines aren’t shown here.

arch/arm64/include/asm/sysreg.h+13−20

This diff is large: its 82 lines aren’t shown here.

arch/arm64/include/asm/tlb.h+3−1

This diff is large: its 15 lines aren’t shown here.

arch/arm64/include/asm/tlbflush.h+7−0

This diff is large: its 14 lines aren’t shown here.

arch/arm64/include/asm/topology.h+3−1

This diff is large: its 21 lines aren’t shown here.

arch/arm64/include/asm/unistd.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/include/asm/unistd32.h+15−13

This diff is large: its 100 lines aren’t shown here.

arch/arm64/include/uapi/asm/kvm.h+13−0

This diff is large: its 27 lines aren’t shown here.

arch/arm64/kernel/Makefile+3−2

This diff is large: its 19 lines aren’t shown here.

arch/arm64/kernel/acpi.c+3−8

This diff is large: its 38 lines aren’t shown here.

arch/arm64/kernel/acpi_numa.c+53−35

This diff is large: its 124 lines aren’t shown here.

arch/arm64/kernel/alternative.c+2−2

This diff is large: its 14 lines aren’t shown here.

arch/arm64/kernel/armv8_deprecated.c+16−16

This diff is large: its 89 lines aren’t shown here.

arch/arm64/kernel/cpu-reset.h+5−4

This diff is large: its 19 lines aren’t shown here.

arch/arm64/kernel/cpu_errata.c+20−10

This diff is large: its 72 lines aren’t shown here.

arch/arm64/kernel/cpufeature.c+24−4

This diff is large: its 80 lines aren’t shown here.

arch/arm64/kernel/entry.S+23−137

This diff is large: its 250 lines aren’t shown here.

arch/arm64/kernel/entry32.S+0−121

This diff is large: its 122 lines aren’t shown here.

arch/arm64/kernel/fpsimd.c+0−19

This diff is large: its 26 lines aren’t shown here.

arch/arm64/kernel/hw_breakpoint.c+43−43

This diff is large: its 208 lines aren’t shown here.

arch/arm64/kernel/insn.c+3−67

This diff is large: its 112 lines aren’t shown here.

arch/arm64/kernel/irq.c+0−10

This diff is large: its 17 lines aren’t shown here.

arch/arm64/kernel/jump_label.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/kernel/machine_kexec.c+11−4

This diff is large: its 34 lines aren’t shown here.

arch/arm64/kernel/perf_event.c+231−50

This diff is large: its 486 lines aren’t shown here.

arch/arm64/kernel/probes/kprobes.c+6−82

This diff is large: its 116 lines aren’t shown here.

arch/arm64/kernel/process.c+32−10

This diff is large: its 53 lines aren’t shown here.

arch/arm64/kernel/ptrace.c+36−25

This diff is large: its 141 lines aren’t shown here.

arch/arm64/kernel/sdei.c+39−9

This diff is large: its 70 lines aren’t shown here.

arch/arm64/kernel/setup.c+38−0

This diff is large: its 45 lines aren’t shown here.

arch/arm64/kernel/signal.c+6−2

This diff is large: its 37 lines aren’t shown here.

arch/arm64/kernel/signal32.c+15−9

This diff is large: its 86 lines aren’t shown here.

arch/arm64/kernel/smp.c+33−11

This diff is large: its 94 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/sys.c+16−13

This diff is large: its 53 lines aren’t shown here.

arch/arm64/kernel/sys32.c+116−19

This diff is large: its 148 lines aren’t shown here.

arch/arm64/kernel/syscall.c+139−0

This diff is large: its 140 lines aren’t shown here.

arch/arm64/kernel/topology.c+41−17

This diff is large: its 107 lines aren’t shown here.

arch/arm64/kernel/traps.c+1−17

This diff is large: its 32 lines aren’t shown here.

arch/arm64/kernel/vdso/note.S+3−0

This diff is large: its 11 lines aren’t shown here.

arch/arm64/kvm/guest.c+40−7

This diff is large: its 62 lines aren’t shown here.

arch/arm64/kvm/hyp-init.S+3−3

This diff is large: its 20 lines aren’t shown here.

arch/arm64/kvm/hyp/Makefile+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm64/kvm/hyp/sysreg-sr.c+0−5

This diff is large: its 9 lines aren’t shown here.

arch/arm64/kvm/hyp/vgic-v2-cpuif-proxy.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm64/kvm/inject_fault.c+3−3

This diff is large: its 19 lines aren’t shown here.

arch/arm64/kvm/regmap.c+11−11

This diff is large: its 48 lines aren’t shown here.

arch/arm64/kvm/reset.c+6−2

This diff is large: its 24 lines aren’t shown here.

arch/arm64/kvm/sys_regs.c+49−5

This diff is large: its 93 lines aren’t shown here.

arch/arm64/lib/Makefile+1−1

This diff is large: its 7 lines aren’t shown here.

arch/arm64/lib/bitops.S+0−76

This diff is large: its 77 lines aren’t shown here.

arch/arm64/mm/cache.S+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm64/mm/dma-mapping.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm64/mm/fault.c+5−10

This diff is large: its 47 lines aren’t shown here.

arch/arm64/mm/flush.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/arm64/mm/hugetlbpage.c+4−3

This diff is large: its 29 lines aren’t shown here.

arch/arm64/mm/init.c+8−2

This diff is large: its 28 lines aren’t shown here.

arch/arm64/mm/mmu.c+44−4

This diff is large: its 64 lines aren’t shown here.

arch/arm64/mm/numa.c+21−8

This diff is large: its 49 lines aren’t shown here.

arch/arm64/mm/ptdump_debugfs.c+1−12

This diff is large: its 20 lines aren’t shown here.

arch/c6x/Kconfig+0−41

This diff is large: its 57 lines aren’t shown here.

arch/c6x/Kconfig.debug+10−0

This diff is large: its 11 lines aren’t shown here.

arch/c6x/Makefile+1−2

This diff is large: its 10 lines aren’t shown here.

arch/h8300/Kconfig+1−36

This diff is large: its 49 lines aren’t shown here.

arch/h8300/Kconfig.debug+1−0

This diff is large: its 2 lines aren’t shown here.

arch/h8300/Makefile+5−1

This diff is large: its 20 lines aren’t shown here.

arch/h8300/boot/dts/h8300h_sim.dts+1−1

This diff is large: its 9 lines aren’t shown here.

arch/h8300/include/asm/atomic.h+4−15

This diff is large: its 55 lines aren’t shown here.

arch/h8300/include/asm/bitops.h+7−7

This diff is large: its 39 lines aren’t shown here.

arch/h8300/include/asm/ptrace.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/h8300/kernel/kgdb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/h8300/kernel/setup.c+8−38

This diff is large: its 77 lines aren’t shown here.

arch/h8300/kernel/sim-console.c+4−3

This diff is large: its 17 lines aren’t shown here.

arch/hexagon/Kconfig+1−20

This diff is large: its 35 lines aren’t shown here.

arch/hexagon/Kconfig.debug+1−0

This diff is large: its 2 lines aren’t shown here.

arch/hexagon/Makefile+1−3

This diff is large: its 11 lines aren’t shown here.

arch/hexagon/include/asm/atomic.h+3−15

This diff is large: its 38 lines aren’t shown here.

arch/hexagon/mm/vm_fault.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/Kconfig+2−24

This diff is large: its 72 lines aren’t shown here.

arch/ia64/Kconfig.debug+0−5

This diff is large: its 14 lines aren’t shown here.

arch/ia64/hp/common/sba_iommu.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/ia64/include/asm/atomic.h+0−81

This diff is large: its 92 lines aren’t shown here.

arch/ia64/include/asm/io.h+13−1

This diff is large: its 43 lines aren’t shown here.

arch/ia64/include/asm/kprobes.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/ia64/include/asm/tlb.h+3−4

This diff is large: its 16 lines aren’t shown here.

arch/ia64/include/uapi/asm/break.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/ia64/include/uapi/asm/socket.h+3−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/kernel/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/kernel/asm-offsets.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/ia64/kernel/fsys.S+6−6

This diff is large: its 35 lines aren’t shown here.

arch/ia64/kernel/jprobes.S+0−90

This diff is large: its 91 lines aren’t shown here.

arch/ia64/kernel/kprobes.c+4−89

This diff is large: its 140 lines aren’t shown here.

arch/ia64/kernel/perfmon.c+2−4

This diff is large: its 28 lines aren’t shown here.

arch/ia64/kernel/setup.c+10−1

This diff is large: its 26 lines aren’t shown here.

arch/ia64/mm/contig.c+6−69

This diff is large: its 117 lines aren’t shown here.

arch/ia64/mm/discontig.c+16−118

This diff is large: its 258 lines aren’t shown here.

arch/ia64/mm/fault.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/mm/init.c+7−9

This diff is large: its 53 lines aren’t shown here.

arch/m68k/Kconfig+6−30

This diff is large: its 71 lines aren’t shown here.

arch/m68k/Kconfig.debug+0−5

This diff is large: its 14 lines aren’t shown here.

arch/m68k/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/apollo/config.c+0−8

This diff is large: its 29 lines aren’t shown here.

arch/m68k/atari/config.c+0−5

This diff is large: its 24 lines aren’t shown here.

arch/m68k/atari/time.c+0−63

This diff is large: its 70 lines aren’t shown here.

arch/m68k/bvme6000/config.c+0−45

This diff is large: its 63 lines aren’t shown here.

arch/m68k/coldfire/clk.c+29−0

This diff is large: its 34 lines aren’t shown here.

arch/m68k/configs/amiga_defconfig+20−12

This diff is large: its 162 lines aren’t shown here.

arch/m68k/configs/apollo_defconfig+18−12

This diff is large: its 150 lines aren’t shown here.

arch/m68k/configs/atari_defconfig+17−12

This diff is large: its 142 lines aren’t shown here.

arch/m68k/configs/bvme6000_defconfig+18−12

This diff is large: its 150 lines aren’t shown here.

arch/m68k/configs/hp300_defconfig+18−12

This diff is large: its 150 lines aren’t shown here.

arch/m68k/configs/mac_defconfig+19−13

This diff is large: its 160 lines aren’t shown here.

arch/m68k/configs/multi_defconfig+21−13

This diff is large: its 172 lines aren’t shown here.

arch/m68k/configs/mvme147_defconfig+18−12

This diff is large: its 150 lines aren’t shown here.

arch/m68k/configs/mvme16x_defconfig+18−12

This diff is large: its 150 lines aren’t shown here.

arch/m68k/configs/q40_defconfig+18−12

This diff is large: its 151 lines aren’t shown here.

arch/m68k/configs/sun3_defconfig+17−11

This diff is large: its 141 lines aren’t shown here.

arch/m68k/configs/sun3x_defconfig+18−12

This diff is large: its 150 lines aren’t shown here.

arch/m68k/include/asm/Kbuild+1−0

This diff is large: its 8 lines aren’t shown here.

arch/m68k/include/asm/atomic.h+6−18

This diff is large: its 70 lines aren’t shown here.

arch/m68k/include/asm/bitops.h+11−3

This diff is large: its 40 lines aren’t shown here.

arch/m68k/include/asm/dma-mapping.h+0−12

This diff is large: its 13 lines aren’t shown here.

arch/m68k/include/asm/dma.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/m68k/include/asm/io.h+7−0

This diff is large: its 14 lines aren’t shown here.

arch/m68k/include/asm/io_mm.h+3−39

This diff is large: its 63 lines aren’t shown here.

arch/m68k/include/asm/io_no.h+0−12

This diff is large: its 20 lines aren’t shown here.

arch/m68k/include/asm/kmap.h+8−1

This diff is large: its 54 lines aren’t shown here.

arch/m68k/include/asm/machdep.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/include/asm/macintosh.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/include/asm/mcf_pgalloc.h+3−1

This diff is large: its 19 lines aren’t shown here.

arch/m68k/include/asm/page_no.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/kernel/dma.c+8−60

This diff is large: its 117 lines aren’t shown here.

arch/m68k/kernel/setup_mm.c+4−11

This diff is large: its 52 lines aren’t shown here.

arch/m68k/kernel/setup_no.c+4−17

This diff is large: its 59 lines aren’t shown here.

arch/m68k/mac/config.c+2−21

This diff is large: its 65 lines aren’t shown here.

arch/m68k/mac/misc.c+46−88

This diff is large: its 318 lines aren’t shown here.

arch/m68k/mm/fault.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/m68k/mm/init.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/mm/mcfmmu.c+7−6

This diff is large: its 46 lines aren’t shown here.

arch/m68k/mm/motorola.c+11−24

This diff is large: its 61 lines aren’t shown here.

arch/m68k/mvme147/config.c+0−7

This diff is large: its 25 lines aren’t shown here.

arch/m68k/mvme16x/config.c+0−8

This diff is large: its 26 lines aren’t shown here.

arch/m68k/q40/config.c+0−30

This diff is large: its 51 lines aren’t shown here.

arch/m68k/sun3/config.c+0−4

This diff is large: its 11 lines aren’t shown here.

arch/microblaze/Kconfig+5−31

This diff is large: its 79 lines aren’t shown here.

arch/microblaze/Kconfig.debug+0−6

This diff is large: its 12 lines aren’t shown here.

arch/microblaze/Makefile+2−2

This diff is large: its 14 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/dma-mapping.h+0−28

This diff is large: its 29 lines aren’t shown here.

arch/microblaze/include/asm/pgtable.h+0−5

This diff is large: its 12 lines aren’t shown here.

arch/microblaze/kernel/dma.c+12−132

This diff is large: its 174 lines aren’t shown here.

arch/microblaze/kernel/head.S+0−5

This diff is large: its 12 lines aren’t shown here.

arch/microblaze/mm/consistent.c+5−49

This diff is large: its 86 lines aren’t shown here.

arch/microblaze/mm/fault.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/pci/pci-common.c+0−13

This diff is large: its 20 lines aren’t shown here.

arch/microblaze/pci/xilinx_pci.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/Kconfig+28−55

This diff is large: its 328 lines aren’t shown here.

arch/mips/Kconfig.debug+0−5

This diff is large: its 19 lines aren’t shown here.

arch/mips/Makefile+15−9

This diff is large: its 52 lines aren’t shown here.

arch/mips/alchemy/board-gpr.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/mips/alchemy/board-mtx1.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/mips/alchemy/board-xxs1500.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/mips/alchemy/devboards/platform.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/mips/ar7/clock.c+29−0

This diff is large: its 33 lines aren’t shown here.

arch/mips/ar7/prom.c+2−2

This diff is large: its 20 lines aren’t shown here.

arch/mips/ath25/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/ath25/board.c+3−3

This diff is large: its 14 lines aren’t shown here.

arch/mips/ath25/early_printk.c+3−2

This diff is large: its 26 lines aren’t shown here.

arch/mips/ath79/clock.c+193−0

This diff is large: its 216 lines aren’t shown here.

arch/mips/ath79/common.c+9−1

This diff is large: its 35 lines aren’t shown here.

arch/mips/ath79/early_printk.c+56−8

This diff is large: its 122 lines aren’t shown here.

arch/mips/ath79/setup.c+32−3

This diff is large: its 68 lines aren’t shown here.

arch/mips/bcm47xx/setup.c+0−6

This diff is large: its 13 lines aren’t shown here.

arch/mips/bcm63xx/early_printk.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/bmips/dma.c+19−13

This diff is large: its 60 lines aren’t shown here.

arch/mips/bmips/setup.c+0−7

This diff is large: its 14 lines aren’t shown here.

arch/mips/boot/Makefile+25−27

This diff is large: its 89 lines aren’t shown here.

arch/mips/boot/compressed/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/boot/compressed/uart-prom.c+1−2

This diff is large: its 8 lines aren’t shown here.

arch/mips/boot/dts/ingenic/jz4780.dtsi+19−0

This diff is large: its 26 lines aren’t shown here.

arch/mips/boot/dts/mscc/Makefile+1−1

This diff is large: its 5 lines aren’t shown here.

arch/mips/boot/dts/mscc/ocelot.dtsi+31−1

This diff is large: its 65 lines aren’t shown here.

arch/mips/boot/dts/mscc/ocelot_pcb123.dts+10−0

This diff is large: its 17 lines aren’t shown here.

arch/mips/boot/dts/qca/ar9132.dtsi+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/boot/dts/qca/ar9132_tl_wr1043nd_v1.dts+1−2

This diff is large: its 13 lines aren’t shown here.

arch/mips/boot/dts/qca/ar9331.dtsi+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/boot/dts/qca/ar9331_dpt_module.dts+2−3

This diff is large: its 14 lines aren’t shown here.

arch/mips/boot/dts/qca/ar9331_dragino_ms14.dts+2−3

This diff is large: its 14 lines aren’t shown here.

arch/mips/boot/dts/qca/ar9331_omega.dts+2−3

This diff is large: its 14 lines aren’t shown here.

arch/mips/boot/dts/qca/ar9331_tl_mr3020.dts+2−3

This diff is large: its 14 lines aren’t shown here.

arch/mips/boot/ecoff.h+32−29

This diff is large: its 80 lines aren’t shown here.

arch/mips/boot/elf2ecoff.c+16−15

This diff is large: its 83 lines aren’t shown here.

arch/mips/cavium-octeon/crypto/octeon-md5.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/cavium-octeon/crypto/octeon-sha1.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/cavium-octeon/crypto/octeon-sha256.c+0−2

This diff is large: its 16 lines aren’t shown here.

arch/mips/cavium-octeon/crypto/octeon-sha512.c+0−2

This diff is large: its 16 lines aren’t shown here.

arch/mips/cavium-octeon/dma-octeon.c+54−137

This diff is large: its 255 lines aren’t shown here.

arch/mips/cavium-octeon/executive/cvmx-helper-rgmii.c+1−4

This diff is large: its 19 lines aren’t shown here.

arch/mips/cavium-octeon/executive/cvmx-helper-sgmii.c+2−5

This diff is large: its 21 lines aren’t shown here.

arch/mips/cavium-octeon/executive/cvmx-helper-spi.c+3−5

This diff is large: its 29 lines aren’t shown here.

arch/mips/cavium-octeon/executive/cvmx-helper-xaui.c+2−5

This diff is large: its 23 lines aren’t shown here.

arch/mips/cavium-octeon/octeon-irq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/cavium-octeon/octeon-platform.c+3−1

This diff is large: its 24 lines aren’t shown here.

arch/mips/cavium-octeon/setup.c+2−6

This diff is large: its 37 lines aren’t shown here.

arch/mips/configs/bcm47xx_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/ci20_defconfig+2−0

This diff is large: its 9 lines aren’t shown here.

arch/mips/configs/generic_defconfig+0−3

This diff is large: its 10 lines aren’t shown here.

arch/mips/configs/malta_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/malta_kvm_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/malta_kvm_guest_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/malta_qemu_32r6_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/maltaaprp_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/maltasmvp_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/maltasmvp_eva_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/maltaup_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/maltaup_xpa_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/fw/arc/arc_con.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/fw/arc/promlib.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/fw/sni/sniprom.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/generic/Kconfig+10−2

This diff is large: its 31 lines aren’t shown here.

arch/mips/generic/Platform+1−0

This diff is large: its 6 lines aren’t shown here.

arch/mips/generic/board-ocelot_pcb123.its.S+23−0

This diff is large: its 24 lines aren’t shown here.

arch/mips/generic/init.c+1−13

This diff is large: its 32 lines aren’t shown here.

arch/mips/generic/yamon-dt.c+0−4

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/Kbuild+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/asm-prototypes.h+1−0

This diff is large: its 5 lines aren’t shown here.

arch/mips/include/asm/atomic.h+39−332

This diff is large: its 532 lines aren’t shown here.

arch/mips/include/asm/bmips.h+0−16

This diff is large: its 23 lines aren’t shown here.

arch/mips/include/asm/compiler.h+35−0

This diff is large: its 42 lines aren’t shown here.

arch/mips/include/asm/cpu-features.h+107−69

This diff is large: its 402 lines aren’t shown here.

arch/mips/include/asm/cpu.h+26−25

This diff is large: its 58 lines aren’t shown here.

arch/mips/include/asm/dma-coherence.h+3−3

This diff is large: its 14 lines aren’t shown here.

arch/mips/include/asm/dma-direct.h+16−1

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/dma-mapping.h+11−9

This diff is large: its 31 lines aren’t shown here.

arch/mips/include/asm/io.h+26−14

This diff is large: its 80 lines aren’t shown here.

arch/mips/include/asm/kprobes.h+0−13

This diff is large: its 30 lines aren’t shown here.

arch/mips/include/asm/mach-ar7/spaces.h+0−3

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/mach-ath25/dma-coherence.h+0−76

This diff is large: its 77 lines aren’t shown here.

arch/mips/include/asm/mach-ath79/ar71xx_regs.h+770−1

This diff is large: its 960 lines aren’t shown here.

arch/mips/include/asm/mach-ath79/ath79.h+34−0

This diff is large: its 64 lines aren’t shown here.

arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h+6−0

This diff is large: its 26 lines aren’t shown here.

arch/mips/include/asm/mach-bmips/dma-coherence.h+0−54

This diff is large: its 55 lines aren’t shown here.

arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h+0−79

This diff is large: its 80 lines aren’t shown here.

arch/mips/include/asm/mach-generic/dma-coherence.h+0−73

This diff is large: its 74 lines aren’t shown here.

arch/mips/include/asm/mach-generic/kmalloc.h+1−2

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/mach-generic/spaces.h+7−3

This diff is large: its 17 lines aren’t shown here.

arch/mips/include/asm/mach-ip27/dma-coherence.h+0−70

This diff is large: its 71 lines aren’t shown here.

arch/mips/include/asm/mach-ip32/dma-coherence.h+0−92

This diff is large: its 93 lines aren’t shown here.

arch/mips/include/asm/mach-jazz/dma-coherence.h+0−60

This diff is large: its 61 lines aren’t shown here.

arch/mips/include/asm/mach-loongson64/dma-coherence.h+0−93

This diff is large: its 94 lines aren’t shown here.

arch/mips/include/asm/mach-loongson64/kernel-entry-init.h+12−12

This diff is large: its 50 lines aren’t shown here.

arch/mips/include/asm/mach-pic32/spaces.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mipsregs.h+19−13

This diff is large: its 90 lines aren’t shown here.

arch/mips/include/asm/mmu_context.h+1−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/include/asm/netlogic/xlr/fmn.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-asxx-defs.h+3−1

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-ciu-defs.h+112−9950

This diff is large: its 10127 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-gmxx-defs.h+3−1

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-pcsx-defs.h+3−1

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-pcsxx-defs.h+3−1

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-spxx-defs.h+3−1

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-stxx-defs.h+3−1

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/octeon/octeon.h+4−5

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/octeon/pci-octeon.h+3−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/page.h+8−3

This diff is large: its 25 lines aren’t shown here.

arch/mips/include/asm/processor.h+14−1

This diff is large: its 30 lines aren’t shown here.

arch/mips/include/asm/setup.h+2−0

This diff is large: its 11 lines aren’t shown here.

arch/mips/include/asm/sgialib.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/sim.h+0−12

This diff is large: its 26 lines aren’t shown here.

arch/mips/include/asm/smp.h+11−1

This diff is large: its 19 lines aren’t shown here.

arch/mips/include/asm/tlbex.h+9−0

This diff is large: its 14 lines aren’t shown here.

arch/mips/include/asm/txx9/generic.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/txx9/tx4939.h+0−29

This diff is large: its 50 lines aren’t shown here.

arch/mips/include/uapi/asm/socket.h+3−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/jazz/jazzdma.c+140−1

This diff is large: its 159 lines aren’t shown here.

arch/mips/jazz/setup.c+15−2

This diff is large: its 44 lines aren’t shown here.

arch/mips/jz4740/Platform+1−1

This diff is large: its 6 lines aren’t shown here.

arch/mips/jz4740/board-qi_lb60.c+2−1

This diff is large: its 13 lines aren’t shown here.

arch/mips/kernel/cpu-probe.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/mips/kernel/early_printk.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/early_printk_8250.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/genex.S+46−0

This diff is large: its 70 lines aren’t shown here.

arch/mips/kernel/idle.c+6−6

This diff is large: its 52 lines aren’t shown here.

arch/mips/kernel/kprobes.c+9−61

This diff is large: its 102 lines aren’t shown here.

arch/mips/kernel/linux32.c+0−29

This diff is large: its 43 lines aren’t shown here.

arch/mips/kernel/process.c+71−52

This diff is large: its 173 lines aren’t shown here.

arch/mips/kernel/ptrace.c+253−1

This diff is large: its 292 lines aren’t shown here.

arch/mips/kernel/ptrace32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/relocate_kernel.S+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/kernel/setup.c+36−2

This diff is large: its 77 lines aren’t shown here.

arch/mips/kernel/signal.c+14−10

This diff is large: its 76 lines aren’t shown here.

arch/mips/kernel/signal_n32.c+7−5

This diff is large: its 38 lines aren’t shown here.

arch/mips/kernel/signal_o32.c+14−10

This diff is large: its 76 lines aren’t shown here.

arch/mips/kernel/traps.c+2−10

This diff is large: its 38 lines aren’t shown here.

arch/mips/kernel/uprobes.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kvm/mips.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/lantiq/early_printk.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/lantiq/prom.c+0−8

This diff is large: its 19 lines aren’t shown here.

arch/mips/lantiq/xway/dma.c+1−2

This diff is large: its 12 lines aren’t shown here.

arch/mips/lasat/image/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/lasat/prom.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/lib/memset.S+20−1

This diff is large: its 62 lines aren’t shown here.

arch/mips/lib/multi3.c+3−3

This diff is large: its 16 lines aren’t shown here.

arch/mips/loongson32/Platform+2−6

This diff is large: its 11 lines aren’t shown here.

arch/mips/loongson64/Kconfig+0−5

This diff is large: its 19 lines aren’t shown here.

arch/mips/loongson64/common/Makefile+1−5

This diff is large: its 17 lines aren’t shown here.

arch/mips/loongson64/common/cs5536/cs5536_ohci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/loongson64/common/dma-swiotlb.c+0−109

This diff is large: its 110 lines aren’t shown here.

arch/mips/loongson64/common/dma.c+18−0

This diff is large: its 19 lines aren’t shown here.

arch/mips/loongson64/common/early_printk.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/loongson64/common/env.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/mips/loongson64/loongson-3/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/loongson64/loongson-3/dma.c+25−0

This diff is large: its 26 lines aren’t shown here.

arch/mips/loongson64/loongson-3/smp.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/mips/mm/Makefile+2−1

This diff is large: its 17 lines aren’t shown here.

arch/mips/mm/c-r4k.c+14−4

This diff is large: its 50 lines aren’t shown here.

arch/mips/mm/cache.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/mm/dma-default.c+0−404

This diff is large: its 405 lines aren’t shown here.

arch/mips/mm/dma-noncoherent.c+208−0

This diff is large: its 209 lines aren’t shown here.

arch/mips/mm/fault.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/mm/ioremap.c+25−12

This diff is large: its 67 lines aren’t shown here.

arch/mips/mm/page.c+0−15

This diff is large: its 22 lines aren’t shown here.

arch/mips/mm/tlb-funcs.S+2−1

This diff is large: its 19 lines aren’t shown here.

arch/mips/mm/tlbex.c+41−62

This diff is large: its 302 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 12 lines aren’t shown here.

arch/mips/mti-malta/malta-pm.c+0−96

This diff is large: its 97 lines aren’t shown here.

arch/mips/mti-malta/malta-reset.c+0−30

This diff is large: its 31 lines aren’t shown here.

arch/mips/mti-malta/malta-setup.c+1−38

This diff is large: its 74 lines aren’t shown here.

arch/mips/netlogic/common/earlycons.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/netlogic/xlp/dt.c+0−14

This diff is large: its 18 lines aren’t shown here.

arch/mips/paravirt/serial.c+2−3

This diff is large: its 19 lines aren’t shown here.

arch/mips/pci/ops-bridge.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/pci/pci-ar2315.c+24−0

This diff is large: its 38 lines aren’t shown here.

arch/mips/pci/pci-ar724x.c+42−0

This diff is large: its 71 lines aren’t shown here.

arch/mips/pci/pci-ip27.c+14−11

This diff is large: its 46 lines aren’t shown here.

arch/mips/pci/pci-octeon.c+0−4

This diff is large: its 18 lines aren’t shown here.

arch/mips/pci/pci.c+1−1

This diff is large: its 7 lines aren’t shown here.

arch/mips/pci/pcie-octeon.c+2−4

This diff is large: its 26 lines aren’t shown here.

arch/mips/pic32/pic32mzda/early_console.c+2−3

This diff is large: its 24 lines aren’t shown here.

arch/mips/ralink/early_printk.c+4−3

This diff is large: its 33 lines aren’t shown here.

arch/mips/sgi-ip27/ip27-console.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/sgi-ip32/Makefile+1−1

This diff is large: its 6 lines aren’t shown here.

arch/mips/sgi-ip32/ip32-dma.c+37−0

This diff is large: its 38 lines aren’t shown here.

arch/mips/sibyte/Kconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/sibyte/common/cfe.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/txx9/generic/setup.c+2−1

This diff is large: its 20 lines aren’t shown here.

arch/mips/txx9/generic/setup_tx4938.c+1−1

This diff is large: its 15 lines aren’t shown here.

arch/mips/txx9/generic/setup_tx4939.c+1−1

This diff is large: its 15 lines aren’t shown here.

arch/mips/vdso/Makefile+8−1

This diff is large: its 23 lines aren’t shown here.

arch/mips/vdso/genvdso.h+0−51

This diff is large: its 72 lines aren’t shown here.

arch/mips/vr41xx/common/pmu.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/nds32/Kconfig+6−27

This diff is large: its 58 lines aren’t shown here.

arch/nds32/Kconfig.debug+1−0

This diff is large: its 2 lines aren’t shown here.

arch/nds32/Makefile+4−2

This diff is large: its 16 lines aren’t shown here.

arch/nds32/include/asm/cacheflush.h+7−2

This diff is large: its 28 lines aren’t shown here.

arch/nds32/include/asm/futex.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/nds32/kernel/setup.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/nds32/mm/cacheflush.c+40−60

This diff is large: its 121 lines aren’t shown here.

arch/nds32/mm/fault.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/nios2/Kconfig+4−31

This diff is large: its 63 lines aren’t shown here.

arch/nios2/Kconfig.debug+0−5

This diff is large: its 18 lines aren’t shown here.

arch/nios2/include/asm/Kbuild+1−0

This diff is large: its 8 lines aren’t shown here.

arch/nios2/include/asm/dma-mapping.h+0−20

This diff is large: its 21 lines aren’t shown here.

arch/nios2/mm/dma-mapping.c+13−126

This diff is large: its 178 lines aren’t shown here.

arch/nios2/mm/fault.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/openrisc/Kconfig+3−34

This diff is large: its 76 lines aren’t shown here.

arch/openrisc/Kconfig.debug+1−0

This diff is large: its 2 lines aren’t shown here.

arch/openrisc/Makefile+0−1

This diff is large: its 8 lines aren’t shown here.

arch/openrisc/include/asm/Kbuild+1−0

This diff is large: its 8 lines aren’t shown here.

arch/openrisc/include/asm/atomic.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/openrisc/include/asm/cmpxchg.h+2−1

This diff is large: its 11 lines aren’t shown here.

arch/openrisc/include/asm/dma-mapping.h+0−35

This diff is large: its 36 lines aren’t shown here.

arch/openrisc/include/asm/irq.h+0−2

This diff is large: its 7 lines aren’t shown here.

arch/openrisc/include/asm/pgalloc.h+5−1

This diff is large: its 14 lines aren’t shown here.

arch/openrisc/kernel/dma.c+9−98

This diff is large: its 144 lines aren’t shown here.

arch/openrisc/kernel/entry.S+1−7

This diff is large: its 22 lines aren’t shown here.

arch/openrisc/kernel/head.S+6−3

This diff is large: its 30 lines aren’t shown here.

arch/openrisc/kernel/irq.c+0−7

This diff is large: its 14 lines aren’t shown here.

arch/openrisc/kernel/traps.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/openrisc/mm/fault.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/Kconfig+6−29

This diff is large: its 89 lines aren’t shown here.

arch/parisc/Kconfig.debug+0−5

This diff is large: its 10 lines aren’t shown here.

arch/parisc/include/asm/assembly.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/parisc/include/asm/atomic.h+0−107

This diff is large: its 133 lines aren’t shown here.

arch/parisc/include/asm/barrier.h+32−0

This diff is large: its 33 lines aren’t shown here.

arch/parisc/include/asm/dma-mapping.h+0−5

This diff is large: its 12 lines aren’t shown here.

arch/parisc/include/asm/elf.h+6−3

This diff is large: its 23 lines aren’t shown here.

arch/parisc/include/asm/linkage.h+11−15

This diff is large: its 38 lines aren’t shown here.

arch/parisc/include/asm/processor.h+1−5

This diff is large: its 13 lines aren’t shown here.

arch/parisc/include/asm/ptrace.h+11−0

This diff is large: its 16 lines aren’t shown here.

arch/parisc/include/asm/spinlock.h+2−6

This diff is large: its 39 lines aren’t shown here.

arch/parisc/include/asm/traps.h+3−1

This diff is large: its 11 lines aren’t shown here.

arch/parisc/include/asm/unwind.h+7−2

This diff is large: its 23 lines aren’t shown here.

arch/parisc/include/uapi/asm/errno.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/parisc/include/uapi/asm/socket.h+3−0

This diff is large: its 8 lines aren’t shown here.

arch/parisc/kernel/entry.S+54−64

This diff is large: its 286 lines aren’t shown here.

arch/parisc/kernel/pacache.S+1−125

This diff is large: its 335 lines aren’t shown here.

arch/parisc/kernel/pci-dma.c+34−165

This diff is large: its 247 lines aren’t shown here.

arch/parisc/kernel/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/kernel/processor.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/parisc/kernel/ptrace.c+100−0

This diff is large: its 104 lines aren’t shown here.

arch/parisc/kernel/real2.S+0−6

This diff is large: its 13 lines aren’t shown here.

arch/parisc/kernel/setup.c+3−5

This diff is large: its 18 lines aren’t shown here.

arch/parisc/kernel/stacktrace.c+1−14

This diff is large: its 22 lines aren’t shown here.

arch/parisc/kernel/sys_parisc.c+0−5

This diff is large: its 12 lines aren’t shown here.

arch/parisc/kernel/syscall.S+37−26

This diff is large: its 168 lines aren’t shown here.

arch/parisc/kernel/traps.c+7−32

This diff is large: its 84 lines aren’t shown here.

arch/parisc/kernel/unwind.c+77−51

This diff is large: its 185 lines aren’t shown here.

arch/parisc/lib/lusercopy.S+0−21

This diff is large: its 73 lines aren’t shown here.

arch/parisc/mm/fault.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/mm/init.c+3−8

This diff is large: its 29 lines aren’t shown here.

arch/powerpc/Kconfig+9−26

This diff is large: its 105 lines aren’t shown here.

arch/powerpc/Kconfig.debug+0−5

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/Makefile+33−23

This diff is large: its 159 lines aren’t shown here.

arch/powerpc/boot/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/boot/dts/ac14xx.dts+10−10

This diff is large: its 66 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/kmcent2.dts+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/qoriq-fman-0.dtsi+9−6

This diff is large: its 32 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/qoriq-fman-1.dtsi+9−6

This diff is large: its 32 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/qoriq-fman3-0.dtsi+9−6

This diff is large: its 32 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/qoriq-fman3-1.dtsi+9−6

This diff is large: its 32 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/qoriq-fman3l-0.dtsi+9−6

This diff is large: its 32 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/t2080rdb.dts+2−2

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/t4240rdb.dts+4−4

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/boot/dts/pdm360ng.dts+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/configs/book3s_32.config+2−0

This diff is large: its 3 lines aren’t shown here.

arch/powerpc/configs/dpaa.config+1−0

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/configs/wii_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/crypto/md5-asm.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/crypto/md5-glue.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/crypto/sha1-powerpc-asm.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/crypto/sha1-spe-glue.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/crypto/sha1.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/crypto/sha256-spe-glue.c+0−2

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/include/asm/asm-405.h+19−0

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/include/asm/asm-compat.h+1−25

This diff is large: its 41 lines aren’t shown here.

arch/powerpc/include/asm/asm-const.h+14−0

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/include/asm/asm-prototypes.h+9−2

This diff is large: its 23 lines aren’t shown here.

arch/powerpc/include/asm/atomic.h+21−49

This diff is large: its 221 lines aren’t shown here.

arch/powerpc/include/asm/barrier.h+11−3

This diff is large: its 38 lines aren’t shown here.

arch/powerpc/include/asm/bitops.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/book3s/32/pgtable.h+0−7

This diff is large: its 34 lines aren’t shown here.

arch/powerpc/include/asm/book3s/32/tlbflush.h+25−0

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/include/asm/book3s/64/hash-64k.h+2−3

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/include/asm/book3s/64/hash.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/book3s/64/hugetlb.h+0−20

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/include/asm/book3s/64/mmu-hash.h+14−1

This diff is large: its 38 lines aren’t shown here.

arch/powerpc/include/asm/book3s/64/pgalloc.h+28−2

This diff is large: its 56 lines aren’t shown here.

arch/powerpc/include/asm/book3s/64/pgtable.h+19−4

This diff is large: its 44 lines aren’t shown here.

arch/powerpc/include/asm/book3s/64/radix.h+10−30

This diff is large: its 86 lines aren’t shown here.

arch/powerpc/include/asm/book3s/64/tlbflush-radix.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/book3s/tlbflush.h+11−0

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/include/asm/cacheflush.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/cmpxchg.h+1−1

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/include/asm/code-patching-asm.h+18−0

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/include/asm/code-patching.h+3−0

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/include/asm/copro.h+3−1

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/include/asm/cpuidle.h+13−0

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/include/asm/cputable.h+10−19

This diff is large: its 81 lines aren’t shown here.

arch/powerpc/include/asm/cputime.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/dbell.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/dcr-native.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/debug.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/dt_cpu_ftrs.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/eeh.h+8−7

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/include/asm/exception-64s.h+52−66

This diff is large: its 242 lines aren’t shown here.

arch/powerpc/include/asm/fadump.h+0−3

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/include/asm/feature-fixups.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/firmware.h+1−2

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/include/asm/fixmap.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/futex.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/head-64.h+8−8

This diff is large: its 63 lines aren’t shown here.

arch/powerpc/include/asm/highmem.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/hugetlb.h+0−3

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/include/asm/hvcall.h+2−0

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/include/asm/hw_breakpoint.h+6−2

This diff is large: its 23 lines aren’t shown here.

arch/powerpc/include/asm/hw_irq.h+6−4

This diff is large: its 21 lines aren’t shown here.

arch/powerpc/include/asm/iommu.h+8−4

This diff is large: its 38 lines aren’t shown here.

arch/powerpc/include/asm/jump_label.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/kprobes.h+0−12

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/include/asm/kvm_book3s.h+47−0

This diff is large: its 52 lines aren’t shown here.

arch/powerpc/include/asm/kvm_booke_hv_asm.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/kvm_host.h+16−10

This diff is large: its 55 lines aren’t shown here.

arch/powerpc/include/asm/mmu-44x.h+5−5

This diff is large: its 33 lines aren’t shown here.

arch/powerpc/include/asm/mmu.h+1−2

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/include/asm/mmu_context.h+23−14

This diff is large: its 58 lines aren’t shown here.

arch/powerpc/include/asm/nohash/32/pgtable.h+2−5

This diff is large: its 21 lines aren’t shown here.

arch/powerpc/include/asm/nohash/64/pgtable.h+5−14

This diff is large: its 58 lines aren’t shown here.

arch/powerpc/include/asm/nohash/pgtable.h+3−6

This diff is large: its 21 lines aren’t shown here.

arch/powerpc/include/asm/nohash/tlbflush.h+53−0

This diff is large: its 54 lines aren’t shown here.

arch/powerpc/include/asm/opal-api.h+3−1

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/include/asm/opal.h+6−0

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/include/asm/paca.h+3−5

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/include/asm/page.h+1−2

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/include/asm/page_64.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/pkeys.h+21−17

This diff is large: its 79 lines aren’t shown here.

arch/powerpc/include/asm/pnv-pci.h+0−7

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/include/asm/ppc-opcode.h+12−2

This diff is large: its 40 lines aren’t shown here.

arch/powerpc/include/asm/ppc_asm.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/processor.h+2−3

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/include/asm/ptrace.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/reg.h+3−1

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/include/asm/reg_a2.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/reg_fsl_emb.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/security_features.h+7−0

This diff is large: its 28 lines aren’t shown here.

arch/powerpc/include/asm/setup.h+5−1

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/include/asm/smp.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/sparsemem.h+10−3

This diff is large: its 24 lines aren’t shown here.

arch/powerpc/include/asm/spinlock.h+1−1

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/include/asm/stacktrace.h+13−0

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/include/asm/string.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/synch.h+1−1

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/include/asm/thread_info.h+2−1

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/include/asm/tlb.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/include/asm/tlbflush.h+5−81

This diff is large: its 93 lines aren’t shown here.

arch/powerpc/include/asm/topology.h+5−0

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/include/asm/uaccess.h+10−4

This diff is large: its 45 lines aren’t shown here.

arch/powerpc/include/asm/xive.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/Makefile+10−7

This diff is large: its 63 lines aren’t shown here.

arch/powerpc/kernel/asm-offsets.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/cpu_setup_6xx.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/cputable.c+0−38

This diff is large: its 52 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.c+0−3

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/kernel/dt_cpu_ftrs.c+1−3

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/kernel/eeh.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/entry_32.S+12−0

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/kernel/entry_64.S+64−0

This diff is large: its 104 lines aren’t shown here.

arch/powerpc/kernel/exceptions-64e.S+5−0

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/kernel/exceptions-64s.S+25−23

This diff is large: its 147 lines aren’t shown here.

arch/powerpc/kernel/fadump.c+102−18

This diff is large: its 210 lines aren’t shown here.

arch/powerpc/kernel/fpu.S+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/head_32.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/head_40x.S+1−0

This diff is large: its 8 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_8xx.S+4−4

This diff is large: its 29 lines aren’t shown here.

arch/powerpc/kernel/head_fsl_booke.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/hw_breakpoint.c+23−24

This diff is large: its 79 lines aren’t shown here.

arch/powerpc/kernel/idle_6xx.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/idle_book3e.S+6−1

This diff is large: its 21 lines aren’t shown here.

arch/powerpc/kernel/idle_book3s.S+4−50

This diff is large: its 96 lines aren’t shown here.

arch/powerpc/kernel/idle_e500.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/idle_power4.S+15−2

This diff is large: its 44 lines aren’t shown here.

arch/powerpc/kernel/irq.c+31−10

This diff is large: its 74 lines aren’t shown here.

arch/powerpc/kernel/kprobes-ftrace.c+14−58

This diff is large: its 104 lines aren’t shown here.

arch/powerpc/kernel/kprobes.c+16−76

This diff is large: its 123 lines aren’t shown here.

arch/powerpc/kernel/kvm_emul.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/l2cr_6xx.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/machine_kexec.c+7−1

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/kernel/machine_kexec_file_64.c+12−16

This diff is large: its 53 lines aren’t shown here.

arch/powerpc/kernel/mce_power.c+18−26

This diff is large: its 92 lines aren’t shown here.

arch/powerpc/kernel/misc_32.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/misc_64.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/module.c+3−1

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/kernel/pci-common.c+3−4

This diff is large: its 28 lines aren’t shown here.

arch/powerpc/kernel/ppc_save_regs.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/process.c+44−20

This diff is large: its 122 lines aren’t shown here.

arch/powerpc/kernel/prom.c+29−4

This diff is large: its 61 lines aren’t shown here.

arch/powerpc/kernel/prom_init.c+7−5

This diff is large: its 48 lines aren’t shown here.

arch/powerpc/kernel/security.c+125−16

This diff is large: its 212 lines aren’t shown here.

arch/powerpc/kernel/setup-common.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/setup_32.c+7−4

This diff is large: its 34 lines aren’t shown here.

arch/powerpc/kernel/setup_64.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/smp.c+32−23

This diff is large: its 107 lines aren’t shown here.

arch/powerpc/kernel/swsusp_32.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/swsusp_asm64.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/tm.S+3−2

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/kernel/trace/ftrace_64_mprofile.S+5−34

This diff is large: its 56 lines aren’t shown here.

arch/powerpc/kernel/traps.c+41−10

This diff is large: its 82 lines aren’t shown here.

arch/powerpc/kernel/vdso.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/vdso32/note.S+3−0

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/kernel/vector.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/vmlinux.lds.S+3−1

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/kernel/watchdog.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/book3s.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/book3s_32_mmu.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/book3s_64_mmu.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/book3s_64_mmu_hv.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/book3s_64_mmu_radix.c+1−14

This diff is large: its 30 lines aren’t shown here.

arch/powerpc/kvm/book3s_64_slb.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/kvm/book3s_64_vio.c+9−10

This diff is large: its 85 lines aren’t shown here.

arch/powerpc/kvm/book3s_64_vio_hv.c+10−16

This diff is large: its 79 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv.c+33−27

This diff is large: its 147 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv_builtin.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv_interrupts.S+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv_rm_mmu.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv_rmhandlers.S+4−14

This diff is large: its 53 lines aren’t shown here.

arch/powerpc/kvm/book3s_interrupts.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/book3s_pr.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/kvm/book3s_rmhandlers.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/book3s_segment.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/kvm/book3s_xive.c+13−8

This diff is large: its 84 lines aren’t shown here.

arch/powerpc/kvm/book3s_xive_template.c+13−26

This diff is large: its 62 lines aren’t shown here.

arch/powerpc/kvm/e500.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/e500mc.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/emulate_loadstore.c+3−4

This diff is large: its 28 lines aren’t shown here.

arch/powerpc/kvm/powerpc.c+15−16

This diff is large: its 95 lines aren’t shown here.

arch/powerpc/lib/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/lib/code-patching.c+16−0

This diff is large: its 23 lines aren’t shown here.

arch/powerpc/lib/copy_32.S+6−3

This diff is large: its 30 lines aren’t shown here.

arch/powerpc/lib/copypage_64.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/lib/copypage_power7.S+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/lib/copyuser_64.S+256−331

This diff is large: its 831 lines aren’t shown here.

arch/powerpc/lib/copyuser_power7.S+11−10

This diff is large: its 51 lines aren’t shown here.

arch/powerpc/lib/feature-fixups-test.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/lib/feature-fixups.c+34−1

This diff is large: its 50 lines aren’t shown here.

arch/powerpc/lib/hweight_64.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/lib/ldstfp.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/lib/locks.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/lib/memcmp_64.S+406−8

This diff is large: its 459 lines aren’t shown here.

arch/powerpc/lib/memcpy_64.S+9−2

This diff is large: its 41 lines aren’t shown here.

arch/powerpc/lib/memcpy_power7.S+14−14

This diff is large: its 72 lines aren’t shown here.

arch/powerpc/lib/strlen_32.S+78−0

This diff is large: its 79 lines aren’t shown here.

arch/powerpc/lib/vmx-helper.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/mm/44x_mmu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/mm/Makefile+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/mm/copro_fault.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/mm/dump_hashpagetable.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/mm/fault.c+4−4

This diff is large: its 36 lines aren’t shown here.

arch/powerpc/mm/hash64_4k.c+4−4

This diff is large: its 29 lines aren’t shown here.

arch/powerpc/mm/hash64_64k.c+7−8

This diff is large: its 57 lines aren’t shown here.

arch/powerpc/mm/hash_low_32.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/mm/hash_native_64.c+41−37

This diff is large: its 148 lines aren’t shown here.

arch/powerpc/mm/hash_utils_64.c+4−37

This diff is large: its 88 lines aren’t shown here.

arch/powerpc/mm/highmem.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/mm/hugepage-hash64.c+4−5

This diff is large: its 29 lines aren’t shown here.

arch/powerpc/mm/hugetlbpage.c+7−19

This diff is large: its 63 lines aren’t shown here.

arch/powerpc/mm/mmu_context_book3s64.c+13−56

This diff is large: its 140 lines aren’t shown here.

arch/powerpc/mm/mmu_context_hash32.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/mm/mmu_context_iommu.c+40−4

This diff is large: its 121 lines aren’t shown here.

arch/powerpc/mm/mmu_decl.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/mm/numa.c+10−10

This diff is large: its 56 lines aren’t shown here.

arch/powerpc/mm/pgtable-book3s64.c+33−6

This diff is large: its 88 lines aren’t shown here.

arch/powerpc/mm/pgtable-radix.c+20−65

This diff is large: its 175 lines aren’t shown here.

arch/powerpc/mm/pkeys.c+46−95

This diff is large: its 207 lines aren’t shown here.

arch/powerpc/mm/slb.c+40−1

This diff is large: its 55 lines aren’t shown here.

arch/powerpc/mm/slb_low.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/mm/subpage-prot.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/mm/tlb-radix.c+0−18

This diff is large: its 25 lines aren’t shown here.

arch/powerpc/mm/tlb_low_64e.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/mm/tlb_nohash_low.S+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/net/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/net/bpf_jit32.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/net/bpf_jit_asm.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/net/bpf_jit_comp.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/net/bpf_jit_comp64.c+6−24

This diff is large: its 65 lines aren’t shown here.

arch/powerpc/perf/core-book3s.c+3−37

This diff is large: its 102 lines aren’t shown here.

arch/powerpc/perf/imc-pmu.c+51−57

This diff is large: its 142 lines aren’t shown here.

arch/powerpc/perf/isa207-common.c+5−7

This diff is large: its 54 lines aren’t shown here.

arch/powerpc/perf/isa207-common.h+0−5

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/perf/power9-pmu.c+1−53

This diff is large: its 82 lines aren’t shown here.

arch/powerpc/perf/req-gen/_begin.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/perf/req-gen/perf.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/4xx/msi.c+30−21

This diff is large: its 125 lines aren’t shown here.

arch/powerpc/platforms/52xx/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/52xx/mpc52xx_pm.c+4−1

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/platforms/85xx/t1042rdb_diu.c+4−0

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/platforms/Kconfig.cputype+35−4

This diff is large: its 74 lines aren’t shown here.

arch/powerpc/platforms/cell/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/cell/cbe_thermal.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/spufs/fault.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/cell/spufs/sputrace.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/chrp/nvram.c+3−0

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/platforms/embedded6xx/wii.c+0−10

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/platforms/pasemi/dma_lib.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/platforms/pasemi/gpio_mdio.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/pasemi/idle.c+2−2

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/platforms/pasemi/iommu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/pasemi/misc.c+1−3

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/platforms/pasemi/pci.c+8−8

This diff is large: its 38 lines aren’t shown here.

arch/powerpc/platforms/pasemi/setup.c+26−27

This diff is large: its 121 lines aren’t shown here.

arch/powerpc/platforms/powermac/cache.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/powermac/feature.c+0−2

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/platforms/powermac/low_i2c.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/powermac/pci.c+6−6

This diff is large: its 51 lines aren’t shown here.

arch/powerpc/platforms/powermac/sleep.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/powermac/time.c+3−1

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/platforms/powermac/udbg_scc.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/platforms/powernv/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/powernv/eeh-powernv.c+11−1

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/platforms/powernv/idle.c+139−106

This diff is large: its 334 lines aren’t shown here.

arch/powerpc/platforms/powernv/memtrace.c+85−36

This diff is large: its 152 lines aren’t shown here.

arch/powerpc/platforms/powernv/npu-dma.c+13−4

This diff is large: its 53 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal-dump.c+9−9

This diff is large: its 50 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal-irqchip.c+75−51

This diff is large: its 184 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal-kmsg.c+3−27

This diff is large: its 49 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal-sensor-groups.c+28−0

This diff is large: its 35 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal-wrappers.S+4−0

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal.c+129−50

This diff is large: its 213 lines aren’t shown here.

arch/powerpc/platforms/powernv/pci-cxl.c+0−199

This diff is large: its 212 lines aren’t shown here.

arch/powerpc/platforms/powernv/pci-ioda-tce.c+399−0

This diff is large: its 400 lines aren’t shown here.

arch/powerpc/platforms/powernv/pci-ioda.c+63−185

This diff is large: its 404 lines aren’t shown here.

arch/powerpc/platforms/powernv/pci.c+0−158

This diff is large: its 172 lines aren’t shown here.

arch/powerpc/platforms/powernv/pci.h+26−27

This diff is large: its 93 lines aren’t shown here.

arch/powerpc/platforms/powernv/setup.c+8−2

This diff is large: its 31 lines aren’t shown here.

arch/powerpc/platforms/powernv/smp.c+3−24

This diff is large: its 42 lines aren’t shown here.

arch/powerpc/platforms/powernv/vas-window.c+4−22

This diff is large: its 40 lines aren’t shown here.

arch/powerpc/platforms/powernv/vas.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pseries/Makefile+1−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pseries/hvCall.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pseries/kexec.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/pseries/lpar.c+24−27

This diff is large: its 149 lines aren’t shown here.

arch/powerpc/platforms/pseries/mobility.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pseries/ras.c+34−17

This diff is large: its 118 lines aren’t shown here.

arch/powerpc/platforms/pseries/setup.c+43−10

This diff is large: its 121 lines aren’t shown here.

arch/powerpc/purgatory/Makefile+1−2

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/purgatory/trampoline.S+1−9

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/sysdev/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/cpm1.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/fsl_mpic_err.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/mpic.c+3−3

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/sysdev/mpic_msgr.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/msi_bitmap.c+8−7

This diff is large: its 40 lines aren’t shown here.

arch/powerpc/sysdev/xive/common.c+5−27

This diff is large: its 60 lines aren’t shown here.

arch/powerpc/sysdev/xive/native.c+13−21

This diff is large: its 131 lines aren’t shown here.

arch/powerpc/tools/checkpatch.sh+22−0

This diff is large: its 23 lines aren’t shown here.

arch/powerpc/xmon/spr_access.S+1−0

This diff is large: its 7 lines aren’t shown here.

arch/powerpc/xmon/xmon.c+36−6

This diff is large: its 103 lines aren’t shown here.

arch/riscv/Kconfig+1−71

This diff is large: its 95 lines aren’t shown here.

arch/riscv/Kconfig.debug+37−0

This diff is large: its 38 lines aren’t shown here.

arch/riscv/Makefile+5−3

This diff is large: its 30 lines aren’t shown here.

arch/riscv/configs/defconfig+1−0

This diff is large: its 5 lines aren’t shown here.

arch/riscv/include/asm/Kbuild+1−0

This diff is large: its 8 lines aren’t shown here.

arch/riscv/include/asm/atomic.h+9−157

This diff is large: its 197 lines aren’t shown here.

arch/riscv/include/asm/csr.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/riscv/include/asm/irq.h+1−4

This diff is large: its 13 lines aren’t shown here.

arch/riscv/include/asm/perf_event.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/riscv/include/asm/smp.h+0−6

This diff is large: its 20 lines aren’t shown here.

arch/riscv/include/asm/unistd.h+5−0

This diff is large: its 12 lines aren’t shown here.

arch/riscv/include/asm/vdso.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/riscv/include/uapi/asm/elf.h+7−2

This diff is large: its 16 lines aren’t shown here.

arch/riscv/include/uapi/asm/syscalls.h+8−5

This diff is large: its 27 lines aren’t shown here.

arch/riscv/kernel/entry.S+2−2

This diff is large: its 11 lines aren’t shown here.

arch/riscv/kernel/head.S+2−0

This diff is large: its 16 lines aren’t shown here.

arch/riscv/kernel/irq.c+44−11

This diff is large: its 69 lines aren’t shown here.

arch/riscv/kernel/module.c+13−13

This diff is large: its 113 lines aren’t shown here.

arch/riscv/kernel/perf_event.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/riscv/kernel/ptrace.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/riscv/kernel/setup.c+27−5

This diff is large: its 50 lines aren’t shown here.

arch/riscv/kernel/smp.c+2−4

This diff is large: its 27 lines aren’t shown here.

arch/riscv/kernel/smpboot.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/riscv/kernel/sys_riscv.c+10−2

This diff is large: its 34 lines aren’t shown here.

arch/riscv/kernel/time.c+1−29

This diff is large: its 47 lines aren’t shown here.

arch/riscv/kernel/traps.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/riscv/kernel/vdso/Makefile+2−2

This diff is large: its 11 lines aren’t shown here.

arch/riscv/lib/Makefile+1−0

This diff is large: its 7 lines aren’t shown here.

arch/riscv/lib/tishift.S+42−0

This diff is large: its 43 lines aren’t shown here.

arch/riscv/mm/fault.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/riscv/mm/init.c+2−0

This diff is large: its 10 lines aren’t shown here.

arch/s390/Kconfig+4−29

This diff is large: its 116 lines aren’t shown here.

arch/s390/Kconfig.debug+0−5

This diff is large: its 18 lines aren’t shown here.

arch/s390/Makefile+36−24

This diff is large: its 131 lines aren’t shown here.

arch/s390/appldata/appldata_base.c+45−77

This diff is large: its 180 lines aren’t shown here.

arch/s390/boot/Makefile+39−6

This diff is large: its 59 lines aren’t shown here.

arch/s390/boot/als.crenamed from arch/s390/kernel/als.c+9−11

This diff is large: its 76 lines aren’t shown here.

arch/s390/boot/compressed/.gitignore+1−0

This diff is large: its 6 lines aren’t shown here.

arch/s390/boot/compressed/Makefile+23−32

This diff is large: its 91 lines aren’t shown here.

arch/s390/boot/compressed/head.S+4−4

This diff is large: its 35 lines aren’t shown here.

arch/s390/boot/compressed/misc.c+0−37

This diff is large: its 44 lines aren’t shown here.

arch/s390/boot/compressed/vmlinux.lds.S+11−4

This diff is large: its 38 lines aren’t shown here.

arch/s390/boot/compressed/vmlinux.scr.lds.Srenamed from arch/s390/boot/compressed/vmlinux.scr+4−0

This diff is large: its 15 lines aren’t shown here.

arch/s390/boot/ebcdic.c+2−0

This diff is large: its 3 lines aren’t shown here.

arch/s390/boot/head.Srenamed from arch/s390/kernel/head.S+6−5

This diff is large: its 32 lines aren’t shown here.

arch/s390/boot/head_kdump.Srenamed from arch/s390/kernel/head_kdump.S+0−0

File renamed without changes.

arch/s390/boot/mem.S+2−0

This diff is large: its 3 lines aren’t shown here.

arch/s390/boot/sclp_early_core.c+2−0

This diff is large: its 3 lines aren’t shown here.

arch/s390/crypto/aes_s390.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/s390/crypto/ghash_s390.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/s390/crypto/sha1_s390.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/s390/crypto/sha256_s390.c+0−2

This diff is large: its 16 lines aren’t shown here.

arch/s390/crypto/sha512_s390.c+0−2

This diff is large: its 16 lines aren’t shown here.

arch/s390/hypfs/hypfs_diag.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/s390/hypfs/inode.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/s390/include/asm/ap.h+257−27

This diff is large: its 326 lines aren’t shown here.

arch/s390/include/asm/atomic.h+0−65

This diff is large: its 91 lines aren’t shown here.

arch/s390/include/asm/cpu_mf.h+9−3

This diff is large: its 26 lines aren’t shown here.

arch/s390/include/asm/ftrace.h+3−3

This diff is large: its 27 lines aren’t shown here.

arch/s390/include/asm/gmap.h+10−0

This diff is large: its 22 lines aren’t shown here.

arch/s390/include/asm/hugetlb.h+4−1

This diff is large: its 12 lines aren’t shown here.

arch/s390/include/asm/kprobes.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/s390/include/asm/kvm_host.h+4−7

This diff is large: its 39 lines aren’t shown here.

arch/s390/include/asm/lowcore.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/include/asm/mmu.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/s390/include/asm/mmu_context.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/include/asm/nospec-insn.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/s390/include/asm/pci.h+5−0

This diff is large: its 19 lines aren’t shown here.

arch/s390/include/asm/pgtable.h+10−3

This diff is large: its 34 lines aren’t shown here.

arch/s390/include/asm/purgatory.h+0−6

This diff is large: its 12 lines aren’t shown here.

arch/s390/include/asm/qdio.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/s390/include/asm/sections.h+0−2

This diff is large: its 7 lines aren’t shown here.

arch/s390/include/asm/setup.h+3−1

This diff is large: its 12 lines aren’t shown here.

arch/s390/include/uapi/asm/chsc.h+5−5

This diff is large: its 35 lines aren’t shown here.

arch/s390/include/uapi/asm/kvm.h+4−1

This diff is large: its 26 lines aren’t shown here.

arch/s390/include/uapi/asm/socket.h+3−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/include/uapi/asm/zcrypt.h+36−36

This diff is large: its 110 lines aren’t shown here.

arch/s390/kernel/Makefile+3−21

This diff is large: its 62 lines aren’t shown here.

arch/s390/kernel/asm-offsets.c+0−8

This diff is large: its 15 lines aren’t shown here.

arch/s390/kernel/compat_wrapper.c+1−0

This diff is large: its 5 lines aren’t shown here.

arch/s390/kernel/crash_dump.c+112−22

This diff is large: its 194 lines aren’t shown here.

arch/s390/kernel/early.c+12−0

This diff is large: its 21 lines aren’t shown here.

arch/s390/kernel/ebcdic.c+18−18

This diff is large: its 118 lines aren’t shown here.

arch/s390/kernel/entry.S+6−2

This diff is large: its 29 lines aren’t shown here.

arch/s390/kernel/entry.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/s390/kernel/ftrace.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/head64.S+15−28

This diff is large: its 58 lines aren’t shown here.

arch/s390/kernel/kprobes.c+6−80

This diff is large: its 116 lines aren’t shown here.

arch/s390/kernel/mcount.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/nospec-branch.c+11−1

This diff is large: its 26 lines aren’t shown here.

arch/s390/kernel/nospec-sysfs.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/perf_cpum_sf.c+14−2

This diff is large: its 44 lines aren’t shown here.

arch/s390/kernel/perf_regs.c+2−4

This diff is large: its 20 lines aren’t shown here.

arch/s390/kernel/setup.c+2−2

This diff is large: its 15 lines aren’t shown here.

arch/s390/kernel/signal.c+2−1

This diff is large: its 15 lines aren’t shown here.

arch/s390/kernel/syscalls/Makefile+3−3

This diff is large: its 19 lines aren’t shown here.

arch/s390/kernel/syscalls/syscall.tbl+2−0

This diff is large: its 6 lines aren’t shown here.

arch/s390/kernel/sysinfo.c+4−0

This diff is large: its 18 lines aren’t shown here.

arch/s390/kernel/time.c+10−5

This diff is large: its 28 lines aren’t shown here.

arch/s390/kernel/topology.c+18−26

This diff is large: its 60 lines aren’t shown here.

arch/s390/kernel/vdso.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/vmlinux.lds.S+5−8

This diff is large: its 37 lines aren’t shown here.

arch/s390/kvm/interrupt.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kvm/kvm-s390.c+250−133

This diff is large: its 566 lines aren’t shown here.

arch/s390/kvm/priv.c+94−49

This diff is large: its 274 lines aren’t shown here.

arch/s390/kvm/vsie.c+9−2

This diff is large: its 39 lines aren’t shown here.

arch/s390/lib/mem.S+10−6

This diff is large: its 74 lines aren’t shown here.

arch/s390/mm/cmm.c+33−41

This diff is large: its 100 lines aren’t shown here.

arch/s390/mm/extmem.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/s390/mm/fault.c+10−5

This diff is large: its 57 lines aren’t shown here.

arch/s390/mm/gmap.c+431−23

This diff is large: its 568 lines aren’t shown here.

arch/s390/mm/hugetlbpage.c+24−0

This diff is large: its 38 lines aren’t shown here.

arch/s390/mm/page-states.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/mm/pageattr.c+2−4

This diff is large: its 27 lines aren’t shown here.

arch/s390/mm/pgalloc.c+5−1

This diff is large: its 27 lines aren’t shown here.

arch/s390/mm/pgtable.c+115−44

This diff is large: its 265 lines aren’t shown here.

arch/s390/net/bpf_jit_comp.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/s390/numa/numa.c+2−14

This diff is large: its 29 lines aren’t shown here.

arch/s390/pci/pci.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/s390/pci/pci_debug.c+8−1

This diff is large: its 30 lines aren’t shown here.

arch/s390/purgatory/Makefile+6−6

This diff is large: its 36 lines aren’t shown here.

arch/s390/purgatory/head.S+19−26

This diff is large: its 53 lines aren’t shown here.

arch/s390/purgatory/purgatory.c+0−9

This diff is large: its 16 lines aren’t shown here.

arch/s390/scripts/Makefile.chkbss+10−1

This diff is large: its 24 lines aren’t shown here.

arch/s390/tools/gen_facilities.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/s390/tools/gen_opcode_table.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/sh/Kconfig+3−27

This diff is large: its 71 lines aren’t shown here.

arch/sh/Kconfig.debug+0−5

This diff is large: its 18 lines aren’t shown here.

arch/sh/Makefile+2−2

This diff is large: its 14 lines aren’t shown here.

arch/sh/boards/mach-ap325rxa/setup.c+79−203

This diff is large: its 375 lines aren’t shown here.

arch/sh/boards/mach-kfr2r09/setup.c+103−114

This diff is large: its 307 lines aren’t shown here.

arch/sh/boards/mach-migor/setup.c+4−4

This diff is large: its 29 lines aren’t shown here.

arch/sh/boards/mach-se/7724/setup.c+79−41

This diff is large: its 219 lines aren’t shown here.

arch/sh/boards/of-generic.c+4−3

This diff is large: its 27 lines aren’t shown here.

arch/sh/drivers/pci/pci.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/sh/include/asm/Kbuild+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sh/include/asm/atomic.h+0−35

This diff is large: its 45 lines aren’t shown here.

arch/sh/include/asm/cacheflush.h+7−0

This diff is large: its 13 lines aren’t shown here.

arch/sh/include/asm/cmpxchg-xchg.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/sh/include/asm/dma-mapping.h+0−23

This diff is large: its 24 lines aren’t shown here.

arch/sh/include/asm/hw_breakpoint.h+5−3

This diff is large: its 29 lines aren’t shown here.

arch/sh/include/asm/kexec.h+2−1

This diff is large: its 17 lines aren’t shown here.

arch/sh/include/asm/kprobes.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/sh/kernel/Makefile+2−2

This diff is large: its 18 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/clock-sh7723.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/dma-coherent.c+83−0

This diff is large: its 84 lines aren’t shown here.

arch/sh/kernel/dma-nommu.c+0−88

This diff is large: its 89 lines aren’t shown here.

arch/sh/kernel/dwarf.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/hw_breakpoint.c+23−30

This diff is large: its 126 lines aren’t shown here.

arch/sh/kernel/kprobes.c+5−67

This diff is large: its 111 lines aren’t shown here.

arch/sh/mm/Kconfig+0−2

This diff is large: its 9 lines aren’t shown here.

arch/sh/mm/consistent.c+0−87

This diff is large: its 102 lines aren’t shown here.

arch/sh/mm/fault.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/sh/mm/init.c+0−10

This diff is large: its 23 lines aren’t shown here.

arch/sparc/Kconfig+4−30

This diff is large: its 91 lines aren’t shown here.

arch/sparc/Kconfig.debug+0−5

This diff is large: its 19 lines aren’t shown here.

arch/sparc/Makefile+5−5

This diff is large: its 32 lines aren’t shown here.

arch/sparc/crypto/md5_glue.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/crypto/sha1_glue.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/crypto/sha256_glue.c+0−2

This diff is large: its 16 lines aren’t shown here.

arch/sparc/crypto/sha512_glue.c+0−2

This diff is large: its 16 lines aren’t shown here.

arch/sparc/include/asm/Kbuild+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/include/asm/atomic_32.h+3−21

This diff is large: its 44 lines aren’t shown here.

arch/sparc/include/asm/atomic_64.h+1−64

This diff is large: its 83 lines aren’t shown here.

arch/sparc/include/asm/dma-mapping.h+2−3

This diff is large: its 22 lines aren’t shown here.

arch/sparc/include/asm/io_64.h+13−6

This diff is large: its 49 lines aren’t shown here.

arch/sparc/include/asm/kprobes.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/include/asm/msi.h+0−32

This diff is large: its 33 lines aren’t shown here.

arch/sparc/include/uapi/asm/socket.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/sparc/kernel/ioport.c+31−162

This diff is large: its 266 lines aren’t shown here.

arch/sparc/kernel/kprobes.c+6−59

This diff is large: its 100 lines aren’t shown here.

arch/sparc/kernel/sys_sparc_32.c+13−9

This diff is large: its 37 lines aren’t shown here.

arch/sparc/kernel/sys_sparc_64.c+12−8

This diff is large: its 36 lines aren’t shown here.

arch/sparc/kernel/time_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/lib/atomic32.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/sparc/mm/fault_32.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/sparc/mm/fault_64.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/sparc/mm/init_32.c+48−79

This diff is large: its 188 lines aren’t shown here.

arch/sparc/mm/srmmu.c+19−1

This diff is large: its 34 lines aren’t shown here.

arch/um/Kconfigrenamed from arch/um/Kconfig.um+70−4

This diff is large: its 97 lines aren’t shown here.

arch/um/Kconfig.char+0−124

This diff is large: its 125 lines aren’t shown here.

arch/um/Kconfig.common+0−60

This diff is large: its 61 lines aren’t shown here.

arch/um/Kconfig.debug+0−5

This diff is large: its 14 lines aren’t shown here.

arch/um/Kconfig.rest+0−22

This diff is large: its 23 lines aren’t shown here.

arch/um/Makefile+4−13

This diff is large: its 42 lines aren’t shown here.

arch/um/drivers/Kconfigrenamed from arch/um/Kconfig.net+124−1

This diff is large: its 135 lines aren’t shown here.

arch/um/drivers/Makefile+2−2

This diff is large: its 13 lines aren’t shown here.

arch/um/kernel/trap.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/unicore32/Kconfig+0−28

This diff is large: its 62 lines aren’t shown here.

arch/unicore32/Kconfig.debug+0−5

This diff is large: its 14 lines aren’t shown here.

arch/unicore32/mm/fault.c+5−4

This diff is large: its 25 lines aren’t shown here.

arch/x86/Kconfig+8−28

This diff is large: its 113 lines aren’t shown here.

arch/x86/Kconfig.debug+0−5

This diff is large: its 18 lines aren’t shown here.

arch/x86/Makefile+2−7

This diff is large: its 30 lines aren’t shown here.

arch/x86/Makefile.um+2−4

This diff is large: its 27 lines aren’t shown here.

arch/x86/boot/bitops.h+2−1

This diff is large: its 17 lines aren’t shown here.

arch/x86/boot/compressed/Makefile+9−5

This diff is large: its 36 lines aren’t shown here.

arch/x86/boot/compressed/eboot.c+186−371

This diff is large: its 853 lines aren’t shown here.

arch/x86/boot/compressed/eboot.h+6−6

This diff is large: its 29 lines aren’t shown here.

arch/x86/boot/compressed/kaslr.c+93−10

This diff is large: its 167 lines aren’t shown here.

arch/x86/boot/compressed/pgtable_64.c+55−18

This diff is large: its 94 lines aren’t shown here.

arch/x86/boot/string.c+3−2

This diff is large: its 19 lines aren’t shown here.

arch/x86/crypto/aegis128-aesni-asm.S+2−1

This diff is large: its 17 lines aren’t shown here.

arch/x86/crypto/aegis128-aesni-glue.c+4−8

This diff is large: its 21 lines aren’t shown here.

arch/x86/crypto/aegis128l-aesni-asm.S+2−1

This diff is large: its 17 lines aren’t shown here.

arch/x86/crypto/aegis128l-aesni-glue.c+4−8

This diff is large: its 21 lines aren’t shown here.

arch/x86/crypto/aegis256-aesni-asm.S+2−1

This diff is large: its 17 lines aren’t shown here.

arch/x86/crypto/aegis256-aesni-glue.c+4−8

This diff is large: its 21 lines aren’t shown here.

arch/x86/crypto/aesni-intel_asm.S+4−4

This diff is large: its 36 lines aren’t shown here.

arch/x86/crypto/aesni-intel_avx-x86_64.S+2−2

This diff is large: its 18 lines aren’t shown here.

arch/x86/crypto/ghash-clmulni-intel_glue.c+2−4

This diff is large: its 21 lines aren’t shown here.

arch/x86/crypto/morus1280-avx2-asm.S+2−1

This diff is large: its 17 lines aren’t shown here.

arch/x86/crypto/morus1280-avx2-glue.c+3−7

This diff is large: its 19 lines aren’t shown here.

arch/x86/crypto/morus1280-sse2-asm.S+2−1

This diff is large: its 17 lines aren’t shown here.

arch/x86/crypto/morus1280-sse2-glue.c+3−7

This diff is large: its 19 lines aren’t shown here.

arch/x86/crypto/morus640-sse2-asm.S+2−1

This diff is large: its 17 lines aren’t shown here.

arch/x86/crypto/morus640-sse2-glue.c+3−7

This diff is large: its 19 lines aren’t shown here.

arch/x86/crypto/poly1305_glue.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/crypto/sha1-mb/sha1_mb.c+11−6

This diff is large: its 32 lines aren’t shown here.

arch/x86/crypto/sha1_ssse3_asm.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/crypto/sha1_ssse3_glue.c+0−4

This diff is large: its 32 lines aren’t shown here.

arch/x86/crypto/sha256-mb/sha256_mb.c+11−7

This diff is large: its 33 lines aren’t shown here.

arch/x86/crypto/sha256-mb/sha256_mb_mgr_flush_avx2.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/crypto/sha256_ssse3_glue.c+0−8

This diff is large: its 64 lines aren’t shown here.

arch/x86/crypto/sha512-mb/sha512_mb.c+11−7

This diff is large: its 33 lines aren’t shown here.

arch/x86/crypto/sha512_ssse3_glue.c+0−6

This diff is large: its 48 lines aren’t shown here.

arch/x86/entry/entry_32.S+522−110

This diff is large: its 836 lines aren’t shown here.

arch/x86/entry/entry_64.S+7−16

This diff is large: its 83 lines aren’t shown here.

arch/x86/entry/vdso/Makefile+14−18

This diff is large: its 90 lines aren’t shown here.

arch/x86/entry/vdso/vdso-note.S+3−0

This diff is large: its 14 lines aren’t shown here.

arch/x86/entry/vdso/vdso32/note.S+3−0

This diff is large: its 17 lines aren’t shown here.

arch/x86/events/amd/ibs.c+5−1

This diff is large: its 20 lines aren’t shown here.

arch/x86/events/intel/core.c+21−13

This diff is large: its 100 lines aren’t shown here.

arch/x86/events/intel/ds.c+50−32

This diff is large: its 179 lines aren’t shown here.

arch/x86/events/intel/lbr.c+49−7

This diff is large: its 134 lines aren’t shown here.

arch/x86/events/intel/uncore.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/events/intel/uncore_snbep.c+7−3

This diff is large: its 30 lines aren’t shown here.

arch/x86/events/perf_event.h+6−0

This diff is large: its 36 lines aren’t shown here.

arch/x86/hyperv/Makefile+1−1

This diff is large: its 4 lines aren’t shown here.

arch/x86/hyperv/hv_apic.c+36−26

This diff is large: its 117 lines aren’t shown here.

arch/x86/hyperv/hv_init.c+33−3

This diff is large: its 71 lines aren’t shown here.

arch/x86/hyperv/mmu.c+41−41

This diff is large: its 151 lines aren’t shown here.

arch/x86/hyperv/nested.c+56−0

This diff is large: its 57 lines aren’t shown here.

arch/x86/include/asm/Kbuild+1−0

This diff is large: its 7 lines aren’t shown here.

arch/x86/include/asm/apic.h+9−0

This diff is large: its 36 lines aren’t shown here.

arch/x86/include/asm/apm.h+0−6

This diff is large: its 41 lines aren’t shown here.

arch/x86/include/asm/asm.h+59−0

This diff is large: its 66 lines aren’t shown here.

arch/x86/include/asm/atomic.h+7−25

This diff is large: its 95 lines aren’t shown here.

arch/x86/include/asm/atomic64_32.h+6−55

This diff is large: its 115 lines aren’t shown here.

arch/x86/include/asm/atomic64_64.h+7−43

This diff is large: its 106 lines aren’t shown here.

arch/x86/include/asm/cmpxchg.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/cmpxchg_64.h+2−2

This diff is large: its 16 lines aren’t shown here.

arch/x86/include/asm/cpufeatures.h+5−1

This diff is large: its 33 lines aren’t shown here.

arch/x86/include/asm/dmi.h+1−1

This diff is large: its 10 lines aren’t shown here.

arch/x86/include/asm/export.h+0−5

This diff is large: its 6 lines aren’t shown here.

arch/x86/include/asm/hardirq.h+24−2

This diff is large: its 40 lines aren’t shown here.

arch/x86/include/asm/hw_breakpoint.h+5−2

This diff is large: its 17 lines aren’t shown here.

arch/x86/include/asm/hyperv-tlfs.h+17−8

This diff is large: its 84 lines aren’t shown here.

arch/x86/include/asm/i8259.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/intel-family.h+13−0

This diff is large: its 18 lines aren’t shown here.

arch/x86/include/asm/intel-mid.h+0−43

This diff is large: its 57 lines aren’t shown here.

arch/x86/include/asm/intel_ds.h+2−1

This diff is large: its 17 lines aren’t shown here.

arch/x86/include/asm/irq_remapping.h+5−0

This diff is large: its 12 lines aren’t shown here.

arch/x86/include/asm/irqflags.h+3−1

This diff is large: its 11 lines aren’t shown here.

arch/x86/include/asm/kprobes.h+1−4

This diff is large: its 19 lines aren’t shown here.

arch/x86/include/asm/kvm_guest.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/kvm_host.h+58−4

This diff is large: its 173 lines aren’t shown here.

arch/x86/include/asm/kvm_para.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/mce.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/mmu_context.h+0−5

This diff is large: its 13 lines aren’t shown here.

arch/x86/include/asm/mshyperv.h+52−5

This diff is large: its 120 lines aren’t shown here.

arch/x86/include/asm/msr-index.h+7−0

This diff is large: its 20 lines aren’t shown here.

arch/x86/include/asm/nospec-branch.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/orc_types.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/x86/include/asm/page_32_types.h+7−2

This diff is large: its 16 lines aren’t shown here.

arch/x86/include/asm/paravirt.h+5−0

This diff is large: its 12 lines aren’t shown here.

arch/x86/include/asm/paravirt_types.h+3−0

This diff is large: its 17 lines aren’t shown here.

arch/x86/include/asm/pci-direct.h+0−4

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/percpu.h+4−3

This diff is large: its 14 lines aren’t shown here.

arch/x86/include/asm/pgtable-2level.h+26−0

This diff is large: its 52 lines aren’t shown here.

arch/x86/include/asm/pgtable-2level_types.h+3−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/pgtable-3level.h+42−2

This diff is large: its 74 lines aren’t shown here.

arch/x86/include/asm/pgtable-3level_types.h+4−2

This diff is large: its 20 lines aren’t shown here.

arch/x86/include/asm/pgtable-invert.h+41−0

This diff is large: its 42 lines aren’t shown here.

arch/x86/include/asm/pgtable.h+143−25

This diff is large: its 266 lines aren’t shown here.

arch/x86/include/asm/pgtable_32.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/pgtable_32_types.h+7−2

This diff is large: its 21 lines aren’t shown here.

arch/x86/include/asm/pgtable_64.h+29−98

This diff is large: its 179 lines aren’t shown here.

arch/x86/include/asm/pgtable_64_types.h+3−0

This diff is large: its 15 lines aren’t shown here.

arch/x86/include/asm/pgtable_types.h+26−2

This diff is large: its 48 lines aren’t shown here.

arch/x86/include/asm/processor-flags.h+4−4

This diff is large: its 20 lines aren’t shown here.

arch/x86/include/asm/processor.h+18−0

This diff is large: its 37 lines aren’t shown here.

arch/x86/include/asm/pti.h+1−2

This diff is large: its 12 lines aren’t shown here.

arch/x86/include/asm/qspinlock_paravirt.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/refcount.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/sections.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/set_memory.h+43−0

This diff is large: its 55 lines aren’t shown here.

arch/x86/include/asm/switch_to.h+13−3

This diff is large: its 29 lines aren’t shown here.

arch/x86/include/asm/text-patching.h+1−0

This diff is large: its 7 lines aren’t shown here.

arch/x86/include/asm/tlbflush.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/x86/include/asm/topology.h+5−1

This diff is large: its 19 lines aren’t shown here.

arch/x86/include/asm/trace/hyperv.h+29−0

This diff is large: its 36 lines aren’t shown here.

arch/x86/include/asm/tsc.h+2−2

This diff is large: its 16 lines aren’t shown here.

arch/x86/include/asm/uaccess_64.h+6−1

This diff is large: its 14 lines aren’t shown here.

arch/x86/include/asm/unwind_hints.h+10−6

This diff is large: its 51 lines aren’t shown here.

arch/x86/include/asm/vmx.h+14−0

This diff is large: its 33 lines aren’t shown here.

arch/x86/include/asm/xen/hypercall.h+19−124

This diff is large: its 211 lines aren’t shown here.

arch/x86/include/uapi/asm/kvm.h+37−0

This diff is large: its 42 lines aren’t shown here.

arch/x86/include/uapi/asm/kvm_para.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/acpi/cstate.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/alternative.c+7−0

This diff is large: its 21 lines aren’t shown here.

arch/x86/kernel/apic/apic.c+22−1

This diff is large: its 51 lines aren’t shown here.

arch/x86/kernel/apic/io_apic.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/apic/msi.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/apic/vector.c+6−14

This diff is large: its 52 lines aren’t shown here.

arch/x86/kernel/apic/x2apic_uv_x.c+2−2

This diff is large: its 13 lines aren’t shown here.

arch/x86/kernel/apm_32.c+5−0

This diff is large: its 35 lines aren’t shown here.

arch/x86/kernel/asm-offsets.c+5−0

This diff is large: its 10 lines aren’t shown here.

arch/x86/kernel/asm-offsets_32.c+8−2

This diff is large: its 17 lines aren’t shown here.

arch/x86/kernel/asm-offsets_64.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/cpu/Makefile+3−1

This diff is large: its 11 lines aren’t shown here.

arch/x86/kernel/cpu/amd.c+38−30

This diff is large: its 131 lines aren’t shown here.

arch/x86/kernel/cpu/bugs.c+166−36

This diff is large: its 310 lines aren’t shown here.

arch/x86/kernel/cpu/common.c+62−44

This diff is large: its 194 lines aren’t shown here.

arch/x86/kernel/cpu/cpu.h+3−0

This diff is large: its 18 lines aren’t shown here.

arch/x86/kernel/cpu/intel.c+16−1

This diff is large: its 47 lines aren’t shown here.

arch/x86/kernel/cpu/intel_rdt.c+11−0

This diff is large: its 29 lines aren’t shown here.

arch/x86/kernel/cpu/intel_rdt.h+117−26

This diff is large: its 217 lines aren’t shown here.

arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c+109−20

This diff is large: its 234 lines aren’t shown here.

arch/x86/kernel/cpu/intel_rdt_pseudo_lock.c+1522−0

This diff is large: its 1523 lines aren’t shown here.

arch/x86/kernel/cpu/intel_rdt_pseudo_lock_event.h+43−0

This diff is large: its 44 lines aren’t shown here.

arch/x86/kernel/cpu/intel_rdt_rdtgroup.c+786−26

This diff is large: its 1039 lines aren’t shown here.

arch/x86/kernel/cpu/mcheck/mce-internal.h+0−15

This diff is large: its 22 lines aren’t shown here.

arch/x86/kernel/cpu/mcheck/mce.c+104−127

This diff is large: its 340 lines aren’t shown here.

arch/x86/kernel/cpu/microcode/core.c+12−4

This diff is large: its 25 lines aren’t shown here.

arch/x86/kernel/cpu/mshyperv.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/x86/kernel/cpu/mtrr/if.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/x86/kernel/cpu/topology.c+22−19

This diff is large: its 68 lines aren’t shown here.

arch/x86/kernel/dumpstack.c+9−19

This diff is large: its 45 lines aren’t shown here.

arch/x86/kernel/early-quirks.c+18−0

This diff is large: its 39 lines aren’t shown here.

arch/x86/kernel/fpu/core.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/head_32.S+15−5

This diff is large: its 50 lines aren’t shown here.

arch/x86/kernel/head_64.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/hpet.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/hw_breakpoint.c+68−63

This diff is large: its 233 lines aren’t shown here.

arch/x86/kernel/i8259.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/idt.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/irq.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/irq_32.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/irq_64.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/irqflags.S+26−0

This diff is large: its 27 lines aren’t shown here.

arch/x86/kernel/irqinit.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/jump_label.c+7−4

This diff is large: its 23 lines aren’t shown here.

arch/x86/kernel/kexec-bzimage64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/kprobes/common.h+0−10

This diff is large: its 15 lines aren’t shown here.

arch/x86/kernel/kprobes/core.c+9−115

This diff is large: its 201 lines aren’t shown here.

arch/x86/kernel/kprobes/ftrace.c+13−36

This diff is large: its 69 lines aren’t shown here.

arch/x86/kernel/kprobes/opt.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/kvm.c+117−16

This diff is large: its 200 lines aren’t shown here.

arch/x86/kernel/kvmclock.c+105−158

This diff is large: its 400 lines aren’t shown here.

arch/x86/kernel/ldt.c+112−25

This diff is large: its 185 lines aren’t shown here.

arch/x86/kernel/machine_kexec_32.c+3−2

This diff is large: its 19 lines aren’t shown here.

arch/x86/kernel/paravirt.c+12−4

This diff is large: its 46 lines aren’t shown here.

arch/x86/kernel/paravirt_patch_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/pci-dma.c+9−4

This diff is large: its 43 lines aren’t shown here.

arch/x86/kernel/pci-iommu_table.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/pcspeaker.c+1−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/process.c+0−2

This diff is large: its 15 lines aren’t shown here.

arch/x86/kernel/process_32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/process_64.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/x86/kernel/setup.c+9−12

This diff is large: its 63 lines aren’t shown here.

arch/x86/kernel/smp.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/smpboot.c+23−0

This diff is large: its 44 lines aren’t shown here.

arch/x86/kernel/stacktrace.c+14−28

This diff is large: its 84 lines aren’t shown here.

arch/x86/kernel/time.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/tsc.c+150−109

This diff is large: its 380 lines aren’t shown here.

arch/x86/kernel/tsc_msr.c+51−45

This diff is large: its 142 lines aren’t shown here.

arch/x86/kernel/unwind_orc.c+31−21

This diff is large: its 169 lines aren’t shown here.

arch/x86/kernel/vm86_32.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/x86/kernel/vmlinux.lds.S+10−7

This diff is large: its 40 lines aren’t shown here.

arch/x86/kernel/x86_init.c+1−1

This diff is large: its 9 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.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/x86/kvm/emulate.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kvm/hyperv.c+20−7

This diff is large: its 86 lines aren’t shown here.

arch/x86/kvm/hyperv.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kvm/lapic.c+41−1

This diff is large: its 56 lines aren’t shown here.

arch/x86/kvm/mmu.c+444−90

This diff is large: its 898 lines aren’t shown here.

arch/x86/kvm/mmu.h+23−1

This diff is large: its 40 lines aren’t shown here.

arch/x86/kvm/paging_tmpl.h+16−12

This diff is large: its 91 lines aren’t shown here.

arch/x86/kvm/svm.c+12−8

This diff is large: its 80 lines aren’t shown here.

arch/x86/kvm/vmx.c+1357−304

This diff is large: its 2653 lines aren’t shown here.

arch/x86/kvm/x86.c+132−23

This diff is large: its 343 lines aren’t shown here.

arch/x86/lib/memcpy_64.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/mm/cpu_entry_area.c+33−0

This diff is large: its 58 lines aren’t shown here.

arch/x86/mm/dump_pagetables.c+18−9

This diff is large: its 85 lines aren’t shown here.

arch/x86/mm/fault.c+3−4

This diff is large: its 35 lines aren’t shown here.

arch/x86/mm/init.c+71−8

This diff is large: its 112 lines aren’t shown here.

arch/x86/mm/init_64.c+2−12

This diff is large: its 23 lines aren’t shown here.

arch/x86/mm/kmmio.c+15−10

This diff is large: its 40 lines aren’t shown here.

arch/x86/mm/mmap.c+21−0

This diff is large: its 25 lines aren’t shown here.

arch/x86/mm/numa_emulation.c+87−20

This diff is large: its 171 lines aren’t shown here.

arch/x86/mm/pageattr.c+23−4

This diff is large: its 69 lines aren’t shown here.

arch/x86/mm/pat.c+16−0

This diff is large: its 37 lines aren’t shown here.

arch/x86/mm/pgtable.c+141−36

This diff is large: its 358 lines aren’t shown here.

arch/x86/mm/pti.c+205−57

This diff is large: its 433 lines aren’t shown here.

arch/x86/mm/tlb.c+13−6

This diff is large: its 37 lines aren’t shown here.

arch/x86/net/bpf_jit_comp32.c+4−4

This diff is large: its 22 lines aren’t shown here.

arch/x86/pci/common.c+0−4

This diff is large: its 18 lines aren’t shown here.

arch/x86/pci/early.c+0−44

This diff is large: its 48 lines aren’t shown here.

arch/x86/platform/efi/efi_64.c+99−4

This diff is large: its 283 lines aren’t shown here.

arch/x86/platform/efi/quirks.c+7−7

This diff is large: its 28 lines aren’t shown here.

arch/x86/platform/intel-mid/Makefile+1−1

This diff is large: its 6 lines aren’t shown here.

arch/x86/platform/intel-mid/device_libs/platform_mrfld_wdt.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/platform/intel-mid/intel-mid.c+1−22

This diff is large: its 66 lines aren’t shown here.

arch/x86/platform/intel-mid/intel_mid_weak_decls.h+0−18

This diff is large: its 19 lines aren’t shown here.

arch/x86/platform/intel-mid/mfld.c+0−70

This diff is large: its 71 lines aren’t shown here.

arch/x86/platform/intel-mid/mrfld.c+0−105

This diff is large: its 106 lines aren’t shown here.

arch/x86/platform/olpc/olpc.c+1−3

This diff is large: its 12 lines aren’t shown here.

arch/x86/platform/uv/tlb_uv.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/x86/power/hibernate_64.c+21−15

This diff is large: its 51 lines aren’t shown here.

arch/x86/power/hibernate_asm_64.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/purgatory/Makefile+2−3

This diff is large: its 20 lines aren’t shown here.

arch/x86/tools/relocs.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/um/Kconfig+0−15

This diff is large: its 24 lines aren’t shown here.

arch/x86/um/mem_32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/um/vdso/.gitignore+0−1

This diff is large: its 3 lines aren’t shown here.

arch/x86/um/vdso/Makefile+0−16

This diff is large: its 23 lines aren’t shown here.

arch/x86/xen/enlighten.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/xen/enlighten_pv.c+47−43

This diff is large: its 162 lines aren’t shown here.

arch/x86/xen/irq.c+1−3

This diff is large: its 10 lines aren’t shown here.

arch/x86/xen/mmu_pv.c+6−4

This diff is large: its 45 lines aren’t shown here.

arch/x86/xen/multicalls.c+3−3

This diff is large: its 13 lines aren’t shown here.

arch/x86/xen/setup.c+0−31

This diff is large: its 38 lines aren’t shown here.

arch/x86/xen/spinlock.c+4−0

This diff is large: its 11 lines aren’t shown here.

arch/x86/xen/suspend_pv.c+3−2

This diff is large: its 12 lines aren’t shown here.

arch/x86/xen/time.c+13−5

This diff is large: its 64 lines aren’t shown here.

arch/x86/xen/xen-ops.h+2−5

This diff is large: its 31 lines aren’t shown here.

arch/xtensa/Kconfig+39−50

This diff is large: its 168 lines aren’t shown here.

arch/xtensa/Kconfig.debug+0−5

This diff is large: its 14 lines aren’t shown here.

arch/xtensa/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/xtensa/boot/Makefile+1−2

This diff is large: its 10 lines aren’t shown here.

arch/xtensa/boot/boot-elf/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/xtensa/boot/boot-elf/bootstrap.S+9−10

This diff is large: its 44 lines aren’t shown here.

arch/xtensa/configs/nommu_kc705_defconfig+1−1

This diff is large: its 15 lines aren’t shown here.

arch/xtensa/include/asm/Kbuild+1−0

This diff is large: its 8 lines aren’t shown here.

arch/xtensa/include/asm/atomic.h+0−98

This diff is large: its 108 lines aren’t shown here.

arch/xtensa/include/asm/cacheasm.h+42−27

This diff is large: its 156 lines aren’t shown here.

arch/xtensa/include/asm/dma-mapping.h+0−26

This diff is large: its 27 lines aren’t shown here.

arch/xtensa/include/asm/hw_breakpoint.h+5−2

This diff is large: its 19 lines aren’t shown here.

arch/xtensa/include/asm/initialize_mmu.h+21−21

This diff is large: its 58 lines aren’t shown here.

arch/xtensa/include/asm/irq.h+3−18

This diff is large: its 36 lines aren’t shown here.

arch/xtensa/include/asm/kmem_layout.h+0−6

This diff is large: its 13 lines aren’t shown here.

arch/xtensa/include/asm/page.h+2−3

This diff is large: its 19 lines aren’t shown here.

arch/xtensa/include/asm/pgtable.h+8−0

This diff is large: its 22 lines aren’t shown here.

arch/xtensa/include/asm/platform.h+27−0

This diff is large: its 32 lines aren’t shown here.

arch/xtensa/include/asm/processor.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/xtensa/include/asm/vectors.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/xtensa/include/uapi/asm/socket.h+3−0

This diff is large: its 8 lines aren’t shown here.

arch/xtensa/kernel/head.S+2−0

This diff is large: its 9 lines aren’t shown here.

arch/xtensa/kernel/hw_breakpoint.c+15−25

This diff is large: its 81 lines aren’t shown here.

arch/xtensa/kernel/irq.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/xtensa/kernel/pci-dma.c+72−123

This diff is large: its 290 lines aren’t shown here.

arch/xtensa/kernel/setup.c+8−2

This diff is large: its 31 lines aren’t shown here.

arch/xtensa/kernel/vmlinux.lds.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/xtensa/mm/fault.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/xtensa/platforms/iss/include/platform/hardware.h+0−29

This diff is large: its 30 lines aren’t shown here.

arch/xtensa/platforms/xt2000/include/platform/hardware.h+0−11

This diff is large: its 18 lines aren’t shown here.

arch/xtensa/platforms/xtfpga/include/platform/hardware.h+0−9

This diff is large: its 16 lines aren’t shown here.

arch/xtensa/variants/test_kc705_be/include/variant/core.h+575−0

This diff is large: its 576 lines aren’t shown here.

arch/xtensa/variants/test_kc705_be/include/variant/tie-asm.h+308−0

This diff is large: its 309 lines aren’t shown here.

arch/xtensa/variants/test_kc705_be/include/variant/tie.h+182−0

This diff is large: its 183 lines aren’t shown here.

block/Kconfig+16−0

This diff is large: its 30 lines aren’t shown here.

block/Makefile+3−1

This diff is large: its 23 lines aren’t shown here.

block/bfq-cgroup.c+2−1

This diff is large: its 10 lines aren’t shown here.

block/bfq-iosched.c+150−35

This diff is large: its 304 lines aren’t shown here.

block/bfq-iosched.h+5−2

This diff is large: its 14 lines aren’t shown here.

block/bfq-wf2q.c+24−28

This diff is large: its 117 lines aren’t shown here.

block/bio-integrity.c+0−22

This diff is large: its 29 lines aren’t shown here.

block/bio.c+125−137

This diff is large: its 420 lines aren’t shown here.

block/blk-cgroup.c+279−5

This diff is large: its 364 lines aren’t shown here.

block/blk-core.c+67−49

This diff is large: its 277 lines aren’t shown here.

block/blk-ioc.c+1−1

This diff is large: its 9 lines aren’t shown here.

block/blk-iolatency.c+955−0

This diff is large: its 956 lines aren’t shown here.

block/blk-lib.c+10−0

This diff is large: its 24 lines aren’t shown here.

block/blk-mq-debugfs-zoned.c+24−0

This diff is large: its 25 lines aren’t shown here.

block/blk-mq-debugfs.c+9−15

This diff is large: its 45 lines aren’t shown here.

block/blk-mq-debugfs.h+9−0

This diff is large: its 14 lines aren’t shown here.

block/blk-mq-pci.c+3−2

This diff is large: its 19 lines aren’t shown here.

block/blk-mq-sched.c+21−135

This diff is large: its 204 lines aren’t shown here.

block/blk-mq-sched.h+0−5

This diff is large: its 12 lines aren’t shown here.

block/blk-mq-tag.c+21−6

This diff is large: its 76 lines aren’t shown here.

block/blk-mq.c+202−71

This diff is large: its 607 lines aren’t shown here.

block/blk-mq.h+11−2

This diff is large: its 32 lines aren’t shown here.

block/blk-rq-qos.c+194−0

This diff is large: its 195 lines aren’t shown here.

block/blk-rq-qos.h+109−0

This diff is large: its 110 lines aren’t shown here.

block/blk-settings.c+3−3

This diff is large: its 27 lines aren’t shown here.

block/blk-stat.c+8−8

This diff is large: its 64 lines aren’t shown here.

block/blk-stat.h+4−0

This diff is large: its 9 lines aren’t shown here.

block/blk-sysfs.c+42−12

This diff is large: its 98 lines aren’t shown here.

block/blk-throttle.c+11−21

This diff is large: its 83 lines aren’t shown here.

block/blk-wbt.c+202−228

This diff is large: its 695 lines aren’t shown here.

block/blk-wbt.h+23−45

This diff is large: its 138 lines aren’t shown here.

block/blk-zoned.c+1−1

This diff is large: its 9 lines aren’t shown here.

block/blk.h+10−1

This diff is large: its 37 lines aren’t shown here.

block/bounce.c+68−1

This diff is large: its 83 lines aren’t shown here.

block/bsg-lib.c+2−3

This diff is large: its 12 lines aren’t shown here.

block/bsg.c+6−456

This diff is large: its 577 lines aren’t shown here.

block/cfq-iosched.c+13−10

This diff is large: its 46 lines aren’t shown here.

block/elevator.c+12−8

This diff is large: its 47 lines aren’t shown here.

block/genhd.c+18−11

This diff is large: its 40 lines aren’t shown here.

block/partition-generic.c+15−10

This diff is large: its 35 lines aren’t shown here.

block/partitions/aix.c+9−4

This diff is large: its 39 lines aren’t shown here.

block/partitions/ldm.c+0−3

This diff is large: its 17 lines aren’t shown here.

block/t10-pi.c+110−0

This diff is large: its 114 lines aren’t shown here.

certs/system_certificates.S+8−8

This diff is large: its 39 lines aren’t shown here.

certs/system_keyring.c+2−1

This diff is large: its 17 lines aren’t shown here.

crypto/ablkcipher.c+28−31

This diff is large: its 112 lines aren’t shown here.

crypto/aegis128.c+0−1

This diff is large: its 8 lines aren’t shown here.

crypto/aegis128l.c+1−2

This diff is large: its 17 lines aren’t shown here.

crypto/aegis256.c+0−1

This diff is large: its 8 lines aren’t shown here.

crypto/af_alg.c+4−2

This diff is large: its 21 lines aren’t shown here.

crypto/api.c+1−1

This diff is large: its 9 lines aren’t shown here.

crypto/asymmetric_keys/pkcs7_key_type.c+1−1

This diff is large: its 9 lines aren’t shown here.

crypto/async_tx/async_pq.c+6−4

This diff is large: its 41 lines aren’t shown here.

crypto/async_tx/raid6test.c+3−1

This diff is large: its 15 lines aren’t shown here.

crypto/blkcipher.c+27−28

This diff is large: its 104 lines aren’t shown here.

crypto/crypto_null.c+0−1

This diff is large: its 8 lines aren’t shown here.

crypto/dh.c+63−3

This diff is large: its 99 lines aren’t shown here.

crypto/dh_helper.c+27−16

This diff is large: its 102 lines aren’t shown here.

crypto/drbg.c+18−21

This diff is large: its 102 lines aren’t shown here.

crypto/ecc.c+38−4

This diff is large: its 62 lines aren’t shown here.

crypto/ecc_curve_defs.h+18−4

This diff is large: its 61 lines aren’t shown here.

crypto/ghash-generic.c+0−1

This diff is large: its 8 lines aren’t shown here.

crypto/lrw.c+2−2

This diff is large: its 18 lines aren’t shown here.

crypto/md4.c+0−1

This diff is large: its 8 lines aren’t shown here.

crypto/md5.c+0−1

This diff is large: its 8 lines aren’t shown here.

crypto/morus1280.c+0−1

This diff is large: its 8 lines aren’t shown here.

crypto/morus640.c+0−1

This diff is large: its 8 lines aren’t shown here.

crypto/poly1305_generic.c+0−1

This diff is large: its 8 lines aren’t shown here.

crypto/rmd128.c+0−1

This diff is large: its 8 lines aren’t shown here.

crypto/rmd160.c+0−1

This diff is large: its 8 lines aren’t shown here.

crypto/rmd256.c+5−6

This diff is large: its 53 lines aren’t shown here.

crypto/rmd320.c+6−7

This diff is large: its 62 lines aren’t shown here.

crypto/scatterwalk.c+1−1

This diff is large: its 9 lines aren’t shown here.

crypto/sha1_generic.c+1−1

This diff is large: its 9 lines aren’t shown here.

crypto/sha256_generic.c+2−2

This diff is large: its 18 lines aren’t shown here.

crypto/sha3_generic.c+0−4

This diff is large: its 32 lines aren’t shown here.

crypto/sha512_generic.c+24−2

This diff is large: its 47 lines aren’t shown here.

crypto/skcipher.c+28−29

This diff is large: its 113 lines aren’t shown here.

crypto/sm3_generic.c+0−1

This diff is large: its 8 lines aren’t shown here.

crypto/tcrypt.c+25−13

This diff is large: its 110 lines aren’t shown here.

crypto/testmgr.c+48−11

This diff is large: its 133 lines aren’t shown here.

crypto/testmgr.h+145−88

This diff is large: its 299 lines aren’t shown here.

crypto/tgr192.c+0−3

This diff is large: its 24 lines aren’t shown here.

crypto/vmac.c+213−231

This diff is large: its 587 lines aren’t shown here.

crypto/wp512.c+0−3

This diff is large: its 24 lines aren’t shown here.

crypto/xts.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/Kconfig+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/Makefile+2−1

This diff is large: its 14 lines aren’t shown here.

drivers/acpi/Kconfig+5−3

This diff is large: its 19 lines aren’t shown here.

drivers/acpi/acpi_lpss.c+17−9

This diff is large: its 97 lines aren’t shown here.

drivers/acpi/acpica/aclocal.h+1−1

This diff is large: its 10 lines aren’t shown here.

drivers/acpi/acpica/acnamesp.h+9−8

This diff is large: its 24 lines aren’t shown here.

drivers/acpi/acpica/acutils.h+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dbinput.c+10−0

This diff is large: its 26 lines aren’t shown here.

drivers/acpi/acpica/dbmethod.c+3−5

This diff is large: its 44 lines aren’t shown here.

drivers/acpi/acpica/dbxface.c+9−1

This diff is large: its 27 lines aren’t shown here.

drivers/acpi/acpica/dsfield.c+33−1

This diff is large: its 62 lines aren’t shown here.

drivers/acpi/acpica/hwregs.c+7−2

This diff is large: its 21 lines aren’t shown here.

drivers/acpi/acpica/hwsleep.c+6−4

This diff is large: its 23 lines aren’t shown here.

drivers/acpi/acpica/nsaccess.c+13−7

This diff is large: its 41 lines aren’t shown here.

drivers/acpi/acpica/nssearch.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/psloop.c+42−6

This diff is large: its 85 lines aren’t shown here.

drivers/acpi/acpica/tbdata.c+2−2

This diff is large: its 12 lines aren’t shown here.

drivers/acpi/acpica/utdelete.c+5−2

This diff is large: its 35 lines aren’t shown here.

drivers/acpi/acpica/uterror.c+3−3

This diff is large: its 23 lines aren’t shown here.

drivers/acpi/acpica/utstrsuppt.c+23−3

This diff is large: its 38 lines aren’t shown here.

drivers/acpi/acpica/utstrtoul64.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/arm64/iort.c+35−13

This diff is large: its 75 lines aren’t shown here.

drivers/acpi/battery.c+49−29

This diff is large: its 210 lines aren’t shown here.

drivers/acpi/bus.c+8−32

This diff is large: its 71 lines aren’t shown here.

drivers/acpi/button.c+10−7

This diff is large: its 66 lines aren’t shown here.

drivers/acpi/ec.c+15−1

This diff is large: its 23 lines aren’t shown here.

drivers/acpi/nfit/core.c+57−15

This diff is large: its 149 lines aren’t shown here.

drivers/acpi/nfit/nfit.h+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/acpi/osi.c+8−0

This diff is large: its 15 lines aren’t shown here.

drivers/acpi/pmic/intel_pmic_crc.c+107−2

This diff is large: its 124 lines aren’t shown here.

drivers/acpi/pptt.c+8−2

This diff is large: its 17 lines aren’t shown here.

drivers/acpi/processor_core.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/property.c+97−112

This diff is large: its 344 lines aren’t shown here.

drivers/acpi/scan.c+20−3

This diff is large: its 58 lines aren’t shown here.

drivers/acpi/sleep.c+16−14

This diff is large: its 51 lines aren’t shown here.

drivers/acpi/x86/utils.c+9−13

This diff is large: its 54 lines aren’t shown here.

drivers/android/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/android/binder.c+6−3

This diff is large: its 37 lines aren’t shown here.

drivers/android/binder_alloc.c+27−16

This diff is large: its 110 lines aren’t shown here.

drivers/android/binder_trace.h+5−2

This diff is large: its 20 lines aren’t shown here.

drivers/ata/Kconfig+0−2

This diff is large: its 16 lines aren’t shown here.

drivers/ata/ahci.c+93−5

This diff is large: its 140 lines aren’t shown here.

drivers/ata/ahci.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/ata/ahci_brcm.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/ahci_ceva.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/ahci_da850.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/ahci_dm816.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/ahci_imx.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/ahci_mtk.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/ahci_mvebu.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/ata/ahci_platform.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/ata/ahci_qoriq.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/ahci_seattle.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/ahci_st.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/ahci_sunxi.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/ahci_tegra.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/ahci_xgene.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/libahci.c+23−11

This diff is large: its 99 lines aren’t shown here.

drivers/ata/libahci_platform.c+37−12

This diff is large: its 135 lines aren’t shown here.

drivers/ata/libata-core.c+8−1

This diff is large: its 41 lines aren’t shown here.

drivers/ata/libata-eh.c+16−25

This diff is large: its 137 lines aren’t shown here.

drivers/ata/libata-scsi.c+21−20

This diff is large: its 117 lines aren’t shown here.

drivers/ata/libata-sff.c+0−30

This diff is large: its 37 lines aren’t shown here.

drivers/ata/libata.h+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/ata/pata_cmd640.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/pata_icside.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/pata_imx.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/ata/pata_legacy.c+3−3

This diff is large: its 24 lines aren’t shown here.

drivers/ata/pata_palmld.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/pata_pcmcia.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/pata_platform.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/pata_pxa.c+1−9

This diff is large: its 38 lines aren’t shown here.

drivers/ata/pata_samsung_cf.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/ata/pata_via.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/sata_fsl.c+1−8

This diff is large: its 23 lines aren’t shown here.

drivers/ata/sata_nv.c+0−3

This diff is large: its 17 lines aren’t shown here.

drivers/ata/sata_rcar.c+39−37

This diff is large: its 215 lines aren’t shown here.

drivers/atm/iphase.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/zatm.c+2−2

This diff is large: its 24 lines aren’t shown here.

drivers/auxdisplay/arm-charlcd.c+2−4

This diff is large: its 20 lines aren’t shown here.

drivers/auxdisplay/charlcd.c+1−4

This diff is large: its 12 lines aren’t shown here.

drivers/auxdisplay/hd44780.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/base/base.h+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/base/cacheinfo.c+10−14

This diff is large: its 63 lines aren’t shown here.

drivers/base/core.c+71−16

This diff is large: its 176 lines aren’t shown here.

drivers/base/cpu.c+8−0

This diff is large: its 25 lines aren’t shown here.

drivers/base/dd.c+108−34

This diff is large: its 214 lines aren’t shown here.

drivers/base/firmware_loader/fallback.c+7−5

This diff is large: its 33 lines aren’t shown here.

drivers/base/init.c+1−1

This diff is large: its 11 lines aren’t shown here.

drivers/base/memory.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/base/node.c+6−43

This diff is large: its 75 lines aren’t shown here.

drivers/base/power/common.c+17−0

This diff is large: its 24 lines aren’t shown here.

drivers/base/power/domain.c+34−8

This diff is large: its 88 lines aren’t shown here.

drivers/base/regmap/Kconfig+4−0

This diff is large: its 8 lines aren’t shown here.

drivers/base/regmap/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

drivers/base/regmap/internal.h+3−0

This diff is large: its 21 lines aren’t shown here.

drivers/base/regmap/regmap-sccb.c+128−0

This diff is large: its 129 lines aren’t shown here.

drivers/base/regmap/regmap-slimbus.c+7−16

This diff is large: its 41 lines aren’t shown here.

drivers/base/regmap/regmap.c+78−1

This diff is large: its 111 lines aren’t shown here.

drivers/bcma/Kconfig+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/block/DAC960.c+30−21

This diff is large: its 92 lines aren’t shown here.

drivers/block/Kconfig+1−1

This diff is large: its 14 lines aren’t shown here.

drivers/block/Makefile+4−1

This diff is large: its 13 lines aren’t shown here.

drivers/block/aoe/aoecmd.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/block/aoe/aoedev.c+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/block/brd.c+7−7

This diff is large: its 52 lines aren’t shown here.

drivers/block/drbd/drbd_int.h+0−2

This diff is large: its 13 lines aren’t shown here.

drivers/block/drbd/drbd_main.c+4−8

This diff is large: its 19 lines aren’t shown here.

drivers/block/drbd/drbd_receiver.c+4−2

This diff is large: its 34 lines aren’t shown here.

drivers/block/drbd/drbd_req.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/block/drbd/drbd_worker.c+2−4

This diff is large: its 21 lines aren’t shown here.

drivers/block/floppy.c+0−3

This diff is large: its 17 lines aren’t shown here.

drivers/block/loop.c+2−2

This diff is large: its 27 lines aren’t shown here.

drivers/block/mtip32xx/mtip32xx.c+7−25

This diff is large: its 75 lines aren’t shown here.

drivers/block/nbd.c+82−20

This diff is large: its 276 lines aren’t shown here.

drivers/block/null_blk.h+108−0

This diff is large: its 109 lines aren’t shown here.

drivers/block/null_blk_main.crenamed from drivers/block/null_blk.c+51−78

This diff is large: its 248 lines aren’t shown here.

drivers/block/null_blk_zoned.c+149−0

This diff is large: its 150 lines aren’t shown here.

drivers/block/paride/bpck.c+1−2

This diff is large: its 17 lines aren’t shown here.

drivers/block/paride/pd.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/block/pktcdvd.c+68−42

This diff is large: its 353 lines aren’t shown here.

drivers/block/rbd.c+89−38

This diff is large: its 316 lines aren’t shown here.

drivers/block/rsxx/core.c+5−16

This diff is large: its 50 lines aren’t shown here.

drivers/block/rsxx/dev.c+3−3

This diff is large: its 20 lines aren’t shown here.

drivers/block/skd_main.c+8−8

This diff is large: its 45 lines aren’t shown here.

drivers/block/xen-blkfront.c+2−7

This diff is large: its 33 lines aren’t shown here.

drivers/block/zram/zram_drv.c+29−12

This diff is large: its 124 lines aren’t shown here.

drivers/bluetooth/Kconfig+25−0

This diff is large: its 46 lines aren’t shown here.

drivers/bluetooth/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/bluetooth/bfusb.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/bluetooth/bluecard_cs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/bluetooth/bpa10x.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/bluetooth/btmrvl_sdio.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/bluetooth/btmtkuart.c+629−0

This diff is large: its 630 lines aren’t shown here.

drivers/bluetooth/btqca.c+67−56

This diff is large: its 293 lines aren’t shown here.

drivers/bluetooth/btqca.h+20−2

This diff is large: its 46 lines aren’t shown here.

drivers/bluetooth/btrtl.c+372−140

This diff is large: its 786 lines aren’t shown here.

drivers/bluetooth/btrtl.h+53−0

This diff is large: its 76 lines aren’t shown here.

drivers/bluetooth/btusb.c+67−49

This diff is large: its 355 lines aren’t shown here.

drivers/bluetooth/hci_h5.c+201−5

This diff is large: its 273 lines aren’t shown here.

drivers/bluetooth/hci_intel.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/bluetooth/hci_qca.c+430−60

This diff is large: its 646 lines aren’t shown here.

drivers/bus/Kconfig+10−0

This diff is large: its 17 lines aren’t shown here.

drivers/bus/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/bus/imx-weim.c+6−1

This diff is large: its 23 lines aren’t shown here.

drivers/bus/sun50i-de2.c+48−0

This diff is large: its 49 lines aren’t shown here.

drivers/bus/ti-sysc.c+68−4

This diff is large: its 134 lines aren’t shown here.

drivers/cdrom/cdrom.c+17−13

This diff is large: its 75 lines aren’t shown here.

drivers/char/Kconfig+14−0

This diff is large: its 18 lines aren’t shown here.

drivers/char/agp/alpha-agp.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/agp/amd64-agp.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/char/hpet.c+0−2

This diff is large: its 16 lines aren’t shown here.

drivers/char/hw_random/Kconfig+0−13

This diff is large: its 20 lines aren’t shown here.

drivers/char/hw_random/Makefile+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/char/hw_random/atmel-rng.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/char/hw_random/exynos-trng.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/char/hw_random/imx-rngc.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/char/hw_random/msm-rng.c+0−183

This diff is large: its 184 lines aren’t shown here.

drivers/char/hw_random/powernv-rng.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/char/ipmi/ipmi_si_intf.c+4−2

This diff is large: its 13 lines aren’t shown here.

drivers/char/ipmi/kcs_bmc.c+10−21

This diff is large: its 45 lines aren’t shown here.

drivers/char/mem.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/char/pcmcia/cm4000_cs.c+0−4

This diff is large: its 18 lines aren’t shown here.

drivers/char/random.c+44−15

This diff is large: its 133 lines aren’t shown here.

drivers/char/rtc.c+0−13

This diff is large: its 27 lines aren’t shown here.

drivers/char/tpm/tpm-chip.c+46−22

This diff is large: its 89 lines aren’t shown here.

drivers/char/tpm/tpm-interface.c+51−21

This diff is large: its 197 lines aren’t shown here.

drivers/char/tpm/tpm.h+20−11

This diff is large: its 70 lines aren’t shown here.

drivers/char/tpm/tpm2-cmd.c+106−152

This diff is large: its 373 lines aren’t shown here.

drivers/char/tpm/tpm2-space.c+6−6

This diff is large: its 54 lines aren’t shown here.

drivers/char/tpm/tpm_crb.c+27−74

This diff is large: its 179 lines aren’t shown here.

drivers/char/tpm/tpm_i2c_infineon.c+4−4

This diff is large: its 36 lines aren’t shown here.

drivers/char/tpm/tpm_tis_core.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/char/tpm/tpm_tis_core.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/char/tpm/tpm_tis_spi.c+8−1

This diff is large: its 23 lines aren’t shown here.

drivers/char/tpm/tpm_vtpm_proxy.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/virtio_console.c+22−38

This diff is large: its 74 lines aren’t shown here.

drivers/clk/Kconfig+6−0

This diff is large: its 13 lines aren’t shown here.

drivers/clk/Makefile+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/clk/actions/Kconfig+7−0

This diff is large: its 22 lines aren’t shown here.

drivers/clk/actions/Makefile+1−0

This diff is large: its 6 lines aren’t shown here.

drivers/clk/actions/owl-s700.c+606−0

This diff is large: its 607 lines aren’t shown here.

drivers/clk/at91/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

drivers/clk/at91/clk-i2s-mux.c+116−0

This diff is large: its 117 lines aren’t shown here.

drivers/clk/clk-aspeed.c+45−16

This diff is large: its 110 lines aren’t shown here.

drivers/clk/clk-cs2000-cp.c+1−4

This diff is large: its 14 lines aren’t shown here.

drivers/clk/clk-fixed-factor.c+8−1

This diff is large: its 17 lines aren’t shown here.

drivers/clk/clk-max9485.c+387−0

This diff is large: its 388 lines aren’t shown here.

drivers/clk/clk-scmi.c+2−3

This diff is large: its 20 lines aren’t shown here.

drivers/clk/clk-si514.c+37−1

This diff is large: its 70 lines aren’t shown here.

drivers/clk/clk-si544.c+37−1

This diff is large: its 71 lines aren’t shown here.

drivers/clk/clk.c+211−10

This diff is large: its 344 lines aren’t shown here.

drivers/clk/clkdev.c+1−4

This diff is large: its 19 lines aren’t shown here.

drivers/clk/davinci/da8xx-cfgchip.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clk/davinci/psc-da830.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/clk/davinci/psc-da850.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/clk/davinci/psc-dm365.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/clk/davinci/psc-dm644x.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/clk/davinci/psc-dm646x.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/clk/davinci/psc.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clk/imx/clk-imx51-imx53.c+15−29

This diff is large: its 86 lines aren’t shown here.

drivers/clk/imx/clk-imx6q.c+3−13

This diff is large: its 58 lines aren’t shown here.

drivers/clk/imx/clk-imx6sl.c+0−12

This diff is large: its 33 lines aren’t shown here.

drivers/clk/imx/clk-imx6sll.c+7−0

This diff is large: its 42 lines aren’t shown here.

drivers/clk/imx/clk-imx6sx.c+15−26

This diff is large: its 119 lines aren’t shown here.

drivers/clk/imx/clk-imx6ul.c+12−17

This diff is large: its 101 lines aren’t shown here.

drivers/clk/imx/clk-imx7d.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/clk/ingenic/jz4740-cgu.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/clk/meson/Kconfig+19−9

This diff is large: its 66 lines aren’t shown here.

drivers/clk/meson/Makefile+3−1

This diff is large: its 13 lines aren’t shown here.

drivers/clk/meson/axg-audio.c+845−0

This diff is large: its 846 lines aren’t shown here.

drivers/clk/meson/axg-audio.h+127−0

This diff is large: its 128 lines aren’t shown here.

drivers/clk/meson/axg.c+209−35

This diff is large: its 302 lines aren’t shown here.

drivers/clk/meson/axg.h+7−1

This diff is large: its 23 lines aren’t shown here.

drivers/clk/meson/clk-audio-divider.c+0−110

This diff is large: its 111 lines aren’t shown here.

drivers/clk/meson/clk-phase.c+63−0

This diff is large: its 64 lines aren’t shown here.

drivers/clk/meson/clk-triphase.c+68−0

This diff is large: its 69 lines aren’t shown here.

drivers/clk/meson/clkc-audio.h+28−0

This diff is large: its 29 lines aren’t shown here.

drivers/clk/meson/clkc.h+6−5

This diff is large: its 26 lines aren’t shown here.

drivers/clk/meson/gxbb.c+76−43

This diff is large: its 212 lines aren’t shown here.

drivers/clk/meson/gxbb.h+3−2

This diff is large: its 20 lines aren’t shown here.

drivers/clk/meson/sclk-div.c+243−0

This diff is large: its 244 lines aren’t shown here.

drivers/clk/mvebu/armada-37xx-periph.c+39−8

This diff is large: its 93 lines aren’t shown here.

drivers/clk/pxa/clk-pxa25x.c+4−2

This diff is large: its 13 lines aren’t shown here.

drivers/clk/pxa/clk-pxa27x.c+4−3

This diff is large: its 14 lines aren’t shown here.

drivers/clk/pxa/clk-pxa3xx.c+4−3

This diff is large: its 14 lines aren’t shown here.

drivers/clk/qcom/Kconfig+19−0

This diff is large: its 33 lines aren’t shown here.

drivers/clk/qcom/Makefile+2−0

This diff is large: its 10 lines aren’t shown here.

drivers/clk/qcom/clk-alpha-pll.c+1−9

This diff is large: its 16 lines aren’t shown here.

drivers/clk/qcom/clk-alpha-pll.h+2−12

This diff is large: its 18 lines aren’t shown here.

drivers/clk/qcom/clk-branch.c+1−9

This diff is large: its 16 lines aren’t shown here.

drivers/clk/qcom/clk-branch.h+2−12

This diff is large: its 18 lines aren’t shown here.

drivers/clk/qcom/clk-rcg.h+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/clk/qcom/clk-regmap.c+1−9

This diff is large: its 16 lines aren’t shown here.

drivers/clk/qcom/clk-regmap.h+2−12

This diff is large: its 18 lines aren’t shown here.

drivers/clk/qcom/clk-rpmh.c+329−0

This diff is large: its 330 lines aren’t shown here.

drivers/clk/qcom/common.c+1−9

This diff is large: its 16 lines aren’t shown here.

drivers/clk/qcom/common.h+3−12

This diff is large: its 19 lines aren’t shown here.

drivers/clk/qcom/dispcc-sdm845.c+685−0

This diff is large: its 686 lines aren’t shown here.

drivers/clk/qcom/gcc-apq8084.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/clk/qcom/gcc-ipq4019.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/clk/qcom/gcc-ipq806x.c+0−3

This diff is large: its 24 lines aren’t shown here.

drivers/clk/qcom/gcc-ipq8074.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/clk/qcom/gcc-mdm9615.c+0−2

This diff is large: its 16 lines aren’t shown here.

drivers/clk/qcom/gcc-msm8660.c+0−5

This diff is large: its 40 lines aren’t shown here.

drivers/clk/qcom/gcc-msm8916.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/clk/qcom/gcc-msm8960.c+0−5

This diff is large: its 40 lines aren’t shown here.

drivers/clk/qcom/gcc-msm8974.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/clk/qcom/gcc-msm8994.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/clk/qcom/gcc-msm8996.c+1−2

This diff is large: its 17 lines aren’t shown here.

drivers/clk/qcom/gcc-msm8998.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/clk/qcom/gcc-sdm845.c+39−6

This diff is large: its 122 lines aren’t shown here.

drivers/clk/qcom/mmcc-apq8084.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/clk/qcom/mmcc-msm8974.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/clk/qcom/mmcc-msm8996.c+1−2

This diff is large: its 17 lines aren’t shown here.

drivers/clk/qcom/videocc-sdm845.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/clk/renesas/Kconfig+6−0

This diff is large: its 20 lines aren’t shown here.

drivers/clk/renesas/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/clk/renesas/r8a7795-cpg-mssr.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/clk/renesas/r9a06g032-clocks.c+893−0

This diff is large: its 894 lines aren’t shown here.

drivers/clk/rockchip/Makefile+2−0

This diff is large: its 15 lines aren’t shown here.

drivers/clk/rockchip/clk-half-divider.c+227−0

This diff is large: its 228 lines aren’t shown here.

drivers/clk/rockchip/clk-px30.c+1039−0

This diff is large: its 1040 lines aren’t shown here.

drivers/clk/rockchip/clk-rk3399.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/clk/rockchip/clk.c+10−0

This diff is large: its 17 lines aren’t shown here.

drivers/clk/rockchip/clk.h+125−1

This diff is large: its 154 lines aren’t shown here.

drivers/clk/samsung/Makefile+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/clk/samsung/clk-exynos4412-isp.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/clk/samsung/clk-exynos5440.c+0−167

This diff is large: its 168 lines aren’t shown here.

drivers/clk/socfpga/clk-s10.c+7−2

This diff is large: its 30 lines aren’t shown here.

drivers/clk/sunxi-ng/Makefile+15−24

This diff is large: its 53 lines aren’t shown here.

drivers/clk/sunxi-ng/ccu-sun8i-de2.c+4−7

This diff is large: its 22 lines aren’t shown here.

drivers/clk/sunxi-ng/ccu-sun8i-r40.c+32−26

This diff is large: its 94 lines aren’t shown here.

drivers/clk/sunxi-ng/ccu-sun8i-r40.h+6−2

This diff is large: its 22 lines aren’t shown here.

drivers/clk/tegra/Makefile+2−0

This diff is large: its 13 lines aren’t shown here.

drivers/clk/tegra/clk-bpmp.c+9−3

This diff is large: its 19 lines aren’t shown here.

drivers/clk/tegra/clk-divider.c+8−27

This diff is large: its 51 lines aren’t shown here.

drivers/clk/tegra/clk-emc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clk/tegra/clk-id.h+0−2

This diff is large: its 14 lines aren’t shown here.

drivers/clk/tegra/clk-sdmmc-mux.c+251−0

This diff is large: its 252 lines aren’t shown here.

drivers/clk/tegra/clk-tegra-periph.c+0−11

This diff is large: its 26 lines aren’t shown here.

drivers/clk/tegra/clk-tegra124.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/clk/tegra/clk-tegra210.c+12−2

This diff is large: its 38 lines aren’t shown here.

drivers/clk/tegra/clk-utils.c+43−0

This diff is large: its 44 lines aren’t shown here.

drivers/clk/tegra/clk.h+30−0

This diff is large: its 51 lines aren’t shown here.

drivers/clk/ti/clk-7xx.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/clk/uniphier/clk-uniphier-peri.c+9−0

This diff is large: its 29 lines aren’t shown here.

drivers/clk/uniphier/clk-uniphier-sys.c+42−16

This diff is large: its 162 lines aren’t shown here.

drivers/clocksource/Kconfig+11−0

This diff is large: its 16 lines aren’t shown here.

drivers/clocksource/Makefile+2−1

This diff is large: its 14 lines aren’t shown here.

drivers/clocksource/arm_arch_timer.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clocksource/mtk_timer.c+0−268

This diff is large: its 269 lines aren’t shown here.

drivers/clocksource/riscv_timer.c+105−0

This diff is large: its 106 lines aren’t shown here.

drivers/clocksource/tegra20_timer.c+2−2

This diff is large: its 17 lines aren’t shown here.

drivers/clocksource/timer-atcpit100.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clocksource/timer-keystone.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clocksource/timer-mediatek.c+328−0

This diff is large: its 329 lines aren’t shown here.

drivers/clocksource/timer-sprd.c+50−0

This diff is large: its 55 lines aren’t shown here.

drivers/clocksource/timer-ti-32k.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/clocksource/zevio-timer.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/connector/connector.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/cpufreq/Kconfig.arm+0−14

This diff is large: its 21 lines aren’t shown here.

drivers/cpufreq/Makefile+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/cpufreq/armada-37xx-cpufreq.c+160−3

This diff is large: its 220 lines aren’t shown here.

drivers/cpufreq/cppc_cpufreq.c+52−0

This diff is large: its 63 lines aren’t shown here.

drivers/cpufreq/cpufreq.c+7−1

This diff is large: its 22 lines aren’t shown here.

drivers/cpufreq/cpufreq_governor.c+10−2

This diff is large: its 23 lines aren’t shown here.

drivers/cpufreq/exynos5440-cpufreq.c+0−452

This diff is large: its 453 lines aren’t shown here.

drivers/cpufreq/imx6q-cpufreq.c+21−0

This diff is large: its 56 lines aren’t shown here.

drivers/cpufreq/intel_pstate.c+48−13

This diff is large: its 128 lines aren’t shown here.

drivers/cpufreq/pcc-cpufreq.c+13−0

This diff is large: its 27 lines aren’t shown here.

drivers/cpufreq/powernv-cpufreq.c+16−4

This diff is large: its 56 lines aren’t shown here.

drivers/cpufreq/qcom-cpufreq-kryo.c+4−2

This diff is large: its 20 lines aren’t shown here.

drivers/cpuidle/cpuidle-arm.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/cpuidle/cpuidle-powernv.c+26−132

This diff is large: its 241 lines aren’t shown here.

drivers/cpuidle/governors/menu.c+28−17

This diff is large: its 93 lines aren’t shown here.

drivers/crypto/Kconfig+15−0

This diff is large: its 36 lines aren’t shown here.

drivers/crypto/Makefile+2−0

This diff is large: its 13 lines aren’t shown here.

drivers/crypto/amcc/crypto4xx_core.c+6−12

This diff is large: its 60 lines aren’t shown here.

drivers/crypto/atmel-ecc.c+22−13

This diff is large: its 83 lines aren’t shown here.

drivers/crypto/atmel-sha.c+1−3

This diff is large: its 11 lines aren’t shown here.

drivers/crypto/axis/artpec6_crypto.c+12−16

This diff is large: its 112 lines aren’t shown here.

drivers/crypto/bcm/cipher.c+3−5

This diff is large: its 29 lines aren’t shown here.

drivers/crypto/caam/caamhash.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/crypto/caam/sg_sw_qm2.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/crypto/caam/sg_sw_sec4.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/crypto/cavium/cpt/cptvf_algs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/crypto/cavium/nitrox/nitrox_lib.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/crypto/ccp/ccp-crypto-aes-cmac.c+1−2

This diff is large: its 15 lines aren’t shown here.

drivers/crypto/ccp/ccp-crypto-sha.c+1−2

This diff is large: its 15 lines aren’t shown here.

drivers/crypto/ccp/psp-dev.c+20−15

This diff is large: its 102 lines aren’t shown here.

drivers/crypto/ccp/psp-dev.h+1−18

This diff is large: its 26 lines aren’t shown here.

drivers/crypto/ccp/sp-dev.h+6−1

This diff is large: its 14 lines aren’t shown here.

drivers/crypto/ccp/sp-pci.c+30−6

This diff is large: its 69 lines aren’t shown here.

drivers/crypto/ccree/cc_aead.c+1−15

This diff is large: its 114 lines aren’t shown here.

drivers/crypto/ccree/cc_buffer_mgr.c+2−6

This diff is large: its 22 lines aren’t shown here.

drivers/crypto/ccree/cc_cipher.c+91−79

This diff is large: its 359 lines aren’t shown here.

drivers/crypto/ccree/cc_cipher.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/crypto/ccree/cc_driver.c+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/crypto/ccree/cc_driver.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/crypto/ccree/cc_hash.c+17−68

This diff is large: its 131 lines aren’t shown here.

drivers/crypto/chelsio/chcr_algo.c+2−5

This diff is large: its 30 lines aren’t shown here.

drivers/crypto/chelsio/chtls/chtls_cm.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/crypto/chelsio/chtls/chtls_hw.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/crypto/hisilicon/Kconfig+14−0

This diff is large: its 15 lines aren’t shown here.

drivers/crypto/hisilicon/Makefile+2−0

This diff is large: its 3 lines aren’t shown here.

drivers/crypto/hisilicon/sec/Makefile+3−0

This diff is large: its 4 lines aren’t shown here.

drivers/crypto/hisilicon/sec/sec_algs.c+1122−0

This diff is large: its 1123 lines aren’t shown here.

drivers/crypto/hisilicon/sec/sec_drv.c+1323−0

This diff is large: its 1324 lines aren’t shown here.

drivers/crypto/hisilicon/sec/sec_drv.h+428−0

This diff is large: its 429 lines aren’t shown here.

drivers/crypto/inside-secure/safexcel.c+304−170

This diff is large: its 822 lines aren’t shown here.

drivers/crypto/inside-secure/safexcel.h+124−77

This diff is large: its 388 lines aren’t shown here.

drivers/crypto/inside-secure/safexcel_cipher.c+402−90

This diff is large: its 849 lines aren’t shown here.

drivers/crypto/inside-secure/safexcel_hash.c+483−77

This diff is large: its 892 lines aren’t shown here.

drivers/crypto/inside-secure/safexcel_ring.c+42−21

This diff is large: its 129 lines aren’t shown here.

drivers/crypto/marvell/hash.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/crypto/mediatek/mtk-platform.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/crypto/n2_core.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/crypto/nx/nx-842-powernv.c+28−3

This diff is large: its 75 lines aren’t shown here.

drivers/crypto/nx/nx-aes-xcbc.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/crypto/nx/nx-sha256.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/crypto/nx/nx-sha512.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/crypto/omap-sham.c+12−24

This diff is large: its 120 lines aren’t shown here.

drivers/crypto/padlock-aes.c+6−2

This diff is large: its 36 lines aren’t shown here.

drivers/crypto/padlock-sha.c+2−6

This diff is large: its 36 lines aren’t shown here.

drivers/crypto/qat/qat_common/adf_aer.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/crypto/qce/core.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/crypto/qce/sha.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/crypto/qcom-rng.c+229−0

This diff is large: its 230 lines aren’t shown here.

drivers/crypto/s5p-sss.c+3−6

This diff is large: its 30 lines aren’t shown here.

drivers/crypto/sahara.c+4−6

This diff is large: its 38 lines aren’t shown here.

drivers/crypto/stm32/stm32-cryp.c+62−0

This diff is large: its 139 lines aren’t shown here.

drivers/crypto/stm32/stm32-hash.c+79−16

This diff is large: its 256 lines aren’t shown here.

drivers/crypto/stm32/stm32_crc32.c+66−6

This diff is large: its 176 lines aren’t shown here.

drivers/crypto/sunxi-ss/sun4i-ss-core.c+5−15

This diff is large: its 82 lines aren’t shown here.

drivers/crypto/talitos.c+12−25

This diff is large: its 128 lines aren’t shown here.

drivers/crypto/ux500/cryp/cryp_core.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/crypto/ux500/hash/hash_core.c+5−11

This diff is large: its 57 lines aren’t shown here.

drivers/crypto/virtio/virtio_crypto_algs.c+78−38

This diff is large: its 178 lines aren’t shown here.

drivers/crypto/virtio/virtio_crypto_common.h+22−3

This diff is large: its 45 lines aren’t shown here.

drivers/crypto/virtio/virtio_crypto_core.c+31−2

This diff is large: its 68 lines aren’t shown here.

drivers/crypto/virtio/virtio_crypto_mgr.c+75−6

This diff is large: its 120 lines aren’t shown here.

drivers/crypto/vmx/ghash.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/crypto/vmx/ghashp8-ppc.pl+6−6

This diff is large: its 28 lines aren’t shown here.

drivers/dax/device.c+57−32

This diff is large: its 205 lines aren’t shown here.

drivers/dax/pmem.c+8−4

This diff is large: its 24 lines aren’t shown here.

drivers/dax/super.c+1−2

This diff is large: its 17 lines aren’t shown here.

drivers/devfreq/devfreq.c+9−7

This diff is large: its 45 lines aren’t shown here.

drivers/devfreq/event/exynos-ppmu.c+2−4

This diff is large: its 14 lines aren’t shown here.

drivers/devfreq/rk3399_dmc.c+40−62

This diff is large: its 202 lines aren’t shown here.

drivers/devfreq/tegra-devfreq.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/dma/Kconfig+9−0

This diff is large: its 23 lines aren’t shown here.

drivers/dma/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/dma/dmaengine.c+52−24

This diff is large: its 119 lines aren’t shown here.

drivers/dma/ep93xx_dma.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/dma/hsu/hsu.c+8−0

This diff is large: its 22 lines aren’t shown here.

drivers/dma/idma64.c+8−0

This diff is large: its 22 lines aren’t shown here.

drivers/dma/imx-sdma.c+379−199

This diff is large: its 1009 lines aren’t shown here.

drivers/dma/ioat/dma.c+6−0

This diff is large: its 13 lines aren’t shown here.

drivers/dma/k3dma.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/dma/mic_x100_dma.c+1−7

This diff is large: its 29 lines aren’t shown here.

drivers/dma/mv_xor_v2.c+10−6

This diff is large: its 55 lines aren’t shown here.

drivers/dma/nbpfaxi.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/dma/owl-dma.c+971−0

This diff is large: its 972 lines aren’t shown here.

drivers/dma/pl330.c+7−7

This diff is large: its 61 lines aren’t shown here.

drivers/dma/pxa_dma.c+14−1

This diff is large: its 59 lines aren’t shown here.

drivers/dma/s3c24xx-dma.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/dma/sh/rcar-dmac.c+46−66

This diff is large: its 239 lines aren’t shown here.

drivers/dma/ste_dma40.c+13−2

This diff is large: its 49 lines aren’t shown here.

drivers/dma/stm32-dma.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/dma/stm32-mdma.c+4−4

This diff is large: its 36 lines aren’t shown here.

drivers/dma/ti/omap-dma.c+5−1

This diff is large: its 13 lines aren’t shown here.

drivers/dma/xilinx/xilinx_dma.c+22−0

This diff is large: its 64 lines aren’t shown here.

drivers/edac/altera_edac.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/edac/edac_mc.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/edac/edac_mc_sysfs.c+3−3

This diff is large: its 18 lines aren’t shown here.

drivers/edac/i7core_edac.c+15−7

This diff is large: its 53 lines aren’t shown here.

drivers/edac/sb_edac.c+12−5

This diff is large: its 75 lines aren’t shown here.

drivers/edac/thunderx_edac.c+9−5

This diff is large: its 43 lines aren’t shown here.

drivers/extcon/extcon-intel-cht-wc.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/extcon/extcon-intel-int3496.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/extcon/extcon-max3355.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/extcon/extcon-qcom-spmi-misc.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/extcon/extcon-usbc-cros-ec.c+6−16

This diff is large: its 30 lines aren’t shown here.

drivers/extcon/extcon.c+2−1

This diff is large: its 18 lines aren’t shown here.

drivers/firewire/core-cdev.c+4−4

This diff is large: its 22 lines aren’t shown here.

drivers/firmware/arm_scmi/perf.c+0−5

This diff is large: its 19 lines aren’t shown here.

drivers/firmware/efi/Kconfig+12−0

This diff is large: its 19 lines aren’t shown here.

drivers/firmware/efi/arm-init.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/firmware/efi/arm-runtime.c+10−8

This diff is large: its 36 lines aren’t shown here.

drivers/firmware/efi/cper.c+16−3

This diff is large: its 33 lines aren’t shown here.

drivers/firmware/efi/efi-bgrt.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/firmware/efi/efi.c+16−7

This diff is large: its 53 lines aren’t shown here.

drivers/firmware/efi/esrt.c+6−2

This diff is large: its 22 lines aren’t shown here.

drivers/firmware/efi/libstub/Makefile+6−2

This diff is large: its 22 lines aren’t shown here.

drivers/firmware/efi/libstub/arm-stub.c+4−28

This diff is large: its 46 lines aren’t shown here.

drivers/firmware/efi/libstub/efi-stub-helper.c+29−2

This diff is large: its 45 lines aren’t shown here.

drivers/firmware/efi/libstub/efistub.h+0−3

This diff is large: its 10 lines aren’t shown here.

drivers/firmware/efi/runtime-wrappers.c+187−15

This diff is large: its 306 lines aren’t shown here.

drivers/firmware/google/vpd.c+4−1

This diff is large: its 20 lines aren’t shown here.

drivers/firmware/psci_checker.c+49−34

This diff is large: its 116 lines aren’t shown here.

drivers/firmware/qemu_fw_cfg.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/firmware/raspberrypi.c+27−2

This diff is large: its 74 lines aren’t shown here.

drivers/fpga/Kconfig+68−0

This diff is large: its 73 lines aren’t shown here.

drivers/fpga/Makefile+14−0

This diff is large: its 18 lines aren’t shown here.

drivers/fpga/altera-cvp.c+4−2

This diff is large: its 13 lines aren’t shown here.

drivers/fpga/dfl-afu-dma-region.c+463−0

This diff is large: its 464 lines aren’t shown here.

drivers/fpga/dfl-afu-main.c+636−0

This diff is large: its 637 lines aren’t shown here.

drivers/fpga/dfl-afu-region.c+166−0

This diff is large: its 167 lines aren’t shown here.

drivers/fpga/dfl-afu.h+100−0

This diff is large: its 101 lines aren’t shown here.

drivers/fpga/dfl-fme-br.c+114−0

This diff is large: its 115 lines aren’t shown here.

drivers/fpga/dfl-fme-main.c+279−0

This diff is large: its 280 lines aren’t shown here.

drivers/fpga/dfl-fme-mgr.c+349−0

This diff is large: its 350 lines aren’t shown here.

drivers/fpga/dfl-fme-pr.c+479−0

This diff is large: its 480 lines aren’t shown here.

drivers/fpga/dfl-fme-pr.h+84−0

This diff is large: its 85 lines aren’t shown here.

drivers/fpga/dfl-fme-region.c+89−0

This diff is large: its 90 lines aren’t shown here.

drivers/fpga/dfl-fme.h+38−0

This diff is large: its 39 lines aren’t shown here.

drivers/fpga/dfl-pci.c+243−0

This diff is large: its 244 lines aren’t shown here.

drivers/fpga/dfl.c+1044−0

This diff is large: its 1045 lines aren’t shown here.

drivers/fpga/dfl.h+410−0

This diff is large: its 411 lines aren’t shown here.

drivers/fpga/fpga-mgr.c+28−0

This diff is large: its 41 lines aren’t shown here.

drivers/fpga/fpga-region.c+22−0

This diff is large: its 36 lines aren’t shown here.

drivers/fsi/Kconfig+32−0

This diff is large: its 49 lines aren’t shown here.

drivers/fsi/Makefile+2−0

This diff is large: its 7 lines aren’t shown here.

drivers/fsi/cf-fsi-fw.h+157−0

This diff is large: its 158 lines aren’t shown here.

drivers/fsi/fsi-core.c+475−115

This diff is large: its 817 lines aren’t shown here.

drivers/fsi/fsi-master-ast-cf.c+1440−0

This diff is large: its 1441 lines aren’t shown here.

drivers/fsi/fsi-master-gpio.c+338−133

This diff is large: its 860 lines aren’t shown here.

drivers/fsi/fsi-master-hub.c+3−2

This diff is large: its 19 lines aren’t shown here.

drivers/fsi/fsi-master.h+37−0

This diff is large: its 59 lines aren’t shown here.

drivers/fsi/fsi-sbefifo.c+1066−0

This diff is large: its 1067 lines aren’t shown here.

drivers/fsi/fsi-scom.c+486−72

This diff is large: its 675 lines aren’t shown here.

drivers/gnss/Kconfig+43−0

This diff is large: its 44 lines aren’t shown here.

drivers/gnss/Makefile+16−0

This diff is large: its 17 lines aren’t shown here.

drivers/gnss/core.c+420−0

This diff is large: its 421 lines aren’t shown here.

drivers/gnss/serial.c+275−0

This diff is large: its 276 lines aren’t shown here.

drivers/gnss/serial.h+47−0

This diff is large: its 48 lines aren’t shown here.

drivers/gnss/sirf.c+408−0

This diff is large: its 409 lines aren’t shown here.

drivers/gnss/ubx.c+153−0

This diff is large: its 154 lines aren’t shown here.

drivers/gpio/Kconfig+17−1

This diff is large: its 39 lines aren’t shown here.

drivers/gpio/Makefile+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/gpio/gpio-aspeed.c+368−58

This diff is large: its 739 lines aren’t shown here.

drivers/gpio/gpio-ath79.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-bcm-kona.c+4−2

This diff is large: its 17 lines aren’t shown here.

drivers/gpio/gpio-davinci.c+42−28

This diff is large: its 161 lines aren’t shown here.

drivers/gpio/gpio-dwapb.c+4−2

This diff is large: its 16 lines aren’t shown here.

drivers/gpio/gpio-em.c+4−2

This diff is large: its 17 lines aren’t shown here.

drivers/gpio/gpio-it87.c+13−0

This diff is large: its 43 lines aren’t shown here.

drivers/gpio/gpio-madera.c+206−0

This diff is large: its 207 lines aren’t shown here.

drivers/gpio/gpio-max732x.c+12−0

This diff is large: its 26 lines aren’t shown here.

drivers/gpio/gpio-menz127.c+2−2

This diff is large: its 12 lines aren’t shown here.

drivers/gpio/gpio-ml-ioh.c+2−1

This diff is large: its 12 lines aren’t shown here.

drivers/gpio/gpio-mmio.c+63−45

This diff is large: its 165 lines aren’t shown here.

drivers/gpio/gpio-mt7621.c+332−0

This diff is large: its 333 lines aren’t shown here.

drivers/gpio/gpio-mxc.c+73−0

This diff is large: its 120 lines aren’t shown here.

drivers/gpio/gpio-mxs.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/gpio/gpio-omap.c+86−2

This diff is large: its 135 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-pisosr.c+22−0

This diff is large: its 43 lines aren’t shown here.

drivers/gpio/gpio-pxa.c+30−12

This diff is large: its 89 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+9−1

This diff is large: its 31 lines aren’t shown here.

drivers/gpio/gpio-rdc321x.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-sa1100.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-sch.c+9−2

This diff is large: its 32 lines aren’t shown here.

drivers/gpio/gpio-sch311x.c+57−13

This diff is large: its 135 lines aren’t shown here.

drivers/gpio/gpio-spear-spics.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-sta2x11.c+16−25

This diff is large: its 105 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-stp-xway.c+16−2

This diff is large: its 40 lines aren’t shown here.

drivers/gpio/gpio-syscon.c+32−1

This diff is large: its 54 lines aren’t shown here.

drivers/gpio/gpio-tb10x.c+1−2

This diff is large: its 17 lines aren’t shown here.

drivers/gpio/gpio-tegra.c+11−19

This diff is large: its 76 lines aren’t shown here.

drivers/gpio/gpio-tegra186.c+74−0

This diff is large: its 95 lines aren’t shown here.

drivers/gpio/gpio-timberdale.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-uniphier.c+6−3

This diff is large: its 23 lines aren’t shown here.

drivers/gpio/gpio-vr41xx.c+7−1

This diff is large: its 18 lines aren’t shown here.

drivers/gpio/gpio-xgene-sb.c+4−2

This diff is large: its 17 lines aren’t shown here.

drivers/gpio/gpio-xilinx.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpiolib-acpi.c+62−5

This diff is large: its 163 lines aren’t shown here.

drivers/gpio/gpiolib-of.c+2−4

This diff is large: its 20 lines aren’t shown here.

drivers/gpio/gpiolib.c+57−25

This diff is large: its 194 lines aren’t shown here.

drivers/gpio/gpiolib.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu.h+24−123

This diff is large: its 269 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c+37−10

This diff is large: its 103 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c+137−47

This diff is large: its 312 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c+43−4

This diff is large: its 87 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h+10−0

This diff is large: its 31 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c+27−0

This diff is large: its 59 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c+9−0

This diff is large: its 30 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c+8−0

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c+65−62

This diff is large: its 201 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c+9−2

This diff is large: its 39 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c+14−2

This diff is large: its 38 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c+121−146

This diff is large: its 393 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.h+85−0

This diff is large: its 86 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c+4−4

This diff is large: its 22 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c+147−105

This diff is large: its 473 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c+10−13

This diff is large: its 77 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_device.c+257−127

This diff is large: its 704 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_display.c+8−3

This diff is large: its 37 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.c+5−2

This diff is large: its 22 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h+4−10

This diff is large: its 35 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c+232−24

This diff is large: its 475 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c+12−4

This diff is large: its 41 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c+6−8

This diff is large: its 61 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_gart.h+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c+4−4

This diff is large: its 36 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c+7−7

This diff is large: its 35 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c+0−5

This diff is large: its 12 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_job.c+49−30

This diff is large: its 176 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_job.h+74−0

This diff is large: its 75 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c+29−26

This diff is large: its 143 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c+38−10

This diff is large: its 127 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_object.c+67−48

This diff is large: its 317 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_object.h+7−4

This diff is large: its 40 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c+90−65

This diff is large: its 279 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c+2−3

This diff is large: its 26 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c+5−0

This diff is large: its 12 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_queue_mgr.c+12−10

This diff is large: its 61 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h+3−0

This diff is large: its 17 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c+6−15

This diff is large: its 37 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_test.c+10−2

This diff is large: its 38 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h+10−5

This diff is large: its 52 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c+89−94

This diff is large: its 436 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h+4−0

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c+95−79

This diff is large: its 358 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.h+10−6

This diff is large: its 41 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c+36−32

This diff is large: its 121 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c+20−24

This diff is large: its 133 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c+98−28

This diff is large: its 294 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h+17−0

This diff is large: its 43 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c+9−13

This diff is large: its 43 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/atom.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/ci_dpm.c+20−8

This diff is large: its 63 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/cik.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/cik_sdma.c+18−18

This diff is large: its 82 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/dce_v10_0.c+9−7

This diff is large: its 61 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/dce_v11_0.c+9−7

This diff is large: its 61 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/dce_v6_0.c+5−5

This diff is large: its 35 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/dce_v8_0.c+5−5

This diff is large: its 35 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/dce_virtual.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c+28−28

This diff is large: its 91 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c+36−36

This diff is large: its 121 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c+95−39

This diff is large: its 238 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c+100−24

This diff is large: its 265 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c+7−7

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c+39−9

This diff is large: its 111 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c+42−5

This diff is large: its 106 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c+12−5

This diff is large: its 42 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/kv_dpm.c+14−1

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/psp_v10_0.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c+10−8

This diff is large: its 69 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c+10−10

This diff is large: its 70 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c+16−14

This diff is large: its 86 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/si_dpm.c+12−13

This diff is large: its 46 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c+4−0

This diff is large: its 11 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c+6−1

This diff is large: its 28 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c+13−31

This diff is large: its 117 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c+97−34

This diff is large: its 300 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/vce_v2_0.c+8−4

This diff is large: its 48 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/vce_v3_0.c+18−11

This diff is large: its 99 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/vce_v4_0.c+19−9

This diff is large: its 96 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c+37−13

This diff is large: its 105 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/vega10_reg_init.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/vega20_reg_init.c+3−0

This diff is large: its 17 lines aren’t shown here.

drivers/gpu/drm/amd/amdgpu/vi.c+8−8

This diff is large: its 53 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/cik_event_interrupt.c+49−5

This diff is large: its 88 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/cik_int.h+4−3

This diff is large: its 23 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler.h+233−225

This diff is large: its 536 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx8.asm+15−3

This diff is large: its 50 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx9.asm+14−2

This diff is large: its 41 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_chardev.c+63−6

This diff is large: its 104 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_crat.c+46−11

This diff is large: its 90 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.h+37−0

This diff is large: its 49 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_debugfs.c+48−0

This diff is large: its 76 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_device.c+115−7

This diff is large: its 264 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c+177−106

This diff is large: its 863 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h+26−6

This diff is large: its 73 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_v9.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c+5−4

This diff is large: its 23 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.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t