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
382382 IndentCaseLabels: false
383383 #IndentPPDirectives: None # Unknown to clang-format-5.0
384384 IndentWidth: 8
385−IndentWrappedFunctionNames: true
385+IndentWrappedFunctionNames: false
386386 JavaScriptQuotes: Leave
387387 JavaScriptWrapImports: true
388388 KeepEmptyLinesAtTheStartOfBlocks: false
.mailmap+6−0
@@ -31,6 +31,8 @@ Arnaud Patard <arnaud.patard@rtp-net.org> · 30 unmodified lines
3131 Arnd Bergmann <arnd@arndb.de>
3232 Axel Dyks <xl@xlsigned.net>
3333 Axel Lin <axel.lin@gmail.com>
34+Bart Van Assche <bvanassche@acm.org> <bart.vanassche@wdc.com>
35+Bart Van Assche <bvanassche@acm.org> <bart.vanassche@sandisk.com>
3436 Ben Gardner <bgardner@wabtec.com>
3537 Ben M Cahill <ben.m.cahill@intel.com>
3638 Björn Steinbrink <B.Steinbrink@gmx.de>
@@ -81,6 +83,9 @@ Javi Merino <javi.merino@kernel.org> <javi.merino@arm.com> · 44 unmodified lines
8183 <javier@osg.samsung.com> <javier.martinez@collabora.co.uk>
8284 Jean Tourrilhes <jt@hpl.hp.com>
8385 Jeff Garzik <jgarzik@pretzel.yyz.us>
86+Jeff Layton <jlayton@kernel.org> <jlayton@redhat.com>
87+Jeff Layton <jlayton@kernel.org> <jlayton@poochiereds.net>
88+Jeff Layton <jlayton@kernel.org> <jlayton@primarydata.com>
8489 Jens Axboe <axboe@suse.de>
8590 Jens Osterkamp <Jens.Osterkamp@de.ibm.com>
8691 Johan Hovold <johan@kernel.org> <jhovold@gmail.com>
@@ -154,6 +159,7 @@ Ralf Wildenhues <Ralf.Wildenhues@gmx.de> · 67 unmodified lines
154159 Randy Dunlap <rdunlap@infradead.org> <rdunlap@xenotime.net>
155160 Rémi Denis-Courmont <rdenis@simphalempin.com>
156161 Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
162+Ross Zwisler <zwisler@kernel.org> <ross.zwisler@linux.intel.com>
157163 Rudolf Marek <R.Marek@sh.cvut.cz>
158164 Rui Saraiva <rmps@joel.ist.utl.pt>
159165 Sachin P Sant <ssant@in.ibm.com>
CREDITS+5−0
@@ -2571,6 +2571,11 @@ S: Helstorfer Str. 7 · 2570 unmodified lines
25712571 S: D-30625 Hannover
25722572 S: Germany
25732573
2574+N: Ron Minnich
2575+E: rminnich@sandia.gov
2576+E: rminnich@gmail.com
2577+D: 9p filesystem development
2578+
25742579 N: Corey Minyard
25752580 E: minyard@wf-rch.cirr.com
25762581 E: minyard@mvista.com
Documentation/ABI/obsolete/sysfs-class-typec+48−0
@@ -0,0 +1,48 @@
1+These files are deprecated and will be removed. The same files are available
2+under /sys/bus/typec (see Documentation/ABI/testing/sysfs-bus-typec).
3+
4+What: /sys/class/typec/<port|partner|cable>/<dev>/svid
5+Date: April 2017
6+Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
7+Description:
8+ The SVID (Standard or Vendor ID) assigned by USB-IF for this
9+ alternate mode.
10+
11+What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/
12+Date: April 2017
13+Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
14+Description:
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+
20+What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/description
21+Date: April 2017
22+Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
23+Description:
24+ Shows description of the mode. The description is optional for
25+ the drivers, just like with the Billboard Devices.
26+
27+What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/vdo
28+Date: April 2017
29+Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
30+Description:
31+ Shows the VDO in hexadecimal returned by Discover Modes command
32+ for this mode.
33+
34+What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/active
35+Date: April 2017
36+Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
37+Description:
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
4242 Description: The 16 bit vendor ID of the device
4343 Users: tools/hv/lsvmbus and user level RDMA libraries
4444
45+What: /sys/bus/vmbus/devices/<UUID>/numa_node
46+Date: Jul 2018
47+KernelVersion: 4.19
48+Contact: Stephen Hemminger <sthemmin@microsoft.com>
49+Description: This NUMA node to which the VMBUS device is
50+ attached, or -1 if the node is unknown.
51+
4552 What: /sys/bus/vmbus/devices/<UUID>/channels/<N>
4653 Date: September. 2017
4754 KernelVersion: 4.14
Documentation/ABI/stable/sysfs-class-rfkill+3−3
@@ -11,7 +11,7 @@ KernelVersion: v2.6.22 · 10 unmodified lines
1111 Contact: linux-wireless@vger.kernel.org,
1212 Description: The rfkill class subsystem folder.
1313 Each registered rfkill driver is represented by an rfkillX
14− subfolder (X being an integer > 0).
14+ subfolder (X being an integer >= 0).
1515
1616
1717 What: /sys/class/rfkill/rfkill[0-9]+/name
@@ -48,8 +48,8 @@ Contact: linux-wireless@vger.kernel.org · 30 unmodified lines
4848 Description: Current state of the transmitter.
4949 This file was scheduled to be removed in 2014, but due to its
5050 large number of users it will be sticking around for a bit
51− longer. Despite it being marked as stabe, the newer "hard" and
52− "soft" interfaces should be preffered, since it is not possible
51+ longer. Despite it being marked as stable, the newer "hard" and
52+ "soft" interfaces should be preferred, since it is not possible
5353 to express the 'soft and hard block' state of the rfkill driver
5454 through this interface. There will likely be another attempt to
5555 remove it in the future.
Documentation/ABI/stable/sysfs-driver-mlxreg-io+78−0
@@ -0,0 +1,78 @@
1+What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/
2+ asic_health
3+
4+Date: June 2018
5+KernelVersion: 4.19
6+Contact: Vadim Pasternak <vadimpmellanox.com>
7+Description: 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+
12+What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/
13+ cpld1_version
14+ cpld2_version
15+
16+Date: June 2018
17+KernelVersion: 4.19
18+Contact: Vadim Pasternak <vadimpmellanox.com>
19+Description: These files show with which CPLD versions have been burned
20+ on carrier and switch boards.
21+
22+ The files are read only.
23+
24+What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/select_iio
25+Date: June 2018
26+KernelVersion: 4.19
27+Contact: Vadim Pasternak <vadimpmellanox.com>
28+Description: 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+
35+What: /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
39+Date: June 2018
40+KernelVersion: 4.19
41+Contact: Vadim Pasternak <vadimpmellanox.com>
42+Description: 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+
57+What: /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
67+Date: June 2018
68+KernelVersion: 4.19
69+Contact: Vadim Pasternak <vadimpmellanox.com>
70+Description: 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
263263 is connected
264264 bmInfo - capabilities of this video streaming
265265 interface
266+
267+What: /sys/class/udc/udc.name/device/gadget/video4linux/video.name/function_name
268+Date: May 2018
269+KernelVersion: 4.19
270+Description: 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
1313 Description: Write an integer containing the size in bytes of the memory
1414 you want removed from each NUMA node to this file - it must be
1515 aligned to the memblock size. This amount of RAM will be removed
16− from the kernel mappings and the following debugfs files will be
17− created. This can only be successfully done once per boot. Once
18− memory is successfully removed from each node, the following
19− files are created.
16+ from each NUMA node in the kernel mappings and the following
17+ debugfs files will be created. Once memory is successfully
18+ removed from each node, the following files are created. To
19+ re-add memory to the kernel, echo 0 into this file (it will be
20+ automatically onlined).
2021
2122 What: /sys/kernel/debug/powerpc/memtrace/<node-id>
2223 Date: Aug 2017
Documentation/ABI/testing/procfs-diskstats+10−0
@@ -5,6 +5,7 @@ Description: · 4 unmodified lines
55 The /proc/diskstats file displays the I/O statistics
66 of block devices. Each line contains the following 14
77 fields:
8+
89 1 - major number
910 2 - minor mumber
1011 3 - device name
@@ -19,4 +20,13 @@ Description: · 8 unmodified lines
1920 12 - I/Os currently in progress
2021 13 - time spent doing I/Os (ms)
2122 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+
2232 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
8383 Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
8484 Description: (R) Indicates the capabilities of the Coresight TMC.
8585 The value is read directly from the DEVID register, 0xFC8,
86+
87+What: /sys/bus/coresight/devices/<memory_map>.tmc/buffer_size
88+Date: December 2018
89+KernelVersion: 4.19
90+Contact: Mathieu Poirier <mathieu.poirier@linaro.org>
91+Description: (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
197197 Angle of rotation. Units after application of scale and offset
198198 are radians.
199199
200+What: /sys/bus/iio/devices/iio:deviceX/in_positionrelative_x_raw
201+What: /sys/bus/iio/devices/iio:deviceX/in_positionrelative_y_raw
202+KernelVersion: 4.18
203+Contact: linux-iio@vger.kernel.org
204+Description:
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+
200212 What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_raw
201213 What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_raw
202214 What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_raw
@@ -1295,13 +1307,16 @@ What: /sys/.../iio:deviceX/in_intensityY_raw · 1092 unmodified lines
12951307 What: /sys/.../iio:deviceX/in_intensityY_ir_raw
12961308 What: /sys/.../iio:deviceX/in_intensityY_both_raw
12971309 What: /sys/.../iio:deviceX/in_intensityY_uv_raw
1310+What: /sys/.../iio:deviceX/in_intensityY_duv_raw
12981311 KernelVersion: 3.4
12991312 Contact: linux-iio@vger.kernel.org
13001313 Description:
13011314 Unit-less light intensity. Modifiers both and ir indicate
13021315 that measurements contain visible and infrared light
1303− components or just infrared light, respectively. Modifier uv indicates
1304− that measurements contain ultraviolet light components.
1316+ components or just infrared light, respectively. Modifier
1317+ uv indicates that measurements contain ultraviolet light
1318+ components. Modifier duv indicates that measurements
1319+ contain deep ultraviolet light components.
13051320
13061321 What: /sys/.../iio:deviceX/in_uvindex_input
13071322 KernelVersion: 4.6
@@ -1663,3 +1678,10 @@ KernelVersion: 4.12 · 355 unmodified lines
16631678 Contact: linux-iio@vger.kernel.org
16641679 Description:
16651680 Raw counter device counters direction for channel Y.
1681+
1682+What: /sys/bus/iio/devices/iio:deviceX/in_phaseY_raw
1683+KernelVersion: 4.18
1684+Contact: linux-iio@vger.kernel.org
1685+Description:
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 @@
1+What: /sys/bus/iio/devices/iio:deviceX/in_proximity0_agc_gain
2+What: /sys/bus/iio/devices/iio:deviceX/in_proximity0_agc_gain_bias
3+KernelVersion: 4.18
4+Contact: linux-iio@vger.kernel.org
5+Description:
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+
17+What: /sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_temp_a
18+What: /sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_temp_b
19+What: /sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_light_a
20+What: /sys/bus/iio/devices/iio:deviceX/in_proximity0_calib_phase_light_b
21+KernelVersion: 4.18
22+Contact: linux-iio@vger.kernel.org
23+Description:
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 @@
1+What: /sys/bus/iio/devices/iio:deviceX/in_intensity_ir_small_raw
2+KernelVersion: 4.18
3+Contact: linux-iio@vger.kernel.org
4+Description:
5+ Unit-less infrared intensity. The intensity is measured from 1
6+ dark photodiode. "small" indicate the surface area capturing
7+ infrared.
8+
9+What: /sys/bus/iio/devices/iio:deviceX/in_intensity_ir_large_raw
10+KernelVersion: 4.18
11+Contact: linux-iio@vger.kernel.org
12+Description:
13+ Unit-less infrared intensity. The intensity is measured from 4
14+ dark photodiodes. "large" indicate the surface area capturing
15+ infrared.
16+
17+What: /sys/bus/iio/devices/iio:deviceX/in_intensity_large_raw
18+KernelVersion: 4.18
19+Contact: linux-iio@vger.kernel.org
20+Description:
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+==========================
2+PCIe Device AER statistics
3+==========================
4+These attributes show up under all the devices that are AER capable. These
5+statistical counters indicate the errors "as seen/reported by the device".
6+Note that this may mean that if an endpoint is causing problems, the AER
7+counters may increment at its link partner (e.g. root port) because the
8+errors may be "seen" / reported by the link partner and not the
9+problematic endpoint itself (which may report all counters as 0 as it never
10+saw any problems).
11+
12+Where: /sys/bus/pci/devices/<dev>/aer_dev_correctable
13+Date: July 2018
14+Kernel Version: 4.19.0
15+Contact: linux-pci@vger.kernel.org, rajatja@google.com
16+Description: 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+-------------------------------------------------------------------------
22+localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_correctable
23+Receiver Error 2
24+Bad TLP 0
25+Bad DLLP 0
26+RELAY_NUM Rollover 0
27+Replay Timer Timeout 0
28+Advisory Non-Fatal 0
29+Corrected Internal Error 0
30+Header Log Overflow 0
31+TOTAL_ERR_COR 2
32+-------------------------------------------------------------------------
33+
34+Where: /sys/bus/pci/devices/<dev>/aer_dev_fatal
35+Date: July 2018
36+Kernel Version: 4.19.0
37+Contact: linux-pci@vger.kernel.org, rajatja@google.com
38+Description: 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+-------------------------------------------------------------------------
44+localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_fatal
45+Undefined 0
46+Data Link Protocol 0
47+Surprise Down Error 0
48+Poisoned TLP 0
49+Flow Control Protocol 0
50+Completion Timeout 0
51+Completer Abort 0
52+Unexpected Completion 0
53+Receiver Overflow 0
54+Malformed TLP 0
55+ECRC 0
56+Unsupported Request 0
57+ACS Violation 0
58+Uncorrectable Internal Error 0
59+MC Blocked TLP 0
60+AtomicOp Egress Blocked 0
61+TLP Prefix Blocked Error 0
62+TOTAL_ERR_FATAL 0
63+-------------------------------------------------------------------------
64+
65+Where: /sys/bus/pci/devices/<dev>/aer_dev_nonfatal
66+Date: July 2018
67+Kernel Version: 4.19.0
68+Contact: linux-pci@vger.kernel.org, rajatja@google.com
69+Description: 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+-------------------------------------------------------------------------
75+localhost /sys/devices/pci0000:00/0000:00:1c.0 # cat aer_dev_nonfatal
76+Undefined 0
77+Data Link Protocol 0
78+Surprise Down Error 0
79+Poisoned TLP 0
80+Flow Control Protocol 0
81+Completion Timeout 0
82+Completer Abort 0
83+Unexpected Completion 0
84+Receiver Overflow 0
85+Malformed TLP 0
86+ECRC 0
87+Unsupported Request 0
88+ACS Violation 0
89+Uncorrectable Internal Error 0
90+MC Blocked TLP 0
91+AtomicOp Egress Blocked 0
92+TLP Prefix Blocked Error 0
93+TOTAL_ERR_NONFATAL 0
94+-------------------------------------------------------------------------
95+
96+============================
97+PCIe Rootport AER statistics
98+============================
99+These attributes show up under only the rootports (or root complex event
100+collectors) 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
103+device, so these counters include them and are thus cumulative of all the error
104+messages on the PCI hierarchy originating at that root port.
105+
106+Where: /sys/bus/pci/devices/<dev>/aer_stats/aer_rootport_total_err_cor
107+Date: July 2018
108+Kernel Version: 4.19.0
109+Contact: linux-pci@vger.kernel.org, rajatja@google.com
110+Description: Total number of ERR_COR messages reported to rootport.
111+
112+Where: /sys/bus/pci/devices/<dev>/aer_stats/aer_rootport_total_err_fatal
113+Date: July 2018
114+Kernel Version: 4.19.0
115+Contact: linux-pci@vger.kernel.org, rajatja@google.com
116+Description: Total number of ERR_FATAL messages reported to rootport.
117+
118+Where: /sys/bus/pci/devices/<dev>/aer_stats/aer_rootport_total_err_nonfatal
119+Date: July 2018
120+Kernel Version: 4.19.0
121+Contact: linux-pci@vger.kernel.org, rajatja@google.com
122+Description: Total number of ERR_NONFATAL messages reported to rootport.
Documentation/ABI/testing/sysfs-bus-typec+51−0
@@ -0,0 +1,51 @@
1+What: /sys/bus/typec/devices/.../active
2+Date: July 2018
3+Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
4+Description:
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+
15+What: /sys/bus/typec/devices/.../description
16+Date: July 2018
17+Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
18+Description:
19+ Shows description of the mode. The description is optional for
20+ the drivers, just like with the Billboard Devices.
21+
22+What: /sys/bus/typec/devices/.../mode
23+Date: July 2018
24+Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
25+Description:
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+
39+What: /sys/bus/typec/devices/.../svid
40+Date: July 2018
41+Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
42+Description:
43+ The Standard or Vendor ID (SVID) assigned by USB-IF for this
44+ alternate mode.
45+
46+What: /sys/bus/typec/devices/.../vdo
47+Date: July 2018
48+Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
49+Description:
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
3535 * write complete = Doing post programming steps
3636 * write complete error = Error while doing post programming
3737 * operating = FPGA is programmed and operating
38+
39+What: /sys/class/fpga_manager/<fpga>/status
40+Date: June 2018
41+KernelVersion: 4.19
42+Contact: Wu Hao <hao.wu@intel.com>
43+Description: 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 @@
1+What: /sys/class/fpga_region/<region>/compat_id
2+Date: June 2018
3+KernelVersion: 4.19
4+Contact: Wu Hao <hao.wu@intel.com>
5+Description: 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 @@
1+What: /sys/class/gnss/gnssN/type
2+Date: May 2018
3+KernelVersion: 4.18
4+Contact: Johan Hovold <johan@kernel.org>
5+Description:
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
5454
5555 Set maximal number of pending writes
5656 per opened session.
57+
58+What: /sys/class/mei/meiN/fw_ver
59+Date: May 2018
60+KernelVersion: 4.18
61+Contact: Tomas Winkler <tomas.winkler@intel.com>
62+Description: 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
4242 network device transmit queue. Possible vaules depend on the
4343 number of available CPU(s) in the system.
4444
45+What: /sys/class/<iface>/queues/tx-<queue>/xps_rxqs
46+Date: June 2018
47+KernelVersion: 4.18.0
48+Contact: netdev@vger.kernel.org
49+Description:
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+
4556 What: /sys/class/<iface>/queues/tx-<queue>/byte_queue_limits/hold_time
4657 Date: November 2011
4758 KernelVersion: 3.3
Documentation/ABI/testing/sysfs-class-typec+2−60
@@ -222,70 +222,12 @@ Description: · 221 unmodified lines
222222 available. The value can be polled.
223223
224224
225−Alternate Mode devices.
225+USB Type-C port alternate mode devices.
226226
227−The alternate modes will have Standard or Vendor ID (SVID) assigned by USB-IF.
228−The ports, partners and cable plugs can have alternate modes. A supported SVID
229−will consist of a set of modes. Every SVID a port/partner/plug supports will
230−have a device created for it, and every supported mode for a supported SVID will
231−have its own directory under that device. Below <dev> refers to the device for
232−the alternate mode.
233−
234−What: /sys/class/typec/<port|partner|cable>/<dev>/svid
235−Date: April 2017
236−Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
237−Description:
238− The SVID (Standard or Vendor ID) assigned by USB-IF for this
239− alternate mode.
240−
241−What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/
242−Date: April 2017
243−Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
244−Description:
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−
250−What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/description
251−Date: April 2017
252−Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
253−Description:
254− Shows description of the mode. The description is optional for
255− the drivers, just like with the Billboard Devices.
256−
257−What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/vdo
258−Date: April 2017
259−Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
260−Description:
261− Shows the VDO in hexadecimal returned by Discover Modes command
262− for this mode.
263−
264−What: /sys/class/typec/<port|partner|cable>/<dev>/mode<index>/active
265−Date: April 2017
266−Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
267−Description:
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−
280−What: /sys/class/typec/<port>/<dev>/mode<index>/supported_roles
227+What: /sys/class/typec/<port>/<alt mode>/supported_roles
281228 Date: April 2017
282229 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
283230 Description:
284231 Space separated list of the supported roles.
285232
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−
291233 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
476476 /sys/devices/system/cpu/vulnerabilities/spectre_v1
477477 /sys/devices/system/cpu/vulnerabilities/spectre_v2
478478 /sys/devices/system/cpu/vulnerabilities/spec_store_bypass
479+ /sys/devices/system/cpu/vulnerabilities/l1tf
479480 Date: January 2018
480481 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
481482 Description: Information about CPU vulnerabilities
@@ -487,3 +488,26 @@ Description: Information about CPU vulnerabilities · 5 unmodified lines
487488 "Not affected" CPU is not affected by the vulnerability
488489 "Vulnerable" CPU is affected and no mitigation in effect
489490 "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+
495+What: /sys/devices/system/cpu/smt
496+ /sys/devices/system/cpu/smt/active
497+ /sys/devices/system/cpu/smt/control
498+Date: June 2018
499+Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
500+Description: 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 @@
1+What: /sys/bus/i2c/devices/.../bd9571mwv-regulator.*.auto/backup_mode
2+Date: Jul 2018
3+KernelVersion: 4.19
4+Contact: Geert Uytterhoeven <geert+renesas@glider.be>
5+Description: 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.
26+Users: 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 @@
1+What: /sys/bus/typec/devices/.../displayport/configuration
2+Date: July 2018
3+Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
4+Description:
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+
25+What: /sys/bus/typec/devices/.../displayport/pin_assignment
26+Date: July 2018
27+Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
28+Description:
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
5151 Controls the dirty page count condition for the in-place-update
5252 policies.
5353
54+What: /sys/fs/f2fs/<disk>/min_seq_blocks
55+Date: August 2018
56+Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
57+Description:
58+ Controls the dirty page count condition for batched sequential
59+ writes in ->writepages.
60+
61+
5462 What: /sys/fs/f2fs/<disk>/min_hot_blocks
5563 Date: March 2017
5664 Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
Documentation/ABI/testing/sysfs-platform-dfl-fme+23−0
@@ -0,0 +1,23 @@
1+What: /sys/bus/platform/devices/dfl-fme.0/ports_num
2+Date: June 2018
3+KernelVersion: 4.19
4+Contact: Wu Hao <hao.wu@intel.com>
5+Description: 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+
9+What: /sys/bus/platform/devices/dfl-fme.0/bitstream_id
10+Date: June 2018
11+KernelVersion: 4.19
12+Contact: Wu Hao <hao.wu@intel.com>
13+Description: 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+
17+What: /sys/bus/platform/devices/dfl-fme.0/bitstream_metadata
18+Date: June 2018
19+KernelVersion: 4.19
20+Contact: Wu Hao <hao.wu@intel.com>
21+Description: 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 @@
1+What: /sys/bus/platform/devices/dfl-port.0/id
2+Date: June 2018
3+KernelVersion: 4.19
4+Contact: Wu Hao <hao.wu@intel.com>
5+Description: 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+
9+What: /sys/bus/platform/devices/dfl-port.0/afu_id
10+Date: June 2018
11+KernelVersion: 4.19
12+Contact: Wu Hao <hao.wu@intel.com>
13+Description: 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 @@
11 00-INDEX
22 - this file
3+acpi-info.txt
4+ - info on how PCI host bridges are represented in ACPI
35 MSI-HOWTO.txt
46 - the Message Signaled Interrupts (MSI) Driver Guide HOWTO and FAQ.
57 PCIEBUS-HOWTO.txt
Documentation/PCI/acpi-info.txt+187−0
@@ -0,0 +1,187 @@
1+ ACPI considerations for PCI host bridges
2+
3+The general rule is that the ACPI namespace should describe everything the
4+OS might use unless there's another way for the OS to find it [1, 2].
5+
6+For example, there's no standard hardware mechanism for enumerating PCI
7+host bridges, so the ACPI namespace must describe each host bridge, the
8+method for accessing PCI config space below it, the address space windows
9+the host bridge forwards to PCI (using _CRS), and the routing of legacy
10+INTx interrupts (using _PRT).
11+
12+PCI devices, which are below the host bridge, generally do not need to be
13+described via ACPI. The OS can discover them via the standard PCI
14+enumeration mechanism, using config accesses to discover and identify
15+devices and read and size their BARs. However, ACPI may describe PCI
16+devices if it provides power management or hotplug functionality for them
17+or if the device has INTx interrupts connected by platform interrupt
18+controllers and a _PRT is needed to describe those connections.
19+
20+ACPI resource description is done via _CRS objects of devices in the ACPI
21+namespace [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
23+a driver for the device [3].  That's important because it means an old OS
24+can work correctly even on a system with new devices unknown to the OS.
25+The new devices might not do anything, but the OS can at least make sure no
26+resources conflict with them.
27+
28+Static tables like MCFG, HPET, ECDT, etc., are *not* mechanisms for
29+reserving address space. The static tables are for things the OS needs to
30+know early in boot, before it can parse the ACPI namespace. If a new table
31+is defined, an old OS needs to operate correctly even though it ignores the
32+table. _CRS allows that because it is generic and understood by the old
33+OS; a static table does not.
34+
35+If the OS is expected to manage a non-discoverable device described via
36+ACPI, that device will have a specific _HID/_CID that tells the OS what
37+driver to bind to it, and the _CRS tells the OS and the driver where the
38+device's registers are.
39+
40+PCI host bridges are PNP0A03 or PNP0A08 devices.  Their _CRS should
41+describe all the address space they consume.  This includes all the windows
42+they forward down to the PCI bus, as well as registers of the host bridge
43+itself that are not forwarded to PCI.  The host bridge registers include
44+things like secondary/subordinate bus registers that determine the bus
45+range below the bridge, window registers that describe the apertures, etc.
46+These are all device-specific, non-architected things, so the only way a
47+PNP0A03/PNP0A08 driver can manage them is via _PRS/_CRS/_SRS, which contain
48+the device-specific details.  The host bridge registers also include ECAM
49+space, since it is consumed by the host bridge.
50+
51+ACPI defines a Consumer/Producer bit to distinguish the bridge registers
52+("Consumer") from the bridge apertures ("Producer") [4, 5], but early
53+BIOSes didn't use that bit correctly. The result is that the current ACPI
54+spec defines Consumer/Producer only for the Extended Address Space
55+descriptors; the bit should be ignored in the older QWord/DWord/Word
56+Address Space descriptors. Consequently, OSes have to assume all
57+QWord/DWord/Word descriptors are windows.
58+
59+Prior to the addition of Extended Address Space descriptors, the failure of
60+Consumer/Producer meant there was no way to describe bridge registers in
61+the PNP0A03/PNP0A08 device itself. The workaround was to describe the
62+bridge registers (including ECAM space) in PNP0C02 catch-all devices [6].
63+With the exception of ECAM, the bridge register space is device-specific
64+anyway, so the generic PNP0A03/PNP0A08 driver (pci_root.c) has no need to
65+know about it.  
66+
67+New architectures should be able to use "Consumer" Extended Address Space
68+descriptors in the PNP0A03 device for bridge registers, including ECAM,
69+although a strict interpretation of [6] might prohibit this. Old x86 and
70+ia64 kernels assume all address space descriptors, including "Consumer"
71+Extended Address Space ones, are windows, so it would not be safe to
72+describe bridge registers this way on those architectures.
73+
74+PNP0C02 "motherboard" devices are basically a catch-all.  There's no
75+programming model for them other than "don't use these resources for
76+anything 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
78+and (2) should not be assigned by the OS to something else.
79+
80+The PCIe spec requires the Enhanced Configuration Access Method (ECAM)
81+unless there's a standard firmware interface for config access, e.g., the
82+ia64 SAL interface [7]. A host bridge consumes ECAM memory address space
83+and converts memory accesses into PCI configuration accesses. The spec
84+defines the ECAM address space layout and functionality; only the base of
85+the address space is device-specific. An ACPI OS learns the base address
86+from either the static MCFG table or a _CBA method in the PNP0A03 device.
87+
88+The MCFG table must describe the ECAM space of non-hot pluggable host
89+bridges [8]. Since MCFG is a static table and can't be updated by hotplug,
90+a _CBA method in the PNP0A03 device describes the ECAM space of a
91+hot-pluggable host bridge [9]. Note that for both MCFG and _CBA, the base
92+address 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
1515 interrupt_pin : Should be 1 - INTA, 2 - INTB, 3 - INTC, 4 -INTD
1616 msi_interrupts : Should be 1 to 32 depending on the number of MSI interrupts
1717 to test
18+msix_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
4444 * clear_bar: ops to reset the BAR
4545 * alloc_addr_space: ops to allocate in PCI controller address space
4646 * free_addr_space: ops to free the allocated address space
47− * raise_irq: ops to raise a legacy or MSI interrupt
47+ * raise_irq: ops to raise a legacy, MSI or MSI-X interrupt
4848 * start: ops to start the PCI link
4949 * stop: ops to stop the PCI link
5050
@@ -96,7 +96,7 @@ by the PCI endpoint function driver. · 45 unmodified lines
9696 *) pci_epc_raise_irq()
9797
9898 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.
100100
101101 *) pci_epc_mem_alloc_addr()
102102
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
2020 5) PCI_ENDPOINT_TEST_DST_ADDR
2121 6) PCI_ENDPOINT_TEST_SIZE
2222 7) PCI_ENDPOINT_TEST_CHECKSUM
23+ 8) PCI_ENDPOINT_TEST_IRQ_TYPE
24+ 9) PCI_ENDPOINT_TEST_IRQ_NUMBER
2325
2426 *) PCI_ENDPOINT_TEST_MAGIC
2527
@@ -34,10 +36,10 @@ that the endpoint device must perform. · 8 unmodified lines
3436 Bitfield Description:
3537 Bit 0 : raise legacy IRQ
3638 Bit 1 : raise MSI IRQ
37− Bit 2 - 7 : MSI interrupt number
38− Bit 8 : read command (read data from RC buffer)
39− Bit 9 : write command (write data to RC buffer)
40− Bit 10 : copy command (copy data from one RC buffer to another
39+ Bit 2 : raise MSI-X IRQ
40+ Bit 3 : read command (read data from RC buffer)
41+ Bit 4 : write command (write data to RC buffer)
42+ Bit 5 : copy command (copy data from one RC buffer to another
4143 RC buffer)
4244
4345 *) PCI_ENDPOINT_TEST_STATUS
@@ -64,3 +66,22 @@ COPY/READ command. · 20 unmodified lines
6466
6567 This register contains the destination address (RC buffer address) for
6668 the COPY/WRITE command.
69+
70+*) PCI_ENDPOINT_TEST_IRQ_TYPE
71+
72+This register contains the interrupt type (Legacy/MSI) triggered
73+for the READ/WRITE/COPY and raise IRQ (Legacy/MSI) commands.
74+
75+Possible types:
76+ - Legacy : 0
77+ - MSI : 1
78+ - MSI-X : 2
79+
80+*) PCI_ENDPOINT_TEST_IRQ_NUMBER
81+
82+This register contains the triggered ID interrupt.
83+
84+Admissible 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
4545 configurable fields.
4646
4747 # ls functions/pci_epf_test/func1
48− baseclass_code interrupt_pin revid subsys_vendor_id
49− cache_line_size msi_interrupts subclass_code vendorid
50− deviceid progif_code subsys_id
48+ baseclass_code interrupt_pin progif_code subsys_id
49+ cache_line_size msi_interrupts revid subsys_vendorid
50+ deviceid msix_interrupts subclass_code vendorid
5151
5252 The PCI endpoint function driver populates these entries with default values
5353 when 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
6767 # echo 0x104c > functions/pci_epf_test/func1/vendorid
6868 # echo 0xb500 > functions/pci_epf_test/func1/deviceid
6969 # echo 16 > functions/pci_epf_test/func1/msi_interrupts
70+ # echo 8 > functions/pci_epf_test/func1/msix_interrupts
7071
7172 1.5 Binding pci-epf-test Device to EP Controller
7273
@@ -120,7 +121,9 @@ following commands. · 47 unmodified lines
120121
121122 Interrupt tests
122123
124+ SET IRQ TYPE TO LEGACY: OKAY
123125 LEGACY IRQ: NOT OKAY
126+ SET IRQ TYPE TO MSI: OKAY
124127 MSI1: OKAY
125128 MSI2: OKAY
126129 MSI3: OKAY
@@ -153,9 +156,30 @@ following commands. · 26 unmodified lines
153156 MSI30: NOT OKAY
154157 MSI31: NOT OKAY
155158 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
156179
157180 Read Tests
158181
182+ SET IRQ TYPE TO MSI: OKAY
159183 READ ( 1 bytes): OKAY
160184 READ ( 1024 bytes): OKAY
161185 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
7373 the error message to root port. Pls. refer to pci express specs for
7474 other fields.
7575
76+2.4 AER Statistics / Counters
77+
78+When PCIe AER errors are captured, the counters / statistics are also exposed
79+in the form of sysfs attributes which are documented at
80+Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats
7681
7782 3. Developer Guide
7883
Documentation/RCU/Design/Data-Structures/Data-Structures.html+63−55
@@ -380,31 +380,26 @@ and therefore need no protection. · 379 unmodified lines
380380 as follows:
381381
382382 <pre>
383− 1 unsigned long gpnum;
384− 2 unsigned long completed;
383+ 1 unsigned long gp_seq;
385384 </pre>
386385
387386 <p>RCU grace periods are numbered, and
388−the <tt>-&gt;gpnum</tt> field contains the number of the grace
389−period that started most recently.
390−The <tt>-&gt;completed</tt> field contains the number of the
391−grace period that completed most recently.
392−If the two fields are equal, the RCU grace period that most recently
393−started has already completed, and therefore the corresponding
394−flavor of RCU is idle.
395−If <tt>-&gt;gpnum</tt> is one greater than <tt>-&gt;completed</tt>,
396−then <tt>-&gt;gpnum</tt> gives the number of the current RCU
397−grace period, which has not yet completed.
398−Any other combination of values indicates that something is broken.
399−These two fields are protected by the root <tt>rcu_node</tt>'s
387+the <tt>-&gt;gp_seq</tt> field contains the current grace-period
388+sequence number.
389+The bottom two bits are the state of the current grace period,
390+which can be zero for not yet started or one for in progress.
391+In other words, if the bottom two bits of <tt>-&gt;gp_seq</tt> are
392+zero, the corresponding flavor of RCU is idle.
393+Any other value in the bottom two bits indicates that something is broken.
394+This field is protected by the root <tt>rcu_node</tt> structure's
400395 <tt>-&gt;lock</tt> field.
401396
402−</p><p>There are <tt>-&gt;gpnum</tt> and <tt>-&gt;completed</tt> fields
397+</p><p>There are <tt>-&gt;gp_seq</tt> fields
403398 in the <tt>rcu_node</tt> and <tt>rcu_data</tt> structures
404399 as well.
405400 The fields in the <tt>rcu_state</tt> structure represent the
406−most current values, and those of the other structures are compared
407−in order to detect the start of a new grace period in a distributed
401+most current value, and those of the other structures are compared
402+in order to detect the beginnings and ends of grace periods in a distributed
408403 fashion.
409404 The values flow from <tt>rcu_state</tt> to <tt>rcu_node</tt>
410405 (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
512507 as follows:
513508
514509 <pre>
515− 1 unsigned long gpnum;
516− 2 unsigned long completed;
510+ 1 unsigned long gp_seq;
511+ 2 unsigned long gp_seq_needed;
517512 </pre>
518513
519−<p>These fields are the counterparts of the fields of the same name in
520−the <tt>rcu_state</tt> structure.
521−They each may lag up to one behind their <tt>rcu_state</tt>
522−counterparts.
523−If a given <tt>rcu_node</tt> structure's <tt>-&gt;gpnum</tt> and
524−<tt>-&gt;complete</tt> fields are equal, then this <tt>rcu_node</tt>
514+<p>The <tt>rcu_node</tt> structures' <tt>-&gt;gp_seq</tt> fields are
515+the counterparts of the field of the same name in the <tt>rcu_state</tt>
516+structure.
517+They each may lag up to one step behind their <tt>rcu_state</tt>
518+counterpart.
519+If 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>
525521 structure believes that RCU is idle.
526−Otherwise, as with the <tt>rcu_state</tt> structure,
527−the <tt>-&gt;gpnum</tt> field will be one greater than the
528−<tt>-&gt;complete</tt> fields, with <tt>-&gt;gpnum</tt>
529−indicating which grace period this <tt>rcu_node</tt> believes
530−is still being waited for.
522+</p><p>The <tt>&gt;gp_seq</tt> field of each <tt>rcu_node</tt>
523+structure is updated at the beginning and the end
524+of each grace period.
525+
526+<p>The <tt>-&gt;gp_seq_needed</tt> fields record the
527+furthest-in-the-future grace period request seen by the corresponding
528+<tt>rcu_node</tt> structure. The request is considered fulfilled when
529+the value of the <tt>-&gt;gp_seq</tt> field equals or exceeds that of
530+the <tt>-&gt;gp_seq_needed</tt> field.
531531
532−</p><p>The <tt>&gt;gpnum</tt> field of each <tt>rcu_node</tt>
533−structure is updated at the beginning
534−of each grace period, and the <tt>-&gt;completed</tt> fields are
535−updated at the end of each grace period.
532+<table>
533+<tr><th>&nbsp;</th></tr>
534+<tr><th align="left">Quick Quiz:</th></tr>
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>
536551
537552 <h5>Quiescent-State Tracking</h5>
538553
@@ -626,9 +641,8 @@ normal and expedited grace periods, respectively. · 87 unmodified lines
626641 </ol>
627642
628643 <p><font color="ffffff">So the locking is absolutely required in
629− order to coordinate
630− clearing of the bits with the grace-period numbers in
631− <tt>-&gt;gpnum</tt> and <tt>-&gt;completed</tt>.
644+ order to coordinate clearing of the bits with updating of the
645+ grace-period sequence number in <tt>-&gt;gp_seq</tt>.
632646 </font></td></tr>
633647 <tr><td>&nbsp;</td></tr>
634648 </table>
@@ -1038,15 +1052,15 @@ out any <tt>rcu_data</tt> structure for which this flag is not set. · 403 unmodified lines
10381052 as follows:
10391053
10401054 <pre>
1041− 1 unsigned long completed;
1042− 2 unsigned long gpnum;
1055+ 1 unsigned long gp_seq;
1056+ 2 unsigned long gp_seq_needed;
10431057 3 bool cpu_no_qs;
10441058 4 bool core_needs_qs;
10451059 5 bool gpwrap;
10461060 6 unsigned long rcu_qs_ctr_snap;
10471061 </pre>
10481062
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>
10501064 fields are the counterparts of the fields of the same name
10511065 in the <tt>rcu_state</tt> and <tt>rcu_node</tt> structures.
10521066 They 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
10541068 <tt>CONFIG_NO_HZ_FULL</tt> kernels can lag
10551069 arbitrarily far behind for CPUs in dyntick-idle mode (but these counters
10561070 will catch up upon exit from dyntick-idle mode).
1057−If a given <tt>rcu_data</tt> structure's <tt>-&gt;gpnum</tt> and
1058−<tt>-&gt;complete</tt> fields are equal, then this <tt>rcu_data</tt>
1071+If the lower two bits of a given <tt>rcu_data</tt> structure's
1072+<tt>-&gt;gp_seq</tt> are zero, then this <tt>rcu_data</tt>
10591073 structure believes that RCU is idle.
1060−Otherwise, as with the <tt>rcu_state</tt> and <tt>rcu_node</tt>
1061−structure,
1062−the <tt>-&gt;gpnum</tt> field will be one greater than the
1063−<tt>-&gt;complete</tt> fields, with <tt>-&gt;gpnum</tt>
1064−indicating which grace period this <tt>rcu_data</tt> believes
1065−is still being waited for.
10661074
10671075 <table>
10681076 <tr><th>&nbsp;</th></tr>
@@ -1070,13 +1078,13 @@ is still being waited for. · 1 unmodified line
10701078 <tr><td>
10711079 All this replication of the grace period numbers can only cause
10721080 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???
10741082 </td></tr>
10751083 <tr><th align="left">Answer:</th></tr>
10761084 <tr><td bgcolor="#ffffff"><font color="ffffff">
1077− Because if there was only a single global pair of grace-period
1085+ Because if there was only a single global sequence
10781086 numbers, there would need to be a single global lock to allow
1079− safely accessing and updating them.
1087+ safely accessing and updating it.
10801088 And if we are not going to have a single global lock, we need
10811089 to carefully manage the numbers on a per-node basis.
10821090 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
10911099 while the <tt>-&gt;core_needs_qs</tt> flag indicates that the
10921100 RCU core needs a quiescent state from the corresponding CPU.
10931101 The <tt>-&gt;gpwrap</tt> field indicates that the corresponding
1094−CPU has remained idle for so long that the <tt>completed</tt>
1095−and <tt>gpnum</tt> counters are in danger of overflow, which
1102+CPU has remained idle for so long that the
1103+<tt>gp_seq</tt> counter is in danger of overflow, which
10961104 will cause the CPU to disregard the values of its counters on
10971105 its next exit from idle.
10981106 Finally, 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
11301138 whenever it notices that another RCU grace period has completed.
11311139 The CPU detects the completion of an RCU grace period by noticing
11321140 that the value of its <tt>rcu_data</tt> structure's
1133−<tt>-&gt;completed</tt> field differs from that of its leaf
1141+<tt>-&gt;gp_seq</tt> field differs from that of its leaf
11341142 <tt>rcu_node</tt> structure.
11351143 Recall that each <tt>rcu_node</tt> structure's
1136−<tt>-&gt;completed</tt> field is updated at the end of each
1144+<tt>-&gt;gp_seq</tt> field is updated at the beginnings and ends of each
11371145 grace period.
11381146
11391147 <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
357357 grace-period initialization.
358358
359359 <p>The first ordering-related grace-period initialization action is to
360−increment the <tt>rcu_state</tt> structure's <tt>-&gt;gpnum</tt>
360+advance the <tt>rcu_state</tt> structure's <tt>-&gt;gp_seq</tt>
361361 grace-period-number counter, as shown below:
362362
363363 </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
388388
389389 <p>The final <tt>rcu_gp_init()</tt> pass through the <tt>rcu_node</tt>
390390 tree traverses breadth-first, setting each <tt>rcu_node</tt> structure's
391−<tt>-&gt;gpnum</tt> field to the newly incremented value from the
391+<tt>-&gt;gp_seq</tt> field to the newly advanced value from the
392392 <tt>rcu_state</tt> structure, as shown in the following diagram.
393393
394394 </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
398398 to notice that a new grace period has started, as described in the next
399399 section.
400400 But because the grace-period kthread started the grace period at the
401−root (with the increment of the <tt>rcu_state</tt> structure's
402−<tt>-&gt;gpnum</tt> field) before setting each leaf <tt>rcu_node</tt>
403−structure's <tt>-&gt;gpnum</tt> field, each CPU's observation of
401+root (with the advancing of the <tt>rcu_state</tt> structure's
402+<tt>-&gt;gp_seq</tt> field) before setting each leaf <tt>rcu_node</tt>
403+structure's <tt>-&gt;gp_seq</tt> field, each CPU's observation of
404404 the start of the grace period will happen after the actual start
405405 of the grace period.
406406
@@ -466,7 +466,7 @@ section that the grace period must wait on. · 59 unmodified lines
466466 <tr><td>
467467 But a RCU read-side critical section might have started
468468 after the beginning of the grace period
469− (the <tt>-&gt;gpnum++</tt> from earlier), so why should
469+ (the advancing of <tt>-&gt;gp_seq</tt> from earlier), so why should
470470 the grace period wait on such a critical section?
471471 </td></tr>
472472 <tr><th align="left">Answer:</th></tr>
@@ -609,10 +609,8 @@ states outstanding from other CPUs. · 136 unmodified lines
609609 <h4><a name="Grace-Period Cleanup">Grace-Period Cleanup</a></h4>
610610
611611 <p>Grace-period cleanup first scans the <tt>rcu_node</tt> tree
612−breadth-first setting all the <tt>-&gt;completed</tt> fields equal
613−to the number of the newly completed grace period, then it sets
614−the <tt>rcu_state</tt> structure's <tt>-&gt;completed</tt> field,
615−again to the number of the newly completed grace period.
612+breadth-first advancing all the <tt>-&gt;gp_seq</tt> fields, then it
613+advances the <tt>rcu_state</tt> structure's <tt>-&gt;gp_seq</tt> field.
616614 The ordering effects are shown below:
617615
618616 </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
634632 CPU has reported its quiescent state, but it may be some
635633 milliseconds before RCU becomes aware of this.
636634 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,
638636 but it is quite possible that some CPUs have already completed
639637 phase two of their updates by that time.
640638 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
647645 <h4><a name="Callback Invocation">Callback Invocation</a></h4>
648646
649647 <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 begin
648+<tt>-&gt;gp_seq</tt> field has been updated, that CPU can begin
651649 invoking its RCU callbacks that were waiting for this grace period
652650 to end.
653651 These 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
384384 inkscape:window-height="1144"
385385 id="namedview208"
386386 showgrid="true"
387− inkscape:zoom="0.70710678"
388− inkscape:cx="617.89017"
389− inkscape:cy="542.52419"
390− inkscape:window-x="86"
391− inkscape:window-y="28"
387+ inkscape:zoom="0.78716603"
388+ inkscape:cx="513.06403"
389+ inkscape:cy="623.1214"
390+ inkscape:window-x="102"
391+ inkscape:window-y="38"
392392 inkscape:window-maximized="0"
393393 inkscape:current-layer="g3188-3"
394394 fit-margin-top="5"
@@ -417,13 +417,15 @@ · 22 unmodified lines
417417 id="g3188">
418418 <text
419419 xml:space="preserve"
420− x="3199.1516"
420+ x="3145.9592"
421421 y="13255.592"
422422 font-style="normal"
423423 font-weight="bold"
424424 font-size="192"
425425 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>
427429 <g
428430 id="g3107"
429431 transform="translate(947.90548,11584.029)">
@@ -502,13 +504,15 @@ · 72 unmodified lines
502504 </g>
503505 <text
504506 xml:space="preserve"
505− x="5324.5371"
506− y="15414.598"
507+ x="5264.4731"
508+ y="15428.84"
507509 font-style="normal"
508510 font-weight="bold"
509511 font-size="192"
510− id="text202-753"
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>
512+ id="text202-36-7"
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>
512516 </g>
513517 <g
514518 style="fill:none;stroke-width:0.025in"
@@ -547,15 +551,6 @@ · 32 unmodified lines
547551 sodipodi:linespacing="125%"><tspan
548552 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"
549553 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>
559554 <path
560555 sodipodi:nodetypes="cc"
561556 inkscape:connector-curvature="0"
@@ -566,15 +561,6 @@ · 4 unmodified lines
566561 style="fill:none;stroke-width:0.025in"
567562 transform="translate(-737.93887,7732.6672)"
568563 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>
578564 <g
579565 id="g3107-62"
580566 transform="translate(947.90548,11584.029)">
@@ -607,15 +593,6 @@ · 26 unmodified lines
607593 sodipodi:linespacing="125%"><tspan
608594 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"
609595 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>
619596 <flowRoot
620597 xml:space="preserve"
621598 id="flowRoot3356"
@@ -627,7 +604,18 @@ · 5 unmodified lines
627604 height="63.63961"
628605 x="332.34018"
629606 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>
631619 <g
632620 style="fill:none;stroke-width:0.025in"
633621 transform="translate(-858.40227,7769.0342)"
@@ -859,6 +847,17 @@ · 225 unmodified lines
859847 id="path3414-8-3-6-6"
860848 inkscape:connector-curvature="0"
861849 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>
862861 </g>
863862 <g
864863 transform="translate(-1642.5377,-11611.245)"
@@ -887,13 +886,15 @@ · 22 unmodified lines
887886 </g>
888887 <text
889888 xml:space="preserve"
890− x="5327.3057"
889+ x="5274.1133"
891890 y="15428.84"
892891 font-style="normal"
893892 font-weight="bold"
894893 font-size="192"
895894 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>
897898 </g>
898899 <g
899900 transform="translate(-151.71746,-11647.612)"
@@ -972,13 +973,15 @@ · 72 unmodified lines
972973 id="tspan3104-6-5-6-0-92">Leaf</tspan></text>
973974 <text
974975 xml:space="preserve"
975− x="7486.4907"
976− y="17670.119"
976+ x="7408.5918"
977+ y="17619.504"
977978 font-style="normal"
978979 font-weight="bold"
979980 font-size="192"
980− id="text202-6"
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>
981+ id="text202-36-2"
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>
982985 </g>
983986 <g
984987 transform="translate(-6817.1997,-11647.612)"
@@ -1019,13 +1022,15 @@ · 34 unmodified lines
10191022 id="tspan3104-6-5-6-0-1">Leaf</tspan></text>
10201023 <text
10211024 xml:space="preserve"
1022− x="7474.1382"
1023− y="17688.926"
1025+ x="7416.8003"
1026+ y="17619.504"
10241027 font-style="normal"
10251028 font-weight="bold"
10261029 font-size="192"
1027− id="text202-5"
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>
1030+ id="text202-36-3"
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>
10291034 </g>
10301035 <path
10311036 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
10591064 id="path3414-8-3-6"
10601065 inkscape:connector-curvature="0"
10611066 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>
10711067 <g
10721068 style="fill:none;stroke-width:0.025in"
10731069 id="g4504-3-9"
@@ -1123,4 +1119,15 @@ · 49 unmodified lines
11231119 id="path3134-9-0-3-5"
11241120 d="m 6875.6003,15833.906 1595.7755,0"
11251121 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>
11261133 </svg>
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-1.svg+9−7
@@ -272,13 +272,13 @@ · 271 unmodified lines
272272 inkscape:window-height="1144"
273273 id="namedview208"
274274 showgrid="true"
275− inkscape:zoom="0.70710678"
276− inkscape:cx="617.89019"
277− inkscape:cy="636.57143"
278− inkscape:window-x="697"
275+ inkscape:zoom="2.6330492"
276+ inkscape:cx="524.82797"
277+ inkscape:cy="519.31194"
278+ inkscape:window-x="79"
279279 inkscape:window-y="28"
280280 inkscape:window-maximized="0"
281− inkscape:current-layer="svg2"
281+ inkscape:current-layer="g3188"
282282 fit-margin-top="5"
283283 fit-margin-right="5"
284284 fit-margin-left="5"
@@ -305,13 +305,15 @@ · 20 unmodified lines
305305 id="g3188">
306306 <text
307307 xml:space="preserve"
308− x="3305.5364"
308+ x="3119.363"
309309 y="13255.592"
310310 font-style="normal"
311311 font-weight="bold"
312312 font-size="192"
313313 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>
315317 <g
316318 id="g3107"
317319 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
1919 id="svg2"
2020 version="1.1"
2121 inkscape:version="0.48.4 r9939"
22− sodipodi:docname="TreeRCU-gp-init-2.svg">
22+ sodipodi:docname="TreeRCU-gp-init-3.svg">
2323 <metadata
2424 id="metadata212">
2525 <rdf:RDF>
@@ -257,18 +257,22 @@ · 231 unmodified lines
257257 inkscape:window-width="1087"
258258 inkscape:window-height="1144"
259259 id="namedview208"
260− showgrid="false"
261− inkscape:zoom="0.70710678"
260+ showgrid="true"
261+ inkscape:zoom="0.68224756"
262262 inkscape:cx="617.89019"
263263 inkscape:cy="625.84293"
264− inkscape:window-x="697"
264+ inkscape:window-x="54"
265265 inkscape:window-y="28"
266266 inkscape:window-maximized="0"
267− inkscape:current-layer="svg2"
267+ inkscape:current-layer="g3153"
268268 fit-margin-top="5"
269269 fit-margin-right="5"
270270 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>
272276 <path
273277 sodipodi:nodetypes="cccccccccccccccccccccccc"
274278 inkscape:connector-curvature="0"
@@ -281,13 +285,13 @@ · 6 unmodified lines
281285 id="g3188">
282286 <text
283287 xml:space="preserve"
284− x="3305.5364"
288+ x="3145.9592"
285289 y="13255.592"
286290 font-style="normal"
287291 font-weight="bold"
288292 font-size="192"
289293 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>
291295 <g
292296 id="g3107"
293297 transform="translate(947.90548,11584.029)">
@@ -366,13 +370,13 @@ · 72 unmodified lines
366370 </g>
367371 <text
368372 xml:space="preserve"
369− x="5392.3345"
370− y="15407.104"
373+ x="5253.6904"
374+ y="15407.032"
371375 font-style="normal"
372376 font-weight="bold"
373377 font-size="192"
374378 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>
376380 </g>
377381 <g
378382 style="fill:none;stroke-width:0.025in"
@@ -413,13 +417,13 @@ · 34 unmodified lines
413417 id="tspan3104-6-5-6-0">Leaf</tspan></text>
414418 <text
415419 xml:space="preserve"
416− x="7536.4883"
417− y="17640.934"
420+ x="7415.4365"
421+ y="17670.572"
418422 font-style="normal"
419423 font-weight="bold"
420424 font-size="192"
421425 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>
423427 </g>
424428 <g
425429 transform="translate(-1642.5375,-11610.962)"
@@ -448,13 +452,13 @@ · 22 unmodified lines
448452 </g>
449453 <text
450454 xml:space="preserve"
451− x="5378.4146"
452− y="15436.927"
455+ x="5258.0688"
456+ y="15412.313"
453457 font-style="normal"
454458 font-weight="bold"
455459 font-size="192"
456460 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>
458462 </g>
459463 <g
460464 transform="translate(-151.71726,-11647.329)"
@@ -533,13 +537,13 @@ · 72 unmodified lines
533537 id="tspan3104-6-5-6-0-92">Leaf</tspan></text>
534538 <text
535539 xml:space="preserve"
536− x="7520.1294"
537− y="17673.639"
540+ x="7405.2607"
541+ y="17670.572"
538542 font-style="normal"
539543 font-weight="bold"
540544 font-size="192"
541545 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>
543547 </g>
544548 <g
545549 transform="translate(-6817.1998,-11647.329)"
@@ -580,13 +584,13 @@ · 34 unmodified lines
580584 id="tspan3104-6-5-6-0-1">Leaf</tspan></text>
581585 <text
582586 xml:space="preserve"
583− x="7521.4663"
584− y="17666.062"
587+ x="7413.4688"
588+ y="17670.566"
585589 font-style="normal"
586590 font-weight="bold"
587591 font-size="192"
588592 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>
590594 </g>
591595 <path
592596 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
622626 sodipodi:nodetypes="cc" />
623627 <text
624628 xml:space="preserve"
625− x="7370.856"
626− y="5997.5972"
629+ x="7271.9297"
630+ y="6023.2412"
627631 font-style="normal"
628632 font-weight="bold"
629633 font-size="192"
630634 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>
632636 </svg>
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg+123−114
@@ -1070,13 +1070,13 @@ · 1069 unmodified lines
10701070 inkscape:window-height="1144"
10711071 id="namedview208"
10721072 showgrid="true"
1073− inkscape:zoom="0.6004608"
1074− inkscape:cx="826.65969"
1075− inkscape:cy="483.3047"
1076− inkscape:window-x="66"
1077− inkscape:window-y="28"
1073+ inkscape:zoom="0.81932583"
1074+ inkscape:cx="840.45848"
1075+ inkscape:cy="5052.4242"
1076+ inkscape:window-x="787"
1077+ inkscape:window-y="24"
10781078 inkscape:window-maximized="0"
1079− inkscape:current-layer="svg2"
1079+ inkscape:current-layer="g4"
10801080 fit-margin-top="5"
10811081 fit-margin-right="5"
10821082 fit-margin-left="5"
@@ -1543,15 +1543,6 @@ · 460 unmodified lines
15431543 style="fill:none;stroke-width:0.025in"
15441544 transform="translate(1749.0282,658.72243)"
15451545 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>
15551546 <g
15561547 id="g3107-62"
15571548 transform="translate(947.90548,11584.029)">
@@ -1584,6 +1575,17 @@ · 26 unmodified lines
15841575 sodipodi:linespacing="125%"><tspan
15851576 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"
15861577 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>
15871589 </g>
15881590 <rect
15891591 ry="0"
@@ -2318,15 +2320,6 @@ · 728 unmodified lines
23182320 style="fill:none;stroke-width:0.025in"
23192321 transform="translate(1739.0986,17188.625)"
23202322 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>
23302323 <g
23312324 id="g3107-5"
23322325 transform="translate(947.90548,11584.029)">
@@ -2359,6 +2352,15 @@ · 26 unmodified lines
23592352 sodipodi:linespacing="125%"><tspan
23602353 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"
23612354 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>
23622364 </g>
23632365 <g
23642366 style="fill:none;stroke-width:0.025in"
@@ -2387,13 +2389,13 @@ · 22 unmodified lines
23872389 </g>
23882390 <text
23892391 xml:space="preserve"
2390− x="5392.3345"
2391− y="15407.104"
2392+ x="5263.1094"
2393+ y="15411.646"
23922394 font-style="normal"
23932395 font-weight="bold"
23942396 font-size="192"
2395− id="text202-6-7"
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>
2397+ id="text202-92"
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>
23972399 </g>
23982400 <g
23992401 style="fill:none;stroke-width:0.025in"
@@ -2434,13 +2436,13 @@ · 34 unmodified lines
24342436 id="tspan3104-6-5-6-0-94">Leaf</tspan></text>
24352437 <text
24362438 xml:space="preserve"
2437− x="7536.4883"
2438− y="17640.934"
2439+ x="7417.4053"
2440+ y="17655.502"
24392441 font-style="normal"
24402442 font-weight="bold"
24412443 font-size="192"
2442− id="text202-9"
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>
2444+ id="text202-759"
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>
24442446 </g>
24452447 <g
24462448 transform="translate(-2353.8462,17224.992)"
@@ -2469,13 +2471,13 @@ · 22 unmodified lines
24692471 </g>
24702472 <text
24712473 xml:space="preserve"
2472− x="5378.4146"
2473− y="15436.927"
2474+ x="5246.1548"
2475+ y="15411.648"
24742476 font-style="normal"
24752477 font-weight="bold"
24762478 font-size="192"
2477− id="text202-3"
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>
2479+ id="text202-87"
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>
24792481 </g>
24802482 <g
24812483 transform="translate(-863.02613,17188.625)"
@@ -2554,13 +2556,13 @@ · 72 unmodified lines
25542556 id="tspan3104-6-5-6-0-92-6">Leaf</tspan></text>
25552557 <text
25562558 xml:space="preserve"
2557− x="7520.1294"
2558− y="17673.639"
2559+ x="7433.8257"
2560+ y="17682.098"
25592561 font-style="normal"
25602562 font-weight="bold"
25612563 font-size="192"
2562− id="text202-35"
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>
2564+ id="text202-2"
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>
25642566 </g>
25652567 <g
25662568 transform="translate(-7528.5085,17188.625)"
@@ -2601,13 +2603,13 @@ · 34 unmodified lines
26012603 id="tspan3104-6-5-6-0-1-8">Leaf</tspan></text>
26022604 <text
26032605 xml:space="preserve"
2604− x="7521.4663"
2605− y="17666.062"
2606+ x="7415.4404"
2607+ y="17682.098"
26062608 font-style="normal"
26072609 font-weight="bold"
26082610 font-size="192"
2609− id="text202-75-1"
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>
2611+ id="text202-0"
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>
26112613 </g>
26122614 <path
26132615 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
26412643 id="path3414-8-3-6-4"
26422644 inkscape:connector-curvature="0"
26432645 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>
26532646 <path
26542647 sodipodi:nodetypes="ccc"
26552648 inkscape:connector-curvature="0"
@@ -3844,7 +3837,7 @@ · 1188 unmodified lines
38443837 font-weight="bold"
38453838 font-size="192"
38463839 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>
38483841 <text
38493842 xml:space="preserve"
38503843 x="5035.4155"
@@ -4284,15 +4277,6 @@ · 433 unmodified lines
42844277 style="fill:none;stroke-width:0.025in"
42854278 transform="translate(1874.038,53203.538)"
42864279 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>
42964280 <g
42974281 id="g3107-53"
42984282 transform="translate(947.90548,11584.029)">
@@ -4325,6 +4309,17 @@ · 26 unmodified lines
43254309 sodipodi:linespacing="125%"><tspan
43264310 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"
43274311 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>
43284323 </g>
43294324 <rect
43304325 ry="0"
@@ -4371,13 +4366,15 @@ · 40 unmodified lines
43714366 </g>
43724367 <text
43734368 xml:space="preserve"
4374− x="5324.5371"
4375− y="15414.598"
4369+ x="5264.4829"
4370+ y="15411.231"
43764371 font-style="normal"
43774372 font-weight="bold"
43784373 font-size="192"
4379− id="text202-753"
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>
4374+ id="text202-36-7"
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>
43814378 </g>
43824379 <g
43834380 style="fill:none;stroke-width:0.025in"
@@ -4412,30 +4409,12 @@ · 28 unmodified lines
44124409 sodipodi:linespacing="125%"><tspan
44134410 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"
44144411 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>
44244412 <path
44254413 sodipodi:nodetypes="ccc"
44264414 inkscape:connector-curvature="0"
44274415 id="path3134-9-0-3-9"
44284416 d="m 6315.6122,72629.054 -20.9533,8108.684 1648.968,0"
44294417 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>
44394418 <g
44404419 style="fill:none;stroke-width:0.025in"
44414420 id="g3107-62-6"
@@ -4469,15 +4448,6 @@ · 27 unmodified lines
44694448 sodipodi:linespacing="125%"><tspan
44704449 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"
44714450 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>
44814451 <g
44824452 style="fill:none;stroke-width:0.025in"
44834453 transform="translate(1746.2528,60972.572)"
@@ -4736,13 +4706,15 @@ · 252 unmodified lines
47364706 </g>
47374707 <text
47384708 xml:space="preserve"
4739− x="5327.3057"
4740− y="15428.84"
4709+ x="5274.1216"
4710+ y="15411.231"
47414711 font-style="normal"
47424712 font-weight="bold"
47434713 font-size="192"
47444714 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>
47464718 </g>
47474719 <g
47484720 transform="translate(-728.08545,53203.538)"
@@ -4821,13 +4793,15 @@ · 72 unmodified lines
48214793 id="tspan3104-6-5-6-0-92-5">Leaf</tspan></text>
48224794 <text
48234795 xml:space="preserve"
4824− x="7486.4907"
4825− y="17670.119"
4796+ x="7435.1987"
4797+ y="17708.281"
48264798 font-style="normal"
48274799 font-weight="bold"
48284800 font-size="192"
4829− id="text202-6-2"
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>
4801+ id="text202-36-9"
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>
48314805 </g>
48324806 <g
48334807 transform="translate(-7393.5687,53203.538)"
@@ -4868,13 +4842,15 @@ · 34 unmodified lines
48684842 id="tspan3104-6-5-6-0-1-5">Leaf</tspan></text>
48694843 <text
48704844 xml:space="preserve"
4871− x="7474.1382"
4872− y="17688.926"
4845+ x="7416.8125"
4846+ y="17708.281"
48734847 font-style="normal"
48744848 font-weight="bold"
48754849 font-size="192"
4876− id="text202-5-1"
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>
4850+ id="text202-36-35"
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>
48784854 </g>
48794855 <path
48804856 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
49084884 id="path3414-8-3-6-67"
49094885 inkscape:connector-curvature="0"
49104886 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>
49204887 <g
49214888 style="fill:none;stroke-width:0.025in"
49224889 id="g4504-3-9-6"
@@ -5131,5 +5098,47 @@ · 208 unmodified lines
51315098 font-size="192"
51325099 id="text202-7-9-6-6-7"
51335100 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>
51345143 </g>
51355144 </svg>
Documentation/RCU/Design/Memory-Ordering/TreeRCU-qs.svg+6−6
@@ -300,13 +300,13 @@ · 299 unmodified lines
300300 inkscape:window-height="1144"
301301 id="namedview208"
302302 showgrid="true"
303− inkscape:zoom="0.70710678"
304− inkscape:cx="616.47598"
305− inkscape:cy="595.41964"
306− inkscape:window-x="813"
303+ inkscape:zoom="0.96484375"
304+ inkscape:cx="507.0191"
305+ inkscape:cy="885.62207"
306+ inkscape:window-x="47"
307307 inkscape:window-y="28"
308308 inkscape:window-maximized="0"
309− inkscape:current-layer="g4405"
309+ inkscape:current-layer="g3115"
310310 fit-margin-top="5"
311311 fit-margin-right="5"
312312 fit-margin-left="5"
@@ -710,7 +710,7 @@ · 397 unmodified lines
710710 font-weight="bold"
711711 font-size="192"
712712 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>
714714 <text
715715 xml:space="preserve"
716716 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
172172 INFO: rcu_sched detected stalls on CPUs/tasks:
173173 2-...: (3 GPs behind) idle=06c/0/0 softirq=1453/1455 fqs=0
174174 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)
176176
177177 This message indicates that CPU 32 detected that CPUs 2 and 16 were both
178178 causing 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
215215 period.
216216
217217 The "detected by" line indicates which CPU detected the stall (in this
218−case, CPU 32), how many jiffies have elapsed since the start of the
219−grace period (in this case 2603), the number of the last grace period
220−to start and to complete (7073 and 7072, respectively), and an estimate
221−of the total number of RCU callbacks queued across all CPUs (625 in
222−this case).
218+case, CPU 32), how many jiffies have elapsed since the start of the grace
219+period (in this case 2603), the grace-period sequence number (7075), and
220+an estimate of the total number of RCU callbacks queued across all CPUs
221+(625 in this case).
223222
224223 In kernels with CONFIG_RCU_FAST_NO_HZ, more information is printed
225224 for each CPU:
@@ -266,15 +265,16 @@ If the relevant grace-period kthread has been unable to run prior to · 40 unmodified lines
266265 the stall warning, as was the case in the "All QSes seen" line above,
267266 the following additional line is printed:
268267
269− kthread starved for 23807 jiffies! g7073 c7072 f0x0 RCU_GP_WAIT_FQS(3) ->state=0x1
268+ kthread starved for 23807 jiffies! g7075 f0x0 RCU_GP_WAIT_FQS(3) ->state=0x1 ->cpu=5
270269
271270 Starving the grace-period kthreads of CPU time can of course result
272271 in RCU CPU stall warnings even when all CPUs and tasks have passed
273−through the required quiescent states. The "g" and "c" numbers flag the
274−number of the last grace period started and completed, respectively,
275−the "f" precedes the ->gp_flags command to the grace-period kthread,
276−the "RCU_GP_WAIT_FQS" indicates that the kthread is waiting for a short
277−timeout, and the "state" precedes value of the task_struct ->state field.
272+through the required quiescent states. The "g" number shows the current
273+grace-period sequence number, the "f" precedes the ->gp_flags command
274+to the grace-period kthread, the "RCU_GP_WAIT_FQS" indicates that the
275+kthread is waiting for a short timeout, the "state" precedes value of the
276+task_struct ->state field, and the "cpu" indicates that the grace-period
277+kthread last ran on CPU 5.
278278
279279
280280 Multiple Warnings From One Stall
Documentation/RCU/whatisRCU.txt+12−6
@@ -588,6 +588,7 @@ It is extremely simple: · 587 unmodified lines
588588 void synchronize_rcu(void)
589589 {
590590 write_lock(&rcu_gp_mutex);
591+ smp_mb__after_spinlock();
591592 write_unlock(&rcu_gp_mutex);
592593 }
593594
@@ -609,12 +610,15 @@ don't forget about them when submitting patches making use of RCU!] · 15 unmodified lines
609610
610611 The rcu_read_lock() and rcu_read_unlock() primitive read-acquire
611612 and release a global reader-writer lock. The synchronize_rcu()
612−primitive write-acquires this same lock, then immediately releases
613−it. This means that once synchronize_rcu() exits, all RCU read-side
614−critical sections that were in progress before synchronize_rcu() was
615−called are guaranteed to have completed -- there is no way that
616−synchronize_rcu() would have been able to write-acquire the lock
617−otherwise.
613+primitive write-acquires this same lock, then releases it. This means
614+that once synchronize_rcu() exits, all RCU read-side critical sections
615+that were in progress before synchronize_rcu() was called are guaranteed
616+to have completed -- there is no way that synchronize_rcu() would have
617+been able to write-acquire the lock otherwise. The smp_mb__after_spinlock()
618+promotes synchronize_rcu() to a full memory barrier in compliance with
619+the "Memory-Barrier Guarantees" listed in:
620+
621+ Documentation/RCU/Design/Requirements/Requirements.html.
618622
619623 It is possible to nest rcu_read_lock(), since reader-writer locks may
620624 be recursively acquired. Note also that rcu_read_lock() is immune
@@ -816,11 +820,13 @@ RCU list traversal: · 195 unmodified lines
816820 list_next_rcu
817821 list_for_each_entry_rcu
818822 list_for_each_entry_continue_rcu
823+ list_for_each_entry_from_rcu
819824 hlist_first_rcu
820825 hlist_next_rcu
821826 hlist_pprev_rcu
822827 hlist_for_each_entry_rcu
823828 hlist_for_each_entry_rcu_bh
829+ hlist_for_each_entry_from_rcu
824830 hlist_for_each_entry_continue_rcu
825831 hlist_for_each_entry_continue_rcu_bh
826832 hlist_nulls_first_rcu
Documentation/acpi/dsd/data-node-references.txt+89−0
@@ -0,0 +1,89 @@
1+Copyright (C) 2018 Intel Corporation
2+Author: Sakari Ailus <sakari.ailus@linux.intel.com>
3+
4+
5+Referencing hierarchical data nodes
6+-----------------------------------
7+
8+ACPI in general allows referring to device objects in the tree only.
9+Hierarchical data extension nodes may not be referred to directly, hence this
10+document defines a scheme to implement such references.
11+
12+A reference consist of the device object name followed by one or more
13+hierarchical data extension [1] keys. Specifically, the hierarchical data
14+extension node which is referred to by the key shall lie directly under the
15+parent object i.e. either the device object or another hierarchical data
16+extension node.
17+
18+The 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-
20+or postfixes). The same ACPI object shall include the _DSD property extension
21+with a property "reg" that shall have the same numerical value as the number of
22+the node.
23+
24+In 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
27+extension key.
28+
29+
30+Example
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+
78+Please also see a graph example in graph.txt .
79+
80+References
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
3636 [3]. A port represents an interface in a device, and an endpoint
3737 represents a connection to that interface.
3838
39−All port nodes are located under the device's "_DSD" node in the
40−hierarchical data extension tree. The property extension related to
41−each port node must contain the key "port" and an integer value which
42−is the number of the port. The object it refers to should be called "PRTX",
43−where "X" is the number of the port.
44−
45−Further on, endpoints are located under the individual port nodes. The
46−first hierarchical data extension package list entry of the endpoint
47−nodes must begin with "endpoint" and must be followed by the number
48−of the endpoint. The object it refers to should be called "EPXY", where
49−"X" is the number of the port and "Y" is the number of the endpoint.
50−
51−Each port node contains a property extension key "port", the value of
52−which is the number of the port node. The each endpoint is similarly numbered
53−with a property extension key "endpoint". Port numbers must be unique within a
54−device and endpoint numbers must be unique within a port.
39+All port nodes are located under the device's "_DSD" node in the hierarchical
40+data extension tree. The data extension related to each port node must begin
41+with "port" and must be followed by the "@" character and the number of the port
42+as its key. The target object it refers to should be called "PRTX", where "X" is
43+the number of the port. An example of such a package would be:
44+
45+ Package() { "port@4", PRT4 }
46+
47+Further on, endpoints are located under the port nodes. The hierarchical
48+data extension key of the endpoint nodes must begin with
49+"endpoint" and must be followed by the "@" character and the number of the
50+endpoint. The object it refers to should be called "EPXY", where "X" is the
51+number of the port and "Y" is the number of the endpoint. An example of such a
52+package would be:
53+
54+ Package() { "endpoint@0", EP40 }
55+
56+Each port node contains a property extension key "port", the value of which is
57+the number of the port. Each endpoint is similarly numbered with a property
58+extension key "reg", the value of which is the number of the endpoint. Port
59+numbers must be unique within a device and endpoint numbers must be unique
60+within a port. If a device object may only has a single port, then the number
61+of that port shall be zero. Similarly, if a port may only have a single
62+endpoint, the number of that endpoint shall be zero.
5563
5664 The endpoint reference uses property extension with "remote-endpoint" property
5765 name followed by a reference in the same package. Such references consist of the
58−the remote device reference, number of the port in the device and finally the
59−number of the endpoint in that port. Individual references thus appear as:
66+the remote device reference, the first package entry of the port data extension
67+reference under the device and finally the first package entry of the endpoint
68+data extension reference under the port. Individual references thus appear as:
6069
61− Package() { device, port_number, endpoint_number }
70+ Package() { device, "port@X", "endpoint@Y" }
71+
72+In the above example, "X" is the number of the port and "Y" is the number of the
73+endpoint.
6274
6375 The references to endpoints must be always done both ways, to the
6476 remote endpoint and back from the referred remote endpoint node.
@@ -76,24 +88,24 @@ A simple example of this is show below: · 11 unmodified lines
7688 },
7789 ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
7890 Package () {
79− Package () { "port0", "PRT0" },
91+ Package () { "port@0", PRT0 },
8092 }
8193 })
8294 Name (PRT0, Package() {
8395 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
8496 Package () {
85− Package () { "port", 0 },
97+ Package () { "reg", 0 },
8698 },
8799 ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
88100 Package () {
89− Package () { "endpoint0", "EP00" },
101+ Package () { "endpoint@0", EP00 },
90102 }
91103 })
92104 Name (EP00, Package() {
93105 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
94106 Package () {
95− Package () { "endpoint", 0 },
96− Package () { "remote-endpoint", Package() { \_SB.PCI0.ISP, 4, 0 } },
107+ Package () { "reg", 0 },
108+ Package () { "remote-endpoint", Package() { \_SB.PCI0.ISP, "port@4", "endpoint@0" } },
97109 }
98110 })
99111 }
@@ -106,26 +118,26 @@ A simple example of this is show below: · 6 unmodified lines
106118 Name (_DSD, Package () {
107119 ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
108120 Package () {
109− Package () { "port4", "PRT4" },
121+ Package () { "port@4", PRT4 },
110122 }
111123 })
112124
113125 Name (PRT4, Package() {
114126 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
115127 Package () {
116− Package () { "port", 4 }, /* CSI-2 port number */
128+ Package () { "reg", 4 }, /* CSI-2 port number */
117129 },
118130 ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"),
119131 Package () {
120− Package () { "endpoint0", "EP40" },
132+ Package () { "endpoint@0", EP40 },
121133 }
122134 })
123135
124136 Name (EP40, Package() {
125137 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
126138 Package () {
127− Package () { "endpoint", 0 },
128− Package () { "remote-endpoint", Package () { \_SB.PCI0.I2C2.CAM0, 0, 0 } },
139+ Package () { "reg", 0 },
140+ Package () { "remote-endpoint", Package () { \_SB.PCI0.I2C2.CAM0, "port@0", "endpoint@0" } },
129141 }
130142 })
131143 }
@@ -151,7 +163,7 @@ References · 19 unmodified lines
151163 referenced 2016-10-04.
152164
153165 [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>,
155167 referenced 2016-10-04.
156168
157169 [6] Advanced Configuration and Power Interface Specification.
Documentation/admin-guide/README.rst+2−0
@@ -1,3 +1,5 @@
1+.. _readme:
2+
13 Linux kernel release 4.x <http://kernel.org/>
24 =============================================
35
Documentation/admin-guide/cgroup-v2.rst+106−4
@@ -51,6 +51,9 @@ v1 is available under Documentation/cgroup-v1/. · 50 unmodified lines
5151 5-3. IO
5252 5-3-1. IO Interface Files
5353 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
5457 5-4. PID
5558 5-4-1. PID Interface Files
5659 5-5. Device
@@ -1069,6 +1072,24 @@ PAGE_SIZE multiple when read back. · 1012 unmodified lines
10691072 high limit is used and monitored properly, this limit's
10701073 utility is limited to providing the final safety net.
10711074
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+
10721093 memory.events
10731094 A read-only flat-keyed file which exists on non-root cgroups.
10741095 The following entries are defined. Unless specified
@@ -1314,17 +1335,19 @@ IO Interface Files · 239 unmodified lines
13141335 Lines are keyed by $MAJ:$MIN device numbers and not ordered.
13151336 The following nested keys are defined.
13161337
1317− ====== ===================
1338+ ====== =====================
13181339 rbytes Bytes read
13191340 wbytes Bytes written
13201341 rios Number of read IOs
13211342 wios Number of write IOs
1322− ====== ===================
1343+ dbytes Bytes discarded
1344+ dios Number of discard IOs
1345+ ====== =====================
13231346
13241347 An example read output follows:
13251348
1326− 8:16 rbytes=1459200 wbytes=314773504 rios=192 wios=353
1327− 8:0 rbytes=90430464 wbytes=299008000 rios=8950 wios=1252
1349+ 8:16 rbytes=1459200 wbytes=314773504 rios=192 wios=353 dbytes=0 dios=0
1350+ 8:0 rbytes=90430464 wbytes=299008000 rios=8950 wios=1252 dbytes=50331648 dios=3021
13281351
13291352 io.weight
13301353 A read-write flat-keyed file which exists on non-root cgroups.
@@ -1446,6 +1469,85 @@ writeback as follows. · 115 unmodified lines
14461469 vm.dirty[_background]_ratio.
14471470
14481471
1472+IO Latency
1473+~~~~~~~~~~
1474+
1475+This is a cgroup v2 controller for IO workload protection. You provide a group
1476+with a latency target, and if the average latency exceeds that target the
1477+controller will throttle any peers that have a lower latency target than the
1478+protected workload.
1479+
1480+The limits are only applied at the peer level in the hierarchy. This means that
1481+in the diagram below, only groups A, B, and C will influence each other, and
1482+groups 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+
1491+So the ideal way to configure this is to set io.latency in groups A, B, and C.
1492+Generally you do not want to set a value lower than the latency your device
1493+supports. Experiment to find the value that works best for your workload.
1494+Start at higher than the expected latency for your device and watch the
1495+avg_lat value in io.stat for your workload group to get an idea of the
1496+latency you see during normal operation. Use the avg_lat value as a basis for
1497+your real setting, setting at 10-15% higher than the value in io.stat.
1498+
1499+How IO Latency Throttling Works
1500+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1501+
1502+io.latency is work conserving; so as long as everybody is meeting their latency
1503+target the controller doesn't do anything. Once a group starts missing its
1504+target it begins throttling any peer group that has a higher target than itself.
1505+This 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+
1521+Once the victimized group starts meeting its latency target again it will start
1522+unthrottling any peer groups that were throttled previously. If the victimized
1523+group simply stops doing IO the global counter will unthrottle appropriately.
1524+
1525+IO 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+
14491551 PID
14501552 ---
14511553
Documentation/admin-guide/devices.txt+10−6
@@ -173,14 +173,18 @@ · 172 unmodified lines
173173 they are redirected through the parport multiplex layer.
174174
175175 7 char Virtual console capture devices
176− 0 = /dev/vcs Current vc text contents
177− 1 = /dev/vcs1 tty1 text contents
176+ 0 = /dev/vcs Current vc text (glyph) contents
177+ 1 = /dev/vcs1 tty1 text (glyph) contents
178178 ...
179− 63 = /dev/vcs63 tty63 text contents
180− 128 = /dev/vcsa Current vc text/attribute contents
181− 129 = /dev/vcsa1 tty1 text/attribute contents
179+ 63 = /dev/vcs63 tty63 text (glyph) contents
180+ 64 = /dev/vcsu Current vc text (unicode) contents
181+ 65 = /dev/vcsu1 tty1 text (unicode) contents
182182 ...
183− 191 = /dev/vcsa63 tty63 text/attribute contents
183+ 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
184188
185189 NOTE: These devices permit both read and write access.
186190
Documentation/admin-guide/index.rst+9−0
@@ -17,6 +17,15 @@ etc. · 16 unmodified lines
1717 kernel-parameters
1818 devices
1919
20+This section describes CPU vulnerabilities and provides an overview of the
21+possible mitigations along with guidance for selecting mitigations if they
22+are configurable at compile, boot or run time.
23+
24+.. toctree::
25+ :maxdepth: 1
26+
27+ l1tf
28+
2029 Here is a set of documents aimed at users who are trying to track down
2130 problems and bugs in particular.
2231
Documentation/admin-guide/kernel-parameters.txt+172−16
@@ -748,6 +748,14 @@ · 747 unmodified lines
748748
749749 debug [KNL] Enable kernel debugging (events log level).
750750
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+
751759 debug_locks_verbose=
752760 [KNL] verbose self-tests
753761 Format=<0|1>
@@ -804,6 +812,15 @@ · 50 unmodified lines
804812 Defaults to the default architecture's huge page size
805813 if not specified.
806814
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+
807824 dhash_entries= [KNL]
808825 Set number of hash buckets for dentry cache.
809826
@@ -816,6 +833,17 @@ · 6 unmodified lines
816833 disable= [IPV6]
817834 See Documentation/networking/ipv6.txt.
818835
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+
819847 disable_radix [PPC]
820848 Disable RADIX MMU mode on POWER9
821849
@@ -1716,7 +1744,8 @@ · 894 unmodified lines
17161744 merge
17171745 nomerge
17181746 soft
1719− pt [x86, IA-64]
1747+ pt [x86]
1748+ nopt [x86]
17201749 nobypass [PPC/POWERNV]
17211750 Disable IOMMU bypass, using IOMMU for PCI devices.
17221751
@@ -1967,10 +1996,84 @@ · 244 unmodified lines
19671996 (virtualized real and unpaged mode) on capable
19681997 Intel chips. Default is 1 (enabled)
19691998
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+
19702011 kvm-intel.vpid= [KVM,Intel] Disable Virtual Processor Identification
19712012 feature (tagged TLBs) on capable Intel chips.
19722013 Default is 1 (enabled)
19732014
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+
19742077 l2cr= [PPC]
19752078
19762079 l3cr= [PPC]
@@ -2687,6 +2790,14 @@ · 710 unmodified lines
26872790 nosmt [KNL,S390] Disable symmetric multithreading (SMT).
26882791 Equivalent to smt=1.
26892792
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+
26902801 nospectre_v2 [X86] Disable all mitigations for the Spectre variant 2
26912802 (indirect branch prediction) vulnerability. System may
26922803 allow data leaks with this option, which is equivalent
@@ -2835,8 +2946,6 @@ · 142 unmodified lines
28352946
28362947 nosync [HW,M68K] Disables sync negotiation for all devices.
28372948
2838− notsc [BUGS=X86-32] Disable Time Stamp Counter
2839−
28402949 nowatchdog [KNL] Disable both lockup detectors, i.e.
28412950 soft-lockup and NMI watchdog (hard-lockup).
28422951
@@ -2933,8 +3042,9 @@ · 90 unmodified lines
29333042 on: enable the feature
29343043
29353044 page_poison= [KNL] Boot-time parameter changing the state of
2936− poisoning on the buddy allocator.
2937− off: turn off poisoning
3045+ poisoning on the buddy allocator, available with
3046+ CONFIG_PAGE_POISONING=y.
3047+ off: turn off poisoning (default)
29383048 on: turn on poisoning
29393049
29403050 panic= [KNL] Kernel behaviour on panic: delay <timeout>
@@ -2994,8 +3104,31 @@ · 53 unmodified lines
29943104 See header of drivers/block/paride/pcd.c.
29953105 See also Documentation/blockdev/paride.txt.
29963106
2997− pci=option[,option...] [PCI] various PCI subsystem options:
2998− earlydump [X86] dump PCI config space before the kernel
3107+ pci=option[,option...] [PCI] various PCI subsystem options.
3108+
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
29993132 changes anything
30003133 off [X86] don't probe for the PCI bus
30013134 bios [X86-32] force use of PCI BIOS, don't access
@@ -3123,11 +3256,10 @@ · 121 unmodified lines
31233256 window. The default value is 64 megabytes.
31243257 resource_alignment=
31253258 Format:
3126− [<order of align>@][<domain>:]<bus>:<slot>.<func>[; ...]
3127− [<order of align>@]pci:<vendor>:<device>\
3128− [:<subvendor>:<subdevice>][; ...]
3259+ [<order of align>@]<pci_dev>[; ...]
31293260 Specifies alignment and device to reassign
3130− aligned memory resources.
3261+ aligned memory resources. How to
3262+ specify the device is described above.
31313263 If <order of align> is not specified,
31323264 PAGE_SIZE is used as alignment.
31333265 PCI-PCI bridge can be specified, if resource
@@ -3170,6 +3302,15 @@ · 36 unmodified lines
31703302 Adding the window is slightly risky (it may
31713303 conflict with unreported devices), so this
31723304 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.
31733314
31743315 pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power
31753316 Management.
@@ -3632,8 +3773,8 @@ · 456 unmodified lines
36323773 Set time (s) after boot for CPU-hotplug testing.
36333774
36343775 rcutorture.onoff_interval= [KNL]
3635− Set time (s) between CPU-hotplug operations, or
3636− zero to disable CPU-hotplug testing.
3776+ Set time (jiffies) between CPU-hotplug operations,
3777+ or zero to disable CPU-hotplug testing.
36373778
36383779 rcutorture.shuffle_interval= [KNL]
36393780 Set task-shuffle interval (s). Shuffling tasks
@@ -4060,6 +4201,8 @@ · 420 unmodified lines
40604201 This parameter controls whether the Speculative Store
40614202 Bypass optimization is used.
40624203
4204+ On x86 the options are:
4205+
40634206 on - Unconditionally disable Speculative Store Bypass
40644207 off - Unconditionally enable Speculative Store Bypass
40654208 auto - Kernel detects whether the CPU model contains an
@@ -4075,12 +4218,20 @@ · 9 unmodified lines
40754218 seccomp - Same as "prctl" above, but all seccomp threads
40764219 will disable SSB unless they explicitly opt out.
40774220
4078− Not specifying this option is equivalent to
4079− spec_store_bypass_disable=auto.
4080−
40814221 Default mitigations:
40824222 X86: If CONFIG_SECCOMP=y "seccomp", otherwise "prctl"
40834223
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+
40844235 spia_io_base= [HW,MTD]
40854236 spia_fio_base=
40864237 spia_pedr=
@@ -4846,3 +4997,8 @@ · 759 unmodified lines
48464997 xirc2ps_cs= [NET,PCMCIA]
48474998 Format:
48484999 <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 @@
1+L1TF - L1 Terminal Fault
2+========================
3+
4+L1 Terminal Fault is a hardware vulnerability which allows unprivileged
5+speculative access to data which is available in the Level 1 Data Cache
6+when the page table entry controlling the virtual address, which is used
7+for the access, has the Present bit cleared or other reserved bits set.
8+
9+Affected processors
10+-------------------
11+
12+This vulnerability affects a wide range of Intel processors. The
13+vulnerability 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+
29+Whether a processor is affected or not can be read out from the L1TF
30+vulnerability file in sysfs. See :ref:`l1tf_sys_info`.
31+
32+Related CVEs
33+------------
34+
35+The 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+
43+Problem
44+-------
45+
46+If an instruction accesses a virtual address for which the relevant page
47+table entry (PTE) has the Present bit cleared or other reserved bits set,
48+then speculative execution ignores the invalid PTE and loads the referenced
49+data if it is present in the Level 1 Data Cache, as if the page referenced
50+by the address bits in the PTE was still present and accessible.
51+
52+While this is a purely speculative mechanism and the instruction will raise
53+a page fault when it is retired eventually, the pure act of loading the
54+data and making it available to other speculative instructions opens up the
55+opportunity for side channel attacks to unprivileged malicious code,
56+similar to the Meltdown attack.
57+
58+While Meltdown breaks the user space to kernel space protection, L1TF
59+allows to attack any physical memory address in the system and the attack
60+works across all protection domains. It allows an attack of SGX and also
61+works from inside virtual machines because the speculation bypasses the
62+extended page table (EPT) protection mechanism.
63+
64+
65+Attack scenarios
66+----------------
67+
68+1. 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+
86+2. 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+
119+L1TF system information
120+-----------------------
121+
122+The Linux kernel provides a sysfs interface to enumerate the current L1TF
123+status of the system: whether the system is vulnerable, and which
124+mitigations are active. The relevant sysfs file is:
125+
126+/sys/devices/system/cpu/vulnerabilities/l1tf
127+
128+The 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+
135+If KVM/VMX is enabled and the processor is vulnerable then the following
136+information 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+
155+The resulting grade of protection is discussed in the following sections.
156+
157+
158+Host mitigation mechanism
159+-------------------------
160+
161+The kernel is unconditionally protected against L1TF attacks from malicious
162+user space running on the host.
163+
164+
165+Guest mitigation mechanisms
166+---------------------------
167+
168+.. _l1d_flush:
169+
170+1. 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+
215+2. 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+
248+3. 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+
275+4. 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+
348+5. 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+
359+There is ongoing research and development for new mitigation mechanisms to
360+address the performance impact of disabling SMT or EPT.
361+
362+.. _mitigation_control_command_line:
363+
364+Mitigation control on the kernel command line
365+---------------------------------------------
366+
367+The kernel command line allows to control the L1TF mitigations at boot
368+time 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+
410+The default is 'flush'. For details about L1D flushing see :ref:`l1d_flush`.
411+
412+
413+.. _mitigation_control_kvm:
414+
415+Mitigation control for KVM - module parameter
416+-------------------------------------------------------------
417+
418+The KVM hypervisor mitigation mechanism, flushing the L1D cache when
419+entering a guest, can be controlled with a module parameter.
420+
421+The option/parameter is "kvm-intel.vmentry_l1d_flush=". It takes the
422+following 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+
435+The parameter can be provided on the kernel command line, as a module
436+parameter when loading the modules and at runtime modified via the sysfs
437+file:
438+
439+/sys/module/kvm_intel/parameters/vmentry_l1d_flush
440+
441+The default is 'cond'. If 'l1tf=full,force' is given on the kernel command
442+line, then 'always' is enforced and the kvm-intel.vmentry_l1d_flush
443+module parameter is ignored and writes to the sysfs file are rejected.
444+
445+
446+Mitigation selection guide
447+--------------------------
448+
449+1. No virtualization in use
450+^^^^^^^^^^^^^^^^^^^^^^^^^^^
451+
452+ The system is protected by the kernel unconditionally and no further
453+ action is required.
454+
455+2. 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+
468+3. Virtualization with untrusted guests
469+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
470+
471+3.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+
480+3.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+
489+3.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+
522+The above three mitigation methods combined can provide protection to a
523+certain degree, but the risk of the remaining attack surface has to be
524+carefully analyzed. For full protection the following methods are
525+available:
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+
549+3.4. Nested virtual machines
550+""""""""""""""""""""""""""""
551+
552+When nested virtualization is in use, three operating systems are involved:
553+the bare metal hypervisor, the nested hypervisor and the nested virtual
554+machine. VMENTER operations from the nested hypervisor into the nested
555+guest will always be processed by the bare metal hypervisor. If KVM is the
556+bare 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+
573+Default 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
6565 are not reclaimable, he or she can filter them out using
6666 ``/proc/kpageflags``.
6767
68+The page-types tool in the tools/vm directory can be used to assist in this.
69+If the tool is run initially with the appropriate option, it will mark all the
70+queried pages as idle. Subsequent runs of the tool can then show which pages have
71+their idle flag cleared in the interim.
72+
6873 See :ref:`Documentation/admin-guide/mm/pagemap.rst <pagemap>` for more
6974 information about ``/proc/pid/pagemap``, ``/proc/kpageflags``, and
7075 ``/proc/kpagecgroup``.
Documentation/admin-guide/mm/pagemap.rst+3−0
@@ -44,6 +44,9 @@ There are four components to pagemap: · 43 unmodified lines
4444 * ``/proc/kpagecount``. This file contains a 64-bit count of the number of
4545 times each page is mapped, indexed by PFN.
4646
47+The page-types tool in the tools/vm directory can be used to query the
48+number of times a page is mapped.
49+
4750 * ``/proc/kpageflags``. This file contains a 64-bit set of flags for each
4851 page, indexed by PFN.
4952
Documentation/block/null_blk.txt+7−0
@@ -85,3 +85,10 @@ shared_tags=[0/1]: Default: 0 · 84 unmodified lines
8585 0: Tag set is not shared.
8686 1: Tag set shared between devices for blk-mq. Only makes sense with
8787 nr_devices > 1, otherwise there's no tag set to share.
88+
89+zoned=[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+
93+zone_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
3131 in_flight requests number of I/Os currently in flight
3232 io_ticks milliseconds total time this block device has been active
3333 time_in_queue milliseconds total wait time for all requests
34+discard I/Os requests number of discard I/Os processed
35+discard merges requests number of discard I/Os merged with in-queue I/O
36+discard sectors sectors number of sectors discarded
37+discard ticks milliseconds total wait time for discard requests
3438
35−read I/Os, write I/Os
36−=====================
39+read I/Os, write I/Os, discard I/0s
40+===================================
3741
3842 These values increment when an I/O request completes.
3943
40−read merges, write merges
41−=========================
44+read merges, write merges, discard merges
45+=========================================
4246
4347 These values increment when an I/O request is merged with an
4448 already-queued I/O request.
4549
46−read sectors, write sectors
47−===========================
50+read sectors, write sectors, discard_sectors
51+============================================
4852
49−These values count the number of sectors read from or written to this
50−block device. The "sectors" in question are the standard UNIX 512-byte
51−sectors, not any device- or filesystem-specific block size. The
52−counters are incremented when the I/O completes.
53+These values count the number of sectors read from, written to, or
54+discarded from this block device. The "sectors" in question are the
55+standard UNIX 512-byte sectors, not any device- or filesystem-specific
56+block size. The counters are incremented when the I/O completes.
5357
54−read ticks, write ticks
55−=======================
58+read ticks, write ticks, discard ticks
59+======================================
5660
5761 These values count the number of milliseconds that I/O requests have
5862 waited 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
106106 net-next are both run by David S. Miller. From there, they will go
107107 into the kernel mainline tree run by Linus Torvalds. To read up on the
108108 process of net and net-next being merged into the mainline tree, see
109−the `netdev FAQ`_ under:
109+the :ref:`netdev-FAQ`
110+
110111
111− `Documentation/networking/netdev-FAQ.txt`_
112112
113113 Occasionally, to prevent merge conflicts, we might send pull requests
114114 to other trees (e.g. tracing) with a small subset of the patches, but
@@ -125,8 +125,8 @@ request):: · 10 unmodified lines
125125 Q: How do I indicate which tree (bpf vs. bpf-next) my patch should be applied to?
126126 ---------------------------------------------------------------------------------
127127
128−A: The process is the very same as described in the `netdev FAQ`_, so
129−please read up on it. The subject line must indicate whether the
128+A: The process is the very same as described in the :ref:`netdev-FAQ`,
129+so please read up on it. The subject line must indicate whether the
130130 patch is a fix or rather "next-like" content in order to let the
131131 maintainers know whether it is targeted at bpf or bpf-next.
132132
@@ -184,7 +184,7 @@ ii) run extensive BPF test suite and · 51 unmodified lines
184184 Once the BPF pull request was accepted by David S. Miller, then
185185 the patches end up in net or net-next tree, respectively, and
186186 make their way from there further into mainline. Again, see the
187−`netdev FAQ`_ for additional information e.g. on how often they are
187+:ref:`netdev-FAQ` for additional information e.g. on how often they are
188188 merged to mainline.
189189
190190 Q: 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
208208 -----------------------------------------------------------------
209209 A: For the time when the merge window is open, bpf-next will not be
210210 processed. This is roughly analogous to net-next patch processing,
211−so feel free to read up on the `netdev FAQ`_ about further details.
211+so feel free to read up on the :ref:`netdev-FAQ` about further details.
212212
213213 During those two weeks of merge window, we might ask you to resend
214214 your 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
372372 netdev@vger.kernel.org
373373
374374 The process in general is the same as on netdev itself, see also the
375−`netdev FAQ`_ document.
375+:ref:`netdev-FAQ`.
376376
377377 Q: Do you also backport to kernels not currently maintained as stable?
378378 ----------------------------------------------------------------------
@@ -388,9 +388,7 @@ Q: The BPF patch I am about to submit needs to go to stable as well · 9 unmodified lines
388388 What should I do?
389389
390390 A: The same rules apply as with netdev patch submissions in general, see
391−`netdev FAQ`_ under:
392−
393− `Documentation/networking/netdev-FAQ.txt`_
391+the :ref:`netdev-FAQ`.
394392
395393 Never add "``Cc: stable@vger.kernel.org``" to the patch description, but
396394 ask the BPF maintainers to queue the patches instead. This can be done
@@ -630,8 +628,7 @@ when: · 233 unmodified lines
630628 .. Links
631629 .. _Documentation/process/: https://www.kernel.org/doc/html/latest/process/
632630 .. _MAINTAINERS: ../../MAINTAINERS
633−.. _Documentation/networking/netdev-FAQ.txt: ../networking/netdev-FAQ.txt
634−.. _netdev FAQ: ../networking/netdev-FAQ.txt
631+.. _netdev-FAQ: ../networking/netdev-FAQ.rst
635632 .. _samples/bpf/: ../../samples/bpf/
636633 .. _selftests: ../../tools/testing/selftests/bpf/
637634 .. _Documentation/dev-tools/kselftest.rst:
Documentation/bpf/index.rstrenamed from Documentation/bpf/README.rst+5−5
@@ -1,5 +1,5 @@
11 =================
2−BPF documentation
2+BPF Documentation
33 =================
44
55 This directory contains documentation for the BPF (Berkeley Packet
@@ -22,14 +22,14 @@ Frequently asked questions (FAQ) · 16 unmodified lines
2222
2323 Two sets of Questions and Answers (Q&A) are maintained.
2424
25−* QA for common questions about BPF see: bpf_design_QA_
25+.. toctree::
26+ :maxdepth: 1
2627
27−* QA for developers interacting with BPF subsystem: bpf_devel_QA_
28+ bpf_design_QA
29+ bpf_devel_QA
2830
2931
3032 .. Links:
31−.. _bpf_design_QA: bpf_design_QA.rst
32−.. _bpf_devel_QA: bpf_devel_QA.rst
3333 .. _Documentation/networking/filter.txt: ../networking/filter.txt
3434 .. _man-pages: https://www.kernel.org/doc/man-pages/
3535 .. _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
3434 # Add any Sphinx extension module names here, as strings. They can be
3535 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
3636 # ones.
37−extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', 'cdomain', 'kfigure']
37+extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', 'cdomain', 'kfigure', 'sphinx.ext.ifconfig']
3838
3939 # The name of the math extension changed on Sphinx 1.4
4040 if major == 1 and minor > 3:
Documentation/console/console.txt+8−7
@@ -1,7 +1,7 @@
11 Console Drivers
22 ===============
33
4−The linux kernel has 2 general types of console drivers. The first type is
4+The Linux kernel has 2 general types of console drivers. The first type is
55 assigned by the kernel to all the virtual consoles during the boot process.
66 This type will be called 'system driver', and only one system driver is allowed
77 to 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
1717 occupied by the system driver. In the same token, if the modular driver is
1818 released by the console, the system driver will take over.
1919
20−Modular drivers, from the programmer's point of view, has to call:
20+Modular drivers, from the programmer's point of view, have to call:
2121
2222 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 unbond
23+ give_up_console() - unload driver; it will only work if driver
24+ is fully unbound
2425
2526 In newer kernels, the following are also available:
2627
@@ -56,7 +57,7 @@ What do these files signify? · 29 unmodified lines
5657 cat /sys/class/vtconsole/vtcon0/name
5758 (S) VGA+
5859
59− '(S)' stands for a (S)ystem driver, ie, it cannot be directly
60+ '(S)' stands for a (S)ystem driver, i.e., it cannot be directly
6061 commanded to bind or unbind
6162
6263 '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
8990 for rebooting the kernel. For regular users who may want to switch from
9091 framebuffer console to VGA console and vice versa, this feature also makes
9192 this possible. (NOTE NOTE NOTE: Please read fbcon.txt under Documentation/fb
92−for more details).
93+for more details.)
9394
9495 Notes for developers:
9596 =====================
@@ -110,8 +111,8 @@ In order for binding to and unbinding from the console to properly work, · 14 unmodified lines
110111 console drivers must follow these guidelines:
111112
112113 1. 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 to
114− the console's internal list. It won't take over the
114+ or do_take_over_console(). do_register_con_driver() will just add the driver
115+ to the console's internal list. It won't take over the
115116 console. do_take_over_console(), as it name implies, will also take over (or
116117 bind to) the console.
117118
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
2929 local_t.
3030
3131 The first operations to implement for atomic_t's are the initializers and
32−plain reads. ::
32+plain writes. ::
3333
3434 #define ATOMIC_INIT(i) { (i) }
3535 #define atomic_set(v, i) ((v)->counter = (i))
Documentation/core-api/boot-time-mm.rst+92−0
@@ -0,0 +1,92 @@
1+===========================
2+Boot time memory management
3+===========================
4+
5+Early system initialization cannot use "normal" memory management
6+simply because it is not set up yet. But there is still need to
7+allocate memory for various data structures, for instance for the
8+physical page allocator. To address this, a specialized allocator
9+called the :ref:`Boot Memory Allocator <bootmem>`, or bootmem, was
10+introduced. Several years later PowerPC developers added a "Logical
11+Memory Blocks" allocator, which was later adopted by other
12+architectures and renamed to :ref:`memblock <memblock>`. There is also
13+a compatibility layer called `nobootmem` that translates bootmem
14+allocation interfaces to memblock calls.
15+
16+The selection of the early allocator is done using
17+``CONFIG_NO_BOOTMEM`` and ``CONFIG_HAVE_MEMBLOCK`` kernel
18+configuration options. These options are enabled or disabled
19+statically 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+
28+Whichever allocator is used, it is the responsibility of the
29+architecture specific initialization to set it up in
30+:c:func:`setup_arch` and tear it down in :c:func:`mem_init` functions.
31+
32+Once the early memory management is available it offers a variety of
33+functions and macros for memory allocations. The allocation request
34+may be directed to the first (and probably the only) node or to a
35+particular node in a NUMA system. There are API variants that panic
36+when an allocation fails and those that don't. And more recent and
37+advanced memblock even allows controlling its own behaviour.
38+
39+.. _bootmem:
40+
41+Bootmem
42+=======
43+
44+(mostly stolen from Mel Gorman's "Understanding the Linux Virtual
45+Memory 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+
54+Memblock
55+========
56+
57+.. kernel-doc:: mm/memblock.c
58+ :doc: memblock overview
59+
60+
61+Functions and structures
62+========================
63+
64+Common API
65+----------
66+
67+The functions that are described in this section are available
68+regardless of what early memory manager is enabled.
69+
70+.. kernel-doc:: mm/nobootmem.c
71+
72+Bootmem specific API
73+--------------------
74+
75+These 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+
81+Memblock specific API
82+---------------------
83+
84+Here is the description of memblock data structures, functions and
85+macros. Some of them are actually internal, but since they are
86+documented it would be silly to omit them. Besides, reading the
87+descriptions for the internal functions can help to understand what
88+really 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
7676 ========================
7777
7878 .. kernel-doc:: include/linux/idr.h
79+ :functions:
7980 .. kernel-doc:: lib/idr.c
81+ :functions:
Documentation/core-api/index.rst+3−0
@@ -27,7 +27,10 @@ Core utilities · 26 unmodified lines
2727 errseq
2828 printk-formats
2929 circular-buffers
30+ mm-api
3031 gfp_mask-from-fs-io
32+ timekeeping
33+ boot-time-mm
3134
3235 Interfaces for kernel debugging
3336 ===============================
Documentation/core-api/kernel-api.rst+4−55
@@ -39,6 +39,10 @@ String Manipulation · 38 unmodified lines
3939 .. kernel-doc:: lib/string.c
4040 :export:
4141
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+
4246 Basic Kernel Library Functions
4347 ==============================
4448
@@ -155,60 +159,6 @@ UUID/GUID · 110 unmodified lines
155159 .. kernel-doc:: lib/uuid.c
156160 :export:
157161
158−Memory Management in Linux
159−==========================
160−
161−The 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−
173−User 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−
182−More 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−
212162 Kernel IPC facilities
213163 =====================
214164
@@ -437,4 +387,3 @@ Read-Copy Update (RCU) · 222 unmodified lines
437387 .. kernel-doc:: include/linux/rcu_sync.h
438388
439389 .. kernel-doc:: kernel/rcu/sync.c
440−
Documentation/core-api/mm-api.rst+78−0
@@ -0,0 +1,78 @@
1+======================
2+Memory Management APIs
3+======================
4+
5+User 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+
17+Memory Allocation Controls
18+==========================
19+
20+Functions which need to allocate memory often use GFP flags to express
21+how that memory should be allocated. The GFP acronym stands for "get
22+free pages", the underlying memory allocation function. Not every GFP
23+flag is allowed to every function which may allocate memory. Most
24+users 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+
38+The 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+
50+More 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 @@
1+ktime accessors
2+===============
3+
4+Device drivers can read the current time using ktime_get() and the many
5+related functions declared in linux/timekeeping.h. As a rule of thumb,
6+using an accessor with a shorter name is preferred over one with a longer
7+name if both are equally fit for a particular use case.
8+
9+Basic ktime_t based interfaces
10+------------------------------
11+
12+The recommended simplest form returns an opaque ktime_t, with variants
13+that 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+
59+nanosecond, timespec64, and second output
60+-----------------------------------------
61+
62+For all of the above, there are variants that return the time in a
63+different 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+
97+Coarse and fast_ns access
98+-------------------------
99+
100+Some 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+
140+Deprecated time interfaces
141+--------------------------
142+
143+Older kernels used some other interfaces that are now being phased out
144+but may appear in third-party drivers being ported here. In particular,
145+all interfaces returning a 'struct timeval' or 'struct timespec' have
146+been replaced because the tv_sec member overflows in year 2038 on 32-bit
147+architectures. 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
162162 char *hash_alg_name = "sha1-padlock-nano";
163163 int ret;
164164
165− alg = crypto_alloc_shash(hash_alg_name, CRYPTO_ALG_TYPE_SHASH, 0);
165+ alg = crypto_alloc_shash(hash_alg_name, 0, 0);
166166 if (IS_ERR(alg)) {
167167 pr_info("can't alloc alg %s\n", hash_alg_name);
168168 return PTR_ERR(alg);
Documentation/dev-tools/kselftest.rst+5−0
@@ -156,6 +156,11 @@ Contributing new tests (details) · 155 unmodified lines
156156 installed by the distro on the system should be the primary focus to be able
157157 to find regressions.
158158
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+
159164 Test Harness
160165 ============
161166
Documentation/device-mapper/delay.txt+2−1
@@ -5,7 +5,8 @@ Device-Mapper's "delay" target delays reads and/or writes · 4 unmodified lines
55 and maps them to different devices.
66
77 Parameters:
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>]]
910
1011 With separate write parameters, the first set is only used for reads.
1112 Offsets 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
113113 from an upper layer target, such as dm-crypt. The upper layer
114114 target should check the validity of the integrity tags.
115115
116+recalculate
117+ Recalculate the integrity tags automatically. It is only valid
118+ when using internal hash.
119+
116120 journal_crypt:algorithm(:key) (the key is optional)
117121 Encrypt the journal using given algorithm to make sure that the
118122 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
2828 Status
2929 ======
3030
31−These targets are very much still in the EXPERIMENTAL state. Please
32−do not yet rely on them in production. But do experiment and offer us
33−feedback. Different use cases will have different performance
34−characteristics, for example due to fragmentation of the data volume.
31+These targets are considered safe for production use. But different use
32+cases will have different performance characteristics, for example due
33+to fragmentation of the data volume.
3534
3635 If you find this software is not performing as expected please mail
3736 dm-devel@redhat.com with details and we'll try our best to improve
3837 things for you.
3938
40−Userspace tools for checking and repairing the metadata are under
41−development.
39+Userspace tools for checking and repairing the metadata have been fully
40+developed and are available as 'thin_check' and 'thin_repair'. The name
41+of the package that provides these utilities varies by distribution (on
42+a Red Hat distribution it is named 'device-mapper-persistent-data').
4243
4344 Cookbook
4445 ========
@@ -280,7 +281,7 @@ ii) Status · 235 unmodified lines
280281 <transaction id> <used metadata blocks>/<total metadata blocks>
281282 <used data blocks>/<total data blocks> <held metadata root>
282283 ro|rw|out_of_data_space [no_]discard_passdown [error|queue]_if_no_space
283− needs_check|-
284+ needs_check|- metadata_low_watermark
284285
285286 transaction id:
286287 A 64-bit number used by userspace to help synchronise with metadata
@@ -327,6 +328,11 @@ ii) Status · 40 unmodified lines
327328 thin-pool can be made fully operational again. '-' indicates
328329 needs_check is not set.
329330
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+
330336 iii) Messages
331337
332338 create_thin <dev id>
Documentation/device-mapper/writecache.txt+2−0
@@ -15,6 +15,8 @@ Constructor parameters: · 14 unmodified lines
1515 size)
1616 5. the number of optional parameters (the parameters with an argument
1717 count as two)
18+ start_sector n (default: 0)
19+ offset from the start of cache device in 512-byte sectors
1820 high_watermark n (default: 50)
1921 start writeback when the number of used blocks reach this
2022 watermark
Documentation/devicetree/bindings/arm/adapteva.txt+0−7
@@ -1,7 +0,0 @@
1−Adapteva Platforms Device Tree Bindings
2−---------------------------------------
3−
4−Parallella board
5−
6−Required 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
4141 Required root node property:
4242 compatible: "amlogic,s905d", "amlogic,meson-gxl";
4343
44+Boards 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+
48+Boards 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+
4452 Boards with the Amlogic Meson GXM S912 SoC shall have the following properties:
4553 Required root node property:
4654 compatible: "amlogic,s912", "amlogic,meson-gxm";
@@ -79,6 +87,11 @@ Board compatible values (alphabetically, grouped by SoC): · 32 unmodified lines
7987 - "amlogic,p230" (Meson gxl s905d)
8088 - "amlogic,p231" (Meson gxl s905d)
8189
90+ - "amlogic,p241" (Meson gxl s805x)
91+
92+ - "amlogic,p281" (Meson gxl s905w)
93+ - "oranth,tx3-mini" (Meson gxl s905w)
94+
8295 - "amlogic,q200" (Meson gxm s912)
8396 - "amlogic,q201" (Meson gxm s912)
8497 - "khadas,vim2" (Meson gxm s912)
Documentation/devicetree/bindings/arm/atmel-pmc.txt+0−14
@@ -1,14 +0,0 @@
1−* Power Management Controller (PMC)
2−
3−Required 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−
10−Examples:
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
189189
190190 Required properties:
191191 - compatible : should contain one of these
192+ "brcm,brcmstb-memc-ddr-rev-b.2.1"
192193 "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"
193197 "brcm,brcmstb-memc-ddr"
194198 - reg : the MEMC DDR register range
195199
Documentation/devicetree/bindings/arm/coresight.txt+57−1
@@ -39,6 +39,8 @@ its hardware characteristcs. · 38 unmodified lines
3939
4040 - System Trace Macrocell:
4141 "arm,coresight-stm", "arm,primecell"; [1]
42+ - Coresight Address Translation Unit (CATU)
43+ "arm,coresight-catu", "arm,primecell";
4244
4345 * reg: physical base address and length of the register
4446 set(s) of the component.
@@ -84,8 +86,15 @@ its hardware characteristcs. · 39 unmodified lines
8486 * Optional property for TMC:
8587
8688 * 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.
8891
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
8998
9099 Example:
91100
@@ -118,6 +127,35 @@ Example: · 26 unmodified lines
118127 };
119128 };
120129
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+
121159 2. Links
122160 replicator {
123161 /* non-configurable replicators don't show up on the
@@ -247,5 +285,23 @@ Example: · 123 unmodified lines
247285 };
248286 };
249287
288+5. 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+
250306 [1]. There is currently two version of STM: STM32 and STM500. Both
251307 have 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
9494 };
9595
9696 idle-states {
97− entry-method = "arm,psci";
97+ entry-method = "psci";
9898
9999 CPU_SLEEP_0: cpu-sleep-0 {
100100 compatible = "arm,idle-state";
Documentation/devicetree/bindings/arm/cpus.txt+2−0
@@ -183,6 +183,7 @@ described below. · 182 unmodified lines
183183 "marvell,sheeva-v5"
184184 "nvidia,tegra132-denver"
185185 "nvidia,tegra186-denver"
186+ "nvidia,tegra194-carmel"
186187 "qcom,krait"
187188 "qcom,kryo"
188189 "qcom,kryo385"
@@ -219,6 +220,7 @@ described below. · 30 unmodified lines
219220 "qcom,kpss-acc-v1"
220221 "qcom,kpss-acc-v2"
221222 "renesas,apmu"
223+ "renesas,r9a06g032-smp"
222224 "rockchip,rk3036-smp"
223225 "rockchip,rk3066-smp"
224226 "ste,dbx500-smp"
Documentation/devicetree/bindings/arm/freescale/fsl,vf610-mscm-ir.txt+0−3
@@ -18,9 +18,6 @@ Required properties: · 17 unmodified lines
1818 assignment of the interrupt router is required.
1919 Flags get passed only when using GIC as parent. Flags
2020 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.
2421
2522 Example:
2623 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+
3+Required properties:
4+- compatible : Should be "fsl,imx51-m4if"
5+- reg : Address and length of the register set for the device
6+
7+Example:
8+
9+m4if: 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+
3+Required properties:
4+- compatible : Should be "fsl,imx51-tigerp"
5+- reg : Address and length of the register set for the device
6+
7+Example:
8+
9+tigerp: 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
5353 Required root node properties:
5454 - compatible = "fsl,imx6q-sabreauto", "fsl,imx6q";
5555
56+i.MX6SLL EVK board
57+Required root node properties:
58+ - compatible = "fsl,imx6sll-evk", "fsl,imx6sll";
59+
5660 Generic i.MX boards
5761 -------------------
5862
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
237237 Value type: <stringlist>
238238 Usage and definition depend on ARM architecture version.
239239 # On ARM v8 64-bit this property is required and must
240− be one of:
241− - "psci" (see bindings in [2])
240+ be:
241+ - "psci"
242242 # On ARM 32-bit systems this property is optional
243243
244244 The 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−
3−Origen low-cost evaluation board is based on Samsung's Exynos4210 SoC.
4−
5−Required 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
22 ======================================
33
44 The AP806 is one of the two core HW blocks of the Marvell Armada 7K/8K
5−SoCs. It contains a system controller, which provides a number
6−registers giving access to numerous features: clocks, pin-muxing and
7−many other SoC configuration items. This DT binding allows to describe
8−this system controller.
5+SoCs. It contains system controllers, which provide several registers
6+giving access to numerous features: clocks, pin-muxing and many other
7+SoC configuration items. This DT binding allows to describe these
8+system controllers.
99
1010 For the top level node:
1111 - compatible: must be: "syscon", "simple-mfd";
12− - reg: register area of the AP806 system controller
12+ - reg: register area of the AP806 system controller
13+
14+SYSTEM CONTROLLER 0
15+===================
1316
1417 Clocks:
1518 -------
@@ -98,3 +101,38 @@ ap_syscon: system-controller@6f4000 { · 82 unmodified lines
98101 gpio-ranges = <&ap_pinctrl 0 0 19>;
99102 };
100103 };
104+
105+SYSTEM CONTROLLER 1
106+===================
107+
108+Thermal:
109+--------
110+
111+For common binding part and usage, refer to
112+Documentation/devicetree/bindings/thermal/thermal.txt
113+
114+The thermal IP can probe the temperature all around the processor. It
115+may feature several channels, each of them wired to one sensor.
116+
117+Required properties:
118+- compatible: must be one of:
119+ * marvell,armada-ap806-thermal
120+- reg: register range associated with the thermal functions.
121+
122+Optional 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+
128+Example:
129+ap_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
3333 compatible = "marvell,armada-3700-nb-pm", "syscon";
3434 reg = <0x14000 0x60>;
3535 }
36+
37+AVS
38+---
39+
40+For AVS an other component is needed:
41+
42+Required properties:
43+- compatible : should contain "marvell,armada-3700-avs", "syscon";
44+- reg : the register start and length for the AVS
45+
46+Example:
47+avs: 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 @@
1−Marvell Armada CP110 System Controller 0
2−========================================
1+Marvell Armada CP110 System Controller
2+======================================
33
44 The CP110 is one of the two core HW blocks of the Marvell Armada 7K/8K
5−SoCs. It contains two sets of system control registers, System
6−Controller 0 and System Controller 1. This Device Tree binding allows
7−to describe the first system controller, which provides registers to
8−configure various aspects of the SoC.
5+SoCs. It contains system controllers, which provide several registers
6+giving access to numerous features: clocks, pin-muxing and many other
7+SoC configuration items. This DT binding allows to describe these
8+system controllers.
99
1010 For the top level node:
1111 - compatible: must be: "syscon", "simple-mfd";
12− - reg: register area of the CP110 system controller 0
12+ - reg: register area of the CP110 system controller
13+
14+SYSTEM CONTROLLER 0
15+===================
1316
1417 Clocks:
1518 -------
@@ -163,26 +166,60 @@ Required properties: · 147 unmodified lines
163166
164167 Example:
165168
166−cpm_syscon0: system-controller@440000 {
169+CP110_LABEL(syscon0): system-controller@440000 {
167170 compatible = "syscon", "simple-mfd";
168171 reg = <0x440000 0x1000>;
169172
170− cpm_clk: clock {
173+ CP110_LABEL(clk): clock {
171174 compatible = "marvell,cp110-clock";
172175 #clock-cells = <2>;
173176 };
174177
175− cpm_pinctrl: pinctrl {
178+ CP110_LABEL(pinctrl): pinctrl {
176179 compatible = "marvell,armada-8k-cpm-pinctrl";
177180 };
178181
179− cpm_gpio1: gpio@100 {
182+ CP110_LABEL(gpio1): gpio@100 {
180183 compatible = "marvell,armada-8k-gpio";
181184 offset = <0x100>;
182185 ngpios = <32>;
183186 gpio-controller;
184187 #gpio-cells = <2>;
185− gpio-ranges = <&cpm_pinctrl 0 0 32>;
188+ gpio-ranges = <&CP110_LABEL(pinctrl) 0 0 32>;
186189 };
187190
188191 };
192+
193+SYSTEM CONTROLLER 1
194+===================
195+
196+Thermal:
197+--------
198+
199+The thermal IP can probe the temperature all around the processor. It
200+may feature several channels, each of them wired to one sensor.
201+
202+For common binding part and usage, refer to
203+Documentation/devicetree/bindings/thermal/thermal.txt
204+
205+Required properties:
206+- compatible: must be one of:
207+ * marvell,armada-cp110-thermal
208+- reg: register range associated with the thermal functions.
209+
210+Optional 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+
215+Example:
216+CP110_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
1111 "mediatek,mt6589"
1212 "mediatek,mt6592"
1313 "mediatek,mt6755"
14+ "mediatek,mt6765"
1415 "mediatek,mt6795"
1516 "mediatek,mt6797"
1617 "mediatek,mt7622"
@@ -41,12 +42,18 @@ Supported boards: · 24 unmodified lines
4142 - Evaluation phone for MT6755(Helio P10):
4243 Required root node properties:
4344 - 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";
4448 - Evaluation board for MT6795(Helio X10):
4549 Required root node properties:
4650 - compatible = "mediatek,mt6795-evb", "mediatek,mt6795";
4751 - Evaluation board for MT6797(Helio X20):
4852 Required root node properties:
4953 - compatible = "mediatek,mt6797-evb", "mediatek,mt6797";
54+- Mediatek X20 Development Board:
55+ Required root node properties:
56+ - compatible = "archermind,mt6797-x20-dev", "mediatek,mt6797";
5057 - Reference board variant 1 for MT7622:
5158 Required root node properties:
5259 - compatible = "mediatek,mt7622-rfb1", "mediatek,mt7622";
@@ -59,9 +66,6 @@ Supported boards: · 6 unmodified lines
5966 - Reference board for MT7623n with eMMC:
6067 Required root node properties:
6168 - 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";
6569 - Bananapi BPI-R2 board:
6670 - compatible = "bananapi,bpi-r2", "mediatek,mt7623";
6771 - MTK mt8127 tablet moose EVB:
Documentation/devicetree/bindings/arm/msm/qcom,llcc.txt+26−0
@@ -0,0 +1,26 @@
1+== Introduction==
2+
3+LLCC (Last Level Cache Controller) provides last level of cache memory in SOC,
4+that can be shared by multiple clients. Clients here are different cores in the
5+SOC, the idea is to minimize the local caches at the clients and migrate to
6+common pool of memory. Cache memory is divided into partitions called slices
7+which are assigned to clients. Clients can query the slice details, activate
8+and deactivate them.
9+
10+Properties:
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+
21+Example:
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
1010 - compatible : Should be "ti,irq-crossbar"
1111 - reg: Base address and the size of the crossbar registers.
1212 - interrupt-controller: indicates that this block is an interrupt controller.
13−- interrupt-parent: the interrupt controller this block is connected to.
1413 - ti,max-irqs: Total number of irqs available at the parent interrupt controller.
1514 - ti,max-crossbar-sources: Maximum number of crossbar sources that can be routed.
1615 - 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
77 Should be "ti,omap2-l4-wkup" for OMAP2 family l4 wkup bus
88 Should be "ti,omap3-l4-core" for OMAP3 family l4 core bus
99 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
1011 Should be "ti,omap4-l4-wkup" for OMAP4 family l4 wkup bus
1112 Should be "ti,omap5-l4-cfg" for OMAP5 family l4 cfg bus
1213 Should be "ti,omap5-l4-wkup" for OMAP5 family l4 wkup bus
@@ -15,11 +16,21 @@ Required properties: · 2 unmodified lines
1516 Should be "ti,am3-l4-wkup" for AM33xx family l4 wkup bus
1617 Should be "ti,am4-l4-wkup" for AM43xx family l4 wkup bus
1718 - 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
1822
1923 Examples:
2024
21−l4: l4@48000000 {
22− compatible "ti,omap2-l4", "simple-bus";
25+l4: interconnect@48000000 {
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";
2334 #address-cells = <1>;
2435 #size-cells = <1>;
2536 ranges = <0 0x48000000 0x100000>;
Documentation/devicetree/bindings/arm/rockchip.txt+14−0
@@ -1,5 +1,10 @@
11 Rockchip platforms device tree bindings
22 ---------------------------------------
3+
4+- 96boards RK3399 Ficus (ROCK960 Enterprise Edition)
5+ Required root node properties:
6+ - compatible = "vamrs,ficus", "rockchip,rk3399";
7+
38 - Amarula Vyasa RK3288 board
49 Required root node properties:
510 - compatible = "amarula,vyasa-rk3288", "rockchip,rk3288";
@@ -66,6 +71,15 @@ Rockchip platforms device tree bindings · 60 unmodified lines
6671 Required root node properties:
6772 - compatible = "geekbuying,geekbox", "rockchip,rk3368";
6873
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+
6983 - Google Brain (dev-board):
7084 Required root node properties:
7185 - 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
4040 - #interrupt-cells: must be identical to the that of the parent interrupt
4141 controller.
4242
43−- interrupt-parent: a phandle indicating which interrupt controller
44− this PMU signals interrupts to.
45−
4643
4744 Optional nodes:
4845
Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt+5−2
@@ -1,7 +1,10 @@
1−* Samsung's Exynos SoC based boards
1+* Samsung's Exynos and S5P SoC based boards
22
33 Required root node properties:
44 - 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.
58 - "samsung,artik5" - for Exynos3250-based Samsung ARTIK5 module.
69 - "samsung,artik5-eval" - for Exynos3250-based Samsung ARTIK5 eval board.
710 - "samsung,monk" - for Exynos3250-based Samsung Simband board.
@@ -66,7 +69,7 @@ Required root node properties: · 58 unmodified lines
6669 - "insignal,arndale-octa" - for Exynos5420-based Insignal Arndale
6770 Octa board.
6871 - "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.
7073
7174
7275 Optional nodes:
Documentation/devicetree/bindings/arm/shmobile.txt+4−1
@@ -51,7 +51,8 @@ SoCs: · 50 unmodified lines
5151 compatible = "renesas,r8a77990"
5252 - R-Car D3 (R8A77995)
5353 compatible = "renesas,r8a77995"
54−
54+ - RZ/N1D (R9A06G032)
55+ compatible = "renesas,r9a06g032"
5556
5657 Boards:
5758
@@ -112,6 +113,8 @@ Boards: · 54 unmodified lines
112113 compatible = "renesas,porter", "renesas,r8a7791"
113114 - RSKRZA1 (YR0K77210C000BE)
114115 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"
115118 - Salvator-X (RTP0RC7795SIPB0010S)
116119 compatible = "renesas,salvator-x", "renesas,r8a7795"
117120 - Salvator-X (RTP0RC7796SIPB0011S)
Documentation/devicetree/bindings/arm/ti/k3.txt+23−0
@@ -0,0 +1,23 @@
1+Texas Instruments K3 Multicore SoC architecture device tree bindings
2+--------------------------------------------------------------------
3+
4+Platforms based on Texas Instruments K3 Multicore SoC architecture
5+shall follow the following scheme:
6+
7+SoCs
8+----
9+
10+Each device tree root node must specify which exact SoC in K3 Multicore SoC
11+architecture it uses, using one of the following compatible values:
12+
13+- AM654
14+ compatible = "ti,am654";
15+
16+Boards
17+------
18+
19+In addition, each device tree root node must specify which one or more
20+of 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
88
99 Additional compatible strings:
1010
11−- Xilinx internal board cc108
11+- 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
1229 "xlnx,zynq-cc108"
1330
14−- Xilinx internal board zc770 with different FMC cards
31+- 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
1538 "xlnx,zynq-zc770-xm010"
1639 "xlnx,zynq-zc770-xm011"
1740 "xlnx,zynq-zc770-xm012"
1841 "xlnx,zynq-zc770-xm013"
1942
20−- Digilent Zybo Z7 board
21− "digilent,zynq-zybo-z7"
22−
2343 ---------------------------------------------------------------
2444
2545 Xilinx 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
1717 - "marvell,armada-380-ahci"
1818 - "marvell,armada-3700-ahci"
1919 - "snps,dwc-ahci"
20− - "snps,exynos5440-ahci"
2120 - "snps,spear-ahci"
2221 - "generic-ahci"
2322 - interrupts : <interrupt mapping for SATA IRQ>
@@ -30,6 +29,7 @@ compatible: · 6 unmodified lines
3029 Optional properties:
3130 - dma-coherent : Present if dma operations are coherent
3231 - clocks : a list of phandle + clock specifier pairs
32+- resets : a list of phandle + reset specifier pairs
3333 - target-supply : regulator for SATA target power
3434 - phys : reference to the SATA PHY node
3535 - phy-names : must be "sata-phy"
Documentation/devicetree/bindings/ata/fsl-sata.txt+0−1
@@ -16,7 +16,6 @@ Required properties: · 15 unmodified lines
1616 4 for controller @ 0x1b000
1717
1818 Optional properties:
19−- interrupt-parent : optional, if needed for interrupt mapping
2019 - reg : <registers mapping>
2120
2221 Example:
Documentation/devicetree/bindings/ata/pata-arasan.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
33 Required properties:
44 - compatible: "arasan,cf-spear1340"
55 - 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
86 - interrupt: Should contain the CF interrupt number
97 - clock-frequency: Interface clock rate, in Hz, one of
108 25000000
Documentation/devicetree/bindings/ata/sata_rcar.txt+1−0
@@ -8,6 +8,7 @@ Required properties: · 7 unmodified lines
88 - "renesas,sata-r8a7791" for R-Car M2-W
99 - "renesas,sata-r8a7793" for R-Car M2-N
1010 - "renesas,sata-r8a7795" for R-Car H3
11+ - "renesas,sata-r8a77965" for R-Car M3-N
1112 - "renesas,rcar-gen2-sata" for a generic R-Car Gen2 compatible device
1213 - "renesas,rcar-gen3-sata" for a generic R-Car Gen3 compatible device
1314 - "renesas,rcar-sata" is deprecated
Documentation/devicetree/bindings/board/fsl-board.txt+0−1
@@ -29,7 +29,6 @@ Required properties: · 28 unmodified lines
2929 - reg: should contain the address and the length of the FPGA register set.
3030
3131 Optional properties:
32−- interrupt-parent: should specify phandle for the interrupt controller.
3332 - interrupts: should specify event (wakeup) IRQ.
3433
3534 Example (P1022DS):
Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt+0−2
@@ -9,8 +9,6 @@ Required properties: · 8 unmodified lines
99 "brcm,bcm7400-gisb-arb" for older 40nm chips and all 65nm chips
1010 "brcm,bcm7038-gisb-arb" for 130nm chips
1111 - 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
1412 - interrupts: specifies the two interrupts (timeout and TEA) to be used from
1513 the parent interrupt controller
1614
Documentation/devicetree/bindings/bus/sun50i-de2-bus.txt+37−0
@@ -0,0 +1,37 @@
1+Device tree bindings for Allwinner A64 DE2 bus
2+
3+The Allwinner A64 DE2 is on a special bus, which needs a SRAM region (SRAM C)
4+to be claimed for enabling the access.
5+
6+Required 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+
16+Example:
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
3636 "ti,sysc-omap-aes"
3737 "ti,sysc-mcasp"
3838 "ti,sysc-usb-host-fs"
39+ "ti,sysc-dra7-mcan"
3940
4041 - reg shall have register areas implemented for the interconnect
4142 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)
22
3−The Actions S900 clock management unit generates and supplies clock to various
4−controllers within the SoC. The clock binding described here is applicable to
5−S900 SoC.
3+The Actions Semi Owl Clock Management Unit generates and supplies clock
4+to various controllers within the SoC. The clock binding described here is
5+applicable to S900 and S700 SoC's.
66
77 Required Properties:
88
9−- compatible: should be "actions,s900-cmu"
9+- compatible: should be one of the following,
10+ "actions,s900-cmu"
11+ "actions,s700-cmu"
1012 - reg: physical base address of the controller and length of memory mapped
1113 region.
1214 - clocks: Reference to the parent clocks ("hosc", "losc")
@@ -15,16 +17,16 @@ Required Properties: · 2 unmodified lines
1517 Each clock is assigned an identifier, and client nodes can use this identifier
1618 to specify the clock which they consume.
1719
18−All available clocks are defined as preprocessor macros in
19−dt-bindings/clock/actions,s900-cmu.h header and can be used in device
20−tree sources.
20+All available clocks are defined as preprocessor macros in corresponding
21+dt-bindings/clock/actions,s900-cmu.h or actions,s700-cmu.h header and can be
22+used in device tree sources.
2123
2224 External clocks:
2325
2426 The hosc clock used as input for the plls is generated outside the SoC. It is
2527 expected that it is defined using standard clock bindings as "hosc".
2628
27−Actions S900 CMU also requires one more clock:
29+Actions Semi S900 CMU also requires one more clock:
2830 - "losc" - internal low frequency oscillator
2931
3032 Example: 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+
3+The Amlogic AXG audio clock controller generates and supplies clock to the
4+other elements of the audio subsystem, such as fifos, i2s, spdif and pdm
5+devices.
6+
7+Required 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+
25+Each clock is assigned an identifier and client nodes can use this identifier
26+to specify the clock which they consume. All available clocks are defined as
27+preprocessor macros in the dt-bindings/clock/axg-audio-clkc.h header and can be
28+used in device tree sources.
29+
30+Example:
31+
32+clkc_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
1717 "atmel,at91sam9x5-clk-slow-rc-osc":
1818 at91 internal slow RC oscillator
1919
20− "atmel,at91rm9200-pmc" or
21− "atmel,at91sam9g45-pmc" or
22− "atmel,at91sam9n12-pmc" or
23− "atmel,at91sam9x5-pmc" or
24− "atmel,sama5d3-pmc":
20+ "atmel,<chip>-pmc":
2521 at91 PMC (Power Management Controller)
2622 All at91 specific clocks (clocks defined below) must be child
2723 node of the PMC node.
24+ <chip> can be: at91rm9200, at91sam9260, at91sam9261,
25+ at91sam9263, at91sam9g45, at91sam9n12, at91sam9rl, at91sam9x5,
26+ sama5d2, sama5d3 or sama5d4.
2827
2928 "atmel,at91sam9x5-clk-slow" (under sckc node)
3029 or
@@ -91,6 +90,9 @@ Required properties: · 60 unmodified lines
9190 at91 audio pll output on AUDIOPLLCLK that feeds the PMC
9291 and can be used by peripheral clock or generic clock
9392
93+ "atmel,sama5d2-clk-i2s-mux" (under pmc node):
94+ at91 I2S clock source selection
95+
9496 Required properties for SCKC node:
9597 - reg : defines the IO memory reserved for the SCKC.
9698 - #size-cells : shall be 0 (reg is used to encode clk id).
@@ -180,7 +182,6 @@ For example: · 83 unmodified lines
180182 };
181183
182184 Required properties for main clock internal RC oscillator:
183−- interrupt-parent : must reference the PMC node.
184185 - interrupts : shall be set to "<0>".
185186 - clock-frequency : define the internal RC oscillator frequency.
186187
@@ -197,7 +198,6 @@ For example: · 10 unmodified lines
197198 };
198199
199200 Required properties for main clock oscillator:
200−- interrupt-parent : must reference the PMC node.
201201 - interrupts : shall be set to "<0>".
202202 - #clock-cells : from common clock binding; shall be set to 0.
203203 - clocks : shall encode the main osc source clk sources (see atmel datasheet).
@@ -218,7 +218,6 @@ For example: · 14 unmodified lines
218218 };
219219
220220 Required properties for main clock:
221−- interrupt-parent : must reference the PMC node.
222221 - interrupts : shall be set to "<0>".
223222 - #clock-cells : from common clock binding; shall be set to 0.
224223 - clocks : shall encode the main clk sources (see atmel datasheet).
@@ -233,7 +232,6 @@ For example: · 8 unmodified lines
233232 };
234233
235234 Required properties for master clock:
236−- interrupt-parent : must reference the PMC node.
237235 - interrupts : shall be set to "<3>".
238236 - #clock-cells : from common clock binding; shall be set to 0.
239237 - clocks : shall be the master clock sources (see atmel datasheet) phandles.
@@ -292,7 +290,6 @@ For example: · 52 unmodified lines
292290
293291
294292 Required properties for pll clocks:
295−- interrupt-parent : must reference the PMC node.
296293 - interrupts : shall be set to "<1>".
297294 - #clock-cells : from common clock binding; shall be set to 0.
298295 - clocks : shall be the main clock phandle.
@@ -348,7 +345,6 @@ For example: · 49 unmodified lines
348345 };
349346
350347 Required properties for programmable clocks:
351−- interrupt-parent : must reference the PMC node.
352348 - #size-cells : shall be 0 (reg is used to encode clk id).
353349 - #address-cells : shall be 1 (reg is used to encode clk id).
354350 - clocks : shall be the programmable clock source phandles.
@@ -451,7 +447,6 @@ For example: · 96 unmodified lines
451447
452448
453449 Required properties for utmi clock:
454−- interrupt-parent : must reference the PMC node.
455450 - interrupts : shall be set to "<AT91_PMC_LOCKU IRQ_TYPE_LEVEL_HIGH>".
456451 - #clock-cells : from common clock binding; shall be set to 0.
457452 - clocks : shall be the main clock source phandle.
@@ -507,3 +502,35 @@ For example: · 49 unmodified lines
507502 atmel,clk-output-range = <0 83000000>;
508503 };
509504 };
505+
506+Required 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+
519+For 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−
3−The Exynos5440 clock controller generates and supplies clock to various
4−controllers within the Exynos5440 SoC.
5−
6−Required 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−
15−Each clock is assigned an identifier and client nodes can use this identifier
16−to specify the clock which they consume.
17−
18−All available clocks are defined as preprocessor macros in
19−dt-bindings/clock/exynos5440.h header and can be used in device
20−tree sources.
21−
22−Example: 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 @@
1+Devicetree bindings for Maxim MAX9485 Programmable Audio Clock Generator
2+
3+This 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+
10+MAX9485_CLKOUT[1,2] are children of MAX9485_CLKOUT which upchain all rate set
11+requests.
12+
13+Required 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+
19+Optional 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+
25+If not explicitly set, the output names are "mclkout", "clkout", "clkout1"
26+and "clkout2".
27+
28+Clocks are defined as preprocessor macros in the dt-binding header.
29+
30+Example:
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 @@
1+Qualcomm Technologies, Inc. Display Clock Controller Binding
2+------------------------------------------------------------
3+
4+Required 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+
12+Example:
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+
3+Required 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+
17+Examples
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+
3+The PX30 clock controller generates and supplies clock to various
4+controllers within the SoC and also implements a reset controller for SoC
5+peripherals.
6+
7+Required 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+
16+Optional 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+
21+Each clock is assigned an identifier and client nodes can use this identifier
22+to specify the clock which they consume. All available clocks are defined as
23+preprocessor macros in the dt-bindings/clock/px30-cru.h headers and can be
24+used in device tree sources. Similar macros exist for the reset sources in
25+these files.
26+
27+External clocks:
28+
29+There are several clocks that are generated outside the SoC. It is expected
30+that they are defined using standard clock bindings with following
31+clock-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+
37+Example: 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+
54+Example: 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
66 - "allwinner,sun8i-a83t-de2-clk"
77 - "allwinner,sun8i-h3-de2-clk"
88 - "allwinner,sun8i-v3s-de2-clk"
9+ - "allwinner,sun50i-a64-de2-clk"
910 - "allwinner,sun50i-h5-de2-clk"
1011
1112 - 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
1515 - type: size of the connector, should be specified in case of USB-A, USB-B
1616 non-fullsize connectors: "mini", "micro".
1717
18+Optional 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+
26+Required 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+
1845 Required nodes:
1946 - any data bus to the connector should be modeled using the OF graph bindings
2047 specified in bindings/graph.txt, unless the bus is between parent node and
@@ -73,3 +100,20 @@ ccic: s2mm005@33 { · 52 unmodified lines
73100 };
74101 };
75102 };
103+
104+3. USB-C connector attached to a typec port controller(ptn5110), which has
105+power delivery support and enables drp.
106+
107+typec: 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
2929 - reg: Specifies base physical address and size of the registers.
3030 - interrupts: The interrupt that the AVS CPU will use to interrupt the host
3131 when a command completed.
32−- interrupt-parent: The interrupt controller the above interrupt is routed
33− through.
3432 - interrupt-names: The name of the interrupt used to interrupt the host.
3533
3634 Optional properties:
Documentation/devicetree/bindings/cpufreq/cpufreq-exynos5440.txt+0−28
@@ -1,28 +0,0 @@
1−
2−Exynos5440 cpufreq driver
3−-------------------
4−
5−Exynos5440 SoC cpufreq driver for CPU frequency scaling.
6−
7−Required 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−
13−Optional properties:
14−- clock-latency: Clock monitor latency in microsecond.
15−
16−All the required listed above must be defined under node cpufreq.
17−
18−Example:
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
33 Required properties:
44 - compatible: Should be "amd,ccp-seattle-v1a"
55 - 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
86 - interrupts: Should contain the CCP interrupt
97
108 Optional properties:
Documentation/devicetree/bindings/crypto/arm-cryptocell.txt+0−2
@@ -7,8 +7,6 @@ Required properties: · 6 unmodified lines
77 - interrupts: Interrupt number for the device.
88
99 Optional properties:
10−- interrupt-parent: The phandle for the interrupt controller that services
11− interrupts for this device.
1210 - clocks: Reference to the crypto engine clock.
1311 - dma-coherent: Present if dma operations are coherent.
1412
Documentation/devicetree/bindings/crypto/fsl-sec2.txt+0−5
@@ -50,11 +50,6 @@ remaining bits are reserved for future SEC EUs. · 49 unmodified lines
5050
5151 ..and so on and so forth.
5252
53−Optional properties:
54−
55−- interrupt-parent : the phandle for the interrupt controller that
56− services interrupts for this device.
57−
5853 Example:
5954
6055 /* MPC8548E */
Documentation/devicetree/bindings/crypto/fsl-sec4.txt+0−21
@@ -99,13 +99,6 @@ PROPERTIES · 98 unmodified lines
9999 of the specifier is defined by the binding document
100100 describing the node's interrupt parent.
101101
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−
109102 - clocks
110103 Usage: required if SEC 4.0 requires explicit enablement of clocks
111104 Value type: <prop_encoded-array>
@@ -199,13 +192,6 @@ Job Ring (JR) Node · 87 unmodified lines
199192 of the specifier is defined by the binding document
200193 describing the node's interrupt parent.
201194
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−
209195 EXAMPLE
210196 jr@1000 {
211197 compatible = "fsl,sec-v4.0-job-ring";
@@ -370,13 +356,6 @@ Secure Non-Volatile Storage (SNVS) Node · 158 unmodified lines
370356 of the specifier is defined by the binding document
371357 describing the node's interrupt parent.
372358
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−
380359 EXAMPLE
381360 sec_mon@314000 {
382361 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+
3+Required 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+
21+Optional properties:
22+- iommus: The SEC units are behind smmu-v3 iommus.
23+ Refer to iommu/arm,smmu-v3.txt for more information.
24+
25+Example:
26+
27+p1_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 @@
11 Inside Secure SafeXcel cryptographic engine
22
33 Required properties:
4−- compatible: Should be "inside-secure,safexcel-eip197" or
5− "inside-secure,safexcel-eip97".
4+- compatible: Should be "inside-secure,safexcel-eip197b",
5+ "inside-secure,safexcel-eip197d" or
6+ "inside-secure,safexcel-eip97ies".
67 - reg: Base physical address of the engine and length of memory mapped region.
78 - interrupts: Interrupt numbers for the rings and engine.
89 - interrupt-names: Should be "ring0", "ring1", "ring2", "ring3", "eip", "mem".
@@ -14,10 +15,18 @@ Optional properties: · 5 unmodified lines
1415 name must be "core" for the first clock and "reg" for
1516 the second one.
1617
18+Backward compatibility:
19+Two compatibles are kept for backward compatibility, but shouldn't be used for
20+new 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+
1726 Example:
1827
1928 crypto: crypto@800000 {
20− compatible = "inside-secure,safexcel-eip197";
29+ compatible = "inside-secure,safexcel-eip197b";
2130 reg = <0x800000 0x200000>;
2231 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
2332 <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
77 - compatible : "picochip,spacc-ipsec" for the IPSEC offload engine
88 "picochip,spacc-l2" for the femtocell layer 2 ciphering engine.
99 - reg : Offset and length of the register set for this device
10− - interrupt-parent : The interrupt controller that controls the SPAcc
11− interrupt.
1210 - interrupts : The interrupt line from the SPAcc.
1311 - ref-clock : The input clock that drives the SPAcc.
1412
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
22
33 Required properties:
44
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
68 - reg : specifies base physical address and size of the registers map
79 - clocks : phandle to clock-controller plus clock-specifier pair
810 - 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) device
1+* Rockchip rk3399 DMC (Dynamic Memory Controller) device
22
33 Required properties:
44 - compatible: Must be "rockchip,rk3399-dmc".
55 - devfreq-events: Node to get DDR loading, Refer to
6− Documentation/devicetree/bindings/devfreq/
6+ Documentation/devicetree/bindings/devfreq/event/
77 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.
128 - clocks: Phandles for clock specified in "clock-names" property
139 - clock-names : The name of clock used by the DFI, must be
1410 "pclk_ddr_mon";
@@ -17,139 +13,148 @@ Required properties: · 2 unmodified lines
1713 - center-supply: DMC supply node.
1814 - status: Marks the node enabled/disabled.
1915
20−Following properties are ddr timing:
21−
22−- rockchip,dram_speed_bin : Value reference include/dt-bindings/clock/ddr.h,
23− it select ddr3 cl-trp-trcd type, default value
24− "DDR3_DEFAULT".it must selected according to
25− "Speed Bin" in ddr3 datasheet, DO NOT use
26− smaller "Speed Bin" than ddr3 exactly is.
27−
28−- rockchip,pd_idle : Config the PD_IDLE value, defined the power-down
29− idle period, memories are places into power-down
30− mode if bus is idle for PD_IDLE DFI clocks.
31−
32−- rockchip,sr_idle : Configure the SR_IDLE value, defined the
33− selfrefresh idle period, memories are places
34− into self-refresh mode if bus is idle for
35− SR_IDLE*1024 DFI clocks (DFI clocks freq is
36− half of dram's clocks), defaule value is "0".
37−
38−- rockchip,sr_mc_gate_idle : Defined the self-refresh with memory and
39− controller clock gating idle period, memories
40− are places into self-refresh mode and memory
41− controller clock arg gating if bus is idle for
42− sr_mc_gate_idle*1024 DFI clocks.
43−
44−- rockchip,srpd_lite_idle : Defined the self-refresh power down idle
45− period, memories are places into self-refresh
46− power down mode if bus is idle for
47− srpd_lite_idle*1024 DFI clocks. This parameter
48− is for LPDDR4 only.
49−
50−- rockchip,standby_idle : Defined the standby idle period, memories are
51− places into self-refresh than controller, pi,
52− phy and dram clock will gating if bus is idle
53− for standby_idle * DFI clocks.
54−
55−- rockchip,dram_dll_disb_freq : It's defined the DDR3 dll bypass frequency in
56− MHz, when ddr freq less than DRAM_DLL_DISB_FREQ,
57− ddr3 dll will bypssed note: if dll was bypassed,
58− the odt also stop working.
59−
60−- rockchip,phy_dll_disb_freq : Defined the PHY dll bypass frequency in
61− MHz (Mega Hz), when ddr freq less than
62− DRAM_DLL_DISB_FREQ, phy dll will bypssed.
63− note: phy dll and phy odt are independent.
64−
65−- rockchip,ddr3_odt_disb_freq : When dram type is DDR3, this parameter defined
66− the odt disable frequency in MHz (Mega Hz),
67− when ddr frequency less then ddr3_odt_disb_freq,
68− the odt on dram side and controller side are
16+Optional properties:
17+- interrupts: The CPU interrupt number. The interrupt specifier
18+ format depends on the interrupt controller.
19+ It should be a DCF interrupt. When DDR DVFS finishes
20+ a DCF interrupt is triggered.
21+
22+Following properties relate to DDR timing:
23+
24+- rockchip,dram_speed_bin : Value reference include/dt-bindings/clock/rk3399-ddr.h,
25+ it selects the DDR3 cl-trp-trcd type. It must be
26+ set according to "Speed Bin" in DDR3 datasheet,
27+ DO NOT use a smaller "Speed Bin" than specified
28+ for the DDR3 being used.
29+
30+- rockchip,pd_idle : Configure the PD_IDLE value. Defines the
31+ power-down idle period in which memories are
32+ placed into power-down mode if bus is idle
33+ for PD_IDLE DFI clock cycles.
34+
35+- rockchip,sr_idle : Configure the SR_IDLE value. Defines the
36+ self-refresh idle period in which memories are
37+ placed into self-refresh mode if bus is idle
38+ for SR_IDLE * 1024 DFI clock cycles (DFI
39+ clocks freq is half of DRAM clock), default
40+ value is "0".
41+
42+- rockchip,sr_mc_gate_idle : Defines the memory self-refresh and controller
43+ clock gating idle period. Memories are placed
44+ into self-refresh mode and memory controller
45+ clock arg gating started if bus is idle for
46+ sr_mc_gate_idle*1024 DFI clock cycles.
47+
48+- rockchip,srpd_lite_idle : Defines the self-refresh power down idle
49+ period in which memories are placed into
50+ self-refresh power down mode if bus is idle
51+ for srpd_lite_idle * 1024 DFI clock cycles.
52+ This parameter is for LPDDR4 only.
53+
54+- rockchip,standby_idle : Defines the standby idle period in which
55+ memories are placed into self-refresh mode.
56+ The controller, pi, PHY and DRAM clock will
57+ be gated if bus is idle for standby_idle * DFI
58+ clock cycles.
59+
60+- rockchip,dram_dll_dis_freq : Defines the DDR3 DLL bypass frequency in MHz.
61+ When DDR frequency is less than DRAM_DLL_DISB_FREQ,
62+ DDR3 DLL will be bypassed. Note: if DLL was bypassed,
63+ the odt will also stop working.
64+
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
6974 both disabled.
7075
71−- rockchip,ddr3_drv : When dram type is DDR3, this parameter define
72− the dram side driver stength in ohm, default
76+- rockchip,ddr3_drv : When the DRAM type is DDR3, this parameter defines
77+ the DRAM side driver strength in ohms. Default
7378 value is DDR3_DS_40ohm.
7479
75−- rockchip,ddr3_odt : When dram type is DDR3, this parameter define
76− the dram side ODT stength in ohm, default value
80+- rockchip,ddr3_odt : When the DRAM type is DDR3, this parameter defines
81+ the DRAM side ODT strength in ohms. Default value
7782 is DDR3_ODT_120ohm.
7883
79−- rockchip,phy_ddr3_ca_drv : When dram type is DDR3, this parameter define
80− the phy side CA line(incluing command line,
84+- rockchip,phy_ddr3_ca_drv : When the DRAM type is DDR3, this parameter defines
85+ the phy side CA line (incluing command line,
8186 address line and clock line) driver strength.
8287 Default value is PHY_DRV_ODT_40.
8388
84−- rockchip,phy_ddr3_dq_drv : When dram type is DDR3, this parameter define
85− the phy side DQ line(incluing DQS/DQ/DM line)
86− driver strength. default value is PHY_DRV_ODT_40.
89+- rockchip,phy_ddr3_dq_drv : When the DRAM type is DDR3, this parameter defines
90+ the PHY side DQ line (including DQS/DQ/DM line)
91+ driver strength. Default value is PHY_DRV_ODT_40.
8792
88−- rockchip,phy_ddr3_odt : When dram type is DDR3, this parameter define the
89− phy side odt strength, default value is
93+- rockchip,phy_ddr3_odt : When the DRAM type is DDR3, this parameter defines
94+ the PHY side ODT strength. Default value is
9095 PHY_DRV_ODT_240.
9196
92−- rockchip,lpddr3_odt_disb_freq : When dram type is LPDDR3, this parameter defined
93− then odt disable frequency in MHz (Mega Hz),
94− when ddr frequency less then ddr3_odt_disb_freq,
95− the odt on dram side and controller side are
97+- rockchip,lpddr3_odt_dis_freq : When the DRAM type is LPDDR3, this parameter defines
98+ then ODT disable frequency in MHz (Mega Hz).
99+ When DDR frequency is less then ddr3_odt_dis_freq,
100+ the ODT on the DRAM side and controller side are
96101 both disabled.
97102
98−- rockchip,lpddr3_drv : When dram type is LPDDR3, this parameter define
99− the dram side driver stength in ohm, default
103+- rockchip,lpddr3_drv : When the DRAM type is LPDDR3, this parameter defines
104+ the DRAM side driver strength in ohms. Default
100105 value is LP3_DS_34ohm.
101106
102−- rockchip,lpddr3_odt : When dram type is LPDDR3, this parameter define
103− the dram side ODT stength in ohm, default value
107+- rockchip,lpddr3_odt : When the DRAM type is LPDDR3, this parameter defines
108+ the DRAM side ODT strength in ohms. Default value
104109 is LP3_ODT_240ohm.
105110
106−- rockchip,phy_lpddr3_ca_drv : When dram type is LPDDR3, this parameter define
107− the phy side CA line(incluing command line,
111+- rockchip,phy_lpddr3_ca_drv : When the DRAM type is LPDDR3, this parameter defines
112+ the PHY side CA line (including command line,
108113 address line and clock line) driver strength.
109− default value is PHY_DRV_ODT_40.
114+ Default value is PHY_DRV_ODT_40.
110115
111−- rockchip,phy_lpddr3_dq_drv : When dram type is LPDDR3, this parameter define
112− the phy side DQ line(incluing DQS/DQ/DM line)
113− driver strength. default value is
116+- rockchip,phy_lpddr3_dq_drv : When the DRAM type is LPDDR3, this parameter defines
117+ the PHY side DQ line (including DQS/DQ/DM line)
118+ driver strength. Default value is
114119 PHY_DRV_ODT_40.
115120
116121 - rockchip,phy_lpddr3_odt : When dram type is LPDDR3, this parameter define
117122 the phy side odt strength, default value is
118123 PHY_DRV_ODT_240.
119124
120−- rockchip,lpddr4_odt_disb_freq : When dram type is LPDDR4, this parameter
121− defined the odt disable frequency in
122− MHz (Mega Hz), when ddr frequency less then
123− ddr3_odt_disb_freq, the odt on dram side and
125+- rockchip,lpddr4_odt_dis_freq : When the DRAM type is LPDDR4, this parameter
126+ defines the ODT disable frequency in
127+ MHz (Mega Hz). When the DDR frequency is less then
128+ ddr3_odt_dis_freq, the ODT on the DRAM side and
124129 controller side are both disabled.
125130
126−- rockchip,lpddr4_drv : When dram type is LPDDR4, this parameter define
127− the dram side driver stength in ohm, default
131+- rockchip,lpddr4_drv : When the DRAM type is LPDDR4, this parameter defines
132+ the DRAM side driver strength in ohms. Default
128133 value is LP4_PDDS_60ohm.
129134
130−- rockchip,lpddr4_dq_odt : When dram type is LPDDR4, this parameter define
131− the dram side ODT on dqs/dq line stength in ohm,
132− default value is LP4_DQ_ODT_40ohm.
135+- rockchip,lpddr4_dq_odt : When the DRAM type is LPDDR4, this parameter defines
136+ the DRAM side ODT on DQS/DQ line strength in ohms.
137+ Default value is LP4_DQ_ODT_40ohm.
133138
134−- rockchip,lpddr4_ca_odt : When dram type is LPDDR4, this parameter define
135− the dram side ODT on ca line stength in ohm,
136− default value is LP4_CA_ODT_40ohm.
139+- rockchip,lpddr4_ca_odt : When the DRAM type is LPDDR4, this parameter defines
140+ the DRAM side ODT on CA line strength in ohms.
141+ Default value is LP4_CA_ODT_40ohm.
137142
138−- rockchip,phy_lpddr4_ca_drv : When dram type is LPDDR4, this parameter define
139− the phy side CA line(incluing command address
140− line) driver strength. default value is
143+- rockchip,phy_lpddr4_ca_drv : When the DRAM type is LPDDR4, this parameter defines
144+ the PHY side CA line (including command address
145+ line) driver strength. Default value is
141146 PHY_DRV_ODT_40.
142147
143−- rockchip,phy_lpddr4_ck_cs_drv : When dram type is LPDDR4, this parameter define
144− the phy side clock line and cs line driver
145− strength. default value is PHY_DRV_ODT_80.
148+- rockchip,phy_lpddr4_ck_cs_drv : When the DRAM type is LPDDR4, this parameter defines
149+ the PHY side clock line and CS line driver
150+ strength. Default value is PHY_DRV_ODT_80.
146151
147−- rockchip,phy_lpddr4_dq_drv : When dram type is LPDDR4, this parameter define
148− the phy side DQ line(incluing DQS/DQ/DM line)
149− driver strength. default value is PHY_DRV_ODT_80.
152+- rockchip,phy_lpddr4_dq_drv : When the DRAM type is LPDDR4, this parameter defines
153+ the PHY side DQ line (including DQS/DQ/DM line)
154+ driver strength. Default value is PHY_DRV_ODT_80.
150155
151−- rockchip,phy_lpddr4_odt : When dram type is LPDDR4, this parameter define
152− the phy side odt strength, default value is
156+- rockchip,phy_lpddr4_odt : When the DRAM type is LPDDR4, this parameter defines
157+ the PHY side ODT strength. Default value is
153158 PHY_DRV_ODT_60.
154159
155160 Example:
Documentation/devicetree/bindings/display/bridge/analogix_dp.txt+0−2
@@ -15,8 +15,6 @@ Required properties for dp-controller: · 14 unmodified lines
1515 from common clock binding: handle to dp clock.
1616 -clock-names:
1717 from common clock binding: Shall be "dp".
18− -interrupt-parent:
19− phandle to Interrupt combiner node.
2018 -phys:
2119 from general PHY binding: the phandle for the PHY device.
2220 -phy-names:
Documentation/devicetree/bindings/display/bridge/anx7814.txt+0−2
@@ -8,8 +8,6 @@ Required properties: · 7 unmodified lines
88
99 - compatible : "analogix,anx7814"
1010 - reg : I2C address of the device
11− - interrupt-parent : Should be the phandle of the interrupt controller
12− that services interrupts for this device
1311 - interrupts : Should contain the INTP interrupt
1412 - hpd-gpios : Which GPIO to use for hpd
1513 - 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
1919 stdp4028-ge-b850v3-fw required properties:
2020 - compatible : "megachips,stdp4028-ge-b850v3-fw"
2121 - reg : I2C bus address
22− - interrupt-parent : phandle of the interrupt controller that services
23− interrupts to the device
2422 - interrupts : one interrupt should be described here, as in
2523 <0 IRQ_TYPE_LEVEL_HIGH>
2624 - 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
55 - reg: i2c address of the bridge
66
77 Optional properties:
8− - interrupts-extended or interrupt-parent + interrupts: describe
9− the interrupt line used to inform the host about hotplug events.
8+ - interrupts: describe the interrupt line used to inform the host
9+ about hotplug events.
1010 - reset-gpios: OF device-tree gpio specification for RST_N pin.
1111
1212 Optional subnodes:
Documentation/devicetree/bindings/display/bridge/sii9234.txt+1−1
@@ -7,7 +7,7 @@ Required properties: · 6 unmodified lines
77 - iovcc18-supply : I/O Supply Voltage (1.8V)
88 - avcc12-supply : TMDS Analog Supply Voltage (1.2V)
99 - cvcc12-supply : Digital Core Supply Voltage (1.2V)
10− - interrupts, interrupt-parent: interrupt specifier of INT pin
10+ - interrupts: interrupt specifier of INT pin
1111 - reset-gpios: gpio specifier of RESET pin (active low)
1212 - video interfaces: Device node can contain two video interface port
1313 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
55 - reg: i2c address of the bridge
66 - cvcc10-supply: Digital Core Supply Voltage (1.0V)
77 - iovcc18-supply: I/O Supply Voltage (1.8V)
8− - interrupts, interrupt-parent: interrupt specifier of INT pin
8+ - interrupts: interrupt specifier of INT pin
99 - reset-gpios: gpio specifier of RESET pin
1010 - clocks, clock-names: specification and name of "xtal" clock
1111 - 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
99
1010 - reg: physical base address and length of the DECON registers set.
1111
12−- interrupt-parent: should be the phandle of the decon controller's
13− parent interrupt controller.
14−
1512 - interrupts: should contain a list of all DECON IP block interrupts in the
1613 order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier
1714 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
2525 from common clock binding: handle to dp clock.
2626 -clock-names:
2727 from common clock binding: Shall be "dp".
28− -interrupt-parent:
29− phandle to Interrupt combiner node.
3028 -phys:
3129 from general PHY binding: the phandle for the PHY device.
3230 -phy-names:
Documentation/devicetree/bindings/display/exynos/samsung-fimd.txt+0−3
@@ -16,9 +16,6 @@ Required properties: · 15 unmodified lines
1616
1717 - reg: physical base address and length of the FIMD registers set.
1818
19−- interrupt-parent: should be the phandle of the fimd controller's
20− parent interrupt controller.
21−
2219 - interrupts: should contain a list of all FIMD IP block interrupts in the
2320 order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier
2421 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
44 Required properties:
55 - compatible: "holtek,ht16k33"
66 - reg: I2C slave address of the chip.
7−- interrupt-parent: A phandle pointing to the interrupt controller
8− serving the interrupt for this chip.
97 - interrupts: Interrupt specification for the key pressed interrupt.
108 - refresh-rate-hz: Display update interval in HZ.
119 - 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
1010 - interrupts : framebuffer controller interrupt.
1111 - clocks: phandle to input clocks
1212
13+Optional properties:
14+ - lcd-supply: A phandle to a power regulator that controls the LCD voltage.
15+
1316 Required nodes:
1417 - port: connection to the LCD panel (see video-interfaces.txt)
1518 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 @@
1+PXA3xx GCU Controller
2+---------------------
3+
4+Required 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+
10+Example 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
4040 "mediatek,<chip>-dpi" - DPI controller, see mediatek,dpi.txt
4141 "mediatek,<chip>-disp-mutex" - display mutex
4242 "mediatek,<chip>-disp-od" - overdrive
43− the supported chips are mt2701 and mt8173.
43+ the supported chips are mt2701, mt2712 and mt8173.
4444 - reg: Physical base address and length of the function block register space
4545 - interrupts: The interrupt signal from the function block (required, except for
4646 merge and split function blocks).
Documentation/devicetree/bindings/display/msm/dpu.txt+131−0
@@ -0,0 +1,131 @@
1+Qualcomm Technologies, Inc. DPU KMS
2+
3+Description:
4+
5+Device tree bindings for MSM Mobile Display Subsytem(MDSS) that encapsulates
6+sub-blocks like DPU display controller, DSI and DP interfaces etc.
7+The DPU display controller is found in SDM845 SoC.
8+
9+MDSS:
10+Required 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+
32+Optional 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+
37+MDP:
38+Required 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+
64+Optional 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+
69+Example:
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
4343 the master link of the 2-DSI panel.
4444 - qcom,sync-dual-dsi: Boolean value indicating if the DSI controller is
4545 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
4846 - pinctrl-names: the pin control state names; should contain "default"
4947 - pinctrl-0: the default pinctrl state (active)
5048 - pinctrl-n: the "sleep" pinctrl state
@@ -121,6 +119,20 @@ Required properties: · 70 unmodified lines
121119 Optional properties:
122120 - qcom,dsi-phy-regulator-ldo-mode: Boolean value indicating if the LDO mode PHY
123121 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.
124136
125137 [1] Documentation/devicetree/bindings/clock/clock-bindings.txt
126138 [2] Documentation/devicetree/bindings/graph.txt
@@ -171,6 +183,8 @@ Example: · 44 unmodified lines
171183 qcom,master-dsi;
172184 qcom,sync-dual-dsi;
173185
186+ qcom,mdss-mdp-transfer-time-us = <12000>;
187+
174188 pinctrl-names = "default", "sleep";
175189 pinctrl-0 = <&dsi_active>;
176190 pinctrl-1 = <&dsi_suspend>;
Documentation/devicetree/bindings/display/msm/edp.txt+0−4
@@ -25,10 +25,6 @@ Required properties: · 24 unmodified lines
2525 - panel-hpd-gpios: GPIO pin used for eDP hpd.
2626
2727
28−Optional properties:
29−- interrupt-parent: phandle to the MDP block if the interrupt signal is routed
30− through MDP block
31−
3228 Example:
3329 mdss_edp: qcom,mdss_edp@fd923400 {
3430 compatible = "qcom,mdss-edp";
Documentation/devicetree/bindings/display/msm/mdp5.txt+0−2
@@ -41,8 +41,6 @@ Required properties: · 40 unmodified lines
4141 - reg-names: The names of register regions. The following regions are required:
4242 * "mdp_phys"
4343 - interrupts: Interrupt line from MDP5 to MDSS interrupt controller.
44−- interrupt-parent: phandle to the MDSS block
45− through MDP block
4644 - clocks: device clocks. See ../clocks/clock-bindings.txt for details.
4745 - clock-names: the following clocks are required.
4846 - * "bus"
Documentation/devicetree/bindings/display/renesas,du.txt+0−1
@@ -19,7 +19,6 @@ Required Properties: · 18 unmodified lines
1919
2020 - reg: the memory-mapped I/O registers base address and length
2121
22− - interrupt-parent: phandle of the parent interrupt controller.
2322 - interrupts: Interrupt specifiers for the DU interrupts.
2423
2524 - 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
99 - First entry: System Configuration register
1010 - Second entry: IO space (Display Controller register)
1111 - 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.
1412
1513 Optional properties:
1614 - mode : select a video mode:
Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt+1−3
@@ -8,8 +8,6 @@ Required properties: · 7 unmodified lines
88 - reg: base address and size of the LCDC device
99
1010 Recommended properties:
11− - interrupt-parent: the phandle for the interrupt controller that
12− services interrupts for this device.
1311 - ti,hwmods: Name of the hwmod associated to the LCDC
1412
1513 Optional properties:
@@ -36,7 +34,7 @@ Optional nodes: · 20 unmodified lines
3634
3735 - port/ports: to describe a connection to an external encoder. The
3836 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.
4038
4139 - See also Documentation/devicetree/bindings/display/tilcdc/panel.txt and
4240 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
55 - compatible: Should be "ingenic,jz4780-dma"
66 - reg: Should contain the DMA controller registers location and length.
77 - interrupts: Should contain the interrupt specifier of the DMA controller.
8−- interrupt-parent: Should be the phandle of the interrupt controller that
98 - clocks: Should contain a clock specifier for the JZ4780 PDMA clock.
109 - #dma-cells: Must be <2>. Number of integer cells in the dmas property of
1110 DMA clients (see below).
Documentation/devicetree/bindings/dma/nvidia,tegra210-adma.txt+0−1
@@ -8,7 +8,6 @@ Required properties: · 7 unmodified lines
88 - reg: Should contain DMA registers location and length. This should be
99 a single entry that includes all of the per-channel registers in one
1010 contiguous bank.
11−- interrupt-parent: Phandle to the interrupt parent controller.
1211 - interrupts: Should contain all of the per-channel DMA interrupts in
1312 ascending order with respect to the DMA channel index.
1413 - 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+
3+This binding follows the generic DMA bindings defined in dma.txt.
4+
5+Required 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+
16+Example:
17+
18+Controller:
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+
32+Client:
33+
34+DMA clients connected to the Actions Semi Owl SoCs DMA controller must
35+use the format described in the dma.txt file, using a two-cell specifier
36+for each channel.
37+
38+The two cells in order are:
39+1. A phandle pointing to the DMA controller.
40+2. The channel id.
41+
42+uart5: 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
2929 - "renesas,dmac-r8a77965" (R-Car M3-N)
3030 - "renesas,dmac-r8a77970" (R-Car V3M)
3131 - "renesas,dmac-r8a77980" (R-Car V3H)
32+ - "renesas,dmac-r8a77990" (R-Car E3)
3233 - "renesas,dmac-r8a77995" (R-Car D3)
3334
3435 - 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
55 - reg: Address range of the DMAC registers. This should include
66 all of the per-channel registers.
77 - 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.
108 - dma-channels: Number of channels supported by hardware.
119 - snps,dma-masters: Number of AXI masters supported by the hardware.
1210 - 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
2323
2424
2525 Optional properties:
26−- interrupt-parent: Should be the phandle for the interrupt controller
27− that services interrupts for this device
2826 - is_private: The device channels should be marked as private and not for by the
2927 general purpose DMA channel allocator. False if not passed.
3028 - 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
201201 - #dma-cells: Should be set to <1>
202202 Clients should use a single channel number per DMA request.
203203 - reg: Memory map for accessing module
204−- interrupt-parent: Interrupt controller the interrupt is routed through
205204 - interrupts: Exactly 3 interrupts need to be specified in the order:
206205 1. Transfer completion interrupt.
207206 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
6666 Optional child node properties for VDMA:
6767 - xlnx,genlock-mode: Tells Genlock synchronization is
6868 enabled/disabled in hardware.
69+- xlnx,enable-vert-flip: Tells vertical flip is
70+ enabled/disabled in hardware(S2MM path).
6971 Optional child node properties for AXI DMA:
7072 -dma-channels: Number of dma channels in child node.
7173
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
55 Required properties:
66 - compatible : Should be "xlnx,zynqmp-dma-1.0"
77 - reg : Memory map for gdma/adma module access.
8−- interrupt-parent : Interrupt controller the interrupt is routed through
98 - interrupts : Should contain DMA channel interrupt.
109 - xlnx,bus-width : Axi buswidth in bits. Should contain 128 or 64
1110 - 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
7272
7373 - wp-gpios: GPIO to which the write-protect pin of the chip is connected.
7474
75+ - address-width: number of address bits (one of 8, 16).
76+
7577 Example:
7678
7779 eeprom@52 {
Documentation/devicetree/bindings/extcon/extcon-rt8973a.txt+0−2
@@ -11,8 +11,6 @@ for USB D-/D+ switching. · 10 unmodified lines
1111 Required properties:
1212 - compatible: Should be "richtek,rt8973a-muic"
1313 - 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.
1614 - interrupts: Interrupt specifiers for detection interrupt sources.
1715
1816 Example:
Documentation/devicetree/bindings/extcon/extcon-sm5502.txt+0−2
@@ -9,8 +9,6 @@ the host controller using an I2C interface. · 8 unmodified lines
99 Required properties:
1010 - compatible: Should be "siliconmitus,sm5502-muic"
1111 - 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.
1412 - interrupts: Interrupt specifiers for detection interrupt sources.
1513
1614 Example:
Documentation/devicetree/bindings/fsi/fsi-master-ast-cf.txt+36−0
@@ -0,0 +1,36 @@
1+Device-tree bindings for ColdFire offloaded gpio-based FSI master driver
2+------------------------------------------------------------------------
3+
4+Required 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+
22+Examples:
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
8383 #address-cells = <1>;
8484 #size-cells = <1>;
8585
86+Optionally, a slave can provide a global unique chip ID which is used to
87+identify the physical location of the chip in a system specific way
88+
89+ chip-id = <0>;
8690
8791 FSI engines (devices)
8892 ---------------------
@@ -125,6 +129,7 @@ device tree if no extra platform information is required. · 36 unmodified lines
125129 reg = <0 0>;
126130 #address-cells = <1>;
127131 #size-cells = <1>;
132+ chip-id = <0>;
128133
129134 /* FSI engine at 0xc00, using a single page. In this example,
130135 * it's an I2C master controller, so subnodes describe the
Documentation/devicetree/bindings/gnss/gnss.txt+36−0
@@ -0,0 +1,36 @@
1+GNSS Receiver DT binding
2+
3+This documents the binding structure and common properties for GNSS receiver
4+devices.
5+
6+A GNSS receiver node is a node named "gnss" and typically resides on a serial
7+bus (e.g. UART, I2C or SPI).
8+
9+Please 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+
14+Required properties:
15+
16+- compatible : A string reflecting the vendor and specific device the node
17+ represents
18+
19+Optional properties:
20+- enable-gpios : GPIO used to enable the device
21+- timepulse-gpios : Time pulse GPIO
22+
23+Example:
24+
25+serial@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 @@
1+SiRFstar-based GNSS Receiver DT binding
2+
3+SiRFstar chipsets are used in GNSS-receiver modules produced by several
4+vendors and can use UART, SPI or I2C interfaces.
5+
6+Please see Documentation/devicetree/bindings/gnss/gnss.txt for generic
7+properties.
8+
9+Required 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+
20+Required properties (I2C):
21+- reg : I2C slave address
22+
23+Required properties (SPI):
24+- reg : SPI chip select address
25+
26+Optional 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+
33+Example:
34+
35+serial@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 @@
1+u-blox GNSS Receiver DT binding
2+
3+The u-blox GNSS receivers can use UART, DDC (I2C), SPI and USB interfaces.
4+
5+Please see Documentation/devicetree/bindings/gnss/gnss.txt for generic
6+properties.
7+
8+Required 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+
17+Required properties (DDC):
18+- reg : DDC (I2C) slave address
19+
20+Required properties (SPI):
21+- reg : SPI chip select address
22+
23+Required properties (USB):
24+- reg : Number of the USB hub port or the USB host-controller port
25+ to which this device is attached
26+
27+Optional 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+
33+Example:
34+
35+serial@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
2525 - #gpio-cells: Should be two. The first cell is the pin number
2626 and the second cell is used to specify optional
2727 parameters (currently unused).
28−- interrupt-parent: Phandle for the interrupt controller that
29− services interrupts for this device.
3028 - interrupts: Interrupt mapping for GPIO IRQ.
3129 - gpio-controller: Marks the port as GPIO controller.
3230
Documentation/devicetree/bindings/gpio/abilis,tb10x-gpio.txt+0−1
@@ -14,7 +14,6 @@ Optional Properties: · 13 unmodified lines
1414 - #interrupt-cells: Should be <1>. Interrupts are triggered on both edges.
1515 - interrupts: Defines the interrupt line connecting this GPIO controller to
1616 its parent interrupt controller.
17−- interrupt-parent: Defines the parent interrupt controller.
1817
1918 GPIO ranges are specified as described in
2019 Documentation/devicetree/bindings/gpio/gpio.txt
Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.txt+0−3
@@ -30,9 +30,6 @@ Optional properties: · 29 unmodified lines
3030 - interrupts:
3131 The interrupt shared by all GPIO lines for this controller.
3232
33−- interrupt-parent:
34− phandle of the parent interrupt controller
35−
3633 - interrupts-extended:
3734 Alternate form of specifying interrupts and parents that allows for
3835 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
1919 4 = active high level-sensitive.
2020 8 = active low level-sensitive.
2121
22+Optional properties:
23+- clocks: the clock for clocking the GPIO silicon
24+
2225 Example:
2326
2427 gpio0: 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
33 Required properties:
44 - compatible: should be "ad,gpio-adnp"
55 - reg: The I2C slave address for this device.
6−- interrupt-parent: phandle of the parent interrupt controller.
76 - interrupts: Interrupt specifier for the controllers interrupt.
87 - #gpio-cells: Should be 2. The first cell is the GPIO number and the
98 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
1717
1818 Optional properties:
1919
20−- interrupt-parent : The parent interrupt controller, optional if inherited
2120 - clocks : A phandle to the clock to use for debounce timings
2221
2322 The 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
1212 - ngpios: Should be set to the number of GPIOs available on the SoC.
1313
1414 Optional properties:
15−- interrupt-parent: phandle of the parent interrupt controller.
1615 - interrupts: Interrupt specifier for the controllers interrupt.
1716 - interrupt-controller : Identifies the node as an interrupt controller
1817 - #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
1515 - first cell is the pin number
1616 - second cell is used to specify optional parameters (unused)
1717
18−- interrupt-parent: phandle of the parent interrupt controller.
19−
2018 - interrupts: Array of GPIO interrupt number. Only banked or unbanked IRQs are
2119 supported at a time.
2220
Documentation/devicetree/bindings/gpio/gpio-max732x.txt+0−1
@@ -30,7 +30,6 @@ Optional properties: · 29 unmodified lines
3030 - #interrupt-cells: Number of cells to encode an interrupt source, shall be 2.
3131 - first cell is the pin number
3232 - second cell is used to specify flags
33− - interrupt-parent: phandle of the parent interrupt controller.
3433 - interrupts: Interrupt specifier for the controllers interrupt.
3534
3635 Please 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
3737 - #interrupt-cells: if to be used as interrupt expander.
3838
3939 Optional properties:
40+ - interrupts: interrupt specifier for the device's interrupt output.
4041 - reset-gpios: GPIO specification for the RESET input. This is an
4142 active low signal to the PCA953x.
4243 - vcc-supply: power supply regulator.
@@ -49,6 +50,8 @@ Example: · 6 unmodified lines
4950 reg = <0x20>;
5051 pinctrl-names = "default";
5152 pinctrl-0 = <&pinctrl_pca9505>;
53+ gpio-controller;
54+ #gpio-cells = <2>;
5255 interrupt-parent = <&gpio3>;
5356 interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
5457 };
Documentation/devicetree/bindings/gpio/gpio-pcf857x.txt+0−1
@@ -49,7 +49,6 @@ Optional Properties: · 48 unmodified lines
4949
5050 - interrupt-controller: Identifies the node as an interrupt controller.
5151 - #interrupt-cells: Number of cells to encode an interrupt source, shall be 2.
52− - interrupt-parent: phandle of the parent interrupt controller.
5352 - interrupts: Interrupt specifier for the controllers interrupt.
5453
5554
Documentation/devicetree/bindings/gpio/gpio-uniphier.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
66 - gpio-controller: Marks the device node as a GPIO controller.
77 - #gpio-cells: Should be 2. The first cell is the pin number and the second
88 cell is used to specify optional parameters.
9−- interrupt-parent: Specifies the parent interrupt controller.
109 - interrupt-controller: Marks the device node as an interrupt controller.
1110 - #interrupt-cells: Should be 2. The first cell defines the interrupt number.
1211 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
2626 1 = active low
2727 - gpio-controller: Marks the device node as a GPIO controller.
2828 - interrupts: The EXT_INT_0 parent interrupt resource must be listed first.
29−- interrupt-parent: Phandle of the parent interrupt controller.
3029 - interrupt-cells: Should be two.
3130 - first cell is 0-N coresponding for EXT_INT_0 to EXT_INT_N.
3231 - 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
1414
1515 Optional properties:
1616 - interrupts : Interrupt mapping for GPIO IRQ.
17−- interrupt-parent : Phandle for the interrupt controller that
18− services interrupts for this device.
1917 - xlnx,all-inputs : if n-th bit is setup, GPIO-n is input
2018 - xlnx,dout-default : if n-th bit is 1, GPIO-n default value is 1
2119 - xlnx,gpio-width : gpio width
Documentation/devicetree/bindings/gpio/gpio-xlp.txt+0−1
@@ -30,7 +30,6 @@ Required properties: · 29 unmodified lines
3030 4 = active high level-sensitive.
3131 8 = active low level-sensitive.
3232 - interrupts: Interrupt number for this device.
33−- interrupt-parent: phandle of the parent interrupt controller.
3433 - interrupt-controller: Identifies the node as an interrupt controller.
3534
3635 Example:
Documentation/devicetree/bindings/gpio/gpio-zynq.txt+0−1
@@ -11,7 +11,6 @@ Required properties: · 10 unmodified lines
1111 - gpio-controller : Marks the device node as a GPIO controller.
1212 - interrupts : Interrupt specifier (see interrupt bindings for
1313 details)
14−- interrupt-parent : Must be core interrupt controller
1514 - interrupt-controller : Marks the device node as an interrupt controller.
1615 - #interrupt-cells : Should be 2. The first cell is the GPIO number.
1716 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 @@
1+Mediatek MT7621 SoC GPIO controller bindings
2+
3+The IP core used inside these SoCs has 3 banks of 32 GPIOs each.
4+The registers of all the banks are interwoven inside one single IO range.
5+We load one GPIO controller instance per bank. Also the GPIO controller can receive
6+interrupts on any of the GPIOs, either edge or level. It then interrupts the CPU
7+using GIC INT12.
8+
9+Required 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+
25+Example:
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 @@
11 Nintendo Wii (Hollywood) GPIO controller
22
33 Required properties:
4−- compatible: "nintendo,hollywood-gpio
4+- compatible: "nintendo,hollywood-gpio"
55 - reg: Physical base address and length of the controller's registers.
66 - gpio-controller: Marks the device node as a GPIO controller.
77 - #gpio-cells: Should be <2>. The first cell is the pin number and the
@@ -14,7 +14,6 @@ Optional properties: · 6 unmodified lines
1414 - #interrupt-cells: Should be two.
1515 - interrupts: Interrupt specifier for the controller's Broadway (PowerPC)
1616 interrupt.
17−- interrupt-parent: phandle of the parent interrupt controller.
1817
1918 Example:
2019
Documentation/devicetree/bindings/gpio/nvidia,tegra186-gpio.txt+4−0
@@ -68,6 +68,8 @@ Required properties: · 67 unmodified lines
6868 One of:
6969 - "nvidia,tegra186-gpio".
7070 - "nvidia,tegra186-gpio-aon".
71+ - "nvidia,tegra194-gpio".
72+ - "nvidia,tegra194-gpio-aon".
7173 - reg-names
7274 Array of strings.
7375 Contains a list of names for the register spaces described by the reg
@@ -91,6 +93,8 @@ Required properties: · 17 unmodified lines
9193 depending on compatible value:
9294 - "nvidia,tegra186-gpio": 6 entries.
9395 - "nvidia,tegra186-gpio-aon": 1 entry.
96+ - "nvidia,tegra194-gpio": 6 entries.
97+ - "nvidia,tegra194-gpio-aon": 1 entry.
9498 - gpio-controller
9599 Boolean.
96100 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
1717 - "renesas,gpio-r8a7796": for R8A7796 (R-Car M3-W) compatible GPIO controller.
1818 - "renesas,gpio-r8a77965": for R8A77965 (R-Car M3-N) compatible GPIO controller.
1919 - "renesas,gpio-r8a77970": for R8A77970 (R-Car V3M) compatible GPIO controller.
20+ - "renesas,gpio-r8a77980": for R8A77980 (R-Car V3H) compatible GPIO controller.
2021 - "renesas,gpio-r8a77990": for R8A77990 (R-Car E3) compatible GPIO controller.
2122 - "renesas,gpio-r8a77995": for R8A77995 (R-Car D3) compatible GPIO controller.
2223 - "renesas,rcar-gen1-gpio": for a generic R-Car Gen1 GPIO controller.
@@ -31,7 +32,6 @@ Required Properties: · 8 unmodified lines
3132 - reg: Base address and length of each memory resource used by the GPIO
3233 controller hardware module.
3334
34− - interrupt-parent: phandle of the parent interrupt controller.
3535 - interrupts: Interrupt specifier for the controllers interrupt.
3636
3737 - 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 @@
1+Rockchip RK3328 GRF (General Register Files) GPIO controller.
2+
3+In Rockchip RK3328, the output only GPIO_MUTE pin, originally for codec mute
4+control, can also be used for general purpose. It is manipulated by the
5+GRF_SOC_CON10 register in GRF. Aside from the GPIO_MUTE pin, the HDMI pins can
6+also be set in the same way.
7+
8+Currently this GPIO controller only supports the mute pin. If needed in the
9+future, the HDMI pins support can also be added.
10+
11+Required 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+
19+Example:
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+
31+Note: The grf_gpio node should be declared as the child of the GRF (General
32+Register 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
2525 interrupt. Shall be set to 2. The first cell defines the interrupt number,
2626 the second encodes the triger flags encoded as described in
2727 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
28−- interrupt-parent : The parent interrupt controller.
2928 - interrupts : The interrupts to the parent controller raised when GPIOs
3029 generate the interrupts. If the controller provides one combined interrupt
3130 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
3333 - reg-names: Contains the values "tx" and "rx" (in this order).
3434 - reg: Contains a matching register specifier for each entry
3535 in reg-names.
36−- interrupt-parent Should be a phandle for the interrupt controller
3736 - interrupts: Should contain interrupt specifiers for mpu interrupts
3837 0 and 1 (in this order).
3938 - 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 @@
1+Nuvoton NPCM7xx PWM and Fan Tacho controller device
2+
3+The Nuvoton BMC NPCM7XX supports 8 Pulse-width modulation (PWM)
4+controller outputs and 16 Fan tachometer controller inputs.
5+
6+Required 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+
23+fan subnode format:
24+===================
25+Under fan subnode can be upto 8 child nodes, each child node representing a fan.
26+Each fan subnode must have one PWM channel and atleast one Fan tach channel.
27+
28+For PWM channel can be configured cooling-levels to create cooling device.
29+Cooling device could be bound to a thermal zone for the thermal control.
30+
31+Required 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+
42+Optional 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+
46+Examples:
47+
48+pwm_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
1111 - resets : phandle to reset controller with the reset number in
1212 the second cell
1313 - 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
1714
1815 Optional Properties:
1916 - 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
1010
1111 Optional properties :
1212
13−- interrupt-parent: specifies the phandle to the parent interrupt controller
14− this one is cascaded from
1513 - interrupts: specifies the interrupt number, the irq line to be used
1614 - interrupt-names: Interrupt name string
1715
Documentation/devicetree/bindings/i2c/i2c-fsi.txt+40−0
@@ -0,0 +1,40 @@
1+Device-tree bindings for FSI-attached I2C master and busses
2+-----------------------------------------------------------
3+
4+Required 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+
14+Child node required properties:
15+ - reg = < port number > : The port number on the I2C master.
16+
17+Child node optional properties:
18+ - child nodes : Nodes to describe devices on the I2C
19+ bus.
20+
21+Examples:
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
55 - "fsl,imx7ulp-lpi2c" for LPI2C compatible with the one integrated on i.MX7ULP soc
66 - "fsl,imx8dv-lpi2c" for LPI2C compatible with the one integrated on i.MX8DV soc
77 - reg : address and length of the lpi2c master registers
8−- interrupt-parent : core interrupt controller
98 - interrupts : lpi2c interrupt
109 - clocks : lpi2c clock specifier
1110
Documentation/devicetree/bindings/i2c/i2c-jz4780.txt+0−4
@@ -11,10 +11,6 @@ Recommended properties: · 10 unmodified lines
1111 - pinctrl-names: should be "default";
1212 - pinctrl-0: phandle to pinctrl function
1313
14−Optional properties:
15−- interrupt-parent: Should be the phandle of the interrupt controller that
16− delivers interrupts to the I2C block.
17−
1814 Example
1915
2016 / {
Documentation/devicetree/bindings/i2c/i2c-mpc.txt+0−2
@@ -15,8 +15,6 @@ Recommended properties : · 14 unmodified lines
1515 information for the interrupt. This should be encoded based on
1616 the information in section 2) depending on the type of interrupt
1717 controller you have.
18− - interrupt-parent : the phandle for the interrupt controller that
19− services interrupts for this device.
2018 - fsl,preserve-clocking : boolean; if defined, the clock settings
2119 from the bootloader are preserved (not touched).
2220 - 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
2828 - i2c-mux-idle-disconnect: Boolean; if defined, forces mux to disconnect all
2929 children in idle state. This is necessary for example, if there are several
3030 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.
3331 - interrupts: Interrupt mapping for IRQ.
3432 - interrupt-controller: Marks the device node as an interrupt controller.
3533 - #interrupt-cells : Should be two.
Documentation/devicetree/bindings/i2c/i2c-owl.txt+27−0
@@ -0,0 +1,27 @@
1+Actions Semiconductor Owl I2C controller
2+
3+Required 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+
12+Optional 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.
17+Examples:
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
1212
1313 Optional properties
1414 - interrupts : the interrupt number
15− - interrupt-parent : the phandle for the interrupt controller.
16− If an interrupt is not specified polling will be used.
1715 - reset-gpios : gpio specifier for gpio connected to RESET_N pin. As the line
1816 is active low, it should be marked GPIO_ACTIVE_LOW.
1917 - clock-frequency : I2C bus frequency.
Documentation/devicetree/bindings/i2c/i2c-pnx.txt+0−2
@@ -7,8 +7,6 @@ Required properties: · 6 unmodified lines
77 - interrupts: configure one interrupt line
88 - #address-cells: always 1 (for i2c addresses)
99 - #size-cells: always 0
10− - interrupt-parent: the phandle for the interrupt controller that
11− services interrupts for this device.
1210
1311 Optional properties:
1412
Documentation/devicetree/bindings/i2c/i2c-pxa.txt+0−3
@@ -12,9 +12,6 @@ Required properties : · 11 unmodified lines
1212 Recommended properties :
1313
1414 - 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.
1815 - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling
1916 status register of i2c controller instead.
2017 - 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
44 - compatible:
55 "renesas,i2c-r8a7743" if the device is a part of a R8A7743 SoC.
66 "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.
78 "renesas,i2c-r8a7778" if the device is a part of a R8A7778 SoC.
89 "renesas,i2c-r8a7779" if the device is a part of a R8A7779 SoC.
910 "renesas,i2c-r8a7790" if the device is a part of a R8A7790 SoC.
@@ -16,11 +17,13 @@ Required properties: · 6 unmodified lines
1617 "renesas,i2c-r8a77965" if the device is a part of a R8A77965 SoC.
1718 "renesas,i2c-r8a77970" if the device is a part of a R8A77970 SoC.
1819 "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.
1921 "renesas,i2c-r8a77995" if the device is a part of a R8A77995 SoC.
2022 "renesas,rcar-gen1-i2c" for a generic R-Car Gen1 compatible device.
2123 "renesas,rcar-gen2-i2c" for a generic R-Car Gen2 or RZ/G1 compatible
2224 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.
2427 "renesas,i2c-rcar" (deprecated)
2528
2629 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
66 - "renesas,iic-r8a7740" (R-Mobile A1)
77 - "renesas,iic-r8a7743" (RZ/G1M)
88 - "renesas,iic-r8a7745" (RZ/G1E)
9+ - "renesas,iic-r8a774a1" (RZ/G2M)
910 - "renesas,iic-r8a7790" (R-Car H2)
1011 - "renesas,iic-r8a7791" (R-Car M2-W)
1112 - "renesas,iic-r8a7792" (R-Car V2H)
@@ -17,7 +18,8 @@ Required properties: · 5 unmodified lines
1718 - "renesas,iic-sh73a0" (SH-Mobile AG5)
1819 - "renesas,rcar-gen2-iic" (generic R-Car Gen2 or RZ/G1
1920 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)
2123 - "renesas,rmobile-iic" (generic device)
2224
2325 When compatible with a generic R-Car version, nodes
Documentation/devicetree/bindings/iio/accel/adxl345.txt+5−4
@@ -1,9 +1,12 @@
1−Analog Devices ADXL345 3-Axis, +/-(2g/4g/8g/16g) Digital Accelerometer
1+Analog Devices ADXL345/ADXL375 3-Axis Digital Accelerometers
22
33 http://www.analog.com/en/products/mems/accelerometers/adxl345.html
4+http://www.analog.com/en/products/sensors-mems/accelerometers/adxl375.html
45
56 Required properties:
6− - compatible : should be "adi,adxl345"
7+ - compatible : should be one of
8+ "adi,adxl345"
9+ "adi,adxl375"
710 - reg : the I2C address or SPI chip select number of the sensor
811
912 Required properties for SPI bus usage:
@@ -11,8 +14,6 @@ Required properties for SPI bus usage: · 1 unmodified line
1114 - spi-cpol and spi-cpha : must be defined for adxl345 to enable SPI mode 3
1215
1316 Optional properties:
14− - interrupt-parent : phandle to the parent interrupt controller as documented
15− in Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
1617 - interrupts: interrupt mapping for IRQ as documented in
1718 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
1819
Documentation/devicetree/bindings/iio/accel/bma180.txt+0−2
@@ -10,8 +10,6 @@ Required properties: · 9 unmodified lines
1010
1111 Optional properties:
1212
13− - interrupt-parent : should be the phandle for the interrupt controller
14−
1513 - interrupts : interrupt mapping for GPIO IRQ, it should by configured with
1614 flags IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING
1715 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
1515
1616 Optional properties:
1717
18− - interrupt-parent: should be the phandle for the interrupt controller
19−
2018 - interrupts: interrupt mapping for GPIO IRQ
2119
2220 - 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
44 - compatible: depending on the SoC this should be one of:
55 - "amlogic,meson8-saradc" for Meson8
66 - "amlogic,meson8b-saradc" for Meson8b
7+ - "amlogic,meson8m2-saradc" for Meson8m2
78 - "amlogic,meson-gxbb-saradc" for GXBB
89 - "amlogic,meson-gxl-saradc" for GXL
910 - "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
2121 - dmas: Phandle to dma channel for the ADC.
2222 - dma-names: Must be "rx" when dmas property is being used.
2323 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+
27+Properties 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>
2432
2533 Example:
2634
@@ -38,4 +46,5 @@ adc: adc@fc030000 { · 11 unmodified lines
3846 atmel,trigger-edge-type = <IRQ_TYPE_EDGE_BOTH>;
3947 dmas = <&dma0 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | AT91_XDMAC_DT_PERID(25))>;
4048 dma-names = "rx";
49+ #io-channel-cells = <1>;
4150 }
Documentation/devicetree/bindings/iio/adc/avia-hx711.txt+7−1
@@ -8,11 +8,17 @@ Required properties: · 7 unmodified lines
88 See Documentation/devicetree/bindings/gpio/gpio.txt
99 - avdd-supply: Definition of the regulator used as analog supply
1010
11+Optional 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+
1116 Example:
12−weight@0 {
17+weight {
1318 compatible = "avia,hx711";
1419 sck-gpios = <&gpio3 10 GPIO_ACTIVE_HIGH>;
1520 dout-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
1621 avdd-suppy = <&avdd>;
22+ clock-frequency = <100000>;
1723 };
1824
Documentation/devicetree/bindings/iio/adc/cpcap-adc.txt+0−1
@@ -2,7 +2,6 @@ Motorola CPCAP PMIC ADC binding · 1 unmodified line
22
33 Required properties:
44 - compatible: Should be "motorola,cpcap-adc" or "motorola,mapphone-cpcap-adc"
5−- interrupt-parent: The interrupt controller
65 - interrupts: The interrupt number for the ADC device
76 - interrupt-names: Should be "adcdone"
87 - #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
88 - reg: Should be the register range of the module.
99 - interrupts: Should be the interrupt number of the module.
1010 Typically this is <1>.
11− - interrupt-parent: phandle to the tsadc module of the i.MX25.
1211 - #address-cells: Should be <1> (setting for the subnodes)
1312 - #size-cells: Should be <0> (setting for the subnodes)
1413
Documentation/devicetree/bindings/iio/adc/max1027-adc.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
33 Required properties:
44 - compatible: Should be "maxim,max1027" or "maxim,max1029" or "maxim,max1031"
55 - 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
86 - interrupts: IRQ line for the ADC
97 see: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
108
Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.txt+1−1
@@ -7,7 +7,7 @@ Required properties: · 6 unmodified lines
77
88 Example node:
99
10− ads1202: adc@0 {
10+ ads1202: adc {
1111 compatible = "sd-modulator";
1212 #io-channel-cells = <0>;
1313 };
Documentation/devicetree/bindings/iio/adc/sprd,sc27xx-adc.txt+36−0
@@ -0,0 +1,36 @@
1+Spreadtrum SC27XX series PMICs ADC binding
2+
3+Required 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+
16+Example:
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
6060 - reg: Offset of ADC instance in ADC block (e.g. may be 0x0, 0x100, 0x200).
6161 - clocks: Input clock private to this ADC instance. It's required only on
6262 stm32f4, that has per instance clock input for registers access.
63−- interrupt-parent: Phandle to the parent interrupt controller.
6463 - interrupts: IRQ Line for the ADC (e.g. may be 0 for adc@0, 1 for adc@100 or
6564 2 for adc@200).
6665 - 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
2222 clock to the AXI bus interface of the core.
2323
2424 Optional properties:
25− - interrupt-parent: phandle to the parent interrupt controller
2625 - xlnx,external-mux:
2726 * "none": No external multiplexer is used, this is the default
2827 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
66
77 - compatible: must be "atlas,ec-sm"
88 - reg: the I2C address of the sensor
9− - interrupt-parent: should be the phandle for the interrupt controller
109 - interrupts: the sole interrupt generated by the device
1110
1211 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
66
77 - compatible: must be "atlas,orp-sm"
88 - reg: the I2C address of the sensor
9− - interrupt-parent: should be the phandle for the interrupt controller
109 - interrupts: the sole interrupt generated by the device
1110
1211 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
66
77 - compatible: must be "atlas,ph-sm"
88 - reg: the I2C address of the sensor
9− - interrupt-parent: should be the phandle for the interrupt controller
109 - interrupts: the sole interrupt generated by the device
1110
1211 Refer to interrupt-controller/interrupts.txt for generic interrupt client
Documentation/devicetree/bindings/iio/dac/ad5758.txt+78−0
@@ -0,0 +1,78 @@
1+Analog Devices AD5758 DAC device driver
2+
3+Required 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+
9+Required 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+
51+Optional 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+
66+AD5758 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
55 - reg : the I2C address of the sensor
66
77 Optional properties:
8− - interrupt-parent : should be the phandle for the interrupt controller
98 - interrupts : interrupt mapping for the trigger interrupt from the
109 internal oscillator. The following IRQ modes are supported:
1110 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
44 - compatible : Should be "ti,afe4403".
55 - reg : SPI chip select address of device.
66 - tx-supply : Regulator supply to transmitting LEDs.
7− - interrupt-parent : Phandle to he parent interrupt controller.
87 - interrupts : The interrupt line the device ADC_RDY pin is
98 connected to. For details refer to,
109 ../../interrupt-controller/interrupts.txt.
Documentation/devicetree/bindings/iio/health/afe4404.txt+0−1
@@ -4,7 +4,6 @@ Required properties: · 3 unmodified lines
44 - compatible : Should be "ti,afe4404".
55 - reg : I2C address of the device.
66 - tx-supply : Regulator supply to transmitting LEDs.
7− - interrupt-parent : Phandle to he parent interrupt controller.
87 - interrupts : The interrupt line the device ADC_RDY pin is
98 connected to. For details refer to,
109 ../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
55 Required properties:
66 - compatible: must be "maxim,max30100"
77 - reg: the I2C address of the sensor
8− - interrupt-parent: should be the phandle for the interrupt controller
98 - interrupts: the sole interrupt generated by the device
109
1110 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
77 Required properties:
88 - compatible: must be "maxim,max30102" or "maxim,max30105"
99 - reg: the I2C address of the sensor
10− - interrupt-parent: should be the phandle for the interrupt controller
1110 - interrupts: the sole interrupt generated by the device
1211
1312 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
1313 when it is not active, whereas a pull-up one is needed when interrupt
1414 line is configured as IRQ_TYPE_LEVEL_LOW or IRQ_TYPE_EDGE_FALLING.
1515 Refer to pinctrl/pinctrl-bindings.txt for the property description.
16−- interrupt-parent: should be the phandle for the interrupt controller
1716 - interrupts: interrupt mapping for IRQ. It should be configured with
1817 flags IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_EDGE_RISING, IRQ_TYPE_LEVEL_LOW or
1918 IRQ_TYPE_EDGE_FALLING.
Documentation/devicetree/bindings/iio/imu/bmi160.txt+0−1
@@ -9,7 +9,6 @@ Required properties: · 8 unmodified lines
99 - spi-max-frequency : set maximum clock frequency (only for SPI)
1010
1111 Optional properties:
12− - interrupt-parent : should be the phandle of the interrupt controller
1312 - interrupts : interrupt mapping for IRQ, must be IRQ_TYPE_LEVEL_LOW
1413 - interrupt-names : set to "INT1" if INT1 pin should be used as interrupt
1514 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
66 - compatible : should be one of
77 "invensense,mpu6050"
88 "invensense,mpu6500"
9+ "invensense,mpu6515"
910 "invensense,mpu9150"
1011 "invensense,mpu9250"
1112 "invensense,mpu9255"
1213 "invensense,icm20608"
1314 - reg : the I2C address of the sensor
14− - interrupt-parent : should be the phandle for the interrupt controller
1515 - interrupts: interrupt mapping for IRQ. It should be configured with flags
1616 IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_EDGE_RISING, IRQ_TYPE_LEVEL_LOW or
1717 IRQ_TYPE_EDGE_FALLING.
Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt+0−1
@@ -20,7 +20,6 @@ Optional properties: · 19 unmodified lines
2020 IRQ_TYPE_EDGE_RISING a pull-down resistor is needed to drive the line
2121 when it is not active, whereas a pull-up one is needed when interrupt
2222 line is configured as IRQ_TYPE_LEVEL_LOW or IRQ_TYPE_EDGE_FALLING.
23−- interrupt-parent: should be the phandle for the interrupt controller
2423 - interrupts: interrupt mapping for IRQ. It should be configured with
2524 flags IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_EDGE_RISING, IRQ_TYPE_LEVEL_LOW or
2625 IRQ_TYPE_EDGE_FALLING.
Documentation/devicetree/bindings/iio/light/apds9300.txt+0−1
@@ -9,7 +9,6 @@ Required properties: · 8 unmodified lines
99
1010 Optional properties:
1111
12− - interrupt-parent : should be the phandle for the interrupt controller
1312 - interrupts : interrupt mapping for GPIO IRQ
1413
1514 Example:
Documentation/devicetree/bindings/iio/light/apds9960.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
66
77 - compatible: must be "avago,apds9960"
88 - reg: the I2c address of the sensor
9− - interrupt-parent: should be the phandle for the interrupt controller
109 - interrupts : the sole interrupt generated by the device
1110
1211 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
1010
1111 Optional properties:
1212
13− - interrupt-parent: should be the phandle for the interrupt controller
1413 - interrupts: the sole interrupt generated by the device
1514
1615 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+
3+Required properties:
4+
5+ - compatible : should be "renesas,isl29501"
6+ - reg : the I2C address of the sensor
7+
8+Example:
9+
10+isl29501@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
1313 - reg: the I2C address of the sensor
1414
1515 Optional properties:
16− - interrupt-parent: should be the phandle for the interrupt controller
1716 - interrupts: interrupt mapping for GPIO IRQ (configure for falling edge)
1817
1918 Example:
Documentation/devicetree/bindings/iio/light/tsl2583.txt+0−1
@@ -10,7 +10,6 @@ Required properties: · 9 unmodified lines
1010
1111 Optional properties:
1212
13− - interrupt-parent: should be the phandle for the interrupt controller
1413 - interrupts: the sole interrupt generated by the device
1514
1615 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
55 - reg: i2c address of the sensor / spi cs line
66
77 Optional properties:
8−- interrupt-parent: should be the phandle for the interrupt controller
98 - interrupts: interrupt mapping for IRQ. It should be configured with
109 flags IRQ_TYPE_LEVEL_HIGH, IRQ_TYPE_EDGE_RISING, IRQ_TYPE_LEVEL_LOW or
1110 IRQ_TYPE_EDGE_FALLING.
Documentation/devicetree/bindings/iio/magnetometer/bmc150_magn.txt+0−1
@@ -9,7 +9,6 @@ Required properties: · 8 unmodified lines
99
1010 Optional properties:
1111
12− - interrupt-parent : phandle to the parent interrupt controller
1312 - interrupts : interrupt mapping for GPIO IRQ
1413
1514 Example:
Documentation/devicetree/bindings/iio/pressure/bmp085.txt+0−8
@@ -8,11 +8,6 @@ Required properties: · 7 unmodified lines
88 "bosch,bme280"
99
1010 Optional 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
1611 - interrupts: interrupt mapping for IRQ
1712 - reset-gpios: a GPIO line handling reset of the sensor: as the line is
1813 active low, it should be marked GPIO_ACTIVE_LOW (see gpio/gpio.txt)
@@ -24,9 +19,6 @@ Example: · 5 unmodified lines
2419 pressure@77 {
2520 compatible = "bosch,bmp085";
2621 reg = <0x77>;
27− chip-id = <10>;
28− temp-measurement-period = <100>;
29− default-oversampling = <2>;
3022 interrupt-parent = <&gpio0>;
3123 interrupts = <25 IRQ_TYPE_EDGE_RISING>;
3224 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
1515 power to the sensor
1616 - vdd-supply: an optional regulator that needs to be on to provide VDD
1717 power to the sensor
18−- interrupt-parent: phandle to the parent interrupt controller as documented in
19− Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
2018 - interrupts: interrupt mapping for IRQ as documented in
2119 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
2220
Documentation/devicetree/bindings/iio/proximity/as3935.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
66 - spi-max-frequency: specifies maximum SPI clock frequency
77 - spi-cpha: SPI Mode 1. Refer to spi/spi-bus.txt for generic SPI
88 slave node bindings.
9− - interrupt-parent : should be the phandle for the interrupt controller
109 - interrupts : the sole interrupt generated by the device
1110
1211 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
33 Required properties:
44 - compatible: must be "semtech,sx9500"
55 - reg: i2c address where to find the device
6− - interrupt-parent : should be the phandle for the interrupt controller
76 - interrupts : the sole interrupt generated by the device
87
98 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
66 Required properties:
77 - compatible: "samsung,sensorhub-rinato" or "samsung,sensorhub-thermostat"
88 - spi-max-frequency: max SPI clock frequency
9−- interrupt-parent: interrupt parent
109 - interrupts: communication interrupt
1110 - ap-mcu-gpios: [out] ap to sensorhub line - used during communication
1211 - 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
2020
2121 Optional properties:
2222
23− - interrupt-parent: should be the phandle for the interrupt controller
24−
2523 - interrupts: interrupt mapping for GPIO IRQ (level active low)
2624
2725 Example:
Documentation/devicetree/bindings/infiniband/hisilicon-hns-roce.txt+0−1
@@ -19,7 +19,6 @@ representing a dsaf device. · 18 unmodified lines
1919 - #size-cells: must be 2
2020 Optional properties:
2121 - dma-coherent: Present if DMA operations are coherent.
22−- interrupt-parent: the interrupt parent of this device.
2322 - interrupts: should contain 32 completion event irq,1 async event irq
2423 and 1 event overflow irq.
2524 - 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
33 Required properties:
44 - compatible: must be "cypress,cyapa".
55 - reg: I2C address of the chip.
6−- interrupt-parent: a phandle for the interrupt controller (see interrupt
7− binding[0]).
86 - interrupts: interrupt to which the chip is connected (see interrupt
97 binding[0]).
108
Documentation/devicetree/bindings/input/cypress,tm2-touchkey.txt+0−2
@@ -3,8 +3,6 @@ Samsung tm2-touchkey · 2 unmodified lines
33 Required properties:
44 - compatible: must be "cypress,tm2-touchkey"
55 - reg: I2C address of the chip.
6−- interrupt-parent: a phandle for the interrupt controller (see interrupt
7− binding[0]).
86 - interrupts: interrupt to which the chip is connected (see interrupt
97 binding[0]).
108 - 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
77 Required properties:
88 - compatible: should be one of the following
99 - "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.
1210 - interrupts: should be one of the following
1311 - <0 30 1>, <0 31 1>: For devices such as the NI Ettus Research USRP E3x0
1412 - 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
33 Required properties:
44 - compatible: must be "elan,ekth3000".
55 - reg: I2C address of the chip.
6−- interrupt-parent: a phandle for the interrupt controller (see interrupt
7− binding[0]).
86 - interrupts: interrupt to which the chip is connected (see interrupt
97 binding[0]).
108
Documentation/devicetree/bindings/input/elants_i2c.txt+0−2
@@ -3,8 +3,6 @@ Elantech I2C Touchscreen · 2 unmodified lines
33 Required properties:
44 - compatible: must be "elan,ekth3500".
55 - reg: I2C address of the chip.
6−- interrupt-parent: a phandle for the interrupt controller (see interrupt
7− binding[0]).
86 - interrupts: interrupt to which the chip is connected (see interrupt
97 binding[0]).
108
Documentation/devicetree/bindings/input/hid-over-i2c.txt+2−2
@@ -14,7 +14,6 @@ Required properties: · 13 unmodified lines
1414 - compatible: must be "hid-over-i2c"
1515 - reg: i2c slave address
1616 - hid-descr-addr: HID descriptor address
17−- interrupt-parent: the phandle for the interrupt controller
1817 - interrupts: interrupt line
1918
2019 Additional optional properties:
@@ -26,7 +25,8 @@ device-specific compatible properties, which should be used in addition to the · 5 unmodified lines
2625
2726 - compatible:
2827 * "wacom,w9013" (Wacom W9013 digitizer). Supports:
29− - vdd-supply
28+ - vdd-supply (3.3V)
29+ - vddl-supply (1.8V)
3030 - post-power-on-delay-ms
3131
3232 - vdd-supply: phandle of the regulator that provides the supply voltage.
Documentation/devicetree/bindings/input/keys.txt+8−0
@@ -0,0 +1,8 @@
1+General Keys Properties:
2+
3+Optional 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
77 Value type: <string>
88 Definition: must be one of:
99 "qcom,pm8941-pwrkey"
10+ "qcom,pm8941-resin"
1011
1112 - reg:
1213 Usage: required
@@ -32,6 +33,14 @@ PROPERTIES · 19 unmodified lines
3233 Definition: presence of this property indicates that the KPDPWR_N pin
3334 should be configured for pull up.
3435
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+
3544 EXAMPLE
3645
3746 pwrkey@800 {
@@ -40,4 +49,5 @@ EXAMPLE · 2 unmodified lines
4049 interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
4150 debounce = <15625>;
4251 bias-pull-up;
52+ linux,code = <KEY_POWER>;
4353 };
Documentation/devicetree/bindings/input/raydium_i2c_ts.txt+0−1
@@ -3,7 +3,6 @@ Raydium I2C touchscreen · 2 unmodified lines
33 Required properties:
44 - compatible: must be "raydium,rm32380"
55 - reg: The I2C address of the device
6−- interrupt-parent: the phandle for the interrupt controller
76 - interrupts: interrupt to which the chip is connected
87 See ../interrupt-controller/interrupts.txt
98 Optional properties:
Documentation/devicetree/bindings/input/rmi4/rmi_i2c.txt+0−1
@@ -16,7 +16,6 @@ Required Properties: · 15 unmodified lines
1616
1717 Optional Properties:
1818 - interrupts: interrupt which the rmi device is connected to.
19−- interrupt-parent: The interrupt controller.
2019 See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
2120
2221 - 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
1616
1717 Optional Properties:
1818 - interrupts: interrupt which the rmi device is connected to.
19−- interrupt-parent: The interrupt controller.
2019 See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
2120
2221 - 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
99 Required properties:
1010 - compatible: should be one of the following
1111 - "ti,palmas-pwrbutton": For Palmas compatible power on button
12−- interrupt-parent: Parent interrupt device, must be handle of palmas node.
1312 - interrupts: Interrupt number of power button submodule on device.
1413
1514 Optional Properties:
Documentation/devicetree/bindings/input/touchscreen/ad7879.txt+0−1
@@ -5,7 +5,6 @@ Required properties: · 4 unmodified lines
55 for I2C slave, use "adi,ad7879-1"
66 - reg : SPI chipselect/I2C slave address
77 See spi-bus.txt for more SPI slave properties
8−- interrupt-parent : the phandle for the interrupt controller
98 - interrupts : touch controller interrupt
109 - touchscreen-max-pressure : maximum reported pressure
1110 - 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
1818 "ti,ads7846"
1919 "ti,ads7873"
2020
21− interrupt-parent
2221 interrupts An interrupt node describing the IRQ line the chip's
2322 !PENIRQ pin is connected to.
2423 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
33 Required properties:
44 - compatible : "microchip,ar1021-i2c"
55 - reg : I2C slave address
6−- interrupt-parent : the phandle for the interrupt controller
76 - interrupts : touch controller interrupt
87
98 Example:
Documentation/devicetree/bindings/input/touchscreen/bu21029.txt+35−0
@@ -0,0 +1,35 @@
1+* Rohm BU21029 Touch Screen Controller
2+
3+Required 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+
10+Optional 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+
17+Example:
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
33 Required properties:
44 - compatible : "chipone,icn8318"
55 - 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
86 - interrupts : interrupt specification for the icn8318 interrupt
97 - wake-gpios : GPIO specification for the WAKE input
108 - 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
77 - xm-gpios: FET gate driver for input of X-
88 - yp-gpios: FET gate driver for input of Y+
99 - ym-gpios: FET gate driver for input of Y-
10−- interrupt-parent: phandle for the interrupt controller
1110 - interrupts: pen irq interrupt for touch detection
1211 - pinctrl-names: "idle", "default", "gpios"
1312 - 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
44 - compatible : must be "cypress,cyttsp-i2c" or "cypress,cyttsp-spi"
55 - reg : Device I2C address or SPI chip select number
66 - 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]).
97 - interrupts : (gpio) interrupt to which the chip is connected
108 (see interrupt binding[0]).
119 - 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
2222 or: "focaltech,ft6236"
2323
2424 - 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
2725 - interrupts: interrupt specification for the touchdetect
2826 interrupt
2927
Documentation/devicetree/bindings/input/touchscreen/eeti.txt+30−0
@@ -0,0 +1,30 @@
1+Bindings for EETI touchscreen controller
2+
3+Required 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+
8+Optional 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+
13+The following optional properties described in touchscreen.txt are
14+also supported:
15+
16+- touchscreen-inverted-x
17+- touchscreen-inverted-y
18+- touchscreen-swapped-x-y
19+
20+Example:
21+
22+i2c-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
33 Required properties:
44 - compatible: must be "eeti,egalax_ts"
55 - reg: i2c slave address
6−- interrupt-parent: the phandle for the interrupt controller
76 - interrupts: touch controller interrupt
87 - wakeup-gpios: the gpio pin to be used for waking up the controller
98 and also used as irq pin
Documentation/devicetree/bindings/input/touchscreen/ektf2127.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
33 Required properties:
44 - compatible : "elan,ektf2127"
55 - 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
86 - interrupts : interrupt specification for the ektf2127 interrupt
97 - power-gpios : GPIO specification for the pin connected to the
108 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
33 Required properties:
44 - compatible: must be "eeti,exc3000"
55 - reg: i2c slave address
6−- interrupt-parent: the phandle for the interrupt controller
76 - interrupts: touch controller interrupt
87 - touchscreen-size-x: See touchscreen.txt
98 - 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
88 - reg: Memory range of the device.
99 - interrupts: Should be the interrupt number associated with this module within
1010 the tscadc unit (<0>).
11− - interrupt-parent: Should be a phandle to the tscadc unit.
1211 - fsl,wires: Should be '<4>' or '<5>'
1312
1413 Optional properties:
Documentation/devicetree/bindings/input/touchscreen/goodix.txt+0−1
@@ -11,7 +11,6 @@ Required properties: · 10 unmodified lines
1111 or "goodix,gt928"
1212 or "goodix,gt967"
1313 - reg : I2C address of the chip. Should be 0x5d or 0x14
14− - interrupt-parent : Interrupt controller to which the chip is connected
1514 - interrupts : Interrupt to which the chip is connected
1615
1716 Optional properties:
Documentation/devicetree/bindings/input/touchscreen/hideep.txt+1−2
@@ -3,7 +3,6 @@ · 2 unmodified lines
33 Required properties:
44 - compatible : must be "hideep,hideep-ts"
55 - reg : I2C slave address, (e.g. 0x6C).
6−- interrupt-parent : Interrupt controller to which the chip is connected.
76 - interrupts : Interrupt to which the chip is connected.
87
98 Optional properties:
@@ -32,7 +31,7 @@ i2c@00000000 { · 22 unmodified lines
3231 reg = <0x6c>;
3332 interrupt-parent = <&gpx1>;
3433 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
35− vdd-supply = <&ldo15_reg>";
34+ vdd-supply = <&ldo15_reg>;
3635 vid-supply = <&ldo18_reg>;
3736 reset-gpios = <&gpx1 5 0>;
3837 touchscreen-size-x = <1080>;
Documentation/devicetree/bindings/input/touchscreen/max11801-ts.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
33 Required properties:
44 - compatible: must be "maxim,max11801"
55 - reg: i2c slave address
6−- interrupt-parent: the phandle for the interrupt controller
76 - interrupts: touch controller interrupt
87
98 Example:
Documentation/devicetree/bindings/input/touchscreen/melfas_mip4.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
33 Required properties:
44 - compatible: must be "melfas,mip4_ts"
55 - reg: I2C slave address of the chip (0x48 or 0x34)
6−- interrupt-parent: interrupt controller to which the chip is connected
76 - interrupts: interrupt to which the chip is connected
87
98 Optional properties:
Documentation/devicetree/bindings/input/touchscreen/resistive-adc-touch.txt+30−0
@@ -0,0 +1,30 @@
1+Generic resistive touchscreen ADC
2+
3+Required properties:
4+
5+ - compatible: must be "resistive-adc-touch"
6+The device must be connected to an ADC device that provides channels for
7+position measurement and optional pressure.
8+Refer to ../iio/iio-bindings.txt for details
9+ - iio-channels: must have at least two channels connected to an ADC device.
10+These should correspond to the channels exposed by the ADC device and should
11+have the right index as the ADC device registers them. These channels
12+represent the relative position on the "x" and "y" axes.
13+ - iio-channel-names: must have all the channels' names. Mandatory channels
14+are "x" and "y".
15+
16+Optional properties:
17+ - iio-channels: The third channel named "pressure" is optional and can be
18+used if the ADC device also measures pressure besides position.
19+If this channel is missing, pressure will be ignored and the touchscreen
20+will only report position.
21+ - iio-channel-names: optional channel named "pressure".
22+
23+Example:
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
33 Required properties:
44 - compatible : must be "samsung,s6sy761"
55 - reg : I2C slave address, (e.g. 0x48)
6−- interrupt-parent : the phandle to the interrupt controller which provides
7− the interrupt
86 - interrupts : interrupt specification
97 - avdd-supply : analogic power supply
108 - vdd-supply : power supply
Documentation/devicetree/bindings/input/touchscreen/silead_gsl1680.txt+0−2
@@ -8,8 +8,6 @@ Required properties: · 7 unmodified lines
88 "silead,gsl3675"
99 "silead,gsl3692"
1010 - 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
1311 - interrupts : interrupt specification for the gsl1680 interrupt
1412 - power-gpios : Specification for the pin connected to the gsl1680's
1513 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
33 Required properties:
44 - compatible: must be "sis,9200-ts"
55 - reg: i2c slave address
6−- interrupt-parent: the phandle for the interrupt controller
7− (see interrupt binding [0])
86 - interrupts: touch controller interrupt (see interrupt
97 binding [0])
108
Documentation/devicetree/bindings/input/touchscreen/st,stmfts.txt+0−2
@@ -10,8 +10,6 @@ coordinates. · 9 unmodified lines
1010 Required properties:
1111 - compatible : must be "st,stmfts"
1212 - reg : I2C slave address, (e.g. 0x49)
13−- interrupt-parent : the phandle to the interrupt controller which provides
14− the interrupt
1513 - interrupts : interrupt specification
1614 - avdd-supply : analogic power supply
1715 - vdd-supply : power supply
Documentation/devicetree/bindings/input/touchscreen/sx8654.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
33 Required properties:
44 - compatible: must be "semtech,sx8654"
55 - reg: i2c slave address
6−- interrupt-parent: the phandle for the interrupt controller
76 - interrupts: touch controller interrupt
87
98 Example:
Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt+3−0
@@ -7,6 +7,9 @@ Optional properties for Touchscreens: · 6 unmodified lines
77 (in pixels)
88 - touchscreen-max-pressure : maximum reported pressure (arbitrary range
99 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.
1013 - touchscreen-fuzz-x : horizontal noise value of the absolute input
1114 device (in pixels)
1215 - 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
99 - gpios: the interrupt gpio the chip is connected to (trough the penirq pin).
1010 The penirq pin goes to low when the panel is touched.
1111 (see GPIO binding[1] for more details).
12−- interrupt-parent: the phandle for the gpio controller
13− (see interrupt binding[0]).
1412 - interrupts: (gpio) interrupt to which the chip is connected
1513 (see interrupt binding[0]).
1614 - 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
33 Required properties:
44 - compatible : "zeitec,zet6223"
55 - 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
86 - interrupts : interrupt specification for the zet6223 interrupt
97
108 Optional properties:
Documentation/devicetree/bindings/interrupt-controller/abilis,tb10x-ictl.txt+0−1
@@ -13,7 +13,6 @@ Required properties · 12 unmodified lines
1313 - interrupt-congroller: Identifies the node as an interrupt controller.
1414 - #interrupt cells: Specifies the number of cells used to encode an interrupt
1515 source connected to this controller. The value shall be 2.
16−- interrupt-parent: Specifies the parent interrupt controller.
1716 - interrupts: Specifies the list of interrupt lines which are handled by
1817 the interrupt controller in the parent controller's notation. Interrupts
1918 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
66
77 - compatible: should be "al,alpine-msix"
88 - reg: physical base address and size of the registers
9−- interrupt-parent: specifies the parent interrupt controller.
109 - interrupt-controller: identifies the node as an interrupt controller
1110 - msi-controller: identifies the node as an PCI Message Signaled Interrupt
1211 controller
Documentation/devicetree/bindings/interrupt-controller/allwinner,sunxi-nmi.txt+0−1
@@ -13,7 +13,6 @@ Required properties: · 12 unmodified lines
1313 - #interrupt-cells : Specifies the number of cells needed to encode an
1414 interrupt source. The value shall be 2. The first cell is the IRQ number, the
1515 second cell the trigger type as defined in interrupt.txt in this directory.
16−- interrupt-parent: Specifies the parent interrupt controller.
1716 - interrupts: Specifies the interrupt line (NMI) which is handled by
1817 the interrupt controller in the parent controller's notation. This value
1918 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
1515 "amlogic,meson-gxbb-gpio-intc" for GXBB SoCs (S905) or
1616 "amlogic,meson-gxl-gpio-intc" for GXL SoCs (S905X, S912)
1717 "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.
2118 - reg : Specifies base physical address and size of the registers.
2219 - interrupt-controller : Identifies the node as an interrupt controller.
2320 - #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
44 - compatible: Should be "atmel,<chip>-aic"
55 <chip> can be "at91rm9200", "sama5d2", "sama5d3" or "sama5d4"
66 - interrupt-controller: Identifies the node as an interrupt controller.
7−- interrupt-parent: For single AIC system, it is an empty property.
87 - #interrupt-cells: The number of cells to define the interrupts. It should be 3.
98 The first cell is the IRQ number (aka "Peripheral IDentifier" on datasheet).
109 The second cell is used to specify flags:
@@ -27,7 +26,6 @@ Examples: · 16 unmodified lines
2726 aic: interrupt-controller@fffff000 {
2827 compatible = "atmel,at91rm9200-aic";
2928 interrupt-controller;
30− interrupt-parent;
3129 #interrupt-cells = <3>;
3230 reg = <0xfffff000 0x200>;
3331 };
Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt+0−2
@@ -26,8 +26,6 @@ Required properties: · 25 unmodified lines
2626 are 0..7 for bank 0, and 0..31 for bank 1.
2727
2828 Additional required properties for brcm,bcm2836-armctrl-ic:
29−- interrupt-parent : Specifies the parent interrupt controller when this
30− controller is the second level.
3129 - interrupts : Specifies the interrupt on the parent for this interrupt
3230 controller to handle.
3331
Documentation/devicetree/bindings/interrupt-controller/brcm,bcm3380-l2-intc.txt+0−2
@@ -18,8 +18,6 @@ Required properties: · 17 unmodified lines
1818 - interrupt-controller: identifies the node as an interrupt controller
1919 - #interrupt-cells: specifies the number of cells needed to encode an interrupt
2020 source, should be 1.
21−- interrupt-parent: specifies the phandle to the parent interrupt controller
22− this one is cascaded from
2321 - interrupts: specifies the interrupt line in the interrupt-parent controller
2422 node, valid values depend on the type of parent interrupt controller
2523
Documentation/devicetree/bindings/interrupt-controller/brcm,bcm6345-l1-intc.txt+0−2
@@ -29,8 +29,6 @@ Required properties: · 28 unmodified lines
2929 - interrupt-controller: identifies the node as an interrupt controller
3030 - #interrupt-cells: specifies the number of cells needed to encode an interrupt
3131 source, should be 1.
32−- interrupt-parent: specifies the phandle to the parent interrupt controller(s)
33− this one is cascaded from
3432 - interrupts: specifies the interrupt line(s) in the interrupt-parent controller
3533 node; valid values depend on the type of parent interrupt controller
3634
Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7038-l1-intc.txt+0−2
@@ -28,8 +28,6 @@ Required properties: · 27 unmodified lines
2828 - interrupt-controller: identifies the node as an interrupt controller
2929 - #interrupt-cells: specifies the number of cells needed to encode an interrupt
3030 source, should be 1.
31−- interrupt-parent: specifies the phandle to the parent interrupt controller(s)
32− this one is cascaded from
3331 - interrupts: specifies the interrupt line(s) in the interrupt-parent controller
3432 node; valid values depend on the type of parent interrupt controller
3533
Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt+0−2
@@ -56,8 +56,6 @@ Required properties: · 55 unmodified lines
5656 - interrupt-controller: identifies the node as an interrupt controller
5757 - #interrupt-cells: specifies the number of cells needed to encode an interrupt
5858 source, should be 1.
59−- interrupt-parent: specifies the phandle to the parent interrupt controller
60− this one is cascaded from
6159 - interrupts: specifies the interrupt line(s) in the interrupt-parent controller
6260 node, valid values depend on the type of parent interrupt controller
6361 - 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
88 - interrupt-controller: identifies the node as an interrupt controller
99 - #interrupt-cells: specifies the number of cells needed to encode an
1010 interrupt source. Should be 1.
11−- interrupt-parent: specifies the phandle to the parent interrupt controller
12− this controller is cacaded from
1311 - interrupts: specifies the interrupt line in the interrupt-parent irq space
1412 to be used for cascading
1513
Documentation/devicetree/bindings/interrupt-controller/fsl,ls-scfg-msi.txt+0−3
@@ -13,9 +13,6 @@ Required properties: · 12 unmodified lines
1313 - reg: physical base address of the controller and length of memory mapped.
1414 - interrupts: an interrupt to the parent interrupt controller.
1515
16−Optional properties:
17−- interrupt-parent: the phandle to the parent interrupt controller.
18−
1916 This interrupt controller hardware is a second level interrupt controller that
2017 is hooked to a parent interrupt controller: e.g: ARM GIC for ARM-based
2118 platforms. 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
6868
6969 Devices connect to mbigen required properties:
7070 ----------------------------------------------------
71−-interrupt-parent: Specifies the mbigen device node which device connected.
72−
7371 -interrupts:Specifies the interrupt source.
7472 For the specific information of each cell in this property,please refer to
7573 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
44
55 - compatible : should be "ingenic,<socname>-intc". Valid strings are:
66 ingenic,jz4740-intc
7+ ingenic,jz4725b-intc
78 ingenic,jz4770-intc
89 ingenic,jz4775-intc
910 ingenic,jz4780-intc
@@ -11,7 +12,6 @@ Required properties: · 1 unmodified line
1112 - interrupt-controller : Identifies the node as an interrupt controller
1213 - #interrupt-cells : Specifies the number of cells needed to encode an
1314 interrupt source. The value shall be 1.
14−- interrupt-parent : phandle of the CPU interrupt controller.
1515 - interrupts : Specifies the CPU interrupt the controller is connected to.
1616
1717 Example:
Documentation/devicetree/bindings/interrupt-controller/marvell,odmi-controller.txt+0−2
@@ -26,8 +26,6 @@ Required properties: · 25 unmodified lines
2626 See Documentation/devicetree/bindings/interrupt-controller/arm,gic.txt
2727 for details about the GIC Device Tree binding.
2828
29−- interrupt-parent : Reference to the parent interrupt controller.
30−
3129 Example:
3230
3331 odmi: odmi@300000 {
Documentation/devicetree/bindings/interrupt-controller/mediatek,cirq.txt+0−2
@@ -16,8 +16,6 @@ Required properties: · 15 unmodified lines
1616 and "mediatek,cirq" as a fallback.
1717 - interrupt-controller : Identifies the node as an interrupt controller.
1818 - #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.
2119 - reg: Physical base address of the cirq registers and length of memory
2220 mapped region.
2321 - 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
1111 "mediatek,mt7622-sysirq", "mediatek,mt6577-sysirq": for MT7622
1212 "mediatek,mt6795-sysirq", "mediatek,mt6577-sysirq": for MT6795
1313 "mediatek,mt6797-sysirq", "mediatek,mt6577-sysirq": for MT6797
14+ "mediatek,mt6765-sysirq", "mediatek,mt6577-sysirq": for MT6765
1415 "mediatek,mt6755-sysirq", "mediatek,mt6577-sysirq": for MT6755
1516 "mediatek,mt6592-sysirq", "mediatek,mt6577-sysirq": for MT6592
1617 "mediatek,mt6589-sysirq", "mediatek,mt6577-sysirq": for MT6589
@@ -21,8 +22,6 @@ Required properties: · 4 unmodified lines
2122 "mediatek,mt2701-sysirq", "mediatek,mt6577-sysirq": for MT2701
2223 - interrupt-controller : Identifies the node as an interrupt controller
2324 - #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.
2625 - reg: Physical base address of the intpol registers and length of memory
2726 mapped region. Could be multiple bases here. Ex: mt6797 needs 2 reg, others
2827 need 1.
Documentation/devicetree/bindings/interrupt-controller/mscc,ocelot-icpu-intr.txt+0−1
@@ -7,7 +7,6 @@ Required properties: · 6 unmodified lines
77 - interrupt-controller : Identifies the node as an interrupt controller
88 - #interrupt-cells : Specifies the number of cells needed to encode an
99 interrupt source. The value shall be 1.
10−- interrupt-parent : phandle of the CPU interrupt controller.
1110 - interrupts : Specifies the CPU interrupt the controller is connected to.
1211
1312 Example:
Documentation/devicetree/bindings/interrupt-controller/nvidia,tegra20-ictlr.txt+1−3
@@ -15,12 +15,10 @@ Required properties: · 14 unmodified lines
1515 include "nvidia,tegra30-ictlr".
1616 - reg : Specifies base physical address and size of the registers.
1717 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).
1919 - interrupt-controller : Identifies the node as an interrupt controller.
2020 - #interrupt-cells : Specifies the number of cells needed to encode an
2121 interrupt source. The value must be 3.
22−- interrupt-parent : a phandle to the GIC these interrupts are routed
23− to.
2422
2523 Notes:
2624
Documentation/devicetree/bindings/interrupt-controller/nxp,lpc3220-mic.txt+0−2
@@ -14,8 +14,6 @@ Required properties: · 13 unmodified lines
1414 Reset value is IRQ_TYPE_LEVEL_LOW.
1515
1616 Optional properties:
17−- interrupt-parent: empty for MIC interrupt controller, link to parent
18− MIC interrupt controller for SIC1 and SIC2
1917 - interrupts: empty for MIC interrupt controller, cascaded MIC
2018 hardware interrupts for SIC1 and SIC2
2119
Documentation/devicetree/bindings/interrupt-controller/qca,ath79-misc-intc.txt+0−1
@@ -7,7 +7,6 @@ Required Properties: · 6 unmodified lines
77 - compatible: has to be "qca,<soctype>-cpu-intc", "qca,ar7100-misc-intc" or
88 "qca,<soctype>-cpu-intc", "qca,ar7240-misc-intc"
99 - reg: Base address and size of the controllers memory area
10−- interrupt-parent: phandle of the parent interrupt controller.
1110 - interrupts: Interrupt specifier for the controllers interrupt.
1211 - interrupt-controller : Identifies the node as an interrupt controller
1312 - #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
3535 interrupt.
3636 The second element is the trigger type.
3737
38−- interrupt-parent:
39− Usage: required
40− Value type: <phandle>
41− Definition: Specifies the interrupt parent necessary for hierarchical
42− domain to operate.
43−
4438 - interrupt-controller:
4539 Usage: required
4640 Value type: <bool>
Documentation/devicetree/bindings/interrupt-controller/renesas,irqc.txt+3−0
@@ -7,15 +7,18 @@ Required properties: · 6 unmodified lines
77 - "renesas,irqc-r8a73a4" (R-Mobile APE6)
88 - "renesas,irqc-r8a7743" (RZ/G1M)
99 - "renesas,irqc-r8a7745" (RZ/G1E)
10+ - "renesas,irqc-r8a77470" (RZ/G1C)
1011 - "renesas,irqc-r8a7790" (R-Car H2)
1112 - "renesas,irqc-r8a7791" (R-Car M2-W)
1213 - "renesas,irqc-r8a7792" (R-Car V2H)
1314 - "renesas,irqc-r8a7793" (R-Car M2-N)
1415 - "renesas,irqc-r8a7794" (R-Car E2)
16+ - "renesas,intc-ex-r8a774a1" (RZ/G2M)
1517 - "renesas,intc-ex-r8a7795" (R-Car H3)
1618 - "renesas,intc-ex-r8a7796" (R-Car M3-W)
1719 - "renesas,intc-ex-r8a77965" (R-Car M3-N)
1820 - "renesas,intc-ex-r8a77970" (R-Car V3M)
21+ - "renesas,intc-ex-r8a77980" (R-Car V3H)
1922 - "renesas,intc-ex-r8a77995" (R-Car D3)
2023 - #interrupt-cells: has to be <2>: an interrupt index and flags, as defined in
2124 interrupts.txt in this directory
Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.txt+44−0
@@ -0,0 +1,44 @@
1+RISC-V Hart-Level Interrupt Controller (HLIC)
2+---------------------------------------------
3+
4+RISC-V cores include Control Status Registers (CSRs) which are local to each
5+CPU core (HART in RISC-V terminology) and can be read or written by software.
6+Some of these CSRs are used to control local interrupts connected to the core.
7+Every interrupt is ultimately routed through a hart's HLIC before it
8+interrupts that hart.
9+
10+The RISC-V supervisor ISA manual specifies three interrupt sources that are
11+attached to every HLIC: software interrupts, the timer interrupt, and external
12+interrupts. Software interrupts are used to send IPIs between cores. The
13+timer interrupt comes from an architecturally mandated real-time timer that is
14+controller via Supervisor Binary Interface (SBI) calls and CSR reads. External
15+interrupts connect all other device interrupts to the HLIC, which are routed
16+via the platform-level interrupt controller (PLIC).
17+
18+All RISC-V systems that conform to the supervisor ISA specification are
19+required to have a HLIC with these three interrupt sources present. Since the
20+interrupt map is defined by the ISA it's not listed in the HLIC's device tree
21+entry, though external interrupt controllers (like the PLIC, for example) will
22+need to define how their interrupts map to the relevant HLICs. This means
23+a PLIC interrupt property will typically list the HLICs for all present HARTs
24+in the system.
25+
26+Required properties:
27+- compatible : "riscv,cpu-intc"
28+- #interrupt-cells : should be <1>
29+- interrupt-controller : Identifies the node as an interrupt controller
30+
31+Furthermore, this interrupt-controller MUST be embedded inside the cpu
32+definition of the hart whose CSRs control these local interrupts.
33+
34+An 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
3232 - samsung,combiner-nr: The number of interrupt combiners supported. If this
3333 property is not specified, the default number of combiners is assumed
3434 to be 16.
35−- interrupt-parent: pHandle of the parent interrupt controller, if not
36− inherited from the parent node.
3735
3836
3937 Example:
Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.txt+58−0
@@ -0,0 +1,58 @@
1+SiFive Platform-Level Interrupt Controller (PLIC)
2+-------------------------------------------------
3+
4+SiFive SOCs include an implementation of the Platform-Level Interrupt Controller
5+(PLIC) high-level specification in the RISC-V Privileged Architecture
6+specification. The PLIC connects all external interrupts in the system to all
7+hart contexts in the system, via the external interrupt source in each hart.
8+
9+A hart context is a privilege mode in a hardware execution thread. For example,
10+in an 4 core system with 2-way SMT, you have 8 harts and probably at least two
11+privilege modes per hart; machine mode and supervisor mode.
12+
13+Each interrupt can be enabled on per-context basis. Any context can claim
14+a pending enabled interrupt and then release it once it has been handled.
15+
16+Each interrupt has a configurable priority. Higher priority interrupts are
17+serviced first. Each context can specify a priority threshold. Interrupts
18+with priority below this threshold will not cause the PLIC to raise its
19+interrupt line leading to the context.
20+
21+While the PLIC supports both edge-triggered and level-triggered interrupts,
22+interrupt handlers are oblivious to this distinction and therefore it is not
23+specified in the PLIC device-tree binding.
24+
25+While 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
27+contains a specific memory layout, which is documented in chapter 8 of the
28+SiFive U5 Coreplex Series Manual <https://static.dev.sifive.com/U54-MC-RVCoreIP.pdf>.
29+
30+Required 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+
43+Example:
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
44 - compatible: should be "sigma,smp8642-intc"
55 - reg: physical address of MMIO region
66 - ranges: address space mapping of child nodes
7−- interrupt-parent: phandle of parent interrupt controller
87 - interrupt-controller: boolean
98 - #address-cells: should be <1>
109 - #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
77
88 - compatible: "snps,archs-idu-intc"
99 - interrupt-controller: This is an interrupt controller.
10−- interrupt-parent: <reference to parent core intc>
1110 - #interrupt-cells: Must be <1>.
1211
1312 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
1111 - interrupt-controller: identifies the node as an interrupt controller
1212 - #interrupt-cells: number of cells to encode an interrupt-specifier, shall be 1
1313 - interrupts: interrupt reference to primary interrupt controller
14−- interrupt-parent: (optional) reference specific primary interrupt controller
1514
1615 The interrupt sources map to the corresponding bits in the interrupt
1716 registers, i.e.
Documentation/devicetree/bindings/interrupt-controller/socionext,synquacer-exiu.txt+0−1
@@ -12,7 +12,6 @@ Required properties: · 11 unmodified lines
1212 - interrupt-controller : Identifies the node as an interrupt controller.
1313 - #interrupt-cells : Specifies the number of cells needed to encode an
1414 interrupt source. The value must be 3.
15−- interrupt-parent : phandle of the GIC these interrupts are routed to.
1615 - socionext,spi-base : The SPI number of the first SPI of the 32 adjacent
1716 ones the EXIU forwards its interrups to.
1817
Documentation/devicetree/bindings/interrupt-controller/st,spear3xx-shirq.txt+0−4
@@ -31,10 +31,6 @@ Required properties: · 30 unmodified lines
3131 parent) is equal to number of groups. The format of the interrupt
3232 specifier depends in the interrupt parent controller.
3333
34− Optional properties:
35− - interrupt-parent: pHandle of the parent interrupt controller, if not
36− inherited from the parent node.
37−
3834 Example:
3935
4036 The 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
1212 specifier, shall be 2
1313 - interrupts: interrupts references to primary interrupt controller
1414 (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)
1616
1717 Example:
1818
Documentation/devicetree/bindings/interrupt-controller/technologic,ts4800.txt+0−2
@@ -11,6 +11,4 @@ Required properties: · 10 unmodified lines
1111 region
1212 - #interrupt-cells: specifies the number of cells needed to encode an interrupt
1313 source, should be 1.
14−- interrupt-parent: phandle to the parent interrupt controller this one is
15− cascaded from
1614 - 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
4646 - interrupt-controller
4747 - #interrupt-cells: <1>
4848 - reg: base address and size of register area
49− - interrupt-parent: must be core interrupt controller
5049 - interrupts: This should have four cells; one for each interrupt combiner.
5150 The cells contain the core priority interrupt to which the
5251 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
1212 - interrupt-controller : Identifies the node as an interrupt controller.
1313 - #interrupt-cells : Specifies the number of cells needed to encode an
1414 interrupt source. The value must be 3.
15−- interrupt-parent : a phandle to the GIC these interrupts are routed
16− to.
1715
1816 Notes:
1917
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
4040 Required properties:
4141 - compatible : must be one of the following string:
4242 "mediatek,mt2701-m4u" for mt2701 which uses generation one m4u HW.
43+ "mediatek,mt2712-m4u" for mt2712 which uses generation two m4u HW.
4344 "mediatek,mt8173-m4u" for mt8173 which uses generation two m4u HW.
4445 - reg : m4u register base and size.
4546 - interrupts : the interrupt of m4u.
@@ -50,8 +51,9 @@ Required properties: · 4 unmodified lines
5051 according to the local arbiter index, like larb0, larb1, larb2...
5152 - iommu-cells : must be 1. This is the mtk_m4u_id according to the HW.
5253 Specifies the mtk_m4u_id as defined in
53− dt-binding/memory/mt2701-larb-port.h for mt2701 and
54− dt-binding/memory/mt8173-larb-port.h for mt8173
54+ dt-binding/memory/mt2701-larb-port.h for mt2701,
55+ dt-binding/memory/mt2712-larb-port.h for mt2712, and
56+ dt-binding/memory/mt8173-larb-port.h for mt8173.
5557
5658 Example:
5759 iommu: iommu@10205000 {
Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt+3−0
@@ -19,7 +19,10 @@ Required Properties: · 18 unmodified lines
1919 - "renesas,ipmmu-r8a7794" for the R8A7794 (R-Car E2) IPMMU.
2020 - "renesas,ipmmu-r8a7795" for the R8A7795 (R-Car H3) IPMMU.
2121 - "renesas,ipmmu-r8a7796" for the R8A7796 (R-Car M3-W) IPMMU.
22+ - "renesas,ipmmu-r8a77965" for the R8A77965 (R-Car M3-N) IPMMU.
2223 - "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.
2326 - "renesas,ipmmu-r8a77995" for the R8A77995 (R-Car D3) IPMMU.
2427 - "renesas,ipmmu-vmsa" for generic R-Car Gen2 or RZ/G1 VMSA-compatible
2528 IPMMU.
Documentation/devicetree/bindings/iommu/samsung,sysmmu.txt+0−1
@@ -31,7 +31,6 @@ Required properties: · 30 unmodified lines
3131 - compatible: Should be "samsung,exynos-sysmmu"
3232 - reg: A tuple of base address and size of System MMU registers.
3333 - #iommu-cells: Should be <0>.
34−- interrupt-parent: The phandle of the interrupt controller of System MMU
3534 - interrupts: An interrupt specifier for interrupt signal of System MMU,
3635 according to the format defined by a particular interrupt
3736 controller.
Documentation/devicetree/bindings/leds/backlight/pwm-backlight.txt+27−7
@@ -3,13 +3,6 @@ pwm-backlight bindings · 2 unmodified lines
33 Required properties:
44 - compatible: "pwm-backlight"
55 - 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)
136 - power-supply: regulator for supply voltage
147
158 Optional properties:
@@ -21,6 +14,19 @@ Optional properties: · 5 unmodified lines
2114 and enabling the backlight using GPIO.
2215 - pwm-off-delay-ms: Delay in ms between disabling the backlight using GPIO
2316 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.
2430
2531 [0]: Documentation/devicetree/bindings/pwm/pwm.txt
2632 [1]: Documentation/devicetree/bindings/gpio/gpio.txt
@@ -39,3 +45,17 @@ Example: · 12 unmodified lines
3945 post-pwm-on-delay-ms = <10>;
4046 pwm-off-delay-ms = <10>;
4147 };
48+
49+Example 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
3131 "backlight" - LED will act as a back-light, controlled by the framebuffer
3232 system
3333 "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)
3535 "heartbeat" - LED "double" flashes at a load average based rate
3636 "disk-activity" - LED indicates disk activity
3737 "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
2020 - vled-supply : LED supply
2121
2222 Required child properties:
23− - reg : 0
23+ - 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)
2427
2528 Optional child properties:
2629 - label : see Documentation/devicetree/bindings/leds/common.txt
Documentation/devicetree/bindings/leds/leds-lt3593.txt+32−0
@@ -0,0 +1,32 @@
1+Bindings for Linear Technologies LT3593 LED controller
2+
3+Required 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+
8+The hardware supports only one LED. The properties of this LED are
9+configured in a sub-node in the device node.
10+
11+Optional 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+
19+If multiple chips of this type are found in a design, each one needs to
20+be handled by its own device node.
21+
22+Example:
23+
24+led-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
99 of cells required for the mailbox specifier. Should be 1.
1010
1111 Optional properties:
12−- interrupt-parent : interrupt source phandle.
1312 - interrupts : interrupt number. The interrupt specifier format
1413 depends on the interrupt controller parent.
1514
Documentation/devicetree/bindings/mailbox/fsl,mu.txt+54−0
@@ -0,0 +1,54 @@
1+NXP i.MX Messaging Unit (MU)
2+--------------------------------------------------------------------
3+
4+The Messaging Unit module enables two processors within the SoC to
5+communicate and coordinate by passing messages (e.g. data, status
6+and control) through the MU interface. The MU also provides the ability
7+for one processor to signal the other processor using interrupts.
8+
9+Because the MU manages the messaging between processors, the MU uses
10+different clocks (from each side of the different peripheral buses).
11+Therefore, the MU must synchronize the accesses from one side to the
12+other. The MU accomplishes synchronization using two sets of matching
13+registers (Processor A-facing, Processor B-facing).
14+
15+Messaging Unit Device Node:
16+=============================
17+
18+Required 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+
42+Optional properties:
43+-------------------
44+- clocks : phandle to the input clock.
45+- fsl,mu-side-b : Should be set for side B MU.
46+
47+Examples:
48+--------
49+lsio_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 @@
1+MediaTek GCE
2+===============
3+
4+The Global Command Engine (GCE) is used to help read/write registers with
5+critical time limitation, such as updating display configuration during the
6+vblank. The GCE can be used to implement the Command Queue (CMDQ) driver.
7+
8+CMDQ driver uses mailbox framework for communication. Please refer to
9+mailbox.txt for generic information about mailbox device-tree bindings.
10+
11+Required 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+
25+Required 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+
31+Some vaules of properties are defined in 'dt-bindings/gce/mt8173-gce.h'. Such as
32+sub-system ids, thread priority, event ids.
33+
34+Example:
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+
46+Example 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 @@
1+Texas Instruments' Secure Proxy
2+========================================
3+
4+The Texas Instruments' secure proxy is a mailbox controller that has
5+configurable queues selectable at SoC(System on Chip) integration. The
6+Message manager is broken up into different address regions that are
7+called "threads" or "proxies" - each instance is unidirectional and is
8+instantiated at SoC integration level by system controller to indicate
9+receive or transmit path.
10+
11+Message Manager Device Node:
12+===========================
13+Required 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+
28+Example(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
44 is hooked up to a pull-up GPIO line and - optionally - the HPD line is
55 hooked up to another GPIO line.
66
7−Please note: the maximum voltage for the CEC line is 3.63V, for the HPD
8−line it is 5.3V. So you may need some sort of level conversion circuitry
7+Please note: the maximum voltage for the CEC line is 3.63V, for the HPD and
8+5V lines it is 5.3V. So you may need some sort of level conversion circuitry
99 when connecting them to a GPIO line.
1010
1111 Required properties:
@@ -19,18 +19,24 @@ following property is also required: · 7 unmodified lines
1919 - hdmi-phandle - phandle to the HDMI controller, see also cec.txt.
2020
2121 If the CEC line is not associated with an HDMI receiver/transmitter, then
22−the following property is optional:
22+the following property is optional and can be used for debugging HPD changes:
2323
2424 - hpd-gpios: gpio that the HPD line is connected to.
2525
26+This 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+
2630 Example for the Raspberry Pi 3 where the CEC line is connected to
27−pin 26 aka BCM7 aka CE1 on the GPIO pin header and the HPD line is
28−connected to pin 11 aka BCM17 (some level shifter is needed for this!):
31+pin 26 aka BCM7 aka CE1 on the GPIO pin header, the HPD line is
32+connected to pin 11 aka BCM17 and the 5V line is connected to pin
33+15 aka BCM22 (some level shifter is needed for the HPD and 5V lines!):
2934
3035 #include <dt-bindings/gpio/gpio.h>
3136
3237 cec-gpio {
33− compatible = "cec-gpio";
34− cec-gpios = <&gpio 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
35− hpd-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
38+ compatible = "cec-gpio";
39+ cec-gpios = <&gpio 7 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
40+ hpd-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
41+ v5-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
3642 };
Documentation/devicetree/bindings/media/i2c/ak7375.txt+8−0
@@ -0,0 +1,8 @@
1+Asahi Kasei Microdevices AK7375 voice coil lens driver
2+
3+AK7375 is a camera voice coil lens.
4+
5+Mandatory 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+
4+The Aptina MT9V111 is a 1/4-Inch VGA-format digital image sensor with a core
5+based on Aptina MT9V011 sensor and an integrated Image Flow Processor (IFP).
6+
7+The sensor has an active pixel array of 640x480 pixels and can output a number
8+of image resolution and formats controllable through a simple two-wires
9+interface.
10+
11+Required properties:
12+--------------------
13+
14+- compatible: shall be "aptina,mt9v111".
15+- clocks: reference to the system clock input provider.
16+
17+Optional 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+
25+The device node must contain one 'port' child node with one 'endpoint' child
26+sub-node for its digital output video port, in accordance with the video
27+interface bindings defined in:
28+Documentation/devicetree/bindings/media/video-interfaces.txt
29+
30+Example:
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 @@
1+Dongwoon Anatech DW9807 voice coil lens driver
2+
3+DW9807 is a 10-bit DAC with current sink capability. It is intended for
4+controlling voice coil lenses.
5+
6+Mandatory 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
2929 - reset-gpios: XSHUTDOWN GPIO
3030 - flash-leds: See ../video-interfaces.txt
3131 - 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 .
3235
3336
3437 Endpoint node mandatory properties
Documentation/devicetree/bindings/media/i2c/ov2680.txt+46−0
@@ -0,0 +1,46 @@
1+* Omnivision OV2680 MIPI CSI-2 sensor
2+
3+Required 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+
11+Optional 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+
15+The device node must contain one 'port' child node for its digital output
16+video port, and this port must have a single endpoint in accordance with
17+ the video interface bindings defined in
18+Documentation/devicetree/bindings/media/video-interfaces.txt.
19+
20+Endpoint 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+
25+Example:
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
1313 This is an active low signal to the OV5640.
1414 - powerdown-gpios: reference to the GPIO connected to the powerdown pin,
1515 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).
1620
1721 The device node must contain one 'port' child node for its digital output
1822 video port, in accordance with the video interface bindings defined in
@@ -51,6 +55,7 @@ Examples: · 32 unmodified lines
5155 DVDD-supply = <&vgen2_reg>; /* 1.5v */
5256 powerdown-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
5357 reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
58+ rotation = <180>;
5459
5560 port {
5661 /* MIPI CSI-2 bus endpoint */
Documentation/devicetree/bindings/media/i2c/tc358743.txt+1−1
@@ -12,7 +12,7 @@ Required Properties: · 11 unmodified lines
1212 Optional Properties:
1313
1414 - reset-gpios: gpio phandle GPIO connected to the reset pin
15−- interrupts, interrupt-parent: GPIO connected to the interrupt pin
15+- interrupts: GPIO connected to the interrupt pin
1616 - data-lanes: should be <1 2 3 4> for four-lane operation,
1717 or <1 2> for two-lane operation
1818 - clock-lanes: should be <0>
Documentation/devicetree/bindings/media/nvidia,tegra-vde.txt+9−2
@@ -27,9 +27,15 @@ Required properties: · 26 unmodified lines
2727 - sxe
2828 - clocks : Must include the following entries:
2929 - 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:
3132 - vde
3233
34+Optional properties:
35+- resets : Must contain an entry for each entry in reset-names.
36+- reset-names : Must include the following entries:
37+ - mc
38+
3339 Example:
3440
3541 video-codec@6001a000 {
@@ -51,5 +57,6 @@ video-codec@6001a000 { · 15 unmodified lines
5157 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */
5258 interrupt-names = "sync-token", "bsev", "sxe";
5359 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>;
5562 };
Documentation/devicetree/bindings/media/qcom,camss.txt+80−48
@@ -5,8 +5,9 @@ Qualcomm Camera Subsystem · 4 unmodified lines
55 - compatible:
66 Usage: required
77 Value type: <stringlist>
8− Definition: Should contain:
8+ Definition: Should contain one of:
99 - "qcom,msm8916-camss"
10+ - "qcom,msm8996-camss"
1011 - reg:
1112 Usage: required
1213 Value type: <prop-encoded-array>
@@ -19,11 +20,16 @@ Qualcomm Camera Subsystem · 6 unmodified lines
1920 - "csiphy0_clk_mux"
2021 - "csiphy1"
2122 - "csiphy1_clk_mux"
23+ - "csiphy2" (8996 only)
24+ - "csiphy2_clk_mux" (8996 only)
2225 - "csid0"
2326 - "csid1"
27+ - "csid2" (8996 only)
28+ - "csid3" (8996 only)
2429 - "ispif"
2530 - "csi_clk_mux"
2631 - "vfe0"
32+ - "vfe1" (8996 only)
2733 - interrupts:
2834 Usage: required
2935 Value type: <prop-encoded-array>
@@ -34,10 +40,14 @@ Qualcomm Camera Subsystem · 4 unmodified lines
3440 Definition: Should contain the following entries:
3541 - "csiphy0"
3642 - "csiphy1"
43+ - "csiphy2" (8996 only)
3744 - "csid0"
3845 - "csid1"
46+ - "csid2" (8996 only)
47+ - "csid3" (8996 only)
3948 - "ispif"
4049 - "vfe0"
50+ - "vfe1" (8996 only)
4151 - power-domains:
4252 Usage: required
4353 Value type: <prop-encoded-array>
@@ -53,25 +63,42 @@ Qualcomm Camera Subsystem · 9 unmodified lines
5363 Usage: required
5464 Value type: <stringlist>
5565 Definition: Should contain the following entries:
56− - "camss_top_ahb"
57− - "ispif_ahb"
58− - "csiphy0_timer"
59− - "csiphy1_timer"
60− - "csi0_ahb"
61− - "csi0"
62− - "csi0_phy"
63− - "csi0_pix"
64− - "csi0_rdi"
65− - "csi1_ahb"
66− - "csi1"
67− - "csi1_phy"
68− - "csi1_pix"
69− - "csi1_rdi"
70− - "camss_ahb"
71− - "camss_vfe_vfe"
72− - "camss_csi_vfe"
73− - "iface"
74− - "bus"
66+ - "top_ahb"
67+ - "ispif_ahb"
68+ - "csiphy0_timer"
69+ - "csiphy1_timer"
70+ - "csiphy2_timer" (8996 only)
71+ - "csi0_ahb"
72+ - "csi0"
73+ - "csi0_phy"
74+ - "csi0_pix"
75+ - "csi0_rdi"
76+ - "csi1_ahb"
77+ - "csi1"
78+ - "csi1_phy"
79+ - "csi1_pix"
80+ - "csi1_rdi"
81+ - "csi2_ahb" (8996 only)
82+ - "csi2" (8996 only)
83+ - "csi2_phy" (8996 only)
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"
75102 - vdda-supply:
76103 Usage: required
77104 Value type: <phandle>
@@ -90,22 +117,27 @@ Qualcomm Camera Subsystem · 12 unmodified lines
90117 - reg:
91118 Usage: required
92119 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)
94122 Endpoint node properties:
95123 - clock-lanes:
96124 Usage: required
97125 Value type: <u32>
98− Definition: The physical clock lane index. The value
99− must always be <1> as the physical clock
100− lane is lane 1.
126+ Definition: The physical clock lane index. On 8916
127+ the value must always be <1> as the physical
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.
101132 - data-lanes:
102133 Usage: required
103134 Value type: <prop-encoded-array>
104− Definition: An array of physical data lanes indexes.
105− Position of an entry determines the logical
106− lane number, while the value of an entry
107− indicates physical lane index. Lane swapping
108− is supported.
135+ Definition: An array of physical data lanes indexes.
136+ Position of an entry determines the logical
137+ lane number, while the value of an entry
138+ indicates physical lane index. Lane swapping
139+ is supported. Physical lane indexes for
140+ 8916: 0, 2, 3, 4; for 8996: 0, 1, 2, 3.
109141
110142 * An Example
111143
@@ -161,25 +193,25 @@ Qualcomm Camera Subsystem · 49 unmodified lines
161193 <&gcc GCC_CAMSS_CSI_VFE0_CLK>,
162194 <&gcc GCC_CAMSS_VFE_AHB_CLK>,
163195 <&gcc GCC_CAMSS_VFE_AXI_CLK>;
164− clock-names = "camss_top_ahb",
165− "ispif_ahb",
166− "csiphy0_timer",
167− "csiphy1_timer",
168− "csi0_ahb",
169− "csi0",
170− "csi0_phy",
171− "csi0_pix",
172− "csi0_rdi",
173− "csi1_ahb",
174− "csi1",
175− "csi1_phy",
176− "csi1_pix",
177− "csi1_rdi",
178− "camss_ahb",
179− "camss_vfe_vfe",
180− "camss_csi_vfe",
181− "iface",
182− "bus";
196+ clock-names = "top_ahb",
197+ "ispif_ahb",
198+ "csiphy0_timer",
199+ "csiphy1_timer",
200+ "csi0_ahb",
201+ "csi0",
202+ "csi0_phy",
203+ "csi0_pix",
204+ "csi0_rdi",
205+ "csi1_ahb",
206+ "csi1",
207+ "csi1_phy",
208+ "csi1_pix",
209+ "csi1_rdi",
210+ "ahb",
211+ "vfe0",
212+ "csi_vfe0",
213+ "vfe_ahb",
214+ "vfe_axi";
183215 vdda-supply = <&pm8916_l2>;
184216 iommus = <&apps_iommu 3>;
185217 ports {
Documentation/devicetree/bindings/media/qcom,venus.txt+1−0
@@ -6,6 +6,7 @@ · 5 unmodified lines
66 Definition: Value should contain one of:
77 - "qcom,msm8916-venus"
88 - "qcom,msm8996-venus"
9+ - "qcom,sdm845-venus"
910 - reg:
1011 Usage: required
1112 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
2121 - "renesas,vin-r8a7794" for the R8A7794 device
2222 - "renesas,vin-r8a7795" for the R8A7795 device
2323 - "renesas,vin-r8a7796" for the R8A7796 device
24+ - "renesas,vin-r8a77965" for the R8A77965 device
2425 - "renesas,vin-r8a77970" for the R8A77970 device
26+ - "renesas,vin-r8a77995" for the R8A77995 device
2527 - "renesas,rcar-gen2-vin" for a generic R-Car Gen2 or RZ/G1 compatible
2628 device.
2729
@@ -37,30 +39,51 @@ Additionally, an alias named vinX will need to be created to specify · 9 unmodified lines
3739 which video input device this is.
3840
3941 The per-board settings Gen2 platforms:
40− - port sub-node describing a single endpoint connected to the vin
41− as described in video-interfaces.txt[1]. Only the first one will
42− be considered as each vin interface has one input port.
42+
43+- port - sub-node describing a single endpoint connected to the VIN
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.
4360
4461 The per-board settings Gen3 platforms:
4562
4663 Gen3 platforms can support both a single connected parallel input source
47−from external SoC pins (port0) and/or multiple parallel input sources
48−from local SoC CSI-2 receivers (port1) depending on SoC.
64+from external SoC pins (port@0) and/or multiple parallel input sources
65+from local SoC CSI-2 receivers (port@1) depending on SoC.
4966
5067 - renesas,id - ID number of the VIN, VINx in the documentation.
5168 - ports
52− - port 0 - sub-node describing a single endpoint connected to the VIN
53− from external SoC pins described in video-interfaces.txt[1].
54− Describing more then one endpoint in port 0 is invalid. Only VIN
55− instances that are connected to external pins should have port 0.
56− - port 1 - sub-nodes describing one or more endpoints connected to
69+ - port@0 - sub-node describing a single endpoint connected to the VIN
70+ from external SoC pins as described in video-interfaces.txt[1].
71+ Describing more than one endpoint in port@0 is invalid. Only VIN
72+ instances that are connected to external pins should have port@0.
73+
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
5778 the VIN from local SoC CSI-2 receivers. The endpoint numbers must
5879 use the following schema.
5980
60− - Endpoint 0 - sub-node describing the endpoint connected to CSI20
61− - Endpoint 1 - sub-node describing the endpoint connected to CSI21
62− - Endpoint 2 - sub-node describing the endpoint connected to CSI40
63− - Endpoint 3 - sub-node describing the endpoint connected to CSI41
81+ - endpoint@0 - sub-node describing the endpoint connected to CSI20
82+ - endpoint@1 - sub-node describing the endpoint connected to CSI21
83+ - endpoint@2 - sub-node describing the endpoint connected to CSI40
84+ - endpoint@3 - sub-node describing the endpoint connected to CSI41
85+
86+ Endpoint nodes of port@1 do not support any optional endpoint property.
6487
6588 Device node example for Gen2 platforms
6689 --------------------------------------
@@ -107,9 +130,6 @@ Board setup example for Gen2 platforms (vin1 composite video input) · 40 unmodified lines
107130 status = "okay";
108131
109132 port {
110− #address-cells = <1>;
111− #size-cells = <0>;
112−
113133 vin1ep0: endpoint {
114134 remote-endpoint = <&adv7180>;
115135 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
22 - compatible: Should be "renesas,sh-mobile-ceu"
33 - reg: register base and size
44 - interrupts: the interrupt number
5− - interrupt-parent: the interrupt controller
65 - renesas,max-width: maximum image width, supported on this SoC
76 - renesas,max-height: maximum image height, supported on this SoC
87
Documentation/devicetree/bindings/media/video-interfaces.txt+6−0
@@ -85,6 +85,10 @@ Optional properties · 84 unmodified lines
8585
8686 - lens-focus: A phandle to the node of the focus lens controller.
8787
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+
8892
8993 Optional endpoint properties
9094 ----------------------------
@@ -109,6 +113,8 @@ Optional endpoint properties · 18 unmodified lines
109113 Note, that if HSYNC and VSYNC polarities are not specified, embedded
110114 synchronization may be required, where supported.
111115 - 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.
112118 - field-even-active: field signal level during the even field data transmission.
113119 - pclk-sample: sample data on rising (1) or falling (0) edge of the pixel clock
114120 signal.
Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.txt+4−2
@@ -2,8 +2,9 @@ SMI (Smart Multimedia Interface) Common · 1 unmodified line
22
33 The hardware block diagram please check bindings/iommu/mediatek,iommu.txt
44
5−Mediatek SMI have two generations of HW architecture, mt8173 uses the second
6−generation of SMI HW while mt2701 uses the first generation HW of SMI.
5+Mediatek SMI have two generations of HW architecture, mt2712 and mt8173 use
6+the second generation of SMI HW while mt2701 uses the first generation HW of
7+SMI.
78
89 There's slight differences between the two SMI, for generation 2, the
910 register 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
1516 Required properties:
1617 - compatible : must be one of :
1718 "mediatek,mt2701-smi-common"
19+ "mediatek,mt2712-smi-common"
1820 "mediatek,mt8173-smi-common"
1921 - reg : the register and size of the SMI block.
2022 - 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
44
55 Required properties:
66 - compatible : must be one of :
7− "mediatek,mt8173-smi-larb"
87 "mediatek,mt2701-smi-larb"
8+ "mediatek,mt2712-smi-larb"
9+ "mediatek,mt8173-smi-larb"
910 - reg : the register and size of this local arbiter.
1011 - mediatek,smi : a phandle to the smi_common node.
1112 - power-domains : a phandle to the power domain of this local arbiter.
@@ -15,7 +16,7 @@ Required properties: · 3 unmodified lines
1516 the register.
1617 - "smi" : It's the clock for transfer data and command.
1718
18−Required property for mt2701:
19+Required property for mt2701 and mt2712:
1920 - mediatek,larb-id :the hardware id of this larb.
2021
2122 Example:
Documentation/devicetree/bindings/mfd/ac100.txt+0−4
@@ -10,7 +10,6 @@ Required properties: · 9 unmodified lines
1010 - sub-nodes:
1111 - codec
1212 - compatible: "x-powers,ac100-codec"
13− - interrupt-parent: The parent interrupt controller
1413 - interrupts: SoC NMI / GPIO interrupt connected to the
1514 IRQ_AUDIO pin
1615 - #clock-cells: Shall be 0
@@ -20,9 +19,6 @@ Required properties: · 3 unmodified lines
2019
2120 - rtc
2221 - 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
2622 - clocks: A phandle to the codec's "4M_adda" clock
2723 - #clock-cells: Shall be 1
2824 - 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
55 - spi-max-frequency : Maximum SPI frequency.
66 - reg : The SPI Chip Select address for the Arria10
77 System Resource chip
8−- interrupt-parent : The parent interrupt controller.
98 - interrupts : The interrupt line the device is connected to.
109 - interrupt-controller : Marks the device node as an interrupt controller.
1110 - #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
2222 connected to.
2323 - interrupt-controller : Arizona class devices contain interrupt controllers
2424 and may provide interrupt services to other devices.
25− - interrupt-parent : The parent interrupt controller.
2625 - #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
2726 The first cell is the IRQ number.
2827 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
2020 - ams,enable-internal-i2c-pullup: Boolean property, to enable internal pullup on
2121 i2c scl/sda pins. Missing this will disable internal pullup on i2c
2222 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).
2325
2426 Optional submodule and their properties:
2527 =======================================
Documentation/devicetree/bindings/mfd/axp20x.txt+5−3
@@ -28,7 +28,6 @@ Required properties: · 27 unmodified lines
2828 * "x-powers,axp809"
2929 * "x-powers,axp813"
3030 - reg: The I2C slave address or RSB hardware address for the AXP chip
31−- interrupt-parent: The parent interrupt controller
3231 - interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin
3332 - interrupt-controller: The PMIC has its own internal IRQs
3433 - #interrupt-cells: Should be set to 1
@@ -45,8 +44,11 @@ Optional properties: · 10 unmodified lines
4544 board is driving OTG VBus or not.
4645 (axp221 / axp223 / axp803/ axp813 only)
4746
48−- x-powers,master-mode: Boolean (axp806 only). Set this when the PMIC is
49− wired for master mode. The default is slave mode.
47+- x-powers,self-working-mode and
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.
5052
5153 - <input>-supply: a phandle to the regulator supply node. May be omitted if
5254 inputs are unregulated, such as using the IPSOUT output
Documentation/devicetree/bindings/mfd/bd9571mwv.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
33 Required properties:
44 - compatible : Should be "rohm,bd9571mwv".
55 - reg : I2C slave address.
6− - interrupt-parent : Phandle to the parent interrupt controller.
76 - interrupts : The interrupt line the device is connected to.
87 - interrupt-controller : Marks the device node as an interrupt controller.
98 - #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
1010 - interrupts: the main IRQ line to signal the collected IRQs
1111 - #interrupt-cells : is 2 and their usage is compliant to the 2 cells variant
1212 of Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
13−- interrupt-parent: the parent IRQ ctrl the main IRQ is connected to
1413 - reg: access on the parent local bus (chip select, offset in chip select, size)
1514
1615 Example:
Documentation/devicetree/bindings/mfd/da9055.txt+0−2
@@ -22,8 +22,6 @@ Documentation/devicetree/bindings/sound/da9055.txt · 21 unmodified lines
2222 Required properties:
2323 - compatible : Should be "dlg,da9055-pmic"
2424 - 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.
2725 - interrupts: IRQ line info for da9055 chip.
2826 - interrupt-controller: da9055 has internal IRQs (has own IRQ domain).
2927 - #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
3232 "dlg,da9061" for DA9061
3333 - reg : Specifies the I2C slave address (this defaults to 0x58 but it can be
3434 modified to match the chip's OTP settings).
35−- interrupt-parent : Specifies the reference to the interrupt controller for
36− the DA9062 or DA9061.
3735 - interrupts : IRQ line information.
3836 - interrupt-controller
3937
Documentation/devicetree/bindings/mfd/da9063.txt+0−2
@@ -16,8 +16,6 @@ Required properties: · 15 unmodified lines
1616 - compatible : Should be "dlg,da9063" or "dlg,da9063l"
1717 - reg : Specifies the I2C slave address (this defaults to 0x58 but it can be
1818 modified to match the chip's OTP settings).
19−- interrupt-parent : Specifies the reference to the interrupt controller for
20− the DA9063.
2119 - interrupts : IRQ line information.
2220 - interrupt-controller
2321
Documentation/devicetree/bindings/mfd/da9150.txt+0−2
@@ -13,8 +13,6 @@ da9150-fg : Battery Fuel-Gauge · 12 unmodified lines
1313 Required properties:
1414 - compatible : Should be "dlg,da9150"
1515 - 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.
1816 - interrupts: IRQ line info for da9150 chip.
1917 - interrupt-controller: da9150 has internal IRQs (own IRQ domain).
2018 (See ../interrupt-controller/interrupts.txt for
Documentation/devicetree/bindings/mfd/madera.txt+102−0
@@ -0,0 +1,102 @@
1+Cirrus Logic Madera class audio codecs Multi-Functional Device
2+
3+These devices are audio SoCs with extensive digital capabilities and a range
4+of analogue I/O.
5+
6+See also the child driver bindings in:
7+bindings/pinctrl/cirrus,madera-pinctrl.txt
8+bindings/regulator/arizona-regulator.txt
9+bindings/sound/madera.txt
10+
11+Required 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+
57+Optional 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+
79+Optional 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+
87+Example:
88+
89+cs47l85@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
1111 - compatible : Must be "maxim,max14577" or "maxim,max77836".
1212 - reg : I2C slave address for the max14577 chip (0x25 for max14577/max77836)
1313 - interrupts : IRQ line for the chip.
14−- interrupt-parent : The parent interrupt controller.
1514
1615
1716 Required nodes:
Documentation/devicetree/bindings/mfd/max77686.txt+0−1
@@ -15,7 +15,6 @@ Required properties: · 14 unmodified lines
1515 - compatible : Must be "maxim,max77686";
1616 - reg : Specifies the i2c slave address of PMIC block.
1717 - interrupts : This i2c device has an IRQ line connected to the main SoC.
18−- interrupt-parent : The parent interrupt controller.
1918
2019 Example:
2120
Documentation/devicetree/bindings/mfd/max77693.txt+0−1
@@ -14,7 +14,6 @@ Required properties: · 13 unmodified lines
1414 - compatible : Must be "maxim,max77693".
1515 - reg : Specifies the i2c slave address of PMIC block.
1616 - interrupts : This i2c device has an IRQ line connected to the main SoC.
17−- interrupt-parent : The parent interrupt controller.
1817
1918 Optional properties:
2019 - 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
1414 - compatible : Must be "maxim,max77802"
1515 - reg : Specifies the I2C slave address of PMIC block.
1616 - interrupts : I2C device IRQ line connected to the main SoC.
17−- interrupt-parent : The parent interrupt controller.
1817
1918 Example:
2019
Documentation/devicetree/bindings/mfd/max8998.txt+0−2
@@ -20,8 +20,6 @@ Required properties: · 19 unmodified lines
2020 - reg: Specifies the i2c slave address of the pmic block. It should be 0x66.
2121
2222 Optional properties:
23−- interrupt-parent: Specifies the phandle of the interrupt controller to which
24− the interrupts from MAX8998 are routed to.
2523 - interrupts: Interrupt specifiers for two interrupt sources.
2624 - First interrupt specifier is for main interrupt.
2725 - 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
33 Required properties:
44 - compatible : One or both of "motorola,cpcap" or "ste,6556002"
55 - reg : SPI chip select
6−- interrupt-parent : The parent interrupt controller
76 - interrupts : The interrupt line the device is connected to
87 - interrupt-controller : Marks the device node as an interrupt controller
98 - #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
2525 The first cell is the IRQ number.
2626 The second cell is the flags, encoded as the trigger masks from
2727 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
28−- interrupt-parent : The parent interrupt controller.
2928
3029 Optional properties:
3130 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
99 - compatible: "nokia,retu" or "nokia,tahvo"
1010 - reg: Specifies the CBUS slave address of the ASIC chip
1111 - interrupts: The interrupt line the device is connected to
12−- interrupt-parent: The parent interrupt controller
1312
1413 Example:
1514
Documentation/devicetree/bindings/mfd/rk808.txt+0−1
@@ -10,7 +10,6 @@ Required properties: · 9 unmodified lines
1010 - compatible: "rockchip,rk808"
1111 - compatible: "rockchip,rk818"
1212 - reg: I2C slave address
13−- interrupt-parent: The parent interrupt controller.
1413 - interrupts: the interrupt outputs of the controller.
1514 - #clock-cells: from common clock binding; shall be set to 1 (multiple clock
1615 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+
3+BD71837MWV is a programmable Power Management IC for powering single-core,
4+dual-core, and quad-core SoCs such as NXP-i.MX 8M. It is optimized for
5+low BOM cost and compact solution footprint. It integrates 8 Buck
6+egulators and 7 LDOs to provide all the power rails required by the SoC and
7+the commonly used peripherals.
8+
9+Datasheet for PMIC is available at:
10+https://www.rohm.com/datasheet/BD71837MWV/bd71837mwv-e
11+
12+Required 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+
23+Optional properties:
24+- clock-output-names : Should contain name for output clock.
25+
26+Example:
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
3131 - reg: Specifies the I2C slave address of the pmic block. It should be 0x66.
3232
3333 Optional properties:
34− - interrupt-parent: Specifies the phandle of the interrupt controller to which
35− the interrupts from s2mps11 are delivered to.
3634 - interrupts: Interrupt specifiers for interrupt sources.
3735 - samsung,s2mps11-wrstbi-ground: Indicates that WRSTBI pin of PMIC is pulled
3836 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
1010 Optional properties:
1111 - interrupts : The interrupt outputs from the controller
1212 - interrupt-controller : Marks the device node as an interrupt controller
13− - interrupt-parent : Specifies which IRQ controller we're connected to
1413 - wakeup-source : Marks the input device as wakable
1514 - st,autosleep-timeout : Valid entries (ms); 4, 16, 32, 64, 128, 256, 512 and 1024
1615 - 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
1515 - compatible : must be "toshiba,tc35890", "toshiba,tc35892", "toshiba,tc35893",
1616 "toshiba,tc35894", "toshiba,tc35895" or "toshiba,tc35896"
1717 - reg : I2C address of the device
18− - interrupt-parent : specifies which IRQ controller we're connected to
1918 - interrupts : the interrupt on the parent the controller is connected to
2019 - interrupt-controller : marks the device node as an interrupt controller
2120 - #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
33 Required properties:
44 - compatible : Should be "ti,tps65086".
55 - reg : I2C slave address.
6− - interrupt-parent : Phandle to the parent interrupt controller.
76 - interrupts : The interrupt line the device is connected to.
87 - interrupt-controller : Marks the device node as an interrupt controller.
98 - #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
2222 The valid regulator-compatible values are:
2323 tps65910: vrtc, vio, vdd1, vdd2, vdd3, vdig1, vdig2, vpll, vdac, vaux1,
2424 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,
2626 ldo6, ldo7, ldo8
2727
2828 - xxx-supply: Input voltage supply regulator.
Documentation/devicetree/bindings/mfd/tps65912.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
33 Required properties:
44 - compatible : Should be "ti,tps65912".
55 - reg : Slave address or chip select number (I2C / SPI).
6− - interrupt-parent : The parent interrupt controller.
76 - interrupts : The interrupt line the device is connected to.
87 - interrupt-controller : Marks the device node as an interrupt controller.
98 - #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
1616 - interrupt-controller : Since the twl support several interrupts internally,
1717 it is considered as an interrupt controller cascaded to the SoC one.
1818 - #interrupt-cells = <1>;
19−- interrupt-parent : The parent interrupt controller.
2019
2120 Optional node:
2221 - 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
99 - compatible : "ti,twl6040" for twl6040, "ti,twl6041" for twl6041
1010 - reg: must be 0x4b for i2c address
1111 - interrupts: twl6040 has one interrupt line connecteded to the main SoC
12−- interrupt-parent: The parent interrupt controller
1312 - gpio-controller:
1413 - #gpio-cells = <1>: twl6040 provides GPO lines.
1514 - #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
2222
2323 - interrupts : The interrupt line the IRQ signal for the device is
2424 connected to.
25− - interrupt-parent : The parent interrupt controller.
2625
2726 - interrupt-controller : wm831x devices contain interrupt controllers and
2827 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
152152 - compatible : should contain one of:
153153 "brcm,bcm7425-timers"
154154 "brcm,bcm7429-timers"
155− "brcm,bcm7435-timers and
155+ "brcm,bcm7435-timers" and
156156 "brcm,brcmstb-timers"
157157 - reg : the timers register range
158158 - 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
1313 - cavium,max-bits: The index (zero based) of the highest numbered bit
1414 in the CIB block.
1515
16−- interrupt-parent: Always the CIU on the SoC.
17−
1816 - interrupts: The CIU line to which the CIB block is connected.
1917
2018 - #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+
3+This file describes the bindings for the interrupt controller present
4+in the AST2400 and AST2500 BMC SoCs which provides interrupt to the
5+ColdFire coprocessor.
6+
7+It is not a normal interrupt controller and it would be rather
8+inconvenient to create an interrupt tree for it as it somewhat shares
9+some of the same sources as the main ARM interrupt controller but with
10+different numbers.
11+
12+The AST2500 supports a SW generated interrupt
13+
14+Required 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+
23+Optional 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+
28+Example:
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
1919 - clocks: From clock bindings: Handles to clock inputs.
2020 - clock-names: From clock bindings: Tuple including "clk_xin" and "clk_ahb"
2121 - interrupts: Interrupt specifier
22− - interrupt-parent: Phandle for the interrupt controller that services
23− interrupts for this device.
2422
2523 Required Properties for "arasan,sdhci-5.1":
2624 - phys: From PHY bindings: Phandle for the Generic PHY for arasan.
@@ -39,6 +37,8 @@ Optional Properties: · 12 unmodified lines
3937 - xlnx,fails-without-test-cd: when present, the controller doesn't work when
4038 the CD line is not connected properly, and the line is not connected
4139 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.
4242
4343 Example:
4444 sdhci@e0100000 {
Documentation/devicetree/bindings/mmc/fsl-esdhc.txt+0−1
@@ -21,7 +21,6 @@ Required properties: · 20 unmodified lines
2121 "fsl,ls1043a-esdhc"
2222 "fsl,ls1046a-esdhc"
2323 "fsl,ls2080a-esdhc"
24− - interrupt-parent : interrupt source phandle.
2524 - clock-frequency : specifies eSDHC base clock frequency.
2625
2726 Optional properties:
Documentation/devicetree/bindings/mmc/mmc-spi-slot.txt+0−2
@@ -13,8 +13,6 @@ Optional properties: · 12 unmodified lines
1313 - gpios : may specify GPIOs in this order: Card-Detect GPIO,
1414 Write-Protect GPIO. Note that this does not follow the
1515 binding from mmc.txt, for historical reasons.
16−- interrupt-parent : the phandle for the interrupt controller that
17− services interrupts for this device.
1816
1917 Example:
2018
Documentation/devicetree/bindings/mmc/pxa-mmc.txt+3−3
@@ -8,10 +8,9 @@ Required properties: · 7 unmodified lines
88
99 Optional properties:
1010 - marvell,detect-delay-ms: sets the detection delay timeout in ms.
11−- marvell,gpio-power: GPIO spec for the card power enable pin
1211
13−This file documents differences between the core properties in mmc.txt
14−and the properties used by the pxa-mmc driver.
12+In addition to the properties described in this docuent, the details
13+described in mmc.txt are supported.
1514
1615 Examples:
1716
@@ -19,6 +18,7 @@ mmc0: mmc@41100000 { · 1 unmodified line
1918 compatible = "marvell,pxa-mmc";
2019 reg = <0x41100000 0x1000>;
2120 interrupts = <23>;
21+ vmmc-supply = <&mmc_regulator>;
2222 cd-gpios = <&gpio 23 0>;
2323 wp-gpios = <&gpio 24 0>;
2424 };
Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.txt+1−0
@@ -14,6 +14,7 @@ Required Properties: · 13 unmodified lines
1414 before RK3288
1515 - "rockchip,rk3288-dw-mshc": for Rockchip RK3288
1616 - "rockchip,rv1108-dw-mshc", "rockchip,rk3288-dw-mshc": for Rockchip RV1108
17+ - "rockchip,px30-dw-mshc", "rockchip,rk3288-dw-mshc": for Rockchip PX30
1718 - "rockchip,rk3036-dw-mshc", "rockchip,rk3288-dw-mshc": for Rockchip RK3036
1819 - "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc": for Rockchip RK322x
1920 - "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
44 and the properties used by the sdhci-msm driver.
55
66 Required 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".
813 - reg: Base address and length of the register in the following order:
914 - Host controller register map (required)
1015 - 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+
3+Required 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+
13+Example:
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
1616 * "allwinner,sun9i-a80-mmc"
1717 * "allwinner,sun50i-a64-emmc"
1818 * "allwinner,sun50i-a64-mmc"
19+ * "allwinner,sun50i-h6-emmc", "allwinner.sun50i-a64-emmc"
20+ * "allwinner,sun50i-h6-mmc", "allwinner.sun50i-a64-mmc"
1921 - reg : mmc controller base registers
2022 - clocks : a list with 4 phandle + clock specifier pairs
2123 - 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
2828 "renesas,sdhi-r8a7796" - SDHI IP on R8A7796 SoC
2929 "renesas,sdhi-r8a77965" - SDHI IP on R8A77965 SoC
3030 "renesas,sdhi-r8a77980" - SDHI IP on R8A77980 SoC
31+ "renesas,sdhi-r8a77990" - SDHI IP on R8A77990 SoC
3132 "renesas,sdhi-r8a77995" - SDHI IP on R8A77995 SoC
3233 "renesas,sdhi-shmobile" - a generic sh-mobile SDHI controller
3334 "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
4242 May be "nand", if the SoC has the individual NAND
4343 interrupts multiplexed behind another custom piece of
4444 hardware
45−- interrupt-parent : See standard interrupt bindings
4645 - #address-cells : <1> - subnodes give the chip-select number
4746 - #size-cells : <0>
4847
Documentation/devicetree/bindings/mtd/denali-nand.txt+5−0
@@ -8,6 +8,9 @@ Required properties: · 7 unmodified lines
88 - reg : should contain registers location and length for data and reg.
99 - reg-names: Should contain the reg names "nand_data" and "denali_reg"
1010 - 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"
1114
1215 Optional properties:
1316 - 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
3134 compatible = "altr,socfpga-denali-nand";
3235 reg = <0xff900000 0x20>, <0xffb80000 0x1000>;
3336 reg-names = "nand_data", "denali_reg";
37+ clocks = <&nand_clk>, <&nand_x_clk>, <&nand_ecc_clk>;
38+ clock-names = "nand", "nand_x", "ecc";
3439 interrupts = <0 144 4>;
3540 };
Documentation/devicetree/bindings/mtd/gpmc-nand.txt+0−1
@@ -16,7 +16,6 @@ Required properties: · 15 unmodified lines
1616 - compatible: "ti,omap2-nand"
1717 - reg: range id (CS number), base offset and length of the
1818 NAND I/O space
19− - interrupt-parent: must point to gpmc node
2019 - interrupts: Two interrupt specifiers, one for fifoevent, one for termcount.
2120
2221 Optional properties:
Documentation/devicetree/bindings/mtd/jedec,spi-nor.txt+9−0
@@ -69,6 +69,15 @@ Optional properties: · 68 unmodified lines
6969 all chips and support for it can not be detected at runtime.
7070 Refer to your chips' datasheet to check if this is supported
7171 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.
7281
7382 Example:
7483
Documentation/devicetree/bindings/mtd/nand.txt+5−1
@@ -25,7 +25,7 @@ Optional NAND chip properties: · 24 unmodified lines
2525 Deprecated values:
2626 "soft_bch": use "soft" and nand-ecc-algo instead
2727 - nand-ecc-algo: string, algorithm of NAND ECC.
28− Supported values are: "hamming", "bch".
28+ Valid values are: "hamming", "bch", "rs".
2929 - nand-bus-width : 8 or 16 bus width if not present 8
3030 - nand-on-flash-bbt: boolean to enable on flash bbt option if not present false
3131
@@ -43,6 +43,10 @@ Optional NAND chip properties: · 11 unmodified lines
4343 This is particularly useful when only the in-band area is
4444 used by the upper layers, and you want to make your NAND
4545 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+
4650 - nand-rb: shall contain the native Ready/Busy ids.
4751
4852 The 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 @@
1+NVIDIA Tegra NAND Flash controller
2+
3+Required 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+
17+Optional children nodes:
18+Individual NAND chips are children of the NAND controller node. Currently
19+only one NAND chip supported.
20+
21+Required children node properties:
22+- reg: An integer ranging from 1 to 6 representing the CS line to use.
23+
24+Optional 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+
41+Optional child node of NAND chip nodes:
42+Partitions: 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
1414 a subnode of the flash device that is named 'partitions'. It must have a
1515 'compatible' property, which is used to identify the method to use.
1616
17+When a single partition is represented with a DT node (it depends on a used
18+format) it may also be described using above rules ('compatible' and optionally
19+some extra properties / subnodes). It allows describing more complex,
20+hierarchical (multi-level) layouts and should be used if there is some
21+significant relation between partitions or some partition internally uses
22+another partitioning method.
23+
1724 Available bindings are listed in the "partitions" subdirectory.
1825
1926
@@ -109,3 +116,42 @@ flash@2 { · 89 unmodified lines
109116 };
110117 };
111118 };
119+
120+flash@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 @@
1+Broadcom TRX Container Partition
2+================================
3+
4+TRX is Broadcom's official firmware format for the BCM947xx boards. It's used by
5+most of the vendors building devices based on Broadcom's BCM47xx SoCs and is
6+supported by the CFE bootloader.
7+
8+Design of the TRX format is very minimalistic. Its header contains
9+identification fields, CRC32 checksum and the locations of embedded partitions.
10+Its purpose is to store a few partitions in a format that can be distributed as
11+a standalone file and written in a flash memory.
12+
13+Container can hold up to 4 partitions. The first partition has to contain a
14+device executable binary (e.g. a kernel) as it's what the CFE bootloader starts
15+executing. Other partitions can be used for operating system purposes. This is
16+useful for systems that keep kernel and rootfs separated.
17+
18+TRX doesn't enforce any strict partition boundaries or size limits. All
19+partitions have to be less than the 4GiB max size limit.
20+
21+There are two existing/known TRX variants:
22+1) v1 which contains 3 partitions
23+2) v2 which contains 4 partitions
24+
25+There aren't separated compatible bindings for them as version can be trivialy
26+detected by a software parsing TRX header.
27+
28+Required properties:
29+- compatible : (required) must be "brcm,trx"
30+
31+Example:
32+
33+flash@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
4545 number (e.g., 0, 1, 2, etc.)
4646 - #address-cells: see partition.txt
4747 - #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.
5048
5149 Optional properties:
5250 - 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.
5354
5455 Each nandcs device node may optionally contain a 'partitions' sub-node, which
5556 further contains sub-nodes describing the flash partition mapping. See
@@ -77,7 +78,6 @@ nand-controller@1ac00000 { · 21 unmodified lines
7778 reg = <0>;
7879
7980 nand-ecc-strength = <4>;
80− nand-ecc-step-size = <512>;
8181 nand-bus-width = <8>;
8282
8383 partitions {
@@ -117,7 +117,6 @@ nand-controller@79b0000 { · 33 unmodified lines
117117 nand@0 {
118118 reg = <0>;
119119 nand-ecc-strength = <4>;
120− nand-ecc-step-size = <512>;
121120 nand-bus-width = <8>;
122121
123122 partitions {
Documentation/devicetree/bindings/mtd/spear_smi.txt+0−2
@@ -5,8 +5,6 @@ Required properties: · 4 unmodified lines
55 - reg : Address range of the mtd chip
66 - #address-cells, #size-cells : Must be present if the device has sub-nodes
77 representing partitions.
8−- interrupt-parent: Should be the phandle for the interrupt controller
9− that services interrupts for this device
108 - interrupts: Should contain the STMMAC interrupts
119 - clock-rate : Functional clock rate of SMI in Hz
1210
Documentation/devicetree/bindings/mtd/spi-nand.txt+5−0
@@ -0,0 +1,5 @@
1+SPI NAND flash
2+
3+Required 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 @@
1+Bindings for Analog Devices ADGS1408/1409 8:1/Dual 4:1 Mux
2+
3+Required 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+
9+Optional 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+
17+Optional 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+
22+States 0 through 7 correspond to signals S1 through S8 in the datasheet.
23+For ADGS1409 only states 0 to 3 are available.
24+
25+Example:
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
88 - SerDes Rx/Tx registers
99 - SerDes integration registers (1/2)
1010 - SerDes integration registers (2/2)
11−- interrupt-parent: Should be the phandle for the interrupt controller
12− that services interrupts for this device
1311 - interrupts: Should contain the amd-xgbe interrupt(s). The first interrupt
1412 listed is required and is the general device interrupt. If the optional
1513 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
1313 Every non-ethernet PHY requires a compatible so that it could be probed based
1414 on this compatible string.
1515
16+Optional properties:
17+- clocks: phandle of the core clock which drives the mdio block.
18+
1619 Additional information regarding generic multiplexer properties can be found
1720 at- Documentation/devicetree/bindings/net/mdio-mux.txt
1821
1922
2023 for example:
21− mdio_mux_iproc: mdio-mux@6602023c {
24+ mdio_mux_iproc: mdio-mux@66020000 {
2225 compatible = "brcm,mdio-mux-iproc";
23− reg = <0x6602023c 0x14>;
26+ reg = <0x66020000 0x250>;
2427 #address-cells = <1>;
2528 #size-cells = <0>;
2629
Documentation/devicetree/bindings/net/btusb.txt+0−1
@@ -15,7 +15,6 @@ Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt · 14 unmodified lines
1515
1616 Optional properties:
1717
18− - interrupt-parent: phandle of the parent interrupt controller
1918 - interrupt-names: (see below)
2019 - interrupts : The interrupt specified by the name "wakeup" is the interrupt
2120 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
55 - "holt,hi3110" for HI-3110
66 - reg: SPI chip select.
77 - clocks: The clock feeding the CAN controller.
8− - interrupt-parent: The parent interrupt controller.
98 - interrupts: Should contain IRQ line for the CAN controller.
109
1110 Optional properties:
Documentation/devicetree/bindings/net/can/microchip,mcp251x.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
66 - "microchip,mcp2515" for MCP2515.
77 - reg: SPI chip select.
88 - clocks: The clock feeding the CAN controller.
9− - interrupt-parent: The parent interrupt controller.
109 - interrupts: Should contain IRQ line for the CAN controller.
1110
1211 Optional 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
22 ---------------------------------------------------------
33
44 Required properties:
5−- compatible : Should be "xlnx,zynq-can-1.0" for Zynq CAN
6− controllers and "xlnx,axi-can-1.00.a" for Axi CAN
7− controllers.
8−- reg : Physical base address and size of the Axi CAN/Zynq
9− CANPS registers map.
5+- compatible : Should be:
6+ - "xlnx,zynq-can-1.0" for Zynq CAN controllers
7+ - "xlnx,axi-can-1.00.a" for Axi CAN controllers
8+ - "xlnx,canfd-1.0" for CAN FD controllers
9+- reg : Physical base address and size of the controller
10+ registers map.
1011 - interrupts : Property with a value describing the interrupt
1112 number.
12−- interrupt-parent : Must be core interrupt controller
13−- clock-names : List of input clock names - "can_clk", "pclk"
14− (For CANPS), "can_clk" , "s_axi_aclk"(For AXI CAN)
13+- clock-names : List of input clock names
14+ - "can_clk", "pclk" (For CANPS),
15+ - "can_clk", "s_axi_aclk" (For AXI CAN and CAN FD).
1516 (See clock bindings for details).
1617 - clocks : Clock phandles (see clock bindings for details).
17−- tx-fifo-depth : Can Tx fifo depth.
18−- rx-fifo-depth : Can Rx fifo depth.
18+- tx-fifo-depth : Can Tx fifo depth (Zynq, Axi CAN).
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).
1924
2025
2126 Example:
@@ -42,3 +47,14 @@ For Axi CAN Dts file: · 20 unmodified lines
4247 tx-fifo-depth = <0x40>;
4348 rx-fifo-depth = <0x40>;
4449 };
50+For 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
1111 registers map
1212 - interrupts : property with a value describing the interrupt
1313 number
14−- interrupt-parent : The parent interrupt controller
1514 - cpdma_channels : Specifies number of channels in CPDMA
1615 - ale_entries : Specifies No of entries ALE can hold
1716 - 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
55 - reg : physical addresses and sizes of registers, must contain 2 entries:
66 first entry : address register,
77 second entry : data register.
8−- interrupt-parent : interrupt controller to which the device is connected
98 - interrupts : interrupt specifier specific to interrupt controller
109
1110 Optional properties:
Documentation/devicetree/bindings/net/dsa/b53.txt+8−0
@@ -24,6 +24,14 @@ Required properties: · 23 unmodified lines
2424 "brcm,bcm53018-srab"
2525 "brcm,bcm53019-srab" and the mandatory "brcm,bcm5301x-srab" string
2626
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+
2735 For the BCM585xx/586XX/88312 SoCs with an integrated switch, must be one of:
2836 "brcm,bcm58522-srab"
2937 "brcm,bcm58523-srab"
Documentation/devicetree/bindings/net/dsa/ksz.txt+3−1
@@ -4,7 +4,9 @@ Microchip KSZ Series Ethernet switches · 3 unmodified lines
44 Required properties:
55
66 - 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"
810
911 See Documentation/devicetree/bindings/net/dsa/dsa.txt for a list of additional
1012 required and optional properties.
Documentation/devicetree/bindings/net/dsa/marvell.txt+0−1
@@ -30,7 +30,6 @@ Required properties: · 29 unmodified lines
3030 Optional properties:
3131
3232 - reset-gpios : Should be a gpio specifier for a reset line
33−- interrupt-parent : Parent interrupt controller
3433 - interrupts : Interrupt from the switch
3534 - interrupt-controller : Indicates the switch is itself an interrupt
3635 controller. This is used for the PHY interrupts.
Documentation/devicetree/bindings/net/dsa/realtek-smi.txt+153−0
@@ -0,0 +1,153 @@
1+Realtek SMI-based Switches
2+==========================
3+
4+The SMI "Simple Management Interface" is a two-wire protocol using
5+bit-banged GPIO that while it reuses the MDIO lines MCK and MDIO does
6+not use the MDIO protocol. This binding defines how to specify the
7+SMI-based Realtek devices.
8+
9+Required 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+
21+Required 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+
26+Optional 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+
31+Required 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+
41+Required 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+
54+Required properties of mdio:
55+
56+- compatible: should be set to "realtek,smi-mdio" for all SMI devices
57+
58+See net/mdio.txt for additional MDIO bus properties.
59+
60+See net/dsa/dsa.txt for a list of additional required and optional properties
61+and subnodes of DSA switches.
62+
63+Examples:
64+
65+switch {
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 @@
1+Vitesse VSC73xx Switches
2+========================
3+
4+This defines device tree bindings for the Vitesse VSC73xx switch chips.
5+The Vitesse company has been acquired by Microsemi and Microsemi in turn
6+acquired by Microchip but retains this vendor branding.
7+
8+The currently supported switch chips are:
9+Vitesse VSC7385 SparX-G5 5+1-port Integrated Gigabit Ethernet Switch
10+Vitesse VSC7388 SparX-G8 8-port Integrated Gigabit Ethernet Switch
11+Vitesse VSC7395 SparX-G5e 5+1-port Integrated Gigabit Ethernet Switch
12+Vitesse VSC7398 SparX-G8e 8-port Integrated Gigabit Ethernet Switch
13+
14+The device tree node is an SPI device so it must reside inside a SPI bus
15+device tree node, see spi/spi-bus.txt
16+
17+Required 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+
29+Optional 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+
34+Required subnodes:
35+
36+See net/dsa/dsa.txt for a list of additional required and optional properties
37+and subnodes of DSA switches.
38+
39+Examples:
40+
41+switch@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
1919 - reset-names: must be "stmmaceth"
2020 - phy-mode: See ethernet.txt
2121 - phy-handle: See ethernet.txt
22−- #address-cells: shall be 1
23−- #size-cells: shall be 0
2422 - syscon: A phandle to the device containing the EMAC or GMAC clock register
2523
2624 Optional properties:
@@ -86,8 +84,6 @@ emac: ethernet@1c0b000 { · 59 unmodified lines
8684 reset-names = "stmmaceth";
8785 clocks = <&ccu CLK_BUS_EMAC>;
8886 clock-names = "stmmaceth";
89− #address-cells = <1>;
90− #size-cells = <0>;
9187
9288 phy-handle = <&int_mii_phy>;
9389 phy-mode = "mii";
@@ -137,8 +133,6 @@ emac: ethernet@1c0b000 { · 43 unmodified lines
137133 reset-names = "stmmaceth";
138134 clocks = <&ccu CLK_BUS_EMAC>;
139135 clock-names = "stmmaceth";
140− #address-cells = <1>;
141− #size-cells = <0>;
142136
143137 phy-handle = <&ext_rgmii_phy>;
144138 phy-mode = "rgmii";
@@ -191,8 +185,6 @@ emac: ethernet@1c0b000 { · 46 unmodified lines
191185 reset-names = "stmmaceth";
192186 clocks = <&ccu CLK_BUS_EMAC>;
193187 clock-names = "stmmaceth";
194− #address-cells = <1>;
195− #size-cells = <0>;
196188
197189 phy-handle = <&ext_rgmii_phy>;
198190 phy-mode = "rgmii";
Documentation/devicetree/bindings/net/fsl-fman.txt+2−25
@@ -238,7 +238,7 @@ PROPERTIES · 237 unmodified lines
238238 Must include one of the following:
239239 - "fsl,fman-dtsec" for dTSEC MAC
240240 - "fsl,fman-xgec" for XGEC MAC
241− - "fsl,fman-memac for mEMAC MAC
241+ - "fsl,fman-memac" for mEMAC MAC
242242
243243 - cell-index
244244 Usage: required
@@ -356,30 +356,7 @@ ethernet@e0000 { · 111 unmodified lines
356356 ============================================================================
357357 FMan IEEE 1588 Node
358358
359−DESCRIPTION
360−
361−The FMan interface to support IEEE 1588
362−
363−
364−PROPERTIES
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−
377−EXAMPLE
378−
379−ptp-timer@fe000 {
380− compatible = "fsl,fman-ptp-timer";
381− reg = <0xfe000 0x1000>;
382−};
359+Refer to Documentation/devicetree/bindings/ptp/ptp-qoriq.txt
383360
384361 =============================================================================
385362 FMan MDIO Node
Documentation/devicetree/bindings/net/hisilicon-hns-dsaf.txt+0−1
@@ -9,7 +9,6 @@ Required properties: · 8 unmodified lines
99 "6port-16rss",
1010 "6port-16vf",
1111 "single-port".
12−- interrupt-parent: the interrupt parent of this device.
1312 - interrupts: should contain the DSA Fabric and rcb interrupt.
1413 - reg: specifies base physical address(es) and size of the device registers.
1514 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
1818 "ibm,emac4". For Axon, thus, we have: "ibm,emac-axon",
1919 "ibm,emac4"
2020 - interrupts : <interrupt mapping for EMAC IRQ and WOL IRQ>
21− - interrupt-parent : optional, if needed for interrupt mapping
2221 - reg : <registers mapping>
2322 - local-mac-address : 6 bytes, MAC address
2423 - 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
2222 - marvell,wakeup-gap-ms: wakeup gap represents wakeup latency of the host
2323 platform. The value will be configured to firmware. This
2424 is needed to work chip's sleep feature as expected (u16).
25− - interrupt-parent: phandle of the parent interrupt controller
2625 - interrupt-names: Used only for USB based devices (See below)
2726 - interrupts : specifies the interrupt pin number to the cpu. For SDIO, the
2827 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
66 Required properties:
77 - compatible: Should be "mediatek,mt7620-gsw" or "mediatek,mt7621-gsw"
88 - 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
119 - interrupts: Should contain the gigabit switches interrupt
1210 - resets: Should contain the gigabit switches resets
1311 - reset-names: Should contain the reset names "gsw"
Documentation/devicetree/bindings/net/mediatek-bluetooth.txt+35−0
@@ -0,0 +1,35 @@
1+MediaTek SoC built-in Bluetooth Devices
2+==================================
3+
4+This device is a serial attached device to BTIF device and thus it must be a
5+child node of the serial node with BTIF. The dt-bindings details for BTIF
6+device can be known via Documentation/devicetree/bindings/serial/8250.txt.
7+
8+Required 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+
17+Example:
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
3030 - mediatek,pctl: phandle to the syscon node that handles the ports slew rate
3131 and driver current: only for MT2701 and MT7623 SoC
3232
33−Optional properties:
34−- interrupt-parent: Should be the phandle for the interrupt controller
35− that services interrupts for this device
3633 * Ethernet MAC node
3734
3835 Required properties:
Documentation/devicetree/bindings/net/microchip,enc28j60.txt+0−3
@@ -8,9 +8,6 @@ the SPI master node. · 7 unmodified lines
88 Required properties:
99 - compatible: Should be "microchip,enc28j60"
1010 - 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.
1411 - interrupts: Specify the interrupt index within the interrupt controller (referred
1512 to above in interrupt-parent) and interrupt type. The ENC28J60 natively
1613 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
44 - compatible: Should be "nxp,nxp-nci-i2c".
55 - clock-frequency: I²C work frequency.
66 - reg: address on the bus
7−- interrupt-parent: phandle for the interrupt gpio controller
87 - interrupts: GPIO interrupt to which the chip is connected
98 - enable-gpios: Output GPIO pin used for enabling/disabling the chip
109 - 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
44 - compatible: Should be "nxp,pn532-i2c" or "nxp,pn533-i2c".
55 - clock-frequency: I²C work frequency.
66 - reg: address on the bus
7−- interrupt-parent: phandle for the interrupt gpio controller
87 - interrupts: GPIO interrupt to which the chip is connected
98
109 Optional SoC Specific Properties:
Documentation/devicetree/bindings/net/nfc/pn544.txt+1−2
@@ -2,9 +2,8 @@ · 1 unmodified line
22
33 Required properties:
44 - compatible: Should be "nxp,pn544-i2c".
5−- clock-frequency: I�C work frequency.
5+- clock-frequency: I²C work frequency.
66 - reg: address on the bus
7−- interrupt-parent: phandle for the interrupt gpio controller
87 - interrupts: GPIO interrupt to which the chip is connected
98 - enable-gpios: Output GPIO pin used for enabling/disabling the PN544
109 - 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
33 Required properties:
44 - compatible: Should be "samsung,s3fwrn5-i2c".
55 - reg: address on the bus
6−- interrupt-parent: phandle for the interrupt gpio controller
76 - interrupts: GPIO interrupt to which the chip is connected
87 - s3fwrn5,en-gpios: Output GPIO pin used for enabling/disabling the chip
98 - 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
44 - compatible: Should be "st,st21nfcb-i2c" or "st,st21nfcc-i2c".
55 - clock-frequency: I²C work frequency.
66 - reg: address on the bus
7−- interrupt-parent: phandle for the interrupt gpio controller
87 - interrupts: GPIO interrupt to which the chip is connected
98 - reset-gpios: Output GPIO pin used to reset the ST21NFCB
109
Documentation/devicetree/bindings/net/nfc/st-nci-spi.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
33 Required properties:
44 - compatible: Should be "st,st21nfcb-spi"
55 - spi-max-frequency: Maximum SPI frequency (<= 4000000).
6−- interrupt-parent: phandle for the interrupt gpio controller
76 - interrupts: GPIO interrupt to which the chip is connected
87 - reset-gpios: Output GPIO pin used to reset the ST21NFCB
98
Documentation/devicetree/bindings/net/nfc/st21nfca.txt+0−2
@@ -4,8 +4,6 @@ Required properties: · 3 unmodified lines
44 - compatible: Should be "st,st21nfca-i2c".
55 - clock-frequency: I²C work frequency.
66 - reg: address on the bus
7−- interrupt-parent: phandle for the interrupt gpio controller
8−- interrupts: GPIO interrupt to which the chip is connected
97 - enable-gpios: Output GPIO pin used for enabling/disabling the ST21NFCA
108
119 Optional SoC Specific Properties:
Documentation/devicetree/bindings/net/nfc/st95hf.txt+0−3
@@ -17,9 +17,6 @@ Required properties: · 16 unmodified lines
1717
1818 - enable-gpio: GPIO line to enable ST95HF transceiver.
1919
20−- interrupt-parent : Standard way to specify the controller to which
21− ST95HF transceiver's interrupt is routed.
22−
2320 - interrupts : Standard way to define ST95HF transceiver's out
2421 interrupt.
2522
Documentation/devicetree/bindings/net/nfc/trf7970a.txt+0−1
@@ -3,7 +3,6 @@ · 2 unmodified lines
33 Required properties:
44 - compatible: Should be "ti,trf7970a".
55 - spi-max-frequency: Maximum SPI frequency (<= 2000000).
6−- interrupt-parent: phandle of parent interrupt handler.
76 - interrupts: A single interrupt specifier.
87 - ti,enable-gpios: One or two GPIO entries used for 'EN' and 'EN2' pins on the
98 TRF7970A. EN2 is optional.
Documentation/devicetree/bindings/net/phy.txt+0−2
@@ -3,8 +3,6 @@ PHY nodes · 2 unmodified lines
33 Required properties:
44
55 - interrupts : interrupt specifier for the sole interrupt.
6− - interrupt-parent : the phandle for the interrupt controller that
7− services interrupts for this device.
86 - reg : The ID number for the phy, usually a small integer
97
108 Optional Properties:
Documentation/devicetree/bindings/net/qca,qca7000.txt+0−1
@@ -19,7 +19,6 @@ Required properties: · 18 unmodified lines
1919 - spi-cpol : Must be set
2020
2121 Optional properties:
22−- interrupt-parent : Specify the pHandle of the source interrupt
2322 - spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at.
2423 Numbers smaller than 1000000 or greater than 16000000
2524 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
1010 Required properties:
1111 - compatible: should contain one of the following:
1212 * "qcom,qca6174-bt"
13+ * "qcom,wcn3990-bt"
14+
15+Optional properties for compatible string qcom,qca6174-bt:
1316
14−Optional properties:
1517 - enable-gpios: gpio specifier used to enable chip
1618 - clocks: clock provided to the controller (SUSCLK_32KHZ)
1719
18−Example:
20+Required 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+
27+Optional properties for compatible string qcom,wcn3990-bt:
28+
29+ - max-speed: see Documentation/devicetree/bindings/serial/slave-device.txt
30+
31+Examples:
1932
2033 serial@7570000 {
2134 label = "BT-UART";
@@ -28,3 +41,15 @@ serial@7570000 { · 6 unmodified lines
2841 clocks = <&divclk4>;
2942 };
3043 };
44+
45+serial@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
1414 "ralink,rt3050-eth", "ralink,rt3883-eth", "ralink,rt5350-eth",
1515 "mediatek,mt7620-eth", "mediatek,mt7621-eth"
1616 - 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
1917 - interrupts: Should contain the frame engines interrupt
2018 - resets: Should contain the frame engines resets
2119 - 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
77 Required properties:
88 - compatible: Should be "ralink,rt3050-esw"
99 - 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
1210 - interrupts: Should contain the embedded switches interrupt
1311 - resets: Should contain the embedded switches resets
1412 - 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
1616 - "renesas,etheravb-rcar-gen2" as a fallback for the above
1717 R-Car Gen2 and RZ/G1 devices.
1818
19+ - "renesas,etheravb-r8a774a1" for the R8A774A1 SoC.
1920 - "renesas,etheravb-r8a7795" for the R8A7795 SoC.
2021 - "renesas,etheravb-r8a7796" for the R8A7796 SoC.
2122 - "renesas,etheravb-r8a77965" for the R8A77965 SoC.
@@ -24,7 +25,7 @@ Required properties: · 2 unmodified lines
2425 - "renesas,etheravb-r8a77990" for the R8A77990 SoC.
2526 - "renesas,etheravb-r8a77995" for the R8A77995 SoC.
2627 - "renesas,etheravb-rcar-gen3" as a fallback for the above
27− R-Car Gen3 devices.
28+ R-Car Gen3 and RZ/G2 devices.
2829
2930 When compatible with the generic version, nodes must list the
3031 SoC-specific version corresponding to the platform first followed by
@@ -47,8 +48,6 @@ Required properties: · 16 unmodified lines
4748 - pinctrl-0: phandle, referring to a default pin configuration node.
4849
4950 Optional properties:
50−- interrupt-parent: the phandle for the interrupt controller that services
51− interrupts for this device.
5251 - interrupt-names: A list of interrupt names.
5352 For the R-Car Gen 3 SoCs this property is mandatory;
5453 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
44
55 Required properties:
66 - compatible: should be "rockchip,<name>-gamc"
7+ "rockchip,px30-gmac": found on PX30 SoCs
78 "rockchip,rk3128-gmac": found on RK312x SoCs
89 "rockchip,rk3228-gmac": found on RK322x SoCs
910 "rockchip,rk3288-gmac": found on RK3288 SoCs
Documentation/devicetree/bindings/net/samsung-sxgbe.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
33 Required properties:
44 - compatible: Should be "samsung,sxgbe-v2.0a"
55 - 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
86 - interrupts: Should contain the SXGBE interrupts
97 These interrupts are ordered by fixed and follows variable
108 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
3535 - pinctrl-0: phandle, referring to a default pin configuration node.
3636
3737 Optional properties:
38−- interrupt-parent: the phandle for the interrupt controller that services
39− interrupts for this device.
4038 - pinctrl-names: pin configuration state name ("default").
4139 - renesas,no-ether-link: boolean, specify when a board does not provide a proper
4240 Ether LINK signal.
Documentation/devicetree/bindings/net/snps,dwc-qos-ethernet.txt+0−2
@@ -83,8 +83,6 @@ Required properties: · 82 unmodified lines
8383 - "snps,dwc-qos-ethernet-4.10" (deprecated):
8484 - "phy_ref_clk"
8585 - "apb_clk"
86−- interrupt-parent: Should be the phandle for the interrupt controller
87− that services interrupts for this device
8886 - interrupts: Should contain the core's combined interrupt signal
8987 - phy-mode: See ethernet.txt file in the same directory
9088 - 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)
22
33 Required 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".
56 For backwards compatibility: "st,spear600-gmac" is also supported.
67 - 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
98 - interrupts: Should contain the STMMAC interrupts
109 - interrupt-names: Should contain a list of interrupt names corresponding to
1110 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
1111 Optional properties:
1212 - brcm,drive-strength : drive strength used for SDIO pins on device in mA
1313 (default = 6).
14− - interrupt-parent : the phandle for the interrupt controller to which the
15− device interrupts are connected.
1614 - interrupts : specifies attributes for the out-of-band interrupt (host-wake).
1715 When not specified the device will use in-band SDIO interrupts.
1816 - 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
2929 - marvell,wakeup-pin : a wakeup pin number of wifi chip which will be configured
3030 to firmware. Firmware will wakeup the host using this pin
3131 during suspend/resume.
32− - interrupt-parent: phandle of the parent interrupt controller
3332 - interrupts : interrupt pin number to the cpu. driver will request an irq based on
3433 this interrupt number. during system suspend, the irq will be enabled
3534 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
88 - reg : Chip select address of device
99 - spi-max-frequency : Maximum SPI clocking speed of device in Hz
1010 - interrupts : Should contain interrupt line
11−- interrupt-parent : Should be the phandle for the interrupt controller
12− that services interrupts for this device
1311 - vio-supply : phandle to regulator providing VIO
1412 - ti,power-gpio : GPIO connected to chip's PMEN pin
1513
Documentation/devicetree/bindings/net/wireless/ti,wlcore,spi.txt+1−3
@@ -17,9 +17,7 @@ Required properties: · 16 unmodified lines
1717 * "ti,wl1837"
1818 - reg : Chip select address of device
1919 - spi-max-frequency : Maximum SPI clocking speed of device in Hz
20−- interrupt-parent, interrupts :
21− Should contain parameters for 1 interrupt line.
22− Interrupt parameters: parent, line number, type.
20+- interrupts : Should contain parameters for 1 interrupt line.
2321 - vwlan-supply : Point the node of the regulator that powers/enable the
2422 wl12xx/wl18xx chip
2523
Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt+0−2
@@ -20,8 +20,6 @@ Required properties: · 19 unmodified lines
2020 - interrupts : specifies attributes for the out-of-band interrupt.
2121
2222 Optional properties:
23− - interrupt-parent : the phandle for the interrupt controller to which the
24− device interrupts are connected.
2523 - ref-clock-frequency : ref clock frequency in Hz
2624 - tcxo-clock-frequency : tcxo clock frequency in Hz
2725
Documentation/devicetree/bindings/nvmem/imx-ocotp.txt+2−1
@@ -1,7 +1,7 @@
11 Freescale i.MX6 On-Chip OTP Controller (OCOTP) device tree bindings
22
33 This binding represents the on-chip eFuse OTP controller found on
4−i.MX6Q/D, i.MX6DL/S, i.MX6SL, i.MX6SX and i.MX6UL SoCs.
4+i.MX6Q/D, i.MX6DL/S, i.MX6SL, i.MX6SX, i.MX6UL and i.MX6SLL SoCs.
55
66 Required properties:
77 - compatible: should be one of
@@ -10,6 +10,7 @@ Required properties: · 2 unmodified lines
1010 "fsl,imx6sx-ocotp" (i.MX6SX),
1111 "fsl,imx6ul-ocotp" (i.MX6UL),
1212 "fsl,imx7d-ocotp" (i.MX7D/S),
13+ "fsl,imx6sll-ocotp" (i.MX6SLL),
1314 followed by "syscon".
1415 - #address-cells : Should be 1
1516 - #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+
3+Required 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 =
14+Are child nodes of eFuse, bindings of which as described in
15+bindings/nvmem/nvmem.txt
16+
17+Example:
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 =
44+Are device nodes which consume nvmem data cells.
45+
46+Example:
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
77 - reg-names: must include the following entries:
88 "csr": CSR registers
99 "vector_slave": vectors slave port region
10−- interrupt-parent: interrupt source phandle.
1110 - interrupts: specifies the interrupt source of the parent interrupt
1211 controller. The format of the interrupt specifier depends on the
1312 parent interrupt controller.
Documentation/devicetree/bindings/pci/altera-pcie.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
66 - reg-names: must include the following entries:
77 "Txs": TX slave port region
88 "Cra": Control register access region
9−- interrupt-parent: interrupt source phandle.
109 - interrupts: specifies the interrupt source of the parent interrupt
1110 controller. The format of the interrupt specifier depends
1211 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
6565 following properties in the MSI device node:
6666 - compatible: Must be "brcm,iproc-msi"
6767 - msi-controller: claims itself as an MSI controller
68−- interrupt-parent: Link to its parent interrupt device
6968 - interrupts: List of interrupt IDs from its parent interrupt device
7069
7170 Optional properties:
Documentation/devicetree/bindings/pci/cdns,cdns-pcie-ep.txt+5−0
@@ -9,6 +9,9 @@ Required properties: · 8 unmodified lines
99
1010 Optional properties:
1111 - 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.
1215
1316 Example:
1417
@@ -19,4 +22,6 @@ pcie@fc000000 { · 4 unmodified lines
1922 reg-names = "reg", "mem";
2023 cdns,max-outbound-regions = <16>;
2124 max-functions = /bits/ 8 <8>;
25+ phys = <&ep_phy0 &ep_phy1>;
26+ phy-names = "pcie-lane0","pcie-lane1";
2227 };
Documentation/devicetree/bindings/pci/cdns,cdns-pcie-host.txt+6−0
@@ -24,6 +24,9 @@ Optional properties: · 23 unmodified lines
2424 translations (default 32)
2525 - vendor-id: The PCI vendor ID (16 bits, default is design dependent)
2626 - 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.
2730
2831 Example:
2932
@@ -57,4 +60,7 @@ pcie@fb000000 { · 27 unmodified lines
5760 interrupt-map-mask = <0x0 0x0 0x0 0x7>;
5861
5962 msi-parent = <&its_pci>;
63+
64+ phys = <&pcie_phy0>;
65+ phy-names = "pcie-phy";
6066 };
Documentation/devicetree/bindings/pci/faraday,ftpci100.txt+0−1
@@ -41,7 +41,6 @@ Mandatory subnodes: · 40 unmodified lines
4141 - For "faraday,ftpci100" a node representing the interrupt-controller inside the
4242 host bridge is mandatory. It has the following mandatory properties:
4343 - interrupt: see interrupt-controller/interrupts.txt
44− - interrupt-parent: see interrupt-controller/interrupts.txt
4544 - interrupt-controller: see interrupt-controller/interrupts.txt
4645 - #address-cells: set to <0>
4746 - #interrupt-cells: set to <1>
Documentation/devicetree/bindings/pci/mobiveil-pcie.txt+0−3
@@ -26,9 +26,6 @@ Required properties: · 25 unmodified lines
2626 - interrupt-controller: identifies the node as an interrupt controller
2727 - #interrupt-cells: specifies the number of cells needed to encode an
2828 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.
3229 - interrupts: The interrupt line of the PCIe controller
3330 last cell of this field is set to 4 to
3431 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
1717
1818 pcie_msi_intc : Interrupt controller device node for MSI IRQ chip
1919 interrupt-cells: should be set to 1
20− interrupt-parent: Parent interrupt controller phandle
2120 interrupts: GIC interrupt lines connected to PCI MSI interrupt lines
2221
2322 Example:
@@ -37,8 +36,6 @@ pcie_msi_intc : Interrupt controller device node for MSI IRQ chip · 13 unmodified lines
3736
3837 pcie_intc: Interrupt controller device node for Legacy IRQ chip
3938 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
4239
4340 Example:
4441 pcie_intc: legacy-interrupt-controller {
Documentation/devicetree/bindings/pci/ralink,rt3883-pci.txt+0−3
@@ -41,9 +41,6 @@ · 40 unmodified lines
4141 - #interrupt-cells: specifies the number of cells needed to encode an
4242 interrupt source. The value must be 1.
4343
44− - interrupt-parent: the phandle for the interrupt controller that
45− services interrupts for this device.
46−
4744 - interrupts: specifies the interrupt source of the parent interrupt
4845 controller. The format of the interrupt specifier depends on the
4946 parent interrupt controller.
Documentation/devicetree/bindings/phy/brcm,sr-pcie-phy.txt+41−0
@@ -0,0 +1,41 @@
1+Broadcom Stingray PCIe PHY
2+
3+Required 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+
10+For PAXB based root complex, one can have a configuration of up to 8 PHYs
11+PHY index goes from 0 to 7
12+
13+For the internal PAXC based root complex, PHY index is always 8
14+
15+Example:
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
33 Required properties:
44 - compatible: "qca,ar7100-usb-phy"
55 - #phys-cells: should be 0
6−- reset-names: "usb-phy"[, "usb-suspend-override"]
6+- reset-names: "phy"[, "suspend-override"]
77 - resets: references to the reset controllers
88
99 Example:
@@ -11,7 +11,7 @@ Example: · 1 unmodified line
1111 usb-phy {
1212 compatible = "qca,ar7100-usb-phy";
1313
14− reset-names = "usb-phy", "usb-suspend-override";
14+ reset-names = "phy", "suspend-override";
1515 resets = <&rst 4>, <&rst 3>;
1616
1717 #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
4747 - PHY_TYPE_PCIE
4848 - PHY_TYPE_SATA
4949
50+Optional 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+
5056 Example:
5157
5258 u3phy: usb-phy@11290000 {
Documentation/devicetree/bindings/phy/qcom-qmp-phy.txt+12−2
@@ -12,7 +12,14 @@ Required properties: · 11 unmodified lines
1212 "qcom,sdm845-qmp-usb3-phy" for USB3 QMP V3 phy on sdm845,
1313 "qcom,sdm845-qmp-usb3-uni-phy" for USB3 QMP V3 UNI phy on sdm845.
1414
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.
1623
1724 - #clock-cells: must be 1
1825 - Phy pll outputs a bunch of clocks for Tx, Rx and Pipe
@@ -60,7 +67,10 @@ Required nodes: · 41 unmodified lines
6067
6168 Required properties for child node:
6269 - 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)
6474
6575 - #phy-cells: must be 0
6676
Documentation/devicetree/bindings/phy/rcar-gen3-phy-pcie.txt+24−0
@@ -0,0 +1,24 @@
1+* Renesas R-Car generation 3 PCIe PHY
2+
3+This file provides information on what the device node for the R-Car
4+generation 3 PCIe PHY contains.
5+
6+Required 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+
15+Example (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
1010 SoC.
1111 "renesas,usb2-phy-r8a77965" if the device is a part of an
1212 R8A77965 SoC.
13+ "renesas,usb2-phy-r8a77990" if the device is a part of an
14+ R8A77990 SoC.
1315 "renesas,usb2-phy-r8a77995" if the device is a part of an
1416 R8A77995 SoC.
1517 "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
1919 defines the interrupt number, the second encodes
2020 the trigger flags described in
2121 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.
2226
2327 Please refer to pinctrl-bindings.txt in this directory for details of the
2428 common pinctrl bindings used by client devices, including the meaning of the
@@ -180,6 +184,12 @@ Example: · 155 unmodified lines
180184 #gpio-cells = <2>;
181185 interrupt-controller;
182186 #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>;
183193
184194 uart2-default: uart2-default {
185195 pinmux {
Documentation/devicetree/bindings/pinctrl/atmel,at91-pio4-pinctrl.txt+3−0
@@ -36,6 +36,8 @@ Optional properties: · 35 unmodified lines
3636 - GENERIC_PINCONFIG: generic pinconfig options to use, bias-disable,
3737 bias-pull-down, bias-pull-up, drive-open-drain, input-schmitt-enable,
3838 input-debounce, output-low, output-high.
39+- atmel,drive-strength: 0 or 1 for low drive, 2 for medium drive and 3 for
40+high drive. The default value is low drive.
3941
4042 Example:
4143
@@ -66,6 +68,7 @@ Example: · 24 unmodified lines
6668 pinmux = <PIN_PB0>,
6769 <PIN_PB5>;
6870 bias-pull-up;
71+ atmel,drive-strength = <ATMEL_PIO_DRVSTR_ME>;
6972 };
7073
7174 pinctrl_sdmmc1_default: sdmmc1_default {
Documentation/devicetree/bindings/pinctrl/berlin,pinctrl.txt+2−1
@@ -23,7 +23,8 @@ Required properties: · 22 unmodified lines
2323 "marvell,berlin2q-system-pinctrl",
2424 "marvell,berlin4ct-avio-pinctrl",
2525 "marvell,berlin4ct-soc-pinctrl",
26− "marvell,berlin4ct-system-pinctrl"
26+ "marvell,berlin4ct-system-pinctrl",
27+ "syna,as370-soc-pinctrl"
2728
2829 Required subnode-properties:
2930 - groups: a list of strings describing the group names.
Documentation/devicetree/bindings/pinctrl/cirrus,madera-pinctrl.txt+99−0
@@ -0,0 +1,99 @@
1+Cirrus Logic Madera class audio codecs pinctrl driver
2+
3+The Cirrus Logic Madera codecs provide a number of GPIO functions for
4+interfacing to external hardware and to provide logic outputs to other devices.
5+Certain groups of GPIO pins also have an alternate function, normally as an
6+audio interface.
7+
8+The set of available GPIOs, functions and alternate function groups differs
9+between codecs so refer to the datasheet for the codec for further information
10+on what is supported on that device.
11+
12+The properties for this driver exist within the parent MFD driver node.
13+
14+See 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+
21+Required 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+
26+Required 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+
31+Required 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+
38+Optional 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+
71+Example:
72+
73+cs47l85@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+
3+Please refer to fsl,imx-pinctrl.txt and pinctrl-bindings.txt in this directory
4+for common binding part and usage.
5+
6+Required properties:
7+- compatible: "fsl,imx8mq-iomuxc"
8+- reg: should contain the base physical address and size of the iomuxc
9+ registers.
10+
11+Required 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+
19+Examples:
20+
21+&uart1 {
22+ pinctrl-names = "default";
23+ pinctrl-0 = <&pinctrl_uart1>;
24+};
25+
26+iomuxc: 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
1717 The macros for options are defined in the
1818 include/dt-binding/pinctrl/pinctrl-tegra.h.
1919 - nvidia,enable-input: Integer. Enable the pin's input path.
20− enable :TEGRA_PIN_ENABLE0 and
20+ enable :TEGRA_PIN_ENABLE and
2121 disable or output only: TEGRA_PIN_DISABLE.
2222 - nvidia,open-drain: Integer.
2323 enable: TEGRA_PIN_ENABLE.
Documentation/devicetree/bindings/pinctrl/nvidia,tegra210-pinmux.txt+1−1
@@ -44,7 +44,7 @@ Optional subnode-properties: · 43 unmodified lines
4444 - nvidia,tristate: Integer.
4545 0: drive, 1: tristate.
4646 - nvidia,enable-input: Integer. Enable the pin's input path.
47− enable :TEGRA_PIN_ENABLE0 and
47+ enable :TEGRA_PIN_ENABLE and
4848 disable or output only: TEGRA_PIN_DISABLE.
4949 - nvidia,open-drain: Integer.
5050 enable: TEGRA_PIN_ENABLE.
Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt+6−0
@@ -103,6 +103,12 @@ Optional properties: · 102 unmodified lines
103103 #pinctrl-cells: Number of pin control cells in addition to the index within the
104104 pin controller device instance
105105
106+pinctrl-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+
106112 Pin controller devices should contain the pin configuration nodes that client
107113 devices reference.
108114
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
1616 - reg-names: A string describing the "reg" entries. Must contain "eint".
1717 - interrupts : The interrupt output from the controller.
1818 - #interrupt-cells: Should be two.
19−- interrupt-parent: Phandle of the interrupt parent to which the external
20− GPIO interrupts are forwarded to.
2119
2220 Please refer to pinctrl-bindings.txt in this directory for details of the
2321 common 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
2525 - gpio-controller: Marks the device as a GPIO controller.
2626
2727 Optional properties :
28−- interrupt-parent: phandle of the parent interrupt controller.
29−
3028 - interrupts: Interrupt specifier for the controllers interrupt.
3129
3230 - 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
1010 - #gpio-cells : Should be two.
1111 The first cell is the gpio pin number and the
1212 second cell is used for optional parameters.
13+- gpio-ranges: see ../gpio/gpio.txt
14+
15+Optional properties:
16+
17+- gpio-reserved-ranges: see ../gpio/gpio.txt
1318
1419 Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
1520 a general description of GPIO and interrupt bindings.
@@ -67,6 +72,7 @@ Example: · 51 unmodified lines
6772
6873 pinctrl-names = "default";
6974 pinctrl-0 = <&gsbi5_uart_default>;
75+ gpio-ranges = <&msmgpio 0 0 90>;
7076
7177 gsbi5_uart_default: gsbi5_uart_default {
7278 mux {
Documentation/devicetree/bindings/pinctrl/qcom,apq8084-pinctrl.txt+9−0
@@ -40,6 +40,14 @@ MSM8960 platform. · 39 unmodified lines
4040 Definition: must be 2. Specifying the pin number and flags, as defined
4141 in <dt-bindings/gpio/gpio.h>
4242
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+
4351 Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
4452 a general description of GPIO and interrupt bindings.
4553
@@ -154,6 +162,7 @@ Example: · 108 unmodified lines
154162
155163 gpio-controller;
156164 #gpio-cells = <2>;
165+ gpio-ranges = <&tlmm 0 0 147>;
157166 interrupt-controller;
158167 #interrupt-cells = <2>;
159168 interrupts = <0 208 0>;
Documentation/devicetree/bindings/pinctrl/qcom,ipq4019-pinctrl.txt+6−0
@@ -13,6 +13,11 @@ Required properties: · 12 unmodified lines
1313 - #gpio-cells : Should be two.
1414 The first cell is the gpio pin number and the
1515 second cell is used for optional parameters.
16+- gpio-ranges: see ../gpio/gpio.txt
17+
18+Optional properties:
19+
20+- gpio-reserved-ranges: see ../gpio/gpio.txt
1621
1722 Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
1823 a general description of GPIO and interrupt bindings.
@@ -64,6 +69,7 @@ Example: · 45 unmodified lines
6469
6570 gpio-controller;
6671 #gpio-cells = <2>;
72+ gpio-ranges = <&tlmm 0 0 100>;
6773 interrupt-controller;
6874 #interrupt-cells = <2>;
6975 interrupts = <0 208 0>;
Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt+6−0
@@ -10,6 +10,11 @@ Required properties: · 9 unmodified lines
1010 - #gpio-cells : Should be two.
1111 The first cell is the gpio pin number and the
1212 second cell is used for optional parameters.
13+- gpio-ranges: see ../gpio/gpio.txt
14+
15+Optional properties:
16+
17+- gpio-reserved-ranges: see ../gpio/gpio.txt
1318
1419 Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
1520 a general description of GPIO and interrupt bindings.
@@ -67,6 +72,7 @@ Example: · 51 unmodified lines
6772
6873 gpio-controller;
6974 #gpio-cells = <2>;
75+ gpio-ranges = <&pinmux 0 0 69>;
7076 interrupt-controller;
7177 #interrupt-cells = <2>;
7278 interrupts = <0 32 0x4>;
Documentation/devicetree/bindings/pinctrl/qcom,ipq8074-pinctrl.txt+9−0
@@ -40,6 +40,14 @@ IPQ8074 platform. · 39 unmodified lines
4040 Definition: must be 2. Specifying the pin number and flags, as defined
4141 in <dt-bindings/gpio/gpio.h>
4242
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+
4351 Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
4452 a general description of GPIO and interrupt bindings.
4553
@@ -148,6 +156,7 @@ Example: · 102 unmodified lines
148156 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
149157 gpio-controller;
150158 #gpio-cells = <2>;
159+ gpio-ranges = <&tlmm 0 0 70>;
151160 interrupt-controller;
152161 #interrupt-cells = <2>;
153162
Documentation/devicetree/bindings/pinctrl/qcom,mdm9615-pinctrl.txt+9−0
@@ -40,6 +40,14 @@ MDM9615 platform. · 39 unmodified lines
4040 Definition: must be 2. Specifying the pin number and flags, as defined
4141 in <dt-bindings/gpio/gpio.h>
4242
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+
4351 Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
4452 a general description of GPIO and interrupt bindings.
4553
@@ -127,6 +135,7 @@ Example: · 81 unmodified lines
127135
128136 gpio-controller;
129137 #gpio-cells = <2>;
138+ gpio-ranges = <&msmgpio 0 0 88>;
130139 interrupt-controller;
131140 #interrupt-cells = <2>;
132141 interrupts = <0 16 0x4>;
Documentation/devicetree/bindings/pinctrl/qcom,msm8660-pinctrl.txt+6−0
@@ -10,6 +10,11 @@ Required properties: · 9 unmodified lines
1010 - #gpio-cells : Should be two.
1111 The first cell is the gpio pin number and the
1212 second cell is used for optional parameters.
13+- gpio-ranges: see ../gpio/gpio.txt
14+
15+Optional properties:
16+
17+- gpio-reserved-ranges: see ../gpio/gpio.txt
1318
1419 Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
1520 a general description of GPIO and interrupt bindings.
@@ -62,6 +67,7 @@ Example: · 46 unmodified lines
6267
6368 gpio-controller;
6469 #gpio-cells = <2>;
70+ gpio-ranges = <&msmgpio 0 0 173>;
6571 interrupt-controller;
6672 #interrupt-cells = <2>;
6773 interrupts = <0 16 0x4>;
Documentation/devicetree/bindings/pinctrl/qcom,msm8916-pinctrl.txt+9−0
@@ -40,6 +40,14 @@ MSM8916 platform. · 39 unmodified lines
4040 Definition: must be 2. Specifying the pin number and flags, as defined
4141 in <dt-bindings/gpio/gpio.h>
4242
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+
4351 Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
4452 a general description of GPIO and interrupt bindings.
4553
@@ -162,6 +170,7 @@ Example: · 116 unmodified lines
162170 interrupts = <0 208 0>;
163171 gpio-controller;
164172 #gpio-cells = <2>;
173+ gpio-ranges = <&tlmm 0 0 122>;
165174 interrupt-controller;
166175 #interrupt-cells = <2>;
167176
Documentation/devicetree/bindings/pinctrl/qcom,msm8960-pinctrl.txt+9−0
@@ -40,6 +40,14 @@ MSM8960 platform. · 39 unmodified lines
4040 Definition: must be 2. Specifying the pin number and flags, as defined
4141 in <dt-bindings/gpio/gpio.h>
4242
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+
4351 Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
4452 a general description of GPIO and interrupt bindings.
4553
@@ -156,6 +164,7 @@ Example: · 110 unmodified lines
156164
157165 gpio-controller;
158166 #gpio-cells = <2>;
167+ gpio-ranges = <&msmgpio 0 0 152>;
159168 interrupt-controller;
160169 #interrupt-cells = <2>;
161170 interrupts = <0 16 0x4>;
Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt+6−0
@@ -10,6 +10,11 @@ Required properties: · 9 unmodified lines
1010 - #gpio-cells : Should be two.
1111 The first cell is the gpio pin number and the
1212 second cell is used for optional parameters.
13+- gpio-ranges: see ../gpio/gpio.txt
14+
15+Optional properties:
16+
17+- gpio-reserved-ranges: see ../gpio/gpio.txt
1318
1419 Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
1520 a general description of GPIO and interrupt bindings.
@@ -87,6 +92,7 @@ Example: · 71 unmodified lines
8792
8893 gpio-controller;
8994 #gpio-cells = <2>;
95+ gpio-ranges = <&msmgpio 0 0 146>;
9096 interrupt-controller;
9197 #interrupt-cells = <2>;
9298 interrupts = <0 208 0>;
Documentation/devicetree/bindings/pinctrl/qcom,msm8994-pinctrl.txt+9−0
@@ -42,6 +42,14 @@ MSM8994 platform. · 41 unmodified lines
4242 Definition: must be 2. Specifying the pin number and flags, as defined
4343 in <dt-bindings/gpio/gpio.h>
4444
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+
4553 Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
4654 a general description of GPIO and interrupt bindings.
4755
@@ -160,6 +168,7 @@ Example: · 112 unmodified lines
160168 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
161169 gpio-controller;
162170 #gpio-cells = <2>;
171+ gpio-ranges = <&msmgpio 0 0 146>;
163172 interrupt-controller;
164173 #interrupt-cells = <2>;
165174
Documentation/devicetree/bindings/pinctrl/qcom,msm8996-pinctrl.txt+9−0
@@ -40,6 +40,14 @@ MSM8996 platform. · 39 unmodified lines
4040 Definition: must be 2. Specifying the pin number and flags, as defined
4141 in <dt-bindings/gpio/gpio.h>
4242
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+
4351 Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
4452 a general description of GPIO and interrupt bindings.
4553
@@ -180,6 +188,7 @@ Example: · 134 unmodified lines
180188 reg = <0x01010000 0x300000>;
181189 interrupts = <0 208 0>;
182190 gpio-controller;
191+ gpio-ranges = <&tlmm 0 0 150>;
183192 #gpio-cells = <2>;
184193 interrupt-controller;
185194 #interrupt-cells = <2>;
Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt+4−2
@@ -7,6 +7,7 @@ PMIC's from Qualcomm. · 6 unmodified lines
77 Usage: required
88 Value type: <string>
99 Definition: must be one of:
10+ "qcom,pm8005-gpio"
1011 "qcom,pm8018-gpio"
1112 "qcom,pm8038-gpio"
1213 "qcom,pm8058-gpio"
@@ -15,7 +16,7 @@ PMIC's from Qualcomm. · 2 unmodified lines
1516 "qcom,pm8921-gpio"
1617 "qcom,pm8941-gpio"
1718 "qcom,pm8994-gpio"
18− "qcom,pmi8994-gpio"
19+ "qcom,pm8998-gpio"
1920 "qcom,pma8084-gpio"
2021 "qcom,pmi8994-gpio"
2122
@@ -78,6 +79,7 @@ to specify in a pin configuration subnode: · 56 unmodified lines
7879 Value type: <string-array>
7980 Definition: List of gpio pins affected by the properties specified in
8081 this subnode. Valid pins are:
82+ gpio1-gpio4 for pm8005
8183 gpio1-gpio6 for pm8018
8284 gpio1-gpio12 for pm8038
8385 gpio1-gpio40 for pm8058
@@ -86,7 +88,7 @@ to specify in a pin configuration subnode: · 2 unmodified lines
8688 gpio1-gpio44 for pm8921
8789 gpio1-gpio36 for pm8941
8890 gpio1-gpio22 for pm8994
89− gpio1-gpio10 for pmi8994
91+ gpio1-gpio26 for pm8998
9092 gpio1-gpio22 for pma8084
9193 gpio1-gpio10 for pmi8994
9294
Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt+9−8
@@ -124,8 +124,6 @@ used as system wakeup events. · 123 unmodified lines
124124 A. External GPIO Interrupts: For supporting external gpio interrupts, the
125125 following properties should be specified in the pin-controller device node.
126126
127− - interrupt-parent: phandle of the interrupt parent to which the external
128− GPIO interrupts are forwarded to.
129127 - interrupts: interrupt specifier for the controller. The format and value of
130128 the interrupt specifier depends on the interrupt parent for the controller.
131129
@@ -145,8 +143,13 @@ A. External GPIO Interrupts: For supporting external gpio interrupts, the · 13 unmodified lines
145143
146144 B. External Wakeup Interrupts: For supporting external wakeup interrupts, a
147145 child node representing the external wakeup interrupt controller should be
148− included in the pin-controller device node. This child node should include
149− the following properties.
146+ included in the pin-controller device node.
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:
150153
151154 - compatible: identifies the type of the external wakeup interrupt controller
152155 The possible values are:
@@ -156,12 +159,12 @@ B. External Wakeup Interrupts: For supporting external wakeup interrupts, a · 3 unmodified lines
156159 found on Samsung S3C2412 and S3C2413 SoCs,
157160 - samsung,s3c64xx-wakeup-eint: represents wakeup interrupt controller
158161 found on Samsung S3C64xx SoCs,
162+ - samsung,s5pv210-wakeup-eint: represents wakeup interrupt controller
163+ found on Samsung S5Pv210 SoCs,
159164 - samsung,exynos4210-wakeup-eint: represents wakeup interrupt controller
160165 found on Samsung Exynos4210 and S5PC110/S5PV210 SoCs.
161166 - samsung,exynos7-wakeup-eint: represents wakeup interrupt controller
162167 found on Samsung Exynos7 SoC.
163− - interrupt-parent: phandle of the interrupt parent to which the external
164− wakeup interrupts are forwarded to.
165168 - interrupts: interrupt used by multiplexed wakeup interrupts.
166169
167170 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
181184 Node of every bank of pins supporting direct wake-up interrupts (without
182185 multiplexing) must contain following properties:
183186
184− - interrupt-parent: phandle of the interrupt parent to which the external
185− wakeup interrupts are forwarded to.
186187 - interrupts: interrupts of the interrupt parent which are used for external
187188 wakeup interrupts from pins of the bank, must contain interrupts for all
188189 pins of the bank.
Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt+6−5
@@ -37,11 +37,10 @@ Required properties: · 36 unmodified lines
3737
3838 Optional properties:
3939 - reset: : Reference to the reset controller
40− - interrupt-parent: phandle of the interrupt parent to which the external
41− GPIO interrupts are forwarded to.
42− - st,syscfg: Should be phandle/offset pair. The phandle to the syscon node
43− which includes IRQ mux selection register, and the offset of the IRQ mux
44− selection register.
40+ - st,syscfg: Should be phandle/offset/mask.
41+ -The phandle to the syscon node which includes IRQ mux selection register.
42+ -The offset of the IRQ mux selection register
43+ -The field mask of IRQ mux, needed if different of 0xf.
4544 - gpio-ranges: Define a dedicated mapping between a pin-controller and
4645 a gpio controller. Format is <&phandle a b c> with:
4746 -(phandle): phandle of pin-controller.
@@ -55,6 +54,8 @@ Optional properties: · 7 unmodified lines
5554 NOTE: If "gpio-ranges" is used for a gpio controller, all gpio-controller
5655 have to use a "gpio-ranges" entry.
5756 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).
5859
5960 Example 1:
6061 #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
114114 - power-domains : A list of PM domain specifiers, as defined by bindings of
115115 the power controller that is the PM domain provider.
116116
117+Optional 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+
117123 Example:
118124
119125 leaky-device@12350000 {
120126 compatible = "foo,i-leak-current";
121127 reg = <0x12350000 0x1000>;
122128 power-domains = <&power 0>;
129+ power-domain-names = "io";
123130 };
124131
125132 leaky-device@12351000 {
126133 compatible = "foo,i-leak-current";
127134 reg = <0x12351000 0x1000>;
128135 power-domains = <&power 0>, <&power 1> ;
136+ power-domain-names = "io", "clk";
129137 };
130138
131139 The 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
133141 node with the label "power".
134142 In the second example the consumer device are partitioned across two PM domains,
135143 the first with index 0 and the second with index 1, of a power controller that
136−is represented by a node with the label "power.
144+is represented by a node with the label "power".
137145
138146 Optional properties:
139147 - 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 @@
1+Qualcomm PON Device
2+
3+The Power On device for Qualcomm PM8xxx is MFD supporting pwrkey
4+and resin along with the Android reboot-mode.
5+
6+This DT node has pwrkey and resin as sub nodes.
7+
8+Required Properties:
9+-compatible: "qcom,pm8916-pon"
10+-reg: Specifies the physical address of the pon register
11+
12+Optional 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+
18+The rest of the properties should follow the generic reboot-mode description
19+found in reboot-mode.txt
20+
21+Example:
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
99 - interrupts: <a b> where a is the interrupt number and b is a
1010 field that represents an encoding of the sense and level
1111 information for the interrupt.
12− - interrupt-parent: the phandle for the interrupt controller that
13− services interrupts for this device.
1412
1513 Optional properties:
1614 - 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
66 * "ti,bq24251"
77 * "ti,bq24257"
88 - reg: integer, i2c address of the device.
9−- interrupt-parent: Should be the phandle for the interrupt controller. Use in
10− conjunction with "interrupts".
119 - interrupts: Interrupt mapping for GPIO IRQ (configure for both edges). Use in
1210 conjunction with "interrupt-parent".
1311 - 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
55 - reg: I2C slave address 27h
66
77 Optional properties:
8−- interrupt-parent: interrupt controller node (see interrupt binding[0])
98 - interrupts: interrupt specifier (see interrupt binding[0])
109 - debounce-ms: interrupt debounce time. (u32)
1110
Documentation/devicetree/bindings/power/supply/maxim,ds2760.txt+26−0
@@ -0,0 +1,26 @@
1+Devicetree bindings for Maxim DS2760
2+====================================
3+
4+The ds2760 is a w1 slave device and must hence have its sub-node in DT
5+under a w1 bus master node.
6+
7+The device exposes a power supply, so the details described in
8+Documentation/devicetree/bindings/power/supply/power_supply.txt apply.
9+
10+Required properties:
11+- compatible: must be "maxim,ds2760"
12+
13+Optional 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
33 Required properties :
44 - compatible : "maxim,max14656";
55 - reg: i2c slave address
6−- interrupt-parent: the phandle for the interrupt controller
76 - interrupts: interrupt line
87
98 Example:
Documentation/devicetree/bindings/power/supply/rt9455_charger.txt+0−2
@@ -4,8 +4,6 @@ Required properties: · 3 unmodified lines
44 - compatible: it should contain one of the following:
55 "richtek,rt9455".
66 - reg: integer, i2c address of the device.
7−- interrupt-parent: the phandle for the interrupt controller that
8− services interrupts for this device.
97 - interrupts: interrupt mapping for GPIO IRQ, it should be
108 configured with IRQ_TYPE_LEVEL_LOW flag.
119 - 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
22 ~~~~~~~~~~
33
44 Required 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
610
711 Optional properties :
812 - sbs,i2c-retry-count : The number of times to retry i2c transactions on i2c
@@ -14,9 +18,9 @@ Optional properties : · 5 unmodified lines
1418
1519 Example:
1620
17− bq20z75@b {
18− compatible = "sbs,sbs-battery";
19− reg = < 0xb >;
21+ battery@b {
22+ compatible = "ti,bq20z75", "sbs,sbs-battery";
23+ reg = <0xb>;
2024 sbs,i2c-retry-count = <2>;
2125 sbs,poll-retry-count = <10>;
2226 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
77 specific registers.
88
99 Optional properties:
10−- interrupt-parent: Should be the phandle for the interrupt controller. Use in
11− conjunction with "interrupts".
1210 - interrupts: Interrupt mapping for GPIO IRQ. Use in conjunction with
1311 "interrupt-parent". If an interrupt is not provided the driver will switch
1412 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
1919
2020 - compatible : should be "ibm,476gtr-sdhci","generic-sdhci".
2121 - reg : should contain the SDHCI registers location and length.
22− - interrupt-parent : a phandle for the interrupt controller.
2322 - interrupts : should contain the SDHCI interrupt.
2423
2524 1.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
3029
3130 - compatible : should be "ibm,476gtr-ahci".
3231 - reg : should contain the AHCI registers location and length.
33− - interrupt-parent : a phandle for the interrupt controller.
3432 - interrupts : should contain the AHCI interrupt.
3533
3634 1.c) The FPGA node
Documentation/devicetree/bindings/powerpc/4xx/hsta.txt+0−1
@@ -13,7 +13,6 @@ device tree entries: · 12 unmodified lines
1313 Require properties:
1414 - compatible : "ibm,476gtr-hsta-msi", "ibm,hsta-msi"
1515 - reg : register mapping for the HSTA MSI space
16−- interrupt-parent : parent controller for mapping interrupts
1716 - interrupts : ordered interrupt mapping for each MSI in the register
1817 space. The first interrupt should be associated with a
1918 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
3838 2 sources: DMAx CS FIFO Needs Service IRQ (on UIC0)
3939 and DMA Error IRQ (on UIC1). The latter is common
4040 for both DMA engines>.
41− - interrupt-parent : needed for interrupt mapping
4241
4342 Example:
4443
@@ -65,7 +64,6 @@ DMA devices. · 20 unmodified lines
6564 - compatible : "amcc,xor-accelerator";
6665 - reg : <registers mapping>
6766 - interrupts : <interrupt mapping for XOR interrupt source>
68− - interrupt-parent : for interrupt mapping
6967
7068 Example:
7169
Documentation/devicetree/bindings/powerpc/fsl/dcsr.txt+0−7
@@ -84,13 +84,6 @@ PROPERTIES · 83 unmodified lines
8484
8585 Interrupt numbers are listed in order (perfmon, event0, event1).
8686
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−
9487 - reg
9588 Usage: required
9689 Value type: <prop-encoded-array>
Documentation/devicetree/bindings/powerpc/fsl/diu.txt+0−2
@@ -8,8 +8,6 @@ Required properties: · 7 unmodified lines
88 - reg : should contain at least address and length of the DIU register
99 set.
1010 - interrupts : one DIU interrupt should be described here.
11−- interrupt-parent : the phandle for the interrupt controller that
12− services interrupts for this device.
1311
1412 Optional properties:
1513 - 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
1313 DMA channels and the address space of the DMA controller
1414 - cell-index : controller index. 0 for controller @ 0x8100
1515 - interrupts : interrupt specifier for DMA IRQ
16−- interrupt-parent : optional, if needed for interrupt mapping
1716
1817 - DMA channel nodes:
1918 - compatible : must include "fsl,elo-dma-channel"
@@ -25,7 +24,6 @@ Optional properties: · 5 unmodified lines
2524 - interrupts : interrupt specifier for DMA channel IRQ
2625 (on 83xx this is expected to be identical to
2726 the interrupts property of the parent node)
28− - interrupt-parent : optional, if needed for interrupt mapping
2927
3028 Example:
3129 dma@82a8 {
@@ -88,7 +86,6 @@ Required properties: · 56 unmodified lines
8886 - cell-index : DMA channel index starts at 0.
8987 - reg : DMA channel specific registers
9088 - interrupts : interrupt specifier for DMA channel IRQ
91− - interrupt-parent : optional, if needed for interrupt mapping
9289
9390 Example:
9491 dma@21300 {
@@ -146,7 +143,6 @@ Required properties: · 51 unmodified lines
146143 - compatible : must include "fsl,eloplus-dma-channel"
147144 - reg : DMA channel specific registers
148145 - interrupts : interrupt specifier for DMA channel IRQ
149− - interrupt-parent : optional, if needed for interrupt mapping
150146
151147 Example:
152148 dma@100300 {
Documentation/devicetree/bindings/powerpc/fsl/ecm.txt+0−4
@@ -57,8 +57,4 @@ PROPERTIES · 56 unmodified lines
5757 Usage: required
5858 Value type: <prop-encoded-array>
5959
60− - interrupt-parent
61− Usage: required
62− Value type: <phandle>
63−
6460 =====================================================================
Documentation/devicetree/bindings/powerpc/fsl/mcm.txt+0−4
@@ -57,8 +57,4 @@ PROPERTIES · 56 unmodified lines
5757 Usage: required
5858 Value type: <prop-encoded-array>
5959
60− - interrupt-parent
61− Usage: required
62− Value type: <phandle>
63−
6460 =====================================================================
Documentation/devicetree/bindings/powerpc/fsl/mpc5121-psc.txt+0−4
@@ -18,8 +18,6 @@ Required properties : · 17 unmodified lines
1818 - interrupts : <a b> where a is the interrupt number of the
1919 PSC FIFO Controller and b is a field that represents an
2020 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.
2321
2422 Recommended properties :
2523 - fsl,rx-fifo-size : the size of the RX fifo slice (a multiple of 4)
@@ -45,8 +43,6 @@ Required properties : · 19 unmodified lines
4543 - interrupts : <a b> where a is the interrupt number of the
4644 PSC FIFO Controller and b is a field that represents an
4745 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.
5046
5147 Recommended properties :
5248 - 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
2121 be set as edge sensitive. If msi-available-ranges is present, only
2222 the interrupts that correspond to available ranges shall be present.
2323
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−
2924 Optional properties:
3025 - msi-available-ranges: use <start count> style section to define which
3126 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
3232 A standard property. It represents the CCSR registers of
3333 all child PAMUs combined. Include it to provide support
3434 for legacy drivers.
35−- interrupt-parent : <phandle>
36− Phandle to interrupt controller
3735 - fsl,portid-mapping : <u32>
3836 The Coherency Subdomain ID Port Mapping Registers and
3937 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
148148 - reg : should contain the controller registers location and length
149149 - interrupt-controller
150150 - interrupts : should contain the cascade interrupt of the "flipper" pic
151− - interrupt-parent: should contain the phandle of the "flipper" pic
152151
153152 1.l) The General Purpose I/O (GPIO) controller node
154153
Documentation/devicetree/bindings/ptp/ptp-qoriq.txt+12−3
@@ -2,7 +2,8 @@ · 1 unmodified line
22
33 General Properties:
44
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
67 - reg Offset and length of the register set for the device
78 - interrupts There should be at least two interrupts. Some devices
89 have as many as four PTP related interrupts.
@@ -43,14 +44,22 @@ Clock Properties: · 34 unmodified lines
4344 value, which will be directly written in those bits, that is why,
4445 according to reference manual, the next clock sources can be used:
4546
47+ For eTSEC,
4648 <0> - external high precision timer reference clock (TSEC_TMR_CLK
4749 input is used for this purpose);
4850 <1> - eTSEC system clock;
4951 <2> - eTSEC1 transmit clock;
5052 <3> - RTC clock input.
5153
52− When this attribute is not used, eTSEC system clock will serve as
53− IEEE 1588 timer reference clock.
54+ For DPAA FMan,
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).
5463
5564 Example:
5665
Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt+4−1
@@ -16,7 +16,10 @@ modes in device tree. · 15 unmodified lines
1616
1717
1818 Required 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
2023 - reg: Physical base address and length of the controller's registers
2124 - #pwm-cells: Should be 3. See pwm.txt in this directory for a description of
2225 the cells format.
Documentation/devicetree/bindings/pwm/pwm-mediatek.txt+3−1
@@ -5,11 +5,13 @@ Required properties: · 4 unmodified lines
55 - "mediatek,mt2712-pwm": found on mt2712 SoC.
66 - "mediatek,mt7622-pwm": found on mt7622 SoC.
77 - "mediatek,mt7623-pwm": found on mt7623 SoC.
8+ - "mediatek,mt7628-pwm": found on mt7628 SoC.
89 - reg: physical base address and length of the controller's registers.
910 - #pwm-cells: must be 2. See pwm.txt in this directory for a description of
1011 the cell format.
1112 - 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
1315 - "top": the top clock generator
1416 - "main": clock used by the PWM core
1517 - "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
1212 - "renesas,pwm-r8a7795": for R-Car H3
1313 - "renesas,pwm-r8a7796": for R-Car M3-W
1414 - "renesas,pwm-r8a77965": for R-Car M3-N
15+ - "renesas,pwm-r8a77990": for R-Car E3
1516 - "renesas,pwm-r8a77995": for R-Car D3
1617 - reg: base address and length of the registers block for the PWM.
1718 - #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
55 - "compatible" value one of:
66 "motorola,cpcap-regulator"
77 "motorola,mapphone-cpcap-regulator"
8+ "motorola,xoom-cpcap-regulator"
89
910 Required regulator properties:
1011 - "regulator-name"
Documentation/devicetree/bindings/regulator/max8997-regulator.txt+0−2
@@ -32,8 +32,6 @@ Required properties: · 31 unmodified lines
3232 'max8997,pmic-buck[1/2/5]-dvs-voltage' should be specified.
3333
3434 Optional properties:
35−- interrupt-parent: Specifies the phandle of the interrupt controller to which
36− the interrupts from max8997 are delivered to.
3735 - interrupts: Interrupt specifiers for two interrupt sources.
3836 - First interrupt specifier is for 'irq1' interrupt.
3937 - 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
1818 ti,tps659038-pmic
1919 and also the generic series names
2020 ti,palmas-pmic
21−- interrupt-parent : The parent interrupt controller which is palmas.
2221 - interrupts : The interrupt number and the type which can be looked up here:
2322 arch/arm/boot/dts/include/dt-bindings/interrupt-controller/irq.h
2423 - interrupts-name: The names of the individual interrupts.
Documentation/devicetree/bindings/regulator/pfuze100.txt+85−1
@@ -1,9 +1,18 @@
11 PFUZE100 family of regulators
22
33 Required properties:
4−- compatible: "fsl,pfuze100", "fsl,pfuze200", "fsl,pfuze3000"
4+- compatible: "fsl,pfuze100", "fsl,pfuze200", "fsl,pfuze3000", "fsl,pfuze3001"
55 - reg: I2C slave address
66
7+Optional 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+
716 Required child node:
817 - regulators: This is the list of child nodes that specify the regulator
918 initialization data for defined regulators. Please refer to below doc
@@ -16,6 +25,8 @@ Required child node: · 6 unmodified lines
1625 sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen6,coin
1726 --PFUZE3000
1827 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
1930
2031 Each regulator is defined using the standard binding for regulators.
2132
@@ -303,3 +314,76 @@ Example 3: PFUZE3000 · 281 unmodified lines
303314 };
304315 };
305316 };
317+
318+Example 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 @@
1+Qualcomm Technologies, Inc. RPMh Regulators
2+
3+rpmh-regulator devices support PMIC regulator management via the Voltage
4+Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators. The APPS
5+processor communicates with these hardware blocks via a Resource State
6+Coordinator (RSC) using command packets. The VRM allows changing three
7+parameters for a given regulator: enable state, output voltage, and operating
8+mode. The XOB allows changing only a single parameter for a given regulator:
9+its enable state. Despite its name, the XOB is capable of controlling the
10+enable state of any PMIC peripheral. It is used for clock buffers, low-voltage
11+switches, and LDO/SMPS regulators which have a fixed voltage and mode.
12+
13+=======================
14+Required Node Structure
15+=======================
16+
17+RPMh regulators must be described in two levels of device nodes. The first
18+level describes the PMIC containing the regulators and must reside within an
19+RPMh device node. The second level describes each regulator within the PMIC
20+which is to be used on the board. Each of these regulators maps to a single
21+RPMh resource.
22+
23+The names used for regulator nodes must match those supported by a given PMIC.
24+Supported regulator node names:
25+ PM8998: smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
26+ PMI8998: bob
27+ PM8005: smps1 - smps4
28+
29+========================
30+First 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+===============================
89+Second 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+
100+Other properties defined in Documentation/devicetree/bindings/regulator.txt
101+may also be used. regulator-initial-mode and regulator-allowed-modes may be
102+specified for VRM regulators using mode values from
103+include/dt-bindings/regulator/qcom,rpmh-regulator.h. regulator-allow-bypass
104+may be specified for BOB type regulators managed via VRM.
105+regulator-allow-set-load may be specified for LDO type regulators managed via
106+VRM.
107+
108+========
109+Examples
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 @@
11 ROHM BD71837 Power Management Integrated Circuit (PMIC) regulator bindings
22
3−BD71837MWV is a programmable Power Management
4−IC (PMIC) for powering single-core, dual-core, and
5−quad-core SoC’s such as NXP-i.MX 8M. It is optimized
6−for low BOM cost and compact solution footprint. It
7−integrates 8 Buck regulators and 7 LDO’s to provide all
8−the power rails required by the SoC and the commonly
9−used peripherals.
10−
113 Required properties:
124 - regulator-name: should be "buck1", ..., "buck8" and "ldo1", ..., "ldo7"
135
Documentation/devicetree/bindings/regulator/tps65090.txt+1−1
@@ -16,7 +16,7 @@ Required properties: · 15 unmodified lines
1616 Optional properties:
1717 - ti,enable-ext-control: This is applicable for DCDC1, DCDC2 and DCDC3.
1818 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.
2020 If DCDCs are externally controlled and if it is from GPIO then GPIO
2121 number should be provided. If it is externally controlled and no GPIO
2222 entry then driver will just configure this rails as external control
Documentation/devicetree/bindings/regulator/uniphier-regulator.txt+57−0
@@ -0,0 +1,57 @@
1+Socionext UniPhier Regulator Controller
2+
3+This describes the devicetree bindings for regulator controller implemented
4+on Socionext UniPhier SoCs.
5+
6+USB3 Controller
7+---------------
8+
9+This regulator controls VBUS and belongs to USB3 glue layer. Before using
10+the regulator, it is necessary to control the clocks and resets to enable
11+this layer. These clocks and resets should be described in each property.
12+
13+Required 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+
31+See Documentation/devicetree/bindings/regulator/regulator.txt
32+for more details about the regulator properties.
33+
34+Example:
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
88 Value type: <string>
99 Definition: must be one of:
1010 "qcom,q6v5-pil",
11+ "qcom,ipq8074-wcss-pil"
1112 "qcom,msm8916-mss-pil",
1213 "qcom,msm8974-mss-pil"
1314 "qcom,msm8996-mss-pil"
@@ -50,11 +51,15 @@ on the Qualcomm Hexagon core. · 36 unmodified lines
5051 Usage: required
5152 Value type: <phandle>
5253 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
5356
5457 - reset-names:
5558 Usage: required
5659 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
5863
5964 - cx-supply:
6065 - 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
4545 per the bindings in
4646 Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
4747
48−Optional 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−
5448
5549 Example:
5650 --------
Documentation/devicetree/bindings/remoteproc/ti,keystone-rproc.txt+0−6
@@ -51,12 +51,6 @@ The following are the mandatory properties: · 50 unmodified lines
5151 Documentation/devicetree/bindings/reset/ti,sci-reset.txt
5252 for 66AK2G SoCs
5353
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−
6054 - interrupts: Should contain an entry for each value in 'interrupt-names'.
6155 Each entry should have the interrupt source number used by
6256 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
4949 - may contain the following strings:
5050 - shared-dma-pool: This indicates a region of memory meant to be
5151 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 pool
52+ be used by an operating system to instantiate the necessary pool
5353 management subsystem if necessary.
5454 - vendor specific string in the form <vendor>,[<device>-]<usage>
5555 no-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+
3+The Amlogic Audio ARB is a simple device which enables or
4+disables the access of Audio FIFOs to DDR on AXG based SoC.
5+
6+Required 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+
14+Example on the A113 SoC:
15+
16+arb: 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 @@
1+Qualcomm AOSS Reset Controller
2+======================================
3+
4+This binding describes a reset-controller found on AOSS-CC (always on subsystem)
5+for Qualcomm SDM845 SoCs.
6+
7+Required 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+
25+Example:
26+
27+aoss_reset: reset-controller@c2a0000 {
28+ compatible = "qcom,sdm845-aoss-cc";
29+ reg = <0xc2a0000 0x31000>;
30+ #reset-cells = <1>;
31+};
32+
33+Specifying reset lines connected to IP modules
34+==============================================
35+
36+Device nodes that need access to reset lines should
37+specify them as a reset phandle in their corresponding node as
38+specified in reset.txt.
39+
40+For list of all valid reset indicies see
41+<dt-bindings/reset/qcom,sdm845-aoss.h>
42+
43+Example:
44+
45+modem-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
1515 controller binding usage.
1616
1717 Required properties:
18−- compatible: Should be st,stih407-softreset";
18+- compatible: Should be "st,stih407-softreset";
1919 - #reset-cells: 1, see below
2020
2121 example:
Documentation/devicetree/bindings/reset/uniphier-reset.txt+56−0
@@ -118,3 +118,59 @@ Example: · 117 unmodified lines
118118
119119 other nodes ...
120120 };
121+
122+
123+USB3 core reset
124+---------------
125+
126+USB3 core reset belongs to USB3 glue layer. Before using the core reset,
127+it is necessary to control the clocks and resets to enable this layer.
128+These clocks and resets should be described in each property.
129+
130+Required 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+
149+Example:
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
77 - compatible : should contain "brcm,brcmstb-waketimer"
88 - reg : the register start and length for the WKTMR block
99 - interrupts : The TIMER interrupt
10−- interrupt-parent: The phandle to the Always-On (AON) Power Management (PM) L2
11− interrupt controller node
1210 - clocks : The phandle to the UPG fixed clock (27Mhz domain)
1311
1412 Example:
Documentation/devicetree/bindings/rtc/isil,isl12057.txt+0−3
@@ -25,9 +25,6 @@ Optional properties: · 24 unmodified lines
2525 - "wakeup-source": mark the chip as a wakeup source, independently of
2626 the availability of an IRQ line connected to the SoC.
2727
28− - "interrupt-parent", "interrupts": for passing the interrupt line
29− of the SoC connected to IRQ#2 of the RTC chip.
30−
3128
3229 Example isl12057 node without IRQ#2 pin connected (no alarm support):
3330
Documentation/devicetree/bindings/rtc/isil,isl1219.txt+29−0
@@ -0,0 +1,29 @@
1+Intersil ISL1219 I2C RTC/Alarm chip with event in
2+
3+ISL1219 has additional pins EVIN and #EVDET for tamper detection.
4+
5+Required properties supported by the device:
6+
7+ - "compatible": must be "isil,isl1219"
8+ - "reg": I2C bus address of the device
9+
10+Optional 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+
18+Example 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
77
88 Optional properties:
99 - interrupts : should contain interrupt.
10− - interrupt-parent : interrupt source phandle.
1110 - ctrl-reg : Contains the initial value of the control register also
1211 called "Register B".
1312 - 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
1313 "maxim,ds3231",
1414 "st,m41t0",
1515 "st,m41t00",
16+ "st,m41t11",
1617 "microchip,mcp7940x",
1718 "microchip,mcp7941x",
1819 "pericom,pt7c4338",
@@ -21,7 +22,6 @@ Required properties: · 2 unmodified lines
2122 - reg: I2C bus address of the device
2223
2324 Optional properties:
24−- interrupt-parent: phandle for the interrupt controller.
2525 - interrupts: rtc alarm interrupt.
2626 - clock-output-names: From common clock binding to override the default output
2727 clock name
Documentation/devicetree/bindings/rtc/rtc-m41t80.txt+0−1
@@ -16,7 +16,6 @@ Required properties: · 15 unmodified lines
1616 - reg: I2C bus address of the device
1717
1818 Optional properties:
19−- interrupt-parent: phandle for the interrupt controller.
2019 - interrupts: rtc alarm interrupt.
2120 - clock-output-names: From common clock binding to override the default output
2221 clock name
Documentation/devicetree/bindings/rtc/rtc-omap.txt+0−1
@@ -11,7 +11,6 @@ Required properties: · 10 unmodified lines
1111 - "ti,am4372-rtc" - for RTC IP used similar to that on AM437X SoC family.
1212 - reg: Address range of rtc register set
1313 - interrupts: rtc timer, alarm interrupts in order
14−- interrupt-parent: phandle for the interrupt controller
1514
1615 Optional properties:
1716 - 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
33 Required properties:
44 - compatible:
55 - "ti,palmas-rtc" for palma series of the RTC controller
6−- interrupt-parent: Parent interrupt device, must be handle of palmas node.
76 - interrupts: Interrupt number of RTC submodule on device.
87
98 Optional properties:
Documentation/devicetree/bindings/rtc/spear-rtc.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
33 Required properties:
44 - compatible : "st,spear600-rtc"
55 - 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
86 - interrupt: Should contain the rtc interrupt number
97
108 Example:
Documentation/devicetree/bindings/rtc/sprd,sc27xx-rtc.txt+0−1
@@ -3,7 +3,6 @@ Spreadtrum SC27xx Real Time Clock · 2 unmodified lines
33 Required properties:
44 - compatible: should be "sprd,sc2731-rtc".
55 - reg: address offset of rtc register.
6−- interrupt-parent: phandle for the interrupt controller.
76 - interrupts: rtc alarm interrupt.
87
98 Example:
Documentation/devicetree/bindings/rtc/st,stm32-rtc.txt+0−2
@@ -13,8 +13,6 @@ Required properties: · 12 unmodified lines
1313 It is required on stm32(h7/mp1).
1414 - clock-names: must be "rtc_ck" and "pclk".
1515 It is required on stm32(h7/mp1).
16−- interrupt-parent: phandle for the interrupt controller.
17− It is required on stm32(f4/f7/h7).
1816 - interrupts: rtc alarm interrupt. On stm32mp1, a second interrupt is required
1917 for rtc alarm wakeup interrupt.
2018 - 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
33 Required properties:
44 - compatible: must be "stericsson,coh901331"
55 - reg: address range of rtc register set.
6−- interrupt-parent: phandle for the interrupt controller.
76 - interrupts: rtc alarm interrupt.
87 - clocks: phandle to the rtc clock source
98
Documentation/devicetree/bindings/security/tpm/st33zp24-i2c.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
66 - reg: address on the bus
77
88 Optional ST33ZP24 Properties:
9−- interrupt-parent: phandle for the interrupt gpio controller
109 - interrupts: GPIO interrupt to which the chip is connected
1110 - lpcpd-gpios: Output GPIO pin used for ST33ZP24 power management D1/D2 state.
1211 If 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
55 - spi-max-frequency: Maximum SPI frequency (<= 10000000).
66
77 Optional ST33ZP24 Properties:
8−- interrupt-parent: phandle for the interrupt gpio controller
98 - interrupts: GPIO interrupt to which the chip is connected
109 - lpcpd-gpios: Output GPIO pin used for ST33ZP24 power management D1/D2 state.
1110 If 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
1313 "tcg,tpm-tis-mmio". Valid chip strings are:
1414 * "atmel,at97sc3204"
1515 - 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.
1717
1818 Example:
1919
Documentation/devicetree/bindings/serial/fsl-imx-uart.txt+5−1
@@ -9,7 +9,11 @@ Optional properties: · 8 unmodified lines
99 - fsl,dte-mode : Indicate the uart works in DTE mode. The uart works
1010 in DCE mode by default.
1111 - rs485-rts-delay, rs485-rts-active-low, rs485-rx-during-tx,
12− linux,rs485-enabled-at-boot-time: see rs485.txt
12+ 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.
1317
1418 Please check Documentation/devicetree/bindings/serial/serial.txt
1519 for the complete list of generic properties.
Documentation/devicetree/bindings/serial/maxim,max310x.txt+0−2
@@ -7,8 +7,6 @@ Required properties: · 6 unmodified lines
77 - "maxim,max3109" for Maxim MAX3109,
88 - "maxim,max14830" for Maxim MAX14830.
99 - reg: SPI chip select number.
10−- interrupt-parent: The phandle for the interrupt controller that
11− services interrupts for this IC.
1210 - interrupts: Specifies the interrupt source of the parent interrupt
1311 controller. The format of the interrupt specifier depends on the
1412 parent interrupt controller.
Documentation/devicetree/bindings/serial/mtk-uart.txt+1−0
@@ -8,6 +8,7 @@ Required properties: · 7 unmodified lines
88 * "mediatek,mt6582-uart" for MT6582 compatible UARTS
99 * "mediatek,mt6589-uart" for MT6589 compatible UARTS
1010 * "mediatek,mt6755-uart" for MT6755 compatible UARTS
11+ * "mediatek,mt6765-uart" for MT6765 compatible UARTS
1112 * "mediatek,mt6795-uart" for MT6795 compatible UARTS
1213 * "mediatek,mt6797-uart" for MT6797 compatible UARTS
1314 * "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
1010 - "nxp,sc16is760" for NXP SC16IS760,
1111 - "nxp,sc16is762" for NXP SC16IS762.
1212 - reg: I2C address of the SC16IS7xx device.
13−- interrupt-parent: The phandle for the interrupt controller that
14− services interrupts for this IC.
1513 - interrupts: Should contain the UART interrupt
1614 - clocks: Reference to the IC source clock.
1715
@@ -44,8 +42,6 @@ Required properties: · 26 unmodified lines
4442 - "nxp,sc16is760" for NXP SC16IS760,
4543 - "nxp,sc16is762" for NXP SC16IS762.
4644 - reg: SPI chip select number.
47−- interrupt-parent: The phandle for the interrupt controller that
48− services interrupts for this IC.
4945 - interrupts: Specifies the interrupt source of the parent interrupt
5046 controller. The format of the interrupt specifier depends on the
5147 parent interrupt controller.
Documentation/devicetree/bindings/serial/omap_serial.txt+1−0
@@ -1,6 +1,7 @@
11 OMAP UART controller
22
33 Required properties:
4+- compatible : should be "ti,am654-uart" for AM654 controllers
45 - compatible : should be "ti,omap2-uart" for OMAP2 controllers
56 - compatible : should be "ti,omap3-uart" for OMAP3 controllers
67 - 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
77 - reg: Specifies the physical base address of the controller and
88 the length of the memory mapped region.
99
10−- interrupt-parent: The phandle for the interrupt controller that
11− services interrupts for this device.
12−
1310 - interrupts: Specifies the interrupt source of the parent interrupt
1411 controller. The format of the interrupt specifier depends on the
1512 parent interrupt controller.
Documentation/devicetree/bindings/serial/renesas,rzn1-uart.txt+10−0
@@ -0,0 +1,10 @@
1+Renesas RZ/N1 UART
2+
3+This controller is based on the Synopsys DesignWare ABP UART and inherits all
4+properties defined in snps-dw-apb-uart.txt except for the compatible property.
5+
6+Required 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
55 - compatible: Must contain one or more of the following:
66
77 - "renesas,scif-r7s72100" for R7S72100 (RZ/A1H) SCIF compatible UART.
8+ - "renesas,scif-r7s9210" for R7S9210 (RZ/A2) SCIF compatible UART.
89 - "renesas,scifa-r8a73a4" for R8A73A4 (R-Mobile APE6) SCIFA compatible UART.
910 - "renesas,scifb-r8a73a4" for R8A73A4 (R-Mobile APE6) SCIFB compatible UART.
1011 - "renesas,scifa-r8a7740" for R8A7740 (R-Mobile A1) SCIFA compatible UART.
@@ -72,7 +73,21 @@ Required properties: · 61 unmodified lines
7273 family-specific and/or generic versions.
7374
7475 - 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)
7691
7792 - clocks: Must contain a phandle and clock-specifier pair for each entry
7893 in clock-names.
@@ -89,7 +104,7 @@ Required properties: · 10 unmodified lines
89104 - "scif_clk" for the optional external clock source for the frequency
90105 divider (SCIF_CLK).
91106
92−Note: Each enabled SCIx UART should have an alias correctly numbered in the
107+Note: Each enabled SCIx UART may have an optional "serialN" alias in the
93108 "aliases" node.
94109
95110 Optional properties:
Documentation/devicetree/bindings/serial/xlnx,opb-uartlite.txt+23−0
@@ -0,0 +1,23 @@
1+Xilinx Axi Uartlite controller Device Tree Bindings
2+---------------------------------------------------------
3+
4+Required 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+
12+Optional 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+
17+Example:
18+serial@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 @@
1+Qualcomm SLIMBus Non Generic Device (NGD) Controller binding
2+
3+SLIMBus NGD controller is a light-weight driver responsible for communicating
4+with SLIMBus slaves directly over the bus using messaging interface and
5+communicating with master component residing on ADSP for bandwidth and
6+data-channel management
7+
8+Please 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
49+Each subnode represents an instance of NGD, must contain the following
50+properties:
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+
67+slim@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
2121 one as described by the fsl,cpm1-gpio-irq-mask property. There should be as
2222 many interrupts as number of ones in the mask property. The first interrupt in
2323 the list corresponds to the most significant bit of the mask.
24−- interrupt-parent : Parent for the above interrupt property.
2524
2625 Example of four SOC GPIO banks defined as gpio-controller nodes:
2726
Documentation/devicetree/bindings/soc/fsl/cpm_qe/qe/ucc.txt+0−2
@@ -11,8 +11,6 @@ Required properties: · 10 unmodified lines
1111 information for the interrupt. This should be encoded based on
1212 the information in section 2) depending on the type of interrupt
1313 controller you have.
14−- interrupt-parent : the phandle for the interrupt controller that
15− services interrupts for this device.
1614 - pio-handle : The phandle for the Parallel I/O port configuration.
1715 - port-number : for UART drivers, the port number to use, between 0 and 3.
1816 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
66 length, the next two two cells should contain PRAM location and
77 length.
88 - interrupts : should contain USB interrupt.
9−- interrupt-parent : interrupt source phandle.
109 - fsl,fullspeed-clock : specifies the full speed USB clock source:
1110 "none": clock source is disabled
1211 "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
1919 Required properties in pwrap device node.
2020 - compatible:
2121 "mediatek,mt2701-pwrap" for MT2701/7623 SoCs
22+ "mediatek,mt6797-pwrap" for MT6797 SoCs
2223 "mediatek,mt7622-pwrap" for MT7622 SoCs
2324 "mediatek,mt8135-pwrap" for MT8135 SoCs
2425 "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
3939
4040 Optional property:
4141 - clock-frequency: Desired I2C bus clock frequency in Hz.
42− When missing default to 400000Hz.
42+ When missing default to 100000Hz.
4343
4444 Child nodes should conform to I2C bus binding as described in i2c.txt.
4545
4646 Qualcomm Technologies Inc. GENI Serial Engine based UART Controller
4747
4848 Required properties:
49−- compatible: Must be "qcom,geni-debug-uart".
49+- compatible: Must be "qcom,geni-debug-uart" or "qcom,geni-uart".
5050 - reg: Must contain UART register location and length.
5151 - interrupts: Must contain UART core interrupts.
5252 - clock-names: Must contain "se".
Documentation/devicetree/bindings/soc/qcom/qcom,glink.txt+5−0
@@ -10,6 +10,11 @@ edge. · 9 unmodified lines
1010 Value type: <stringlist>
1111 Definition: must be "qcom,glink-rpm"
1212
13+- label:
14+ Usage: optional
15+ Value type: <string>
16+ Definition: should specify the subsystem name this edge corresponds to.
17+
1318 - interrupts:
1419 Usage: required
1520 Value type: <prop-encoded-array>
Documentation/devicetree/bindings/soc/qcom/rpmh-rsc.txt+137−0
@@ -0,0 +1,137 @@
1+RPMH RSC:
2+------------
3+
4+Resource Power Manager Hardened (RPMH) is the mechanism for communicating with
5+the hardened resource accelerators on Qualcomm SoCs. Requests to the resources
6+can be written to the Trigger Command Set (TCS) registers and using a (addr,
7+val) pair and triggered. Messages in the TCS are then sent in sequence over an
8+internal bus.
9+
10+The 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
12+active/wake resource requests. Multiple such DRVs can exist in a SoC and can
13+be written to from Linux. The structure of each DRV follows the same template
14+with a few variations that are captured by the properties here.
15+
16+A TCS may be triggered from Linux or triggered by the F/W after all the CPUs
17+have 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+
24+The order in which they are described in the DT, should match the hardware
25+configuration.
26+
27+Requests can be made for the state of a resource, when the subsystem is active
28+or idle. When all subsystems like Modem, GPU, CPU are idle, the resource state
29+will be an aggregate of the sleep votes from each of those subsystems. Clients
30+may request a sleep value for their shared resources in addition to the active
31+mode requests.
32+
33+Properties:
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+
86+Drivers that want to use the RSC to communicate with RPMH must specify their
87+bindings as child nodes of the RSC controllers they wish to communicate with.
88+
89+Example 1:
90+
91+For a TCS whose RSC base address is is 0x179C0000 and is at a DRV id of 2, the
92+register offsets for DRV2 start at 0D00, the register calculations are like
93+this -
94+DRV0: 0x179C0000
95+DRV2: 0x179C0000 + 0x10000 = 0x179D0000
96+DRV2: 0x179C0000 + 0x10000 * 2 = 0x179E0000
97+TCS-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+
117+Example 2:
118+
119+For a TCS whose RSC base address is 0xAF20000 and is at DRV id of 0, the
120+register offsets for DRV0 start at 01C00, the register calculations are like
121+this -
122+DRV0: 0xAF20000
123+TCS-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 @@
1+Generic AC97 Device Properties
2+
3+This documents describes the devicetree bindings for an ac97 controller child
4+node describing ac97 codecs.
5+
6+Required 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+
12+Example:
13+ac97: 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+
3+Required 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+
14+Example of FRDDR A on the A113 SoC:
15+
16+frddr_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 @@
1+Amlogic AXG sound card:
2+
3+Required properties:
4+
5+- compatible: "amlogic,axg-sound-card"
6+- model : User specified audio sound card name, one string
7+
8+Optional 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+
14+Subnodes:
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+
20+Required dai-link properties:
21+
22+- sound-dai: phandle and port of the CPU DAI.
23+
24+Required TDM Backend dai-link properties:
25+- dai-format : CPU/CODEC common audio format
26+
27+Optional 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+
40+Backend 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+
47+Required codec subnodes properties:
48+
49+- sound-dai: phandle and port of the CODEC DAI.
50+
51+Optional 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+
56+Example:
57+
58+sound {
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+
3+Required 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+
11+Example on the A113 SoC:
12+
13+spdifout: 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+
3+Required 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+
16+Example of TDMOUT_A on the A113 SoC:
17+
18+tdmout_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+
3+Required 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+
13+Example of TDM_A on the A113 SoC:
14+
15+tdmif_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
1515 - clock-names: Should be one of each entry matching the clocks phandles list:
1616 - "pclk" (peripheral clock) Required.
1717 - "gclk" (generated clock) Optional (1).
18− - "aclk" (Audio PLL clock) Optional (1).
1918 - "muxclk" (I2S mux clock) Optional (1).
2019
2120 Optional properties:
@@ -23,9 +22,9 @@ Optional properties: · 1 unmodified line
2322 - princtrl-names: Should contain only one value - "default".
2423
2524
26−(1) : Only the peripheral clock is required. The generated clock, the Audio
27− PLL clock adn the I2S mux clock are optional and should only be set
28− together, when Master Mode is required.
25+(1) : Only the peripheral clock is required. The generated clock and the I2S
26+ mux clock are optional and should only be set together, when Master Mode
27+ is required.
2928
3029 Example:
3130
@@ -40,8 +39,8 @@ Example: · 8 unmodified lines
4039 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
4140 AT91_XDMAC_DT_PERID(32))>;
4241 dma-names = "tx", "rx";
43− clocks = <&i2s0_clk>, <&i2s0_gclk>, <&audio_pll_pmc>, <&i2s0muxck>;
44− clock-names = "pclk", "gclk", "aclk", "muxclk";
42+ clocks = <&i2s0_clk>, <&i2s0_gclk>, <&i2s0muxck>;
43+ clock-names = "pclk", "gclk", "muxclk";
4544 pinctrl-names = "default";
4645 pinctrl-0 = <&pinctrl_i2s0_default>;
4746 };
Documentation/devicetree/bindings/sound/audio-graph-card.txt+2−0
@@ -18,6 +18,8 @@ Below are same as Simple-Card. · 17 unmodified lines
1818 - bitclock-inversion
1919 - frame-inversion
2020 - mclk-fs
21+- hp-det-gpio
22+- mic-det-gpio
2123 - dai-tdm-slot-num
2224 - dai-tdm-slot-width
2325 - clocks / system-clock-frequency
Documentation/devicetree/bindings/sound/cs35l33.txt+0−2
@@ -14,8 +14,6 @@ Optional properties: · 13 unmodified lines
1414
1515 - reset-gpios : gpio used to reset the amplifier
1616
17− - interrupt-parent : Specifies the phandle of the interrupt controller to
18− which the IRQs from CS35L33 are delivered to.
1917 - interrupts : IRQ line info CS35L33.
2018 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
2119 for further information relating to interrupt properties)
Documentation/devicetree/bindings/sound/cs35l34.txt+0−2
@@ -21,8 +21,6 @@ Optional properties: · 20 unmodified lines
2121
2222 - reset-gpios: GPIO used to reset the amplifier.
2323
24− - interrupt-parent : Specifies the phandle of the interrupt controller to
25− which the IRQs from CS35L34 are delivered to.
2624 - interrupts : IRQ line info CS35L34.
2725 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
2826 for further information relating to interrupt properties)
Documentation/devicetree/bindings/sound/cs35l35.txt+0−2
@@ -10,8 +10,6 @@ Required properties: · 9 unmodified lines
1010 as covered in
1111 Documentation/devicetree/bindings/regulator/regulator.txt.
1212
13− - interrupt-parent : Specifies the phandle of the interrupt controller to
14− which the IRQs from CS35L35 are delivered to.
1513 - interrupts : IRQ line info CS35L35.
1614 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
1715 for further information relating to interrupt properties)
Documentation/devicetree/bindings/sound/cs42l42.txt+1−4
@@ -15,9 +15,6 @@ Optional properties: · 14 unmodified lines
1515 - reset-gpios : a GPIO spec for the reset pin. If specified, it will be
1616 deasserted before communication to the codec starts.
1717
18− - interrupt-parent : Specifies the phandle of the interrupt controller to
19− which the IRQs from CS42L42 are delivered to.
20−
2118 - interrupts : IRQ line info CS42L42.
2219 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
2320 for further information relating to interrupt properties)
@@ -107,4 +104,4 @@ cs42l42: cs42l42@48 { · 83 unmodified lines
107104 cirrus,btn-det-event-dbnce = <10>;
108105 cirrus,bias-lvls = <0x0F 0x08 0x04 0x01>;
109106 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
1515 information relating to regulators)
1616
1717 Optional properties:
18−- interrupt-parent: Specifies the phandle of the interrupt controller to which
19− the IRQs from DA7218 are delivered to.
2018 - interrupts: IRQ line info for DA7218 chip.
2119 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for
2220 further information relating to interrupt properties)
Documentation/devicetree/bindings/sound/da7219.txt+0−2
@@ -8,8 +8,6 @@ Required properties: · 7 unmodified lines
88 - compatible : Should be "dlg,da7219"
99 - reg: Specifies the I2C slave address
1010
11−- interrupt-parent : Specifies the phandle of the interrupt controller to which
12− the IRQs from DA7219 are delivered to.
1311 - interrupts : IRQ line info for DA7219.
1412 (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for
1513 further information relating to interrupt properties)
Documentation/devicetree/bindings/sound/dioo,dio2125.txt+0−12
@@ -1,12 +0,0 @@
1−DIO2125 Audio Driver
2−
3−Required properties:
4−- compatible : "dioo,dio2125"
5−- enable-gpios : the gpio connected to the enable pin of the dio2125
6−
7−Example:
8−
9−amp: 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 @@
11 ES7134 i2s DA converter
22
33 Required 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
59
610 Example:
711
812 i2s_codec: external-codec {
913 compatible = "everest,es7134";
14+ VDD-supply = <&vcc_5v>;
1015 };
Documentation/devicetree/bindings/sound/everest,es7241.txt+28−0
@@ -0,0 +1,28 @@
1+ES7241 i2s AD converter
2+
3+Required 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+
9+Optional 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+
19+Example:
20+
21+linein: 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
1818 encoded based on the information in section 2)
1919 depending on the type of interrupt controller you
2020 have.
21−- interrupt-parent: The phandle for the interrupt controller that
22− services interrupts for this device.
2321 - fsl,fifo-depth: The number of elements in the transmit and receive FIFOs.
2422 This number is the maximum allowed value for SFCSR[TFWM0].
2523 - clocks: "ipg" - Required clock for the SSI unit
Documentation/devicetree/bindings/sound/marvell,pxa2xx-ac97.txt+27−0
@@ -0,0 +1,27 @@
1+Marvell PXA2xx audio complex
2+
3+This descriptions matches the AC97 controller found in pxa2xx and pxa3xx series.
4+
5+Required 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+
14+Optional properties:
15+ - pinctrl-names, pinctrl-0: refer to pinctrl-bindings.txt
16+ - reset-gpios: gpio used for AC97 reset, refer to gpio.txt
17+
18+Example:
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
55 compatible Must be "mrvl,pxa-ssp-dai"
66 port A phandle reference to a PXA ssp upstream device
77
8+Optional 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+
816 Example:
917
1018 /* upstream device */
1119
12− ssp0: ssp@41000000 {
20+ ssp1: ssp@41000000 {
1321 compatible = "mrvl,pxa3xx-ssp";
1422 reg = <0x41000000 0x40>;
1523 interrupts = <24>;
1624 clock-names = "pxa27x-ssp.0";
17− dmas = <&dma 13
18− &dma 14>;
19− dma-names = "rx", "tx";
2025 };
2126
2227 /* DAI as user */
2328
2429 ssp_dai0: ssp_dai@0 {
2530 compatible = "mrvl,pxa-ssp-dai";
26− port = <&ssp0>;
31+ port = <&ssp1>;
32+ #sound-dai-cells = <0>;
2733 };
2834
Documentation/devicetree/bindings/sound/mrvl,pxa2xx-pcm.txt+0−15
@@ -1,15 +0,0 @@
1−DT bindings for ARM PXA2xx PCM platform driver
2−
3−This is just a dummy driver that registers the PXA ASoC platform driver.
4−It does not have any resources assigned.
5−
6−Required properties:
7−
8− - compatible 'mrvl,pxa-pcm-audio'
9−
10−Example:
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 @@
1+Name prefix:
2+
3+Card implementing the routing property define the connection between
4+audio components as list of string pair. Component using the same
5+sink/source names may use the name prefix property to prepend the
6+name of their sinks/sources with the provided string.
7+
8+Optional name prefix property:
9+- sound-name-prefix : string using as prefix for the sink/source names of
10+ the component.
11+
12+Example: Two instances of the same component.
13+
14+amp0: analog-amplifier@0 {
15+ compatible = "simple-audio-amplifier";
16+ enable-gpios = <&gpio GPIOH_3 0>;
17+ sound-name-prefix = "FRONT";
18+};
19+
20+amp1: 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
66 <MPU access base address, size>,
77 <L3 interconnect address, size>;
88 - interrupts: Interrupt number for DMIC
9−- interrupt-parent: The parent interrupt controller
109 - ti,hwmods: Name of the hwmod associated with OMAP dmic IP
1110
1211 Example:
Documentation/devicetree/bindings/sound/omap-mcbsp.txt+0−1
@@ -15,7 +15,6 @@ Required properties: · 14 unmodified lines
1515 <TX irq>,
1616 <RX irq>;
1717 - interrupt-names: Array of strings associated with the interrupt numbers
18−- interrupt-parent: The parent interrupt controller
1918 - ti,buffer-size: Size of the FIFO on the port (OMAP2430 and newer SoC)
2019 - ti,hwmods: Name of the hwmod associated to the McBSP port
2120
Documentation/devicetree/bindings/sound/omap-mcpdm.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
66 <MPU access base address, size>,
77 <L3 interconnect address, size>;
88 - interrupts: Interrupt number for McPDM
9−- interrupt-parent: The parent interrupt controller
109 - ti,hwmods: Name of the hwmod associated to the McPDM
1110
1211 Example:
Documentation/devicetree/bindings/sound/qcom,apq8016-sbc.txt+1−1
@@ -30,7 +30,7 @@ Required properties: · 29 unmodified lines
3030
3131 Board connectors:
3232 * Headset Mic
33− * Secondary Mic",
33+ * Secondary Mic
3434 * DMIC
3535 * Ext Spk
3636
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
77 Value type: <stringlist>
88 Definition: must be "qcom,apq8096-sndcard"
99
10−- qcom,audio-routing:
10+- audio-routing:
1111 Usage: Optional
1212 Value type: <stringlist>
1313 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
3535 "Digital Mic3"
3636
3737 Audio pins and MicBias on WCD9335 Codec:
38− "MIC_BIAS1
38+ "MIC_BIAS1"
3939 "MIC_BIAS2"
4040 "MIC_BIAS3"
4141 "MIC_BIAS4"
@@ -49,6 +49,12 @@ This binding describes the APQ8096 sound card, which uses qdsp for audio. · 7 unmodified lines
4949 "DMIC1"
5050 "DMIC2"
5151 "DMIC3"
52+
53+- model:
54+ Usage: required
55+ Value type: <stringlist>
56+ Definition: The user-visible name of this sound card.
57+
5258 = dailinks
5359 Each subnode of sndcard represents either a dailink, and subnodes of each
5460 dailinks would be cpu/codec/platform dais.
@@ -79,11 +85,16 @@ dailinks would be cpu/codec/platform dais. · 24 unmodified lines
7985 Value type: <phandle with arguments>
8086 Definition: dai phandle/s and port of CPU/CODEC/PLATFORM node.
8187
88+Obsolete:
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+
8293 Example:
8394
8495 audio {
8596 compatible = "qcom,apq8096-sndcard";
86− qcom,model = "DB820c";
97+ model = "DB820c";
8798
8899 mm1-dai-link {
89100 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
77 Required properties
88 - compatible = "qcom,pm8916-wcd-analog-codec";
99 - reg: represents the slave base address provided to the peripheral.
10− - interrupt-parent : The parent interrupt controller.
1110 - interrupts: List of interrupts in given SPMI peripheral.
1211 - interrupt-names: Names specified to above list of interrupts in same
1312 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
1818 = ADM routing
1919 "routing" subnode of the ADM node represents adm routing specific configuration
2020
21+- compatible:
22+ Usage: required
23+ Value type: <stringlist>
24+ Definition: must be "qcom,q6adm-routing".
25+
2126 - #sound-dai-cells
2227 Usage: required
2328 Value type: <u32>
@@ -28,6 +33,7 @@ q6adm@8 { · 4 unmodified lines
2833 compatible = "qcom,q6adm";
2934 reg = <APR_SVC_ADM>;
3035 q6routing: routing {
36+ compatible = "qcom,q6adm-routing";
3137 #sound-dai-cells = <0>;
3238 };
3339 };
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
1717 subnode of "dais" representing board specific dai setup.
1818 "dais" node should have following properties followed by dai children.
1919
20+- compatible:
21+ Usage: required
22+ Value type: <stringlist>
23+ Definition: must be "qcom,q6afe-dais"
24+
2025 - #sound-dai-cells
2126 Usage: required
2227 Value type: <u32>
@@ -100,6 +105,7 @@ q6afe@4 { · 77 unmodified lines
100105 reg = <APR_SVC_AFE>;
101106
102107 dais {
108+ compatible = "qcom,q6afe-dais";
103109 #sound-dai-cells = <1>;
104110 #address-cells = <1>;
105111 #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
1717 = ASM DAIs (Digial Audio Interface)
1818 "dais" subnode of the ASM node represents dai specific configuration
1919
20+- compatible:
21+ Usage: required
22+ Value type: <stringlist>
23+ Definition: must be "qcom,q6asm-dais".
24+
2025 - #sound-dai-cells
2126 Usage: required
2227 Value type: <u32>
@@ -28,6 +33,7 @@ q6asm@7 { · 5 unmodified lines
2833 compatible = "qcom,q6asm";
2934 reg = <APR_SVC_ASM>;
3035 q6asmdai: dais {
36+ compatible = "qcom,q6asm-dais";
3137 #sound-dai-cells = <1>;
3238 };
3339 };
Documentation/devicetree/bindings/sound/qcom,sdm845.txt+80−0
@@ -0,0 +1,80 @@
1+* Qualcomm Technologies Inc. SDM845 ASoC sound card driver
2+
3+This 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
25+Each subnode of sndcard represents either a dailink, and subnodes of each
26+dailinks 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+
54+Example:
55+
56+audio {
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 @@
1+QCOM WCD9335 Codec
2+
3+Qualcomm WCD9335 Codec is a standalone Hi-Fi audio codec IC, supports
4+Qualcomm Technologies, Inc. (QTI) multimedia solutions, including
5+the MSM8996, MSM8976, and MSM8956 chipsets. It has in-built
6+Soundwire controller, interrupt mux. It supports both I2S/I2C and
7+SLIMbus audio interfaces.
8+
9+Required 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+
107+codec@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
352352 - "renesas,rcar_sound-r8a7794" (R-Car E2)
353353 - "renesas,rcar_sound-r8a7795" (R-Car H3)
354354 - "renesas,rcar_sound-r8a7796" (R-Car M3-W)
355+ - "renesas,rcar_sound-r8a77965" (R-Car M3-N)
355356 - reg : Should contain the register physical address.
356357 required register is
357358 SRU/ADG/SSI if generation1
Documentation/devicetree/bindings/sound/rockchip-i2s.txt+1−0
@@ -7,6 +7,7 @@ Required properties: · 6 unmodified lines
77
88 - compatible: should be one of the following:
99 - "rockchip,rk3066-i2s": for rk3066
10+ - "rockchip,px30-i2s", "rockchip,rk3066-i2s": for px30
1011 - "rockchip,rk3036-i2s", "rockchip,rk3066-i2s": for rk3036
1112 - "rockchip,rk3188-i2s", "rockchip,rk3066-i2s": for rk3188
1213 - "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
1414 - clocks: The phandle of the master clock to the CODEC
1515 - clock-names: Should be "mclk"
1616
17−- interrupt-parent: The phandle for the interrupt controller.
1817 - interrupts: The interrupt number to the cpu. The interrupt specifier format
1918 depends on the interrupt controller.
2019
Documentation/devicetree/bindings/sound/rt5682.txt+50−0
@@ -0,0 +1,50 @@
1+RT5682 audio CODEC
2+
3+This device supports I2C only.
4+
5+Required properties:
6+
7+- compatible : "realtek,rt5682" or "realtek,rt5682i"
8+
9+- reg : The I2C address of the device.
10+
11+Optional 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+
30+Pins on the device (for linking into audio routes) for RT5682:
31+
32+ * DMIC L1
33+ * DMIC R1
34+ * IN1P
35+ * HPOL
36+ * HPOR
37+
38+Example:
39+
40+rt5682 {
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
1717
1818 - VDDD-supply : the regulator provider of VDDD
1919
20−- micbias-resistor-k-ohms : the bias resistor to be used in kOmhs
20+- micbias-resistor-k-ohms : the bias resistor to be used in kOhms
2121 The resistor can take values of 2k, 4k or 8k.
2222 If set to 0 it will be off.
2323 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 @@
1+Simple Amplifier Audio Driver
2+
3+Required properties:
4+- compatible : "dioo,dio2125" or "simple-audio-amplifier"
5+- enable-gpios : the gpio connected to the enable pin of the simple amplifier
6+
7+Example:
8+
9+amp: 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
77 Required properties:
88
99 - compatible: should be one of the following:
10+ - "ti,tas5707"
1011 - "ti,tas5711",
1112 - "ti,tas5717",
1213 - "ti,tas5719",
Documentation/devicetree/bindings/sound/ts3a227e.txt+0−1
@@ -10,7 +10,6 @@ Required properties: · 9 unmodified lines
1010
1111 - compatible: Should contain "ti,ts3a227e".
1212 - reg: The i2c address. Should contain <0x3b>.
13− - interrupt-parent: The parent interrupt controller
1413 - interrupts: Interrupt number for /INT pin from the 227e
1514
1615 Optional properies:
Documentation/devicetree/bindings/sound/ux500-msp.txt+0−1
@@ -6,7 +6,6 @@ Required properties: · 5 unmodified lines
66
77 Optional properties:
88 - interrupts : The interrupt output from the device.
9− - interrupt-parent : The parent interrupt controller.
109 - <name>-supply : Phandle to the regulator <name> supply
1110
1211 Example:
Documentation/devicetree/bindings/sound/wm8994.txt+6−1
@@ -26,7 +26,6 @@ Optional properties: · 25 unmodified lines
2626 - interrupt-controller : These devices contain interrupt controllers
2727 and may provide interrupt services to other devices if they have an
2828 interrupt line connected.
29− - interrupt-parent : The parent interrupt controller.
3029 - #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
3130 The first cell is the IRQ number.
3231 The second cell is the flags, encoded as the trigger masks from
@@ -57,6 +56,12 @@ Optional properties: · 24 unmodified lines
5756
5857 - wlf,ldoena-always-driven : If present LDOENA is always driven.
5958
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+
6065 Example:
6166
6267 wm8994: codec@1a {
Documentation/devicetree/bindings/spi/fsl-spi.txt+0−2
@@ -12,8 +12,6 @@ Required properties: · 11 unmodified lines
1212 information for the interrupt. This should be encoded based on
1313 the information in section 2) depending on the type of interrupt
1414 controller you have.
15−- interrupt-parent : the phandle for the interrupt controller that
16− services interrupts for this device.
1715 - clock-frequency : input clock frequency to non FSL_SOC cores
1816
1917 Optional properties:
Documentation/devicetree/bindings/spi/sh-hspi.txt+0−2
@@ -6,8 +6,6 @@ Required properties: · 5 unmodified lines
66 - "renesas,hspi-r8a7778" (R-Car M1)
77 - "renesas,hspi-r8a7779" (R-Car H1)
88 - 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
119 - interrupts : Interrupt specifier
1210 - #address-cells : Must be <1>
1311 - #size-cells : Must be <0>
Documentation/devicetree/bindings/spi/sh-msiof.txt+0−2
@@ -29,8 +29,6 @@ Required properties: · 28 unmodified lines
2929 If two register sets are present, the first is to be
3030 used by the CPU, and the second is to be used by the
3131 DMA engine.
32−- interrupt-parent : The phandle for the interrupt controller that
33− services interrupts for this device
3432 - interrupts : Interrupt specifier
3533 - #address-cells : Must be <1>
3634 - #size-cells : Must be <0>
Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt+4−2
@@ -1,8 +1,10 @@
11 Synopsys DesignWare AMBA 2.0 Synchronous Serial Interface.
22
33 Required properties:
4−- compatible : "snps,dw-apb-ssi"
5−- reg : The register base for the controller.
4+- compatible : "snps,dw-apb-ssi" or "mscc,<soc>-spi", where soc is "ocelot" or
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)
68 - interrupts : One interrupt, used by the controller.
79 - #address-cells : <1>, as required by generic SPI binding.
810 - #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
66 - reg : Physical base address and size of SPI registers map.
77 - interrupts : Property with a value describing the interrupt
88 number.
9−- interrupt-parent : Must be core interrupt controller
109 - clock-names : List of input clock names - "ref_clk", "pclk"
1110 (See clock bindings for details).
1211 - 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
44 - compatible :
55 - "fsl,imx7ulp-spi" for LPSPI compatible with the one integrated on i.MX7ULP soc
66 - reg : address and length of the lpspi master registers
7−- interrupt-parent : core interrupt controller
87 - interrupts : lpspi interrupt
98 - clocks : lpspi clock specifier
109
Documentation/devicetree/bindings/spi/spi-rockchip.txt+1−0
@@ -7,6 +7,7 @@ Required Properties: · 6 unmodified lines
77
88 - compatible: should be one of the following.
99 "rockchip,rv1108-spi" for rv1108 SoCs.
10+ "rockchip,px30-spi", "rockchip,rk3066-spi" for px30 SoCs.
1011 "rockchip,rk3036-spi" for rk3036 SoCS.
1112 "rockchip,rk3066-spi" for rk3066 SoCs.
1213 "rockchip,rk3188-spi" for rk3188 SoCs.
Documentation/devicetree/bindings/spi/spi-rspi.txt+0−2
@@ -28,8 +28,6 @@ Required properties: · 27 unmodified lines
2828 - "rx" for SPRI,
2929 - "tx" to SPTI,
3030 - "mux" for a single muxed interrupt.
31−- interrupt-parent : The phandle for the interrupt controller that
32− services interrupts for this device.
3331 - num-cs : Number of chip selects. Some RSPI cores have more than 1.
3432 - #address-cells : Must be <1>
3533 - #size-cells : Must be <0>
Documentation/devicetree/bindings/spi/spi-uniphier.txt+22−0
@@ -0,0 +1,22 @@
1+Socionext UniPhier SPI controller driver
2+
3+UniPhier SoCs have SCSSI which supports SPI single channel.
4+
5+Required 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+
13+Example:
14+
15+spi0: 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
66 - reg : Physical base address and size of SPI registers map.
77 - interrupts : Property with a value describing the interrupt
88 number.
9−- interrupt-parent : Must be core interrupt controller
109
1110 Optional properties:
1211 - 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
1313 - reg : Should contain register location and length.
1414 - clocks : Phandle of the spi clock
1515 - interrupts : Interrupt number used by this controller.
16−- interrupt-parent : Phandle of the parent interrupt controller.
1716
1817 SPI slave nodes must be children of the SPI master node and can contain
1918 properties 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
66 - reg : Physical base address and size of GQSPI registers map.
77 - interrupts : Property with a value describing the interrupt
88 number.
9−- interrupt-parent : Must be core interrupt controller.
109 - clock-names : List of input clock names - "ref_clk", "pclk"
1110 (See clock bindings for details).
1211 - 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
5050 manipulation of the page attributes.
5151 - label : the name for the reserved partition, if omitted, the label
5252 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.
5355
5456 Example:
5557
Documentation/devicetree/bindings/sram/sunxi-sram.txt+27−4
@@ -10,8 +10,14 @@ Controller Node · 9 unmodified lines
1010
1111 Required properties:
1212 - compatible : should be:
13− - "allwinner,sun4i-a10-sram-controller"
14− - "allwinner,sun50i-a64-sram-controller"
13+ - "allwinner,sun4i-a10-sram-controller" (deprecated)
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"
1521 - reg : sram controller register offset + length
1622
1723 SRAM nodes
@@ -26,8 +32,25 @@ once again the representation described in the mmio-sram binding. · 8 unmodified lines
2632
2733 The valid sections compatible for A10 are:
2834 - allwinner,sun4i-a10-sram-a3-a4
35+ - allwinner,sun4i-a10-sram-c1
2936 - allwinner,sun4i-a10-sram-d
3037
38+The 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+
43+The 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+
48+The valid sections compatible for A23/A33 are:
49+ - allwinner,sun8i-a23-sram-c1, allwinner,sun4i-a10-sram-c1
50+
51+The valid sections compatible for H3 are:
52+ - allwinner,sun8i-h3-sram-c1, allwinner,sun4i-a10-sram-c1
53+
3154 The valid sections compatible for A64 are:
3255 - allwinner,sun50i-a64-sram-c
3356
@@ -47,8 +70,8 @@ This valid values for this argument are: · 13 unmodified lines
4770
4871 Example
4972 -------
50−sram-controller@1c00000 {
51− compatible = "allwinner,sun4i-a10-sram-controller";
73+system-control@1c00000 {
74+ compatible = "allwinner,sun4i-a10-system-control";
5275 reg = <0x01c00000 0x30>;
5376 #address-cells = <1>;
5477 #size-cells = <1>;
Documentation/devicetree/bindings/staging/iio/adc/spear-adc.txt+0−2
@@ -3,8 +3,6 @@ · 2 unmodified lines
33 Required properties:
44 - compatible: Should be "st,spear600-adc"
55 - 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
86 - interrupts: Should contain the ADC interrupt
97 - sampling-frequency: Default sampling frequency
108
Documentation/devicetree/bindings/thermal/armada-thermal.txt+5−0
@@ -10,6 +10,11 @@ Required properties: · 9 unmodified lines
1010 * marvell,armada-ap806-thermal
1111 * marvell,armada-cp110-thermal
1212
13+Note: these bindings are deprecated for AP806/CP110 and should instead
14+follow the rules described in:
15+Documentation/devicetree/bindings/arm/marvell/ap806-system-controller.txt
16+Documentation/devicetree/bindings/arm/marvell/cp110-system-controller.txt
17+
1318 - reg: Device's register space.
1419 Two entries are expected, see the examples below. The first one points
1520 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
77 - reg: address range for the AVS TMON registers
88 - interrupts: temperature monitor interrupt, for high/low threshold triggers
99 - interrupt-names: should be "tmon"
10−- interrupt-parent: the parent interrupt controller
1110
1211 Example:
1312
Documentation/devicetree/bindings/thermal/exynos-thermal.txt+0−1
@@ -13,7 +13,6 @@ · 12 unmodified lines
1313 Exynos5420 (Must pass triminfo base and triminfo clock)
1414 "samsung,exynos5433-tmu"
1515 "samsung,exynos7-tmu"
16−- interrupt-parent : The phandle for the interrupt controller
1716 - reg : Address range of the thermal registers. For soc's which has multiple
1817 instances of TMU and some registers are shared across all TMU's like
1918 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 @@
11 * QCOM SoC Temperature Sensor (TSENS)
22
33 Required properties:
4−- compatible :
5− - "qcom,msm8916-tsens" : For 8916 Family of SoCs
6− - "qcom,msm8974-tsens" : For 8974 Family of SoCs
7− - "qcom,msm8996-tsens" : For 8996 Family of SoCs
4+- compatible:
5+ Must be one of the following:
6+ - "qcom,msm8916-tsens" (MSM8916)
7+ - "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.
819
9−- reg: Address range of the thermal registers
1020 - #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description.
1121 - #qcom,sensors: Number of sensors in tsens block
1222 - Refer to Documentation/devicetree/bindings/nvmem/nvmem.txt to know how to specify
1323 nvmem cells
1424
15−Example:
25+Example 1 (legacy support before a fallback tsens-v2 property was introduced):
1626 tsens: thermal-sensor@900000 {
1727 compatible = "qcom,msm8916-tsens";
1828 reg = <0x4a8000 0x2000>;
@@ -20,3 +30,12 @@ tsens: thermal-sensor@900000 { · 1 unmodified line
2030 nvmem-cell-names = "caldata", "calsel";
2131 #thermal-sensor-cells = <1>;
2232 };
33+
34+Example 2 (for any platform containing v2 of the TSENS IP):
35+tsens0: 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
9797 to be loaded in the target system.
9898
9999 Required properties:
100−- cooling-device: A phandle of a cooling device with its specifier,
101− Type: phandle + referring to which cooling device is used in this
100+- cooling-device: A list of phandles of cooling devices with their specifiers,
101+ Type: phandle + referring to which cooling devices are used in this
102102 cooling specifier binding. In the cooling specifier, the first cell
103103 is the minimum cooling state and the second cell
104104 is the maximum cooling state used in this map.
@@ -276,12 +276,7 @@ thermal-zones { · 171 unmodified lines
276276 };
277277 map1 {
278278 trip = <&cpu_alert1>;
279− cooling-device = <&fan0 5 THERMAL_NO_LIMIT>;
280− };
281− map2 {
282− trip = <&cpu_alert1>;
283− cooling-device =
284− <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
279+ cooling-device = <&fan0 5 THERMAL_NO_LIMIT>, <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
285280 };
286281 };
287282 };
Documentation/devicetree/bindings/timer/altr,timer-1.0.txt+0−1
@@ -4,7 +4,6 @@ Required properties: · 3 unmodified lines
44
55 - compatible : should be "altr,timer-1.0"
66 - reg : Specifies base physical address and size of the registers.
7−- interrupt-parent: phandle of the interrupt controller
87 - interrupts : Should contain the timer interrupt number
98 - clock-frequency : The frequency of the clock that drives the counter, in Hz.
109
Documentation/devicetree/bindings/timer/fsl,gtm.txt+0−1
@@ -7,7 +7,6 @@ Required properties: · 6 unmodified lines
77 "fsl,<chip>-cpm2-gtm", "fsl,cpm2-gtm", "fsl,gtm" for CPM2 GTMs
88 - reg : should contain gtm registers location and length (0x40).
99 - interrupts : should contain four interrupts.
10− - interrupt-parent : interrupt source phandle.
1110 - clock-frequency : specifies the frequency driving the timer.
1211
1312 Example:
Documentation/devicetree/bindings/timer/marvell,orion-timer.txt+0−1
@@ -3,7 +3,6 @@ Marvell Orion SoC timer · 2 unmodified lines
33 Required properties:
44 - compatible: shall be "marvell,orion-timer"
55 - reg: base address of the timer register starting with TIMERS CONTROL register
6−- interrupt-parent: phandle of the bridge interrupt controller
76 - interrupts: should contain the interrupts for Timer0 and Timer1
87 - clocks: phandle of timer reference clock (tclk)
98
Documentation/devicetree/bindings/timer/mediatek,mtk-timer.txt+20−14
@@ -1,19 +1,25 @@
1−Mediatek MT6577, MT6572 and MT6589 Timers
2−---------------------------------------
1+Mediatek Timers
2+---------------
3+
4+Mediatek SoCs have two different timers on different platforms,
5+- GPT (General Purpose Timer)
6+- SYST (System Timer)
7+
8+The proper timer will be selected automatically by driver.
39
410 Required properties:
511 - compatible should contain:
6− * "mediatek,mt2701-timer" for MT2701 compatible timers
7− * "mediatek,mt6580-timer" for MT6580 compatible timers
8− * "mediatek,mt6589-timer" for MT6589 compatible timers
9− * "mediatek,mt7623-timer" for MT7623 compatible timers
10− * "mediatek,mt8127-timer" for MT8127 compatible timers
11− * "mediatek,mt8135-timer" for MT8135 compatible timers
12− * "mediatek,mt8173-timer" for MT8173 compatible timers
13− * "mediatek,mt6577-timer" for MT6577 and all above compatible timers
14−- reg: Should contain location and length for timers register.
15−- clocks: Clocks driving the timer hardware. This list should include two
16− clocks. The order is system clock and as second clock the RTC clock.
12+ * "mediatek,mt2701-timer" for MT2701 compatible timers (GPT)
13+ * "mediatek,mt6580-timer" for MT6580 compatible timers (GPT)
14+ * "mediatek,mt6589-timer" for MT6589 compatible timers (GPT)
15+ * "mediatek,mt7623-timer" for MT7623 compatible timers (GPT)
16+ * "mediatek,mt8127-timer" for MT8127 compatible timers (GPT)
17+ * "mediatek,mt8135-timer" for MT8135 compatible timers (GPT)
18+ * "mediatek,mt8173-timer" for MT8173 compatible timers (GPT)
19+ * "mediatek,mt6577-timer" for MT6577 and all above compatible timers (GPT)
20+ * "mediatek,mt6765-timer" for MT6765 compatible timers (SYST)
21+- reg: Should contain location and length for timer register.
22+- clocks: Should contain system clock.
1723
1824 Examples:
1925
@@ -21,5 +27,5 @@ Examples: · 1 unmodified line
2127 compatible = "mediatek,mt6577-timer";
2228 reg = <0x10008000 0x80>;
2329 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_LOW>;
24− clocks = <&system_clk>, <&rtc_clk>;
30+ clocks = <&system_clk>;
2531 };
Documentation/devicetree/bindings/timer/snps,arc-timer.txt+0−4
@@ -12,10 +12,6 @@ Required properties: · 11 unmodified lines
1212 (16 for ARCHS cores, 3 for ARC700 cores)
1313 - clocks : phandle to the source clock
1414
15−Optional properties:
16−
17−- interrupt-parent : phandle to parent intc
18−
1915 Example:
2016
2117 timer0 {
Documentation/devicetree/bindings/timer/st,spear-timer.txt+0−2
@@ -5,8 +5,6 @@ · 4 unmodified lines
55 - compatible : Should be:
66 "st,spear-timer"
77 - 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
108 - interrupt: Should contain the timer interrupt number
119
1210 Example:
Documentation/devicetree/bindings/timer/ti,c64x+timer64.txt+0−1
@@ -7,7 +7,6 @@ Required properties: · 6 unmodified lines
77
88 - compatible: must be "ti,c64x+timer64"
99 - reg: base address and size of register region
10−- interrupt-parent: interrupt controller
1110 - interrupts: interrupt id
1211
1312 Optional 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+
3+This document provides bindings for the 64-bit timer in the DaVinci
4+architecture devices. The timer can be configured as a general-purpose 64-bit
5+timer, dual general-purpose 32-bit timers. When configured as dual 32-bit
6+timers, each half can operate in conjunction (chain mode) or independently
7+(unchained mode) of each other.
8+
9+The timer is a free running up-counter and can generate interrupts when the
10+counter reaches preset counter values.
11+
12+Also see ../watchdog/davinci-wdt.txt for timers that are configurable as
13+watchdog timers.
14+
15+Required 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+
26+Example:
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+
3+UFS nodes are defined to describe on-chip UFS hardware macro.
4+Each UFS Host Controller should have its own node.
5+
6+Required 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+
24+Example:
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
4141 -lanes-per-direction : number of lanes available per direction - either 1 or 2.
4242 Note that it is assume same number of lanes is used both
4343 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.
4446
4547 Note: If above properties are not defined it can be assumed that the supply
4648 regulators or clocks are always on.
@@ -61,9 +63,11 @@ Example: · 14 unmodified lines
6163 vccq-max-microamp = 200000;
6264 vccq2-max-microamp = 200000;
6365
64− clocks = <&core 0>, <&ref 0>, <&iface 0>;
65− clock-names = "core_clk", "ref_clk", "iface_clk";
66− freq-table-hz = <100000000 200000000>, <0 0>, <0 0>;
66+ clocks = <&core 0>, <&ref 0>, <&phy 0>, <&iface 0>;
67+ clock-names = "core_clk", "ref_clk", "phy_clk", "iface_clk";
68+ freq-table-hz = <100000000 200000000>, <0 0>, <0 0>, <0 0>;
69+ resets = <&reset 0 1>;
70+ reset-names = "rst";
6771 phys = <&ufsphy1>;
6872 phy-names = "ufsphy";
6973 };
Documentation/devicetree/bindings/usb/dwc3.txt+6−0
@@ -96,6 +96,11 @@ Optional properties: · 95 unmodified lines
9696 enable periodic ESS TX threshold.
9797
9898 - <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.
99104
100105 - in addition all properties from usb-xhci.txt from the current directory are
101106 supported as well
@@ -108,4 +113,5 @@ dwc3@4a030000 { · 6 unmodified lines
108113 reg = <0x4a030000 0xcfff>;
109114 interrupts = <0 92 4>
110115 usb-phy = <&usb2_phy>, <&usb3,phy>;
116+ snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
111117 };
Documentation/devicetree/bindings/usb/fsl-usb.txt+0−2
@@ -33,8 +33,6 @@ Recommended properties : · 32 unmodified lines
3333 information for the interrupt. This should be encoded based on
3434 the information in section 2) depending on the type of interrupt
3535 controller you have.
36− - interrupt-parent : the phandle for the interrupt controller that
37− services interrupts for this device.
3836
3937 Optional properties :
4038 - 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
1111 The driver configures MAX3421E for active low level triggered interrupts,
1212 configure your interrupt line accordingly.
1313
14−Optional property:
15− - interrupt-parent: the phandle to the associated interrupt controller.
16−
1714 Example:
1815
1916 usb@0 {
Documentation/devicetree/bindings/usb/npcm7xx-usb.txt+18−0
@@ -0,0 +1,18 @@
1+Nuvoton NPCM7XX SoC USB controllers:
2+-----------------------------
3+
4+EHCI:
5+-----
6+
7+Required 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+
12+Example:
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
33 Required properties:
44 - compatible : Must be "richtek,rt1711h".
55 - 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.
86 - interrupts : <a b> where a is the interrupt number and b represents an
97 encoding of the sense and level information for the interrupt.
108
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
1616 the node is not important. The content of the node is defined in dwc3.txt.
1717
1818 Phy documentation is provided in the following places:
19−Documentation/devicetree/bindings/phy/qcom-dwc3-usb-phy.txt
19+Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt - USB2.0 PHY
20+Documentation/devicetree/bindings/phy/phy-rockchip-typec.txt - Type-C PHY
2021
2122 Example device nodes:
2223
Documentation/devicetree/bindings/usb/samsung-hsotg.txt+0−2
@@ -14,8 +14,6 @@ Binding details · 13 unmodified lines
1414 Required properties:
1515 - compatible: "samsung,s3c6400-hsotg" should be used for all currently
1616 supported SoC,
17−- interrupt-parent: phandle for the interrupt controller to which the
18− interrupt signal of the HSOTG block is routed,
1917 - interrupts: specifier of interrupt signal of interrupt controller,
2018 according to bindings of interrupt controller,
2119 - clocks: contains an array of clock specifiers:
Documentation/devicetree/bindings/usb/spear-usb.txt+0−4
@@ -6,8 +6,6 @@ EHCI: · 5 unmodified lines
66
77 Required properties:
88 - compatible: "st,spear600-ehci"
9−- interrupt-parent: Should be the phandle for the interrupt controller
10− that services interrupts for this device
119 - interrupts: Should contain the EHCI interrupt
1210
1311 Example:
@@ -25,8 +23,6 @@ OHCI: · 11 unmodified lines
2523
2624 Required properties:
2725 - compatible: "st,spear600-ohci"
28−- interrupt-parent: Should be the phandle for the interrupt controller
29− that services interrupts for this device
3026 - interrupts: Should contain the OHCI interrupt
3127
3228 Example:
Documentation/devicetree/bindings/usb/typec-tcpci.txt+49−0
@@ -0,0 +1,49 @@
1+TCPCI(Typec port cotroller interface) binding
2+---------------------------------------------
3+
4+Required 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+
13+Required 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+
18+Example:
19+
20+ptn5110@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
1414 - "renesas,xhci-r8a7795" for r8a7795 SoC
1515 - "renesas,xhci-r8a7796" for r8a7796 SoC
1616 - "renesas,xhci-r8a77965" for r8a77965 SoC
17+ - "renesas,xhci-r8a77990" for r8a77990 SoC
1718 - "renesas,rcar-gen2-xhci" for a generic R-Car Gen2 or RZ/G1 compatible
1819 device
1920 - "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
4242 artesyn Artesyn Embedded Technologies Inc.
4343 asahi-kasei Asahi Kasei Corp.
4444 aspeed ASPEED Technology Inc.
45+asus AsusTek Computer Inc.
4546 atlas Atlas Scientific LLC
4647 atmel Atmel Corporation
4748 auo AU Optronics Corporation
@@ -54,6 +55,7 @@ axentia Axentia Technologies AB · 6 unmodified lines
5455 axis Axis Communications AB
5556 bananapi BIPAI KEJI LIMITED
5657 bhf Beckhoff Automation GmbH & Co. KG
58+bitmain Bitmain Technologies
5759 boe BOE Technology Group Co., Ltd.
5860 bosch Bosch Sensortec GmbH
5961 boundary Boundary Devices Inc.
@@ -127,6 +129,7 @@ excito Excito · 67 unmodified lines
127129 ezchip EZchip Semiconductor
128130 fairphone Fairphone B.V.
129131 faraday Faraday Technology Corporation
132+fastrax Fastrax Oy
130133 fcs Fairchild Semiconductor
131134 firefly Firefly
132135 focaltech FocalTech Systems Co.,Ltd
@@ -139,6 +142,7 @@ geekbuying GeekBuying · 6 unmodified lines
139142 gef GE Fanuc Intelligent Platforms Embedded Systems, Inc.
140143 GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc.
141144 geniatech Geniatech, Inc.
145+giantec Giantec Semiconductor, Inc.
142146 giantplus Giantplus Technology Co., Ltd.
143147 globalscale Globalscale Technologies, Inc.
144148 gmt Global Mixed-mode Technology, Inc.
@@ -197,6 +201,7 @@ koe Kaohsiung Opto-Electronics Inc. · 52 unmodified lines
197201 kosagi Sutajio Ko-Usagi PTE Ltd.
198202 kyo Kyocera Corporation
199203 lacie LaCie
204+laird Laird PLC
200205 lantiq Lantiq Semiconductor
201206 lattice Lattice Semiconductor
202207 lego LEGO Systems A/S
@@ -207,6 +212,7 @@ licheepi Lichee Pi · 4 unmodified lines
207212 linaro Linaro Limited
208213 linksys Belkin International, Inc. (Linksys)
209214 linux Linux-specific binding
215+linx Linx Technologies
210216 lltc Linear Technology Corporation
211217 logicpd Logic PD, Inc.
212218 lsi LSI Corp. (LSI Logic)
@@ -275,6 +281,7 @@ opalkelly Opal Kelly Incorporated · 62 unmodified lines
275281 opencores OpenCores.org
276282 openrisc OpenRISC.io
277283 option Option NV
284+oranth Shenzhen Oranth Technology Co., Ltd.
278285 ORCL Oracle Corporation
279286 orisetech Orise Technology
280287 ortustech Ortus Technology Co., Ltd.
@@ -318,6 +325,7 @@ rohm ROHM Semiconductor Co., Ltd · 37 unmodified lines
318325 roofull Shenzhen Roofull Technology Co, Ltd
319326 samsung Samsung Semiconductor
320327 samtec Samtec/Softing company
328+sancloud Sancloud Ltd
321329 sandisk Sandisk Corporation
322330 sbs Smart Battery System
323331 schindler Schindler
@@ -388,6 +396,7 @@ tronsmart Tronsmart · 64 unmodified lines
388396 truly Truly Semiconductors Limited
389397 tsd Theobroma Systems Design und Consulting GmbH
390398 tyan Tyan Computer Corporation
399+u-blox u-blox
391400 ucrobotics uCRobotics
392401 ubnt Ubiquiti Networks
393402 udoo Udoo
@@ -396,9 +405,11 @@ upisemi uPI Semiconductor Corp. · 2 unmodified lines
396405 urt United Radiant Technology Corporation
397406 usi Universal Scientific Industrial Co., Ltd.
398407 v3 V3 Semiconductor
408+vamrs Vamrs Ltd.
399409 variscite Variscite Ltd.
400410 via VIA Technologies, Inc.
401411 virtio Virtual I/O Device Specification, developed by the OASIS consortium
412+vitesse Vitesse Semiconductor Corporation
402413 vivante Vivante Corporation
403414 vocore VoCore Studio
404415 voipac Voipac Technologies s.r.o.
@@ -416,6 +427,7 @@ xes Extreme Engineering Solutions (X-ES) · 11 unmodified lines
416427 xillybus Xillybus Ltd.
417428 xlnx Xilinx
418429 xunlong Shenzhen Xunlong Software CO.,Limited
430+ysoft Y Soft Corporation a.s.
419431 zarlink Zarlink Semiconductor
420432 zeitec ZEITEC Semiconductor Co., LTD.
421433 zidoo Shenzhen Zidoo Technology Co., Ltd.
Documentation/devicetree/bindings/w1/w1-gpio.txt+8−3
@@ -13,10 +13,15 @@ Optional properties: · 12 unmodified lines
1313 - linux,open-drain: if specified, the data pin is considered in
1414 open-drain mode.
1515
16+Also refer to the generic w1.txt document.
17+
1618 Examples:
1719
18− onewire@0 {
20+ onewire {
1921 compatible = "w1-gpio";
20− gpios = <&gpio 126 0>, <&gpio 105 0>;
21− };
22+ gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
2223
24+ battery {
25+ // ...
26+ };
27+ };
Documentation/devicetree/bindings/w1/w1.txt+25−0
@@ -0,0 +1,25 @@
1+Generic devicetree bindings for onewire (w1) busses
2+===================================================
3+
4+Onewire busses are described through nodes of their master bus controller.
5+Slave devices are listed as sub-nodes of such master devices. For now, only
6+one slave is allowed per bus master.
7+
8+
9+Example:
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 @@
11 ARM AMBA Primecell SP805 Watchdog
22
3+SP805 WDT is a ARM Primecell Peripheral and has a standard-id register that
4+can be used to identify the peripheral type, vendor, and revision.
5+This value can be used for driver matching.
6+
7+As SP805 WDT is a primecell IP, it follows the base bindings specified in
8+'arm/primecell.txt'
9+
310 Required properties:
4−- compatible: Should be "arm,sp805" & "arm,primecell"
5−- reg: Should contain location and length for watchdog timer register.
6−- interrupts: Should contain the list of watchdog timer interrupts.
7−- clocks: clocks driving the watchdog timer hardware. This list should be 2
8− clocks. With 2 clocks, the order is wdogclk clock, apb_pclk.
11+- compatible: Should be "arm,sp805" & "arm,primecell"
12+- reg: Should contain location and length for watchdog timer register
13+- clocks: Clocks driving the watchdog timer hardware. This list should be
14+ 2 clocks. With 2 clocks, the order is wdog_clk, 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+
20+Optional 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
924
1025 Example:
1126 watchdog@66090000 {
1227 compatible = "arm,sp805", "arm,primecell";
1328 reg = <0x66090000 0x1000>;
1429 interrupts = <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>;
15− clocks = <&apb_pclk>,<&apb_pclk>;
16− clock-names = "wdogclk", "apb_pclk";
30+ clocks = <&wdt_clk>, <&apb_pclk>;
31+ clock-names = "wdog_clk", "apb_pclk";
1732 };
Documentation/devicetree/bindings/watchdog/cadence-wdt.txt+0−1
@@ -5,7 +5,6 @@ Required properties: · 4 unmodified lines
55 - compatible : Should be "cdns,wdt-r1p2".
66 - clocks : This is pclk (APB clock).
77 - interrupts : This is wd_irq - watchdog timeout interrupt.
8−- interrupt-parent : Must be core interrupt controller.
98
109 Optional properties
1110 - 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
1616 - "renesas,r8a7796-wdt" (R-Car M3-W)
1717 - "renesas,r8a77965-wdt" (R-Car M3-N)
1818 - "renesas,r8a77970-wdt" (R-Car V3M)
19+ - "renesas,r8a77990-wdt" (R-Car E3)
1920 - "renesas,r8a77995-wdt" (R-Car D3)
2021 - "renesas,r7s72100-wdt" (RZ/A1)
2122 The generic compatible string must be:
Documentation/devicetree/bindings/watchdog/rt2880-wdt.txt+0−1
@@ -5,7 +5,6 @@ Required properties: · 4 unmodified lines
55 - reg: physical base address of the controller and length of the register range
66
77 Optional properties:
8−- interrupt-parent: phandle to the INTC device node
98 - interrupts: Specify the INTC interrupt number
109
1110 Example:
Documentation/devicetree/bindings/watchdog/sp805-wdt.txt+0−31
@@ -1,31 +0,0 @@
1−* ARM SP805 Watchdog Timer (WDT) Controller
2−
3−SP805 WDT is a ARM Primecell Peripheral and has a standard-id register that
4−can be used to identify the peripheral type, vendor, and revision.
5−This value can be used for driver matching.
6−
7−As SP805 WDT is a primecell IP, it follows the base bindings specified in
8−'arm/primecell.txt'
9−
10−Required 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−
20−Optional properties:
21−- interrupts : Should specify WDT interrupt number.
22−
23−Examples:
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
22 ---------------------------------
33
44 Required properties:
5−- compatible: "st,stm32-iwdg"
6−- reg: physical base address and length of the registers set for the device
7−- clocks: must contain a single entry describing the clock input
5+- compatible: Should be either:
6+ - "st,stm32-iwdg"
7+ - "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
814
915 Optional Properties:
1016 - timeout-sec: Watchdog timeout value in seconds.
@@ -15,5 +21,6 @@ iwdg: watchdog@40003000 { · 4 unmodified lines
1521 compatible = "st,stm32-iwdg";
1622 reg = <0x40003000 0x400>;
1723 clocks = <&clk_lsi>;
24+ clock-names = "lsi";
1825 timeout-sec = <32>;
1926 };
Documentation/devicetree/bindings/xilinx.txt+1−1
@@ -49,7 +49,7 @@ · 48 unmodified lines
4949 followed by an older IP core version which implements the same
5050 interface or any other device with the same interface.
5151
52− 'reg', 'interrupt-parent' and 'interrupts' are all optional properties.
52+ 'reg' and 'interrupts' are all optional properties.
5353
5454 For example, the following block from system.mhs:
5555
Documentation/devicetree/bindings/xillybus/xillybus.txt+0−2
@@ -4,8 +4,6 @@ Required properties: · 3 unmodified lines
44 - compatible: Should be "xillybus,xillybus-1.00.a"
55 - reg: Address and length of the register set for the device
66 - 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.
97
108 Optional properties:
119 - 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
22 ----------------------------------
33
44 This document describes the implementation of the in-kernel
5−Device Tree resolver, residing in drivers/of/resolver.c and is a
6−companion document to Documentation/devicetree/dt-object-internal.txt[1]
5+Device Tree resolver, residing in drivers/of/resolver.c
76
87 How the resolver works
98 ----------------------
109
1110 The resolver is given as an input an arbitrary tree compiled with the
1211 proper dtc option and having a /plugin/ tag. This generates the
13−appropriate __fixups__ & __local_fixups__ nodes as described in [1].
12+appropriate __fixups__ & __local_fixups__ nodes.
1413
1514 In sequence the resolver works by the following steps:
1615
Documentation/doc-guide/kernel-doc.rst+7−2
@@ -488,14 +488,19 @@ doc: *title* · 487 unmodified lines
488488 .. kernel-doc:: drivers/gpu/drm/i915/intel_audio.c
489489 :doc: High Definition Audio over HDMI and Display Port
490490
491−functions: *function* *[...]*
491+functions: *[ function ...]*
492492 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.
493495
494− Example::
496+ Examples::
495497
496498 .. kernel-doc:: lib/bitmap.c
497499 :functions: bitmap_parselist bitmap_parselist_user
498500
501+ .. kernel-doc:: lib/idr.c
502+ :functions:
503+
499504 Without options, the kernel-doc directive includes all documentation comments
500505 from the source file.
501506
Documentation/doc-guide/parse-headers.rst+2−2
@@ -32,7 +32,7 @@ SYNOPSIS · 31 unmodified lines
3232
3333 \ **parse_headers.pl**\ [<options>] <C_FILE> <OUT_FILE> [<EXCEPTIONS_FILE>]
3434
35−Where <options> can be: --debug, --help or --man.
35+Where <options> can be: --debug, --help or --usage.
3636
3737
3838 OPTIONS
@@ -133,7 +133,7 @@ For both statements, \ **type**\ can be either one of the following: · 94 unmodified lines
133133
134134 \ **symbol**\
135135
136− The ignore or replace statement will apply to the name of enum statements
136+ The ignore or replace statement will apply to the name of enum value
137137 at C_FILE.
138138
139139 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
2828 built with ``Sphinx`` version 1.3 or upper. If you're desiring to build
2929 PDF outputs, it is recommended to use version 1.4.6 or upper.
3030
31−There's a script that checks for the Spinx requirements. Please see
31+There's a script that checks for the Sphinx requirements. Please see
3232 :ref:`sphinx-pre-install` for further details.
3333
3434 Most 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
8181 Two other flags are specifically targeted at use cases where the device
8282 link is added from the consumer's ``->probe`` callback: ``DL_FLAG_RPM_ACTIVE``
8383 can be specified to runtime resume the supplier upon addition of the
84−device link. ``DL_FLAG_AUTOREMOVE`` causes the device link to be automatically
85−purged when the consumer fails to probe or later unbinds. This obviates
86−the need to explicitly delete the link in the ``->remove`` callback or in
87−the error path of the ``->probe`` callback.
84+device link. ``DL_FLAG_AUTOREMOVE_CONSUMER`` causes the device link to be
85+automatically purged when the consumer fails to probe or later unbinds.
86+This obviates the need to explicitly delete the link in the ``->remove``
87+callback or in the error path of the ``->probe`` callback.
88+
89+Similarly, when the device link is added from supplier's ``->probe`` callback,
90+``DL_FLAG_AUTOREMOVE_SUPPLIER`` causes the device link to be automatically
91+purged when the supplier fails to probe or later unbinds.
8892
8993 Limitations
9094 ===========
Documentation/driver-api/firmware/fallback-mechanisms.rst+6−1
@@ -92,7 +92,7 @@ the loading file. · 91 unmodified lines
9292
9393 The firmware device used to help load firmware using sysfs is only created if
9494 direct firmware loading fails and if the fallback mechanism is enabled for your
95−firmware request, this is set up with fw_load_from_user_helper(). It is
95+firmware request, this is set up with :c:func:`firmware_fallback_sysfs`. It is
9696 important to re-iterate that no device is created if a direct filesystem lookup
9797 succeeded.
9898
@@ -108,6 +108,11 @@ firmware_data_read() and firmware_loading_show() are just provided for the · 9 unmodified lines
108108 test_firmware driver for testing, they are not called in normal use or
109109 expected to be used regularly by userspace.
110110
111+firmware_fallback_sysfs
112+-----------------------
113+.. kernel-doc:: drivers/base/firmware_loader/fallback.c
114+ :functions: firmware_fallback_sysfs
115+
111116 Firmware kobject uevent fallback mechanism
112117 ==========================================
113118
Documentation/driver-api/fpga/fpga-mgr.rst+6−6
@@ -83,7 +83,7 @@ The programming sequence is:: · 82 unmodified lines
8383 3. .write_complete
8484
8585 The .write_init function will prepare the FPGA to receive the image data. The
86−buffer passed into .write_init will be atmost .initial_header_size bytes long,
86+buffer passed into .write_init will be at most .initial_header_size bytes long;
8787 if the whole bitstream is not immediately available then the core code will
8888 buffer up at least this much before starting.
8989
@@ -98,9 +98,9 @@ scatter list. This interface is suitable for drivers which use DMA. · 8 unmodified lines
9898 The .write_complete function is called after all the image has been written
9999 to put the FPGA into operating mode.
100100
101−The ops include a .state function which will read the hardware FPGA manager and
102−return a code of type enum fpga_mgr_states. It doesn't result in a change in
103−hardware state.
101+The ops include a .state function which will determine the state the FPGA is in
102+and return a code of type enum fpga_mgr_states. It doesn't result in a change
103+in state.
104104
105105 How to write an image buffer to a supported FPGA
106106 ------------------------------------------------
@@ -181,8 +181,8 @@ API for implementing a new FPGA Manager driver · 74 unmodified lines
181181 .. kernel-doc:: drivers/fpga/fpga-mgr.c
182182 :functions: fpga_mgr_unregister
183183
184−API for programming a FPGA
185−--------------------------
184+API for programming an FPGA
185+---------------------------
186186
187187 .. kernel-doc:: include/linux/fpga/fpga-mgr.h
188188 :functions: fpga_image_info
Documentation/driver-api/fpga/fpga-region.rst+6−6
@@ -4,7 +4,7 @@ FPGA Region · 3 unmodified lines
44 Overview
55 --------
66
7−This document is meant to be an brief overview of the FPGA region API usage. A
7+This document is meant to be a brief overview of the FPGA region API usage. A
88 more conceptual look at regions can be found in the Device Tree binding
99 document [#f1]_.
1010
@@ -31,11 +31,11 @@ fpga_image_info including: · 20 unmodified lines
3131 * pointers to the image as either a scatter-gather buffer, a contiguous
3232 buffer, or the name of firmware file
3333
34− * flags indicating specifics such as whether the image if for partial
34+ * flags indicating specifics such as whether the image is for partial
3535 reconfiguration.
3636
37−How to program a FPGA using a region
38−------------------------------------
37+How to program an FPGA using a region
38+-------------------------------------
3939
4040 First, allocate the info struct::
4141
@@ -77,8 +77,8 @@ An example of usage can be seen in the probe function of [#f2]_. · 35 unmodified lines
7777 .. [#f1] ../devicetree/bindings/fpga/fpga-region.txt
7878 .. [#f2] ../../drivers/fpga/of-fpga-region.c
7979
80−API to program a FGPA
81−---------------------
80+API to program an FPGA
81+----------------------
8282
8383 .. kernel-doc:: drivers/fpga/fpga-region.c
8484 :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
1212
1313 * Code should not be shared between upper and lower layers. This
1414 should go without saying. If that seems necessary, there's probably
15− framework functionality that that can be added that will benefit
15+ framework functionality that can be added that will benefit
1616 other users. Write the linux-fpga mailing list and maintainers and
1717 seek out a solution that expands the framework for broad reuse.
1818
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.
2020
2121 The framework in the kernel is divided into:
2222
2323 FPGA Manager
2424 ------------
2525
26−If you are adding a new FPGA or a new method of programming a FPGA,
26+If you are adding a new FPGA or a new method of programming an FPGA,
2727 this is the subsystem for you. Low level FPGA manager drivers contain
2828 the knowledge of how to program a specific device. This subsystem
2929 includes the framework in fpga-mgr.c and the low level drivers that
@@ -32,10 +32,10 @@ are registered with it. · 2 unmodified lines
3232 FPGA Bridge
3333 -----------
3434
35−FPGA Bridges prevent spurious signals from going out of a FPGA or a
36−region of a FPGA during programming. They are disabled before
35+FPGA Bridges prevent spurious signals from going out of an FPGA or a
36+region of an FPGA during programming. They are disabled before
3737 programming begins and re-enabled afterwards. An FPGA bridge may be
38−actual hard hardware that gates a bus to a cpu or a soft ("freeze")
38+actual hard hardware that gates a bus to a CPU or a soft ("freeze")
3939 bridge in FPGA fabric that surrounds a partial reconfiguration region
4040 of an FPGA. This subsystem includes fpga-bridge.c and the low level
4141 drivers that are registered with it.
@@ -44,7 +44,7 @@ FPGA Region · 2 unmodified lines
4444 -----------
4545
4646 If you are adding a new interface to the FPGA framework, add it on top
47−of a FPGA region to allow the most reuse of your interface.
47+of an FPGA region to allow the most reuse of your interface.
4848
4949 The FPGA Region framework (fpga-region.c) associates managers and
5050 bridges 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
118118 All bmdma-style drivers must implement this hook. This is the low-level
119119 operation that actually copies the data bytes during a PIO data
120120 transfer. Typically the driver will choose one of
121−:c:func:`ata_sff_data_xfer_noirq`, :c:func:`ata_sff_data_xfer`, or
122−:c:func:`ata_sff_data_xfer32`.
121+:c:func:`ata_sff_data_xfer`, or :c:func:`ata_sff_data_xfer32`.
123122
124123 ATA command execute
125124 ~~~~~~~~~~~~~~~~~~~
Documentation/driver-api/mtdnand.rst+2−2
@@ -374,7 +374,7 @@ The nand driver supports three different types of hardware ECC. · 373 unmodified lines
374374
375375 - NAND_ECC_HW8_512
376376
377− Hardware ECC generator providing 6 bytes ECC per 512 byte.
377+ Hardware ECC generator providing 8 bytes ECC per 512 byte.
378378
379379 If your hardware generator has a different functionality add it at the
380380 appropriate place in nand_base.c
@@ -889,7 +889,7 @@ Use these constants to select the ECC algorithm:: · 508 unmodified lines
889889 #define NAND_ECC_HW3_512 3
890890 /* Hardware ECC 6 byte ECC per 512 Byte data */
891891 #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 */
893893 #define NAND_ECC_HW8_512 6
894894
895895
Documentation/driver-api/slimbus.rst+5−0
@@ -125,3 +125,8 @@ Messaging APIs: · 124 unmodified lines
125125 ~~~~~~~~~~~~~~~
126126 .. kernel-doc:: drivers/slimbus/messaging.c
127127 :export:
128+
129+Streaming 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+
2+API for USB Type-C Alternate Mode drivers
3+=========================================
4+
5+Introduction
6+------------
7+
8+Alternate modes require communication with the partner using Vendor Defined
9+Messages (VDM) as defined in USB Type-C and USB Power Delivery Specifications.
10+The communication is SVID (Standard or Vendor ID) specific, i.e. specific for
11+every alternate mode, so every alternate mode will need a custom driver.
12+
13+USB Type-C bus allows binding a driver to the discovered partner alternate
14+modes by using the SVID and the mode number.
15+
16+USB Type-C Connector Class provides a device for every alternate mode a port
17+supports, and separate device for every alternate mode the partner supports.
18+The drivers for the alternate modes are bound to the partner alternate mode
19+devices, and the port alternate mode devices must be handled by the port
20+drivers.
21+
22+When a new partner alternate mode device is registered, it is linked to the
23+alternate mode device of the port that the partner is attached to, that has
24+matching SVID and mode. Communication between the port driver and alternate mode
25+driver will happen using the same API.
26+
27+The port alternate mode devices are used as a proxy between the partner and the
28+alternate mode drivers, so the port drivers are only expected to pass the SVID
29+specific commands from the alternate mode drivers to the partner, and from the
30+partners to the alternate mode drivers. No direct SVID specific communication is
31+needed from the port drivers, but the port drivers need to provide the operation
32+callbacks for the port alternate mode devices, just like the alternate mode
33+drivers need to provide them for the partner alternate mode devices.
34+
35+Usage:
36+------
37+
38+General
39+~~~~~~~
40+
41+By default, the alternate mode drivers are responsible for entering the mode.
42+It is also possible to leave the decision about entering the mode to the user
43+space (See Documentation/ABI/testing/sysfs-class-typec). Port drivers should not
44+enter any modes on their own.
45+
46+``->vdm`` is the most important callback in the operation callbacks vector. It
47+will be used to deliver all the SVID specific commands from the partner to the
48+alternate mode driver, and vice versa in case of port drivers. The drivers send
49+the SVID specific commands to each other using :c:func:`typec_altmode_vmd()`.
50+
51+If the communication with the partner using the SVID specific commands results
52+in need to reconfigure the pins on the connector, the alternate mode driver
53+needs to notify the bus using :c:func:`typec_altmode_notify()`. The driver
54+passes the negotiated SVID specific pin configuration value to the function as
55+parameter. The bus driver will then configure the mux behind the connector using
56+that value as the state value for the mux, and also call blocking notification
57+chain to notify the external drivers about the state of the connector that need
58+to know it.
59+
60+NOTE: The SVID specific pin configuration values must always start from
61+``TYPEC_STATE_MODAL``. USB Type-C specification defines two default states for
62+the connector: ``TYPEC_STATE_USB`` and ``TYPEC_STATE_SAFE``. These values are
63+reserved by the bus as the first possible values for the state. When the
64+alternate 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
66+Type-C Specification, and also put the connector back to ``TYPEC_STATE_USB``
67+after the mode has been exited.
68+
69+An example of working definitions for SVID specific pin configurations would
70+look like this:
71+
72+enum {
73+ ALTMODEX_CONF_A = TYPEC_STATE_MODAL,
74+ ALTMODEX_CONF_B,
75+ ...
76+};
77+
78+Helper 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+
83+Notification chain
84+~~~~~~~~~~~~~~~~~~
85+
86+The drivers for the components that the alternate modes are designed for need to
87+get details regarding the results of the negotiation with the partner, and the
88+pin configuration of the connector. In case of DisplayPort alternate mode for
89+example, the GPU drivers will need to know those details. In case of
90+Thunderbolt alternate mode, the thunderbolt drivers will need to know them, and
91+so on.
92+
93+The notification chain is designed for this purpose. The drivers can register
94+notifiers with :c:func:`typec_altmode_register_notifier()`.
95+
96+Cable plug alternate modes
97+~~~~~~~~~~~~~~~~~~~~~~~~~~
98+
99+The alternate mode drivers are not bound to cable plug alternate mode devices,
100+only to the partner alternate mode devices. If the alternate mode supports, or
101+requires, a cable that responds to SOP Prime, and optionally SOP Double Prime
102+messages, the driver for that alternate mode must request handle to the cable
103+plug alternate modes using :c:func:`typec_altmode_get_plug()`, and take over
104+their control.
105+
106+Driver API
107+----------
108+
109+Alternate 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+
115+Alternate 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+
121+API for the port drivers
122+~~~~~~~~~~~~~~~~~~~~~~~~
123+
124+.. kernel-doc:: drivers/usb/typec/bus.c
125+ :functions: typec_match_altmode
126+
127+Cable Plug operations
128+~~~~~~~~~~~~~~~~~~~~~
129+
130+.. kernel-doc:: drivers/usb/typec/bus.c
131+ :functions: typec_altmode_get_plug typec_altmode_put_plug
132+
133+Notifications
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
240240 devm_of_clk_add_hw_provider()
241241
242242 DMA
243+ dmaenginem_async_device_register()
243244 dmam_alloc_coherent()
244245 dmam_alloc_attrs()
245246 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
6666
6767 As a technical note, when directories and files are specified, the
6868 entire CONFIG_INITRAMFS_SOURCE is passed to
69−scripts/gen_initramfs_list.sh. This means that CONFIG_INITRAMFS_SOURCE
69+usr/gen_initramfs_list.sh. This means that CONFIG_INITRAMFS_SOURCE
7070 can really be interpreted as any legal argument to
7171 gen_initramfs_list.sh. If a directory is specified as an argument then
7272 the contents are scanned, uid/gid translation is performed, and
7373 usr/gen_init_cpio file directives are output. If a directory is
74−specified as an argument to scripts/gen_initramfs_list.sh then the
74+specified as an argument to usr/gen_initramfs_list.sh then the
7575 contents of the file are simply copied to the output. All of the output
7676 directives from directory scanning and file contents copying are
7777 processed by usr/gen_init_cpio.
7878
79−See also 'scripts/gen_initramfs_list.sh -h'.
79+See also 'usr/gen_initramfs_list.sh -h'.
8080
8181 Where's this all leading?
8282 =========================
Documentation/fb/fbcon.txt+15−14
@@ -18,9 +18,10 @@ made available by the underlying graphics card are also possible. · 17 unmodified lines
1818 A. Configuration
1919
2020 The framebuffer console can be enabled by using your favorite kernel
21−configuration tool. It is under Device Drivers->Graphics Support->Support for
22−framebuffer devices->Framebuffer Console Support. Select 'y' to compile
23−support statically, or 'm' for module support. The module will be fbcon.
21+configuration tool. It is under Device Drivers->Graphics Support->Frame
22+buffer Devices->Console display driver support->Framebuffer Console Support.
23+Select 'y' to compile support statically or 'm' for module support. The
24+module will be fbcon.
2425
2526 In order for fbcon to activate, at least one framebuffer driver is
2627 required, 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
2930 more speed and features, such as the ability to change the video mode
3031 dynamically.
3132
32− To display the penguin logo, choose any logo available in Logo
33−Configuration->Boot up logo.
33+ To display the penguin logo, choose any logo available in Graphics
34+support->Bootup logo.
3435
35− Also, you will need to select at least one compiled-in fonts, but if
36+ Also, you will need to select at least one compiled-in font, but if
3637 you don't do anything, the kernel configuration tool will select one for you,
3738 usually an 8x16 font.
3839
@@ -135,16 +136,16 @@ C. Boot options · 96 unmodified lines
135136
136137 The angle can be changed anytime afterwards by 'echoing' the same
137138 numbers to any one of the 2 attributes found in
138− /sys/class/graphics/fbcon
139+ /sys/class/graphics/fbcon:
139140
140141 rotate - rotate the display of the active console
141142 rotate_all - rotate the display of all consoles
142143
143− Console rotation will only become available if Console Rotation
144− Support is compiled in your kernel.
144+ Console rotation will only become available if Framebuffer Console
145+ Rotation support is compiled in your kernel.
145146
146147 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.
148149 Actually, the underlying fb driver is totally ignorant of console
149150 rotation.
150151
@@ -164,7 +165,7 @@ C. Boot options · 13 unmodified lines
164165
165166 C. Attaching, Detaching and Unloading
166167
167−Before going on how to attach, detach and unload the framebuffer console, an
168+Before going on to how to attach, detach and unload the framebuffer console, an
168169 illustration of the dependencies may help.
169170
170171 The 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
182183
183184 console ---> fbcon ---> fbdev drivers ---> hardware
184185
185−The fbdev drivers cannot be unloaded if it's bound to fbcon, and fbcon cannot
186+The fbdev drivers cannot be unloaded if bound to fbcon, and fbcon cannot
186187 be unloaded if it's bound to the console layer.
187188
188189 So 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
232233 echo 0 > /sys/class/vtconsole/vtcon1/bind
233234
234235 6. 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'.
236237
237238 7. To reattach fbcon:
238239
@@ -290,7 +291,7 @@ Samples: · 51 unmodified lines
290291 ========
291292
292293 Here are 2 sample bash scripts that you can use to bind or unbind the
293−framebuffer console driver if you are in an X86 box:
294+framebuffer console driver if you are on an X86 box:
294295
295296 ---------------------------------------------------------------------------
296297 #!/bin/bash
Documentation/features/sched/membarrier-sync-core/arch-support.txt+4−4
@@ -5,10 +5,10 @@ · 4 unmodified lines
55 #
66 # Architecture requirements
77 #
8−# * arm64
8+# * arm/arm64
99 #
10−# Rely on eret context synchronization when returning from IPI handler, and
11−# when returning to user-space.
10+# Rely on implicit context synchronization as a result of exception return
11+# when returning from IPI handler, and when returning to user-space.
1212 #
1313 # * x86
1414 #
@@ -31,7 +31,7 @@ · 16 unmodified lines
3131 -----------------------
3232 | alpha: | TODO |
3333 | arc: | TODO |
34− | arm: | TODO |
34+ | arm: | ok |
3535 | arm64: | ok |
3636 | c6x: | TODO |
3737 | h8300: | TODO |
Documentation/filesystems/Locking+5−6
@@ -21,8 +21,7 @@ prototypes: · 20 unmodified lines
2121 char *(*d_dname)((struct dentry *dentry, char *buffer, int buflen);
2222 struct vfsmount *(*d_automount)(struct path *path);
2323 int (*d_manage)(const struct path *, bool);
24− struct dentry *(*d_real)(struct dentry *, const struct inode *,
25− unsigned int, unsigned int);
24+ struct dentry *(*d_real)(struct dentry *, const struct inode *);
2625
2726 locking rules:
2827 rename_lock ->d_lock may block rcu-walk
@@ -64,7 +63,7 @@ prototypes: · 35 unmodified lines
6463 void (*update_time)(struct inode *, struct timespec *, int);
6564 int (*atomic_open)(struct inode *, struct dentry *,
6665 struct file *, unsigned open_flag,
67− umode_t create_mode, int *opened);
66+ umode_t create_mode);
6867 int (*tmpfile) (struct inode *, struct dentry *, umode_t);
6968
7069 locking rules:
@@ -532,9 +531,9 @@ More details about quota locking can be found in fs/dquot.c. · 461 unmodified lines
532531 prototypes:
533532 void (*open)(struct vm_area_struct*);
534533 void (*close)(struct vm_area_struct*);
535− int (*fault)(struct vm_area_struct*, struct vm_fault *);
536− int (*page_mkwrite)(struct vm_area_struct *, struct vm_fault *);
537− int (*pfn_mkwrite)(struct vm_area_struct *, struct vm_fault *);
534+ vm_fault_t (*fault)(struct vm_area_struct*, struct vm_fault *);
535+ vm_fault_t (*page_mkwrite)(struct vm_area_struct *, struct vm_fault *);
536+ vm_fault_t (*pfn_mkwrite)(struct vm_area_struct *, struct vm_fault *);
538537 int (*access)(struct vm_area_struct *, unsigned long, void*, int, int);
539538
540539 locking rules:
Documentation/filesystems/cifs/CHANGES+4−1068
@@ -1,1068 +1,4 @@
1−See https://wiki.samba.org/index.php/LinuxCIFSKernel for
2−more current information.
3−
4−Version 1.62
5−------------
6−Add sockopt=TCP_NODELAY mount option. EA (xattr) routines hardened
7−to more strictly handle corrupt frames.
8−
9−Version 1.61
10−------------
11−Fix append problem to Samba servers (files opened with O_APPEND could
12−have duplicated data). Fix oops in cifs_lookup. Workaround problem
13−mounting to OS/400 Netserve. Fix oops in cifs_get_tcp_session.
14−Disable use of server inode numbers when server only
15−partially supports them (e.g. for one server querying inode numbers on
16−FindFirst fails but QPathInfo queries works). Fix oops with dfs in
17−cifs_put_smb_ses. Fix mmap to work on directio mounts (needed
18−for OpenOffice when on forcedirectio mount e.g.)
19−
20−Version 1.60
21−-------------
22−Fix memory leak in reconnect. Fix oops in DFS mount error path.
23−Set s_maxbytes to smaller (the max that vfs can handle) so that
24−sendfile will now work over cifs mounts again. Add noforcegid
25−and noforceuid mount parameters. Fix small mem leak when using
26−ntlmv2. Fix 2nd mount to same server but with different port to
27−be allowed (rather than reusing the 1st port) - only when the
28−user explicitly overrides the port on the 2nd mount.
29−
30−Version 1.59
31−------------
32−Client uses server inode numbers (which are persistent) rather than
33−client generated ones by default (mount option "serverino" turned
34−on by default if server supports it). Add forceuid and forcegid
35−mount options (so that when negotiating unix extensions specifying
36−which uid mounted does not immediately force the server's reported
37−uids to be overridden). Add support for scope mount parm. Improve
38−hard link detection to use same inode for both. Do not set
39−read-only dos attribute on directories (for chmod) since Windows
40−explorer special cases this attribute bit for directories for
41−a different purpose.
42−
43−Version 1.58
44−------------
45−Guard against buffer overruns in various UCS-2 to UTF-8 string conversions
46−when the UTF-8 string is composed of unusually long (more than 4 byte) converted
47−characters. Add support for mounting root of a share which redirects immediately
48−to DFS target. Convert string conversion functions from Unicode to more
49−accurately mark string length before allocating memory (which may help the
50−rare cases where a UTF-8 string is much larger than the UCS2 string that
51−we converted from). Fix endianness of the vcnum field used during
52−session setup to distinguish multiple mounts to same server from different
53−userids. Raw NTLMSSP fixed (it requires /proc/fs/cifs/experimental
54−flag to be set to 2, and mount must enable krb5 to turn on extended security).
55−Performance of file create to Samba improved (posix create on lookup
56−removes 1 of 2 network requests sent on file create)
57−
58−Version 1.57
59−------------
60−Improve support for multiple security contexts to the same server. We
61−used to use the same "vcnumber" for all connections which could cause
62−the server to treat subsequent connections, especially those that
63−are authenticated as guest, as reconnections, invalidating the earlier
64−user's smb session. This fix allows cifs to mount multiple times to the
65−same server with different userids without risking invalidating earlier
66−established security contexts. fsync now sends SMB Flush operation
67−to better ensure that we wait for server to write all of the data to
68−server disk (not just write it over the network). Add new mount
69−parameter to allow user to disable sending the (slow) SMB flush on
70−fsync if desired (fsync still flushes all cached write data to the server).
71−Posix file open support added (turned off after one attempt if server
72−fails to support it properly, as with Samba server versions prior to 3.3.2)
73−Fix "redzone overwritten" bug in cifs_put_tcon (CIFSTcon may allocate too
74−little memory for the "nativeFileSystem" field returned by the server
75−during mount). Endian convert inode numbers if necessary (makes it easier
76−to compare inode numbers on network files from big endian systems).
77−
78−Version 1.56
79−------------
80−Add "forcemandatorylock" mount option to allow user to use mandatory
81−rather than posix (advisory) byte range locks, even though server would
82−support posix byte range locks. Fix query of root inode when prefixpath
83−specified and user does not have access to query information about the
84−top of the share. Fix problem in 2.6.28 resolving DFS paths to
85−Samba servers (worked to Windows). Fix rmdir so that pending search
86−(readdir) requests do not get invalid results which include the now
87−removed directory. Fix oops in cifs_dfs_ref.c when prefixpath is not reachable
88−when using DFS. Add better file create support to servers which support
89−the CIFS POSIX protocol extensions (this adds support for new flags
90−on create, and improves semantics for write of locked ranges).
91−
92−Version 1.55
93−------------
94−Various 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"
96−in a way that more servers accept, but only if we can first rename the
97−file to a temporary name). Add experimental support for more safely
98−handling fcntl(F_SETLEASE). Convert cifs to using blocking tcp
99−sends, and also let tcp autotune the socket send and receive buffers.
100−This reduces the number of EAGAIN errors returned by TCP/IP in
101−high stress workloads (and the number of retries on socket writes
102−when sending large SMBWriteX requests). Fix case in which a portion of
103−data can in some cases not get written to the file on the server before the
104−file is closed. Fix DFS parsing to properly handle path consumed field,
105−and to handle certain codepage conversions better. Fix mount and
106−umount race that can cause oops in mount or umount or reconnect.
107−
108−Version 1.54
109−------------
110−Fix premature write failure on congested networks (we would give up
111−on EAGAIN from the socket too quickly on large writes).
112−Cifs_mkdir and cifs_create now respect the setgid bit on parent dir.
113−Fix endian problems in acl (mode from/to cifs acl) on bigendian
114−architectures. Fix problems with preserving timestamps on copying open
115−files (e.g. "cp -a") to Windows servers. For mkdir and create honor setgid bit
116−on parent directory when server supports Unix Extensions but not POSIX
117−create. Update cifs.upcall version to handle new Kerberos sec flags
118−(this requires update of cifs.upcall program from Samba). Fix memory leak
119−on dns_upcall (resolving DFS referralls). Fix plain text password
120−authentication (requires setting SecurityFlags to 0x30030 to enable
121−lanman and plain text though). Fix writes to be at correct offset when
122−file is open with O_APPEND and file is on a directio (forcediretio) mount.
123−Fix bug in rewinding readdir directory searches. Add nodfs mount option.
124−
125−Version 1.53
126−------------
127−DFS support added (Microsoft Distributed File System client support needed
128−for referrals which enable a hierarchical name space among servers).
129−Disable temporary caching of mode bits to servers which do not support
130−storing of mode (e.g. Windows servers, when client mounts without cifsacl
131−mount option) and add new "dynperm" mount option to enable temporary caching
132−of mode (enable old behavior). Fix hang on mount caused when server crashes
133−tcp session during negotiate protocol.
134−
135−Version 1.52
136−------------
137−Fix oops on second mount to server when null auth is used.
138−Enable experimental Kerberos support. Return writebehind errors on flush
139−and sync so that events like out of disk space get reported properly on
140−cached files. Fix setxattr failure to certain Samba versions. Fix mount
141−of second share to disconnected server session (autoreconnect on this).
142−Add ability to modify cifs acls for handling chmod (when mounted with
143−cifsacl flag). Fix prefixpath path separator so we can handle mounts
144−with prefixpaths longer than one directory (one path component) when
145−mounted to Windows servers. Fix slow file open when cifsacl
146−enabled. Fix memory leak in FindNext when the SMB call returns -EBADF.
147−
148−
149−Version 1.51
150−------------
151−Fix memory leak in statfs when mounted to very old servers (e.g.
152−Windows 9x). Add new feature "POSIX open" which allows servers
153−which support the current POSIX Extensions to provide better semantics
154−(e.g. delete for open files opened with posix open). Take into
155−account umask on posix mkdir not just older style mkdir. Add
156−ability to mount to IPC$ share (which allows CIFS named pipes to be
157−opened, read and written as if they were files). When 1st tree
158−connect fails (e.g. due to signing negotiation failure) fix
159−leak that causes cifsd not to stop and rmmod to fail to cleanup
160−cifs_request_buffers pool. Fix problem with POSIX Open/Mkdir on
161−bigendian architectures. Fix possible memory corruption when
162−EAGAIN returned on kern_recvmsg. Return better error if server
163−requires packet signing but client has disabled it. When mounted
164−with cifsacl mount option - mode bits are approximated based
165−on the contents of the ACL of the file or directory. When cifs
166−mount helper is missing convert make sure that UNC name
167−has backslash (not forward slash) between ip address of server
168−and the share name.
169−
170−Version 1.50
171−------------
172−Fix NTLMv2 signing. NFS server mounted over cifs works (if cifs mount is
173−done with "serverino" mount option). Add support for POSIX Unlink
174−(helps with certain sharing violation cases when server such as
175−Samba supports newer POSIX CIFS Protocol Extensions). Add "nounix"
176−mount option to allow disabling the CIFS Unix Extensions for just
177−that mount. Fix hang on spinlock in find_writable_file (race when
178−reopening file after session crash). Byte range unlock request to
179−windows server could unlock more bytes (on server copy of file)
180−than intended if start of unlock request is well before start of
181−a previous byte range lock that we issued.
182−
183−Version 1.49
184−------------
185−IPv6 support. Enable ipv6 addresses to be passed on mount (put the ipv6
186−address after the "ip=" mount option, at least until mount.cifs is fixed to
187−handle DNS host to ipv6 name translation). Accept override of uid or gid
188−on mount even when Unix Extensions are negotiated (it used to be ignored
189−when Unix Extensions were ignored). This allows users to override the
190−default uid and gid for files when they are certain that the uids or
191−gids on the server do not match those of the client. Make "sec=none"
192−mount override username (so that null user connection is attempted)
193−to match what documentation said. Support for very large reads, over 127K,
194−available to some newer servers (such as Samba 3.0.26 and later but
195−note that it also requires setting CIFSMaxBufSize at module install
196−time to a larger value which may hurt performance in some cases).
197−Make sign option force signing (or fail if server does not support it).
198−
199−Version 1.48
200−------------
201−Fix mtime bouncing around from local idea of last write times to remote time.
202−Fix hang (in i_size_read) when simultaneous size update of same remote file
203−on 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.
205−When DOS attribute of file on non-Unix server's file changes on the server side
206−from 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).
208−Allow setting of attribute back to ATTR_NORMAL (removing readonly dos attribute
209−when archive dos attribute not set and we are changing mode back to writeable
210−on server which does not support the Unix Extensions). Remove read only dos
211−attribute on chmod when adding any write permission (ie on any of
212−user/group/other (not all of user/group/other ie 0222) when
213−mounted to windows. Add support for POSIX MkDir (slight performance
214−enhancement and eliminates the network race between the mkdir and set
215−path info of the mode).
216−
217−
218−Version 1.47
219−------------
220−Fix oops in list_del during mount caused by unaligned string.
221−Fix file corruption which could occur on some large file
222−copies caused by writepages page i/o completion bug.
223−Seek to SEEK_END forces check for update of file size for non-cached
224−files. Allow file size to be updated on remote extend of locally open,
225−non-cached file. Fix reconnect to newer Samba servers (or other servers
226−which support the CIFS Unix/POSIX extensions) so that we again tell the
227−server the Unix/POSIX cifs capabilities which we support (SetFSInfo).
228−Add experimental support for new POSIX Open/Mkdir (which returns
229−stat information on the open, and allows setting the mode).
230−
231−Version 1.46
232−------------
233−Support deep tree mounts. Better support OS/2, Win9x (DOS) time stamps.
234−Allow null user to be specified on mount ("username="). Do not return
235−EINVAL on readdir when filldir fails due to overwritten blocksize
236−(fixes FC problem). Return error in rename 2nd attempt retry (ie report
237−if rename by handle also fails, after rename by path fails, we were
238−not reporting whether the retry worked or not). Fix NTLMv2 to
239−work to Windows servers (mount with option "sec=ntlmv2").
240−
241−Version 1.45
242−------------
243−Do not time out lockw calls when using posix extensions. Do not
244−time out requests if server still responding reasonably fast
245−on requests on other threads. Improve POSIX locking emulation,
246−(lock cancel now works, and unlock of merged range works even
247−to 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
250−problem (instantiate inodes/dentries in right order for readdir).
251−
252−Version 1.44
253−------------
254−Rewritten sessionsetup support, including support for legacy SMB
255−session setup needed for OS/2 and older servers such as Windows 95 and 98.
256−Fix oops on ls to OS/2 servers. Add support for level 1 FindFirst
257−so we can do search (ls etc.) to OS/2. Do not send NTCreateX
258−or recent levels of FindFirst unless server says it supports NT SMBs
259−(instead use legacy equivalents from LANMAN dialect). Fix to allow
260−NTLMv2 authentication support (now can use stronger password hashing
261−on mount if corresponding /proc/fs/cifs/SecurityFlags is set (0x4004).
262−Allow override of global cifs security flags on mount via "sec=" option(s).
263−
264−Version 1.43
265−------------
266−POSIX locking to servers which support CIFS POSIX Extensions
267−(disabled by default controlled by proc/fs/cifs/Experimental).
268−Handle conversion of long share names (especially Asian languages)
269−to Unicode during mount. Fix memory leak in sess struct on reconnect.
270−Fix rare oops after acpi suspend. Fix O_TRUNC opens to overwrite on
271−cifs open which helps rare case when setpathinfo fails or server does
272−not support it.
273−
274−Version 1.42
275−------------
276−Fix slow oplock break when mounted to different servers at the same time and
277−the tids match and we try to find matching fid on wrong server. Fix read
278−looping when signing required by server (2.6.16 kernel only). Fix readdir
279−vs. rename race which could cause each to hang. Return . and .. even
280−if server does not. Allow searches to skip first three entries and
281−begin at any location. Fix oops in find_writeable_file.
282−
283−Version 1.41
284−------------
285−Fix NTLMv2 security (can be enabled in /proc/fs/cifs) so customers can
286−configure stronger authentication. Fix sfu symlinks so they can
287−be followed (not just recognized). Fix wraparound of bcc on
288−read responses when buffer size over 64K and also fix wrap of
289−max smb buffer size when CIFSMaxBufSize over 64K. Fix oops in
290−cifs_user_read and cifs_readpages (when EAGAIN on send of smb
291−on socket is returned over and over). Add POSIX (advisory) byte range
292−locking support (requires server with newest CIFS UNIX Extensions
293−to the protocol implemented). Slow down negprot slightly in port 139
294−RFC1001 case to give session_init time on buggy servers.
295−
296−Version 1.40
297−------------
298−Use fsuid (fsgid) more consistently instead of uid (gid). Improve performance
299−of readpages by eliminating one extra memcpy. Allow update of file size
300−from remote server even if file is open for write as long as mount is
301−directio. Recognize share mode security and send NTLM encrypted password
302−on tree connect if share mode negotiated.
303−
304−Version 1.39
305−------------
306−Defer 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
308−stress on writes). Modify cifs Kconfig options to expose CONFIG_CIFS_STATS2
309−Fix SFU style symlinks and mknod needed for servers which do not support the
310−CIFS Unix Extensions. Fix setfacl/getfacl on bigendian. Timeout negative
311−dentries so files that the client sees as deleted but that later get created
312−on the server will be recognized. Add client side permission check on setattr.
313−Timeout stuck requests better (where server has never responded or sent corrupt
314−responses)
315−
316−Version 1.38
317−------------
318−Fix tcp socket retransmission timeouts (e.g. on ENOSPACE from the socket)
319−to be smaller at first (but increasing) so large write performance performance
320−over GigE is better. Do not hang thread on illegal byte range lock response
321−from Windows (Windows can send an RFC1001 size which does not match smb size) by
322−allowing an SMBs TCP length to be up to a few bytes longer than it should be.
323−wsize and rsize can now be larger than negotiated buffer size if server
324−supports large readx/writex, even when directio mount flag not specified.
325−Write size will in many cases now be 16K instead of 4K which greatly helps
326−file copy performance on lightly loaded networks. Fix oops in dnotify
327−when experimental config flag enabled. Make cifsFYI more granular.
328−
329−Version 1.37
330−------------
331−Fix readdir caching when unlink removes file in current search buffer,
332−and this is followed by a rewind search to just before the deleted entry.
333−Do 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
335−to be more accurate. Fix big endian problem with mapchars mount option,
336−and with a field returned by statfs.
337−
338−Version 1.36
339−------------
340−Add support for mounting to older pre-CIFS servers such as Windows9x and ME.
341−For these older servers, add option for passing netbios name of server in
342−on mount (servernetbiosname). Add suspend support for power management, to
343−avoid cifsd thread preventing software suspend from working.
344−Add mount option for disabling the default behavior of sending byte range lock
345−requests to the server (necessary for certain applications which break with
346−mandatory lock behavior such as Evolution), and also mount option for
347−requesting case insensitive matching for path based requests (requesting
348−case sensitive is the default).
349−
350−Version 1.35
351−------------
352−Add writepage performance improvements. Fix path name conversions
353−for long filenames on mounts which were done with "mapchars" mount option
354−specified. Ensure multiplex ids do not collide. Fix case in which
355−rmmod can oops if done soon after last unmount. Fix truncated
356−search (readdir) output when resume filename was a long filename.
357−Fix filename conversion when mapchars mount option was specified and
358−filename was a long filename.
359−
360−Version 1.34
361−------------
362−Fix error mapping of the TOO_MANY_LINKS (hardlinks) case.
363−Do not oops if root user kills cifs oplock kernel thread or
364−kills the cifsd thread (NB: killing the cifs kernel threads is not
365−recommended, unmount and rmmod cifs will kill them when they are
366−no longer needed). Fix readdir to ASCII servers (ie older servers
367−which do not support Unicode) and also require asterisk.
368−Fix out of memory case in which data could be written one page
369−off in the page cache.
370−
371−Version 1.33
372−------------
373−Fix caching problem, in which readdir of directory containing a file
374−which was cached could cause the file's time stamp to be updated
375−without invalidating the readahead data (so we could get stale
376−file data on the client for that file even as the server copy changed).
377−Cleanup response processing so cifsd can not loop when abnormally
378−terminated.
379−
380−
381−Version 1.32
382−------------
383−Fix oops in ls when Transact2 FindFirst (or FindNext) returns more than one
384−transact response for an SMB request and search entry split across two frames.
385−Add support for lsattr (getting ext2/ext3/reiserfs attr flags from the server)
386−as new protocol extensions. Do not send Get/Set calls for POSIX ACLs
387−unless server explicitly claims to support them in CIFS Unix extensions
388−POSIX ACL capability bit. Fix packet signing when multiuser mounting with
389−different users from the same client to the same server. Fix oops in
390−cifs_close. Add mount option for remapping reserved characters in
391−filenames (also allow recognizing files with created by SFU which have any
392−of these seven reserved characters, except backslash, to be recognized).
393−Fix invalid transact2 message (we were sometimes trying to interpret
394−oplock breaks as SMB responses). Add ioctl for checking that the
395−current uid matches the uid of the mounter (needed by umount.cifs).
396−Reduce the number of large buffer allocations in cifs response processing
397−(significantly reduces memory pressure under heavy stress with multiple
398−processes accessing the same server at the same time).
399−
400−Version 1.31
401−------------
402−Fix updates of DOS attributes and time fields so that files on NT4 servers
403−do not get marked delete on close. Display sizes of cifs buffer pools in
404−cifs stats. Fix oops in unmount when cifsd thread being killed by
405−shutdown. Add generic readv/writev and aio support. Report inode numbers
406−consistently in readdir and lookup (when serverino mount option is
407−specified use the inode number that the server reports - for both lookup
408−and readdir, otherwise by default the locally generated inode number is used
409−for inodes created in either path since servers are not always able to
410−provide unique inode numbers when exporting multiple volumes from under one
411−sharename).
412−
413−Version 1.30
414−------------
415−Allow new nouser_xattr mount parm to disable xattr support for user namespace.
416−Do 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.
418−Add new POSIX Query FS Info for returning statfs info more accurately.
419−Handle passwords with multiple commas in them.
420−
421−Version 1.29
422−------------
423−Fix default mode in sysfs of cifs module parms. Remove old readdir routine.
424−Fix capabilities flags for large readx so as to allow reads larger than 64K.
425−
426−Version 1.28
427−------------
428−Add module init parm for large SMB buffer size (to allow it to be changed
429−from its default of 16K) which is especially useful for large file copy
430−when mounting with the directio mount option. Fix oops after
431−returning from mount when experimental ExtendedSecurity enabled and
432−SpnegoNegotiated returning invalid error. Fix case to retry better when
433−peek returns from 1 to 3 bytes on socket which should have more data.
434−Fixed path based calls (such as cifs lookup) to handle path names
435−longer than 530 (now can handle PATH_MAX). Fix pass through authentication
436−from Samba server to DC (Samba required dummy LM password).
437−
438−Version 1.27
439−------------
440−Turn off DNOTIFY (directory change notification support) by default
441−(unless built with the experimental flag) to fix hang with KDE
442−file browser. Fix DNOTIFY flag mappings. Fix hang (in wait_event
443−waiting on an SMB response) in SendReceive when session dies but
444−reconnects quickly from another task. Add module init parms for
445−minimum number of large and small network buffers in the buffer pools,
446−and for the maximum number of simultaneous requests.
447−
448−Version 1.26
449−------------
450−Add setfacl support to allow setting of ACLs remotely to Samba 3.10 and later
451−and other POSIX CIFS compliant servers. Fix error mapping for getfacl
452−to EOPNOTSUPP when server does not support posix acls on the wire. Fix
453−improperly zeroed buffer in CIFS Unix extensions set times call.
454−
455−Version 1.25
456−------------
457−Fix internationalization problem in cifs readdir with filenames that map to
458−longer UTF-8 strings than the string on the wire was in Unicode. Add workaround
459−for readdir to netapp servers. Fix search rewind (seek into readdir to return
460−non-consecutive entries). Do not do readdir when server negotiates
461−buffer size to small to fit filename. Add support for reading POSIX ACLs from
462−the server (add also acl and noacl mount options).
463−
464−Version 1.24
465−------------
466−Optionally allow using server side inode numbers, rather than client generated
467−ones by specifying mount option "serverino" - this is required for some apps
468−to work which double check hardlinked files and have persistent inode numbers.
469−
470−Version 1.23
471−------------
472−Multiple bigendian fixes. On little endian systems (for reconnect after
473−network failure) fix tcp session reconnect code so we do not try first
474−to reconnect on reverse of port 445. Treat reparse points (NTFS junctions)
475−as directories rather than symlinks because we can do follow link on them.
476−
477−Version 1.22
478−------------
479−Add config option to enable XATTR (extended attribute) support, mapping
480−xattr names in the "user." namespace space to SMB/CIFS EAs. Lots of
481−minor fixes pointed out by the Stanford SWAT checker (mostly missing
482−or out of order NULL pointer checks in little used error paths).
483−
484−Version 1.21
485−------------
486−Add new mount parm to control whether mode check (generic_permission) is done
487−on the client. If Unix extensions are enabled and the uids on the client
488−and server do not match, client permission checks are meaningless on
489−server uids that do not exist on the client (this does not affect the
490−normal ACL check which occurs on the server). Fix default uid
491−on mknod to match create and mkdir. Add optional mount parm to allow
492−override of the default uid behavior (in which the server sets the uid
493−and gid of newly created files). Normally for network filesystem mounts
494−user want the server to set the uid/gid on newly created files (rather than
495−using uid of the client processes you would in a local filesystem).
496−
497−Version 1.20
498−------------
499−Make transaction counts more consistent. Merge /proc/fs/cifs/SimultaneousOps
500−info 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
503−credentials passed as mount argument. Set major/minor device number in
504−inode for block and char devices when unix extensions enabled.
505−
506−Version 1.19
507−------------
508−Fix /proc/fs/cifs/Stats and DebugData display to handle larger
509−amounts of return data. Properly limit requests to MAX_REQ (50
510−is the usual maximum active multiplex SMB/CIFS requests per server).
511−Do not kill cifsd (and thus hurt the other SMB session) when more than one
512−session to the same server (but with different userids) exists and one
513−of the two user's smb sessions is being removed while leaving the other.
514−Do not loop reconnecting in cifsd demultiplex thread when admin
515−kills the thread without going through unmount.
516−
517−Version 1.18
518−------------
519−Do not rename hardlinked files (since that should be a noop). Flush
520−cached write behind data when reopening a file after session abend,
521−except when already in write. Grab per socket sem during reconnect
522−to avoid oops in sendmsg if overlapping with reconnect. Do not
523−reset cached inode file size on readdir for files open for write on
524−client.
525−
526−
527−Version 1.17
528−------------
529−Update number of blocks in file so du command is happier (in Linux a fake
530−blocksize of 512 is required for calculating number of blocks in inode).
531−Fix prepare write of partial pages to read in data from server if possible.
532−Fix race on tcpStatus field between unmount and reconnection code, causing
533−cifsd process sometimes to hang around forever. Improve out of memory
534−checks in cifs_filldir
535−
536−Version 1.16
537−------------
538−Fix incorrect file size in file handle based setattr on big endian hardware.
539−Fix oops in build_path_from_dentry when out of memory. Add checks for invalid
540−and closing file structs in writepage/partialpagewrite. Add statistics
541−for each mounted share (new menuconfig option). Fix endianness problem in
542−volume information displayed in /proc/fs/cifs/DebugData (only affects
543−affects big endian architectures). Prevent renames while constructing
544−path names for open, mkdir and rmdir.
545−
546−Version 1.15
547−------------
548−Change to mempools for alloc smb request buffers and multiplex structs
549−to better handle low memory problems (and potential deadlocks).
550−
551−Version 1.14
552−------------
553−Fix incomplete listings of large directories on Samba servers when Unix
554−extensions enabled. Fix oops when smb_buffer can not be allocated. Fix
555−rename deadlock when writing out dirty pages at same time.
556−
557−Version 1.13
558−------------
559−Fix open of files in which O_CREATE can cause the mode to change in
560−some cases. Fix case in which retry of write overlaps file close.
561−Fix PPC64 build error. Reduce excessive stack usage in smb password
562−hashing. Fix overwrite of Linux user's view of file mode to Windows servers.
563−
564−Version 1.12
565−------------
566−Fixes for large file copy, signal handling, socket retry, buffer
567−allocation and low memory situations.
568−
569−Version 1.11
570−------------
571−Better port 139 support to Windows servers (RFC1001/RFC1002 Session_Initialize)
572−also now allowing support for specifying client netbiosname. NT4 support added.
573−
574−Version 1.10
575−------------
576−Fix reconnection (and certain failed mounts) to properly wake up the
577−blocked users thread so it does not seem hung (in some cases was blocked
578−until the cifs receive timeout expired). Fix spurious error logging
579−to kernel log when application with open network files killed.
580−
581−Version 1.09
582−------------
583−Fix /proc/fs module unload warning message (that could be logged
584−to the kernel log). Fix intermittent failure in connectathon
585−test7 (hardlink count not immediately refreshed in case in which
586−inode metadata can be incorrectly kept cached when time near zero)
587−
588−Version 1.08
589−------------
590−Allow file_mode and dir_mode (specified at mount time) to be enforced
591−locally (the server already enforced its own ACLs too) for servers
592−that do not report the correct mode (do not support the
593−CIFS Unix Extensions).
594−
595−Version 1.07
596−------------
597−Fix some small memory leaks in some unmount error paths. Fix major leak
598−of cache pages in readpages causing multiple read oriented stress
599−testcases (including fsx, and even large file copy) to fail over time.
600−
601−Version 1.06
602−------------
603−Send NTCreateX with ATTR_POSIX if Linux/Unix extensions negotiated with server.
604−This allows files that differ only in case and improves performance of file
605−creation and file open to such servers. Fix semaphore conflict which causes
606−slow delete of open file to Samba (which unfortunately can cause an oplock
607−break to self while vfs_unlink held i_sem) which can hang for 20 seconds.
608−
609−Version 1.05
610−------------
611−fixes to cifs_readpages for fsx test case
612−
613−Version 1.04
614−------------
615−Fix caching data integrity bug when extending file size especially when no
616−oplock on file. Fix spurious logging of valid already parsed mount options
617−that are parsed outside of the cifs vfs such as nosuid.
618−
619−
620−Version 1.03
621−------------
622−Connect to server when port number override not specified, and tcp port
623−unitialized. Reset search to restart at correct file when kernel routine
624−filldir returns error during large directory searches (readdir).
625−
626−Version 1.02
627−------------
628−Fix caching problem when files opened by multiple clients in which
629−page cache could contain stale data, and write through did
630−not occur often enough while file was still open when read ahead
631−(read oplock) not allowed. Treat "sep=" when first mount option
632−as an override of comma as the default separator between mount
633−options.
634−
635−Version 1.01
636−------------
637−Allow passwords longer than 16 bytes. Allow null password string.
638−
639−Version 1.00
640−------------
641−Gracefully clean up failed mounts when attempting to mount to servers such as
642−Windows 98 that terminate tcp sessions during protocol negotiation. Handle
643−embedded commas in mount parsing of passwords.
644−
645−Version 0.99
646−------------
647−Invalidate local inode cached pages on oplock break and when last file
648−instance is closed so that the client does not continue using stale local
649−copy rather than later modified server copy of file. Do not reconnect
650−when server drops the tcp session prematurely before negotiate
651−protocol response. Fix oops in reopen_file when dentry freed. Allow
652−the support for CIFS Unix Extensions to be disabled via proc interface.
653−
654−Version 0.98
655−------------
656−Fix hang in commit_write during reconnection of open files under heavy load.
657−Fix unload_nls oops in a mount failure path. Serialize writes to same socket
658−which also fixes any possible races when cifs signatures are enabled in SMBs
659−being sent out of signature sequence number order.
660−
661−Version 0.97
662−------------
663−Fix byte range locking bug (endian problem) causing bad offset and
664−length.
665−
666−Version 0.96
667−------------
668−Fix oops (in send_sig) caused by CIFS unmount code trying to
669−wake up the demultiplex thread after it had exited. Do not log
670−error on harmless oplock release of closed handle.
671−
672−Version 0.95
673−------------
674−Fix unsafe global variable usage and password hash failure on gcc 3.3.1
675−Fix problem reconnecting secondary mounts to same server after session
676−failure. Fix invalid dentry - race in mkdir when directory gets created
677−by another client between the lookup and mkdir.
678−
679−Version 0.94
680−------------
681−Fix to list processing in reopen_files. Fix reconnection when server hung
682−but tcpip session still alive. Set proper timeout on socket read.
683−
684−Version 0.93
685−------------
686−Add missing mount options including iocharset. SMP fixes in write and open.
687−Fix errors in reconnecting after TCP session failure. Fix module unloading
688−of default nls codepage
689−
690−Version 0.92
691−------------
692−Active smb transactions should never go negative (fix double FreeXid). Fix
693−list processing in file routines. Check return code on kmalloc in open.
694−Fix spinlock usage for SMP.
695−
696−Version 0.91
697−------------
698−Fix oops in reopen_files when invalid dentry. drop dentry on server rename
699−and on revalidate errors. Fix cases where pid is now tgid. Fix return code
700−on create hard link when server does not support them.
701−
702−Version 0.90
703−------------
704−Fix scheduling while atomic error in getting inode info on newly created file.
705−Fix truncate of existing files opened with O_CREAT but not O_TRUNC set.
706−
707−Version 0.89
708−------------
709−Fix oops on write to dead tcp session. Remove error log write for case when file open
710−O_CREAT but not O_EXCL
711−
712−Version 0.88
713−------------
714−Fix non-POSIX behavior on rename of open file and delete of open file by taking
715−advantage of trans2 SetFileInfo rename facility if available on target server.
716−Retry on ENOSPC and EAGAIN socket errors.
717−
718−Version 0.87
719−------------
720−Fix oops on big endian readdir. Set blksize to be even power of two (2**blkbits) to fix
721−allocation size miscalculation. After oplock token lost do not read through
722−cache.
723−
724−Version 0.86
725−------------
726−Fix oops on empty file readahead. Fix for file size handling for locally cached files.
727−
728−Version 0.85
729−------------
730−Fix oops in mkdir when server fails to return inode info. Fix oops in reopen_files
731−during auto reconnection to server after server recovered from failure.
732−
733−Version 0.84
734−------------
735−Finish support for Linux 2.5 open/create changes, which removes the
736−redundant NTCreate/QPathInfo/close that was sent during file create.
737−Enable oplock by default. Enable packet signing by default (needed to
738−access many recent Windows servers)
739−
740−Version 0.83
741−------------
742−Fix oops when mounting to long server names caused by inverted parms to kmalloc.
743−Fix MultiuserMount (/proc/fs/cifs configuration setting) so that when enabled
744−we will choose a cifs user session (smb uid) that better matches the local
745−uid if a) the mount uid does not match the current uid and b) we have another
746−session to the same server (ip address) for a different mount which
747−matches the current local uid.
748−
749−Version 0.82
750−------------
751−Add support for mknod of block or character devices. Fix oplock
752−code (distributed caching) to properly send response to oplock
753−break from server.
754−
755−Version 0.81
756−------------
757−Finish up CIFS packet digital signing for the default
758−NTLM security case. This should help Windows 2003
759−network interoperability since it is common for
760−packet signing to be required now. Fix statfs (stat -f)
761−which recently started returning errors due to
762−invalid value (-1 instead of 0) being set in the
763−struct kstatfs f_ffiles field.
764−
765−Version 0.80
766−-----------
767−Fix oops on stopping oplock thread when removing cifs when
768−built as module.
769−
770−Version 0.79
771−------------
772−Fix mount options for ro (readonly), uid, gid and file and directory mode.
773−
774−Version 0.78
775−------------
776−Fix errors displayed on failed mounts to be more understandable.
777−Fixed various incorrect or misleading smb to posix error code mappings.
778−
779−Version 0.77
780−------------
781−Fix display of NTFS DFS junctions to display as symlinks.
782−They are the network equivalent. Fix oops in
783−cifs_partialpagewrite caused by missing spinlock protection
784−of openfile linked list. Allow writebehind caching errors to
785−be returned to the application at file close.
786−
787−Version 0.76
788−------------
789−Clean up options displayed in /proc/mounts by show_options to
790−be more consistent with other filesystems.
791−
792−Version 0.75
793−------------
794−Fix delete of readonly file to Windows servers. Reflect
795−presence or absence of read only dos attribute in mode
796−bits for servers that do not support CIFS Unix extensions.
797−Fix shortened results on readdir of large directories to
798−servers supporting CIFS Unix extensions (caused by
799−incorrect resume key).
800−
801−Version 0.74
802−------------
803−Fix truncate bug (set file size) that could cause hangs e.g. running fsx
804−
805−Version 0.73
806−------------
807−unload nls if mount fails.
808−
809−Version 0.72
810−------------
811−Add resume key support to search (readdir) code to workaround
812−Windows bug. Add /proc/fs/cifs/LookupCacheEnable which
813−allows disabling caching of attribute information for
814−lookups.
815−
816−Version 0.71
817−------------
818−Add more oplock handling (distributed caching code). Remove
819−dead code. Remove excessive stack space utilization from
820−symlink routines.
821−
822−Version 0.70
823−------------
824−Fix oops in get dfs referral (triggered when null path sent in to
825−mount). Add support for overriding rsize at mount time.
826−
827−Version 0.69
828−------------
829−Fix buffer overrun in readdir which caused intermittent kernel oopses.
830−Fix writepage code to release kmap on write data. Allow "-ip=" new
831−mount option to be passed in on parameter distinct from the first part
832−(server name portion of) the UNC name. Allow override of the
833−tcp port of the target server via new mount option "-port="
834−
835−Version 0.68
836−------------
837−Fix search handle leak on rewind. Fix setuid and gid so that they are
838−reflected in the local inode immediately. Cleanup of whitespace
839−to make 2.4 and 2.5 versions more consistent.
840−
841−
842−Version 0.67
843−------------
844−Fix signal sending so that captive thread (cifsd) exits on umount
845−(which was causing the warning in kmem_cache_free of the request buffers
846−at rmmod time). This had broken as a sideeffect of the recent global
847−kernel change to daemonize. Fix memory leak in readdir code which
848−showed up in "ls -R" (and applications that did search rewinding).
849−
850−Version 0.66
851−------------
852−Reconnect tids and fids after session reconnection (still do not
853−reconnect byte range locks though). Fix problem caching
854−lookup information for directory inodes, improving performance,
855−especially in deep directory trees. Fix various build warnings.
856−
857−Version 0.65
858−------------
859−Finish fixes to commit write for caching/readahead consistency. fsx
860−now works to Samba servers. Fix oops caused when readahead
861−was interrupted by a signal.
862−
863−Version 0.64
864−------------
865−Fix data corruption (in partial page after truncate) that caused fsx to
866−fail to Windows servers. Cleaned up some extraneous error logging in
867−common error paths. Add generic sendfile support.
868−
869−Version 0.63
870−------------
871−Fix memory leak in AllocMidQEntry.
872−Finish reconnection logic, so connection with server can be dropped
873−(or server rebooted) and the cifs client will reconnect.
874−
875−Version 0.62
876−------------
877−Fix temporary socket leak when bad userid or password specified
878−(or other SMBSessSetup failure). Increase maximum buffer size to slightly
879−over 16K to allow negotiation of up to Samba and Windows server default read
880−sizes. Add support for readpages
881−
882−Version 0.61
883−------------
884−Fix oops when username not passed in on mount. Extensive fixes and improvements
885−to error logging (strip redundant newlines, change debug macros to ensure newline
886−passed in and to be more consistent). Fix writepage wrong file handle problem,
887−a readonly file handle could be incorrectly used to attempt to write out
888−file updates through the page cache to multiply open files. This could cause
889−the iozone benchmark to fail on the fwrite test. Fix bug mounting two different
890−shares to the same Windows server when using different usernames
891−(doing this to Samba servers worked but Windows was rejecting it) - now it is
892−possible to use different userids when connecting to the same server from a
893−Linux client. Fix oops when treeDisconnect called during unmount on
894−previously freed socket.
895−
896−Version 0.60
897−------------
898−Fix oops in readpages caused by not setting address space operations in inode in
899−rare code path.
900−
901−Version 0.59
902−------------
903−Includes support for deleting of open files and renaming over existing files (per POSIX
904−requirement). Add readlink support for Windows junction points (directory symlinks).
905−
906−Version 0.58
907−------------
908−Changed read and write to go through pagecache. Added additional address space operations.
909−Memory mapped operations now working.
910−
911−Version 0.57
912−------------
913−Added writepage code for additional memory mapping support. Fixed leak in xids causing
914−the simultaneous operations counter (/proc/fs/cifs/SimultaneousOps) to increase on
915−every stat call. Additional formatting cleanup.
916−
917−Version 0.56
918−------------
919−Fix bigendian bug in order of time conversion. Merge 2.5 to 2.4 version. Formatting cleanup.
920−
921−Version 0.55
922−------------
923−Fixes from Zwane Mwaikambo for adding missing return code checking in a few places.
924−Also included a modified version of his fix to protect global list manipulation of
925−the smb session and tree connection and mid related global variables.
926−
927−Version 0.54
928−------------
929−Fix problem with captive thread hanging around at unmount time. Adjust to 2.5.42-pre
930−changes to superblock layout. Remove wasteful allocation of smb buffers (now the send
931−buffer is reused for responses). Add more oplock handling. Additional minor cleanup.
932−
933−Version 0.53
934−------------
935−More stylistic updates to better match kernel style. Add additional statistics
936−for filesystem which can be viewed via /proc/fs/cifs. Add more pieces of NTLMv2
937−and CIFS Packet Signing enablement.
938−
939−Version 0.52
940−------------
941−Replace call to sleep_on with safer wait_on_event.
942−Make stylistic changes to better match kernel style recommendations.
943−Remove most typedef usage (except for the PDUs themselves).
944−
945−Version 0.51
946−------------
947−Update mount so the -unc mount option is no longer required (the ip address can be specified
948−in a UNC style device name. Implementation of readpage/writepage started.
949−
950−Version 0.50
951−------------
952−Fix intermittent problem with incorrect smb header checking on badly
953−fragmented tcp responses
954−
955−Version 0.49
956−------------
957−Fixes to setting of allocation size and file size.
958−
959−Version 0.48
960−------------
961−Various 2.5.38 fixes. Now works on 2.5.38
962−
963−Version 0.47
964−------------
965−Prepare for 2.5 kernel merge. Remove ifdefs.
966−
967−Version 0.46
968−------------
969−Socket buffer management fixes. Fix dual free.
970−
971−Version 0.45
972−------------
973−Various big endian fixes for hardlinks and symlinks and also for dfs.
974−
975−Version 0.44
976−------------
977−Various big endian fixes for servers with Unix extensions such as Samba
978−
979−Version 0.43
980−------------
981−Various FindNext fixes for incorrect filenames on large directory searches on big endian
982−clients. basic posix file i/o tests now work on big endian machines, not just le
983−
984−Version 0.42
985−------------
986−SessionSetup and NegotiateProtocol now work from Big Endian machines.
987−Various Big Endian fixes found during testing on the Linux on 390. Various fixes for compatibility with older
988−versions of 2.4 kernel (now builds and works again on kernels at least as early as 2.4.7).
989−
990−Version 0.41
991−------------
992−Various minor fixes for Connectathon Posix "basic" file i/o test suite. Directory caching fixed so hardlinked
993−files now return the correct number of links on fstat as they are repeatedly linked and unlinked.
994−
995−Version 0.40
996−------------
997−Implemented "Raw" (i.e. not encapsulated in SPNEGO) NTLMSSP (i.e. the Security Provider Interface used to negotiate
998−session advanced session authentication). Raw NTLMSSP is preferred by Windows 2000 Professional and Windows XP.
999−Began 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−
1002−Version 0.38
1003−------------
1004−Introduced optional mount helper utility mount.cifs and made coreq changes to cifs vfs to enable
1005−it. Fixed a few bugs in the DFS code (e.g. bcc two bytes too short and incorrect uid in PDU).
1006−
1007−Version 0.37
1008−------------
1009−Rewrote much of connection and mount/unmount logic to handle bugs with
1010−multiple uses to same share, multiple users to same server etc.
1011−
1012−Version 0.36
1013−------------
1014−Fixed major problem with dentry corruption (missing call to dput)
1015−
1016−Version 0.35
1017−------------
1018−Rewrite of readdir code to fix bug. Various fixes for bigendian machines.
1019−Begin adding oplock support. Multiusermount and oplockEnabled flags added to /proc/fs/cifs
1020−although corresponding function not fully implemented in the vfs yet
1021−
1022−Version 0.34
1023−------------
1024−Fixed dentry caching bug, misc. cleanup
1025−
1026−Version 0.33
1027−------------
1028−Fixed 2.5 support to handle build and configure changes as well as misc. 2.5 changes. Now can build
1029−on current 2.5 beta version (2.5.24) of the Linux kernel as well as on 2.4 Linux kernels.
1030−Support for STATUS codes (newer 32 bit NT error codes) added. DFS support begun to be added.
1031−
1032−Version 0.32
1033−------------
1034−Unix extensions (symlink, readlink, hardlink, chmod and some chgrp and chown) implemented
1035−and tested against Samba 2.2.5
1036−
1037−
1038−Version 0.31
1039−------------
1040−1) Fixed lockrange to be correct (it was one byte too short)
1041−
1042−2) Fixed GETLK (i.e. the fcntl call to test a range of bytes in a file to see if locked) to correctly
1043−show range as locked when there is a conflict with an existing lock.
1044−
1045−3) default file perms are now 2767 (indicating support for mandatory locks) instead of 777 for directories
1046−in most cases. Eventually will offer optional ability to query server for the correct perms.
1047−
1048−3) Fixed eventual trap when mounting twice to different shares on the same server when the first succeeded
1049−but the second one was invalid and failed (the second one was incorrectly disconnecting the tcp and smb
1050−session)
1051−
1052−4) Fixed error logging of valid mount options
1053−
1054−5) Removed logging of password field.
1055−
1056−6) Moved negotiate, treeDisconnect and uloggoffX (only tConx and SessSetup remain in connect.c) to cifssmb.c
1057−and cleaned them up and made them more consistent with other cifs functions.
1058−
1059−7) 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,
1061−nor is the symlink support using the Unix extensions
1062−
1063−8) Started adding the readlink and follow_link code
1064−
1065−Version 0.3
1066−-----------
1067−Initial drop
1068−
1+See https://wiki.samba.org/index.php/LinuxCIFSKernel for summary
2+information (that may be easier to read than parsing the output of
3+"git log fs/cifs") about fixes/improvements to CIFS/SMB2/SMB3 support (changes
4+to cifs.ko module) by kernel version (and cifs internal module version).
Documentation/filesystems/cifs/README+10−12
@@ -603,8 +603,7 @@ DebugData Displays information about active CIFS sessions and · 602 unmodified lines
603603 shares, features enabled as well as the cifs.ko
604604 version.
605605 Stats Lists summary resource usage information as well as per
606− share statistics, if CONFIG_CIFS_STATS in enabled
607− in the kernel configuration.
606+ share statistics.
608607
609608 Configuration pseudo-files:
610609 SecurityFlags 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
687686 logging of various informational messages. 2 enables logging of non-zero
688687 SMB return codes while 4 enables logging of requests that take longer
689688 than one second to complete (except for byte range lock requests).
690−Setting it to 4 requires defining CONFIG_CIFS_STATS2 manually in the
691−source code (typically by setting it in the beginning of cifsglob.h),
692−and setting it to seven enables all three. Finally, tracing
689+Setting it to 4 requires CONFIG_CIFS_STATS2 to be set in kernel configuration
690+(.config). Setting it to seven enables all three. Finally, tracing
693691 the start of smb requests and responses can be enabled via:
694692
695693 echo 1 > /proc/fs/cifs/traceSMB
696694
697−Per share (per client mount) statistics are available in /proc/fs/cifs/Stats
698−if the kernel was configured with cifs statistics enabled. The statistics
699−represent the number of successful (ie non-zero return code from the server)
700−SMB responses to some of the more common commands (open, delete, mkdir etc.).
695+Per share (per client mount) statistics are available in /proc/fs/cifs/Stats.
696+Additional information is available if CONFIG_CIFS_STATS2 is enabled in the
697+kernel configuration (.config). The statistics returned include counters which
698+represent the number of attempted and failed (ie non-zero return code from the
699+server) SMB3 (or cifs) requests grouped by request type (read, write, close etc.).
701700 Also recorded is the total bytes read and bytes written to the server for
702701 that share. Note that due to client caching effects this can be less than the
703702 number of bytes read and written by the application running on the client.
704−The statistics for the number of total SMBs and oplock breaks are different in
705−that they represent all for that share, not just those for which the server
706−returned success.
703+Statistics can be reset to zero by "echo 0 > /proc/fs/cifs/Stats" which may be
704+useful if comparing performance of two different scenarios.
707705
708706 Also note that "cat /proc/fs/cifs/DebugData" will display information about
709707 the 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
12
2−Ext4 Filesystem
3−===============
3+========================
4+General Information
5+========================
46
57 Ext4 is an advanced level of the ext3 filesystem which incorporates
68 scalability and reliability enhancements for supporting large filesystems
@@ -11,37 +13,30 @@ Mailing list: linux-ext4@vger.kernel.org · 4 unmodified lines
1113 Web site: http://ext4.wiki.kernel.org
1214
1315
14−1. Quick usage instructions:
15−===========================
16+Quick usage instructions
17+========================
1618
1719 Note: More extensive information for getting started with ext4 can be
18− found at the ext4 wiki site at the URL:
19− http://ext4.wiki.kernel.org/index.php/Ext4_Howto
20+found at the ext4 wiki site at the URL:
21+http://ext4.wiki.kernel.org/index.php/Ext4_Howto
2022
21− - Compile and install the latest version of e2fsprogs (as of this
22− writing version 1.41.3) from:
23+ - The latest version of e2fsprogs can be found at:
24+
25+ https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/
2326
24− http://sourceforge.net/project/showfiles.php?group_id=2406
25−
2627 or
2728
28− https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/
29+ http://sourceforge.net/project/showfiles.php?group_id=2406
2930
3031 or grab the latest git repository from:
3132
32− git://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.
33+ https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
3934
4035 - Create a new filesystem using the ext4 filesystem type:
4136
42− # mke2fs -t ext4 /dev/hda1
37+ # mke2fs -t ext4 /dev/hda1
4338
44− Or to configure an existing ext3 filesystem to support extents:
39+ Or to configure an existing ext3 filesystem to support extents:
4540
4641 # tune2fs -O extents /dev/hda1
4742
@@ -50,10 +45,6 @@ Note: More extensive information for getting started with ext4 can be · 2 unmodified lines
5045
5146 # tune2fs -I 256 /dev/hda1
5247
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−
5748 - Mounting:
5849
5950 # mount -t ext4 /dev/hda1 /wherever
@@ -75,10 +66,11 @@ Note: More extensive information for getting started with ext4 can be · 15 unmodified lines
7566 the filesystem with a large journal can also be helpful for
7667 metadata-intensive workloads.
7768
78−2. Features
79−===========
69+Features
70+========
8071
81−2.1 Currently available
72+Currently Available
73+-------------------
8274
8375 * ability to use filesystems > 16TB (e2fsprogs support not available yet)
8476 * 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
10395 [1] Filesystems with a block size of 1k may see a limit imposed by the
10496 directory hash tree having a maximum depth of two.
10597
106−2.2 Candidate features for future inclusion
107−
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−
114−There are several others under discussion, whether they all make it in is
115−partly a function of how much time everyone has to work on them. Features like
116−metadata checksumming have been discussed and planned for a bit but no patches
117−exist yet so I'm not sure they're in the near-term roadmap.
118−
119−The big performance win will come with mballoc, delalloc and flex_bg
120−grouping 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−
125−3. Options
126−==========
98+Options
99+=======
127100
128101 When mounting an ext4 filesystem, the following option are accepted:
129102 (*) == default
130103
104+======================= =======================================================
105+Mount Option Description
106+======================= =======================================================
131107 ro Mount filesystem read only. Note that ext4 will
132108 replay the journal (and thus write to the
133109 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
387363 dax Use direct access (no page cache). See
388364 Documentation/filesystems/dax.txt. Note that
389365 this option is incompatible with data=journal.
366+======================= =======================================================
390367
391368 Data Mode
392369 =========
393370 There are 3 different data modes:
394371
395372 * writeback mode
396−In data=writeback mode, ext4 does not journal data at all. This mode provides
397−a similar level of journaling as that of XFS, JFS, and ReiserFS in its default
398−mode - metadata journaling. A crash+recovery can cause incorrect data to
399−appear in files which were written shortly before the crash. This mode will
400−typically provide the best ext4 performance.
373+
374+ In data=writeback mode, ext4 does not journal data at all. This mode provides
375+ a similar level of journaling as that of XFS, JFS, and ReiserFS in its default
376+ mode - metadata journaling. A crash+recovery can cause incorrect data to
377+ appear in files which were written shortly before the crash. This mode will
378+ typically provide the best ext4 performance.
401379
402380 * ordered mode
403−In data=ordered mode, ext4 only officially journals metadata, but it logically
404−groups metadata information related to data changes with the data blocks into a
405−single unit called a transaction. When it's time to write the new metadata
406−out to disk, the associated data blocks are written first. In general,
407−this mode performs slightly slower than writeback but significantly faster than journal mode.
381+
382+ In data=ordered mode, ext4 only officially journals metadata, but it logically
383+ groups metadata information related to data changes with the data blocks into
384+ a single unit called a transaction. When it's time to write the new metadata
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.
408388
409389 * journal mode
410−data=journal mode provides full data and metadata journaling. All new data is
411−written to the journal first, and then to its final location.
412−In the event of a crash, the journal can be replayed, bringing both data and
413−metadata into a consistent state. This mode is the slowest except when data
414−needs to be read from and written to disk at the same time where it
415−outperforms all others modes. Enabling this mode will disable delayed
416−allocation and O_DIRECT support.
390+
391+ data=journal mode provides full data and metadata journaling. All new data is
392+ written to the journal first, and then to its final location. In the event of
393+ a crash, the journal can be replayed, bringing both data and metadata into a
394+ consistent state. This mode is the slowest except when data needs to be read
395+ from and written to disk at the same time where it outperforms all others
396+ modes. Enabling this mode will disable delayed allocation and O_DIRECT
397+ support.
417398
418399 /proc entries
419400 =============
@@ -425,10 +406,12 @@ Information about mounted ext4 file systems can be found in · 5 unmodified lines
425406 in table below.
426407
427408 Files in /proc/fs/ext4/<devname>
428−..............................................................................
409+
410+================ =======
429411 File Content
412+================ =======
430413 mb_groups details of multiblock allocator buddy cache of free blocks
431−..............................................................................
414+================ =======
432415
433416 /sys entries
434417 ============
@@ -439,28 +422,30 @@ Information about mounted ext4 file systems can be found in · 4 unmodified lines
439422 /sys/fs/ext4/dm-0). The files in each per-device directory are shown
440423 in table below.
441424
442−Files in /sys/fs/ext4/<devname>
425+Files in /sys/fs/ext4/<devname>:
426+
443427 (see also Documentation/ABI/testing/sysfs-fs-ext4)
444−..............................................................................
445− File Content
446428
429+============================= =================================================
430+File Content
431+============================= =================================================
447432 delayed_allocation_blocks This file is read-only and shows the number of
448433 blocks that are dirty in the page cache, but
449434 which do not have their location in the
450435 filesystem allocated yet.
451436
452− inode_goal Tuning parameter which (if non-zero) controls
437+inode_goal Tuning parameter which (if non-zero) controls
453438 the goal inode used by the inode allocator in
454439 preference to all other allocation heuristics.
455440 This is intended for debugging use only, and
456441 should be 0 on production systems.
457442
458− inode_readahead_blks Tuning parameter which controls the maximum
443+inode_readahead_blks Tuning parameter which controls the maximum
459444 number of inode table blocks that ext4's inode
460445 table readahead algorithm will pre-read into
461446 the buffer cache
462447
463− lifetime_write_kbytes This file is read-only and shows the number of
448+lifetime_write_kbytes This file is read-only and shows the number of
464449 kilobytes of data that have been written to this
465450 filesystem since it was created.
466451
@@ -508,7 +493,7 @@ Files in /sys/fs/ext4/<devname> · 41 unmodified lines
508493 in the file system. If there is not enough space
509494 for the reserved space when mounting the file
510495 mount will _not_ fail.
511−..............................................................................
496+============================= =================================================
512497
513498 Ioctls
514499 ======
@@ -518,8 +503,10 @@ through the system call interfaces. The list of all Ext4 specific ioctls are · 3 unmodified lines
518503 shown in the table below.
519504
520505 Table of Ext4 specific ioctls
521−..............................................................................
522− Ioctl Description
506+
507+============================= =================================================
508+Ioctl Description
509+============================= =================================================
523510 EXT4_IOC_GETFLAGS Get additional attributes associated with inode.
524511 The ioctl argument is an integer bitfield, with
525512 bit values described in ext4.h. This ioctl is an
@@ -610,8 +597,7 @@ Table of Ext4 specific ioctls · 84 unmodified lines
610597 normal user by accident.
611598 The data blocks of the previous boot loader
612599 will be associated with the given inode.
613−
614−..............................................................................
600+============================= =================================================
615601
616602 References
617603 ==========
Documentation/filesystems/ext4/index.rst+17−0
@@ -0,0 +1,17 @@
1+.. SPDX-License-Identifier: GPL-2.0
2+
3+===============
4+ext4 Filesystem
5+===============
6+
7+General usage and on-disk artifacts writen by ext4. More documentation may
8+be ported from the wiki as time permits. This should be considered the
9+canonical source of information as the details here have been reviewed by
10+the 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+
3+About this Book
4+===============
5+
6+This document attempts to describe the on-disk format for ext4
7+filesystems. The same general ideas should apply to ext2/3 filesystems
8+as well, though they do not support all the features that ext4 supports,
9+and 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
13+structure definitions should be current as of Linux 4.18 and
14+e2fsprogs-1.44. All comments and corrections are welcome, since there is
15+undoubtedly plenty of lore that might not be reflected in freshly
16+created demonstration filesystems.
17+
18+License
19+-------
20+This book is licensed under the terms of the GNU Public License, v2.
21+
22+Terminology
23+-----------
24+
25+ext4 divides a storage device into an array of logical blocks both to
26+reduce bookkeeping overhead and to increase throughput by forcing larger
27+transfer sizes. Generally, the block size will be 4KiB (the same size as
28+pages on x86 and the block layer's default block size), though the
29+actual size is calculated as 2 ^ (10 + ``sb.s_log_block_size``) bytes.
30+Throughout this document, disk locations are given in terms of these
31+logical blocks, not raw LBAs, and not 1024-byte blocks. For the sake of
32+convenience, the logical block size will be referred to as
33+``$block_size`` throughout the rest of the document.
34+
35+When referenced in ``preformatted text`` blocks, ``sb`` refers to fields
36+in the super block, and ``inode`` refers to fields in an inode table
37+entry.
38+
39+Other References
40+----------------
41+
42+Also see http://www.nongnu.org/ext2-doc/ for quite a collection of
43+information about ext2/3. Here's another old reference:
44+http://wiki.osdev.org/Ext2
Documentation/filesystems/ext4/ondisk/allocators.rst+56−0
@@ -0,0 +1,56 @@
1+.. SPDX-License-Identifier: GPL-2.0
2+
3+Block and Inode Allocation Policy
4+---------------------------------
5+
6+ext4 recognizes (better than ext3, anyway) that data locality is
7+generally a desirably quality of a filesystem. On a spinning disk,
8+keeping related blocks near each other reduces the amount of movement
9+that the head actuator and disk must perform to access a data block,
10+thus speeding up disk IO. On an SSD there of course are no moving parts,
11+but locality can increase the size of each transfer request while
12+reducing the total number of requests. This locality may also have the
13+effect of concentrating writes on a single erase block, which can speed
14+up file rewrites significantly. Therefore, it is useful to reduce
15+fragmentation whenever possible.
16+
17+The first tool that ext4 uses to combat fragmentation is the multi-block
18+allocator. When a file is first created, the block allocator
19+speculatively allocates 8KiB of disk space to the file on the assumption
20+that the space will get written soon. When the file is closed, the
21+unused speculative allocations are of course freed, but if the
22+speculation is correct (typically the case for full writes of small
23+files) then the file data gets written out in a single multi-block
24+extent. A second related trick that ext4 uses is delayed allocation.
25+Under this scheme, when a file needs more blocks to absorb file writes,
26+the filesystem defers deciding the exact placement on the disk until all
27+the dirty buffers are being written out to disk. By not committing to a
28+particular placement until it's absolutely necessary (the commit timeout
29+is hit, or sync() is called, or the kernel runs out of memory), the hope
30+is that the filesystem can make better location decisions.
31+
32+The third trick that ext4 (and ext3) uses is that it tries to keep a
33+file's data blocks in the same block group as its inode. This cuts down
34+on the seek penalty when the filesystem first has to read a file's inode
35+to learn where the file's data blocks live and then seek over to the
36+file's data blocks to begin I/O operations.
37+
38+The fourth trick is that all the inodes in a directory are placed in the
39+same block group as the directory, when feasible. The working assumption
40+here is that all the files in a directory might be related, therefore it
41+is useful to try to keep them all together.
42+
43+The fifth trick is that the disk volume is cut up into 128MB block
44+groups; these mini-containers are used as outlined above to try to
45+maintain data locality. However, there is a deliberate quirk -- when a
46+directory is created in the root directory, the inode allocator scans
47+the block groups and puts that directory into the least heavily loaded
48+block group that it can find. This encourages directories to spread out
49+over a disk; as the top-level directory/file blobs fill up one block
50+group, the allocators simply move on to the next block group. Allegedly
51+this scheme evens out the loading on the block groups, though the author
52+suspects that the directories which are so unlucky as to land towards
53+the end of a spinning drive get a raw deal performance-wise.
54+
55+Of course if all of these mechanisms fail, one can always use e4defrag
56+to defragment files.
Documentation/filesystems/ext4/ondisk/attributes.rst+191−0
@@ -0,0 +1,191 @@
1+.. SPDX-License-Identifier: GPL-2.0
2+
3+Extended Attributes
4+-------------------
5+
6+Extended attributes (xattrs) are typically stored in a separate data
7+block on the disk and referenced from inodes via ``inode.i_file_acl*``.
8+The first use of extended attributes seems to have been for storing file
9+ACLs and other security data (selinux). With the ``user_xattr`` mount
10+option it is possible for users to store extended attributes so long as
11+all attribute names begin with “user”; this restriction seems to have
12+disappeared as of Linux 3.0.
13+
14+There are two places where extended attributes can be found. The first
15+place is between the end of each inode entry and the beginning of the
16+next inode entry. For example, if inode.i\_extra\_isize = 28 and
17+sb.inode\_size = 256, then there are 256 - (128 + 28) = 100 bytes
18+available for in-inode extended attribute storage. The second place
19+where 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
21+block to contain a pointer to a second extended attribute block (or even
22+the remaining blocks of a cluster). In theory it is possible for each
23+attribute's value to be stored in a separate data block, though as of
24+Linux 3.11 the code does not permit this.
25+
26+Keys are generally assumed to be ASCIIZ strings, whereas values can be
27+strings or binary data.
28+
29+Extended 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+
46+The 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+
82+The checksum is calculated against the FS UUID, the 64-bit block number
83+of the extended attribute block, and the entire block (header +
84+entries).
85+
86+Following 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
89+long. When stored in an external block, the ``struct ext4_xattr_entry``
90+entries must be stored in sorted order. The sort order is
91+``e_name_index``, then ``e_name_len``, and finally ``e_name``.
92+Attributes 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+
139+Attribute values can follow the end of the entry table. There appears to
140+be a requirement that they be aligned to 4-byte boundaries. The values
141+are stored starting at the end of the block and grow towards the
142+xattr\_header/xattr\_entry table. When the two collide, the overflow is
143+put into a separate disk block. If the disk block fills up, the
144+filesystem returns -ENOSPC.
145+
146+The first four fields of the ``ext4_xattr_entry`` are set to zero to
147+mark the end of the key list.
148+
149+Attribute Name Indices
150+~~~~~~~~~~~~~~~~~~~~~~
151+
152+Logically speaking, extended attributes are a series of key=value pairs.
153+The keys are assumed to be NULL-terminated strings. To reduce the amount
154+of on-disk space that the keys consume, the beginning of the key string
155+is matched against the attribute name index. If a match is found, the
156+attribute name index field is set, and matching string is removed from
157+the 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+
182+For example, if the attribute key is “user.fubar”, the attribute name
183+index is set to 1 and the “fubar” name is recorded on disk.
184+
185+POSIX ACLs
186+~~~~~~~~~~
187+
188+POSIX ACLs are stored in a reduced version of the Linux kernel (and
189+libacl's) internal ACL format. The key difference is that the version
190+number is different (1) and the ``e_id`` field is only stored for named
191+user and group ACLs.
Documentation/filesystems/ext4/ondisk/bigalloc.rst+22−0
@@ -0,0 +1,22 @@
1+.. SPDX-License-Identifier: GPL-2.0
2+
3+Bigalloc
4+--------
5+
6+At the moment, the default size of a block is 4KiB, which is a commonly
7+supported page size on most MMU-capable hardware. This is fortunate, as
8+ext4 code is not prepared to handle the case where the block size
9+exceeds the page size. However, for a filesystem of mostly huge files,
10+it is desirable to be able to allocate disk blocks in units of multiple
11+blocks to reduce both fragmentation and metadata overhead. The
12+`bigalloc <Bigalloc>`__ feature provides exactly this ability. The
13+administrator can set a block cluster size at mkfs time (which is stored
14+in the s\_log\_cluster\_size field in the superblock); from then on, the
15+block bitmaps track clusters, not individual blocks. This means that
16+block groups can be several gigabytes in size (instead of just 128MiB);
17+however, the minimum allocation unit becomes a cluster, not a block,
18+even for directories. TaoBao had a patchset to extend the “use units of
19+clusters instead of blocks” to the extent tree, though it is not clear
20+where those patches went-- they eventually morphed into “extent tree v2”
21+but 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+
3+Block and inode Bitmaps
4+-----------------------
5+
6+The data block bitmap tracks the usage of data blocks within the block
7+group.
8+
9+The inode bitmap records which entries in the inode table are in use.
10+
11+As with most bitmaps, one bit represents the usage status of one data
12+block or inode table entry. This implies a block group size of 8 \*
13+number\_of\_bytes\_in\_a\_logical\_block.
14+
15+NOTE: If ``BLOCK_UNINIT`` is set for a given block group, various parts
16+of the kernel and e2fsprogs code pretends that the block bitmap contains
17+zeros (i.e. all blocks in the group are free). However, it is not
18+necessarily the case that no blocks are in use -- if ``meta_bg`` is set,
19+the bitmaps and group descriptor live inside the group. Unfortunately,
20+ext2fs\_test\_block\_bitmap2() will return '0' for those locations,
21+which produces confusing debugfs output.
22+
23+Inode Table
24+-----------
25+Inode tables are statically allocated at mkfs time. Each block group
26+descriptor points to the start of the table, and the superblock records
27+the number of inodes per group. See the section on inodes for more
28+information.
Documentation/filesystems/ext4/ondisk/blockgroup.rst+135−0
@@ -0,0 +1,135 @@
1+.. SPDX-License-Identifier: GPL-2.0
2+
3+Layout
4+------
5+
6+The layout of a standard block group is approximately as follows (each
7+of 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+
30+For the special case of block group 0, the first 1024 bytes are unused,
31+to allow for the installation of x86 boot sectors and other oddities.
32+The superblock will start at offset 1024 bytes, whichever block that
33+happens to be (usually 0). However, if for some reason the block size =
34+1024, then block 0 is marked in use and the superblock goes in block 1.
35+For all other block groups, there is no padding.
36+
37+The ext4 driver primarily works with the superblock and the group
38+descriptors that are found in block group 0. Redundant copies of the
39+superblock and group descriptors are written to some of the block groups
40+across the disk in case the beginning of the disk gets trashed, though
41+not all block groups necessarily host a redundant copy (see following
42+paragraph for more details). If the group does not have a redundant
43+copy, the block group begins with the data block bitmap. Note also that
44+when the filesystem is freshly formatted, mkfs will allocate “reserve
45+GDT block” space after the block group descriptors and before the start
46+of the block bitmaps to allow for future expansion of the filesystem. By
47+default, a filesystem is allowed to increase in size by a factor of
48+1024x over the original filesystem size.
49+
50+The location of the inode table is given by ``grp.bg_inode_table_*``. It
51+is continuous range of blocks large enough to contain
52+``sb.s_inodes_per_group * sb.s_inode_size`` bytes.
53+
54+As for the ordering of items in a block group, it is generally
55+established that the super block and the group descriptor table, if
56+present, will be at the beginning of the block group. The bitmaps and
57+the inode table can be anywhere, and it is quite possible for the
58+bitmaps to come after the inode table, or for both to be in different
59+groups (flex\_bg). Leftover space is used for file data blocks, indirect
60+block maps, extent tree blocks, and extended attributes.
61+
62+Flexible Block Groups
63+---------------------
64+
65+Starting 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
67+logical block group; the bitmap spaces and the inode table space in the
68+first block group of the flex\_bg are expanded to include the bitmaps
69+and inode tables of all other block groups in the flex\_bg. For example,
70+if the flex\_bg size is 4, then group 0 will contain (in order) the
71+superblock, group descriptors, data block bitmaps for groups 0-3, inode
72+bitmaps for groups 0-3, inode tables for groups 0-3, and the remaining
73+space in group 0 is for file data. The effect of this is to group the
74+block metadata close together for faster loading, and to enable large
75+files to be continuous on disk. Backup copies of the superblock and
76+group descriptors are always at the beginning of block groups, even if
77+flex\_bg is enabled. The number of block groups that make up a flex\_bg
78+is given by 2 ^ ``sb.s_log_groups_per_flex``.
79+
80+Meta Block Groups
81+-----------------
82+
83+Without the option META\_BG, for safety concerns, all block group
84+descriptors copies are kept in the first block group. Given the default
85+128MiB(2^27 bytes) block group size and 64-byte group descriptors, ext4
86+can have at most 2^27/64 = 2^21 block groups. This limits the entire
87+filesystem size to 2^21 ∗ 2^27 = 2^48bytes or 256TiB.
88+
89+The 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
91+META\_BG feature, ext4 filesystems are partitioned into many metablock
92+groups. Each metablock group is a cluster of block groups whose group
93+descriptor structures can be stored in a single disk block. For ext4
94+filesystems with 4 KB block size, a single metablock group partition
95+includes 64 block groups, or 8 GiB of disk space. The metablock group
96+feature moves the location of the group descriptors from the congested
97+first block group of the whole filesystem into the first group of each
98+metablock group itself. The backups are in the second and last group of
99+each metablock group. This increases the 2^21 maximum block groups limit
100+to the hard limit 2^32, allowing support for a 512PiB filesystem.
101+
102+The change in the filesystem format replaces the current scheme where
103+the superblock is followed by a variable-length set of block group
104+descriptors. Instead, the superblock and a single block group descriptor
105+block is placed at the beginning of the first, second, and last block
106+groups in a meta-block group. A meta-block group is a collection of
107+block groups which can be described by a single block group descriptor
108+block. Since the size of the block group descriptor structure is 32
109+bytes, a meta-block group contains 32 block groups for filesystems with
110+a 1KB block size, and 128 block groups for filesystems with a 4KB
111+blocksize. Filesystems can either be created using this new block group
112+descriptor layout, or existing filesystems can be resized on-line, and
113+the field s\_first\_meta\_bg in the superblock will indicate the first
114+block group using this new layout.
115+
116+Please see an important note about ``BLOCK_UNINIT`` in the section about
117+block and inode bitmaps.
118+
119+Lazy Block Group Initialization
120+-------------------------------
121+
122+A new feature for ext4 are three block group descriptor flags that
123+enable mkfs to skip initializing other parts of the block group
124+metadata. Specifically, the INODE\_UNINIT and BLOCK\_UNINIT flags mean
125+that the inode and block bitmaps for that group can be calculated and
126+therefore the on-disk bitmap blocks are not initialized. This is
127+generally the case for an empty block group or a block group containing
128+only fixed-location block group metadata. The INODE\_ZEROED flag means
129+that the inode table has been initialized; mkfs will unset this flag and
130+rely on the kernel to initialize the inode tables in the background.
131+
132+By not writing zeroes to the bitmaps and inode table, mkfs time is
133+reduced considerably. Note the feature flag is RO\_COMPAT\_GDT\_CSUM,
134+but the dumpe2fs output prints this as “uninit\_bg”. They are the same
135+thing.
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+
3+Blocks
4+------
5+
6+ext4 allocates storage space in units of “blocks”. A block is a group of
7+sectors between 1KiB and 64KiB, and the number of sectors must be an
8+integral power of 2. Blocks are in turn grouped into larger units called
9+block groups. Block size is specified at mkfs time and typically is
10+4KiB. You may experience mounting problems if block size is greater than
11+page size (i.e. 64KiB blocks on a i386 which only has 4KiB memory
12+pages). By default a filesystem can contain 2^32 blocks; if the '64bit'
13+feature is enabled, then a filesystem can have 2^64 blocks.
14+
15+For 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+
77+For 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+
139+Note: Files not using extents (i.e. files using block maps) must be
140+placed within the first 2^32 blocks of a filesystem. Files with extents
141+must be placed within the first 2^48 blocks of a filesystem. It's not
142+clear 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+
3+Checksums
4+---------
5+
6+Starting in early 2012, metadata checksums were added to all major ext4
7+and jbd2 data structures. The associated feature flag is metadata\_csum.
8+The desired checksum algorithm is indicated in the superblock, though as
9+of October 2012 the only supported algorithm is crc32c. Some data
10+structures did not have space to fit a full 32-bit checksum, so only the
11+lower 16 bits are stored. Enabling the 64bit feature increases the data
12+structure size so that full 32-bit checksums can be stored for many data
13+structures. However, existing 32-bit filesystems cannot be extended to
14+enable 64bit mode, at least not without the experimental resize2fs
15+patches to do so.
16+
17+Existing filesystems can have checksumming added by running
18+``tune2fs -O metadata_csum`` against the underlying device. If tune2fs
19+encounters directory blocks that lack sufficient empty space to add a
20+checksum, it will request that you run ``e2fsck -D`` to have the
21+directories rebuilt with checksums. This has the added benefit of
22+removing slack space from the directory files and rebalancing the htree
23+indexes. If you \_ignore\_ this step, your directories will not be
24+protected by a checksum!
25+
26+The following table describes the data elements that go into each type
27+of 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+
3+Directory Entries
4+-----------------
5+
6+In an ext4 filesystem, a directory is more or less a flat file that maps
7+an arbitrary byte string (usually ASCII) to an inode number on the
8+filesystem. There can be many directory entries across the filesystem
9+that reference the same inode number--these are known as hard links, and
10+that is why hard links cannot reference files on other filesystems. As
11+such, directory entries are found by reading the data block(s)
12+associated with a directory file for the particular directory entry that
13+is desired.
14+
15+Linear (Classic) Directories
16+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17+
18+By default, each directory lists its entries in an “almost-linear”
19+array. I write “almost” because it's not a linear array in the memory
20+sense because directory entries are not split across filesystem blocks.
21+Therefore, it is more accurate to say that a directory is a series of
22+data blocks and that each block contains a linear array of directory
23+entries. The end of each per-block array is signified by reaching the
24+end of the block; the last entry in the block has a record length that
25+takes it all the way to the end of the block. The end of the entire
26+directory is of course signified by reaching the end of the file. Unused
27+directory entries are signified by inode = 0. By default the filesystem
28+uses ``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+
32+The original directory entry format is ``struct ext4_dir_entry``, which
33+is 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+
61+Since file names cannot be longer than 255 bytes, the new directory
62+entry format shortens the rec\_len field and uses the space for a file
63+type flag, probably to avoid having to load every inode during directory
64+tree traversal. This format is ``ext4_dir_entry_2``, which is at most
65+263 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+
99+The 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+
124+In 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
126+hold the checksum. The directory entry is 12 bytes long. The inode
127+number and name\_len fields are set to zero to fool old software into
128+ignoring an apparently empty directory entry, and the checksum is stored
129+in 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+
161+The leaf directory block checksum is calculated against the FS UUID, the
162+directory's inode number, the directory's inode generation number, and
163+the entire directory entry block up to (but not including) the fake
164+directory entry.
165+
166+Hash Tree Directories
167+~~~~~~~~~~~~~~~~~~~~~
168+
169+A linear array of directory entries isn't great for performance, so a
170+new feature was added to ext3 to provide a faster (but peculiar)
171+balanced tree keyed off a hash of the directory entry name. If the
172+EXT4\_INDEX\_FL (0x1000) flag is set in the inode, this directory uses a
173+hashed btree (htree) to organize and find directory entries. For
174+backwards read-only compatibility with ext2, this tree is actually
175+hidden inside the directory file, masquerading as “empty” directory data
176+blocks! It was stated previously that the end of the linear directory
177+entry 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
179+rest of the directory block is empty so that it moves on.
180+
181+The root of the tree always lives in the first data block of the
182+directory. By ext2 custom, the '.' and '..' entries must appear at the
183+beginning 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
185+the root node contains metadata about the tree and finally a hash->block
186+map to find nodes that are lower in the htree. If
187+``dx_root.info.indirect_levels`` is non-zero then the htree has two
188+levels; the data block pointed to by the root node's map is an interior
189+node, which is indexed by a minor hash. Interior nodes in this tree
190+contains a zeroed out ``struct ext4_dir_entry_2`` followed by a
191+minor\_hash->block map to find leafe nodes. Leaf nodes contain a linear
192+array of all ``struct ext4_dir_entry_2``; all of these entries
193+(presumably) hash to the same value. If there is an overflow, the
194+entries simply overflow into the next leaf node, and the
195+least-significant bit of the hash (in the interior node map) that gets
196+us to this next leaf node is set.
197+
198+To traverse the directory as a htree, the code calculates the hash of
199+the desired file name and uses it to find the corresponding block
200+number. If the tree is flat, the block is a linear array of directory
201+entries that can be searched; otherwise, the minor hash of the file name
202+is computed and used against this second block to find the corresponding
203+third block number. That third block number will be a linear array of
204+directory entries.
205+
206+To traverse the directory as a linear array (such as the old code does),
207+the code simply reads every data block in the directory. The blocks used
208+for the htree will appear to have no entries (aside from '.' and '..')
209+and so only the leaf nodes will appear to have any interesting content.
210+
211+The root of the htree is in ``struct dx_root``, which is the full length
212+of 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+
305+The 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+
326+Interior nodes of an htree are recorded as ``struct dx_node``, which is
327+also 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+
373+The hash maps that exist in both ``struct dx_root`` and
374+``struct dx_node`` are recorded as ``struct dx_entry``, which is 8 bytes
375+long:
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
396+author.)
397+
398+If metadata checksums are enabled, the last 8 bytes of the directory
399+block (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
402+necessary to fit the dx\_tail into the block. If there is no space for
403+the dx\_tail, the user is notified to run e2fsck -D to rebuild the
404+directory index (which will ensure that there's space for the checksum.
405+The 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+
424+The 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
426+use, 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+
3+Dynamic Structures
4+==================
5+
6+Dynamic metadata are created on the fly when files and blocks are
7+allocated 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+
3+Large Extended Attribute Values
4+-------------------------------
5+
6+To enable ext4 to store extended attribute values that do not fit in the
7+inode or in the single extended attribute block attached to an inode,
8+the EA\_INODE feature allows us to store the value in the data blocks of
9+a regular file inode. This “EA inode” is linked only from the extended
10+attribute name index and must not appear in a directory entry. The
11+inode's i\_atime field is used to store a checksum of the xattr value;
12+and i\_ctime/i\_version store a 64-bit reference count, which enables
13+sharing of large xattr values between multiple owning inodes. For
14+backward compatibility with older versions of this feature, the
15+i\_mtime/i\_generation *may* store a back-reference to the inode number
16+and i\_generation of the **one** owning inode (in cases where the EA
17+inode is not referenced by multiple inodes) to verify that the EA inode
18+is 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+
3+Global Structures
4+=================
5+
6+The filesystem is sharded into a number of block groups, each of which
7+have 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+
3+Block Group Descriptors
4+-----------------------
5+
6+Each block group on the filesystem has one of these descriptors
7+associated with it. As noted in the Layout section above, the group
8+descriptors (if present) are the second item in the block group. The
9+standard configuration is for each block group to contain a full copy of
10+the block group descriptor table unless the sparse\_super feature flag
11+is set.
12+
13+Notice how the group descriptor records the location of both bitmaps and
14+the inode table (i.e. they can float). This means that within a block
15+group, the only data structures with fixed locations are the superblock
16+and the group descriptor table. The flex\_bg mechanism uses this
17+property to group several block groups into a flex group and lay out all
18+of the groups' bitmaps and inode tables into one long run in the first
19+group of the flex group.
20+
21+If the meta\_bg feature flag is set, then several block groups are
22+grouped together into a meta group. Note that in the meta\_bg case,
23+however, the first and last two block groups within the larger meta
24+group contain only group descriptors for the groups inside the meta
25+group.
26+
27+flex\_bg and meta\_bg do not appear to be mutually exclusive features.
28+
29+In ext2, ext3, and ext4 (when the 64bit feature is not enabled), the
30+block group descriptor was only 32 bytes long and therefore ends at
31+bg\_checksum. On an ext4 filesystem with the 64bit feature enabled, the
32+block group descriptor expands to at least the 64 bytes described below;
33+the size is stored in the superblock.
34+
35+If gdt\_csum is set and metadata\_csum is not set, the block group
36+checksum is the crc16 of the FS UUID, the group number, and the group
37+descriptor structure. If metadata\_csum is set, then the block group
38+checksum is the lower 16 bits of the checksum of the FS UUID, the group
39+number, and the group descriptor structure. Both block and inode bitmap
40+checksums are calculated against the FS UUID, the group number, and the
41+entire bitmap.
42+
43+The 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+
157+Block 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+
3+The Contents of inode.i\_block
4+------------------------------
5+
6+Depending on the type of file an inode describes, the 60 bytes of
7+storage in ``inode.i_block`` can be used in different ways. In general,
8+regular files and directories will use it for file block indexing
9+information, and special files will use it for special purposes.
10+
11+Symbolic Links
12+~~~~~~~~~~~~~~
13+
14+The target of a symbolic link will be stored in this field if the target
15+string is less than 60 bytes long. Otherwise, either extents or block
16+maps will be used to allocate data blocks to store the link target.
17+
18+Direct/Indirect Block Addressing
19+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20+
21+In ext2/3, file block numbers were mapped to logical block numbers by
22+means of an (up to) three level 1-1 block map. To find the logical block
23+that stores a particular file block, the code would navigate through
24+this increasingly complicated structure. Notice that there is neither a
25+magic number nor a checksum to provide any level of confidence that the
26+block 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+
36+Note that with this block mapping scheme, it is necessary to fill out a
37+lot of mapping data even for a large contiguous file! This inefficiency
38+led to the creation of the extent mapping scheme, discussed below.
39+
40+Notice also that a file using this mapping scheme cannot be placed
41+higher than 2^32 blocks.
42+
43+Extent Tree
44+~~~~~~~~~~~
45+
46+In ext4, the file to logical block map has been replaced with an extent
47+tree. Under the old scheme, allocating a contiguous run of 1,000 blocks
48+requires an indirect block to map all 1,000 entries; with extents, the
49+mapping is reduced to a single ``struct ext4_extent`` with
50+``ee_len = 1000``. If flex\_bg is enabled, it is possible to allocate
51+very large files with a single extent, at a considerable reduction in
52+metadata block use, and some improvement in disk efficiency. The inode
53+must have the extents flag (0x80000) flag set for this feature to be in
54+use.
55+
56+Extents 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``
59+instances of ``struct ext4_extent_idx``; each of these index entries
60+points to a block containing more nodes in the extent tree. If the node
61+is a leaf node (``eh.eh_depth == 0``), then the header is followed by
62+``eh.eh_entries`` instances of ``struct ext4_extent``; these instances
63+point to the file's data blocks. The root node of the extent tree is
64+stored in ``inode.i_block``, which allows for the first four extents to
65+be recorded without the use of extra metadata blocks.
66+
67+The extent tree header is recorded in ``struct ext4_extent_header``,
68+which 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+
103+Internal nodes of the extent tree, also known as index nodes, are
104+recorded 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+
133+Leaf nodes of the extent tree are recorded as ``struct ext4_extent``,
134+and 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+
165+Prior to the introduction of metadata checksums, the extent header +
166+extent entries always left at least 4 bytes of unallocated space at the
167+end of each extent tree data block (because (2^x % 12) >= 4). Therefore,
168+the 32-bit checksum is inserted into this space. The 4 extents in the
169+inode do not need checksumming, since the inode is already checksummed.
170+The checksum is calculated against the FS UUID, the inode number, the
171+inode generation, and the entire extent block leading up to (but not
172+including) 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+
189+Inline Data
190+~~~~~~~~~~~
191+
192+If the inline data feature is enabled for the filesystem and the flag is
193+set for the inode, it is possible that the first 60 bytes of the file
194+data are stored here.
Documentation/filesystems/ext4/ondisk/index.rst+9−0
@@ -0,0 +1,9 @@
1+.. SPDX-License-Identifier: GPL-2.0
2+
3+==============================
4+Data 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+
3+Inline Data
4+-----------
5+
6+The inline data feature was designed to handle the case that a file's
7+data is so tiny that it readily fits inside the inode, which
8+(theoretically) reduces disk block consumption and reduces seeks. If the
9+file 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
11+attribute space, then it might be found as an extended attribute
12+“system.data” within the inode body (“ibody EA”). This of course
13+constrains the amount of extended attributes one can attach to an inode.
14+If the data size increases beyond i\_block + ibody EA, a regular block
15+is allocated and the contents moved to that block.
16+
17+Pending a change to compact the extended attribute key used to store
18+inline data, one ought to be able to store 160 bytes of data in a
19+256-byte inode (as of June 2015, when i\_extra\_isize is 28). Prior to
20+that, the limit was 156 bytes due to inefficient use of inode space.
21+
22+The inline data feature requires the presence of an extended attribute
23+for “system.data”, even if the attribute value is zero length.
24+
25+Inline Directories
26+~~~~~~~~~~~~~~~~~~
27+
28+The first four bytes of i\_block are the inode number of the parent
29+directory. Following that is a 56-byte space for an array of directory
30+entries; see ``struct ext4_dir_entry``. If there is a “system.data”
31+attribute in the inode body, the EA value is an array of
32+``struct ext4_dir_entry`` as well. Note that for inline directories, the
33+i\_block and EA space are treated as separate dirent blocks; directory
34+entries cannot span the two.
35+
36+Inline directory entries are not checksummed, as the inode checksum
37+should 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+
3+Index Nodes
4+-----------
5+
6+In a regular UNIX filesystem, the inode stores all the metadata
7+pertaining to the file (time stamps, block maps, extended attributes,
8+etc), not the directory entry. To find the information associated with a
9+file, one must traverse the directory files to find the directory entry
10+associated with a file, then load the inode to find the metadata for
11+that file. ext4 appears to cheat (for performance reasons) a little bit
12+by storing a copy of the file type (normally stored in the inode) in the
13+directory entry. (Compare all this to FAT, which stores all the file
14+information directly in the directory entry, but does not support hard
15+links and is in general more seek-happy than ext4 due to its simpler
16+block allocator and extensive use of linked lists.)
17+
18+The inode table is a linear array of ``struct ext4_inode``. The table is
19+sized to have enough blocks to store at least
20+``sb.s_inode_size * sb.s_inodes_per_group`` bytes. The number of the
21+block group containing an inode can be calculated as
22+``(inode_number - 1) / sb.s_inodes_per_group``, and the offset into the
23+group's table is ``(inode_number - 1) % sb.s_inodes_per_group``. There
24+is no inode 0.
25+
26+The inode checksum is calculated against the FS UUID, the inode number,
27+and the inode structure itself.
28+
29+The 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+
176+The ``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+
227+The ``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+
312+The ``osd1`` field has multiple meanings depending on the creator:
313+
314+Linux:
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+
331+Hurd:
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+
346+Masix:
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