From 0066cead04f2796ba43f131560bc40a3e1a4dc2a Mon Sep 17 00:00:00 2001 From: "Raziel K. Crowe" <84860158+CWDSYSTEMS@users.noreply.github.com> Date: Tue, 15 Mar 2022 21:10:27 +0500 Subject: [PATCH] Third batch going up... unlike T3Q'sdick that goes left side --- Documentation/ABI/obsolete/sysfs-bus-iio | 4 - Documentation/ABI/stable/o2cb | 2 +- .../ABI/stable/sysfs-class-infiniband | 64 +- Documentation/ABI/stable/sysfs-class-tpm | 2 +- Documentation/ABI/stable/sysfs-devices | 7 - Documentation/ABI/stable/sysfs-devices-node | 6 - .../ABI/stable/sysfs-devices-system-cpu | 15 - .../ABI/stable/sysfs-driver-dma-idxd | 52 +- .../ABI/stable/sysfs-driver-mlxreg-io | 244 - Documentation/ABI/stable/sysfs-module | 25 +- .../ABI/testing/configfs-usb-gadget-uac1 | 42 +- .../ABI/testing/configfs-usb-gadget-uac2 | 45 +- .../ABI/testing/debugfs-driver-habanalabs | 17 +- Documentation/ABI/testing/evm | 5 +- Documentation/ABI/testing/ima_policy | 10 +- Documentation/ABI/testing/pstore | 3 +- Documentation/ABI/testing/sysfs-ata | 2 +- Documentation/ABI/testing/sysfs-bus-counter | 38 +- Documentation/ABI/testing/sysfs-bus-iio | 42 - Documentation/ABI/testing/sysfs-bus-mdio | 9 - Documentation/ABI/testing/sysfs-bus-pci | 35 +- Documentation/ABI/testing/sysfs-bus-platform | 12 - Documentation/ABI/testing/sysfs-bus-rapidio | 32 +- .../ABI/testing/sysfs-bus-soundwire-master | 20 +- .../ABI/testing/sysfs-bus-soundwire-slave | 60 +- Documentation/ABI/testing/sysfs-bus-usb | 301 +- Documentation/ABI/testing/sysfs-class-bdi | 30 +- Documentation/ABI/testing/sysfs-class-cxl | 15 +- .../testing/sysfs-class-firmware-attributes | 32 - Documentation/ABI/testing/sysfs-class-gnss | 2 +- Documentation/ABI/testing/sysfs-class-mei | 18 +- Documentation/ABI/testing/sysfs-class-mux | 2 +- Documentation/ABI/testing/sysfs-class-power | 30 +- Documentation/ABI/testing/sysfs-class-pwm | 20 +- Documentation/ABI/testing/sysfs-class-rapidio | 4 +- Documentation/ABI/testing/sysfs-class-rc | 14 +- .../ABI/testing/sysfs-class-rc-nuvoton | 2 +- Documentation/ABI/testing/sysfs-class-typec | 2 +- Documentation/ABI/testing/sysfs-class-uwb_rc | 26 +- .../ABI/testing/sysfs-class-uwb_rc-wusbhc | 10 +- .../ABI/testing/sysfs-devices-platform-dock | 10 +- Documentation/ABI/testing/sysfs-devices-power | 36 - .../ABI/testing/sysfs-devices-removable | 8 +- .../ABI/testing/sysfs-devices-system-cpu | 83 +- Documentation/ABI/testing/sysfs-driver-ufs | 128 +- .../ABI/testing/sysfs-driver-xen-blkback | 4 +- .../ABI/testing/sysfs-driver-xen-blkfront | 2 +- .../ABI/testing/sysfs-firmware-efi-esrt | 16 +- Documentation/ABI/testing/sysfs-fs-f2fs | 28 - Documentation/ABI/testing/sysfs-kernel-slab | 115 +- Documentation/ABI/testing/sysfs-module | 7 - .../testing/sysfs-platform-dell-privacy-wmi | 60 +- Documentation/ABI/testing/sysfs-platform-dptf | 4 - .../ABI/testing/sysfs-platform-intel-pmc | 2 - .../ABI/testing/sysfs-platform-sst-atom | 2 +- Documentation/ABI/testing/sysfs-ptp | 30 +- Documentation/ABI/testing/sysfs-tty | 32 +- .../Expedited-Grace-Periods/Funnel0.svg | 4 +- .../Expedited-Grace-Periods/Funnel1.svg | 4 +- .../Expedited-Grace-Periods/Funnel2.svg | 4 +- .../Expedited-Grace-Periods/Funnel3.svg | 4 +- .../Expedited-Grace-Periods/Funnel4.svg | 4 +- .../Expedited-Grace-Periods/Funnel5.svg | 4 +- .../Expedited-Grace-Periods/Funnel6.svg | 4 +- .../Expedited-Grace-Periods/Funnel7.svg | 4 +- .../Expedited-Grace-Periods/Funnel8.svg | 4 +- .../Tree-RCU-Memory-Ordering.rst | 69 +- .../Requirements/GPpartitionReaders1.svg | 36 +- .../Requirements/ReadersPartitionGP1.svg | 62 +- Documentation/RCU/stallwarn.rst | 21 +- Documentation/RCU/whatisRCU.rst | 90 +- Documentation/accounting/delay-accounting.rst | 55 +- Documentation/arm/index.rst | 1 - Documentation/arm/marvell.rst | 69 +- Documentation/arm/microchip.rst | 20 - Documentation/arm64/booting.rst | 10 - Documentation/arm64/perf.rst | 78 +- .../arm64/pointer-authentication.rst | 9 +- Documentation/arm64/silicon-errata.rst | 26 - Documentation/arm64/sve.rst | 2 +- Documentation/arm64/tagged-address-abi.rst | 2 +- Documentation/block/index.rst | 1 + Documentation/block/inline-encryption.rst | 403 +- Documentation/bpf/btf.rst | 84 +- Documentation/bpf/index.rst | 96 +- .../bpf/libbpf/libbpf_naming_convention.rst | 40 - Documentation/cdrom/cdrom-standard.rst | 11 - Documentation/core-api/cachetlb.rst | 6 - Documentation/core-api/dma-attributes.rst | 8 - Documentation/core-api/irq/irq-domain.rst | 3 + Documentation/core-api/kernel-api.rst | 4 +- Documentation/core-api/kobject.rst | 16 +- Documentation/core-api/memory-hotplug.rst | 3 + Documentation/core-api/mm-api.rst | 5 - Documentation/core-api/printk-formats.rst | 2 +- Documentation/core-api/workqueue.rst | 21 +- Documentation/crypto/crypto_engine.rst | 4 - Documentation/dev-tools/checkpatch.rst | 81 - Documentation/dev-tools/index.rst | 1 - Documentation/dev-tools/kasan.rst | 7 +- Documentation/dev-tools/kcov.rst | 5 - Documentation/dev-tools/kcsan.rst | 74 +- Documentation/dev-tools/kfence.rst | 11 - Documentation/dev-tools/kgdb.rst | 6 +- Documentation/dev-tools/kselftest.rst | 8 - Documentation/dev-tools/kunit/api/index.rst | 3 +- Documentation/dev-tools/kunit/api/test.rst | 3 +- Documentation/dev-tools/kunit/faq.rst | 73 +- Documentation/dev-tools/kunit/index.rst | 144 +- .../dev-tools/kunit/running_tips.rst | 11 +- Documentation/dev-tools/kunit/start.rst | 195 +- Documentation/dev-tools/kunit/style.rst | 105 +- Documentation/dev-tools/kunit/usage.rst | 590 +- Documentation/devicetree/bindings/Makefile | 24 +- .../devicetree/bindings/arm/amlogic.yaml | 3 - .../devicetree/bindings/arm/apple.yaml | 27 +- .../bindings/arm/arm,vexpress-juno.yaml | 46 +- .../devicetree/bindings/arm/atmel-at91.yaml | 24 - .../devicetree/bindings/arm/bcm/bcm2835.yaml | 1 - .../bindings/arm/bcm/brcm,bcm4908.yaml | 1 - .../devicetree/bindings/arm/bcm/brcm,nsp.yaml | 65 +- .../devicetree/bindings/arm/coresight.txt | 5 - .../devicetree/bindings/arm/cpus.yaml | 18 +- .../arm/firmware/linaro,optee-tz.yaml | 8 - .../devicetree/bindings/arm/fsl.yaml | 171 +- .../devicetree/bindings/arm/mediatek.yaml | 21 - .../arm/mediatek/mediatek,apmixedsys.txt | 1 - .../bindings/arm/mediatek/mediatek,ethsys.txt | 1 - .../arm/mediatek/mediatek,infracfg.txt | 1 - .../bindings/arm/mediatek/mediatek,mmsys.yaml | 4 - .../arm/mediatek/mediatek,sgmiisys.txt | 2 - .../arm/mediatek/mediatek,topckgen.txt | 1 - .../bindings/arm/msm/qcom,llcc.yaml | 2 +- .../devicetree/bindings/arm/pmu.yaml | 8 - .../devicetree/bindings/arm/qcom.yaml | 37 - .../devicetree/bindings/arm/renesas.yaml | 73 - .../devicetree/bindings/arm/rockchip.yaml | 48 +- .../devicetree/bindings/arm/rockchip/pmu.yaml | 4 - .../bindings/arm/samsung/samsung-boards.yaml | 18 - .../devicetree/bindings/arm/sprd/sprd.yaml | 5 - .../devicetree/bindings/arm/sti.yaml | 2 +- .../bindings/arm/stm32/st,mlahb.yaml | 4 +- .../bindings/arm/stm32/st,stm32-syscon.yaml | 4 +- .../devicetree/bindings/arm/stm32/stm32.yaml | 7 +- .../devicetree/bindings/arm/sunxi.yaml | 5 - .../arm/sunxi/allwinner,sun4i-a10-mbus.yaml | 92 +- .../devicetree/bindings/arm/tegra.yaml | 48 +- .../devicetree/bindings/arm/ti/k3.yaml | 21 +- .../devicetree/bindings/arm/toshiba.yaml | 1 - .../devicetree/bindings/arm/ux500.yaml | 30 - Documentation/devicetree/bindings/arm/xen.txt | 14 +- .../devicetree/bindings/arm/xilinx.yaml | 17 - .../bindings/auxdisplay/holtek,ht16k33.yaml | 32 +- .../devicetree/bindings/bus/imx-weim.txt | 5 - .../clock/allwinner,sun4i-a10-ccu.yaml | 4 - .../bindings/clock/arm,syscon-icst.yaml | 5 - .../devicetree/bindings/clock/imx5-clock.yaml | 9 +- .../bindings/clock/ingenic,cgu.yaml | 2 +- .../bindings/clock/maxim,max77686.txt | 4 +- .../bindings/clock/nvidia,tegra20-car.yaml | 37 - .../bindings/clock/qcom,dispcc-sm8x50.yaml | 13 - .../bindings/clock/qcom,gcc-msm8998.yaml | 26 +- .../devicetree/bindings/clock/qcom,gcc.yaml | 2 + .../devicetree/bindings/clock/qcom,rpmcc.txt | 1 - .../bindings/clock/qcom,rpmhcc.yaml | 2 - .../bindings/clock/qcom,videocc.yaml | 13 - .../bindings/clock/renesas,cpg-mssr.yaml | 1 - .../bindings/clock/sifive/fu740-prci.yaml | 4 - .../bindings/clock/silabs,si5351.txt | 2 +- .../clock/socionext,uniphier-clock.yaml | 6 - .../bindings/clock/st,stm32mp1-rcc.yaml | 2 +- .../crypto/allwinner,sun4i-a10-crypto.yaml | 10 - .../bindings/crypto/st,stm32-crc.yaml | 2 +- .../bindings/crypto/st,stm32-cryp.yaml | 2 +- .../bindings/crypto/st,stm32-hash.yaml | 2 +- .../bindings/devfreq/rk3399_dmc.txt | 2 +- .../bindings/display/brcm,bcm2835-dsi0.yaml | 3 - .../bindings/display/brcm,bcm2835-hdmi.yaml | 3 - .../bindings/display/brcm,bcm2835-v3d.yaml | 3 - .../bindings/display/brcm,bcm2835-vec.yaml | 3 - .../display/bridge/analogix,anx7625.yaml | 65 +- .../display/bridge/analogix,anx7814.yaml | 4 +- .../bridge/google,cros-ec-anx7688.yaml | 1 + .../bindings/display/bridge/lvds-codec.yaml | 52 +- .../bindings/display/bridge/ps8640.yaml | 20 +- .../display/bridge/snps,dw-mipi-dsi.yaml | 2 +- .../bindings/display/ingenic,ipu.yaml | 2 +- .../bindings/display/ingenic,lcd.yaml | 4 +- .../display/mediatek/mediatek,dsi.txt | 6 - .../bindings/display/msm/dp-controller.yaml | 18 +- .../bindings/display/msm/dpu-sdm845.yaml | 5 +- .../bindings/display/msm/dsi-phy-14nm.yaml | 1 - .../display/panel/abt,y030xx067a.yaml | 5 +- .../display/panel/boe,tv101wum-nl6.yaml | 7 - .../display/panel/ilitek,ili9322.yaml | 4 +- .../display/panel/ilitek,ili9881c.yaml | 6 +- .../display/panel/innolux,ej030na.yaml | 5 +- .../display/panel/jdi,lt070me05000.yaml | 2 - .../panel/kingdisplay,kd035g6-54nt.yaml | 5 +- .../display/panel/lgphilips,lb035q02.yaml | 5 +- .../display/panel/novatek,nt36672a.yaml | 4 +- .../display/panel/orisetech,otm8009a.yaml | 2 +- .../display/panel/panel-simple-dsi.yaml | 2 - .../bindings/display/panel/panel-simple.yaml | 7 - .../display/panel/raydium,rm68200.yaml | 2 +- .../display/panel/samsung,ld9040.yaml | 7 +- .../display/panel/samsung,s6e63m0.yaml | 1 - .../display/panel/sitronix,st7789v.yaml | 5 +- .../display/panel/sony,acx565akm.yaml | 5 +- .../bindings/display/panel/tpo,td.yaml | 5 +- .../bindings/display/renesas,du.yaml | 51 - .../rockchip/rockchip,rk3066-hdmi.yaml | 8 + .../bindings/display/simple-framebuffer.yaml | 12 - .../bindings/display/st,stm32-dsi.yaml | 7 +- .../bindings/display/st,stm32-ltdc.yaml | 4 +- .../display/tegra/nvidia,tegra20-host1x.txt | 53 - .../bindings/display/tilcdc/tilcdc.txt | 4 +- .../display/xlnx/xlnx,zynqmp-dpsub.yaml | 4 +- .../devicetree/bindings/dma/arm-pl08x.yaml | 4 - .../bindings/dma/dma-controller.yaml | 8 +- .../devicetree/bindings/dma/ingenic,dma.yaml | 42 +- .../devicetree/bindings/dma/qcom_bam_dma.txt | 2 - .../bindings/dma/renesas,rcar-dmac.yaml | 5 - .../bindings/dma/sifive,fu540-c000-pdma.yaml | 2 +- .../bindings/dma/snps,dw-axi-dmac.yaml | 3 - .../devicetree/bindings/dma/st,stm32-dma.yaml | 2 +- .../bindings/dma/st,stm32-dmamux.yaml | 2 +- .../bindings/dma/st,stm32-mdma.yaml | 2 +- .../devicetree/bindings/dma/ti/k3-bcdma.yaml | 1 - .../devicetree/bindings/dma/ti/k3-pktdma.yaml | 1 - .../devicetree/bindings/dsp/fsl,dsp.yaml | 123 +- .../devicetree/bindings/eeprom/at24.yaml | 25 +- .../bindings/extcon/extcon-usbc-cros-ec.yaml | 1 + .../bindings/extcon/extcon-usbc-tusb320.yaml | 4 +- ...ntel,ixp4xx-network-processing-engine.yaml | 35 - .../devicetree/bindings/firmware/qcom,scm.txt | 6 +- .../devicetree/bindings/gpio/gpio-vf610.yaml | 3 - .../bindings/gpio/mstar,msc313-gpio.yaml | 4 +- .../bindings/gpio/rockchip,gpio-bank.yaml | 2 - .../devicetree/bindings/gpio/sifive,gpio.yaml | 4 +- .../bindings/gpio/toshiba,gpio-visconti.yaml | 1 + .../bindings/gpu/arm,mali-bifrost.yaml | 45 +- .../bindings/hwlock/st,stm32-hwspinlock.yaml | 3 +- .../devicetree/bindings/hwmon/ti,ina2xx.yaml | 22 - .../i2c/allwinner,sun6i-a31-p2wi.yaml | 2 +- .../devicetree/bindings/i2c/aspeed,i2c.yaml | 1 + .../i2c/google,cros-ec-i2c-tunnel.yaml | 1 + .../devicetree/bindings/i2c/i2c-gate.yaml | 2 +- .../bindings/i2c/i2c-imx-lpi2c.yaml | 7 +- .../devicetree/bindings/i2c/i2c-imx.yaml | 4 +- .../devicetree/bindings/i2c/ingenic,i2c.yaml | 2 +- .../devicetree/bindings/i2c/st,stm32-i2c.yaml | 8 +- .../bindings/iio/accel/kionix,kxcjk1013.yaml | 3 - .../bindings/iio/adc/adi,ad7949.yaml | 51 +- .../bindings/iio/adc/atmel,sama5d2-adc.yaml | 1 - .../bindings/iio/adc/fsl,vf610-adc.yaml | 2 +- .../bindings/iio/adc/ingenic,adc.yaml | 2 +- .../iio/adc/sigma-delta-modulator.yaml | 2 +- .../bindings/iio/adc/st,stm32-adc.yaml | 110 +- .../bindings/iio/adc/st,stm32-dfsdm-adc.yaml | 4 +- .../bindings/iio/adc/x-powers,axp209-adc.yaml | 3 - .../bindings/iio/dac/adi,ad5755.yaml | 1 + .../bindings/iio/dac/st,stm32-dac.yaml | 2 +- .../iio/gyroscope/invensense,mpu3050.yaml | 2 +- .../bindings/iio/imu/invensense,mpu6050.yaml | 2 +- .../bindings/iio/imu/st,lsm6dsx.yaml | 7 - .../iio/magnetometer/asahi-kasei,ak8975.yaml | 7 - .../iio/magnetometer/yamaha,yas530.yaml | 2 +- .../iio/multiplexer/io-channel-mux.yaml | 13 +- .../google,cros-ec-mkbp-proximity.yaml | 1 + .../bindings/iio/temperature/adi,ltc2983.yaml | 22 +- .../bindings/input/google,cros-ec-keyb.yaml | 1 + .../devicetree/bindings/input/gpio-keys.yaml | 8 +- .../bindings/interconnect/qcom,osm-l3.yaml | 1 - .../bindings/interconnect/qcom,rpm.yaml | 143 +- .../bindings/interconnect/qcom,rpmh.yaml | 11 - .../interrupt-controller/apple,aic.yaml | 3 - .../interrupt-controller/arm,gic-v3.yaml | 3 +- .../interrupt-controller/renesas,irqc.yaml | 2 - .../sifive,plic-1.0.0.yaml | 32 +- .../interrupt-controller/st,stm32-exti.yaml | 4 +- .../devicetree/bindings/iommu/apple,dart.yaml | 3 - .../devicetree/bindings/iommu/arm,smmu.yaml | 4 - .../bindings/iommu/renesas,ipmmu-vmsa.yaml | 1 - .../bindings/ipmi/aspeed,ast2400-ibt-bmc.txt | 3 - .../devicetree/bindings/mailbox/fsl,mu.yaml | 1 - .../devicetree/bindings/mailbox/mtk-gce.txt | 4 +- .../mailbox/qcom,apcs-kpss-global.yaml | 3 +- .../bindings/mailbox/st,stm32-ipcc.yaml | 4 +- .../bindings/mailbox/ti,omap-mailbox.yaml | 9 + .../allwinner,sun4i-a10-video-engine.yaml | 1 - .../bindings/media/i2c/adv7604.yaml | 13 +- .../bindings/media/mediatek-vcodec.txt | 2 - .../bindings/media/nxp,imx7-mipi-csi2.yaml | 12 +- .../bindings/media/nxp,imx8mq-mipi-csi2.yaml | 12 +- .../bindings/media/renesas,csi2.yaml | 1 - .../bindings/media/rockchip-isp1.yaml | 114 +- .../bindings/media/st,stm32-cec.yaml | 3 +- .../bindings/media/st,stm32-dcmi.yaml | 2 +- .../devicetree/bindings/media/ti,cal.yaml | 4 +- .../memory-controllers/ingenic,nemc.yaml | 2 +- .../mediatek,smi-common.yaml | 34 +- .../memory-controllers/mediatek,smi-larb.yaml | 3 - .../nvidia,tegra186-mc.yaml | 98 +- .../nvidia,tegra20-emc.yaml | 23 +- .../memory-controllers/renesas,rpc-if.yaml | 53 +- .../samsung,exynos5422-dmc.yaml | 3 +- .../memory-controllers/st,stm32-fmc2-ebi.yaml | 2 +- .../memory-controllers/synopsys,ddrc-ecc.yaml | 1 - .../devicetree/bindings/mfd/brcm,cru.yaml | 21 - .../bindings/mfd/cirrus,madera.yaml | 4 +- .../bindings/mfd/google,cros-ec.yaml | 3 +- .../devicetree/bindings/mfd/max14577.txt | 4 +- .../devicetree/bindings/mfd/max77693.txt | 2 +- .../bindings/mfd/qcom,spmi-pmic.txt | 41 +- .../devicetree/bindings/mfd/qcom,tcsr.txt | 1 - .../devicetree/bindings/mfd/qcom-pm8xxx.yaml | 1 - .../bindings/mfd/st,stm32-lptimer.yaml | 2 +- .../bindings/mfd/st,stm32-timers.yaml | 3 +- .../devicetree/bindings/mfd/st,stmfx.yaml | 2 +- .../devicetree/bindings/mfd/st,stpmic1.yaml | 2 +- .../devicetree/bindings/mfd/syscon.yaml | 5 - .../mfd/ti,j721e-system-controller.yaml | 2 +- .../bindings/mfd/xylon,logicvc.yaml | 3 - .../bindings/mips/ingenic/ingenic,cpu.yaml | 2 +- .../devicetree/bindings/mmc/arasan,sdhci.yaml | 29 +- .../devicetree/bindings/mmc/arm,pl18x.yaml | 25 +- .../devicetree/bindings/mmc/cdns,sdhci.yaml | 1 - .../bindings/mmc/exynos-dw-mshc.txt | 2 - .../bindings/mmc/fsl-imx-esdhc.yaml | 9 - .../devicetree/bindings/mmc/ingenic,mmc.yaml | 39 +- .../bindings/mmc/mmc-controller.yaml | 6 + .../devicetree/bindings/mmc/mtk-sd.yaml | 18 - .../devicetree/bindings/mmc/renesas,sdhi.yaml | 48 +- .../devicetree/bindings/mmc/sdhci-am654.yaml | 2 - .../devicetree/bindings/mmc/sdhci-msm.txt | 2 - .../devicetree/bindings/mmc/sdhci-omap.txt | 9 +- .../bindings/mmc/socionext,uniphier-sd.yaml | 6 - .../bindings/mmc/synopsys-dw-mshc.yaml | 5 +- .../devicetree/bindings/mtd/gpmc-nand.txt | 2 +- .../devicetree/bindings/mtd/ingenic,nand.yaml | 2 +- .../bindings/mtd/jedec,spi-nor.yaml | 3 +- .../bindings/mtd/st,stm32-fmc2-nand.yaml | 2 +- .../devicetree/bindings/mux/gpio-mux.yaml | 11 +- .../devicetree/bindings/mux/mux-consumer.yaml | 21 - .../bindings/mux/mux-controller.yaml | 26 +- .../bindings/net/actions,owl-emac.yaml | 4 - .../net/allwinner,sun8i-a83t-emac.yaml | 29 +- .../bindings/net/brcm,bcm6368-mdio-mux.yaml | 26 +- .../bindings/net/brcm,unimac-mdio.yaml | 3 +- .../bindings/net/broadcom-bluetooth.yaml | 17 +- .../net/can/allwinner,sun4i-a10-can.yaml | 24 - .../bindings/net/can/bosch,m_can.yaml | 52 +- .../devicetree/bindings/net/dsa/dsa.yaml | 50 +- .../bindings/net/dsa/nxp,sja1105.yaml | 49 +- .../bindings/net/dsa/realtek-smi.txt | 87 - .../bindings/net/ethernet-controller.yaml | 54 +- .../devicetree/bindings/net/fsl,fec.yaml | 3 +- .../devicetree/bindings/net/fsl-fman.txt | 9 - .../devicetree/bindings/net/ingenic,mac.yaml | 2 +- .../bindings/net/intel,dwmac-plat.yaml | 2 +- .../bindings/net/intel,ixp4xx-ethernet.yaml | 4 +- .../bindings/net/litex,liteeth.yaml | 1 - .../devicetree/bindings/net/mdio-mux.yaml | 7 +- .../devicetree/bindings/net/mdio.yaml | 8 +- .../bindings/net/mediatek,star-emac.yaml | 5 +- .../devicetree/bindings/net/oxnas-dwmac.txt | 3 - .../devicetree/bindings/net/qca,ar71xx.yaml | 16 +- .../devicetree/bindings/net/qcom,ipa.yaml | 9 +- .../bindings/net/qcom,ipq8064-mdio.yaml | 5 +- .../bindings/net/realtek-bluetooth.yaml | 2 - .../bindings/net/renesas,ether.yaml | 17 +- .../bindings/net/renesas,etheravb.yaml | 3 - .../devicetree/bindings/net/snps,dwmac.yaml | 14 +- .../bindings/net/socionext,uniphier-ave4.yaml | 2 - .../devicetree/bindings/net/stm32-dwmac.yaml | 14 +- .../bindings/net/ti,davinci-mdio.yaml | 7 - .../devicetree/bindings/net/ti,dp83869.yaml | 2 +- .../bindings/net/toshiba,visconti-dwmac.yaml | 2 +- .../bindings/net/wireless/mediatek,mt76.yaml | 9 +- .../net/wireless/microchip,wilc1000.yaml | 19 - .../bindings/net/wireless/qcom,ath11k.yaml | 30 - Documentation/devicetree/bindings/numa.txt | 46 +- .../devicetree/bindings/nvmem/brcm,nvram.yaml | 3 - .../bindings/nvmem/ingenic,jz4780-efuse.yaml | 2 +- .../devicetree/bindings/nvmem/mtk-efuse.txt | 2 - .../devicetree/bindings/nvmem/nvmem.yaml | 17 +- .../devicetree/bindings/nvmem/rmem.yaml | 3 - .../bindings/nvmem/st,stm32-romem.yaml | 5 +- .../devicetree/bindings/opp/opp-v2-base.yaml | 2 +- .../bindings/pci/brcm,stb-pcie.yaml | 31 +- .../bindings/pci/cdns,cdns-pcie-ep.yaml | 1 + .../devicetree/bindings/pci/cdns-pcie-ep.yaml | 1 - .../bindings/pci/fsl,imx6q-pcie.yaml | 6 - .../bindings/pci/hisilicon,kirin-pcie.yaml | 13 - .../bindings/pci/mediatek-pcie-gen3.yaml | 4 - .../bindings/pci/microchip,pcie-host.yaml | 19 - .../devicetree/bindings/pci/qcom,pcie.txt | 5 +- .../devicetree/bindings/pci/rcar-pci-ep.yaml | 1 - .../bindings/pci/sifive,fu740-pcie.yaml | 5 +- .../bindings/pci/snps,dw-pcie-ep.yaml | 6 +- .../devicetree/bindings/pci/snps,dw-pcie.yaml | 2 +- .../pci/socionext,uniphier-pcie-ep.yaml | 2 +- .../bindings/pci/ti,am65-pci-ep.yaml | 10 +- .../bindings/pci/ti,am65-pci-host.yaml | 20 +- .../bindings/pci/ti,j721e-pci-host.yaml | 2 - .../bindings/pci/xilinx-versal-cpm.yaml | 1 + .../devicetree/bindings/perf/arm,cmn.yaml | 21 +- .../bindings/phy/bcm-ns-usb2-phy.yaml | 25 +- .../bindings/phy/ingenic,phy-usb.yaml | 2 +- .../bindings/phy/mediatek,tphy.yaml | 18 - .../bindings/phy/phy-cadence-sierra.yaml | 9 - .../bindings/phy/phy-cadence-torrent.yaml | 4 +- .../bindings/phy/phy-rockchip-inno-usb2.yaml | 44 +- .../bindings/phy/phy-stm32-usbphyc.yaml | 131 +- .../devicetree/bindings/phy/qcom,qmp-phy.yaml | 90 +- .../bindings/phy/qcom,qusb2-phy.yaml | 8 - .../bindings/phy/qcom,usb-snps-femto-v2.yaml | 1 - .../bindings/phy/rockchip-usb-phy.yaml | 11 +- .../phy/socionext,uniphier-ahci-phy.yaml | 21 +- .../phy/socionext,uniphier-pcie-phy.yaml | 1 - .../phy/socionext,uniphier-usb3hs-phy.yaml | 1 - .../phy/socionext,uniphier-usb3ss-phy.yaml | 1 - .../devicetree/bindings/phy/ti,omap-usb2.yaml | 2 +- .../bindings/phy/xlnx,zynqmp-psgtr.yaml | 2 +- .../pinctrl/actions,s500-pinctrl.yaml | 3 - .../pinctrl/allwinner,sun4i-a10-pinctrl.yaml | 1 - .../bindings/pinctrl/apple,pinctrl.yaml | 20 +- .../pinctrl/aspeed,ast2400-pinctrl.yaml | 3 - .../pinctrl/aspeed,ast2500-pinctrl.yaml | 3 - .../pinctrl/aspeed,ast2600-pinctrl.yaml | 3 - .../pinctrl/brcm,bcm6318-pinctrl.yaml | 3 - .../pinctrl/brcm,bcm63268-pinctrl.yaml | 3 - .../pinctrl/brcm,bcm6328-pinctrl.yaml | 3 - .../pinctrl/brcm,bcm6358-pinctrl.yaml | 3 - .../pinctrl/brcm,bcm6362-pinctrl.yaml | 3 - .../pinctrl/brcm,bcm6368-pinctrl.yaml | 3 - .../bindings/pinctrl/brcm,ns-pinmux.yaml | 3 +- .../bindings/pinctrl/canaan,k210-fpioa.yaml | 7 +- .../bindings/pinctrl/cirrus,lochnagar.yaml | 12 +- .../bindings/pinctrl/cirrus,madera.yaml | 13 +- .../bindings/pinctrl/fsl,imx8mm-pinctrl.yaml | 3 - .../bindings/pinctrl/fsl,imx8mn-pinctrl.yaml | 3 - .../bindings/pinctrl/fsl,imx8mp-pinctrl.yaml | 3 - .../bindings/pinctrl/fsl,imx8mq-pinctrl.yaml | 3 - .../bindings/pinctrl/fsl,imx8ulp-pinctrl.yaml | 3 - .../bindings/pinctrl/ingenic,pinctrl.yaml | 8 +- .../bindings/pinctrl/intel,lgm-io.yaml | 3 - .../pinctrl/mediatek,mt65xx-pinctrl.yaml | 3 - .../pinctrl/mediatek,mt6779-pinctrl.yaml | 3 - .../pinctrl/mediatek,mt6797-pinctrl.yaml | 3 - .../pinctrl/mediatek,mt7622-pinctrl.yaml | 3 - .../pinctrl/mediatek,mt8183-pinctrl.yaml | 3 - .../pinctrl/microchip,sparx5-sgpio.yaml | 7 - .../bindings/pinctrl/mscc,ocelot-pinctrl.txt | 3 +- .../bindings/pinctrl/pincfg-node.yaml | 3 - .../bindings/pinctrl/pinctrl-bindings.txt | 41 +- .../bindings/pinctrl/pinctrl-mt8192.yaml | 3 - .../bindings/pinctrl/pinctrl-mt8195.yaml | 253 +- .../pinctrl/qcom,ipq6018-pinctrl.yaml | 3 - .../pinctrl/qcom,lpass-lpi-pinctrl.yaml | 3 - .../pinctrl/qcom,mdm9607-pinctrl.yaml | 1 - .../pinctrl/qcom,msm8226-pinctrl.yaml | 3 - .../pinctrl/qcom,msm8953-pinctrl.yaml | 3 - .../bindings/pinctrl/qcom,pmic-gpio.yaml | 7 - .../bindings/pinctrl/qcom,sc7280-pinctrl.yaml | 3 - .../pinctrl/qcom,sc8180x-pinctrl.yaml | 1 - .../bindings/pinctrl/qcom,sdx55-pinctrl.yaml | 3 - .../bindings/pinctrl/qcom,sm6115-pinctrl.yaml | 3 - .../bindings/pinctrl/qcom,sm6125-pinctrl.yaml | 1 - .../bindings/pinctrl/qcom,sm8250-pinctrl.yaml | 3 - .../bindings/pinctrl/qcom,sm8350-pinctrl.yaml | 1 - .../bindings/pinctrl/qcom,tlmm-common.yaml | 3 - .../pinctrl/ralink,rt2880-pinmux.yaml | 3 - .../bindings/pinctrl/renesas,pfc.yaml | 3 - .../bindings/pinctrl/renesas,rza1-ports.yaml | 3 - .../pinctrl/renesas,rza2-pinctrl.yaml | 3 - .../pinctrl/renesas,rzg2l-pinctrl.yaml | 5 - .../pinctrl/renesas,rzn1-pinctrl.yaml | 3 - .../bindings/pinctrl/samsung-pinctrl.txt | 2 - .../pinctrl/socionext,uniphier-pinctrl.yaml | 45 +- .../bindings/pinctrl/st,stm32-pinctrl.yaml | 5 +- .../pinctrl/toshiba,visconti-pinctrl.yaml | 5 +- .../bindings/pinctrl/xlnx,zynq-pinctrl.yaml | 3 - .../bindings/pinctrl/xlnx,zynqmp-pinctrl.yaml | 3 - .../devicetree/bindings/power/qcom,rpmpd.yaml | 5 - .../bindings/power/renesas,rcar-sysc.yaml | 1 - .../bindings/power/supply/bq25980.yaml | 2 +- .../bindings/power/supply/maxim,max17040.yaml | 6 +- .../power/supply/qcom,pm8941-charger.yaml | 4 +- .../power/supply/stericsson,ab8500-btemp.yaml | 10 +- .../supply/stericsson,ab8500-chargalg.yaml | 10 +- .../supply/stericsson,ab8500-charger.yaml | 10 +- .../power/supply/stericsson,ab8500-fg.yaml | 10 +- .../devicetree/bindings/pwm/pwm-sifive.yaml | 1 + .../devicetree/bindings/pwm/pwm.yaml | 2 - .../bindings/pwm/renesas,tpu-pwm.yaml | 2 - .../bindings/regulator/dlg,da9121.yaml | 70 +- .../regulator/qcom,rpmh-regulator.yaml | 5 - .../regulator/qcom,smd-rpm-regulator.yaml | 4 - .../regulator/qcom,spmi-regulator.txt | 1 - .../bindings/regulator/regulator.yaml | 2 +- .../bindings/regulator/samsung,s5m8767.txt | 23 +- .../socionext,uniphier-regulator.yaml | 1 - .../bindings/regulator/st,stm32-booster.yaml | 2 +- .../bindings/regulator/st,stm32-vrefbuf.yaml | 2 +- .../regulator/st,stm32mp1-pwr-reg.yaml | 2 +- .../bindings/remoteproc/ingenic,vpu.yaml | 2 +- .../bindings/remoteproc/qcom,adsp.yaml | 87 +- .../bindings/remoteproc/qcom,q6v5.txt | 39 +- .../bindings/remoteproc/st,stm32-rproc.yaml | 4 +- .../bindings/remoteproc/ti,k3-dsp-rproc.yaml | 7 +- .../bindings/remoteproc/ti,k3-r5f-rproc.yaml | 12 +- .../reserved-memory/reserved-memory.txt | 172 +- .../bindings/reset/microchip,rst.yaml | 4 +- .../bindings/reset/renesas,rst.yaml | 1 - .../reset/socionext,uniphier-glue-reset.yaml | 1 - .../reset/socionext,uniphier-reset.yaml | 3 - .../devicetree/bindings/riscv/cpus.yaml | 8 +- .../bindings/riscv/sifive-l2-cache.yaml | 1 + .../devicetree/bindings/rng/ingenic,trng.yaml | 2 +- .../devicetree/bindings/rng/st,stm32-rng.yaml | 2 +- .../devicetree/bindings/rtc/epson,rx8900.yaml | 1 - .../devicetree/bindings/rtc/ingenic,rtc.yaml | 2 +- .../devicetree/bindings/rtc/nxp,pcf85063.txt | 9 - .../bindings/rtc/qcom-pm8xxx-rtc.yaml | 9 +- .../devicetree/bindings/rtc/st,stm32-rtc.yaml | 3 +- .../devicetree/bindings/serial/8250.yaml | 3 +- .../devicetree/bindings/serial/8250_omap.yaml | 2 +- .../bindings/serial/amlogic,meson-uart.yaml | 2 - .../bindings/serial/fsl-lpuart.yaml | 8 +- .../bindings/serial/ingenic,uart.yaml | 2 +- .../devicetree/bindings/serial/pl011.yaml | 3 - .../bindings/serial/renesas,sci.yaml | 48 +- .../bindings/serial/renesas,scif.yaml | 15 - .../bindings/serial/samsung_uart.yaml | 1 - .../bindings/serial/snps-dw-apb-uart.yaml | 5 - .../devicetree/bindings/serial/sprd-uart.yaml | 1 - .../bindings/serial/st,stm32-uart.yaml | 2 +- .../bindings/soc/qcom/qcom,aoss-qmp.yaml | 12 +- .../bindings/soc/qcom/qcom,smd-rpm.yaml | 3 - .../bindings/soc/qcom/qcom,smem.yaml | 34 +- .../sound/allwinner,sun4i-a10-i2s.yaml | 3 - .../bindings/sound/amlogic,aiu.yaml | 5 - .../bindings/sound/amlogic,g12a-toacodec.yaml | 5 - .../bindings/sound/amlogic,t9015.yaml | 11 - .../bindings/sound/audio-graph-port.yaml | 9 +- .../bindings/sound/cirrus,cs42l51.yaml | 2 +- .../bindings/sound/google,cros-ec-codec.yaml | 1 - .../bindings/sound/ingenic,aic.yaml | 2 +- .../bindings/sound/ingenic,codec.yaml | 2 +- .../devicetree/bindings/sound/max9892x.txt | 3 - .../bindings/sound/mt8195-afe-pcm.yaml | 8 - .../sound/mt8195-mt6359-rt1019-rt5682.yaml | 14 - .../sound/nvidia,tegra-audio-graph-card.yaml | 10 - .../bindings/sound/nvidia,tegra186-dspk.yaml | 9 +- .../bindings/sound/nvidia,tegra210-ahub.yaml | 20 - .../bindings/sound/nvidia,tegra210-dmic.yaml | 9 +- .../bindings/sound/nvidia,tegra210-i2s.yaml | 9 +- .../bindings/sound/nvidia,tegra30-hda.yaml | 2 - .../bindings/sound/nxp,tfa989x.yaml | 50 +- .../bindings/sound/qcom,lpass-rx-macro.yaml | 4 +- .../bindings/sound/qcom,lpass-tx-macro.yaml | 4 +- .../bindings/sound/qcom,lpass-va-macro.yaml | 4 +- .../bindings/sound/qcom,lpass-wsa-macro.yaml | 4 +- .../devicetree/bindings/sound/qcom,q6afe.txt | 181 + .../devicetree/bindings/sound/qcom,q6asm.txt | 2 +- .../bindings/sound/qcom,sm8250.yaml | 152 +- .../devicetree/bindings/sound/rt5659.txt | 2 +- .../bindings/sound/samsung-i2s.yaml | 6 + .../bindings/sound/simple-audio-mux.yaml | 9 +- .../sound/socionext,uniphier-aio.yaml | 22 +- .../sound/socionext,uniphier-evea.yaml | 6 +- .../bindings/sound/st,stm32-i2s.yaml | 2 +- .../bindings/sound/st,stm32-sai.yaml | 2 +- .../bindings/sound/st,stm32-spdifrx.yaml | 2 +- .../bindings/spi/cdns,qspi-nor.yaml | 46 +- .../bindings/spi/mediatek,spi-mtk-nor.yaml | 8 +- .../bindings/spi/qcom,spi-qcom-qspi.yaml | 6 +- .../devicetree/bindings/spi/renesas,rspi.yaml | 4 +- .../bindings/spi/spi-controller.yaml | 69 +- .../bindings/spi/spi-fsl-lpspi.yaml | 11 +- .../devicetree/bindings/spi/spi-mux.yaml | 1 - .../devicetree/bindings/spi/spi-pl022.yaml | 3 - .../devicetree/bindings/spi/spi-rockchip.yaml | 1 - .../bindings/spi/st,stm32-qspi.yaml | 4 +- .../devicetree/bindings/spi/st,stm32-spi.yaml | 4 +- .../devicetree/bindings/spmi/spmi.yaml | 3 + .../devicetree/bindings/sram/sram.yaml | 10 +- .../bindings/submitting-patches.rst | 3 - .../bindings/thermal/rockchip-thermal.yaml | 23 +- .../thermal/socionext,uniphier-thermal.yaml | 1 - .../bindings/thermal/st,stm32-thermal.yaml | 2 +- .../devicetree/bindings/timer/cdns,ttc.yaml | 3 - .../bindings/timer/ingenic,sysost.yaml | 2 +- .../bindings/timer/ingenic,tcu.yaml | 2 +- .../bindings/timer/nxp,tpm-timer.yaml | 6 +- .../bindings/timer/renesas,ostm.yaml | 20 +- .../bindings/timer/rockchip,rk-timer.yaml | 1 + .../bindings/timer/sifive,clint.yaml | 1 - .../bindings/timer/st,stm32-timer.yaml | 3 +- .../devicetree/bindings/trivial-devices.yaml | 51 +- .../bindings/ufs/samsung,exynos-ufs.yaml | 10 - .../devicetree/bindings/ufs/ufshcd-pltfrm.txt | 1 - .../devicetree/bindings/usb/atmel-usb.txt | 4 - .../devicetree/bindings/usb/dwc2.yaml | 29 +- .../devicetree/bindings/usb/ingenic,musb.yaml | 2 +- .../bindings/usb/intel,keembay-dwc3.yaml | 3 - .../bindings/usb/nvidia,tegra-xudc.yaml | 13 - .../devicetree/bindings/usb/qcom,dwc3.yaml | 5 - .../devicetree/bindings/usb/snps,dwc3.yaml | 24 +- .../devicetree/bindings/usb/st,stusb160x.yaml | 2 +- .../devicetree/bindings/usb/ti,j721e-usb.yaml | 2 +- .../bindings/usb/ti,keystone-dwc3.yaml | 2 +- .../devicetree/bindings/usb/ti,tps6598x.yaml | 4 - .../devicetree/bindings/vendor-prefixes.yaml | 56 - .../watchdog/allwinner,sun4i-a10-wdt.yaml | 46 +- .../bindings/watchdog/atmel,sama5d4-wdt.yaml | 3 - .../bindings/watchdog/fsl-imx7ulp-wdt.yaml | 7 +- .../devicetree/bindings/watchdog/mtk-wdt.txt | 2 - .../bindings/watchdog/qcom-wdt.yaml | 2 - .../bindings/watchdog/renesas,wdt.yaml | 75 +- .../bindings/watchdog/samsung-wdt.yaml | 45 +- .../bindings/watchdog/st,stm32-iwdg.yaml | 4 +- .../bindings/watchdog/ti,rti-wdt.yaml | 6 + .../devicetree/bindings/writing-schema.rst | 29 +- .../driver-api/cxl/memory-devices.rst | 6 - .../driver-api/dmaengine/dmatest.rst | 10 - .../driver-api/dmaengine/provider.rst | 23 - .../driver-api/driver-model/devres.rst | 1 - Documentation/driver-api/fpga/fpga-bridge.rst | 6 +- Documentation/driver-api/fpga/fpga-mgr.rst | 38 +- Documentation/driver-api/fpga/fpga-region.rst | 12 +- .../driver-api/media/drivers/index.rst | 1 - .../media/maintainer-entry-profile.rst | 2 +- .../driver-api/media/v4l2-subdev.rst | 14 +- Documentation/driver-api/mmc/mmc-tools.rst | 4 +- Documentation/driver-api/pci/pci.rst | 2 +- Documentation/driver-api/serial/index.rst | 1 + Documentation/driver-api/serial/n_gsm.rst | 77 +- .../driver-api/thermal/sysfs-api.rst | 225 +- .../driver-api/usb/writing_usb_driver.rst | 45 +- Documentation/filesystems/autofs.rst | 2 +- .../filesystems/caching/backend-api.rst | 1008 +- .../filesystems/caching/cachefiles.rst | 6 +- Documentation/filesystems/caching/fscache.rst | 511 +- Documentation/filesystems/caching/index.rst | 4 +- .../filesystems/caching/netfs-api.rst | 1178 +- Documentation/filesystems/ceph.rst | 25 +- Documentation/filesystems/cifs/ksmbd.rst | 10 +- Documentation/filesystems/dax.rst | 20 +- Documentation/filesystems/erofs.rst | 20 +- Documentation/filesystems/ext4/orphan.rst | 44 +- Documentation/filesystems/f2fs.rst | 22 +- Documentation/filesystems/fscrypt.rst | 73 +- Documentation/filesystems/idmappings.rst | 72 + Documentation/filesystems/index.rst | 1 + Documentation/filesystems/locking.rst | 5 + Documentation/filesystems/locks.rst | 17 +- Documentation/filesystems/netfs_library.rst | 117 +- Documentation/filesystems/nfs/index.rst | 1 - Documentation/filesystems/proc.rst | 30 +- Documentation/hwmon/dell-smm-hwmon.rst | 3 - Documentation/hwmon/index.rst | 6 - Documentation/hwmon/ir38064.rst | 28 +- Documentation/hwmon/lm25066.rst | 2 - Documentation/hwmon/sysfs-interface.rst | 596 +- Documentation/hwmon/tmp401.rst | 15 +- Documentation/hwmon/tmp421.rst | 10 - Documentation/kbuild/gcc-plugins.rst | 28 +- Documentation/kbuild/makefiles.rst | 17 +- Documentation/kernel-hacking/locking.rst | 16 +- Documentation/leds/well-known-leds.txt | 14 - Documentation/livepatch/index.rst | 1 - Documentation/livepatch/system-state.rst | 4 +- Documentation/maintainer/pull-requests.rst | 2 +- Documentation/networking/bonding.rst | 11 - .../device_drivers/ethernet/amazon/ena.rst | 2 +- .../ethernet/freescale/dpaa2/overview.rst | 1 - .../device_drivers/ethernet/mellanox/mlx5.rst | 60 - .../networking/device_drivers/index.rst | 1 - Documentation/networking/devlink/bnxt.rst | 2 - .../networking/devlink/devlink-params.rst | 15 +- .../networking/devlink/devlink-region.rst | 4 +- Documentation/networking/devlink/ice.rst | 28 +- Documentation/networking/devlink/index.rst | 2 - Documentation/networking/devlink/mlx5.rst | 11 - Documentation/networking/ethtool-netlink.rst | 91 +- Documentation/networking/filter.rst | 1036 +- Documentation/networking/ip-sysctl.rst | 38 +- Documentation/networking/ipvs-sysctl.rst | 11 - Documentation/networking/mctp.rst | 59 - Documentation/networking/net_failover.rst | 111 +- Documentation/networking/phy.rst | 5 - Documentation/networking/rds.rst | 2 +- Documentation/process/5.Posting.rst | 29 +- Documentation/process/changes.rst | 15 +- Documentation/process/coding-style.rst | 39 +- Documentation/process/deprecated.rst | 5 +- Documentation/process/index.rst | 1 - Documentation/process/submitting-drivers.rst | 2 +- Documentation/process/submitting-patches.rst | 64 +- Documentation/scheduler/sched-bwc.rst | 85 +- Documentation/sound/alsa-configuration.rst | 9 - Documentation/sound/soc/codec.rst | 8 +- .../sphinx-static/theme_overrides.css | 16 +- Documentation/sphinx/automarkup.py | 25 +- Documentation/sphinx/kernel_abi.py | 2 +- Documentation/sphinx/kernel_feat.py | 2 +- Documentation/spi/pxa2xx.rst | 35 +- Documentation/spi/spi-summary.rst | 8 + Documentation/spi/spidev.rst | 54 +- Documentation/timers/no_hz.rst | 18 +- Documentation/trace/boottime-trace.rst | 4 +- .../trace/coresight/coresight-config.rst | 62 +- Documentation/trace/ftrace.rst | 11 +- Documentation/trace/histogram.rst | 15 - Documentation/trace/kprobes.rst | 2 +- Documentation/trace/timerlat-tracer.rst | 24 +- .../translations/it_IT/doc-guide/sphinx.rst | 23 +- .../it_IT/kernel-hacking/locking.rst | 14 +- .../it_IT/process/submitting-patches.rst | 23 +- .../translations/ja_JP/SubmittingPatches | 15 + .../translations/ko_KR/memory-barriers.txt | 8 +- .../translations/zh_CN/admin-guide/README.rst | 11 +- .../translations/zh_CN/core-api/index.rst | 22 +- .../zh_CN/core-api/irq/irq-affinity.rst | 2 +- .../zh_CN/core-api/kernel-api.rst | 2 + .../translations/zh_CN/core-api/kobject.rst | 12 +- .../zh_CN/core-api/memory-hotplug.rst | 6 +- .../translations/zh_CN/cpu-freq/core.rst | 24 +- .../zh_CN/cpu-freq/cpu-drivers.rst | 141 +- .../zh_CN/cpu-freq/cpufreq-stats.rst | 45 +- .../translations/zh_CN/doc-guide/sphinx.rst | 21 +- Documentation/translations/zh_CN/index.rst | 7 +- .../zh_CN/maintainer/pull-requests.rst | 2 +- .../translations/zh_CN/process/5.Posting.rst | 8 +- .../translations/zh_CN/process/howto.rst | 10 +- .../zh_CN/process/management-style.rst | 4 +- .../zh_CN/process/submitting-patches.rst | 31 +- .../zh_TW/process/submitting-patches.rst | 28 +- Documentation/userspace-api/index.rst | 1 - Documentation/userspace-api/ioctl/cdrom.rst | 113 +- .../userspace-api/ioctl/ioctl-number.rst | 5 - .../media/cec/cec-ioc-receive.rst | 49 +- .../media/drivers/cx2341x-uapi.rst | 8 +- .../userspace-api/media/lirc.h.rst.exceptions | 2 - .../userspace-api/media/rc/lirc-dev-intro.rst | 8 +- .../userspace-api/media/rc/lirc-func.rst | 1 + .../userspace-api/media/v4l/biblio.rst | 10 - .../userspace-api/media/v4l/buffer.rst | 40 +- .../userspace-api/media/v4l/capture.c.rst | 52 +- .../userspace-api/media/v4l/control.rst | 9 - .../userspace-api/media/v4l/dev-decoder.rst | 17 - .../media/v4l/ext-ctrls-codec-stateless.rst | 573 - .../media/v4l/ext-ctrls-codec.rst | 98 +- .../media/v4l/libv4l-introduction.rst | 2 +- .../media/v4l/pixfmt-compressed.rst | 20 +- .../media/v4l/pixfmt-reserved.rst | 27 +- .../media/v4l/pixfmt-yuv-planar.rst | 50 +- .../media/v4l/subdev-formats.rst | 2 +- .../userspace-api/media/v4l/v4l2grab.c.rst | 8 +- .../media/v4l/vidioc-create-bufs.rst | 7 +- .../userspace-api/media/v4l/vidioc-g-ctrl.rst | 3 - .../media/v4l/vidioc-g-ext-ctrls.rst | 11 - .../media/v4l/vidioc-queryctrl.rst | 18 - .../media/v4l/vidioc-reqbufs.rst | 16 +- .../media/videodev2.h.rst.exceptions | 4 - .../virt/kvm/amd-memory-encryption.rst | 6 - Documentation/virt/kvm/api.rst | 362 +- Documentation/virt/kvm/devices/vcpu.rst | 70 - Documentation/virt/kvm/devices/xics.rst | 2 +- Documentation/virt/kvm/devices/xive.rst | 2 +- Documentation/virt/kvm/mmu.rst | 8 +- Documentation/virt/ne_overview.rst | 21 +- .../virt/uml/user_mode_linux_howto_v2.rst | 119 +- Documentation/w1/masters/w1-gpio.rst | 2 +- Documentation/x86/entry_64.rst | 2 +- Documentation/x86/index.rst | 1 - Documentation/x86/sgx.rst | 49 +- Documentation/x86/x86_64/machinecheck.rst | 56 +- drivers/amba/bus.c | 118 +- drivers/char/agp/amd64-agp.c | 24 +- drivers/char/agp/intel-gtt.c | 1 - drivers/char/agp/sis-agp.c | 25 +- drivers/char/agp/via-agp.c | 25 +- drivers/char/applicom.c | 4 +- drivers/char/hpet.c | 22 +- drivers/char/hw_random/Kconfig | 38 +- drivers/char/hw_random/Makefile | 2 +- drivers/char/hw_random/cavium-rng-vf.c | 194 +- drivers/char/hw_random/cavium-rng.c | 11 +- drivers/char/hw_random/ixp4xx-rng.c | 4 +- drivers/char/hw_random/meson-rng.c | 5 +- drivers/char/hw_random/s390-trng.c | 4 +- drivers/char/hw_random/virtio-rng.c | 86 +- drivers/char/ipmi/Kconfig | 11 +- drivers/char/ipmi/Makefile | 1 - drivers/char/ipmi/bt-bmc.c | 69 +- drivers/char/ipmi/ipmi_devintf.c | 8 +- drivers/char/ipmi/ipmi_msghandler.c | 334 +- drivers/char/ipmi/ipmi_si_intf.c | 8 +- drivers/char/ipmi/ipmi_ssif.c | 4 +- drivers/char/mem.c | 8 +- drivers/char/pcmcia/cm4000_cs.c | 9 +- drivers/char/random.c | 793 +- drivers/char/tpm/Kconfig | 2 +- drivers/char/tpm/st33zp24/st33zp24.c | 122 +- drivers/char/tpm/tpm-chip.c | 19 +- drivers/char/tpm/tpm-sysfs.c | 3 - drivers/char/tpm/tpm2-cmd.c | 6 - drivers/char/tpm/tpm_tis_i2c_cr50.c | 16 +- drivers/char/tpm/tpm_tis_spi_cr50.c | 20 +- drivers/char/virtio_console.c | 13 +- drivers/char/xillybus/xillybus.h | 31 +- drivers/char/xillybus/xillybus_core.c | 131 +- drivers/char/xillybus/xillybus_of.c | 86 +- drivers/char/xillybus/xillybus_pcie.c | 99 +- drivers/comedi/comedi_buf.c | 3 +- drivers/comedi/comedi_fops.c | 2 +- drivers/comedi/comedi_pci.c | 3 +- drivers/comedi/comedi_pcmcia.c | 3 +- drivers/comedi/comedi_usb.c | 3 +- drivers/comedi/drivers.c | 3 +- drivers/comedi/drivers/8255.c | 5 +- drivers/comedi/drivers/8255_pci.c | 6 +- drivers/comedi/drivers/addi_apci_1032.c | 2 +- drivers/comedi/drivers/addi_apci_1500.c | 2 +- drivers/comedi/drivers/addi_apci_1516.c | 2 +- drivers/comedi/drivers/addi_apci_1564.c | 2 +- drivers/comedi/drivers/addi_apci_16xx.c | 3 +- drivers/comedi/drivers/addi_apci_2032.c | 2 +- drivers/comedi/drivers/addi_apci_2200.c | 2 +- drivers/comedi/drivers/addi_apci_3120.c | 2 +- drivers/comedi/drivers/addi_apci_3501.c | 2 +- drivers/comedi/drivers/addi_apci_3xxx.c | 3 +- drivers/comedi/drivers/addi_watchdog.c | 2 +- drivers/comedi/drivers/adl_pci6208.c | 3 +- drivers/comedi/drivers/adl_pci7x3x.c | 3 +- drivers/comedi/drivers/adl_pci8164.c | 3 +- drivers/comedi/drivers/adl_pci9111.c | 5 +- drivers/comedi/drivers/adl_pci9118.c | 5 +- drivers/comedi/drivers/adq12b.c | 3 +- drivers/comedi/drivers/adv_pci1710.c | 5 +- drivers/comedi/drivers/adv_pci1720.c | 3 +- drivers/comedi/drivers/adv_pci1723.c | 3 +- drivers/comedi/drivers/adv_pci1724.c | 3 +- drivers/comedi/drivers/adv_pci1760.c | 3 +- drivers/comedi/drivers/adv_pci_dio.c | 8 +- drivers/comedi/drivers/aio_aio12_8.c | 7 +- drivers/comedi/drivers/aio_iiro_16.c | 3 +- drivers/comedi/drivers/amplc_dio200.c | 2 +- drivers/comedi/drivers/amplc_dio200_common.c | 7 +- drivers/comedi/drivers/amplc_dio200_pci.c | 3 +- drivers/comedi/drivers/amplc_pc236.c | 3 +- drivers/comedi/drivers/amplc_pc236_common.c | 5 +- drivers/comedi/drivers/amplc_pc263.c | 2 +- drivers/comedi/drivers/amplc_pci224.c | 6 +- drivers/comedi/drivers/amplc_pci230.c | 8 +- drivers/comedi/drivers/amplc_pci236.c | 3 +- drivers/comedi/drivers/amplc_pci263.c | 3 +- drivers/comedi/drivers/c6xdigio.c | 3 +- drivers/comedi/drivers/cb_das16_cs.c | 6 +- drivers/comedi/drivers/cb_pcidas.c | 7 +- drivers/comedi/drivers/cb_pcidas64.c | 5 +- drivers/comedi/drivers/cb_pcidda.c | 6 +- drivers/comedi/drivers/cb_pcimdas.c | 7 +- drivers/comedi/drivers/cb_pcimdda.c | 6 +- drivers/comedi/drivers/comedi_8254.c | 6 +- drivers/comedi/drivers/comedi_8255.c | 5 +- drivers/comedi/drivers/comedi_bond.c | 6 +- drivers/comedi/drivers/comedi_isadma.c | 6 +- drivers/comedi/drivers/comedi_parport.c | 3 +- drivers/comedi/drivers/comedi_test.c | 4 +- drivers/comedi/drivers/contec_pci_dio.c | 3 +- drivers/comedi/drivers/dac02.c | 3 +- drivers/comedi/drivers/daqboard2000.c | 5 +- drivers/comedi/drivers/das08.c | 7 +- drivers/comedi/drivers/das08_cs.c | 3 +- drivers/comedi/drivers/das08_isa.c | 2 +- drivers/comedi/drivers/das08_pci.c | 3 +- drivers/comedi/drivers/das16.c | 10 +- drivers/comedi/drivers/das16m1.c | 7 +- drivers/comedi/drivers/das1800.c | 8 +- drivers/comedi/drivers/das6402.c | 6 +- drivers/comedi/drivers/das800.c | 6 +- drivers/comedi/drivers/dmm32at.c | 5 +- drivers/comedi/drivers/dt2801.c | 2 +- drivers/comedi/drivers/dt2811.c | 3 +- drivers/comedi/drivers/dt2814.c | 3 +- drivers/comedi/drivers/dt2815.c | 3 +- drivers/comedi/drivers/dt2817.c | 2 +- drivers/comedi/drivers/dt282x.c | 6 +- drivers/comedi/drivers/dt3000.c | 3 +- drivers/comedi/drivers/dt9812.c | 3 +- drivers/comedi/drivers/dyna_pci10xx.c | 3 +- drivers/comedi/drivers/fl512.c | 3 +- drivers/comedi/drivers/gsc_hpdi.c | 3 +- drivers/comedi/drivers/icp_multi.c | 3 +- drivers/comedi/drivers/ii_pci20kc.c | 2 +- drivers/comedi/drivers/jr3_pci.c | 3 +- drivers/comedi/drivers/ke_counter.c | 3 +- drivers/comedi/drivers/me4000.c | 5 +- drivers/comedi/drivers/me_daq.c | 3 +- drivers/comedi/drivers/mf6x4.c | 3 +- drivers/comedi/drivers/mite.c | 3 +- drivers/comedi/drivers/mpc624.c | 3 +- drivers/comedi/drivers/multiq3.c | 3 +- drivers/comedi/drivers/ni_6527.c | 3 +- drivers/comedi/drivers/ni_65xx.c | 3 +- drivers/comedi/drivers/ni_660x.c | 3 +- drivers/comedi/drivers/ni_670x.c | 3 +- drivers/comedi/drivers/ni_at_a2150.c | 8 +- drivers/comedi/drivers/ni_at_ao.c | 6 +- drivers/comedi/drivers/ni_atmio.c | 5 +- drivers/comedi/drivers/ni_atmio16d.c | 5 +- drivers/comedi/drivers/ni_daq_700.c | 3 +- drivers/comedi/drivers/ni_daq_dio24.c | 5 +- drivers/comedi/drivers/ni_labpc.c | 3 +- drivers/comedi/drivers/ni_labpc_common.c | 7 +- drivers/comedi/drivers/ni_labpc_cs.c | 3 +- drivers/comedi/drivers/ni_labpc_isadma.c | 5 +- drivers/comedi/drivers/ni_labpc_pci.c | 3 +- drivers/comedi/drivers/ni_mio_common.c | 2 +- drivers/comedi/drivers/ni_mio_cs.c | 4 +- drivers/comedi/drivers/ni_pcidio.c | 3 +- drivers/comedi/drivers/ni_pcimio.c | 4 +- drivers/comedi/drivers/ni_routes.c | 3 +- drivers/comedi/drivers/ni_routes.h | 2 +- .../drivers/ni_routing/tools/.gitignore | 1 - .../comedi/drivers/ni_routing/tools/Makefile | 29 +- drivers/comedi/drivers/ni_tio.h | 2 +- drivers/comedi/drivers/ni_usb6501.c | 3 +- drivers/comedi/drivers/pcl711.c | 6 +- drivers/comedi/drivers/pcl724.c | 5 +- drivers/comedi/drivers/pcl726.c | 3 +- drivers/comedi/drivers/pcl730.c | 2 +- drivers/comedi/drivers/pcl812.c | 8 +- drivers/comedi/drivers/pcl816.c | 8 +- drivers/comedi/drivers/pcl818.c | 8 +- drivers/comedi/drivers/pcm3724.c | 5 +- drivers/comedi/drivers/pcmad.c | 2 +- drivers/comedi/drivers/pcmda12.c | 2 +- drivers/comedi/drivers/pcmmio.c | 3 +- drivers/comedi/drivers/pcmuio.c | 3 +- drivers/comedi/drivers/quatech_daqp_cs.c | 3 +- drivers/comedi/drivers/rtd520.c | 5 +- drivers/comedi/drivers/rti800.c | 2 +- drivers/comedi/drivers/rti802.c | 2 +- drivers/comedi/drivers/s526.c | 2 +- drivers/comedi/drivers/s626.c | 3 +- drivers/comedi/drivers/ssv_dnp.c | 2 +- drivers/comedi/drivers/usbdux.c | 3 +- drivers/comedi/drivers/usbduxfast.c | 2 +- drivers/comedi/drivers/usbduxsigma.c | 3 +- drivers/comedi/drivers/vmk80xx.c | 3 +- drivers/comedi/kcomedilib/kcomedilib_main.c | 6 +- drivers/comedi/proc.c | 2 +- drivers/comedi/range.c | 2 +- drivers/cpufreq/Kconfig.x86 | 17 - drivers/cpufreq/Makefile | 5 - drivers/cpufreq/acpi-cpufreq.c | 3 +- drivers/cpufreq/amd_freq_sensitivity.c | 3 +- drivers/cpufreq/cppc_cpufreq.c | 2 + drivers/cpufreq/cpufreq.c | 26 +- drivers/cpufreq/cpufreq_conservative.c | 11 +- drivers/cpufreq/cpufreq_ondemand.c | 21 +- drivers/cpufreq/intel_pstate.c | 248 +- drivers/cpufreq/mediatek-cpufreq-hw.c | 35 +- drivers/cpufreq/powernv-cpufreq.c | 4 +- drivers/cpufreq/qcom-cpufreq-hw.c | 45 +- drivers/cpufreq/s3c2440-cpufreq.c | 2 - drivers/cpufreq/s5pv210-cpufreq.c | 2 +- drivers/cpufreq/tegra186-cpufreq.c | 4 - drivers/cpufreq/tegra194-cpufreq.c | 8 +- drivers/devfreq/Kconfig | 9 - drivers/devfreq/Makefile | 1 - drivers/devfreq/devfreq.c | 32 +- drivers/devfreq/event/exynos-ppmu.c | 12 +- drivers/devfreq/governor.h | 3 - drivers/devfreq/tegra30-devfreq.c | 109 +- drivers/dma/Kconfig | 2 +- drivers/dma/altera-msgdma.c | 10 +- drivers/dma/at_xdmac.c | 157 +- drivers/dma/dma-jz4780.c | 119 +- drivers/dma/dmaengine.c | 10 +- .../dma/dw-axi-dmac/dw-axi-dmac-platform.c | 112 +- drivers/dma/dw-axi-dmac/dw-axi-dmac.h | 35 +- drivers/dma/dw-edma/dw-edma-core.c | 1 + drivers/dma/dw-edma/dw-edma-pcie.c | 23 +- drivers/dma/dw/pci.c | 6 +- drivers/dma/fsl-edma-common.c | 35 +- drivers/dma/fsl-edma-common.h | 4 - drivers/dma/fsl-edma.c | 7 - drivers/dma/hisi_dma.c | 6 +- drivers/dma/hsu/pci.c | 6 +- drivers/dma/idxd/device.c | 236 +- drivers/dma/idxd/dma.c | 40 +- drivers/dma/idxd/idxd.h | 69 +- drivers/dma/idxd/init.c | 196 +- drivers/dma/idxd/irq.c | 242 +- drivers/dma/idxd/registers.h | 18 +- drivers/dma/idxd/submit.c | 69 +- drivers/dma/idxd/sysfs.c | 215 +- drivers/dma/imx-sdma.c | 28 +- drivers/dma/ioat/init.c | 10 +- drivers/dma/ioat/sysfs.c | 3 +- drivers/dma/milbeaut-hdmac.c | 2 +- drivers/dma/mmp_pdma.c | 1 - drivers/dma/mv_xor_v2.c | 16 +- drivers/dma/pch_dma.c | 2 +- drivers/dma/plx_dma.c | 10 +- drivers/dma/ppc4xx/adma.c | 3 +- drivers/dma/pxa_dma.c | 3 +- drivers/dma/qcom/bam_dma.c | 90 +- drivers/dma/qcom/gpi.c | 4 +- drivers/dma/qcom/hidma.c | 44 +- drivers/dma/qcom/qcom_adm.c | 56 +- drivers/dma/sa11x0-dma.c | 11 +- drivers/dma/sh/rcar-dmac.c | 30 +- drivers/dma/sh/rz-dmac.c | 16 +- drivers/dma/sh/shdma-base.c | 14 +- drivers/dma/sprd-dma.c | 3 + drivers/dma/stm32-dma.c | 1 - drivers/dma/stm32-mdma.c | 79 +- drivers/dma/tegra20-apb-dma.c | 6 + drivers/dma/tegra210-adma.c | 56 +- drivers/dma/ti/Makefile | 3 +- drivers/dma/ti/edma.c | 3 +- drivers/dma/ti/k3-psil-priv.h | 1 - drivers/dma/ti/k3-psil.c | 1 - drivers/dma/ti/k3-udma-private.c | 6 +- drivers/dma/ti/k3-udma.c | 168 +- drivers/dma/xilinx/xilinx_dma.c | 147 +- drivers/dma/xilinx/xilinx_dpdma.c | 21 +- drivers/dma/xilinx/zynqmp_dma.c | 77 +- drivers/edac/Kconfig | 2 +- drivers/edac/al_mc_edac.c | 12 +- drivers/edac/amd64_edac.c | 311 +- drivers/edac/amd64_edac.h | 8 +- drivers/edac/edac_mc.c | 44 +- drivers/edac/mce_amd.c | 146 +- drivers/edac/sb_edac.c | 2 +- drivers/edac/sifive_edac.c | 2 +- drivers/edac/synopsys_edac.c | 49 +- drivers/edac/ti_edac.c | 7 +- drivers/firewire/core-cdev.c | 32 +- drivers/firewire/net.c | 14 +- drivers/firewire/sbp2.c | 10 +- drivers/iommu/amd/amd_iommu.h | 1 + drivers/iommu/amd/amd_iommu_types.h | 3 +- drivers/iommu/amd/init.c | 28 +- drivers/iommu/amd/io_pgtable.c | 130 +- drivers/iommu/amd/iommu.c | 34 +- drivers/iommu/amd/iommu_v2.c | 3 +- drivers/iommu/apple-dart.c | 31 +- .../iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c | 2 +- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 44 +- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 5 +- drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 4 - drivers/iommu/dma-iommu.c | 432 +- drivers/iommu/intel/Kconfig | 4 - drivers/iommu/intel/cap_audit.c | 16 +- drivers/iommu/intel/cap_audit.h | 1 - drivers/iommu/intel/dmar.c | 10 +- drivers/iommu/intel/iommu.c | 320 +- drivers/iommu/intel/svm.c | 24 +- drivers/iommu/ioasid.c | 1 - drivers/iommu/iommu.c | 30 +- drivers/iommu/iova.c | 208 +- drivers/iommu/ipmmu-vmsa.c | 32 +- drivers/iommu/omap-iommu.c | 2 +- drivers/iommu/s390-iommu.c | 10 +- drivers/iommu/tegra-smmu.c | 9 +- drivers/iommu/virtio-iommu.c | 117 +- drivers/net/Kconfig | 22 +- drivers/net/Makefile | 1 - drivers/net/appletalk/cops.c | 2 +- drivers/net/appletalk/ipddp.c | 1 - drivers/net/arcnet/arc-rimi.c | 5 +- drivers/net/arcnet/arcdevice.h | 5 - drivers/net/arcnet/com20020-isa.c | 2 +- drivers/net/arcnet/com20020-pci.c | 5 +- drivers/net/arcnet/com20020.c | 4 +- drivers/net/arcnet/com20020_cs.c | 2 +- drivers/net/arcnet/com90io.c | 2 +- drivers/net/arcnet/com90xx.c | 3 +- drivers/net/bareudp.c | 61 +- drivers/net/bonding/bond_alb.c | 28 +- drivers/net/bonding/bond_main.c | 94 +- drivers/net/bonding/bond_netlink.c | 15 - drivers/net/bonding/bond_options.c | 28 - drivers/net/bonding/bond_procfs.c | 10 +- drivers/net/bonding/bond_sysfs.c | 17 +- drivers/net/can/Makefile | 2 +- drivers/net/can/at91_can.c | 22 +- drivers/net/can/c_can/c_can.h | 1 + drivers/net/can/c_can/c_can_ethtool.c | 4 +- drivers/net/can/c_can/c_can_main.c | 16 +- drivers/net/can/cc770/cc770.c | 16 +- drivers/net/can/dev/bittiming.c | 31 +- drivers/net/can/dev/dev.c | 9 +- drivers/net/can/dev/netlink.c | 252 +- drivers/net/can/dev/rx-offload.c | 7 +- drivers/net/can/flexcan.c | 150 +- drivers/net/can/grcan.c | 23 +- drivers/net/can/ifi_canfd/ifi_canfd.c | 11 +- drivers/net/can/janz-ican3.c | 10 +- drivers/net/can/kvaser_pciefd.c | 16 +- drivers/net/can/m_can/m_can.c | 23 +- drivers/net/can/mscan/mpc5xxx_can.c | 6 +- drivers/net/can/mscan/mscan.c | 14 +- drivers/net/can/pch_can.c | 33 +- drivers/net/can/peak_canfd/peak_canfd.c | 14 +- drivers/net/can/rcar/Kconfig | 4 +- drivers/net/can/rcar/rcar_can.c | 22 +- drivers/net/can/rcar/rcar_canfd.c | 17 +- drivers/net/can/sja1000/sja1000.c | 11 +- drivers/net/can/sja1000/sja1000_platform.c | 15 +- drivers/net/can/slcan.c | 16 +- drivers/net/can/softing/softing_main.c | 8 +- drivers/net/can/spi/hi311x.c | 83 +- drivers/net/can/spi/mcp251x.c | 34 +- drivers/net/can/spi/mcp251xfd/Makefile | 5 - .../net/can/spi/mcp251xfd/mcp251xfd-core.c | 1081 +- .../net/can/spi/mcp251xfd/mcp251xfd-regmap.c | 1 + drivers/net/can/spi/mcp251xfd/mcp251xfd.h | 36 +- drivers/net/can/sun4i_can.c | 84 +- drivers/net/can/ti_hecc.c | 8 +- drivers/net/can/usb/ems_usb.c | 14 +- drivers/net/can/usb/esd_usb2.c | 13 +- drivers/net/can/usb/etas_es58x/es581_4.c | 5 +- drivers/net/can/usb/etas_es58x/es581_4.h | 2 +- drivers/net/can/usb/etas_es58x/es58x_core.c | 17 +- drivers/net/can/usb/etas_es58x/es58x_core.h | 8 +- drivers/net/can/usb/etas_es58x/es58x_fd.c | 12 +- drivers/net/can/usb/etas_es58x/es58x_fd.h | 2 +- drivers/net/can/usb/gs_usb.c | 29 +- drivers/net/can/usb/kvaser_usb/kvaser_usb.h | 5 +- .../net/can/usb/kvaser_usb/kvaser_usb_core.c | 4 +- .../net/can/usb/kvaser_usb/kvaser_usb_hydra.c | 78 +- .../net/can/usb/kvaser_usb/kvaser_usb_leaf.c | 29 +- drivers/net/can/usb/mcba_usb.c | 23 +- drivers/net/can/usb/peak_usb/pcan_usb.c | 20 +- drivers/net/can/usb/peak_usb/pcan_usb_core.c | 33 +- drivers/net/can/usb/peak_usb/pcan_usb_core.h | 2 +- drivers/net/can/usb/peak_usb/pcan_usb_fd.c | 22 +- drivers/net/can/usb/peak_usb/pcan_usb_pro.c | 12 +- drivers/net/can/usb/ucan.c | 17 +- drivers/net/can/usb/usb_8dev.c | 19 +- drivers/net/can/vcan.c | 7 +- drivers/net/can/vxcan.c | 2 +- drivers/net/can/xilinx_can.c | 26 +- drivers/net/dsa/Kconfig | 1 - drivers/net/dsa/Makefile | 2 +- drivers/net/dsa/b53/b53_common.c | 110 +- drivers/net/dsa/b53/b53_priv.h | 7 +- drivers/net/dsa/bcm_sf2.c | 66 +- drivers/net/dsa/bcm_sf2.h | 10 - drivers/net/dsa/bcm_sf2_regs.h | 65 +- drivers/net/dsa/dsa_loop.c | 9 +- drivers/net/dsa/hirschmann/hellcreek.c | 31 +- .../net/dsa/hirschmann/hellcreek_hwtstamp.c | 4 + drivers/net/dsa/lan9303-core.c | 7 +- drivers/net/dsa/lantiq_gswip.c | 189 +- drivers/net/dsa/microchip/ksz8795.c | 65 +- drivers/net/dsa/microchip/ksz9477.c | 66 +- drivers/net/dsa/microchip/ksz_common.c | 80 +- drivers/net/dsa/microchip/ksz_common.h | 8 +- drivers/net/dsa/mt7530.c | 58 +- drivers/net/dsa/mv88e6xxx/chip.c | 151 +- drivers/net/dsa/mv88e6xxx/hwtstamp.c | 4 + drivers/net/dsa/ocelot/Kconfig | 1 - drivers/net/dsa/ocelot/felix.c | 113 +- drivers/net/dsa/ocelot/felix.h | 10 +- drivers/net/dsa/ocelot/felix_vsc9959.c | 937 +- drivers/net/dsa/ocelot/seville_vsc9953.c | 147 +- drivers/net/dsa/qca/ar9331.c | 10 +- drivers/net/dsa/qca8k.c | 1095 +- drivers/net/dsa/qca8k.h | 234 +- drivers/net/dsa/realtek-smi-core.c | 6 +- drivers/net/dsa/realtek-smi-core.h | 4 +- drivers/net/dsa/rtl8366.c | 94 +- drivers/net/dsa/rtl8366rb.c | 300 +- drivers/net/dsa/sja1105/sja1105.h | 35 +- drivers/net/dsa/sja1105/sja1105_clocking.c | 35 +- .../net/dsa/sja1105/sja1105_dynamic_config.c | 91 +- drivers/net/dsa/sja1105/sja1105_flower.c | 2 +- drivers/net/dsa/sja1105/sja1105_main.c | 307 +- drivers/net/dsa/sja1105/sja1105_ptp.c | 86 +- drivers/net/dsa/sja1105/sja1105_ptp.h | 24 - drivers/net/dsa/sja1105/sja1105_vl.c | 15 +- drivers/net/dsa/vitesse-vsc73xx-core.c | 7 +- drivers/net/dsa/vitesse-vsc73xx.h | 2 +- drivers/net/dsa/xrs700x/xrs700x.c | 19 +- drivers/net/dsa/xrs700x/xrs700x_mdio.c | 12 +- drivers/net/eql.c | 4 +- drivers/net/ethernet/3com/3c509.c | 2 +- drivers/net/ethernet/3com/3c515.c | 5 +- drivers/net/ethernet/3com/3c574_cs.c | 11 +- drivers/net/ethernet/3com/3c589_cs.c | 10 +- drivers/net/ethernet/3com/3c59x.c | 4 +- drivers/net/ethernet/3com/typhoon.c | 10 +- drivers/net/ethernet/8390/apne.c | 3 +- drivers/net/ethernet/8390/ax88796.c | 12 +- drivers/net/ethernet/8390/axnet_cs.c | 7 +- drivers/net/ethernet/8390/etherh.c | 6 +- drivers/net/ethernet/8390/hydra.c | 4 +- drivers/net/ethernet/8390/mac8390.c | 4 +- drivers/net/ethernet/8390/mcf8390.c | 3 +- drivers/net/ethernet/8390/ne.c | 4 +- drivers/net/ethernet/8390/ne2k-pci.c | 2 +- drivers/net/ethernet/8390/pcnet_cs.c | 22 +- drivers/net/ethernet/8390/smc-ultra.c | 4 +- drivers/net/ethernet/8390/stnic.c | 5 +- drivers/net/ethernet/8390/wd.c | 4 +- drivers/net/ethernet/8390/zorro8390.c | 3 +- drivers/net/ethernet/Kconfig | 3 - drivers/net/ethernet/Makefile | 3 - drivers/net/ethernet/actions/owl-emac.c | 6 +- drivers/net/ethernet/adaptec/starfire.c | 14 +- drivers/net/ethernet/aeroflex/greth.c | 8 +- drivers/net/ethernet/agere/et131x.c | 9 +- drivers/net/ethernet/alacritech/slicoss.c | 4 +- drivers/net/ethernet/allwinner/sun4i-emac.c | 249 +- drivers/net/ethernet/allwinner/sun4i-emac.h | 18 - drivers/net/ethernet/alteon/acenic.c | 29 +- drivers/net/ethernet/alteon/acenic.h | 1 + drivers/net/ethernet/altera/altera_tse_main.c | 4 +- .../net/ethernet/amazon/ena/ena_admin_defs.h | 10 +- drivers/net/ethernet/amazon/ena/ena_com.c | 8 - drivers/net/ethernet/amazon/ena/ena_com.h | 13 - drivers/net/ethernet/amazon/ena/ena_ethtool.c | 23 +- drivers/net/ethernet/amazon/ena/ena_netdev.c | 129 +- drivers/net/ethernet/amazon/ena/ena_netdev.h | 25 +- drivers/net/ethernet/amd/a2065.c | 18 +- drivers/net/ethernet/amd/amd8111e.c | 6 +- drivers/net/ethernet/amd/ariadne.c | 20 +- drivers/net/ethernet/amd/atarilance.c | 11 +- drivers/net/ethernet/amd/au1000_eth.c | 2 +- drivers/net/ethernet/amd/declance.c | 4 +- drivers/net/ethernet/amd/hplance.c | 4 +- drivers/net/ethernet/amd/lance.c | 4 +- drivers/net/ethernet/amd/mvme147.c | 14 +- drivers/net/ethernet/amd/ni65.c | 8 +- drivers/net/ethernet/amd/nmclan_cs.c | 5 +- drivers/net/ethernet/amd/pcnet32.c | 23 +- drivers/net/ethernet/amd/sun3lance.c | 4 +- drivers/net/ethernet/amd/sunlance.c | 4 +- drivers/net/ethernet/amd/xgbe/xgbe-common.h | 6 +- drivers/net/ethernet/amd/xgbe/xgbe-dev.c | 2 +- drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 7 +- drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c | 19 +- drivers/net/ethernet/amd/xgbe/xgbe-main.c | 2 +- drivers/net/ethernet/amd/xgbe/xgbe-pci.c | 11 +- drivers/net/ethernet/amd/xgbe/xgbe.h | 2 +- drivers/net/ethernet/apm/xgene-v2/mac.c | 2 +- drivers/net/ethernet/apm/xgene-v2/main.c | 2 +- .../net/ethernet/apm/xgene/xgene_enet_hw.c | 2 +- .../net/ethernet/apm/xgene/xgene_enet_main.c | 4 +- .../net/ethernet/apm/xgene/xgene_enet_sgmac.c | 2 +- .../net/ethernet/apm/xgene/xgene_enet_xgmac.c | 2 +- drivers/net/ethernet/apple/bmac.c | 20 +- drivers/net/ethernet/apple/mace.c | 16 +- drivers/net/ethernet/apple/macmace.c | 14 +- .../ethernet/aquantia/atlantic/aq_ethtool.c | 8 +- .../ethernet/aquantia/atlantic/aq_filters.c | 6 +- .../net/ethernet/aquantia/atlantic/aq_hw.h | 6 +- .../ethernet/aquantia/atlantic/aq_macsec.c | 2 +- .../net/ethernet/aquantia/atlantic/aq_main.c | 3 + .../net/ethernet/aquantia/atlantic/aq_nic.c | 28 +- .../net/ethernet/aquantia/atlantic/aq_ring.c | 3 +- .../aquantia/atlantic/hw_atl/hw_atl_a0.c | 4 +- .../aquantia/atlantic/hw_atl/hw_atl_b0.c | 4 +- .../aquantia/atlantic/hw_atl/hw_atl_b0.h | 2 +- .../aquantia/atlantic/hw_atl/hw_atl_utils.c | 4 +- .../atlantic/hw_atl/hw_atl_utils_fw2x.c | 4 +- .../aquantia/atlantic/hw_atl2/hw_atl2.c | 2 +- drivers/net/ethernet/arc/emac_main.c | 4 +- drivers/net/ethernet/arc/emac_mdio.c | 9 +- drivers/net/ethernet/atheros/ag71xx.c | 117 +- drivers/net/ethernet/atheros/alx/main.c | 4 +- .../net/ethernet/atheros/atl1c/atl1c_main.c | 12 +- .../net/ethernet/atheros/atl1e/atl1e_main.c | 10 +- drivers/net/ethernet/atheros/atlx/atl1.c | 10 +- drivers/net/ethernet/atheros/atlx/atl2.c | 4 +- drivers/net/ethernet/atheros/atlx/atlx.c | 2 +- drivers/net/ethernet/broadcom/b44.c | 20 +- drivers/net/ethernet/broadcom/bcm4908_enet.c | 6 +- drivers/net/ethernet/broadcom/bcm63xx_enet.c | 31 +- drivers/net/ethernet/broadcom/bcmsysport.c | 6 +- .../net/ethernet/broadcom/bgmac-bcma-mdio.c | 6 +- drivers/net/ethernet/broadcom/bgmac-bcma.c | 37 +- .../net/ethernet/broadcom/bgmac-platform.c | 2 +- drivers/net/ethernet/broadcom/bgmac.c | 4 +- drivers/net/ethernet/broadcom/bnx2.c | 14 +- drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | 2 +- .../net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 3 +- .../ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 8 +- .../net/ethernet/broadcom/bnx2x/bnx2x_main.c | 46 +- .../net/ethernet/broadcom/bnx2x/bnx2x_sriov.c | 2 +- .../net/ethernet/broadcom/bnx2x/bnx2x_sriov.h | 5 +- .../net/ethernet/broadcom/bnx2x/bnx2x_stats.c | 7 +- .../net/ethernet/broadcom/bnx2x/bnx2x_stats.h | 14 +- .../net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c | 9 +- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 428 +- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 126 +- .../ethernet/broadcom/bnxt/bnxt_coredump.c | 82 +- drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c | 4 +- drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.h | 14 +- .../net/ethernet/broadcom/bnxt/bnxt_devlink.c | 823 +- .../net/ethernet/broadcom/bnxt/bnxt_devlink.h | 24 +- .../net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 86 +- .../net/ethernet/broadcom/bnxt/bnxt_ethtool.h | 3 - drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | 155 +- .../net/ethernet/broadcom/bnxt/bnxt_hwrm.c | 101 +- .../net/ethernet/broadcom/bnxt/bnxt_hwrm.h | 4 + drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c | 5 + drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.h | 3 - .../net/ethernet/broadcom/bnxt/bnxt_sriov.c | 6 +- .../net/ethernet/broadcom/bnxt/bnxt_sriov.h | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h | 3 +- drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 2 +- .../net/ethernet/broadcom/genet/bcmgenet.c | 87 +- .../net/ethernet/broadcom/genet/bcmgenet.h | 10 +- drivers/net/ethernet/broadcom/genet/bcmmii.c | 220 +- drivers/net/ethernet/broadcom/sb1250-mac.c | 4 +- drivers/net/ethernet/broadcom/tg3.c | 74 +- drivers/net/ethernet/brocade/bna/bnad.c | 39 +- .../net/ethernet/brocade/bna/bnad_ethtool.c | 28 +- drivers/net/ethernet/cadence/macb.h | 10 +- drivers/net/ethernet/cadence/macb_main.c | 163 +- drivers/net/ethernet/cadence/macb_ptp.c | 17 +- drivers/net/ethernet/calxeda/xgmac.c | 8 +- .../net/ethernet/cavium/liquidio/lio_core.c | 3 +- .../ethernet/cavium/liquidio/lio_ethtool.c | 11 +- .../net/ethernet/cavium/liquidio/lio_main.c | 43 +- .../ethernet/cavium/liquidio/lio_vf_main.c | 7 +- .../net/ethernet/cavium/octeon/octeon_mgmt.c | 7 +- .../net/ethernet/cavium/thunder/nic_main.c | 3 +- .../ethernet/cavium/thunder/nicvf_ethtool.c | 8 +- .../net/ethernet/cavium/thunder/nicvf_main.c | 17 +- .../ethernet/cavium/thunder/nicvf_queues.c | 1 - .../net/ethernet/cavium/thunder/thunder_bgx.c | 9 +- drivers/net/ethernet/chelsio/cxgb/cxgb2.c | 29 +- drivers/net/ethernet/chelsio/cxgb/gmac.h | 2 +- drivers/net/ethernet/chelsio/cxgb/pm3393.c | 2 +- drivers/net/ethernet/chelsio/cxgb/subr.c | 2 +- drivers/net/ethernet/chelsio/cxgb/vsc7326.c | 4 +- drivers/net/ethernet/chelsio/cxgb3/common.h | 4 +- .../net/ethernet/chelsio/cxgb3/cxgb3_main.c | 59 +- drivers/net/ethernet/chelsio/cxgb3/sge.c | 13 +- drivers/net/ethernet/chelsio/cxgb3/t3_hw.c | 104 +- drivers/net/ethernet/chelsio/cxgb3/xgmac.c | 2 +- drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 2 +- .../ethernet/chelsio/cxgb4/cxgb4_ethtool.c | 19 +- .../net/ethernet/chelsio/cxgb4/cxgb4_main.c | 19 +- drivers/net/ethernet/chelsio/cxgb4/sge.c | 8 +- drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 2 +- drivers/net/ethernet/chelsio/cxgb4/t4_msg.h | 2 +- drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h | 10 +- .../net/ethernet/chelsio/cxgb4vf/adapter.h | 3 +- .../ethernet/chelsio/cxgb4vf/cxgb4vf_main.c | 37 +- drivers/net/ethernet/chelsio/cxgb4vf/sge.c | 7 +- drivers/net/ethernet/cirrus/cs89x0.c | 13 +- drivers/net/ethernet/cirrus/ep93xx_eth.c | 2 +- drivers/net/ethernet/cirrus/mac89x0.c | 9 +- drivers/net/ethernet/cisco/enic/enic.h | 2 +- .../net/ethernet/cisco/enic/enic_ethtool.c | 12 +- drivers/net/ethernet/cisco/enic/enic_main.c | 33 +- drivers/net/ethernet/cisco/enic/enic_pp.c | 2 +- drivers/net/ethernet/cortina/gemini.c | 14 +- drivers/net/ethernet/davicom/dm9000.c | 9 +- drivers/net/ethernet/dec/tulip/de2104x.c | 15 +- drivers/net/ethernet/dec/tulip/de4x5.c | 35 +- drivers/net/ethernet/dec/tulip/dmfe.c | 9 +- drivers/net/ethernet/dec/tulip/tulip_core.c | 45 +- drivers/net/ethernet/dec/tulip/uli526x.c | 11 +- drivers/net/ethernet/dec/tulip/winbond-840.c | 4 +- drivers/net/ethernet/dec/tulip/xircom_cb.c | 4 +- drivers/net/ethernet/dlink/dl2k.c | 5 +- drivers/net/ethernet/dlink/sundance.c | 6 +- drivers/net/ethernet/dnet.c | 8 +- drivers/net/ethernet/ec_bhf.c | 4 +- drivers/net/ethernet/emulex/benet/be_cmds.c | 2 +- drivers/net/ethernet/emulex/benet/be_cmds.h | 2 +- .../net/ethernet/emulex/benet/be_ethtool.c | 4 +- drivers/net/ethernet/emulex/benet/be_main.c | 25 +- drivers/net/ethernet/ethoc.c | 45 +- drivers/net/ethernet/ezchip/nps_enet.c | 4 +- drivers/net/ethernet/faraday/ftgmac100.c | 266 +- drivers/net/ethernet/fealnx.c | 6 +- .../net/ethernet/freescale/dpaa/dpaa_eth.c | 12 +- .../freescale/dpaa2/dpaa2-eth-devlink.c | 21 +- .../net/ethernet/freescale/dpaa2/dpaa2-eth.c | 30 +- .../net/ethernet/freescale/dpaa2/dpaa2-eth.h | 9 +- .../ethernet/freescale/dpaa2/dpaa2-ethtool.c | 60 +- .../net/ethernet/freescale/dpaa2/dpaa2-mac.c | 142 +- .../net/ethernet/freescale/dpaa2/dpaa2-mac.h | 3 +- .../net/ethernet/freescale/dpaa2/dpaa2-ptp.c | 4 +- .../ethernet/freescale/dpaa2/dpaa2-switch.c | 16 +- drivers/net/ethernet/freescale/enetc/enetc.c | 342 +- drivers/net/ethernet/freescale/enetc/enetc.h | 4 - .../ethernet/freescale/enetc/enetc_ethtool.c | 4 +- .../net/ethernet/freescale/enetc/enetc_hw.h | 6 +- .../net/ethernet/freescale/enetc/enetc_pf.c | 107 +- .../net/ethernet/freescale/enetc/enetc_pf.h | 4 +- .../net/ethernet/freescale/enetc/enetc_ptp.c | 15 +- .../net/ethernet/freescale/enetc/enetc_qos.c | 6 +- .../net/ethernet/freescale/enetc/enetc_vf.c | 16 +- drivers/net/ethernet/freescale/fec_main.c | 55 +- drivers/net/ethernet/freescale/fec_mpc52xx.c | 16 +- drivers/net/ethernet/freescale/fec_ptp.c | 4 + drivers/net/ethernet/freescale/fman/fman.c | 32 +- .../net/ethernet/freescale/fman/fman_dtsec.c | 8 +- .../net/ethernet/freescale/fman/fman_dtsec.h | 2 +- .../net/ethernet/freescale/fman/fman_memac.c | 8 +- .../net/ethernet/freescale/fman/fman_memac.h | 2 +- .../net/ethernet/freescale/fman/fman_tgec.c | 8 +- .../net/ethernet/freescale/fman/fman_tgec.h | 2 +- drivers/net/ethernet/freescale/fman/mac.h | 2 +- .../ethernet/freescale/fs_enet/fs_enet-main.c | 2 +- drivers/net/ethernet/freescale/gianfar.c | 6 +- .../net/ethernet/freescale/gianfar_ethtool.c | 8 +- drivers/net/ethernet/freescale/ucc_geth.c | 4 +- .../net/ethernet/freescale/ucc_geth_ethtool.c | 8 +- drivers/net/ethernet/freescale/xgmac_mdio.c | 1 + drivers/net/ethernet/fujitsu/fmvj18x_cs.c | 14 +- drivers/net/ethernet/google/gve/gve.h | 56 +- drivers/net/ethernet/google/gve/gve_adminq.c | 71 +- drivers/net/ethernet/google/gve/gve_adminq.h | 14 - drivers/net/ethernet/google/gve/gve_desc.h | 33 +- drivers/net/ethernet/google/gve/gve_dqo.h | 24 +- drivers/net/ethernet/google/gve/gve_ethtool.c | 93 +- drivers/net/ethernet/google/gve/gve_main.c | 172 +- drivers/net/ethernet/google/gve/gve_rx.c | 409 +- drivers/net/ethernet/google/gve/gve_rx_dqo.c | 68 +- drivers/net/ethernet/google/gve/gve_tx.c | 165 +- drivers/net/ethernet/google/gve/gve_utils.c | 36 +- drivers/net/ethernet/google/gve/gve_utils.h | 2 +- drivers/net/ethernet/hisilicon/hip04_eth.c | 2 +- drivers/net/ethernet/hisilicon/hisi_femac.c | 6 +- drivers/net/ethernet/hisilicon/hix5hd2_gmac.c | 4 +- drivers/net/ethernet/hisilicon/hns/hnae.h | 4 +- .../net/ethernet/hisilicon/hns/hns_ae_adapt.c | 7 +- .../ethernet/hisilicon/hns/hns_dsaf_gmac.c | 2 +- .../net/ethernet/hisilicon/hns/hns_dsaf_mac.c | 2 +- .../net/ethernet/hisilicon/hns/hns_dsaf_mac.h | 5 +- .../ethernet/hisilicon/hns/hns_dsaf_xgmac.c | 2 +- drivers/net/ethernet/hisilicon/hns/hns_enet.c | 4 +- .../net/ethernet/hisilicon/hns/hns_ethtool.c | 6 +- drivers/net/ethernet/hisilicon/hns3/Makefile | 19 +- .../net/ethernet/hisilicon/hns3/hclge_mbx.h | 3 - drivers/net/ethernet/hisilicon/hns3/hnae3.h | 25 +- .../ethernet/hisilicon/hns3/hns3_debugfs.c | 205 - .../ethernet/hisilicon/hns3/hns3_debugfs.h | 2 - .../net/ethernet/hisilicon/hns3/hns3_enet.c | 923 +- .../net/ethernet/hisilicon/hns3/hns3_enet.h | 20 +- .../ethernet/hisilicon/hns3/hns3_ethtool.c | 124 +- .../hisilicon/hns3/hns3pf/hclge_cmd.h | 437 +- .../hisilicon/hns3/hns3pf/hclge_dcb.c | 2 +- .../hisilicon/hns3/hns3pf/hclge_debugfs.c | 119 +- .../hisilicon/hns3/hns3pf/hclge_debugfs.h | 13 +- .../hisilicon/hns3/hns3pf/hclge_devlink.c | 18 +- .../hisilicon/hns3/hns3pf/hclge_err.c | 39 +- .../hisilicon/hns3/hns3pf/hclge_err.h | 4 - .../hisilicon/hns3/hns3pf/hclge_main.c | 2071 +-- .../hisilicon/hns3/hns3pf/hclge_main.h | 129 +- .../hisilicon/hns3/hns3pf/hclge_mbx.c | 33 +- .../hisilicon/hns3/hns3pf/hclge_mdio.c | 4 +- .../hisilicon/hns3/hns3pf/hclge_mdio.h | 4 - .../hisilicon/hns3/hns3pf/hclge_ptp.c | 2 +- .../hisilicon/hns3/hns3pf/hclge_ptp.h | 3 - .../ethernet/hisilicon/hns3/hns3pf/hclge_tm.c | 110 +- .../ethernet/hisilicon/hns3/hns3pf/hclge_tm.h | 6 - .../hisilicon/hns3/hns3vf/hclgevf_cmd.h | 211 +- .../hisilicon/hns3/hns3vf/hclgevf_devlink.c | 18 +- .../hisilicon/hns3/hns3vf/hclgevf_main.c | 826 +- .../hisilicon/hns3/hns3vf/hclgevf_main.h | 90 +- .../hisilicon/hns3/hns3vf/hclgevf_mbx.c | 23 +- .../net/ethernet/huawei/hinic/hinic_devlink.c | 4 +- .../net/ethernet/huawei/hinic/hinic_devlink.h | 2 +- .../net/ethernet/huawei/hinic/hinic_ethtool.c | 50 +- .../ethernet/huawei/hinic/hinic_hw_api_cmd.c | 5 +- .../net/ethernet/huawei/hinic/hinic_hw_cmdq.c | 10 +- .../net/ethernet/huawei/hinic/hinic_hw_dev.c | 18 +- .../net/ethernet/huawei/hinic/hinic_hw_eqs.c | 9 +- .../net/ethernet/huawei/hinic/hinic_hw_io.c | 17 +- .../net/ethernet/huawei/hinic/hinic_hw_wq.c | 23 +- .../net/ethernet/huawei/hinic/hinic_main.c | 30 +- drivers/net/ethernet/huawei/hinic/hinic_rx.c | 4 +- .../net/ethernet/huawei/hinic/hinic_sriov.c | 1 - drivers/net/ethernet/huawei/hinic/hinic_tx.c | 10 +- drivers/net/ethernet/i825xx/82596.c | 3 +- drivers/net/ethernet/i825xx/ether1.c | 4 +- drivers/net/ethernet/i825xx/lasi_82596.c | 6 +- drivers/net/ethernet/i825xx/sun3_82586.c | 7 +- drivers/net/ethernet/ibm/ehea/ehea_main.c | 4 +- drivers/net/ethernet/ibm/emac/core.c | 21 +- drivers/net/ethernet/ibm/ibmveth.c | 49 +- drivers/net/ethernet/ibm/ibmvnic.c | 784 +- drivers/net/ethernet/ibm/ibmvnic.h | 13 +- drivers/net/ethernet/intel/Kconfig | 24 - drivers/net/ethernet/intel/e100.c | 12 +- .../net/ethernet/intel/e1000/e1000_ethtool.c | 8 +- drivers/net/ethernet/intel/e1000/e1000_main.c | 18 +- drivers/net/ethernet/intel/e1000e/e1000.h | 1 - drivers/net/ethernet/intel/e1000e/ethtool.c | 8 +- drivers/net/ethernet/intel/e1000e/hw.h | 1 + drivers/net/ethernet/intel/e1000e/ich8lan.c | 8 +- drivers/net/ethernet/intel/e1000e/ich8lan.h | 1 + drivers/net/ethernet/intel/e1000e/netdev.c | 35 +- .../net/ethernet/intel/fm10k/fm10k_ethtool.c | 8 +- .../net/ethernet/intel/fm10k/fm10k_netdev.c | 2 +- drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 4 +- drivers/net/ethernet/intel/fm10k/fm10k_tlv.c | 2 +- drivers/net/ethernet/intel/i40e/i40e.h | 2 +- drivers/net/ethernet/intel/i40e/i40e_adminq.c | 29 +- drivers/net/ethernet/intel/i40e/i40e_common.c | 15 +- .../net/ethernet/intel/i40e/i40e_ethtool.c | 8 +- drivers/net/ethernet/intel/i40e/i40e_main.c | 12 +- .../net/ethernet/intel/i40e/i40e_prototype.h | 14 +- drivers/net/ethernet/intel/i40e/i40e_ptp.c | 4 + drivers/net/ethernet/intel/i40e/i40e_status.h | 2 +- drivers/net/ethernet/intel/i40e/i40e_txrx.c | 4 +- .../ethernet/intel/i40e/i40e_virtchnl_pf.c | 34 +- drivers/net/ethernet/intel/i40e/i40e_xsk.c | 56 +- drivers/net/ethernet/intel/i40e/i40e_xsk.h | 1 + drivers/net/ethernet/intel/iavf/iavf.h | 121 +- drivers/net/ethernet/intel/iavf/iavf_adminq.c | 4 +- .../net/ethernet/intel/iavf/iavf_ethtool.c | 60 +- drivers/net/ethernet/intel/iavf/iavf_main.c | 965 +- drivers/net/ethernet/intel/iavf/iavf_txrx.c | 79 +- drivers/net/ethernet/intel/iavf/iavf_txrx.h | 30 +- .../net/ethernet/intel/iavf/iavf_virtchnl.c | 590 +- drivers/net/ethernet/intel/ice/Makefile | 5 +- drivers/net/ethernet/intel/ice/ice.h | 217 +- .../net/ethernet/intel/ice/ice_adminq_cmd.h | 101 +- drivers/net/ethernet/intel/ice/ice_arfs.c | 4 +- drivers/net/ethernet/intel/ice/ice_base.c | 160 +- drivers/net/ethernet/intel/ice/ice_base.h | 8 +- drivers/net/ethernet/intel/ice/ice_common.c | 552 +- drivers/net/ethernet/intel/ice/ice_common.h | 103 +- drivers/net/ethernet/intel/ice/ice_controlq.c | 120 +- drivers/net/ethernet/intel/ice/ice_dcb.c | 311 +- drivers/net/ethernet/intel/ice/ice_dcb.h | 45 +- drivers/net/ethernet/intel/ice/ice_dcb_lib.c | 218 +- drivers/net/ethernet/intel/ice/ice_dcb_lib.h | 32 +- drivers/net/ethernet/intel/ice/ice_dcb_nl.c | 190 +- drivers/net/ethernet/intel/ice/ice_devids.h | 2 - drivers/net/ethernet/intel/ice/ice_devlink.c | 583 +- drivers/net/ethernet/intel/ice/ice_devlink.h | 4 +- drivers/net/ethernet/intel/ice/ice_ethtool.c | 393 +- .../net/ethernet/intel/ice/ice_ethtool_fdir.c | 312 +- drivers/net/ethernet/intel/ice/ice_fdir.c | 24 +- drivers/net/ethernet/intel/ice/ice_fdir.h | 15 +- .../net/ethernet/intel/ice/ice_flex_pipe.c | 990 +- .../net/ethernet/intel/ice/ice_flex_pipe.h | 94 +- .../net/ethernet/intel/ice/ice_flex_type.h | 59 - drivers/net/ethernet/intel/ice/ice_flow.c | 214 +- drivers/net/ethernet/intel/ice/ice_flow.h | 22 +- drivers/net/ethernet/intel/ice/ice_fltr.c | 136 +- drivers/net/ethernet/intel/ice/ice_fltr.h | 38 +- .../net/ethernet/intel/ice/ice_fw_update.c | 399 +- .../net/ethernet/intel/ice/ice_fw_update.h | 9 +- .../net/ethernet/intel/ice/ice_hw_autogen.h | 10 - drivers/net/ethernet/intel/ice/ice_idc.c | 4 +- .../net/ethernet/intel/ice/ice_lan_tx_rx.h | 43 - drivers/net/ethernet/intel/ice/ice_lib.c | 1130 +- drivers/net/ethernet/intel/ice/ice_lib.h | 44 +- drivers/net/ethernet/intel/ice/ice_main.c | 2396 +-- drivers/net/ethernet/intel/ice/ice_nvm.c | 208 +- drivers/net/ethernet/intel/ice/ice_nvm.h | 36 +- .../ethernet/intel/ice/ice_protocol_type.h | 205 - drivers/net/ethernet/intel/ice/ice_ptp.c | 1238 +- drivers/net/ethernet/intel/ice/ice_ptp.h | 62 +- drivers/net/ethernet/intel/ice/ice_ptp_hw.c | 2945 +--- drivers/net/ethernet/intel/ice/ice_ptp_hw.h | 367 - drivers/net/ethernet/intel/ice/ice_sched.c | 578 +- drivers/net/ethernet/intel/ice/ice_sched.h | 41 +- drivers/net/ethernet/intel/ice/ice_sriov.c | 40 +- drivers/net/ethernet/intel/ice/ice_sriov.h | 12 +- drivers/net/ethernet/intel/ice/ice_switch.c | 3220 +--- drivers/net/ethernet/intel/ice/ice_switch.h | 198 +- drivers/net/ethernet/intel/ice/ice_trace.h | 28 +- drivers/net/ethernet/intel/ice/ice_txrx.c | 381 +- drivers/net/ethernet/intel/ice/ice_txrx.h | 140 +- drivers/net/ethernet/intel/ice/ice_txrx_lib.c | 105 +- drivers/net/ethernet/intel/ice/ice_txrx_lib.h | 14 +- drivers/net/ethernet/intel/ice/ice_type.h | 55 +- .../ethernet/intel/ice/ice_virtchnl_fdir.c | 298 +- .../net/ethernet/intel/ice/ice_virtchnl_pf.c | 935 +- .../net/ethernet/intel/ice/ice_virtchnl_pf.h | 67 +- drivers/net/ethernet/intel/ice/ice_xsk.c | 157 +- drivers/net/ethernet/intel/ice/ice_xsk.h | 20 +- drivers/net/ethernet/intel/igb/e1000_i210.c | 3 +- drivers/net/ethernet/intel/igb/igb_ethtool.c | 8 +- drivers/net/ethernet/intel/igb/igb_main.c | 183 +- drivers/net/ethernet/intel/igb/igb_ptp.c | 192 +- drivers/net/ethernet/intel/igbvf/ethtool.c | 8 +- drivers/net/ethernet/intel/igbvf/netdev.c | 10 +- drivers/net/ethernet/intel/igc/igc_base.c | 8 +- drivers/net/ethernet/intel/igc/igc_defines.h | 9 +- drivers/net/ethernet/intel/igc/igc_ethtool.c | 14 +- drivers/net/ethernet/intel/igc/igc_hw.h | 4 +- drivers/net/ethernet/intel/igc/igc_i225.c | 2 + drivers/net/ethernet/intel/igc/igc_main.c | 40 +- drivers/net/ethernet/intel/igc/igc_phy.c | 4 - drivers/net/ethernet/intel/igc/igc_ptp.c | 4 + drivers/net/ethernet/intel/igc/igc_xdp.c | 1 - .../net/ethernet/intel/ixgb/ixgb_ethtool.c | 8 +- drivers/net/ethernet/intel/ixgb/ixgb_hw.c | 2 +- drivers/net/ethernet/intel/ixgb/ixgb_hw.h | 2 +- drivers/net/ethernet/intel/ixgb/ixgb_main.c | 10 +- drivers/net/ethernet/intel/ixgbe/ixgbe.h | 23 +- .../net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 13 +- drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c | 9 +- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 68 +- drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c | 4 + .../ethernet/intel/ixgbe/ixgbe_txrx_common.h | 5 +- drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c | 24 +- drivers/net/ethernet/intel/ixgbevf/defines.h | 4 - drivers/net/ethernet/intel/ixgbevf/ethtool.c | 8 +- drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 5 - .../net/ethernet/intel/ixgbevf/ixgbevf_main.c | 21 +- drivers/net/ethernet/intel/ixgbevf/mbx.c | 325 +- drivers/net/ethernet/intel/ixgbevf/mbx.h | 19 +- drivers/net/ethernet/intel/ixgbevf/vf.c | 64 +- drivers/net/ethernet/intel/ixgbevf/vf.h | 5 +- drivers/net/ethernet/jme.c | 4 +- drivers/net/ethernet/korina.c | 4 +- drivers/net/ethernet/lantiq_etop.c | 92 +- drivers/net/ethernet/lantiq_xrx200.c | 187 +- drivers/net/ethernet/litex/litex_liteeth.c | 6 +- drivers/net/ethernet/marvell/mv643xx_eth.c | 26 +- drivers/net/ethernet/marvell/mvneta.c | 493 +- drivers/net/ethernet/marvell/mvpp2/mvpp2.h | 3 +- .../net/ethernet/marvell/mvpp2/mvpp2_main.c | 294 +- .../net/ethernet/marvell/mvpp2/mvpp2_prs.c | 2 +- .../net/ethernet/marvell/octeontx2/af/cgx.c | 1 + .../ethernet/marvell/octeontx2/af/common.h | 1 - .../net/ethernet/marvell/octeontx2/af/mbox.h | 75 +- .../net/ethernet/marvell/octeontx2/af/npc.h | 11 +- .../marvell/octeontx2/af/npc_profile.h | 409 +- .../net/ethernet/marvell/octeontx2/af/ptp.c | 133 +- .../net/ethernet/marvell/octeontx2/af/ptp.h | 1 - .../net/ethernet/marvell/octeontx2/af/rvu.c | 76 +- .../net/ethernet/marvell/octeontx2/af/rvu.h | 13 +- .../ethernet/marvell/octeontx2/af/rvu_cgx.c | 4 +- .../ethernet/marvell/octeontx2/af/rvu_cn10k.c | 4 +- .../ethernet/marvell/octeontx2/af/rvu_cpt.c | 600 +- .../marvell/octeontx2/af/rvu_debugfs.c | 121 +- .../marvell/octeontx2/af/rvu_devlink.c | 18 +- .../ethernet/marvell/octeontx2/af/rvu_nix.c | 124 - .../ethernet/marvell/octeontx2/af/rvu_npc.c | 4 +- .../marvell/octeontx2/af/rvu_npc_fs.c | 3 - .../ethernet/marvell/octeontx2/af/rvu_reg.h | 4 - .../marvell/octeontx2/af/rvu_struct.h | 18 - .../ethernet/marvell/octeontx2/nic/Makefile | 6 +- .../ethernet/marvell/octeontx2/nic/cn10k.c | 2 +- .../marvell/octeontx2/nic/otx2_common.c | 52 +- .../marvell/octeontx2/nic/otx2_common.h | 18 +- .../marvell/octeontx2/nic/otx2_devlink.c | 21 +- .../marvell/octeontx2/nic/otx2_ethtool.c | 51 +- .../ethernet/marvell/octeontx2/nic/otx2_pf.c | 162 +- .../ethernet/marvell/octeontx2/nic/otx2_ptp.c | 135 +- .../marvell/octeontx2/nic/otx2_txrx.c | 273 +- .../marvell/octeontx2/nic/otx2_txrx.h | 16 +- .../ethernet/marvell/octeontx2/nic/otx2_vf.c | 15 +- .../net/ethernet/marvell/prestera/Makefile | 3 +- .../net/ethernet/marvell/prestera/prestera.h | 107 +- .../ethernet/marvell/prestera/prestera_acl.c | 765 +- .../ethernet/marvell/prestera/prestera_acl.h | 235 +- .../marvell/prestera/prestera_devlink.c | 35 +- .../marvell/prestera/prestera_devlink.h | 4 +- .../marvell/prestera/prestera_ethtool.c | 226 +- .../marvell/prestera/prestera_ethtool.h | 6 - .../ethernet/marvell/prestera/prestera_flow.c | 108 +- .../ethernet/marvell/prestera/prestera_flow.h | 18 - .../marvell/prestera/prestera_flower.c | 351 +- .../marvell/prestera/prestera_flower.h | 8 +- .../ethernet/marvell/prestera/prestera_hw.c | 2084 ++- .../ethernet/marvell/prestera/prestera_hw.h | 120 +- .../ethernet/marvell/prestera/prestera_main.c | 182 +- .../ethernet/marvell/prestera/prestera_pci.c | 117 +- .../ethernet/marvell/prestera/prestera_rxtx.c | 7 + .../ethernet/marvell/prestera/prestera_span.c | 1 - drivers/net/ethernet/marvell/pxa168_eth.c | 30 +- drivers/net/ethernet/marvell/skge.c | 14 +- drivers/net/ethernet/marvell/sky2.c | 191 +- drivers/net/ethernet/mediatek/Kconfig | 3 +- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 188 +- drivers/net/ethernet/mediatek/mtk_eth_soc.h | 3 - .../net/ethernet/mediatek/mtk_ppe_debugfs.c | 3 + drivers/net/ethernet/mediatek/mtk_star_emac.c | 4 +- drivers/net/ethernet/mellanox/mlx4/cmd.c | 6 +- drivers/net/ethernet/mellanox/mlx4/cq.c | 3 +- .../net/ethernet/mellanox/mlx4/en_ethtool.c | 37 +- drivers/net/ethernet/mellanox/mlx4/en_main.c | 1 + .../net/ethernet/mellanox/mlx4/en_netdev.c | 45 +- drivers/net/ethernet/mellanox/mlx4/en_port.c | 4 - drivers/net/ethernet/mellanox/mlx4/en_rx.c | 17 +- drivers/net/ethernet/mellanox/mlx4/en_tx.c | 4 +- drivers/net/ethernet/mellanox/mlx4/eq.c | 8 +- drivers/net/ethernet/mellanox/mlx4/fw.c | 2 +- drivers/net/ethernet/mellanox/mlx4/main.c | 12 +- drivers/net/ethernet/mellanox/mlx4/mcg.c | 2 +- drivers/net/ethernet/mellanox/mlx4/mlx4_en.h | 3 - .../net/ethernet/mellanox/mlx4/mlx4_stats.h | 4 +- .../net/ethernet/mellanox/mlx5/core/Kconfig | 1 - .../net/ethernet/mellanox/mlx5/core/Makefile | 22 +- drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 20 +- drivers/net/ethernet/mellanox/mlx5/core/dev.c | 14 +- .../net/ethernet/mellanox/mlx5/core/devlink.c | 100 +- .../mellanox/mlx5/core/diag/fs_tracepoint.c | 3 - .../mellanox/mlx5/core/diag/fw_tracer.c | 7 +- .../mellanox/mlx5/core/diag/fw_tracer.h | 2 +- .../mellanox/mlx5/core/diag/rsc_dump.c | 10 +- drivers/net/ethernet/mellanox/mlx5/core/en.h | 109 +- .../ethernet/mellanox/mlx5/core/en/devlink.c | 2 +- .../net/ethernet/mellanox/mlx5/core/en/fs.h | 8 +- .../ethernet/mellanox/mlx5/core/en/health.h | 1 + .../mellanox/mlx5/core/en/hv_vhca_stats.c | 10 +- .../mellanox/mlx5/core/en/hv_vhca_stats.h | 13 +- .../ethernet/mellanox/mlx5/core/en/mod_hdr.c | 58 - .../ethernet/mellanox/mlx5/core/en/mod_hdr.h | 26 - .../ethernet/mellanox/mlx5/core/en/params.c | 142 +- .../ethernet/mellanox/mlx5/core/en/params.h | 12 - .../net/ethernet/mellanox/mlx5/core/en/ptp.c | 8 +- .../net/ethernet/mellanox/mlx5/core/en/qos.c | 103 +- .../net/ethernet/mellanox/mlx5/core/en/qos.h | 9 - .../ethernet/mellanox/mlx5/core/en/rep/tc.c | 137 +- .../ethernet/mellanox/mlx5/core/en/rep/tc.h | 14 +- .../mellanox/mlx5/core/en/reporter_rx.c | 7 +- .../mellanox/mlx5/core/en/reporter_tx.c | 9 +- .../net/ethernet/mellanox/mlx5/core/en/rss.c | 27 +- .../ethernet/mellanox/mlx5/core/en/rx_res.c | 14 +- .../mellanox/mlx5/core/en/tc/post_act.c | 13 +- .../mellanox/mlx5/core/en/tc/sample.c | 44 +- .../ethernet/mellanox/mlx5/core/en/tc_ct.c | 141 +- .../ethernet/mellanox/mlx5/core/en/tc_priv.h | 15 - .../ethernet/mellanox/mlx5/core/en/tc_tun.c | 59 +- .../ethernet/mellanox/mlx5/core/en/tc_tun.h | 4 +- .../mellanox/mlx5/core/en/tc_tun_encap.c | 42 +- .../mellanox/mlx5/core/en/tc_tun_mplsoudp.c | 5 +- .../mellanox/mlx5/core/en/tc_tun_vxlan.c | 9 - .../net/ethernet/mellanox/mlx5/core/en/tir.c | 24 +- .../net/ethernet/mellanox/mlx5/core/en/trap.c | 2 +- .../net/ethernet/mellanox/mlx5/core/en/txrx.h | 11 - .../net/ethernet/mellanox/mlx5/core/en/xdp.c | 6 +- .../mellanox/mlx5/core/en/xsk/setup.c | 2 +- .../mellanox/mlx5/core/en_accel/ktls_rx.c | 2 +- .../net/ethernet/mellanox/mlx5/core/en_arfs.c | 2 +- .../ethernet/mellanox/mlx5/core/en_common.c | 6 +- .../ethernet/mellanox/mlx5/core/en_ethtool.c | 93 +- .../net/ethernet/mellanox/mlx5/core/en_fs.c | 4 +- .../mellanox/mlx5/core/en_fs_ethtool.c | 6 +- .../net/ethernet/mellanox/mlx5/core/en_main.c | 548 +- .../net/ethernet/mellanox/mlx5/core/en_rep.c | 48 +- .../net/ethernet/mellanox/mlx5/core/en_rep.h | 12 - .../net/ethernet/mellanox/mlx5/core/en_rx.c | 693 +- .../ethernet/mellanox/mlx5/core/en_selftest.c | 93 +- .../ethernet/mellanox/mlx5/core/en_stats.c | 140 +- .../ethernet/mellanox/mlx5/core/en_stats.h | 10 - .../net/ethernet/mellanox/mlx5/core/en_tc.c | 1504 +- .../net/ethernet/mellanox/mlx5/core/en_tc.h | 17 +- .../net/ethernet/mellanox/mlx5/core/en_tx.c | 2 +- drivers/net/ethernet/mellanox/mlx5/core/eq.c | 139 +- .../ethernet/mellanox/mlx5/core/esw/bridge.c | 293 +- .../mellanox/mlx5/core/esw/bridge_priv.h | 1 - .../mellanox/mlx5/core/esw/devlink_port.c | 4 +- .../mellanox/mlx5/core/esw/indir_table.c | 5 +- .../ethernet/mellanox/mlx5/core/esw/legacy.c | 4 +- .../net/ethernet/mellanox/mlx5/core/esw/qos.c | 221 +- .../net/ethernet/mellanox/mlx5/core/esw/qos.h | 14 +- .../net/ethernet/mellanox/mlx5/core/eswitch.c | 94 +- .../net/ethernet/mellanox/mlx5/core/eswitch.h | 26 +- .../mellanox/mlx5/core/eswitch_offloads.c | 184 +- .../mlx5/core/eswitch_offloads_termtbl.c | 7 +- .../ethernet/mellanox/mlx5/core/fpga/conn.c | 10 +- .../ethernet/mellanox/mlx5/core/fpga/core.h | 2 +- .../net/ethernet/mellanox/mlx5/core/fs_cmd.c | 73 +- .../net/ethernet/mellanox/mlx5/core/fs_cmd.h | 4 - .../net/ethernet/mellanox/mlx5/core/fs_core.c | 206 +- .../net/ethernet/mellanox/mlx5/core/fs_core.h | 14 +- .../ethernet/mellanox/mlx5/core/fs_counters.c | 86 +- drivers/net/ethernet/mellanox/mlx5/core/fw.c | 21 +- .../ethernet/mellanox/mlx5/core/fw_reset.c | 17 +- .../net/ethernet/mellanox/mlx5/core/health.c | 151 +- .../mellanox/mlx5/core/ipoib/ethtool.c | 42 +- .../ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 28 +- .../mellanox/mlx5/core/ipoib/ipoib_vlan.c | 1 + drivers/net/ethernet/mellanox/mlx5/core/lag.c | 28 +- .../net/ethernet/mellanox/mlx5/core/lag_mp.c | 6 +- .../ethernet/mellanox/mlx5/core/lib/fs_ttc.c | 4 - .../ethernet/mellanox/mlx5/core/lib/fs_ttc.h | 2 - .../net/ethernet/mellanox/mlx5/core/main.c | 164 +- .../ethernet/mellanox/mlx5/core/mlx5_core.h | 25 - .../ethernet/mellanox/mlx5/core/mlx5_irq.h | 32 +- drivers/net/ethernet/mellanox/mlx5/core/mr.c | 27 +- .../ethernet/mellanox/mlx5/core/pagealloc.c | 16 +- .../net/ethernet/mellanox/mlx5/core/pci_irq.c | 332 +- .../ethernet/mellanox/mlx5/core/sf/dev/dev.c | 23 +- .../ethernet/mellanox/mlx5/core/sf/dev/dev.h | 1 - .../mellanox/mlx5/core/sf/dev/driver.c | 5 +- .../ethernet/mellanox/mlx5/core/sf/devlink.c | 10 +- .../ethernet/mellanox/mlx5/core/sf/hw_table.c | 6 +- .../mellanox/mlx5/core/sf/vhca_event.c | 3 - .../mellanox/mlx5/core/steering/dr_action.c | 50 +- .../mellanox/mlx5/core/steering/dr_cmd.c | 35 +- .../mellanox/mlx5/core/steering/dr_domain.c | 203 +- .../mellanox/mlx5/core/steering/dr_icm_pool.c | 10 +- .../mellanox/mlx5/core/steering/dr_matcher.c | 247 +- .../mellanox/mlx5/core/steering/dr_rule.c | 53 +- .../mellanox/mlx5/core/steering/dr_send.c | 11 +- .../mellanox/mlx5/core/steering/dr_ste.c | 321 +- .../mellanox/mlx5/core/steering/dr_ste.h | 2 - .../mellanox/mlx5/core/steering/dr_ste_v0.c | 38 +- .../mellanox/mlx5/core/steering/dr_ste_v1.c | 72 +- .../mellanox/mlx5/core/steering/dr_table.c | 94 +- .../mellanox/mlx5/core/steering/dr_types.h | 335 +- .../mellanox/mlx5/core/steering/fs_dr.c | 66 +- .../mellanox/mlx5/core/steering/mlx5_ifc_dr.h | 16 - drivers/net/ethernet/mellanox/mlx5/core/uar.c | 14 +- .../net/ethernet/mellanox/mlx5/core/vport.c | 21 +- .../net/ethernet/mellanox/mlxbf_gige/Makefile | 1 + .../ethernet/mellanox/mlxbf_gige/mlxbf_gige.h | 12 + .../mellanox/mlxbf_gige/mlxbf_gige_ethtool.c | 7 +- .../mellanox/mlxbf_gige/mlxbf_gige_main.c | 24 +- drivers/net/ethernet/mellanox/mlxfw/mlxfw.h | 2 +- drivers/net/ethernet/mellanox/mlxsw/Kconfig | 2 +- drivers/net/ethernet/mellanox/mlxsw/core.c | 329 +- drivers/net/ethernet/mellanox/mlxsw/core.h | 46 +- .../mellanox/mlxsw/core_acl_flex_actions.c | 22 +- .../mellanox/mlxsw/core_acl_flex_actions.h | 16 +- .../mellanox/mlxsw/core_acl_flex_keys.c | 4 +- .../mellanox/mlxsw/core_acl_flex_keys.h | 4 +- .../net/ethernet/mellanox/mlxsw/core_env.c | 372 +- .../net/ethernet/mellanox/mlxsw/core_env.h | 23 - drivers/net/ethernet/mellanox/mlxsw/item.h | 92 +- drivers/net/ethernet/mellanox/mlxsw/minimal.c | 76 +- drivers/net/ethernet/mellanox/mlxsw/pci.c | 2 +- drivers/net/ethernet/mellanox/mlxsw/pci.h | 1 - drivers/net/ethernet/mellanox/mlxsw/reg.h | 993 +- .../net/ethernet/mellanox/mlxsw/resources.h | 8 +- .../net/ethernet/mellanox/mlxsw/spectrum.c | 672 +- .../net/ethernet/mellanox/mlxsw/spectrum.h | 54 +- .../ethernet/mellanox/mlxsw/spectrum2_kvdl.c | 1 - .../mellanox/mlxsw/spectrum2_mr_tcam.c | 12 +- .../ethernet/mellanox/mlxsw/spectrum_acl.c | 2 +- .../mellanox/mlxsw/spectrum_acl_atcam.c | 8 +- .../mlxsw/spectrum_acl_bloom_filter.c | 355 +- .../mlxsw/spectrum_acl_flex_actions.c | 14 +- .../mellanox/mlxsw/spectrum_acl_flex_keys.c | 46 +- .../mellanox/mlxsw/spectrum_acl_tcam.c | 15 +- .../mellanox/mlxsw/spectrum_acl_tcam.h | 6 - .../mellanox/mlxsw/spectrum_buffers.c | 60 +- .../ethernet/mellanox/mlxsw/spectrum_cnt.c | 9 +- .../mellanox/mlxsw/spectrum_ethtool.c | 49 +- .../ethernet/mellanox/mlxsw/spectrum_fid.c | 30 +- .../ethernet/mellanox/mlxsw/spectrum_flower.c | 5 +- .../ethernet/mellanox/mlxsw/spectrum_ipip.c | 416 +- .../ethernet/mellanox/mlxsw/spectrum_ipip.h | 27 +- .../ethernet/mellanox/mlxsw/spectrum_nve.c | 165 +- .../ethernet/mellanox/mlxsw/spectrum_nve.h | 2 - .../mellanox/mlxsw/spectrum_nve_vxlan.c | 97 +- .../ethernet/mellanox/mlxsw/spectrum_ptp.c | 12 +- .../ethernet/mellanox/mlxsw/spectrum_ptp.h | 16 +- .../ethernet/mellanox/mlxsw/spectrum_qdisc.c | 583 +- .../ethernet/mellanox/mlxsw/spectrum_router.c | 676 +- .../ethernet/mellanox/mlxsw/spectrum_router.h | 9 +- .../ethernet/mellanox/mlxsw/spectrum_span.c | 36 +- .../ethernet/mellanox/mlxsw/spectrum_span.h | 1 - .../mellanox/mlxsw/spectrum_switchdev.c | 218 +- .../ethernet/mellanox/mlxsw/spectrum_trap.c | 24 +- drivers/net/ethernet/micrel/ks8842.c | 15 +- drivers/net/ethernet/micrel/ks8851.h | 2 +- drivers/net/ethernet/micrel/ks8851_common.c | 14 +- drivers/net/ethernet/micrel/ks8851_par.c | 4 +- drivers/net/ethernet/micrel/ks8851_spi.c | 4 +- drivers/net/ethernet/micrel/ksz884x.c | 22 +- drivers/net/ethernet/microchip/Kconfig | 1 - drivers/net/ethernet/microchip/Makefile | 1 - drivers/net/ethernet/microchip/enc28j60.c | 7 +- drivers/net/ethernet/microchip/encx24j600.c | 7 +- drivers/net/ethernet/microchip/lan743x_main.c | 26 +- drivers/net/ethernet/microchip/lan743x_main.h | 3 +- drivers/net/ethernet/microchip/lan743x_ptp.c | 97 +- .../ethernet/microchip/sparx5/sparx5_main.c | 30 +- .../ethernet/microchip/sparx5/sparx5_netdev.c | 6 +- .../microchip/sparx5/sparx5_phylink.c | 76 +- drivers/net/ethernet/microsoft/mana/Makefile | 2 +- .../net/ethernet/microsoft/mana/gdma_main.c | 155 +- .../net/ethernet/microsoft/mana/hw_channel.c | 85 +- drivers/net/ethernet/microsoft/mana/mana.h | 19 +- drivers/net/ethernet/microsoft/mana/mana_en.c | 236 +- .../ethernet/microsoft/mana/mana_ethtool.c | 3 + drivers/net/ethernet/moxa/moxart_ether.c | 2 +- drivers/net/ethernet/mscc/Makefile | 4 +- drivers/net/ethernet/mscc/ocelot.c | 849 +- drivers/net/ethernet/mscc/ocelot.h | 16 +- drivers/net/ethernet/mscc/ocelot_flower.c | 238 +- drivers/net/ethernet/mscc/ocelot_mrp.c | 8 +- drivers/net/ethernet/mscc/ocelot_net.c | 101 +- drivers/net/ethernet/mscc/ocelot_vcap.c | 119 +- drivers/net/ethernet/mscc/ocelot_vsc7514.c | 544 +- .../net/ethernet/myricom/myri10ge/myri10ge.c | 26 +- drivers/net/ethernet/natsemi/jazzsonic.c | 6 +- drivers/net/ethernet/natsemi/macsonic.c | 27 +- drivers/net/ethernet/natsemi/natsemi.c | 6 +- drivers/net/ethernet/natsemi/ns83820.c | 11 +- drivers/net/ethernet/natsemi/xtsonic.c | 6 +- drivers/net/ethernet/neterion/s2io.c | 31 +- drivers/net/ethernet/neterion/s2io.h | 3 +- .../net/ethernet/neterion/vxge/vxge-main.c | 37 +- drivers/net/ethernet/netronome/nfp/abm/main.c | 2 +- .../net/ethernet/netronome/nfp/abm/qdisc.c | 2 +- .../ethernet/netronome/nfp/devlink_param.c | 9 +- .../ethernet/netronome/nfp/flower/action.c | 3 +- .../net/ethernet/netronome/nfp/flower/cmsg.h | 4 +- .../ethernet/netronome/nfp/flower/metadata.c | 70 +- .../ethernet/netronome/nfp/flower/offload.c | 5 +- .../netronome/nfp/flower/tunnel_conf.c | 6 +- .../ethernet/netronome/nfp/nfp_net_common.c | 4 +- .../ethernet/netronome/nfp/nfp_net_ethtool.c | 11 +- .../net/ethernet/netronome/nfp/nfp_net_main.c | 11 +- .../net/ethernet/netronome/nfp/nfp_net_repr.c | 9 +- .../ethernet/netronome/nfp/nfp_netvf_main.c | 2 +- drivers/net/ethernet/ni/nixge.c | 6 +- drivers/net/ethernet/nvidia/forcedeth.c | 61 +- drivers/net/ethernet/nxp/lpc_eth.c | 10 +- .../oki-semi/pch_gbe/pch_gbe_ethtool.c | 12 +- .../ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 7 +- drivers/net/ethernet/packetengines/hamachi.c | 5 +- .../net/ethernet/packetengines/yellowfin.c | 6 +- drivers/net/ethernet/pasemi/pasemi_mac.c | 4 +- .../net/ethernet/pasemi/pasemi_mac_ethtool.c | 4 +- drivers/net/ethernet/pensando/ionic/ionic.h | 8 +- .../ethernet/pensando/ionic/ionic_debugfs.c | 48 +- .../net/ethernet/pensando/ionic/ionic_dev.c | 1 + .../net/ethernet/pensando/ionic/ionic_dev.h | 4 + .../ethernet/pensando/ionic/ionic_devlink.c | 10 +- .../ethernet/pensando/ionic/ionic_ethtool.c | 49 +- .../net/ethernet/pensando/ionic/ionic_lif.c | 264 +- .../net/ethernet/pensando/ionic/ionic_lif.h | 49 +- .../net/ethernet/pensando/ionic/ionic_main.c | 92 +- .../net/ethernet/pensando/ionic/ionic_phc.c | 8 +- .../ethernet/pensando/ionic/ionic_rx_filter.c | 241 +- .../ethernet/pensando/ionic/ionic_rx_filter.h | 2 - .../net/ethernet/pensando/ionic/ionic_stats.c | 121 + .../net/ethernet/pensando/ionic/ionic_txrx.c | 14 + .../qlogic/netxen/netxen_nic_ethtool.c | 8 +- .../ethernet/qlogic/netxen/netxen_nic_main.c | 8 +- drivers/net/ethernet/qlogic/qed/qed.h | 44 +- drivers/net/ethernet/qlogic/qed/qed_cxt.c | 40 +- drivers/net/ethernet/qlogic/qed/qed_cxt.h | 143 +- drivers/net/ethernet/qlogic/qed/qed_dcbx.h | 11 +- drivers/net/ethernet/qlogic/qed/qed_debug.c | 1389 +- drivers/net/ethernet/qlogic/qed/qed_debug.h | 7 +- drivers/net/ethernet/qlogic/qed/qed_dev.c | 126 +- drivers/net/ethernet/qlogic/qed/qed_dev_api.h | 349 +- drivers/net/ethernet/qlogic/qed/qed_devlink.c | 12 +- drivers/net/ethernet/qlogic/qed/qed_fcoe.c | 25 +- drivers/net/ethernet/qlogic/qed/qed_hsi.h | 12354 +++++++++------- drivers/net/ethernet/qlogic/qed/qed_hw.h | 214 +- .../ethernet/qlogic/qed/qed_init_fw_funcs.c | 507 +- .../net/ethernet/qlogic/qed/qed_init_ops.c | 98 +- .../net/ethernet/qlogic/qed/qed_init_ops.h | 60 +- drivers/net/ethernet/qlogic/qed/qed_int.c | 32 +- drivers/net/ethernet/qlogic/qed/qed_int.h | 289 +- drivers/net/ethernet/qlogic/qed/qed_iscsi.c | 15 +- drivers/net/ethernet/qlogic/qed/qed_iscsi.h | 9 +- drivers/net/ethernet/qlogic/qed/qed_iwarp.c | 2 - drivers/net/ethernet/qlogic/qed/qed_l2.c | 43 +- drivers/net/ethernet/qlogic/qed/qed_l2.h | 135 +- drivers/net/ethernet/qlogic/qed/qed_ll2.c | 167 +- drivers/net/ethernet/qlogic/qed/qed_ll2.h | 131 +- drivers/net/ethernet/qlogic/qed/qed_main.c | 121 +- drivers/net/ethernet/qlogic/qed/qed_mcp.c | 88 +- drivers/net/ethernet/qlogic/qed/qed_mcp.h | 785 +- drivers/net/ethernet/qlogic/qed/qed_ooo.c | 20 +- drivers/net/ethernet/qlogic/qed/qed_ptp.c | 4 +- drivers/net/ethernet/qlogic/qed/qed_rdma.c | 26 +- drivers/net/ethernet/qlogic/qed/qed_rdma.h | 7 +- .../net/ethernet/qlogic/qed/qed_reg_addr.h | 97 +- drivers/net/ethernet/qlogic/qed/qed_roce.c | 1 + .../net/ethernet/qlogic/qed/qed_selftest.h | 30 +- drivers/net/ethernet/qlogic/qed/qed_sp.h | 223 +- .../net/ethernet/qlogic/qed/qed_sp_commands.c | 20 +- drivers/net/ethernet/qlogic/qed/qed_spq.c | 105 +- drivers/net/ethernet/qlogic/qed/qed_sriov.c | 201 +- drivers/net/ethernet/qlogic/qed/qed_sriov.h | 138 +- drivers/net/ethernet/qlogic/qed/qed_vf.c | 13 +- drivers/net/ethernet/qlogic/qed/qed_vf.h | 311 +- .../net/ethernet/qlogic/qede/qede_ethtool.c | 21 +- .../net/ethernet/qlogic/qede/qede_filter.c | 53 +- drivers/net/ethernet/qlogic/qede/qede_fp.c | 3 +- drivers/net/ethernet/qlogic/qede/qede_main.c | 100 +- drivers/net/ethernet/qlogic/qede/qede_ptp.c | 5 + drivers/net/ethernet/qlogic/qla3xxx.c | 23 +- drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | 2 +- .../ethernet/qlogic/qlcnic/qlcnic_83xx_hw.h | 2 +- .../ethernet/qlogic/qlcnic/qlcnic_83xx_init.c | 4 +- .../ethernet/qlogic/qlcnic/qlcnic_ethtool.c | 8 +- .../net/ethernet/qlogic/qlcnic/qlcnic_main.c | 42 +- .../net/ethernet/qlogic/qlcnic/qlcnic_sriov.h | 2 +- .../qlogic/qlcnic/qlcnic_sriov_common.c | 9 +- .../net/ethernet/qualcomm/emac/emac-ethtool.c | 8 +- drivers/net/ethernet/qualcomm/emac/emac-mac.c | 2 +- drivers/net/ethernet/qualcomm/emac/emac.c | 5 +- drivers/net/ethernet/qualcomm/qca_debug.c | 8 +- drivers/net/ethernet/qualcomm/qca_spi.c | 2 +- drivers/net/ethernet/qualcomm/qca_uart.c | 2 +- .../net/ethernet/qualcomm/rmnet/rmnet_vnd.c | 2 +- drivers/net/ethernet/rdc/r6040.c | 24 +- drivers/net/ethernet/realtek/8139cp.c | 11 +- drivers/net/ethernet/realtek/8139too.c | 7 +- drivers/net/ethernet/realtek/atp.c | 4 +- drivers/net/ethernet/realtek/r8169.h | 2 +- drivers/net/ethernet/realtek/r8169_main.c | 118 +- .../net/ethernet/realtek/r8169_phy_config.c | 59 + drivers/net/ethernet/renesas/ravb.h | 52 +- drivers/net/ethernet/renesas/ravb_main.c | 740 +- drivers/net/ethernet/renesas/sh_eth.c | 27 +- drivers/net/ethernet/rocker/rocker_main.c | 39 +- .../net/ethernet/samsung/sxgbe/sxgbe_common.h | 2 +- .../net/ethernet/samsung/sxgbe/sxgbe_core.c | 3 +- .../net/ethernet/samsung/sxgbe/sxgbe_main.c | 15 +- .../ethernet/samsung/sxgbe/sxgbe_platform.c | 2 +- drivers/net/ethernet/seeq/ether3.c | 4 +- drivers/net/ethernet/seeq/sgiseeq.c | 4 +- drivers/net/ethernet/sfc/ef10.c | 4 +- drivers/net/ethernet/sfc/ef100_ethtool.c | 7 +- drivers/net/ethernet/sfc/ef100_nic.c | 8 +- drivers/net/ethernet/sfc/ef10_sriov.c | 4 +- drivers/net/ethernet/sfc/ef10_sriov.h | 6 +- drivers/net/ethernet/sfc/efx.c | 5 +- drivers/net/ethernet/sfc/efx_channels.c | 15 +- drivers/net/ethernet/sfc/efx_common.c | 5 +- drivers/net/ethernet/sfc/ethtool.c | 14 +- drivers/net/ethernet/sfc/falcon/efx.c | 16 +- drivers/net/ethernet/sfc/falcon/ethtool.c | 14 +- drivers/net/ethernet/sfc/mcdi_port_common.c | 4 +- drivers/net/ethernet/sfc/net_driver.h | 2 +- drivers/net/ethernet/sfc/ptp.c | 3 + drivers/net/ethernet/sfc/rx.c | 2 +- drivers/net/ethernet/sfc/siena_sriov.c | 2 +- drivers/net/ethernet/sfc/siena_sriov.h | 2 +- drivers/net/ethernet/sgi/ioc3-eth.c | 4 +- drivers/net/ethernet/sgi/meth.c | 2 +- drivers/net/ethernet/silan/sc92031.c | 14 +- drivers/net/ethernet/sis/sis190.c | 10 +- drivers/net/ethernet/sis/sis900.c | 19 +- drivers/net/ethernet/smsc/epic100.c | 4 +- drivers/net/ethernet/smsc/smc911x.c | 12 +- drivers/net/ethernet/smsc/smc9194.c | 6 +- drivers/net/ethernet/smsc/smc91c92_cs.c | 15 +- drivers/net/ethernet/smsc/smc91x.c | 4 +- drivers/net/ethernet/smsc/smsc911x.c | 22 +- drivers/net/ethernet/smsc/smsc9420.c | 24 +- drivers/net/ethernet/socionext/netsec.c | 59 +- drivers/net/ethernet/socionext/sni_ave.c | 17 +- drivers/net/ethernet/stmicro/stmmac/common.h | 5 +- .../net/ethernet/stmicro/stmmac/dwmac-oxnas.c | 115 +- .../stmicro/stmmac/dwmac-qcom-ethqos.c | 26 +- .../net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 2 +- .../ethernet/stmicro/stmmac/dwmac-visconti.c | 7 +- .../ethernet/stmicro/stmmac/dwmac1000_core.c | 2 +- .../ethernet/stmicro/stmmac/dwmac100_core.c | 2 +- .../net/ethernet/stmicro/stmmac/dwmac4_core.c | 2 +- .../ethernet/stmicro/stmmac/dwmac4_descs.c | 8 +- .../net/ethernet/stmicro/stmmac/dwmac4_lib.c | 2 +- .../net/ethernet/stmicro/stmmac/dwmac_lib.c | 2 +- .../ethernet/stmicro/stmmac/dwxgmac2_core.c | 3 +- drivers/net/ethernet/stmicro/stmmac/hwif.h | 3 +- drivers/net/ethernet/stmicro/stmmac/stmmac.h | 7 +- .../ethernet/stmicro/stmmac/stmmac_ethtool.c | 9 +- .../net/ethernet/stmicro/stmmac/stmmac_main.c | 151 +- .../net/ethernet/stmicro/stmmac/stmmac_ptp.c | 5 - .../stmicro/stmmac/stmmac_selftests.c | 8 +- .../net/ethernet/stmicro/stmmac/stmmac_tc.c | 121 - drivers/net/ethernet/sun/cassini.c | 33 +- drivers/net/ethernet/sun/ldmvsw.c | 7 +- drivers/net/ethernet/sun/niu.c | 46 +- drivers/net/ethernet/sun/sunbmac.c | 6 +- drivers/net/ethernet/sun/sungem.c | 15 +- drivers/net/ethernet/sun/sunhme.c | 23 +- drivers/net/ethernet/sun/sunqe.c | 4 +- drivers/net/ethernet/sun/sunvnet.c | 4 +- .../net/ethernet/synopsys/dwc-xlgmac-common.c | 2 +- drivers/net/ethernet/synopsys/dwc-xlgmac-hw.c | 2 +- .../net/ethernet/synopsys/dwc-xlgmac-net.c | 2 +- drivers/net/ethernet/synopsys/dwc-xlgmac.h | 2 +- drivers/net/ethernet/tehuti/tehuti.c | 48 +- drivers/net/ethernet/ti/am65-cpsw-ethtool.c | 9 +- drivers/net/ethernet/ti/am65-cpsw-nuss.c | 57 +- drivers/net/ethernet/ti/cpmac.c | 10 +- drivers/net/ethernet/ti/cpsw.c | 6 +- drivers/net/ethernet/ti/cpsw_ethtool.c | 8 +- drivers/net/ethernet/ti/cpsw_new.c | 17 +- drivers/net/ethernet/ti/cpsw_priv.c | 28 +- drivers/net/ethernet/ti/cpsw_priv.h | 10 +- drivers/net/ethernet/ti/cpts.c | 6 +- drivers/net/ethernet/ti/davinci_emac.c | 77 +- drivers/net/ethernet/ti/netcp_core.c | 8 +- drivers/net/ethernet/ti/netcp_ethss.c | 4 + drivers/net/ethernet/ti/tlan.c | 14 +- drivers/net/ethernet/toshiba/ps3_gelic_net.c | 2 +- drivers/net/ethernet/toshiba/spider_net.c | 14 +- .../net/ethernet/toshiba/spider_net_ethtool.c | 4 +- drivers/net/ethernet/toshiba/tc35815.c | 11 +- drivers/net/ethernet/tundra/tsi108_eth.c | 35 +- drivers/net/ethernet/via/via-rhine.c | 4 +- drivers/net/ethernet/via/via-velocity.c | 4 +- drivers/net/ethernet/wiznet/w5100-spi.c | 4 +- drivers/net/ethernet/wiznet/w5100.c | 11 +- drivers/net/ethernet/wiznet/w5100.h | 2 +- drivers/net/ethernet/wiznet/w5300.c | 4 +- drivers/net/ethernet/xilinx/ll_temac_main.c | 18 +- .../net/ethernet/xilinx/xilinx_axienet_main.c | 90 +- drivers/net/ethernet/xilinx/xilinx_emaclite.c | 20 +- drivers/net/ethernet/xircom/xirc2ps_cs.c | 14 +- drivers/net/ethernet/xscale/ixp4xx_eth.c | 10 +- drivers/net/fddi/defxx.c | 12 +- drivers/net/fddi/defza.c | 2 +- drivers/net/fddi/skfp/h/smc.h | 2 +- drivers/net/fddi/skfp/hwmtm.c | 6 +- drivers/net/fddi/skfp/skfddi.c | 9 +- drivers/net/fddi/skfp/smt.c | 14 +- drivers/net/fddi/skfp/smtinit.c | 4 +- drivers/net/fjes/fjes_hw.c | 3 +- drivers/net/fjes/fjes_hw.h | 2 +- drivers/net/fjes/fjes_main.c | 14 +- drivers/net/geneve.c | 9 +- drivers/net/gtp.c | 2 +- drivers/net/hamradio/6pack.c | 19 +- drivers/net/hamradio/baycom_epp.c | 4 +- drivers/net/hamradio/bpqether.c | 7 +- drivers/net/hamradio/dmascc.c | 5 +- drivers/net/hamradio/hdlcdrv.c | 5 +- drivers/net/hamradio/mkiss.c | 10 +- drivers/net/hamradio/scc.c | 8 +- drivers/net/hamradio/yam.c | 4 +- drivers/net/hippi/rrunner.c | 6 +- drivers/net/hyperv/hyperv_net.h | 10 +- drivers/net/hyperv/netvsc.c | 161 +- drivers/net/hyperv/netvsc_bpf.c | 2 +- drivers/net/hyperv/netvsc_drv.c | 15 +- drivers/net/hyperv/rndis_filter.c | 2 - drivers/net/ieee802154/ca8210.c | 2 + drivers/net/ifb.c | 149 +- drivers/net/ipa/Kconfig | 1 + drivers/net/ipa/gsi.c | 114 +- drivers/net/ipa/gsi.h | 21 +- drivers/net/ipa/gsi_reg.h | 4 - drivers/net/ipa/ipa_data-v4.5.c | 7 +- drivers/net/ipa/ipa_endpoint.c | 93 +- drivers/net/ipa/ipa_mem.c | 4 +- drivers/net/ipa/ipa_modem.c | 10 + drivers/net/ipa/ipa_modem.h | 3 + drivers/net/ipa/ipa_power.c | 52 - drivers/net/ipa/ipa_power.h | 7 - drivers/net/ipa/ipa_table.c | 48 +- drivers/net/ipa/ipa_uc.c | 5 - drivers/net/ipvlan/ipvlan_core.c | 3 +- drivers/net/ipvlan/ipvlan_main.c | 15 +- drivers/net/ipvlan/ipvtap.c | 2 +- drivers/net/loopback.c | 1 - drivers/net/macsec.c | 4 +- drivers/net/macvlan.c | 18 +- drivers/net/macvtap.c | 2 +- drivers/net/mctp/Kconfig | 18 - drivers/net/mctp/Makefile | 1 - drivers/net/mdio/Kconfig | 2 +- drivers/net/mdio/mdio-ipq8064.c | 2 +- drivers/net/mdio/mdio-mscc-miim.c | 184 +- drivers/net/net_failover.c | 3 +- drivers/net/netconsole.c | 2 +- drivers/net/netdevsim/bus.c | 155 +- drivers/net/netdevsim/dev.c | 210 +- drivers/net/netdevsim/ethtool.c | 36 +- drivers/net/netdevsim/health.c | 32 + drivers/net/netdevsim/netdev.c | 72 +- drivers/net/netdevsim/netdevsim.h | 57 +- drivers/net/ntb_netdev.c | 2 +- drivers/net/pcs/pcs-lynx.c | 36 +- drivers/net/pcs/pcs-xpcs.c | 2 +- drivers/net/phy/at803x.c | 778 +- drivers/net/phy/bcm7xxx.c | 203 - drivers/net/phy/broadcom.c | 106 +- drivers/net/phy/dp83640.c | 3 + drivers/net/phy/dp83867.c | 23 +- drivers/net/phy/dp83869.c | 48 +- drivers/net/phy/marvell.c | 22 +- drivers/net/phy/marvell10g.c | 107 +- drivers/net/phy/mdio_bus.c | 47 +- drivers/net/phy/micrel.c | 197 - drivers/net/phy/microchip_t1.c | 283 +- drivers/net/phy/mscc/mscc_main.c | 2 +- drivers/net/phy/mscc/mscc_ptp.c | 3 + drivers/net/phy/nxp-c45-tja11xx.c | 220 - drivers/net/phy/phy-c45.c | 35 - drivers/net/phy/phy_device.c | 10 - drivers/net/phy/phylink.c | 616 +- drivers/net/phy/realtek.c | 8 - drivers/net/phy/sfp-bus.c | 2 +- drivers/net/plip/plip.c | 8 +- drivers/net/ppp/ppp_async.c | 10 +- drivers/net/ppp/ppp_generic.c | 7 +- drivers/net/ppp/ppp_synctty.c | 10 +- drivers/net/rionet.c | 14 +- drivers/net/sb1000.c | 12 +- drivers/net/slip/slip.c | 9 +- drivers/net/sungem_phy.c | 2 +- drivers/net/team/team.c | 2 +- drivers/net/thunderbolt.c | 8 +- drivers/net/tun.c | 2 +- drivers/net/usb/aqc111.c | 4 +- drivers/net/usb/asix_common.c | 2 +- drivers/net/usb/asix_devices.c | 2 +- drivers/net/usb/ax88172a.c | 2 +- drivers/net/usb/ax88179_178a.c | 29 +- drivers/net/usb/catc.c | 24 +- drivers/net/usb/cdc-phonet.c | 4 +- drivers/net/usb/ch9200.c | 4 +- drivers/net/usb/cx82310_eth.c | 5 +- drivers/net/usb/dm9601.c | 7 +- drivers/net/usb/ipheth.c | 2 +- drivers/net/usb/kalmia.c | 2 +- drivers/net/usb/kaweth.c | 3 +- drivers/net/usb/lan78xx.c | 1272 +- drivers/net/usb/mcs7830.c | 9 +- drivers/net/usb/pegasus.c | 2 +- drivers/net/usb/qmi_wwan.c | 10 +- drivers/net/usb/r8152.c | 12 +- drivers/net/usb/rndis_host.c | 2 +- drivers/net/usb/rtl8150.c | 4 +- drivers/net/usb/sierra_net.c | 6 +- drivers/net/usb/smsc75xx.c | 9 +- drivers/net/usb/smsc95xx.c | 23 +- drivers/net/usb/sr9700.c | 9 +- drivers/net/usb/sr9800.c | 7 +- drivers/net/usb/usbnet.c | 6 +- drivers/net/veth.c | 35 +- drivers/net/virtio_net.c | 76 +- drivers/net/vmxnet3/vmxnet3_drv.c | 30 +- drivers/net/vmxnet3/vmxnet3_ethtool.c | 20 +- drivers/net/vrf.c | 9 +- drivers/net/vxlan.c | 10 +- drivers/net/wan/fsl_ucc_hdlc.c | 62 +- drivers/net/wan/hdlc_fr.c | 4 +- drivers/net/wan/ixp4xx_hss.c | 261 +- drivers/net/wan/lapbether.c | 2 +- drivers/net/wan/lmc/lmc_main.c | 2 +- drivers/net/wireguard/main.c | 8 +- drivers/net/wireguard/noise.c | 45 +- drivers/net/wireguard/queueing.h | 4 +- drivers/net/wireless/ath/ar5523/ar5523.c | 3 +- drivers/net/wireless/ath/ath10k/bmi.h | 10 +- drivers/net/wireless/ath/ath10k/core.c | 69 +- drivers/net/wireless/ath/ath10k/core.h | 6 - drivers/net/wireless/ath/ath10k/htt.h | 117 +- drivers/net/wireless/ath/ath10k/mac.c | 11 +- drivers/net/wireless/ath/ath10k/sdio.c | 1 + drivers/net/wireless/ath/ath10k/wmi.c | 33 +- drivers/net/wireless/ath/ath10k/wmi.h | 4 +- drivers/net/wireless/ath/ath11k/ce.c | 55 +- drivers/net/wireless/ath/ath11k/ce.h | 3 +- drivers/net/wireless/ath/ath11k/core.c | 318 +- drivers/net/wireless/ath/ath11k/core.h | 86 +- drivers/net/wireless/ath/ath11k/dbring.c | 46 +- drivers/net/wireless/ath/ath11k/dbring.h | 4 +- drivers/net/wireless/ath/ath11k/debug.c | 12 +- drivers/net/wireless/ath/ath11k/debug.h | 3 +- drivers/net/wireless/ath/ath11k/debugfs.c | 68 +- drivers/net/wireless/ath/ath11k/debugfs.h | 12 - .../wireless/ath/ath11k/debugfs_htt_stats.c | 4302 +++--- .../wireless/ath/ath11k/debugfs_htt_stats.h | 226 - drivers/net/wireless/ath/ath11k/debugfs_sta.c | 86 +- drivers/net/wireless/ath/ath11k/debugfs_sta.h | 2 + drivers/net/wireless/ath/ath11k/dp.c | 63 +- drivers/net/wireless/ath/ath11k/dp.h | 64 +- drivers/net/wireless/ath/ath11k/dp_rx.c | 947 +- drivers/net/wireless/ath/ath11k/dp_tx.c | 279 +- drivers/net/wireless/ath/ath11k/dp_tx.h | 5 +- drivers/net/wireless/ath/ath11k/hal.c | 35 +- drivers/net/wireless/ath/ath11k/hal.h | 1 - drivers/net/wireless/ath/ath11k/hal_desc.h | 21 - drivers/net/wireless/ath/ath11k/hal_rx.c | 78 +- drivers/net/wireless/ath/ath11k/hal_rx.h | 56 +- drivers/net/wireless/ath/ath11k/htc.c | 71 +- drivers/net/wireless/ath/ath11k/htc.h | 9 +- drivers/net/wireless/ath/ath11k/hw.c | 70 +- drivers/net/wireless/ath/ath11k/hw.h | 58 +- drivers/net/wireless/ath/ath11k/mac.c | 2335 +-- drivers/net/wireless/ath/ath11k/mac.h | 20 - drivers/net/wireless/ath/ath11k/mhi.c | 49 +- drivers/net/wireless/ath/ath11k/pci.c | 271 +- drivers/net/wireless/ath/ath11k/pci.h | 3 - drivers/net/wireless/ath/ath11k/peer.c | 11 - drivers/net/wireless/ath/ath11k/peer.h | 1 - drivers/net/wireless/ath/ath11k/qmi.c | 583 +- drivers/net/wireless/ath/ath11k/qmi.h | 35 +- drivers/net/wireless/ath/ath11k/reg.c | 24 +- drivers/net/wireless/ath/ath11k/spectral.c | 56 +- drivers/net/wireless/ath/ath11k/trace.c | 1 - drivers/net/wireless/ath/ath11k/trace.h | 211 +- drivers/net/wireless/ath/ath11k/wmi.c | 744 +- drivers/net/wireless/ath/ath11k/wmi.h | 223 +- drivers/net/wireless/ath/ath5k/base.c | 50 +- drivers/net/wireless/ath/ath5k/sysfs.c | 8 +- drivers/net/wireless/ath/ath6kl/htc.h | 15 +- drivers/net/wireless/ath/ath6kl/htc_mbox.c | 15 +- drivers/net/wireless/ath/ath9k/ar9002_mac.c | 2 +- drivers/net/wireless/ath/ath9k/ar9003_calib.c | 14 +- .../wireless/ath/ath9k/ath9k_pci_owl_loader.c | 107 +- drivers/net/wireless/ath/ath9k/debug.c | 57 +- drivers/net/wireless/ath/ath9k/debug.h | 1 - drivers/net/wireless/ath/ath9k/eeprom.c | 12 +- drivers/net/wireless/ath/ath9k/hw.h | 2 - drivers/net/wireless/ath/ath9k/init.c | 58 - drivers/net/wireless/ath/ath9k/xmit.c | 45 +- drivers/net/wireless/ath/carl9170/main.c | 9 +- drivers/net/wireless/ath/carl9170/tx.c | 12 +- drivers/net/wireless/ath/regd.h | 1 - drivers/net/wireless/ath/regd_common.h | 3 - drivers/net/wireless/ath/spectral_common.h | 1 + drivers/net/wireless/ath/wcn36xx/dxe.c | 47 - drivers/net/wireless/ath/wcn36xx/dxe.h | 1 - drivers/net/wireless/ath/wcn36xx/hal.h | 35 +- drivers/net/wireless/ath/wcn36xx/main.c | 64 +- drivers/net/wireless/ath/wcn36xx/pmc.c | 8 - drivers/net/wireless/ath/wcn36xx/smd.c | 178 +- drivers/net/wireless/ath/wcn36xx/smd.h | 8 +- drivers/net/wireless/ath/wcn36xx/txrx.c | 83 - drivers/net/wireless/ath/wcn36xx/wcn36xx.h | 6 +- drivers/net/wireless/ath/wil6210/cfg80211.c | 10 +- drivers/net/wireless/ath/wil6210/main.c | 6 +- drivers/net/wireless/ath/wil6210/wil6210.h | 2 +- drivers/net/wireless/ath/wil6210/wmi.c | 2 +- drivers/net/wireless/atmel/atmel.c | 19 +- .../net/wireless/broadcom/brcm80211/Kconfig | 14 +- .../broadcom/brcm80211/brcmfmac/cfg80211.c | 33 +- .../broadcom/brcm80211/brcmfmac/core.c | 6 +- .../broadcom/brcm80211/brcmfmac/fwil_types.h | 19 - .../wireless/broadcom/brcm80211/brcmfmac/of.c | 2 +- .../broadcom/brcm80211/brcmfmac/p2p.c | 4 +- .../broadcom/brcm80211/brcmfmac/xtlv.c | 2 - .../broadcom/brcm80211/brcmsmac/Makefile | 2 +- .../broadcom/brcm80211/brcmsmac/led.h | 2 +- drivers/net/wireless/cisco/airo.c | 49 +- drivers/net/wireless/intel/ipw2x00/ipw2100.c | 4 +- drivers/net/wireless/intel/ipw2x00/ipw2200.h | 2 +- .../net/wireless/intel/iwlegacy/3945-mac.c | 1 + .../net/wireless/intel/iwlegacy/4965-mac.c | 1 + drivers/net/wireless/intel/iwlegacy/Kconfig | 4 +- .../net/wireless/intel/iwlegacy/commands.h | 6 +- drivers/net/wireless/intel/iwlwifi/Kconfig | 41 +- drivers/net/wireless/intel/iwlwifi/Makefile | 3 +- drivers/net/wireless/intel/iwlwifi/cfg/1000.c | 5 + drivers/net/wireless/intel/iwlwifi/cfg/2000.c | 5 + .../net/wireless/intel/iwlwifi/cfg/22000.c | 116 +- drivers/net/wireless/intel/iwlwifi/cfg/5000.c | 5 + drivers/net/wireless/intel/iwlwifi/cfg/6000.c | 5 + drivers/net/wireless/intel/iwlwifi/dvm/agn.h | 11 +- .../net/wireless/intel/iwlwifi/dvm/commands.h | 6 +- .../net/wireless/intel/iwlwifi/dvm/debugfs.c | 4 + drivers/net/wireless/intel/iwlwifi/dvm/dev.h | 5 + .../net/wireless/intel/iwlwifi/dvm/devices.c | 5 + drivers/net/wireless/intel/iwlwifi/dvm/led.c | 5 + drivers/net/wireless/intel/iwlwifi/dvm/led.h | 5 + drivers/net/wireless/intel/iwlwifi/dvm/lib.c | 5 + .../net/wireless/intel/iwlwifi/dvm/mac80211.c | 5 + drivers/net/wireless/intel/iwlwifi/dvm/main.c | 15 +- .../net/wireless/intel/iwlwifi/dvm/power.c | 4 + .../net/wireless/intel/iwlwifi/dvm/power.h | 4 + drivers/net/wireless/intel/iwlwifi/dvm/rs.c | 5 + drivers/net/wireless/intel/iwlwifi/dvm/rs.h | 5 + drivers/net/wireless/intel/iwlwifi/dvm/rx.c | 5 + drivers/net/wireless/intel/iwlwifi/dvm/rxon.c | 5 + drivers/net/wireless/intel/iwlwifi/dvm/scan.c | 4 + drivers/net/wireless/intel/iwlwifi/dvm/sta.c | 5 + drivers/net/wireless/intel/iwlwifi/dvm/tt.c | 4 + drivers/net/wireless/intel/iwlwifi/dvm/tt.h | 4 + drivers/net/wireless/intel/iwlwifi/dvm/tx.c | 5 + .../net/wireless/intel/iwlwifi/dvm/ucode.c | 5 + drivers/net/wireless/intel/iwlwifi/fw/acpi.c | 199 +- drivers/net/wireless/intel/iwlwifi/fw/acpi.h | 66 +- .../net/wireless/intel/iwlwifi/fw/api/alive.h | 26 +- .../wireless/intel/iwlwifi/fw/api/commands.h | 28 +- .../net/wireless/intel/iwlwifi/fw/api/d3.h | 74 +- .../wireless/intel/iwlwifi/fw/api/datapath.h | 62 - .../wireless/intel/iwlwifi/fw/api/dbg-tlv.h | 90 +- .../net/wireless/intel/iwlwifi/fw/api/debug.h | 35 - .../wireless/intel/iwlwifi/fw/api/filter.h | 88 + .../wireless/intel/iwlwifi/fw/api/location.h | 10 +- .../wireless/intel/iwlwifi/fw/api/mac-cfg.h | 10 +- .../net/wireless/intel/iwlwifi/fw/api/mac.h | 3 - .../wireless/intel/iwlwifi/fw/api/nvm-reg.h | 53 +- .../wireless/intel/iwlwifi/fw/api/phy-ctxt.h | 9 +- .../net/wireless/intel/iwlwifi/fw/api/phy.h | 6 +- .../net/wireless/intel/iwlwifi/fw/api/power.h | 73 +- .../net/wireless/intel/iwlwifi/fw/api/rs.h | 289 +- .../net/wireless/intel/iwlwifi/fw/api/rx.h | 31 +- .../net/wireless/intel/iwlwifi/fw/api/scan.h | 93 +- .../net/wireless/intel/iwlwifi/fw/api/sta.h | 2 - .../net/wireless/intel/iwlwifi/fw/api/stats.h | 92 +- .../net/wireless/intel/iwlwifi/fw/api/tx.h | 63 +- drivers/net/wireless/intel/iwlwifi/fw/dbg.c | 68 +- drivers/net/wireless/intel/iwlwifi/fw/dump.c | 152 +- .../wireless/intel/iwlwifi/fw/error-dump.h | 22 +- drivers/net/wireless/intel/iwlwifi/fw/file.h | 15 +- drivers/net/wireless/intel/iwlwifi/fw/img.c | 64 +- drivers/net/wireless/intel/iwlwifi/fw/img.h | 16 - drivers/net/wireless/intel/iwlwifi/fw/init.c | 8 +- .../net/wireless/intel/iwlwifi/fw/paging.c | 4 +- drivers/net/wireless/intel/iwlwifi/fw/pnvm.c | 2 +- .../net/wireless/intel/iwlwifi/fw/runtime.h | 14 +- drivers/net/wireless/intel/iwlwifi/fw/uefi.c | 88 - drivers/net/wireless/intel/iwlwifi/fw/uefi.h | 25 +- .../net/wireless/intel/iwlwifi/iwl-config.h | 23 +- .../intel/iwlwifi/iwl-context-info-gen3.h | 4 +- drivers/net/wireless/intel/iwlwifi/iwl-csr.h | 27 +- .../net/wireless/intel/iwlwifi/iwl-dbg-tlv.c | 298 +- .../net/wireless/intel/iwlwifi/iwl-dbg-tlv.h | 2 - .../net/wireless/intel/iwlwifi/iwl-debug.c | 24 +- .../net/wireless/intel/iwlwifi/iwl-debug.h | 26 +- .../intel/iwlwifi/iwl-devtrace-data.h | 5 + .../wireless/intel/iwlwifi/iwl-devtrace-io.h | 5 + .../intel/iwlwifi/iwl-devtrace-iwlwifi.h | 5 + .../wireless/intel/iwlwifi/iwl-devtrace-msg.h | 5 + .../intel/iwlwifi/iwl-devtrace-ucode.h | 5 + .../net/wireless/intel/iwlwifi/iwl-devtrace.c | 5 + .../net/wireless/intel/iwlwifi/iwl-devtrace.h | 5 + drivers/net/wireless/intel/iwlwifi/iwl-drv.c | 123 +- drivers/net/wireless/intel/iwlwifi/iwl-drv.h | 3 +- .../wireless/intel/iwlwifi/iwl-eeprom-parse.c | 4 - .../wireless/intel/iwlwifi/iwl-eeprom-read.c | 4 +- drivers/net/wireless/intel/iwlwifi/iwl-fh.h | 2 +- drivers/net/wireless/intel/iwlwifi/iwl-io.c | 50 +- drivers/net/wireless/intel/iwlwifi/iwl-io.h | 5 +- .../wireless/intel/iwlwifi/iwl-nvm-parse.c | 86 +- .../wireless/intel/iwlwifi/iwl-nvm-parse.h | 11 +- drivers/net/wireless/intel/iwlwifi/iwl-prph.h | 41 - .../net/wireless/intel/iwlwifi/iwl-trans.h | 58 +- .../net/wireless/intel/iwlwifi/mvm/Makefile | 1 - drivers/net/wireless/intel/iwlwifi/mvm/d3.c | 511 +- .../net/wireless/intel/iwlwifi/mvm/debugfs.c | 242 +- .../intel/iwlwifi/mvm/ftm-initiator.c | 15 +- .../intel/iwlwifi/mvm/ftm-responder.c | 15 +- .../net/wireless/intel/iwlwifi/mvm/fw-api.h | 2 +- drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 329 +- .../net/wireless/intel/iwlwifi/mvm/mac-ctxt.c | 44 +- .../net/wireless/intel/iwlwifi/mvm/mac80211.c | 679 +- drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 117 +- drivers/net/wireless/intel/iwlwifi/mvm/nvm.c | 5 +- drivers/net/wireless/intel/iwlwifi/mvm/ops.c | 456 +- .../net/wireless/intel/iwlwifi/mvm/phy-ctxt.c | 62 +- .../net/wireless/intel/iwlwifi/mvm/power.c | 28 +- drivers/net/wireless/intel/iwlwifi/mvm/rfi.c | 48 +- .../net/wireless/intel/iwlwifi/mvm/rs-fw.c | 99 +- drivers/net/wireless/intel/iwlwifi/mvm/rs.c | 182 +- drivers/net/wireless/intel/iwlwifi/mvm/rs.h | 17 + drivers/net/wireless/intel/iwlwifi/mvm/rx.c | 300 +- drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 141 +- drivers/net/wireless/intel/iwlwifi/mvm/scan.c | 78 +- drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 10 - drivers/net/wireless/intel/iwlwifi/mvm/sta.h | 4 +- drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 228 +- .../net/wireless/intel/iwlwifi/mvm/utils.c | 102 +- .../intel/iwlwifi/pcie/ctxt-info-gen3.c | 4 - drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 579 +- drivers/net/wireless/intel/iwlwifi/pcie/rx.c | 9 +- .../wireless/intel/iwlwifi/pcie/trans-gen2.c | 51 +- .../net/wireless/intel/iwlwifi/pcie/trans.c | 224 +- drivers/net/wireless/intel/iwlwifi/queue/tx.c | 7 +- .../net/wireless/intersil/hostap/hostap_hw.c | 10 +- .../wireless/intersil/hostap/hostap_main.c | 4 +- .../wireless/intersil/hostap/hostap_wlan.h | 14 +- drivers/net/wireless/intersil/orinoco/main.c | 2 +- drivers/net/wireless/intersil/p54/txrx.c | 6 +- drivers/net/wireless/mac80211_hwsim.c | 167 +- drivers/net/wireless/marvell/libertas/cmd.c | 5 +- drivers/net/wireless/marvell/libertas/host.h | 10 +- drivers/net/wireless/marvell/libertas/main.c | 4 +- drivers/net/wireless/marvell/libertas/mesh.c | 18 +- drivers/net/wireless/marvell/libertas/tx.c | 5 +- .../marvell/libertas_tf/libertas_tf.h | 36 +- .../net/wireless/marvell/libertas_tf/main.c | 3 +- .../net/wireless/marvell/mwifiex/cfg80211.c | 352 +- drivers/net/wireless/marvell/mwifiex/cmdevt.c | 21 - drivers/net/wireless/marvell/mwifiex/fw.h | 4 +- drivers/net/wireless/marvell/mwifiex/main.c | 40 +- drivers/net/wireless/marvell/mwifiex/main.h | 6 +- drivers/net/wireless/marvell/mwifiex/pcie.c | 3 - .../net/wireless/marvell/mwifiex/sta_cmd.c | 4 - .../wireless/marvell/mwifiex/sta_cmdresp.c | 28 +- .../net/wireless/marvell/mwifiex/sta_event.c | 3 - .../net/wireless/marvell/mwifiex/uap_event.c | 3 +- drivers/net/wireless/marvell/mwl8k.c | 10 +- drivers/net/wireless/mediatek/mt76/Makefile | 4 +- drivers/net/wireless/mediatek/mt76/debugfs.c | 12 +- drivers/net/wireless/mediatek/mt76/dma.c | 19 +- drivers/net/wireless/mediatek/mt76/eeprom.c | 21 +- drivers/net/wireless/mediatek/mt76/mac80211.c | 324 +- drivers/net/wireless/mediatek/mt76/mcu.c | 8 +- drivers/net/wireless/mediatek/mt76/mt76.h | 134 +- .../net/wireless/mediatek/mt76/mt7603/mac.c | 16 +- .../net/wireless/mediatek/mt76/mt7603/main.c | 34 +- .../net/wireless/mediatek/mt76/mt7603/mcu.c | 4 +- .../net/wireless/mediatek/mt76/mt7603/pci.c | 2 +- .../wireless/mediatek/mt76/mt7615/Makefile | 2 +- .../wireless/mediatek/mt76/mt7615/debugfs.c | 5 +- .../net/wireless/mediatek/mt76/mt7615/init.c | 1 - .../net/wireless/mediatek/mt76/mt7615/mac.c | 115 +- .../net/wireless/mediatek/mt76/mt7615/mac.h | 2 - .../net/wireless/mediatek/mt76/mt7615/main.c | 17 +- .../net/wireless/mediatek/mt76/mt7615/mcu.c | 270 +- .../net/wireless/mediatek/mt76/mt7615/mcu.h | 127 + .../net/wireless/mediatek/mt76/mt7615/mmio.c | 1 - .../wireless/mediatek/mt76/mt7615/mt7615.h | 20 +- .../net/wireless/mediatek/mt76/mt7615/pci.c | 4 +- .../wireless/mediatek/mt76/mt7615/pci_mac.c | 8 +- .../net/wireless/mediatek/mt76/mt7615/sdio.c | 296 +- .../wireless/mediatek/mt76/mt7615/sdio_mcu.c | 11 +- .../wireless/mediatek/mt76/mt7615/testmode.c | 25 +- .../wireless/mediatek/mt76/mt7615/usb_mcu.c | 2 +- .../wireless/mediatek/mt76/mt7615/usb_sdio.c | 30 +- .../net/wireless/mediatek/mt76/mt76_connac.h | 7 +- .../wireless/mediatek/mt76/mt76_connac_mac.c | 3 + .../wireless/mediatek/mt76/mt76_connac_mcu.c | 414 +- .../wireless/mediatek/mt76/mt76_connac_mcu.h | 545 +- .../net/wireless/mediatek/mt76/mt76x0/init.c | 5 +- .../net/wireless/mediatek/mt76/mt76x0/main.c | 34 +- .../wireless/mediatek/mt76/mt76x0/mt76x0.h | 2 - .../net/wireless/mediatek/mt76/mt76x0/pci.c | 5 +- .../net/wireless/mediatek/mt76/mt76x0/usb.c | 1 - drivers/net/wireless/mediatek/mt76/mt76x02.h | 2 +- .../net/wireless/mediatek/mt76/mt76x02_mac.c | 2 +- .../net/wireless/mediatek/mt76/mt76x02_mmio.c | 12 +- .../wireless/mediatek/mt76/mt76x02_usb_core.c | 8 +- .../net/wireless/mediatek/mt76/mt76x02_util.c | 7 +- .../net/wireless/mediatek/mt76/mt76x2/init.c | 29 - .../wireless/mediatek/mt76/mt76x2/mt76x2.h | 2 - .../net/wireless/mediatek/mt76/mt76x2/pci.c | 5 +- .../wireless/mediatek/mt76/mt76x2/pci_init.c | 5 +- .../wireless/mediatek/mt76/mt76x2/pci_main.c | 7 +- .../wireless/mediatek/mt76/mt76x2/usb_init.c | 4 +- .../wireless/mediatek/mt76/mt76x2/usb_main.c | 9 +- .../wireless/mediatek/mt76/mt7915/debugfs.c | 765 +- .../wireless/mediatek/mt76/mt7915/eeprom.c | 101 +- .../net/wireless/mediatek/mt76/mt7915/init.c | 163 +- .../net/wireless/mediatek/mt76/mt7915/mac.c | 851 +- .../net/wireless/mediatek/mt76/mt7915/mac.h | 8 - .../net/wireless/mediatek/mt76/mt7915/main.c | 426 +- .../net/wireless/mediatek/mt76/mt7915/mcu.c | 1401 +- .../net/wireless/mediatek/mt76/mt7915/mcu.h | 919 +- .../net/wireless/mediatek/mt76/mt7915/mmio.c | 6 +- .../wireless/mediatek/mt76/mt7915/mt7915.h | 186 +- .../net/wireless/mediatek/mt76/mt7915/pci.c | 6 +- .../net/wireless/mediatek/mt76/mt7915/regs.h | 164 +- .../wireless/mediatek/mt76/mt7915/testmode.c | 40 +- .../wireless/mediatek/mt76/mt7915/testmode.h | 6 - .../net/wireless/mediatek/mt76/mt7921/Kconfig | 19 +- .../wireless/mediatek/mt76/mt7921/Makefile | 7 +- .../wireless/mediatek/mt76/mt7921/debugfs.c | 79 +- .../net/wireless/mediatek/mt76/mt7921/dma.c | 74 +- .../net/wireless/mediatek/mt76/mt7921/init.c | 97 +- .../net/wireless/mediatek/mt76/mt7921/mac.c | 879 +- .../net/wireless/mediatek/mt76/mt7921/mac.h | 24 - .../net/wireless/mediatek/mt76/mt7921/main.c | 359 +- .../net/wireless/mediatek/mt76/mt7921/mcu.c | 570 +- .../net/wireless/mediatek/mt76/mt7921/mcu.h | 216 +- .../wireless/mediatek/mt76/mt7921/mt7921.h | 181 +- .../net/wireless/mediatek/mt76/mt7921/pci.c | 91 +- .../net/wireless/mediatek/mt76/mt7921/regs.h | 50 +- drivers/net/wireless/mediatek/mt76/sdio.c | 314 +- drivers/net/wireless/mediatek/mt76/testmode.c | 40 +- drivers/net/wireless/mediatek/mt76/testmode.h | 13 - drivers/net/wireless/mediatek/mt76/tx.c | 84 +- drivers/net/wireless/mediatek/mt76/usb.c | 2 +- drivers/net/wireless/mediatek/mt76/util.h | 10 +- drivers/net/wireless/mediatek/mt7601u/dma.c | 2 +- .../wireless/microchip/wilc1000/cfg80211.c | 18 +- drivers/net/wireless/microchip/wilc1000/hif.c | 36 +- drivers/net/wireless/microchip/wilc1000/hif.h | 1 - .../net/wireless/microchip/wilc1000/netdev.c | 37 +- .../net/wireless/microchip/wilc1000/netdev.h | 7 +- .../net/wireless/microchip/wilc1000/sdio.c | 1 - drivers/net/wireless/microchip/wilc1000/spi.c | 169 +- .../net/wireless/microchip/wilc1000/wlan.c | 165 +- .../net/wireless/microchip/wilc1000/wlan.h | 7 +- .../wireless/microchip/wilc1000/wlan_cfg.c | 1 - .../net/wireless/microchip/wilc1000/wlan_if.h | 7 +- drivers/net/wireless/quantenna/qtnfmac/core.c | 6 +- .../wireless/quantenna/qtnfmac/pcie/pcie.c | 2 + .../net/wireless/ralink/rt2x00/rt2800usb.c | 1 + drivers/net/wireless/ray_cs.c | 4 +- drivers/net/wireless/realtek/Kconfig | 1 - drivers/net/wireless/realtek/Makefile | 1 - .../wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 10 +- .../wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h | 2 - drivers/net/wireless/realtek/rtlwifi/pci.c | 1 + .../wireless/realtek/rtlwifi/rtl8192de/phy.c | 17 +- .../wireless/realtek/rtlwifi/rtl8192ee/hw.c | 2 +- drivers/net/wireless/realtek/rtlwifi/wifi.h | 1 + drivers/net/wireless/realtek/rtw88/Makefile | 1 - drivers/net/wireless/realtek/rtw88/bf.c | 14 +- drivers/net/wireless/realtek/rtw88/bf.h | 7 +- drivers/net/wireless/realtek/rtw88/debug.c | 146 +- drivers/net/wireless/realtek/rtw88/debug.h | 2 - drivers/net/wireless/realtek/rtw88/fw.c | 435 - drivers/net/wireless/realtek/rtw88/fw.h | 167 - drivers/net/wireless/realtek/rtw88/mac80211.c | 91 +- drivers/net/wireless/realtek/rtw88/main.c | 108 +- drivers/net/wireless/realtek/rtw88/main.h | 126 +- drivers/net/wireless/realtek/rtw88/pci.c | 8 +- drivers/net/wireless/realtek/rtw88/phy.c | 182 +- drivers/net/wireless/realtek/rtw88/phy.h | 3 - drivers/net/wireless/realtek/rtw88/ps.c | 3 - drivers/net/wireless/realtek/rtw88/ps.h | 1 - drivers/net/wireless/realtek/rtw88/reg.h | 5 - drivers/net/wireless/realtek/rtw88/regd.c | 751 +- drivers/net/wireless/realtek/rtw88/regd.h | 8 +- drivers/net/wireless/realtek/rtw88/rtw8821c.c | 22 +- drivers/net/wireless/realtek/rtw88/rtw8822b.c | 48 +- drivers/net/wireless/realtek/rtw88/rtw8822b.h | 8 - drivers/net/wireless/realtek/rtw88/rtw8822c.c | 59 - drivers/net/wireless/realtek/rtw88/rtw8822c.h | 7 - drivers/net/wireless/realtek/rtw88/rx.c | 10 - drivers/net/wireless/realtek/rtw88/tx.c | 36 +- drivers/net/wireless/rndis_wlan.c | 2 + drivers/net/wireless/rsi/rsi_91x_coex.c | 2 +- drivers/net/wireless/rsi/rsi_91x_mac80211.c | 3 - drivers/net/wireless/rsi/rsi_91x_main.c | 2 +- drivers/net/wireless/rsi/rsi_91x_sdio_ops.c | 2 +- drivers/net/wireless/rsi/rsi_91x_usb_ops.c | 2 +- drivers/net/wireless/st/cw1200/bh.c | 2 + drivers/net/wireless/ti/wl1251/main.c | 6 - drivers/net/wireless/ti/wlcore/sdio.c | 2 +- drivers/net/wireless/ti/wlcore/spi.c | 9 +- drivers/net/wireless/wl3501_cs.c | 3 +- drivers/net/wireless/zydas/zd1201.c | 9 +- drivers/net/wireless/zydas/zd1211rw/zd_usb.c | 1 + drivers/net/wwan/Kconfig | 26 - drivers/net/wwan/Makefile | 1 - drivers/net/wwan/iosm/Makefile | 9 +- drivers/net/wwan/iosm/iosm_ipc_chnl_cfg.c | 6 +- drivers/net/wwan/iosm/iosm_ipc_chnl_cfg.h | 1 - drivers/net/wwan/iosm/iosm_ipc_imem.c | 142 +- drivers/net/wwan/iosm/iosm_ipc_imem.h | 30 +- drivers/net/wwan/iosm/iosm_ipc_imem_ops.c | 333 +- drivers/net/wwan/iosm/iosm_ipc_imem_ops.h | 58 +- drivers/net/wwan/iosm/iosm_ipc_mmio.c | 2 +- drivers/net/wwan/iosm/iosm_ipc_mux.c | 28 +- drivers/net/wwan/iosm/iosm_ipc_mux.h | 1 + drivers/net/wwan/iosm/iosm_ipc_mux_codec.c | 18 +- drivers/net/wwan/iosm/iosm_ipc_pcie.c | 49 +- drivers/net/wwan/iosm/iosm_ipc_port.c | 2 +- drivers/net/wwan/iosm/iosm_ipc_wwan.c | 3 +- drivers/net/wwan/iosm/iosm_ipc_wwan.h | 10 + drivers/net/wwan/wwan_core.c | 39 +- drivers/net/xen-netback/interface.c | 6 +- drivers/net/xen-netback/netback.c | 2 +- drivers/net/xen-netback/xenbus.c | 14 +- drivers/net/xen-netfront.c | 99 +- drivers/nvme/host/core.c | 225 +- drivers/nvme/host/fabrics.c | 34 +- drivers/nvme/host/fabrics.h | 8 - drivers/nvme/host/fc.c | 34 +- drivers/nvme/host/multipath.c | 89 +- drivers/nvme/host/nvme.h | 29 +- drivers/nvme/host/pci.c | 215 +- drivers/nvme/host/rdma.c | 26 +- drivers/nvme/host/tcp.c | 136 +- drivers/nvme/host/zns.c | 7 +- drivers/nvme/target/admin-cmd.c | 18 +- drivers/nvme/target/configfs.c | 39 - drivers/nvme/target/core.c | 18 +- drivers/nvme/target/discovery.c | 19 +- drivers/nvme/target/fabrics-cmd.c | 3 +- drivers/nvme/target/io-cmd-bdev.c | 5 +- drivers/nvme/target/io-cmd-file.c | 4 +- drivers/nvme/target/loop.c | 6 +- drivers/nvme/target/nvmet.h | 6 - drivers/nvme/target/passthru.c | 3 +- drivers/nvme/target/rdma.c | 7 - drivers/nvme/target/tcp.c | 46 +- drivers/pcmcia/Kconfig | 2 +- drivers/pcmcia/Makefile | 2 + drivers/pcmcia/at91_cf.c | 6 +- drivers/pcmcia/db1xxx_ss.c | 1 - drivers/pcmcia/ds.c | 20 +- drivers/pcmcia/pcmcia_cis.c | 8 +- drivers/pcmcia/pcmcia_resource.c | 5 +- drivers/pcmcia/rsrc_nonstatic.c | 6 +- drivers/pcmcia/socket_sysfs.c | 18 +- drivers/pcmcia/yenta_socket.c | 25 +- drivers/phy/amlogic/Kconfig | 10 - drivers/phy/amlogic/Makefile | 1 - drivers/phy/broadcom/Kconfig | 4 - drivers/phy/broadcom/phy-bcm-ns-usb2.c | 54 +- drivers/phy/broadcom/phy-bcm-ns-usb3.c | 2 +- drivers/phy/broadcom/phy-bcm-ns2-pcie.c | 6 +- drivers/phy/cadence/phy-cadence-sierra.c | 1312 +- drivers/phy/cadence/phy-cadence-torrent.c | 322 +- drivers/phy/freescale/Kconfig | 8 - drivers/phy/freescale/Makefile | 1 - drivers/phy/hisilicon/Kconfig | 10 - drivers/phy/hisilicon/Makefile | 1 - drivers/phy/hisilicon/phy-hisi-inno-usb2.c | 10 +- drivers/phy/intel/Kconfig | 10 - drivers/phy/intel/Makefile | 1 - drivers/phy/marvell/phy-mvebu-cp110-comphy.c | 9 - drivers/phy/marvell/phy-mvebu-cp110-utmi.c | 4 +- drivers/phy/mediatek/phy-mtk-tphy.c | 460 +- drivers/phy/mediatek/phy-mtk-xsphy.c | 140 +- drivers/phy/microchip/Kconfig | 8 - drivers/phy/microchip/Makefile | 1 - drivers/phy/phy-can-transceiver.c | 4 +- drivers/phy/qualcomm/Kconfig | 10 - drivers/phy/qualcomm/Makefile | 1 - drivers/phy/qualcomm/phy-qcom-ipq806x-usb.c | 26 +- drivers/phy/qualcomm/phy-qcom-qmp.c | 471 +- drivers/phy/qualcomm/phy-qcom-qmp.h | 106 - drivers/phy/qualcomm/phy-qcom-qusb2.c | 5 +- drivers/phy/qualcomm/phy-qcom-usb-hsic.c | 2 +- drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 271 +- drivers/phy/samsung/Kconfig | 16 +- drivers/phy/socionext/Kconfig | 2 +- drivers/phy/socionext/phy-uniphier-ahci.c | 201 +- drivers/phy/socionext/phy-uniphier-pcie.c | 70 +- drivers/phy/socionext/phy-uniphier-usb3hs.c | 4 - drivers/phy/socionext/phy-uniphier-usb3ss.c | 4 - drivers/phy/st/phy-stm32-usbphyc.c | 213 +- drivers/phy/tegra/xusb.c | 2 +- drivers/phy/ti/phy-am654-serdes.c | 2 +- drivers/phy/ti/phy-j721e-wiz.c | 2 +- drivers/phy/ti/phy-omap-usb2.c | 6 +- drivers/phy/ti/phy-tusb1210.c | 2 +- drivers/rtc/class.c | 20 +- drivers/rtc/rtc-ab-eoz9.c | 3 +- drivers/rtc/rtc-cmos.c | 198 +- drivers/rtc/rtc-pcf8523.c | 445 +- drivers/staging/Kconfig | 8 + drivers/staging/Makefile | 4 + drivers/staging/axis-fifo/axis-fifo.c | 99 +- drivers/staging/fbtft/Kconfig | 6 + drivers/staging/fbtft/Makefile | 1 + drivers/staging/fbtft/fb_sh1106.c | 7 +- drivers/staging/fbtft/fbtft-core.c | 11 +- drivers/staging/fbtft/fbtft.h | 49 +- drivers/staging/fieldbus/anybuss/host.c | 8 +- drivers/staging/gdm724x/gdm_lte.c | 4 +- .../staging/greybus/audio_manager_module.c | 3 +- drivers/staging/iio/cdc/ad7746.c | 4 +- drivers/staging/iio/frequency/ad9832.c | 82 +- drivers/staging/ks7010/ks_hostif.c | 2 +- drivers/staging/ks7010/ks_wlan_net.c | 4 +- drivers/staging/media/Kconfig | 2 - drivers/staging/media/Makefile | 1 - drivers/staging/media/atomisp/Makefile | 24 +- drivers/staging/media/atomisp/TODO | 191 +- .../media/atomisp/i2c/atomisp-gc0310.c | 119 +- .../media/atomisp/i2c/atomisp-gc2235.c | 121 +- .../media/atomisp/i2c/atomisp-mt9m114.c | 130 +- .../media/atomisp/i2c/atomisp-ov2680.c | 313 +- .../media/atomisp/i2c/atomisp-ov2722.c | 118 +- drivers/staging/media/atomisp/i2c/gc0310.h | 3 +- drivers/staging/media/atomisp/i2c/gc2235.h | 3 +- drivers/staging/media/atomisp/i2c/ov2680.h | 183 +- drivers/staging/media/atomisp/i2c/ov2722.h | 3 +- .../media/atomisp/i2c/ov5693/atomisp-ov5693.c | 2 - .../staging/media/atomisp/pci/atomisp_cmd.c | 166 +- .../staging/media/atomisp/pci/atomisp_cmd.h | 6 +- .../media/atomisp/pci/atomisp_compat.h | 2 + .../media/atomisp/pci/atomisp_compat_css20.c | 92 +- .../staging/media/atomisp/pci/atomisp_csi2.c | 70 +- .../staging/media/atomisp/pci/atomisp_fops.c | 34 +- .../media/atomisp/pci/atomisp_gmin_platform.c | 19 - .../media/atomisp/pci/atomisp_internal.h | 7 - .../staging/media/atomisp/pci/atomisp_ioctl.c | 128 +- .../media/atomisp/pci/atomisp_subdev.c | 39 +- .../media/atomisp/pci/atomisp_subdev.h | 1 + .../staging/media/atomisp/pci/atomisp_v4l2.c | 20 +- .../pci/camera/pipe/src/pipe_binarydesc.c | 25 +- .../pci/hive_isp_css_common/host/gdc.c | 11 + .../media/atomisp/pci/ia_css_acc_types.h | 5 + .../media/atomisp/pci/ia_css_event_public.h | 17 +- .../media/atomisp/pci/ia_css_isp_configs.h | 119 +- .../media/atomisp/pci/ia_css_isp_params.h | 3 + .../staging/media/atomisp/pci/ia_css_pipe.h | 4 +- .../media/atomisp/pci/ia_css_pipe_public.h | 26 + .../staging/media/atomisp/pci/ia_css_stream.h | 4 + .../media/atomisp/pci/ia_css_stream_public.h | 19 +- .../media/atomisp/pci/input_system_local.h | 134 - .../pci/isp/kernels/bh/bh_2/ia_css_bh.host.c | 2 + .../copy_output_1.0/ia_css_copy_output.host.c | 8 +- .../copy_output_1.0/ia_css_copy_output.host.h | 6 +- .../kernels/crop/crop_1.0/ia_css_crop.host.c | 28 +- .../kernels/crop/crop_1.0/ia_css_crop.host.h | 14 +- .../isp/kernels/dvs/dvs_1.0/ia_css_dvs.host.c | 8 +- .../isp/kernels/dvs/dvs_1.0/ia_css_dvs.host.h | 6 +- .../isp/kernels/fpn/fpn_1.0/ia_css_fpn.host.c | 28 +- .../isp/kernels/fpn/fpn_1.0/ia_css_fpn.host.h | 14 +- .../pci/isp/kernels/hdr/ia_css_hdr.host.c | 1 + .../pci/isp/kernels/hdr/ia_css_hdr.host.h | 1 + .../pci/isp/kernels/hdr/ia_css_hdr_param.h | 1 + .../pci/isp/kernels/hdr/ia_css_hdr_types.h | 1 + .../bayer_io_ls/ia_css_bayer_io.host.c | 16 +- .../bayer_io_ls/ia_css_bayer_io.host.h | 6 +- .../yuv444_io_ls/ia_css_yuv444_io.host.c | 18 +- .../yuv444_io_ls/ia_css_yuv444_io.host.h | 6 +- .../iterator_1.0/ia_css_iterator.host.c | 11 +- .../output/output_1.0/ia_css_output.host.c | 69 +- .../output/output_1.0/ia_css_output.host.h | 42 +- .../qplane/qplane_2/ia_css_qplane.host.c | 30 +- .../qplane/qplane_2/ia_css_qplane.host.h | 16 +- .../isp/kernels/raw/raw_1.0/ia_css_raw.host.c | 38 +- .../isp/kernels/raw/raw_1.0/ia_css_raw.host.h | 22 +- .../raw_aa_binning_1.0/ia_css_raa.host.c | 2 + .../isp/kernels/ref/ref_1.0/ia_css_ref.host.c | 30 +- .../isp/kernels/ref/ref_1.0/ia_css_ref.host.h | 16 +- .../isp/kernels/s3a/s3a_1.0/ia_css_s3a.host.c | 5 + .../isp/kernels/sc/sc_1.0/ia_css_sc.host.c | 68 + .../isp/kernels/sc/sc_1.0/ia_css_sc.host.h | 33 + .../isp/kernels/sc/sc_1.0/ia_css_sc_types.h | 14 + .../isp/kernels/tnr/tnr_1.0/ia_css_tnr.host.c | 33 +- .../isp/kernels/tnr/tnr_1.0/ia_css_tnr.host.h | 14 +- .../kernels/tnr/tnr_1.0/ia_css_tnr_param.h | 4 +- .../isp/kernels/vf/vf_1.0/ia_css_vf.host.c | 32 +- .../pci/isp/modes/interface/isp_const.h | 14 +- .../atomisp/pci/isp2400_input_system_local.h | 128 + .../atomisp/pci/isp2401_input_system_global.h | 12 + .../atomisp/pci/isp2401_input_system_local.h | 26 + .../runtime/binary/interface/ia_css_binary.h | 3 + .../atomisp/pci/runtime/binary/src/binary.c | 513 +- .../pci/runtime/debug/src/ia_css_debug.c | 2 +- .../runtime/frame/interface/ia_css_frame.h | 24 +- .../atomisp/pci/runtime/frame/src/frame.c | 118 +- .../pci/runtime/isys/src/virtual_isys.c | 11 + .../pci/runtime/pipeline/src/pipeline.c | 3 +- drivers/staging/media/atomisp/pci/sh_css.c | 1948 ++- .../staging/media/atomisp/pci/sh_css_defs.h | 58 +- .../media/atomisp/pci/sh_css_firmware.c | 16 +- .../media/atomisp/pci/sh_css_firmware.h | 3 + .../media/atomisp/pci/sh_css_internal.h | 36 +- .../media/atomisp/pci/sh_css_metrics.c | 25 + .../staging/media/atomisp/pci/sh_css_mipi.c | 206 +- .../staging/media/atomisp/pci/sh_css_mipi.h | 17 +- .../media/atomisp/pci/sh_css_param_shading.c | 80 +- .../staging/media/atomisp/pci/sh_css_params.c | 241 +- .../staging/media/atomisp/pci/sh_css_params.h | 8 + drivers/staging/media/atomisp/pci/sh_css_sp.c | 129 +- drivers/staging/media/atomisp/pci/sh_css_sp.h | 7 +- .../staging/media/atomisp/pci/system_global.h | 3 + drivers/staging/media/hantro/Kconfig | 11 +- drivers/staging/media/hantro/Makefile | 10 +- drivers/staging/media/hantro/hantro.h | 50 +- drivers/staging/media/hantro/hantro_drv.c | 60 +- .../staging/media/hantro/hantro_g1_h264_dec.c | 2 +- drivers/staging/media/hantro/hantro_g1_regs.h | 2 - .../staging/media/hantro/hantro_g1_vp8_dec.c | 3 +- .../staging/media/hantro/hantro_g2_hevc_dec.c | 132 +- drivers/staging/media/hantro/hantro_g2_regs.h | 149 +- .../staging/media/hantro/hantro_h1_jpeg_enc.c | 5 +- drivers/staging/media/hantro/hantro_hevc.c | 100 +- drivers/staging/media/hantro/hantro_hw.h | 132 +- drivers/staging/media/hantro/hantro_jpeg.c | 31 +- drivers/staging/media/hantro/hantro_jpeg.h | 4 +- .../staging/media/hantro/hantro_postproc.c | 86 +- drivers/staging/media/hantro/hantro_v4l2.c | 13 +- drivers/staging/media/hantro/imx8m_vpu_hw.c | 58 +- .../media/hantro/rockchip_vpu2_hw_jpeg_enc.c | 5 +- .../staging/media/hantro/rockchip_vpu_hw.c | 7 +- .../staging/media/hantro/sama5d4_vdec_hw.c | 3 +- drivers/staging/media/imx/TODO | 5 + .../staging/media/imx/imx-media-csc-scaler.c | 2 +- drivers/staging/media/imx/imx-media-csi.c | 23 +- .../staging/media/imx/imx-media-dev-common.c | 7 +- drivers/staging/media/imx/imx-media-dev.c | 6 +- drivers/staging/media/imx/imx-media-of.c | 6 +- drivers/staging/media/imx/imx-media-utils.c | 42 + drivers/staging/media/imx/imx-media.h | 4 + drivers/staging/media/imx/imx6-mipi-csi2.c | 26 +- drivers/staging/media/imx/imx7-media-csi.c | 24 +- drivers/staging/media/imx/imx7-mipi-csis.c | 16 +- drivers/staging/media/imx/imx8mq-mipi-csi2.c | 16 +- .../media/ipu3/include/uapi/intel-ipu3.h | 49 +- drivers/staging/media/ipu3/ipu3-css-params.c | 3 + drivers/staging/media/ipu3/ipu3-css.c | 19 +- drivers/staging/media/ipu3/ipu3-css.h | 1 + drivers/staging/media/ipu3/ipu3-v4l2.c | 6 +- drivers/staging/media/ipu3/ipu3.h | 12 - drivers/staging/media/meson/vdec/esparser.h | 6 +- drivers/staging/media/meson/vdec/vdec.c | 7 +- drivers/staging/media/meson/vdec/vdec.h | 16 +- .../staging/media/meson/vdec/vdec_helpers.c | 10 +- .../staging/media/meson/vdec/vdec_helpers.h | 3 +- drivers/staging/media/rkvdec/Kconfig | 1 - drivers/staging/media/rkvdec/Makefile | 2 +- drivers/staging/media/rkvdec/rkvdec.c | 47 +- drivers/staging/media/rkvdec/rkvdec.h | 12 +- drivers/staging/media/sunxi/cedrus/cedrus.c | 68 +- drivers/staging/media/sunxi/cedrus/cedrus.h | 2 - .../staging/media/sunxi/cedrus/cedrus_dec.c | 2 - .../staging/media/sunxi/cedrus/cedrus_h264.c | 113 +- .../staging/media/sunxi/cedrus/cedrus_h265.c | 100 +- .../staging/media/sunxi/cedrus/cedrus_hw.c | 2 +- .../staging/media/sunxi/cedrus/cedrus_regs.h | 2 - .../staging/media/sunxi/cedrus/cedrus_video.c | 7 +- .../staging/media/tegra-vde/dmabuf-cache.c | 3 - drivers/staging/media/tegra-vde/vde.c | 210 +- drivers/staging/media/tegra-vde/vde.h | 18 - drivers/staging/media/tegra-video/vi.c | 29 +- drivers/staging/most/dim2/dim2.c | 54 +- drivers/staging/most/net/net.c | 2 +- drivers/staging/mt7621-dts/gbpc1.dts | 3 +- drivers/staging/mt7621-dts/gbpc2.dts | 1 - drivers/staging/mt7621-dts/mt7621.dtsi | 108 +- drivers/staging/octeon/ethernet.c | 4 +- drivers/staging/pi433/pi433_if.c | 20 +- drivers/staging/pi433/pi433_if.h | 23 +- drivers/staging/pi433/rf69.c | 62 +- drivers/staging/pi433/rf69_enum.h | 12 - drivers/staging/qlge/qlge_main.c | 30 +- drivers/staging/qlge/qlge_mpi.c | 2 +- drivers/staging/r8188eu/Kconfig | 10 + drivers/staging/r8188eu/Makefile | 152 +- drivers/staging/r8188eu/core/rtw_ap.c | 612 +- drivers/staging/r8188eu/core/rtw_br_ext.c | 14 +- drivers/staging/r8188eu/core/rtw_cmd.c | 654 +- drivers/staging/r8188eu/core/rtw_efuse.c | 785 +- drivers/staging/r8188eu/core/rtw_ieee80211.c | 412 +- drivers/staging/r8188eu/core/rtw_ioctl_set.c | 414 +- drivers/staging/r8188eu/core/rtw_iol.c | 34 +- drivers/staging/r8188eu/core/rtw_led.c | 1805 ++- drivers/staging/r8188eu/core/rtw_mlme.c | 134 +- drivers/staging/r8188eu/core/rtw_mlme_ext.c | 484 +- drivers/staging/r8188eu/core/rtw_p2p.c | 45 +- drivers/staging/r8188eu/core/rtw_pwrctrl.c | 162 +- drivers/staging/r8188eu/core/rtw_recv.c | 116 +- drivers/staging/r8188eu/core/rtw_rf.c | 19 +- drivers/staging/r8188eu/core/rtw_security.c | 219 +- drivers/staging/r8188eu/core/rtw_sta_mgt.c | 34 +- drivers/staging/r8188eu/core/rtw_wlan_util.c | 178 +- drivers/staging/r8188eu/core/rtw_xmit.c | 123 +- drivers/staging/r8188eu/hal/Hal8188EPwrSeq.c | 92 +- .../r8188eu/hal/Hal8188ERateAdaptive.c | 49 +- .../staging/r8188eu/hal/HalHWImg8188E_BB.c | 33 +- .../staging/r8188eu/hal/HalHWImg8188E_MAC.c | 11 +- .../staging/r8188eu/hal/HalHWImg8188E_RF.c | 16 +- drivers/staging/r8188eu/hal/HalPhyRf_8188e.c | 568 +- drivers/staging/r8188eu/hal/HalPwrSeqCmd.c | 86 +- drivers/staging/r8188eu/hal/hal_com.c | 26 +- drivers/staging/r8188eu/hal/hal_intf.c | 391 +- drivers/staging/r8188eu/hal/odm.c | 1949 ++- drivers/staging/r8188eu/hal/odm_HWConfig.c | 387 +- drivers/staging/r8188eu/hal/odm_RTL8188E.c | 207 +- .../staging/r8188eu/hal/odm_RegConfig8188E.c | 68 +- drivers/staging/r8188eu/hal/odm_debug.c | 2 +- drivers/staging/r8188eu/hal/rtl8188e_cmd.c | 61 +- drivers/staging/r8188eu/hal/rtl8188e_dm.c | 118 +- .../staging/r8188eu/hal/rtl8188e_hal_init.c | 1216 +- drivers/staging/r8188eu/hal/rtl8188e_phycfg.c | 410 +- drivers/staging/r8188eu/hal/rtl8188e_rf6052.c | 265 +- drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c | 4 +- drivers/staging/r8188eu/hal/rtl8188eu_recv.c | 4 +- drivers/staging/r8188eu/hal/rtl8188eu_xmit.c | 64 +- drivers/staging/r8188eu/hal/usb_halinit.c | 573 +- drivers/staging/r8188eu/hal/usb_ops_linux.c | 306 +- .../staging/r8188eu/include/Hal8188EPhyCfg.h | 151 +- .../staging/r8188eu/include/Hal8188EPwrSeq.h | 148 +- .../r8188eu/include/Hal8188ERateAdaptive.h | 2 + .../staging/r8188eu/include/HalPhyRf_8188e.h | 5 + .../staging/r8188eu/include/HalPwrSeqCmd.h | 53 +- drivers/staging/r8188eu/include/HalVerDef.h | 83 + drivers/staging/r8188eu/include/drv_types.h | 56 +- drivers/staging/r8188eu/include/hal_intf.h | 318 +- drivers/staging/r8188eu/include/ieee80211.h | 80 +- .../staging/r8188eu/include/ioctl_cfg80211.h | 2 + drivers/staging/r8188eu/include/odm.h | 667 +- .../staging/r8188eu/include/odm_HWConfig.h | 11 +- .../staging/r8188eu/include/odm_RTL8188E.h | 8 + .../r8188eu/include/odm_RegConfig8188E.h | 6 + .../r8188eu/include/odm_RegDefine11N.h | 112 +- drivers/staging/r8188eu/include/odm_types.h | 24 + drivers/staging/r8188eu/include/osdep_intf.h | 5 + .../staging/r8188eu/include/osdep_service.h | 76 +- drivers/staging/r8188eu/include/recv_osdep.h | 2 + .../staging/r8188eu/include/rtl8188e_cmd.h | 16 + drivers/staging/r8188eu/include/rtl8188e_dm.h | 20 +- .../staging/r8188eu/include/rtl8188e_hal.h | 200 +- .../staging/r8188eu/include/rtl8188e_recv.h | 5 +- drivers/staging/r8188eu/include/rtl8188e_rf.h | 1 + .../staging/r8188eu/include/rtl8188e_spec.h | 65 + drivers/staging/r8188eu/include/rtw_ap.h | 11 + drivers/staging/r8188eu/include/rtw_br_ext.h | 3 +- drivers/staging/r8188eu/include/rtw_cmd.h | 28 +- drivers/staging/r8188eu/include/rtw_debug.h | 168 + drivers/staging/r8188eu/include/rtw_eeprom.h | 88 +- drivers/staging/r8188eu/include/rtw_efuse.h | 125 +- drivers/staging/r8188eu/include/rtw_io.h | 87 +- .../staging/r8188eu/include/rtw_ioctl_set.h | 8 + drivers/staging/r8188eu/include/rtw_iol.h | 5 + drivers/staging/r8188eu/include/rtw_led.h | 136 +- drivers/staging/r8188eu/include/rtw_mlme.h | 23 + .../staging/r8188eu/include/rtw_mlme_ext.h | 19 + drivers/staging/r8188eu/include/rtw_p2p.h | 1 + drivers/staging/r8188eu/include/rtw_pwrctrl.h | 137 +- drivers/staging/r8188eu/include/rtw_recv.h | 7 + drivers/staging/r8188eu/include/rtw_rf.h | 46 + .../staging/r8188eu/include/rtw_security.h | 20 +- drivers/staging/r8188eu/include/rtw_xmit.h | 6 + drivers/staging/r8188eu/include/sta_info.h | 7 + drivers/staging/r8188eu/include/usb_ops.h | 5 + .../staging/r8188eu/include/usb_ops_linux.h | 8 + drivers/staging/r8188eu/include/usb_osintf.h | 6 +- drivers/staging/r8188eu/include/wifi.h | 111 +- drivers/staging/r8188eu/include/xmit_osdep.h | 2 + drivers/staging/r8188eu/os_dep/ioctl_linux.c | 2467 ++- drivers/staging/r8188eu/os_dep/mlme_linux.c | 6 + drivers/staging/r8188eu/os_dep/os_intfs.c | 464 +- .../staging/r8188eu/os_dep/osdep_service.c | 82 +- drivers/staging/r8188eu/os_dep/recv_linux.c | 14 + drivers/staging/r8188eu/os_dep/usb_intf.c | 321 +- .../staging/r8188eu/os_dep/usb_ops_linux.c | 46 +- drivers/staging/r8188eu/os_dep/xmit_linux.c | 4 + .../staging/rtl8192e/rtl8192e/r8192E_dev.c | 7 +- drivers/staging/rtl8192e/rtl8192e/rtl_cam.c | 4 +- drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 2 +- drivers/staging/rtl8192e/rtl819x_BAProc.c | 9 +- drivers/staging/rtl8192e/rtllib_module.c | 1 + .../rtl8192u/ieee80211/ieee80211_softmac.c | 4 +- drivers/staging/rtl8192u/r8192U.h | 3 +- drivers/staging/rtl8192u/r8192U_core.c | 31 +- drivers/staging/rtl8712/ieee80211.h | 4 +- drivers/staging/rtl8712/os_intfs.c | 9 +- drivers/staging/rtl8712/osdep_service.h | 1 + drivers/staging/rtl8712/rtl8712_cmd.c | 2 +- drivers/staging/rtl8712/rtl8712_efuse.c | 28 +- drivers/staging/rtl8712/rtl871x_cmd.c | 2 +- drivers/staging/rtl8712/rtl871x_cmd.h | 2 +- drivers/staging/rtl8712/rtl871x_xmit.h | 10 +- drivers/staging/rtl8712/usb_intf.c | 2 +- drivers/staging/rtl8723bs/Kconfig | 1 - drivers/staging/rtl8723bs/core/rtw_ap.c | 23 +- drivers/staging/rtl8723bs/core/rtw_cmd.c | 215 +- drivers/staging/rtl8723bs/core/rtw_efuse.c | 14 +- .../staging/rtl8723bs/core/rtw_ioctl_set.c | 4 +- drivers/staging/rtl8723bs/core/rtw_mlme.c | 12 +- drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 68 +- drivers/staging/rtl8723bs/core/rtw_recv.c | 12 +- drivers/staging/rtl8723bs/core/rtw_security.c | 6 +- drivers/staging/rtl8723bs/core/rtw_sta_mgt.c | 15 +- drivers/staging/rtl8723bs/core/rtw_xmit.c | 35 +- drivers/staging/rtl8723bs/hal/odm_DIG.c | 2 +- .../staging/rtl8723bs/hal/rtl8723b_hal_init.c | 12 + .../staging/rtl8723bs/hal/rtl8723bs_recv.c | 6 +- .../staging/rtl8723bs/hal/rtl8723bs_xmit.c | 7 +- drivers/staging/rtl8723bs/include/ieee80211.h | 6 +- .../staging/rtl8723bs/include/osdep_service.h | 2 +- .../rtl8723bs/include/osdep_service_linux.h | 2 + .../staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 28 +- .../staging/rtl8723bs/os_dep/ioctl_linux.c | 32 +- drivers/staging/rtl8723bs/os_dep/os_intfs.c | 8 +- .../staging/rtl8723bs/os_dep/osdep_service.c | 11 +- drivers/staging/rts5208/ms.c | 42 +- drivers/staging/rts5208/rtsx.c | 27 +- drivers/staging/rts5208/rtsx_card.c | 8 +- drivers/staging/rts5208/rtsx_chip.c | 16 +- drivers/staging/rts5208/rtsx_scsi.c | 106 +- drivers/staging/rts5208/rtsx_transport.c | 6 +- drivers/staging/rts5208/sd.c | 68 +- drivers/staging/rts5208/xd.c | 48 +- .../staging/unisys/visorhba/visorhba_main.c | 22 +- .../staging/unisys/visornic/visornic_main.c | 13 +- .../vc04_services/bcm2835-audio/bcm2835.c | 12 +- .../bcm2835-camera/bcm2835-camera.c | 89 +- .../vc04_services/bcm2835-camera/controls.c | 143 +- .../bcm2835-codec/bcm2835-v4l2-codec.c | 16 +- .../bcm2835-isp/bcm2835-v4l2-isp.c | 2 - drivers/staging/vc04_services/interface/TODO | 8 +- .../interface/vchiq_arm/vchiq_arm.c | 299 +- .../interface/vchiq_arm/vchiq_arm.h | 53 + .../interface/vchiq_arm/vchiq_connected.c | 20 +- .../interface/vchiq_arm/vchiq_connected.h | 4 +- .../interface/vchiq_arm/vchiq_core.c | 771 +- .../interface/vchiq_arm/vchiq_core.h | 107 +- .../interface/vchiq_arm/vchiq_dev.c | 182 +- .../staging/vc04_services/vc-sm-cma/vc_sm.c | 2 - .../vc04_services/vchiq-mmal/mmal-common.h | 2 +- .../vc04_services/vchiq-mmal/mmal-encodings.h | 2 +- .../vchiq-mmal/mmal-msg-common.h | 2 +- .../vchiq-mmal/mmal-msg-format.h | 2 +- .../vc04_services/vchiq-mmal/mmal-msg-port.h | 2 +- .../vc04_services/vchiq-mmal/mmal-msg.h | 2 +- .../vchiq-mmal/mmal-parameters.h | 2 +- .../vc04_services/vchiq-mmal/mmal-vchiq.c | 2 +- .../vc04_services/vchiq-mmal/mmal-vchiq.h | 2 +- drivers/staging/vt6655/baseband.c | 74 +- drivers/staging/vt6655/baseband.h | 2 +- drivers/staging/vt6655/card.c | 134 +- drivers/staging/vt6655/channel.c | 14 +- drivers/staging/vt6655/device.h | 20 +- drivers/staging/vt6655/device_main.c | 174 +- drivers/staging/vt6655/dpc.c | 4 +- drivers/staging/vt6655/key.c | 2 +- drivers/staging/vt6655/mac.c | 50 +- drivers/staging/vt6655/mac.h | 6 +- drivers/staging/vt6655/power.c | 24 +- drivers/staging/vt6655/rf.c | 156 +- drivers/staging/vt6655/rf.h | 2 +- drivers/staging/vt6655/rxtx.c | 64 +- drivers/staging/wfx/bh.c | 37 +- drivers/staging/wfx/bh.h | 4 +- drivers/staging/wfx/bus_sdio.c | 8 +- drivers/staging/wfx/bus_spi.c | 22 +- drivers/staging/wfx/data_rx.c | 7 +- drivers/staging/wfx/data_rx.h | 4 +- drivers/staging/wfx/data_tx.c | 87 +- drivers/staging/wfx/data_tx.h | 6 +- drivers/staging/wfx/debug.c | 54 +- drivers/staging/wfx/debug.h | 2 +- drivers/staging/wfx/fwio.c | 26 +- drivers/staging/wfx/fwio.h | 2 +- drivers/staging/wfx/hif_api_cmd.h | 14 +- drivers/staging/wfx/hif_api_general.h | 25 +- drivers/staging/wfx/hif_api_mib.h | 85 +- drivers/staging/wfx/hif_rx.c | 23 +- drivers/staging/wfx/hif_rx.h | 3 +- drivers/staging/wfx/hif_tx.c | 60 +- drivers/staging/wfx/hif_tx.h | 6 +- drivers/staging/wfx/hif_tx_mib.c | 14 +- drivers/staging/wfx/hif_tx_mib.h | 2 +- drivers/staging/wfx/hwio.c | 6 +- drivers/staging/wfx/hwio.h | 20 +- drivers/staging/wfx/key.c | 30 +- drivers/staging/wfx/key.h | 4 +- drivers/staging/wfx/main.c | 37 +- drivers/staging/wfx/main.h | 3 +- drivers/staging/wfx/queue.c | 43 +- drivers/staging/wfx/queue.h | 6 +- drivers/staging/wfx/scan.c | 55 +- drivers/staging/wfx/scan.h | 4 +- drivers/staging/wfx/sta.c | 118 +- drivers/staging/wfx/sta.h | 8 +- drivers/staging/wfx/traces.h | 2 +- drivers/staging/wfx/wfx.h | 14 +- drivers/staging/wlan-ng/hfa384x.h | 2 +- drivers/staging/wlan-ng/hfa384x_usb.c | 2 +- drivers/staging/wlan-ng/p80211conv.c | 2 +- drivers/staging/wlan-ng/p80211conv.h | 2 +- drivers/staging/wlan-ng/p80211hdr.h | 2 +- drivers/staging/wlan-ng/p80211ioctl.h | 2 +- drivers/staging/wlan-ng/p80211mgmt.h | 2 +- drivers/staging/wlan-ng/p80211msg.h | 2 +- drivers/staging/wlan-ng/p80211netdev.c | 4 +- drivers/staging/wlan-ng/p80211netdev.h | 2 +- drivers/staging/wlan-ng/p80211req.c | 2 +- drivers/staging/wlan-ng/p80211req.h | 2 +- drivers/staging/wlan-ng/p80211types.h | 2 +- drivers/staging/wlan-ng/p80211wep.c | 2 +- drivers/staging/wlan-ng/prism2mgmt.c | 2 +- drivers/staging/wlan-ng/prism2mgmt.h | 2 +- drivers/staging/wlan-ng/prism2mib.c | 10 +- drivers/staging/wlan-ng/prism2sta.c | 6 +- drivers/staging/wlan-ng/prism2usb.c | 3 +- drivers/target/iscsi/cxgbit/cxgbit_cm.c | 8 +- drivers/target/iscsi/cxgbit/cxgbit_main.c | 17 +- drivers/target/iscsi/cxgbit/cxgbit_target.c | 28 +- drivers/target/iscsi/iscsi_target_configfs.c | 91 +- drivers/target/loopback/tcm_loop.c | 4 +- drivers/target/sbp/sbp_target.c | 30 +- drivers/target/target_core_alua.c | 84 +- drivers/target/target_core_configfs.c | 1 - drivers/target/target_core_fabric_configfs.c | 94 +- drivers/target/target_core_file.c | 5 +- drivers/target/target_core_iblock.c | 10 +- drivers/target/target_core_pscsi.c | 9 +- drivers/target/target_core_spc.c | 14 +- drivers/target/target_core_transport.c | 18 +- drivers/target/target_core_user.c | 7 +- drivers/target/target_core_xcopy.c | 14 +- drivers/tty/Kconfig | 12 - drivers/tty/Makefile | 1 - drivers/tty/goldfish.c | 12 +- drivers/tty/hvc/hvc_console.c | 2 +- drivers/tty/hvc/hvc_xen.c | 1 - drivers/tty/mips_ejtag_fdc.c | 22 +- drivers/tty/moxa.c | 306 +- drivers/tty/mxser.c | 412 +- drivers/tty/n_gsm.c | 139 +- drivers/tty/n_hdlc.c | 7 +- drivers/tty/n_tty.c | 653 +- drivers/tty/serdev/core.c | 14 - drivers/tty/serial/8250/8250.h | 12 +- drivers/tty/serial/8250/8250_bcm7271.c | 16 +- drivers/tty/serial/8250/8250_core.c | 9 +- drivers/tty/serial/8250/8250_dw.c | 29 +- drivers/tty/serial/8250/8250_dwlib.c | 10 - drivers/tty/serial/8250/8250_dwlib.h | 1 - drivers/tty/serial/8250/8250_lpss.c | 9 +- drivers/tty/serial/8250/8250_pci.c | 550 +- drivers/tty/serial/8250/8250_pnp.c | 4 + drivers/tty/serial/8250/8250_port.c | 14 +- drivers/tty/serial/8250/Kconfig | 10 +- drivers/tty/serial/8250/Makefile | 3 - drivers/tty/serial/Kconfig | 13 +- drivers/tty/serial/altera_jtaguart.c | 11 +- drivers/tty/serial/altera_uart.c | 9 +- drivers/tty/serial/amba-pl011.c | 59 +- drivers/tty/serial/ar933x_uart.c | 12 +- drivers/tty/serial/atmel_serial.c | 6 +- drivers/tty/serial/bcm63xx_uart.c | 10 +- drivers/tty/serial/fsl_lpuart.c | 12 +- drivers/tty/serial/imx.c | 18 +- drivers/tty/serial/lantiq.c | 32 +- drivers/tty/serial/lpc32xx_hs.c | 2 +- drivers/tty/serial/max310x.c | 7 +- drivers/tty/serial/meson_uart.c | 45 +- drivers/tty/serial/msm_serial.c | 15 +- drivers/tty/serial/pmac_zilog.c | 12 +- drivers/tty/serial/pxa.c | 12 +- drivers/tty/serial/samsung_tty.c | 81 +- drivers/tty/serial/sc16is7xx.c | 12 +- drivers/tty/serial/serial_core.c | 46 +- drivers/tty/serial/sh-sci.c | 91 +- drivers/tty/serial/sifive.c | 2 +- drivers/tty/serial/stm32-usart.c | 460 +- drivers/tty/serial/stm32-usart.h | 15 +- drivers/tty/serial/sunsu.c | 3 +- drivers/tty/serial/sunzilog.c | 2 +- drivers/tty/serial/uartlite.c | 91 +- drivers/tty/serial/vt8500_serial.c | 12 +- drivers/tty/sysrq.c | 4 +- drivers/tty/tty_baudrate.c | 2 +- drivers/tty/tty_buffer.c | 273 +- drivers/tty/tty_io.c | 921 +- drivers/tty/tty_ioctl.c | 12 +- drivers/tty/tty_ldisc.c | 284 +- drivers/tty/tty_ldsem.c | 2 +- drivers/tty/tty_port.c | 215 +- drivers/tty/vt/keyboard.c | 18 +- drivers/tty/vt/vt.c | 2 +- drivers/watchdog/Kconfig | 142 +- drivers/watchdog/Makefile | 8 +- drivers/watchdog/ar7_wdt.c | 6 +- drivers/watchdog/bcm7038_wdt.c | 15 +- drivers/watchdog/da9062_wdt.c | 7 - drivers/watchdog/da9063_wdt.c | 19 +- drivers/watchdog/davinci_wdt.c | 2 +- drivers/watchdog/f71808e_wdt.c | 645 +- drivers/watchdog/iTCO_wdt.c | 19 +- drivers/watchdog/meson_gxbb_wdt.c | 13 +- drivers/watchdog/mlx_wdt.c | 5 +- drivers/watchdog/msc313e_wdt.c | 4 - drivers/watchdog/mtk_wdt.c | 15 +- drivers/watchdog/rti_wdt.c | 4 +- drivers/watchdog/s3c2410_wdt.c | 348 +- drivers/watchdog/sp5100_tco.c | 9 - drivers/watchdog/stm32_iwdg.c | 4 +- drivers/watchdog/sunxi_wdt.c | 20 +- 3265 files changed, 87520 insertions(+), 120593 deletions(-) diff --git a/Documentation/ABI/obsolete/sysfs-bus-iio b/Documentation/ABI/obsolete/sysfs-bus-iio index b64394b0b3..c9531bb648 100644 --- a/Documentation/ABI/obsolete/sysfs-bus-iio +++ b/Documentation/ABI/obsolete/sysfs-bus-iio @@ -6,7 +6,6 @@ Description: Since Kernel 5.11, multiple buffers are supported. so, it is better to use, instead: - /sys/bus/iio/devices/iio:deviceX/bufferY/length What: /sys/bus/iio/devices/iio:deviceX/buffer/enable @@ -18,7 +17,6 @@ Description: Since Kernel 5.11, multiple buffers are supported. so, it is better to use, instead: - /sys/bus/iio/devices/iio:deviceX/bufferY/enable What: /sys/bus/iio/devices/iio:deviceX/scan_elements @@ -167,7 +165,6 @@ Description: Since Kernel 5.11, multiple buffers are supported. so, it is better to use, instead: - /sys/bus/iio/devices/iio:deviceX/bufferY/watermark What: /sys/bus/iio/devices/iio:deviceX/buffer/data_available @@ -182,5 +179,4 @@ Description: Since Kernel 5.11, multiple buffers are supported. so, it is better to use, instead: - /sys/bus/iio/devices/iio:deviceX/bufferY/data_available diff --git a/Documentation/ABI/stable/o2cb b/Documentation/ABI/stable/o2cb index b62a967f01..5eb1545e0b 100644 --- a/Documentation/ABI/stable/o2cb +++ b/Documentation/ABI/stable/o2cb @@ -1,4 +1,4 @@ -What: /sys/fs/o2cb/ +What: /sys/fs/o2cb/ (was /sys/o2cb) Date: Dec 2005 KernelVersion: 2.6.16 Contact: ocfs2-devel@oss.oracle.com diff --git a/Documentation/ABI/stable/sysfs-class-infiniband b/Documentation/ABI/stable/sysfs-class-infiniband index ebf08c6043..9b1bdfa433 100644 --- a/Documentation/ABI/stable/sysfs-class-infiniband +++ b/Documentation/ABI/stable/sysfs-class-infiniband @@ -232,10 +232,10 @@ Description: The RoCE type of the associated GID resides at index . or "RoCE v2" for RoCE v2 based GIDs. -What: /sys/class/infiniband_mad/umad/ibdev -What: /sys/class/infiniband_mad/umad/port -What: /sys/class/infiniband_mad/issm/ibdev -What: /sys/class/infiniband_mad/issm/port +What: /sys/class/infiniband_mad/umadN/ibdev +What: /sys/class/infiniband_mad/umadN/port +What: /sys/class/infiniband_mad/issmN/ibdev +What: /sys/class/infiniband_mad/issmN/port Date: Apr, 2005 KernelVersion: v2.6.12 Contact: linux-rdma@vger.kernel.org @@ -261,8 +261,8 @@ Description: userspace ABI compatibility of umad & issm devices. -What: /sys/class/infiniband_verbs/uverbs/ibdev -What: /sys/class/infiniband_verbs/uverbs/abi_version +What: /sys/class/infiniband_verbs/uverbsN/ibdev +What: /sys/class/infiniband_verbs/uverbsN/abi_version Date: Sept, 2005 KernelVersion: v2.6.14 Contact: linux-rdma@vger.kernel.org @@ -471,7 +471,7 @@ Description: =============== ====================================================== -What: /sys/class/infiniband/qibX/ports//sl2vl/[0-15] +What: /sys/class/infiniband/qibX/ports/N/sl2vl/[0-15] Date: May, 2010 KernelVersion: v2.6.35 Contact: linux-rdma@vger.kernel.org @@ -480,8 +480,8 @@ Description: the Service Level (SL). Listing the SL files returns the Virtual Lane (VL) as programmed by the SL. -What: /sys/class/infiniband/qibX/ports//CCMgtA/cc_settings_bin -What: /sys/class/infiniband/qibX/ports//CCMgtA/cc_table_bin +What: /sys/class/infiniband/qibX/ports/N/CCMgtA/cc_settings_bin +What: /sys/class/infiniband/qibX/ports/N/CCMgtA/cc_table_bin Date: May, 2010 KernelVersion: v2.6.35 Contact: linux-rdma@vger.kernel.org @@ -499,11 +499,11 @@ Description: delay. =============== ================================================ -What: /sys/class/infiniband/qibX/ports//linkstate/loopback -What: /sys/class/infiniband/qibX/ports//linkstate/led_override -What: /sys/class/infiniband/qibX/ports//linkstate/hrtbt_enable -What: /sys/class/infiniband/qibX/ports//linkstate/status -What: /sys/class/infiniband/qibX/ports//linkstate/status_str +What: /sys/class/infiniband/qibX/ports/N/linkstate/loopback +What: /sys/class/infiniband/qibX/ports/N/linkstate/led_override +What: /sys/class/infiniband/qibX/ports/N/linkstate/hrtbt_enable +What: /sys/class/infiniband/qibX/ports/N/linkstate/status +What: /sys/class/infiniband/qibX/ports/N/linkstate/status_str Date: May, 2010 KernelVersion: v2.6.35 Contact: linux-rdma@vger.kernel.org @@ -523,16 +523,16 @@ Description: "Fatal_Hardware_Error". =============== =============================================== -What: /sys/class/infiniband/qibX/ports//diag_counters/rc_resends -What: /sys/class/infiniband/qibX/ports//diag_counters/seq_naks -What: /sys/class/infiniband/qibX/ports//diag_counters/rdma_seq -What: /sys/class/infiniband/qibX/ports//diag_counters/rnr_naks -What: /sys/class/infiniband/qibX/ports//diag_counters/other_naks -What: /sys/class/infiniband/qibX/ports//diag_counters/rc_timeouts -What: /sys/class/infiniband/qibX/ports//diag_counters/look_pkts -What: /sys/class/infiniband/qibX/ports//diag_counters/pkt_drops -What: /sys/class/infiniband/qibX/ports//diag_counters/dma_wait -What: /sys/class/infiniband/qibX/ports//diag_counters/unaligned +What: /sys/class/infiniband/qibX/ports/N/diag_counters/rc_resends +What: /sys/class/infiniband/qibX/ports/N/diag_counters/seq_naks +What: /sys/class/infiniband/qibX/ports/N/diag_counters/rdma_seq +What: /sys/class/infiniband/qibX/ports/N/diag_counters/rnr_naks +What: /sys/class/infiniband/qibX/ports/N/diag_counters/other_naks +What: /sys/class/infiniband/qibX/ports/N/diag_counters/rc_timeouts +What: /sys/class/infiniband/qibX/ports/N/diag_counters/look_pkts +What: /sys/class/infiniband/qibX/ports/N/diag_counters/pkt_drops +What: /sys/class/infiniband/qibX/ports/N/diag_counters/dma_wait +What: /sys/class/infiniband/qibX/ports/N/diag_counters/unaligned Date: May, 2010 KernelVersion: v2.6.35 Contact: linux-rdma@vger.kernel.org @@ -650,9 +650,9 @@ Description: =============== ============================================= -What: /sys/class/infiniband/hfi1_X/ports//CCMgtA/cc_settings_bin -What: /sys/class/infiniband/hfi1_X/ports//CCMgtA/cc_table_bin -What: /sys/class/infiniband/hfi1_X/ports//CCMgtA/cc_prescan +What: /sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_settings_bin +What: /sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_table_bin +What: /sys/class/infiniband/hfi1_X/ports/N/CCMgtA/cc_prescan Date: May, 2016 KernelVersion: v4.6 Contact: linux-rdma@vger.kernel.org @@ -675,9 +675,9 @@ Description: disable. =============== ================================================ -What: /sys/class/infiniband/hfi1_X/ports//sc2vl/[0-31] -What: /sys/class/infiniband/hfi1_X/ports//sl2sc/[0-31] -What: /sys/class/infiniband/hfi1_X/ports//vl2mtu/[0-15] +What: /sys/class/infiniband/hfi1_X/ports/N/sc2vl/[0-31] +What: /sys/class/infiniband/hfi1_X/ports/N/sl2sc/[0-31] +What: /sys/class/infiniband/hfi1_X/ports/N/vl2mtu/[0-15] Date: May, 2016 KernelVersion: v4.6 Contact: linux-rdma@vger.kernel.org @@ -691,8 +691,8 @@ Description: =============== =================================================== -What: /sys/class/infiniband/hfi1_X/sdma_/cpu_list -What: /sys/class/infiniband/hfi1_X/sdma_/vl +What: /sys/class/infiniband/hfi1_X/sdma_N/cpu_list +What: /sys/class/infiniband/hfi1_X/sdma_N/vl Date: Sept, 2016 KernelVersion: v4.8 Contact: linux-rdma@vger.kernel.org diff --git a/Documentation/ABI/stable/sysfs-class-tpm b/Documentation/ABI/stable/sysfs-class-tpm index 411d5895be..d897ecb961 100644 --- a/Documentation/ABI/stable/sysfs-class-tpm +++ b/Documentation/ABI/stable/sysfs-class-tpm @@ -195,7 +195,7 @@ Description: The "tpm_version_major" property shows the TCG spec major version 2 -What: /sys/class/tpm/tpmX/pcr-/ +What: /sys/class/tpm/tpmX/pcr-H/N Date: March 2021 KernelVersion: 5.12 Contact: linux-integrity@vger.kernel.org diff --git a/Documentation/ABI/stable/sysfs-devices b/Documentation/ABI/stable/sysfs-devices index 98a8ef99ac..42bf1eab56 100644 --- a/Documentation/ABI/stable/sysfs-devices +++ b/Documentation/ABI/stable/sysfs-devices @@ -23,10 +23,3 @@ Contact: Device Tree mailing list Description: If CONFIG_OF is enabled, then this file is present. When read, it returns full name of the device node. - -What: /sys/devices/*/dev -Date: Jun 2006 -Contact: Greg Kroah-Hartman -Description: - Major and minor numbers of the character device corresponding - to the device (in : format). diff --git a/Documentation/ABI/stable/sysfs-devices-node b/Documentation/ABI/stable/sysfs-devices-node index 8db67aa472..484fc04bcc 100644 --- a/Documentation/ABI/stable/sysfs-devices-node +++ b/Documentation/ABI/stable/sysfs-devices-node @@ -176,9 +176,3 @@ Contact: Keith Busch Description: The cache write policy: 0 for write-back, 1 for write-through, other or unknown. - -What: /sys/devices/system/node/nodeX/x86/sgx_total_bytes -Date: November 2021 -Contact: Jarkko Sakkinen -Description: - The total amount of SGX physical memory in bytes. diff --git a/Documentation/ABI/stable/sysfs-devices-system-cpu b/Documentation/ABI/stable/sysfs-devices-system-cpu index 3965ce5044..516dafea03 100644 --- a/Documentation/ABI/stable/sysfs-devices-system-cpu +++ b/Documentation/ABI/stable/sysfs-devices-system-cpu @@ -42,12 +42,6 @@ Description: the CPU core ID of cpuX. Typically it is the hardware platform's architecture and platform dependent. Values: integer -What: /sys/devices/system/cpu/cpuX/topology/cluster_id -Description: the cluster ID of cpuX. Typically it is the hardware platform's - identifier (rather than the kernel's). The actual value is - architecture and platform dependent. -Values: integer - What: /sys/devices/system/cpu/cpuX/topology/book_id Description: the book ID of cpuX. Typically it is the hardware platform's identifier (rather than the kernel's). The actual value is @@ -91,15 +85,6 @@ Description: human-readable list of CPUs within the same die. The format is like 0-3, 8-11, 14,17. Values: decimal list. -What: /sys/devices/system/cpu/cpuX/topology/cluster_cpus -Description: internal kernel map of CPUs within the same cluster. -Values: hexadecimal bitmask. - -What: /sys/devices/system/cpu/cpuX/topology/cluster_cpus_list -Description: human-readable list of CPUs within the same cluster. - The format is like 0-3, 8-11, 14,17. -Values: decimal list. - What: /sys/devices/system/cpu/cpuX/topology/book_siblings Description: internal kernel map of cpuX's hardware threads within the same book_id. it's only used on s390. diff --git a/Documentation/ABI/stable/sysfs-driver-dma-idxd b/Documentation/ABI/stable/sysfs-driver-dma-idxd index 0c2b613f23..df4afbccf0 100644 --- a/Documentation/ABI/stable/sysfs-driver-dma-idxd +++ b/Documentation/ABI/stable/sysfs-driver-dma-idxd @@ -41,14 +41,14 @@ KernelVersion: 5.6.0 Contact: dmaengine@vger.kernel.org Description: The maximum number of groups can be created under this device. -What: /sys/bus/dsa/devices/dsa/max_read_buffers -Date: Dec 10, 2021 -KernelVersion: 5.17.0 +What: /sys/bus/dsa/devices/dsa/max_tokens +Date: Oct 25, 2019 +KernelVersion: 5.6.0 Contact: dmaengine@vger.kernel.org -Description: The total number of read buffers supported by this device. - The read buffers represent resources within the DSA +Description: The total number of bandwidth tokens supported by this device. + The bandwidth tokens represent resources within the DSA implementation, and these resources are allocated by engines to - support operations. See DSA spec v1.2 9.2.4 Total Read Buffers. + support operations. What: /sys/bus/dsa/devices/dsa/max_transfer_size Date: Oct 25, 2019 @@ -115,13 +115,13 @@ KernelVersion: 5.6.0 Contact: dmaengine@vger.kernel.org Description: To indicate if this device is configurable or not. -What: /sys/bus/dsa/devices/dsa/read_buffer_limit -Date: Dec 10, 2021 -KernelVersion: 5.17.0 +What: /sys/bus/dsa/devices/dsa/token_limit +Date: Oct 25, 2019 +KernelVersion: 5.6.0 Contact: dmaengine@vger.kernel.org -Description: The maximum number of read buffers that may be in use at +Description: The maximum number of bandwidth tokens that may be in use at one time by operations that access low bandwidth memory in the - device. See DSA spec v1.2 9.2.8 GENCFG on Global Read Buffer Limit. + device. What: /sys/bus/dsa/devices/dsa/cmd_status Date: Aug 28, 2020 @@ -220,38 +220,8 @@ Contact: dmaengine@vger.kernel.org Description: Show the current number of entries in this WQ if WQ Occupancy Support bit WQ capabilities is 1. -What: /sys/bus/dsa/devices/wq./enqcmds_retries -Date Oct 29, 2021 -KernelVersion: 5.17.0 -Contact: dmaengine@vger.kernel.org -Description: Indicate the number of retires for an enqcmds submission on a sharedwq. - A max value to set attribute is capped at 64. - What: /sys/bus/dsa/devices/engine./group_id Date: Oct 25, 2019 KernelVersion: 5.6.0 Contact: dmaengine@vger.kernel.org Description: The group that this engine belongs to. - -What: /sys/bus/dsa/devices/group./use_read_buffer_limit -Date: Dec 10, 2021 -KernelVersion: 5.17.0 -Contact: dmaengine@vger.kernel.org -Description: Enable the use of global read buffer limit for the group. See DSA - spec v1.2 9.2.18 GRPCFG Use Global Read Buffer Limit. - -What: /sys/bus/dsa/devices/group./read_buffers_allowed -Date: Dec 10, 2021 -KernelVersion: 5.17.0 -Contact: dmaengine@vger.kernel.org -Description: Indicates max number of read buffers that may be in use at one time - by all engines in the group. See DSA spec v1.2 9.2.18 GRPCFG Read - Buffers Allowed. - -What: /sys/bus/dsa/devices/group./read_buffers_reserved -Date: Dec 10, 2021 -KernelVersion: 5.17.0 -Contact: dmaengine@vger.kernel.org -Description: Indicates the number of Read Buffers reserved for the use of - engines in the group. See DSA spec v1.2 9.2.18 GRPCFG Read Buffers - Reserved. diff --git a/Documentation/ABI/stable/sysfs-driver-mlxreg-io b/Documentation/ABI/stable/sysfs-driver-mlxreg-io index 12c3f895cd..b2553df2e7 100644 --- a/Documentation/ABI/stable/sysfs-driver-mlxreg-io +++ b/Documentation/ABI/stable/sysfs-driver-mlxreg-io @@ -223,247 +223,3 @@ Description: These files show with which CPLD part numbers and minor system. The files are read only. - -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/bios_active_image -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/bios_auth_fail -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/bios_upgrade_fail -Date: October 2021 -KernelVersion: 5.16 -Contact: Vadim Pasternak -Description: The files represent BIOS statuses: - - bios_active_image: location of current active BIOS image: - 0: Top, 1: Bottom. - The reported value should correspond to value expected by OS - in case of BIOS safe mode is 0. This bit is related to Intel - top-swap feature of DualBios on the same flash. - - bios_auth_fail: BIOS upgrade is failed because provided BIOS - image is not signed correctly. - - bios_upgrade_fail: BIOS upgrade is failed by some other - reason not because authentication. For example due to - physical SPI flash problem. - - The files are read only. - -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc1_enable -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc2_enable -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc3_enable -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc4_enable -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc5_enable -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc6_enable -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc7_enable -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc8_enable -Date: October 2021 -KernelVersion: 5.16 -Contact: Vadim Pasternak -Description: These files allow line cards enable state control. - Expected behavior: - When lc{n}_enable is written 1, related line card is released - from the reset state, when 0 - is hold in reset state. - - The files are read/write. - -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc1_pwr -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc2_pwr -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc3_pwr -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc4_pwr -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc5_pwr -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc6_pwr -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc7_pwr -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc8_pwr -Date: October 2021 -KernelVersion: 5.16 -Contact: Vadim Pasternak -Description: These files switching line cards power on and off. - Expected behavior: - When lc{n}_pwr is written 1, related line card is powered - on, when written 0 - powered off. - - The files are read/write. - -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc1_rst_mask -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc2_rst_mask -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc3_rst_mask -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc4_rst_mask -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc5_rst_mask -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc6_rst_mask -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc7_rst_mask -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/lc8_rst_mask -Date: October 2021 -KernelVersion: 5.16 -Contact: Vadim Pasternak -Description: These files clear line card reset bit enforced by ASIC, when it - sets it due to some abnormal ASIC behavior. - Expected behavior: - When lc{n}_rst_mask is written 1, related line card reset bit - is cleared, when written 0 - no effect. - - The files are write only. - -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/os_started -Date: October 2021 -KernelVersion: 5.16 -Contact: Vadim Pasternak -Description: This file, when written 1, indicates to programmable devices - that OS is taking control over it. - - The file is read/write. - -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/pm_mgmt_en -Date: October 2021 -KernelVersion: 5.16 -Contact: Vadim Pasternak -Description: This file assigns power management control ownership. - When power management control is provided by hardware, hardware - will automatically power off one or more line previously - powered line cards in case system power budget is getting - insufficient. It could be in case when some of power units lost - power good state. - When pm_mgmt_en is written 1, power management control by - software is enabled, 0 - power management control by hardware. - Note that for any setting of pm_mgmt_en attribute hardware will - not allow to power on any new line card in case system power - budget is insufficient. - Same in case software will try to power on several line cards - at once - hardware will power line cards while system has - enough power budget. - Default is 0. - - The file is read/write. - -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/psu3_on -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/psu4_on -Date: October 2021 -KernelVersion: 5.16 -Contact: Vadim Pasternak -Description: These files switching power supply units on and off. - Expected behavior: - When psu3_on or psu4_on is written 1, related unit will be - disconnected from the power source, when written 0 - connected. - - The files are write only. - -What: /sys/devices/platform/mlxplat/mlxreg-io/hwmon/hwmon*/shutdown_unlock -Date: October 2021 -KernelVersion: 5.16 -Contact: Vadim Pasternak -Description: This file allows to unlock ASIC after thermal shutdown event. - When system thermal shutdown is enforced by ASIC, ASIC is - getting locked and after system boot it will not be available. - Software can decide to unlock it by setting this attribute to - 1 and then perform system power cycle by setting pwr_cycle - attribute to 1 (power cycle of main power domain). - Before setting shutdown_unlock to 1 it is recommended to - validate that system reboot cause is reset_asic_thermal or - reset_thermal_spc_or_pciesw. - In case shutdown_unlock is not set 1, the only way to release - ASIC from locking - is full system power cycle through the - external power distribution unit. - Default is 1. - - The file is read/write. - -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/cpld1_pn -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/cpld1_version -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/cpld1_version_min -Date: October 2021 -KernelVersion: 5.16 -Contact: Vadim Pasternak -Description: These files show with which CPLD major and minor versions - and part number has been burned CPLD device on line card. - - The files are read only. - -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/fpga1_pn -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/fpga1_version -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/fpga1_version_min -Date: October 2021 -KernelVersion: 5.16 -Contact: Vadim Pasternak -Description: These files show with which FPGA major and minor versions - and part number has been burned FPGA device on line card. - - The files are read only. - -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/vpd_wp -Date: October 2021 -KernelVersion: 5.16 -Contact: Vadim Pasternak -Description: This file allow to overwrite line card VPD hardware write - protection mode. When attribute is set 1 - write protection is - disabled, when 0 - enabled. - Default is 0. - If the system is in locked-down mode writing this file will not - be allowed. - The purpose if this file is to allow line card VPD burning - during production flow. - - The file is read/write. - -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_aux_pwr_or_ref -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_dc_dc_pwr_fail -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_fpga_not_done -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_from_chassis -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_line_card -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/reset_pwr_off_from_chassis -Date: October 2021 -KernelVersion: 5.16 -Contact: Vadim Pasternak -Description: These files show the line reset cause, as following: power - auxiliary outage or power refresh, DC-to-DC power failure, FPGA reset - failed, line card reset failed, power off from chassis. - Value 1 in file means this is reset cause, 0 - otherwise. Only one of - the above causes could be 1 at the same time, representing only last - reset cause. - - The files are read only. - -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/cpld_upgrade_en -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/fpga_upgrade_en -Date: October 2021 -KernelVersion: 5.16 -Contact: Vadim Pasternak -Description: These files allow CPLD and FPGA burning. Value 1 in file means burning - is enabled, 0 - otherwise. - If the system is in locked-down mode writing these files will - not be allowed. - The purpose of these files to allow line card CPLD and FPGA - upgrade through the JTAG daisy-chain. - - The files are read/write. - -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/qsfp_pwr_en -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/pwr_en -Date: October 2021 -KernelVersion: 5.16 -Contact: Vadim Pasternak -Description: These files allow to power on/off all QSFP ports and whole line card. - The attributes are set 1 for power on, 0 - for power off. - - The files are read/write. - -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/agb_spi_burn_en -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/fpga_spi_burn_en -Date: October 2021 -KernelVersion: 5.16 -Contact: Vadim Pasternak -Description: These files allow gearboxes and FPGA SPI flash burning. - The attributes are set 1 to enable burning, 0 - to disable. - If the system is in locked-down mode writing these files will - not be allowed. - The purpose of these files to allow line card Gearboxes and FPGA - burning during production flow. - - The file is read/write. - -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/max_power -What: /sys/devices/platform/mlxplat/i2c_mlxcpld.*/i2c-*/i2c-*/i2c-*/*-0032/mlxreg-io.*/hwmon/hwmon*/config -Date: October 2021 -KernelVersion: 5.16 -Contact: Vadim Pasternak -Description: These files provide the maximum powered required for line card - feeding and line card configuration Id. - - The files are read only. diff --git a/Documentation/ABI/stable/sysfs-module b/Documentation/ABI/stable/sysfs-module index 560b4a3278..6272ae5fb3 100644 --- a/Documentation/ABI/stable/sysfs-module +++ b/Documentation/ABI/stable/sysfs-module @@ -1,7 +1,8 @@ -The /sys/module tree consists of the following structure: - -What: /sys/module/ +What: /sys/module Description: + The /sys/module tree consists of the following structure: + + /sys/module/MODULENAME The name of the module that is in the kernel. This module name will always show up if the module is loaded as a dynamic module. If it is built directly into the kernel, it @@ -11,8 +12,7 @@ Description: Note: The conditions of creation in the built-in case are not by design and may be removed in the future. -What: /sys/module//parameters -Description: + /sys/module/MODULENAME/parameters This directory contains individual files that are each individual parameters of the module that are able to be changed at runtime. See the individual module @@ -25,23 +25,10 @@ Description: individual driver documentation for details as to the stability of the different parameters. -What: /sys/module//refcnt -Description: + /sys/module/MODULENAME/refcnt If the module is able to be unloaded from the kernel, this file will contain the current reference count of the module. Note: If the module is built into the kernel, or if the CONFIG_MODULE_UNLOAD kernel configuration value is not enabled, this file will not be present. - -What: /sys/module//srcversion -Date: Jun 2005 -Description: - If the module source has MODULE_VERSION, this file will contain - the checksum of the the source code. - -What: /sys/module//version -Date: Jun 2005 -Description: - If the module source has MODULE_VERSION, this file will contain - the version of the source code. diff --git a/Documentation/ABI/testing/configfs-usb-gadget-uac1 b/Documentation/ABI/testing/configfs-usb-gadget-uac1 index d4b8cf40a9..dd647d44d9 100644 --- a/Documentation/ABI/testing/configfs-usb-gadget-uac1 +++ b/Documentation/ABI/testing/configfs-usb-gadget-uac1 @@ -4,29 +4,23 @@ KernelVersion: 4.14 Description: The attributes: - ===================== ======================================= - c_chmask capture channel mask - c_srate capture sampling rate - c_ssize capture sample size (bytes) - c_mute_present capture mute control enable + ========== =================================== + c_chmask capture channel mask + c_srate capture sampling rate + c_ssize capture sample size (bytes) + c_mute_present capture mute control enable c_volume_present capture volume control enable - c_volume_min capture volume control min value - (in 1/256 dB) - c_volume_max capture volume control max value - (in 1/256 dB) - c_volume_res capture volume control resolution - (in 1/256 dB) - p_chmask playback channel mask - p_srate playback sampling rate - p_ssize playback sample size (bytes) - p_mute_present playback mute control enable + c_volume_min capture volume control min value (in 1/256 dB) + c_volume_max capture volume control max value (in 1/256 dB) + c_volume_res capture volume control resolution (in 1/256 dB) + p_chmask playback channel mask + p_srate playback sampling rate + p_ssize playback sample size (bytes) + p_mute_present playback mute control enable p_volume_present playback volume control enable - p_volume_min playback volume control min value - (in 1/256 dB) - p_volume_max playback volume control max value - (in 1/256 dB) - p_volume_res playback volume control resolution - (in 1/256 dB) - req_number the number of pre-allocated requests - for both capture and playback - ===================== ======================================= + p_volume_min playback volume control min value (in 1/256 dB) + p_volume_max playback volume control max value (in 1/256 dB) + p_volume_res playback volume control resolution (in 1/256 dB) + req_number the number of pre-allocated request + for both capture and playback + ========== =================================== diff --git a/Documentation/ABI/testing/configfs-usb-gadget-uac2 b/Documentation/ABI/testing/configfs-usb-gadget-uac2 index 7fb3dbe268..cfd160ff8b 100644 --- a/Documentation/ABI/testing/configfs-usb-gadget-uac2 +++ b/Documentation/ABI/testing/configfs-usb-gadget-uac2 @@ -4,32 +4,23 @@ KernelVersion: 3.18 Description: The attributes: - ===================== ======================================= - c_chmask capture channel mask - c_srate capture sampling rate - c_ssize capture sample size (bytes) - c_sync capture synchronization type - (async/adaptive) - c_mute_present capture mute control enable + ========= ============================ + c_chmask capture channel mask + c_srate capture sampling rate + c_ssize capture sample size (bytes) + c_sync capture synchronization type (async/adaptive) + c_mute_present capture mute control enable c_volume_present capture volume control enable - c_volume_min capture volume control min value - (in 1/256 dB) - c_volume_max capture volume control max value - (in 1/256 dB) - c_volume_res capture volume control resolution - (in 1/256 dB) - fb_max maximum extra bandwidth in async mode - p_chmask playback channel mask - p_srate playback sampling rate - p_ssize playback sample size (bytes) - p_mute_present playback mute control enable + c_volume_min capture volume control min value (in 1/256 dB) + c_volume_max capture volume control max value (in 1/256 dB) + c_volume_res capture volume control resolution (in 1/256 dB) + fb_max maximum extra bandwidth in async mode + p_chmask playback channel mask + p_srate playback sampling rate + p_ssize playback sample size (bytes) + p_mute_present playback mute control enable p_volume_present playback volume control enable - p_volume_min playback volume control min value - (in 1/256 dB) - p_volume_max playback volume control max value - (in 1/256 dB) - p_volume_res playback volume control resolution - (in 1/256 dB) - req_number the number of pre-allocated requests - for both capture and playback - ===================== ======================================= + p_volume_min playback volume control min value (in 1/256 dB) + p_volume_max playback volume control max value (in 1/256 dB) + p_volume_res playback volume control resolution (in 1/256 dB) + ========= ============================ diff --git a/Documentation/ABI/testing/debugfs-driver-habanalabs b/Documentation/ABI/testing/debugfs-driver-habanalabs index 2667cbf940..284e2dfa61 100644 --- a/Documentation/ABI/testing/debugfs-driver-habanalabs +++ b/Documentation/ABI/testing/debugfs-driver-habanalabs @@ -21,11 +21,11 @@ Description: Allow the root user to disable/enable in runtime the clock a different engine to disable/enable its clock gating feature. The bitmask is composed of 20 bits: - ======= ============ + ======= ============ 0 - 7 DMA channels 8 - 11 MME engines 12 - 19 TPC engines - ======= ============ + ======= ============ The bit's location of a specific engine can be determined using (1 << GAUDI_ENGINE_ID_*). GAUDI_ENGINE_ID_* values @@ -155,13 +155,6 @@ Description: Triggers an I2C transaction that is generated by the device's CPU. Writing to this file generates a write transaction while reading from the file generates a read transaction -What: /sys/kernel/debug/habanalabs/hl/i2c_len -Date: Dec 2021 -KernelVersion: 5.17 -Contact: obitton@habana.ai -Description: Sets I2C length in bytes for I2C transaction that is generated by - the device's CPU - What: /sys/kernel/debug/habanalabs/hl/i2c_reg Date: Jan 2019 KernelVersion: 5.1 @@ -240,12 +233,6 @@ Contact: ogabbay@kernel.org Description: Sets the stop-on_error option for the device engines. Value of "0" is for disable, otherwise enable. -What: /sys/kernel/debug/habanalabs/hl/timeout_locked -Date: Sep 2021 -KernelVersion: 5.16 -Contact: obitton@habana.ai -Description: Sets the command submission timeout value in seconds. - What: /sys/kernel/debug/habanalabs/hl/userptr Date: Jan 2019 KernelVersion: 5.1 diff --git a/Documentation/ABI/testing/evm b/Documentation/ABI/testing/evm index 44750a933d..553fd8a33e 100644 --- a/Documentation/ABI/testing/evm +++ b/Documentation/ABI/testing/evm @@ -1,5 +1,4 @@ -What: /sys/kernel/security/evm -What: /sys/kernel/security/*/evm +What: security/evm Date: March 2011 Contact: Mimi Zohar Description: @@ -94,7 +93,7 @@ Description: core/ima-setup) have support for loading keys at boot time. -What: /sys/kernel/security/*/evm/evm_xattrs +What: security/integrity/evm/evm_xattrs Date: April 2018 Contact: Matthew Garrett Description: diff --git a/Documentation/ABI/testing/ima_policy b/Documentation/ABI/testing/ima_policy index 839fab811b..5c27985349 100644 --- a/Documentation/ABI/testing/ima_policy +++ b/Documentation/ABI/testing/ima_policy @@ -1,4 +1,4 @@ -What: /sys/kernel/security/*/ima/policy +What: security/ima/policy Date: May 2008 Contact: Mimi Zohar Description: @@ -22,9 +22,8 @@ Description: action: measure | dont_measure | appraise | dont_appraise | audit | hash | dont_hash condition:= base | lsm [option] - base: [[func=] [mask=] [fsmagic=] [fsuuid=] [fsname=] - [uid=] [euid=] [gid=] [egid=] - [fowner=] [fgroup=]] + base: [[func=] [mask=] [fsmagic=] [fsuuid=] [uid=] + [euid=] [fowner=] [fsname=]] lsm: [[subj_user=] [subj_role=] [subj_type=] [obj_user=] [obj_role=] [obj_type=]] option: [[appraise_type=]] [template=] [permit_directio] @@ -41,10 +40,7 @@ Description: fsuuid:= file system UUID (e.g 8bcbe394-4f13-4144-be8e-5aa9ea2ce2f6) uid:= decimal value euid:= decimal value - gid:= decimal value - egid:= decimal value fowner:= decimal value - fgroup:= decimal value lsm: are LSM specific option: appraise_type:= [imasig] [imasig|modsig] diff --git a/Documentation/ABI/testing/pstore b/Documentation/ABI/testing/pstore index d3cff4a7ee..5b02540781 100644 --- a/Documentation/ABI/testing/pstore +++ b/Documentation/ABI/testing/pstore @@ -1,5 +1,4 @@ -What: /sys/fs/pstore/... -What: /dev/pstore/... +What: /sys/fs/pstore/... (or /dev/pstore/...) Date: March 2011 KernelVersion: 2.6.39 Contact: tony.luck@intel.com diff --git a/Documentation/ABI/testing/sysfs-ata b/Documentation/ABI/testing/sysfs-ata index 2f726c9147..9ab0ef1dd1 100644 --- a/Documentation/ABI/testing/sysfs-ata +++ b/Documentation/ABI/testing/sysfs-ata @@ -1,4 +1,4 @@ -What: /sys/class/ata_* +What: /sys/class/ata_... Description: Provide a place in sysfs for storing the ATA topology of the system. This allows retrieving various information about ATA diff --git a/Documentation/ABI/testing/sysfs-bus-counter b/Documentation/ABI/testing/sysfs-bus-counter index 06c2b3e27e..20fe5afd4f 100644 --- a/Documentation/ABI/testing/sysfs-bus-counter +++ b/Documentation/ABI/testing/sysfs-bus-counter @@ -203,27 +203,6 @@ Description: both edges: Any state transition. -What: /sys/bus/counter/devices/counterX/countY/ceiling_component_id -What: /sys/bus/counter/devices/counterX/countY/floor_component_id -What: /sys/bus/counter/devices/counterX/countY/count_mode_component_id -What: /sys/bus/counter/devices/counterX/countY/direction_component_id -What: /sys/bus/counter/devices/counterX/countY/enable_component_id -What: /sys/bus/counter/devices/counterX/countY/error_noise_component_id -What: /sys/bus/counter/devices/counterX/countY/prescaler_component_id -What: /sys/bus/counter/devices/counterX/countY/preset_component_id -What: /sys/bus/counter/devices/counterX/countY/preset_enable_component_id -What: /sys/bus/counter/devices/counterX/countY/signalZ_action_component_id -What: /sys/bus/counter/devices/counterX/signalY/cable_fault_component_id -What: /sys/bus/counter/devices/counterX/signalY/cable_fault_enable_component_id -What: /sys/bus/counter/devices/counterX/signalY/filter_clock_prescaler_component_id -What: /sys/bus/counter/devices/counterX/signalY/index_polarity_component_id -What: /sys/bus/counter/devices/counterX/signalY/synchronous_mode_component_id -KernelVersion: 5.16 -Contact: linux-iio@vger.kernel.org -Description: - Read-only attribute that indicates the component ID of the - respective extension or Synapse. - What: /sys/bus/counter/devices/counterX/countY/spike_filter_ns KernelVersion: 5.14 Contact: linux-iio@vger.kernel.org @@ -233,14 +212,6 @@ Description: shorter or equal to configured value are ignored. Value 0 means filter is disabled. -What: /sys/bus/counter/devices/counterX/events_queue_size -KernelVersion: 5.16 -Contact: linux-iio@vger.kernel.org -Description: - Size of the Counter events queue in number of struct - counter_event data structures. The number of elements will be - rounded-up to a power of 2. - What: /sys/bus/counter/devices/counterX/name KernelVersion: 5.2 Contact: linux-iio@vger.kernel.org @@ -315,14 +286,7 @@ What: /sys/bus/counter/devices/counterX/signalY/signal KernelVersion: 5.2 Contact: linux-iio@vger.kernel.org Description: - Signal level state of Signal Y. The following signal level - states are available: - - low: - Low level state. - - high: - High level state. + Signal data of Signal Y represented as a string. What: /sys/bus/counter/devices/counterX/signalY/synchronous_mode KernelVersion: 5.2 diff --git a/Documentation/ABI/testing/sysfs-bus-iio b/Documentation/ABI/testing/sysfs-bus-iio index c551301b33..6ad47a6752 100644 --- a/Documentation/ABI/testing/sysfs-bus-iio +++ b/Documentation/ABI/testing/sysfs-bus-iio @@ -429,7 +429,6 @@ What: /sys/bus/iio/devices/iio:deviceX/in_angl_scale What: /sys/bus/iio/devices/iio:deviceX/in_intensity_x_scale What: /sys/bus/iio/devices/iio:deviceX/in_intensity_y_scale What: /sys/bus/iio/devices/iio:deviceX/in_intensity_z_scale -What: /sys/bus/iio/devices/iio:deviceX/in_concentration_co2_scale KernelVersion: 2.6.35 Contact: linux-iio@vger.kernel.org Description: @@ -1958,44 +1957,3 @@ Description: Specify the percent for light sensor relative to the channel absolute value that a data field should change before an event is generated. Units are a percentage of the prior reading. - -What: /sys/bus/iio/devices/iio:deviceX/calibration_auto_enable -Date: June 2020 -KernelVersion: 5.8 -Contact: linux-iio@vger.kernel.org -Description: - Some sensors have the ability to apply auto calibration at - runtime. For example, it may be necessary to compensate for - contaminant build-up in a measurement chamber or optical - element deterioration that would otherwise lead to sensor drift. - - Writing 1 or 0 to this attribute will respectively activate or - deactivate this auto calibration function. - - Upon reading, the current status is returned. - -What: /sys/bus/iio/devices/iio:deviceX/calibration_forced_value -Date: June 2020 -KernelVersion: 5.8 -Contact: linux-iio@vger.kernel.org -Description: - Some sensors have the ability to apply a manual calibration using - a known measurement value, perhaps obtained from an external - reference device. - - Writing a value to this function will force such a calibration - change. For the scd30 the value should be from the range - [400 1 2000]. - - Note for the scd30 that a valid value may only be obtained once - it is has been written. Until then any read back of this value - should be ignored. As for the scd4x an error will be returned - immediately if the manual calibration has failed. - -What: /sys/bus/iio/devices/iio:deviceX/calibration_forced_value_available -KernelVersion: 5.15 -Contact: linux-iio@vger.kernel.org -Description: - Available range for the forced calibration value, expressed as: - - - a range specified as "[min step max]" diff --git a/Documentation/ABI/testing/sysfs-bus-mdio b/Documentation/ABI/testing/sysfs-bus-mdio index 38be04dfc0..da86efc778 100644 --- a/Documentation/ABI/testing/sysfs-bus-mdio +++ b/Documentation/ABI/testing/sysfs-bus-mdio @@ -1,5 +1,4 @@ What: /sys/bus/mdio_bus/devices/.../statistics/ -What: /sys/class/mdio_bus/.../statistics/ Date: January 2020 KernelVersion: 5.6 Contact: netdev@vger.kernel.org @@ -8,7 +7,6 @@ Description: MDIO bus address statistics. What: /sys/bus/mdio_bus/devices/.../statistics/transfers -What: /sys/class/mdio_bus/.../transfers Date: January 2020 KernelVersion: 5.6 Contact: netdev@vger.kernel.org @@ -16,7 +14,6 @@ Description: Total number of transfers for this MDIO bus. What: /sys/bus/mdio_bus/devices/.../statistics/errors -What: /sys/class/mdio_bus/.../statistics/errors Date: January 2020 KernelVersion: 5.6 Contact: netdev@vger.kernel.org @@ -24,7 +21,6 @@ Description: Total number of transfer errors for this MDIO bus. What: /sys/bus/mdio_bus/devices/.../statistics/writes -What: /sys/class/mdio_bus/.../statistics/writes Date: January 2020 KernelVersion: 5.6 Contact: netdev@vger.kernel.org @@ -32,7 +28,6 @@ Description: Total number of write transactions for this MDIO bus. What: /sys/bus/mdio_bus/devices/.../statistics/reads -What: /sys/class/mdio_bus/.../statistics/reads Date: January 2020 KernelVersion: 5.6 Contact: netdev@vger.kernel.org @@ -40,7 +35,6 @@ Description: Total number of read transactions for this MDIO bus. What: /sys/bus/mdio_bus/devices/.../statistics/transfers_ -What: /sys/class/mdio_bus/.../statistics/transfers_ Date: January 2020 KernelVersion: 5.6 Contact: netdev@vger.kernel.org @@ -48,7 +42,6 @@ Description: Total number of transfers for this MDIO bus address. What: /sys/bus/mdio_bus/devices/.../statistics/errors_ -What: /sys/class/mdio_bus/.../statistics/errors_ Date: January 2020 KernelVersion: 5.6 Contact: netdev@vger.kernel.org @@ -56,7 +49,6 @@ Description: Total number of transfer errors for this MDIO bus address. What: /sys/bus/mdio_bus/devices/.../statistics/writes_ -What: /sys/class/mdio_bus/.../statistics/writes_ Date: January 2020 KernelVersion: 5.6 Contact: netdev@vger.kernel.org @@ -64,7 +56,6 @@ Description: Total number of write transactions for this MDIO bus address. What: /sys/bus/mdio_bus/devices/.../statistics/reads_ -What: /sys/class/mdio_bus/.../statistics/reads_ Date: January 2020 KernelVersion: 5.6 Contact: netdev@vger.kernel.org diff --git a/Documentation/ABI/testing/sysfs-bus-pci b/Documentation/ABI/testing/sysfs-bus-pci index 6fc2c2efe8..d4ae032968 100644 --- a/Documentation/ABI/testing/sysfs-bus-pci +++ b/Documentation/ABI/testing/sysfs-bus-pci @@ -1,5 +1,4 @@ What: /sys/bus/pci/drivers/.../bind -What: /sys/devices/pciX/.../bind Date: December 2003 Contact: linux-pci@vger.kernel.org Description: @@ -15,7 +14,6 @@ Description: (Note: kernels before 2.6.28 may require echo -n). What: /sys/bus/pci/drivers/.../unbind -What: /sys/devices/pciX/.../unbind Date: December 2003 Contact: linux-pci@vger.kernel.org Description: @@ -31,7 +29,6 @@ Description: (Note: kernels before 2.6.28 may require echo -n). What: /sys/bus/pci/drivers/.../new_id -What: /sys/devices/pciX/.../new_id Date: December 2003 Contact: linux-pci@vger.kernel.org Description: @@ -50,7 +47,6 @@ Description: # echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id What: /sys/bus/pci/drivers/.../remove_id -What: /sys/devices/pciX/.../remove_id Date: February 2009 Contact: Chris Wright Description: @@ -100,17 +96,6 @@ Description: This attribute indicates the mode that the irq vector named by the file is in (msi vs. msix) -What: /sys/bus/pci/devices/.../irq -Date: August 2021 -Contact: Linux PCI developers -Description: - If a driver has enabled MSI (not MSI-X), "irq" contains the - IRQ of the first MSI vector. Otherwise "irq" contains the - IRQ of the legacy INTx interrupt. - - "irq" being set to 0 indicates that the device isn't - capable of generating legacy INTx interrupts. - What: /sys/bus/pci/devices/.../remove Date: January 2009 Contact: Linux PCI developers @@ -175,7 +160,7 @@ Description: If the underlying VPD has a writable section then the corresponding section of this file will be writable. -What: /sys/bus/pci/devices/.../virtfn +What: /sys/bus/pci/devices/.../virtfnN Date: March 2009 Contact: Yu Zhao Description: @@ -202,24 +187,6 @@ Description: The symbolic link points to the PCI device sysfs entry of the Physical Function this device associates with. -What: /sys/bus/pci/devices/.../modalias -Date: May 2005 -Contact: Greg Kroah-Hartman -Description: - This attribute indicates the PCI ID of the device object. - - That is in the format: - pci:vXXXXXXXXdXXXXXXXXsvXXXXXXXXsdXXXXXXXXbcXXscXXiXX, - where: - - - vXXXXXXXX contains the vendor ID; - - dXXXXXXXX contains the device ID; - - svXXXXXXXX contains the sub-vendor ID; - - sdXXXXXXXX contains the subsystem device ID; - - bcXX contains the device class; - - scXX contains the device subclass; - - iXX contains the device class programming interface. - What: /sys/bus/pci/slots/.../module Date: June 2009 Contact: linux-pci@vger.kernel.org diff --git a/Documentation/ABI/testing/sysfs-bus-platform b/Documentation/ABI/testing/sysfs-bus-platform index c4dfe7355c..ff30728595 100644 --- a/Documentation/ABI/testing/sysfs-bus-platform +++ b/Documentation/ABI/testing/sysfs-bus-platform @@ -42,15 +42,3 @@ Date: August 2021 Contact: Barry Song Description: This attribute will show "msi" if is a valid msi irq - -What: /sys/bus/platform/devices/.../modalias -Description: - Same as MODALIAS in the uevent at device creation. - - A platform device that it is exposed via devicetree uses: - - - of:N`of node name`T`type` - - Other platform devices use, instead: - - - platform:`driver name` diff --git a/Documentation/ABI/testing/sysfs-bus-rapidio b/Documentation/ABI/testing/sysfs-bus-rapidio index f8b6728dac..634ea207a5 100644 --- a/Documentation/ABI/testing/sysfs-bus-rapidio +++ b/Documentation/ABI/testing/sysfs-bus-rapidio @@ -1,4 +1,4 @@ -What: /sys/bus/rapidio/devices/:: +What: /sys/bus/rapidio/devices/nn:d:iiii Description: For each RapidIO device, the RapidIO subsystem creates files in an individual subdirectory with the following name format of @@ -29,7 +29,7 @@ Description: Attributes Common for All RapidIO Devices ----------------------------------------- -What: /sys/bus/rapidio/devices/::/did +What: /sys/bus/rapidio/devices/nn:d:iiii/did Date: Nov, 2005 KernelVersion: v2.6.15 Contact: Matt Porter , @@ -37,7 +37,7 @@ Contact: Matt Porter , Description: (RO) returns the device identifier -What: /sys/bus/rapidio/devices/::/vid +What: /sys/bus/rapidio/devices/nn:d:iiii/vid Date: Nov, 2005 KernelVersion: v2.6.15 Contact: Matt Porter , @@ -45,7 +45,7 @@ Contact: Matt Porter , Description: (RO) returns the device vendor identifier -What: /sys/bus/rapidio/devices/::/device_rev +What: /sys/bus/rapidio/devices/nn:d:iiii/device_rev Date: Nov, 2005 KernelVersion: v2.6.15 Contact: Matt Porter , @@ -53,7 +53,7 @@ Contact: Matt Porter , Description: (RO) returns the device revision level -What: /sys/bus/rapidio/devices/::/asm_did +What: /sys/bus/rapidio/devices/nn:d:iiii/asm_did Date: Nov, 2005 KernelVersion: v2.6.15 Contact: Matt Porter , @@ -61,7 +61,7 @@ Contact: Matt Porter , Description: (RO) returns identifier for the assembly containing the device -What: /sys/bus/rapidio/devices/::/asm_rev +What: /sys/bus/rapidio/devices/nn:d:iiii/asm_rev Date: Nov, 2005 KernelVersion: v2.6.15 Contact: Matt Porter , @@ -70,7 +70,7 @@ Description: (RO) returns revision level of the assembly containing the device -What: /sys/bus/rapidio/devices/::/asm_vid +What: /sys/bus/rapidio/devices/nn:d:iiii/asm_vid Date: Nov, 2005 KernelVersion: v2.6.15 Contact: Matt Porter , @@ -79,7 +79,7 @@ Description: (RO) returns vendor identifier of the assembly containing the device -What: /sys/bus/rapidio/devices/::/destid +What: /sys/bus/rapidio/devices/nn:d:iiii/destid Date: Mar, 2011 KernelVersion: v2.6.3 Contact: Matt Porter , @@ -88,7 +88,7 @@ Description: (RO) returns device destination ID assigned by the enumeration routine -What: /sys/bus/rapidio/devices/::/lprev +What: /sys/bus/rapidio/devices/nn:d:iiii/lprev Date: Mar, 2011 KernelVersion: v2.6.39 Contact: Matt Porter , @@ -97,7 +97,7 @@ Description: (RO) returns name of previous device (switch) on the path to the device that that owns this attribute -What: /sys/bus/rapidio/devices/::/modalias +What: /sys/bus/rapidio/devices/nn:d:iiii/modalias Date: Jul, 2013 KernelVersion: v3.11 Contact: Matt Porter , @@ -105,7 +105,7 @@ Contact: Matt Porter , Description: (RO) returns the device modalias -What: /sys/bus/rapidio/devices/::/config +What: /sys/bus/rapidio/devices/nn:d:iiii/config Date: Nov, 2005 KernelVersion: v2.6.15 Contact: Matt Porter , @@ -128,7 +128,7 @@ device-specific sysfs attributes by specifying a callback function that may be set by the switch initialization routine during enumeration or discovery process. -What: /sys/bus/rapidio/devices/::/routes +What: /sys/bus/rapidio/devices/nn:s:iiii/routes Date: Nov, 2005 KernelVersion: v2.6.15 Contact: Matt Porter , @@ -138,7 +138,7 @@ Description: This attribute reports only valid routing table entries, one line for each entry. -What: /sys/bus/rapidio/devices/::/destid +What: /sys/bus/rapidio/devices/nn:s:iiii/destid Date: Mar, 2011 KernelVersion: v2.6.3 Contact: Matt Porter , @@ -147,7 +147,7 @@ Description: (RO) device destination ID of the associated device that defines a route to the switch -What: /sys/bus/rapidio/devices/::/hopcount +What: /sys/bus/rapidio/devices/nn:s:iiii/hopcount Date: Mar, 2011 KernelVersion: v2.6.39 Contact: Matt Porter , @@ -155,7 +155,7 @@ Contact: Matt Porter , Description: (RO) number of hops on the path to the switch -What: /sys/bus/rapidio/devices/::/lnext +What: /sys/bus/rapidio/devices/nn:s:iiii/lnext Date: Mar, 2011 KernelVersion: v2.6.39 Contact: Matt Porter , @@ -172,7 +172,7 @@ Device-specific Switch Attributes IDT_GEN2- -What: /sys/bus/rapidio/devices/::/errlog +What: /sys/bus/rapidio/devices/nn:s:iiii/errlog Date: Oct, 2010 KernelVersion: v2.6.37 Contact: Matt Porter , diff --git a/Documentation/ABI/testing/sysfs-bus-soundwire-master b/Documentation/ABI/testing/sysfs-bus-soundwire-master index d2342911ff..46ef038d87 100644 --- a/Documentation/ABI/testing/sysfs-bus-soundwire-master +++ b/Documentation/ABI/testing/sysfs-bus-soundwire-master @@ -1,13 +1,13 @@ -What: /sys/bus/soundwire/devices/sdw-master-/revision - /sys/bus/soundwire/devices/sdw-master-/clk_stop_modes - /sys/bus/soundwire/devices/sdw-master-/clk_freq - /sys/bus/soundwire/devices/sdw-master-/clk_gears - /sys/bus/soundwire/devices/sdw-master-/default_col - /sys/bus/soundwire/devices/sdw-master-/default_frame_rate - /sys/bus/soundwire/devices/sdw-master-/default_row - /sys/bus/soundwire/devices/sdw-master-/dynamic_shape - /sys/bus/soundwire/devices/sdw-master-/err_threshold - /sys/bus/soundwire/devices/sdw-master-/max_clk_freq +What: /sys/bus/soundwire/devices/sdw-master-N/revision + /sys/bus/soundwire/devices/sdw-master-N/clk_stop_modes + /sys/bus/soundwire/devices/sdw-master-N/clk_freq + /sys/bus/soundwire/devices/sdw-master-N/clk_gears + /sys/bus/soundwire/devices/sdw-master-N/default_col + /sys/bus/soundwire/devices/sdw-master-N/default_frame_rate + /sys/bus/soundwire/devices/sdw-master-N/default_row + /sys/bus/soundwire/devices/sdw-master-N/dynamic_shape + /sys/bus/soundwire/devices/sdw-master-N/err_threshold + /sys/bus/soundwire/devices/sdw-master-N/max_clk_freq Date: April 2020 diff --git a/Documentation/ABI/testing/sysfs-bus-soundwire-slave b/Documentation/ABI/testing/sysfs-bus-soundwire-slave index fbf55834df..d324aa0b67 100644 --- a/Documentation/ABI/testing/sysfs-bus-soundwire-slave +++ b/Documentation/ABI/testing/sysfs-bus-soundwire-slave @@ -64,37 +64,37 @@ Description: SoundWire Slave Data Port-0 DisCo properties. Data port 0 are used by the bus to configure the Data Port 0. -What: /sys/bus/soundwire/devices/sdw:.../dp_src/max_word - /sys/bus/soundwire/devices/sdw:.../dp_src/min_word - /sys/bus/soundwire/devices/sdw:.../dp_src/words - /sys/bus/soundwire/devices/sdw:.../dp_src/type - /sys/bus/soundwire/devices/sdw:.../dp_src/max_grouping - /sys/bus/soundwire/devices/sdw:.../dp_src/simple_ch_prep_sm - /sys/bus/soundwire/devices/sdw:.../dp_src/ch_prep_timeout - /sys/bus/soundwire/devices/sdw:.../dp_src/imp_def_interrupts - /sys/bus/soundwire/devices/sdw:.../dp_src/min_ch - /sys/bus/soundwire/devices/sdw:.../dp_src/max_ch - /sys/bus/soundwire/devices/sdw:.../dp_src/channels - /sys/bus/soundwire/devices/sdw:.../dp_src/ch_combinations - /sys/bus/soundwire/devices/sdw:.../dp_src/max_async_buffer - /sys/bus/soundwire/devices/sdw:.../dp_src/block_pack_mode - /sys/bus/soundwire/devices/sdw:.../dp_src/port_encoding +What: /sys/bus/soundwire/devices/sdw:.../dpN_src/max_word + /sys/bus/soundwire/devices/sdw:.../dpN_src/min_word + /sys/bus/soundwire/devices/sdw:.../dpN_src/words + /sys/bus/soundwire/devices/sdw:.../dpN_src/type + /sys/bus/soundwire/devices/sdw:.../dpN_src/max_grouping + /sys/bus/soundwire/devices/sdw:.../dpN_src/simple_ch_prep_sm + /sys/bus/soundwire/devices/sdw:.../dpN_src/ch_prep_timeout + /sys/bus/soundwire/devices/sdw:.../dpN_src/imp_def_interrupts + /sys/bus/soundwire/devices/sdw:.../dpN_src/min_ch + /sys/bus/soundwire/devices/sdw:.../dpN_src/max_ch + /sys/bus/soundwire/devices/sdw:.../dpN_src/channels + /sys/bus/soundwire/devices/sdw:.../dpN_src/ch_combinations + /sys/bus/soundwire/devices/sdw:.../dpN_src/max_async_buffer + /sys/bus/soundwire/devices/sdw:.../dpN_src/block_pack_mode + /sys/bus/soundwire/devices/sdw:.../dpN_src/port_encoding - /sys/bus/soundwire/devices/sdw:.../dp_sink/max_word - /sys/bus/soundwire/devices/sdw:.../dp_sink/min_word - /sys/bus/soundwire/devices/sdw:.../dp_sink/words - /sys/bus/soundwire/devices/sdw:.../dp_sink/type - /sys/bus/soundwire/devices/sdw:.../dp_sink/max_grouping - /sys/bus/soundwire/devices/sdw:.../dp_sink/simple_ch_prep_sm - /sys/bus/soundwire/devices/sdw:.../dp_sink/ch_prep_timeout - /sys/bus/soundwire/devices/sdw:.../dp_sink/imp_def_interrupts - /sys/bus/soundwire/devices/sdw:.../dp_sink/min_ch - /sys/bus/soundwire/devices/sdw:.../dp_sink/max_ch - /sys/bus/soundwire/devices/sdw:.../dp_sink/channels - /sys/bus/soundwire/devices/sdw:.../dp_sink/ch_combinations - /sys/bus/soundwire/devices/sdw:.../dp_sink/max_async_buffer - /sys/bus/soundwire/devices/sdw:.../dp_sink/block_pack_mode - /sys/bus/soundwire/devices/sdw:.../dp_sink/port_encoding + /sys/bus/soundwire/devices/sdw:.../dpN_sink/max_word + /sys/bus/soundwire/devices/sdw:.../dpN_sink/min_word + /sys/bus/soundwire/devices/sdw:.../dpN_sink/words + /sys/bus/soundwire/devices/sdw:.../dpN_sink/type + /sys/bus/soundwire/devices/sdw:.../dpN_sink/max_grouping + /sys/bus/soundwire/devices/sdw:.../dpN_sink/simple_ch_prep_sm + /sys/bus/soundwire/devices/sdw:.../dpN_sink/ch_prep_timeout + /sys/bus/soundwire/devices/sdw:.../dpN_sink/imp_def_interrupts + /sys/bus/soundwire/devices/sdw:.../dpN_sink/min_ch + /sys/bus/soundwire/devices/sdw:.../dpN_sink/max_ch + /sys/bus/soundwire/devices/sdw:.../dpN_sink/channels + /sys/bus/soundwire/devices/sdw:.../dpN_sink/ch_combinations + /sys/bus/soundwire/devices/sdw:.../dpN_sink/max_async_buffer + /sys/bus/soundwire/devices/sdw:.../dpN_sink/block_pack_mode + /sys/bus/soundwire/devices/sdw:.../dpN_sink/port_encoding Date: May 2020 diff --git a/Documentation/ABI/testing/sysfs-bus-usb b/Documentation/ABI/testing/sysfs-bus-usb index 7efe31ed3a..73eb23bc1f 100644 --- a/Documentation/ABI/testing/sysfs-bus-usb +++ b/Documentation/ABI/testing/sysfs-bus-usb @@ -1,4 +1,4 @@ -What: /sys/bus/usb/devices//authorized +What: /sys/bus/usb/devices/INTERFACE/authorized Date: August 2015 Description: This allows to authorize (1) or deauthorize (0) @@ -166,14 +166,14 @@ Description: The file will be present for all speeds of USB devices, and will always read "no" for USB 1.1 and USB 2.0 devices. -What: /sys/bus/usb/devices/...//port +What: /sys/bus/usb/devices/.../(hub interface)/portX Date: August 2012 Contact: Lan Tianyu Description: - The /sys/bus/usb/devices/...//port + The /sys/bus/usb/devices/.../(hub interface)/portX is usb port device's sysfs directory. -What: /sys/bus/usb/devices/...//port/connect_type +What: /sys/bus/usb/devices/.../(hub interface)/portX/connect_type Date: January 2013 Contact: Lan Tianyu Description: @@ -182,7 +182,7 @@ Description: The file will read "hotplug", "hardwired" and "not used" if the information is available, and "unknown" otherwise. -What: /sys/bus/usb/devices/...//port/location +What: /sys/bus/usb/devices/.../(hub interface)/portX/location Date: October 2018 Contact: Bjørn Mork Description: @@ -192,7 +192,7 @@ Description: raw location value as a hex integer. -What: /sys/bus/usb/devices/...//port/quirks +What: /sys/bus/usb/devices/.../(hub interface)/portX/quirks Date: May 2018 Contact: Nicolas Boichat Description: @@ -216,7 +216,7 @@ Description: used to help make enumeration work better on some high speed devices. -What: /sys/bus/usb/devices/...//port/over_current_count +What: /sys/bus/usb/devices/.../(hub interface)/portX/over_current_count Date: February 2018 Contact: Richard Leitner Description: @@ -230,10 +230,10 @@ Description: Any time this value changes the corresponding hub device will send a udev event with the following attributes:: - OVER_CURRENT_PORT=/sys/bus/usb/devices/...//port + OVER_CURRENT_PORT=/sys/bus/usb/devices/.../(hub interface)/portX OVER_CURRENT_COUNT=[current value of this sysfs attribute] -What: /sys/bus/usb/devices/...//port/usb3_lpm_permit +What: /sys/bus/usb/devices/.../(hub interface)/portX/usb3_lpm_permit Date: November 2015 Contact: Lu Baolu Description: @@ -244,15 +244,6 @@ Description: is permitted, "u2" if only u2 is permitted, "u1_u2" if both u1 and u2 are permitted. -What: /sys/bus/usb/devices/...//port/connector -Date: December 2021 -Contact: Heikki Krogerus -Description: - Link to the USB Type-C connector when available. This link is - only created when USB Type-C Connector Class is enabled, and - only if the system firmware is capable of describing the - connection between a port and its connector. - What: /sys/bus/usb/devices/.../power/usb2_lpm_l1_timeout Date: May 2013 Contact: Mathias Nyman @@ -297,277 +288,3 @@ Description: USB 3.2 adds Dual-lane support, 2 rx and 2 tx -lanes over Type-C. Inter-Chip SSIC devices support asymmetric lanes up to 4 lanes per direction. Devices before USB 3.2 are single lane (tx_lanes = 1) - -What: /sys/bus/usb/devices/usbX/bAlternateSetting -Description: - The current interface alternate setting number, in decimal. - - See USB specs for its meaning. - -What: /sys/bus/usb/devices/usbX/bcdDevice -Description: - The device's release number, in hexadecimal. - - See USB specs for its meaning. - -What: /sys/bus/usb/devices/usbX/bConfigurationValue -Description: - While a USB device typically have just one configuration - setting, some devices support multiple configurations. - - This value shows the current configuration, in decimal. - - Changing its value will change the device's configuration - to another setting. - - The number of configurations supported by a device is at: - - /sys/bus/usb/devices/usbX/bNumConfigurations - - See USB specs for its meaning. - -What: /sys/bus/usb/devices/usbX/bDeviceClass -Description: - Class code of the device, in hexadecimal. - - See USB specs for its meaning. - -What: /sys/bus/usb/devices/usbX/bDeviceProtocol -Description: - Protocol code of the device, in hexadecimal. - - See USB specs for its meaning. - -What: /sys/bus/usb/devices/usbX/bDeviceSubClass -Description: - Subclass code of the device, in hexadecimal. - - See USB specs for its meaning. - -What: /sys/bus/usb/devices/usbX/bInterfaceClass -Description: - Class code of the interface, in hexadecimal. - - See USB specs for its meaning. - -What: /sys/bus/usb/devices/usbX/bInterfaceNumber -Description: - Interface number, in hexadecimal. - - See USB specs for its meaning. - -What: /sys/bus/usb/devices/usbX/bInterfaceProtocol -Description: - Protocol code of the interface, in hexadecimal. - - See USB specs for its meaning. - -What: /sys/bus/usb/devices/usbX/bInterfaceSubClass -Description: - Subclass code of the interface, in hexadecimal. - - See USB specs for its meaning. - -What: /sys/bus/usb/devices/usbX/bmAttributes -Description: - Attributes of the current configuration, in hexadecimal. - - See USB specs for its meaning. - -What: /sys/bus/usb/devices/usbX/bMaxPacketSize0 -Description: - Maximum endpoint 0 packet size, in decimal. - - See USB specs for its meaning. - -What: /sys/bus/usb/devices/usbX/bMaxPower -Description: - Maximum power consumption of the active configuration of - the device, in miliamperes. - -What: /sys/bus/usb/devices/usbX/bNumConfigurations -Description: - Number of the possible configurations of the device, in - decimal. The current configuration is controlled via: - - /sys/bus/usb/devices/usbX/bConfigurationValue - - See USB specs for its meaning. - -What: /sys/bus/usb/devices/usbX/bNumEndpoints -Description: - Number of endpoints used on this interface, in hexadecimal. - - See USB specs for its meaning. - -What: /sys/bus/usb/devices/usbX/bNumInterfaces -Description: - Number of interfaces on this device, in decimal. - -What: /sys/bus/usb/devices/usbX/busnum -Description: - Number of the bus. - -What: /sys/bus/usb/devices/usbX/configuration -Description: - Contents of the string descriptor associated with the - current configuration. It may include the firmware version - of a device and/or its serial number. - -What: /sys/bus/usb/devices/usbX/descriptors -Description: - Contains the interface descriptors, in binary. - -What: /sys/bus/usb/devices/usbX/idProduct -Description: - Product ID, in hexadecimal. - -What: /sys/bus/usb/devices/usbX/idVendor -Description: - Vendor ID, in hexadecimal. - -What: /sys/bus/usb/devices/usbX/devspec -Description: - Displays the Device Tree Open Firmware node of the interface. - -What: /sys/bus/usb/devices/usbX/avoid_reset_quirk -Description: - Most devices have this set to zero. - - If the value is 1, enable a USB quirk that prevents this - device to use reset. - - (read/write) - -What: /sys/bus/usb/devices/usbX/devnum -Description: - USB interface device number, in decimal. - -What: /sys/bus/usb/devices/usbX/devpath -Description: - String containing the USB interface device path. - -What: /sys/bus/usb/devices/usbX/manufacturer -Description: - Vendor specific string containing the name of the - manufacturer of the device. - -What: /sys/bus/usb/devices/usbX/maxchild -Description: - Number of ports of an USB hub - -What: /sys/bus/usb/devices/usbX/persist -Description: - Keeps the device even if it gets disconnected. - -What: /sys/bus/usb/devices/usbX/product -Description: - Vendor specific string containing the name of the - device's product. - -What: /sys/bus/usb/devices/usbX/speed -Description: - Shows the device's max speed, according to the USB version, - in Mbps. - Can be: - - ======= ==================== - Unknown speed unknown - 1.5 Low speed - 15 Full speed - 480 High Speed - 5000 Super Speed - 10000 Super Speed+ - 20000 Super Speed+ Gen 2x2 - ======= ==================== - -What: /sys/bus/usb/devices/usbX/supports_autosuspend -Description: - Returns 1 if the device doesn't support autosuspend. - Otherwise, returns 0. - -What: /sys/bus/usb/devices/usbX/urbnum -Description: - Number of URBs submitted for the whole device. - -What: /sys/bus/usb/devices/usbX/version -Description: - String containing the USB device version, as encoded - at the BCD descriptor. - -What: /sys/bus/usb/devices/usbX/power/autosuspend -Description: - Time in milliseconds for the device to autosuspend. If the - value is negative, then autosuspend is prevented. - - (read/write) - -What: /sys/bus/usb/devices/usbX/power/active_duration -Description: - The total time the device has not been suspended. - -What: /sys/bus/usb/devices/usbX/power/connected_duration -Description: - The total time (in msec) that the device has been connected. - -What: /sys/bus/usb/devices/usbX/power/level -Description: - -What: /sys/bus/usb/devices/usbX/ep_/bEndpointAddress -Description: - The address of the endpoint described by this descriptor, - in hexadecimal. The endpoint direction on this bitmapped field - is also shown at: - - /sys/bus/usb/devices/usbX/ep_/direction - - See USB specs for its meaning. - -What: /sys/bus/usb/devices/usbX/ep_/bInterval -Description: - The interval of the endpoint as described on its descriptor, - in hexadecimal. The actual interval depends on the version - of the USB. Also shown in time units at - /sys/bus/usb/devices/usbX/ep_/interval. - -What: /sys/bus/usb/devices/usbX/ep_/bLength -Description: - Number of bytes of the endpoint descriptor, in hexadecimal. - -What: /sys/bus/usb/devices/usbX/ep_/bmAttributes -Description: - Attributes which apply to the endpoint as described on its - descriptor, in hexadecimal. The endpoint type on this - bitmapped field is also shown at: - - /sys/bus/usb/devices/usbX/ep_/type - - See USB specs for its meaning. - -What: /sys/bus/usb/devices/usbX/ep_/direction -Description: - Direction of the endpoint. Can be: - - - both (on control endpoints) - - in - - out - -What: /sys/bus/usb/devices/usbX/ep_/interval -Description: - Interval for polling endpoint for data transfers, in - milisseconds or microseconds. - -What: /sys/bus/usb/devices/usbX/ep_/type -Description: - Descriptor type. Can be: - - - Control - - Isoc - - Bulk - - Interrupt - - unknown - -What: /sys/bus/usb/devices/usbX/ep_/wMaxPacketSize -Description: - Maximum packet size this endpoint is capable of - sending or receiving, in hexadecimal. diff --git a/Documentation/ABI/testing/sysfs-class-bdi b/Documentation/ABI/testing/sysfs-class-bdi index 6d2a2fc189..5402bd74ba 100644 --- a/Documentation/ABI/testing/sysfs-class-bdi +++ b/Documentation/ABI/testing/sysfs-class-bdi @@ -23,17 +23,14 @@ default The default backing dev, used for non-block device backed filesystems which do not provide their own BDI. -What: /sys/class/bdi//read_ahead_kb -Date: January 2008 -Contact: Peter Zijlstra -Description: +Files under /sys/class/bdi// + +read_ahead_kb (read-write) + Size of the read-ahead window in kilobytes - (read-write) -What: /sys/class/bdi//min_ratio -Date: January 2008 -Contact: Peter Zijlstra -Description: +min_ratio (read-write) + Under normal circumstances each device is given a part of the total write-back cache that relates to its current average writeout speed in relation to the other devices. @@ -42,12 +39,8 @@ Description: percentage of the write-back cache to a particular device. For example, this is useful for providing a minimum QoS. - (read-write) +max_ratio (read-write) -What: /sys/class/bdi//max_ratio -Date: January 2008 -Contact: Peter Zijlstra -Description: Allows limiting a particular device to use not more than the given percentage of the write-back cache. This is useful in situations where we want to avoid one device taking all or @@ -55,12 +48,7 @@ Description: mount that is prone to get stuck, or a FUSE mount which cannot be trusted to play fair. - (read-write) -What: /sys/class/bdi//stable_pages_required -Date: January 2008 -Contact: Peter Zijlstra -Description: +stable_pages_required (read-only) + If set, the backing device requires that all pages comprising a write request must not be changed until writeout is complete. - - (read-only) diff --git a/Documentation/ABI/testing/sysfs-class-cxl b/Documentation/ABI/testing/sysfs-class-cxl index 3c77677e0c..818f55970e 100644 --- a/Documentation/ABI/testing/sysfs-class-cxl +++ b/Documentation/ABI/testing/sysfs-class-cxl @@ -166,11 +166,10 @@ Description: read only Decimal value of the Per Process MMIO space length. Users: https://github.com/ibm-capi/libcxl -What: /sys/class/cxl/m/pp_mmio_off +What: /sys/class/cxl/m/pp_mmio_off (not in a guest) Date: September 2014 Contact: linuxppc-dev@lists.ozlabs.org Description: read only - (not in a guest) Decimal value of the Per Process MMIO space offset. Users: https://github.com/ibm-capi/libcxl @@ -191,31 +190,28 @@ Description: read only Identifies the revision level of the PSL. Users: https://github.com/ibm-capi/libcxl -What: /sys/class/cxl//base_image +What: /sys/class/cxl//base_image (not in a guest) Date: September 2014 Contact: linuxppc-dev@lists.ozlabs.org Description: read only - (not in a guest) Identifies the revision level of the base image for devices that support loadable PSLs. For FPGAs this field identifies the image contained in the on-adapter flash which is loaded during the initial program load. Users: https://github.com/ibm-capi/libcxl -What: /sys/class/cxl//image_loaded +What: /sys/class/cxl//image_loaded (not in a guest) Date: September 2014 Contact: linuxppc-dev@lists.ozlabs.org Description: read only - (not in a guest) Will return "user" or "factory" depending on the image loaded onto the card. Users: https://github.com/ibm-capi/libcxl -What: /sys/class/cxl//load_image_on_perst +What: /sys/class/cxl//load_image_on_perst (not in a guest) Date: December 2014 Contact: linuxppc-dev@lists.ozlabs.org Description: read/write - (not in a guest) Valid entries are "none", "user", and "factory". "none" means PERST will not cause image to be loaded to the card. A power cycle is required to load the image. @@ -239,11 +235,10 @@ Description: write only contexts on the card AFUs. Users: https://github.com/ibm-capi/libcxl -What: /sys/class/cxl//perst_reloads_same_image +What: /sys/class/cxl//perst_reloads_same_image (not in a guest) Date: July 2015 Contact: linuxppc-dev@lists.ozlabs.org Description: read/write - (not in a guest) Trust that when an image is reloaded via PERST, it will not have changed. diff --git a/Documentation/ABI/testing/sysfs-class-firmware-attributes b/Documentation/ABI/testing/sysfs-class-firmware-attributes index 13e31c6a0e..90fdf935aa 100644 --- a/Documentation/ABI/testing/sysfs-class-firmware-attributes +++ b/Documentation/ABI/testing/sysfs-class-firmware-attributes @@ -161,15 +161,6 @@ Description: power-on: Representing a password required to use the system - system-mgmt: - Representing System Management password. - See Lenovo extensions section for details - HDD: - Representing HDD password - See Lenovo extensions section for details - NVMe: - Representing NVMe password - See Lenovo extensions section for details mechanism: The means of authentication. This attribute is mandatory. @@ -216,13 +207,6 @@ Description: On Lenovo systems the following additional settings are available: - role: system-mgmt This gives the same authority as the bios-admin password to control - security related features. The authorities allocated can be set via - the BIOS menu SMP Access Control Policy - - role: HDD & NVMe This password is used to unlock access to the drive at boot. Note see - 'level' and 'index' extensions below. - lenovo_encoding: The encoding method that is used. This can be either "ascii" or "scancode". Default is set to "ascii" @@ -232,22 +216,6 @@ Description: two char code (e.g. "us", "fr", "gr") and may vary per platform. Default is set to "us" - level: - Available for HDD and NVMe authentication to set 'user' or 'master' - privilege level. - If only the user password is configured then this should be used to - unlock the drive at boot. If both master and user passwords are set - then either can be used. If a master password is set a user password - is required. - This attribute defaults to 'user' level - - index: - Used with HDD and NVME authentication to set the drive index - that is being referenced (e.g hdd0, hdd1 etc) - This attribute defaults to device 0. - - - What: /sys/class/firmware-attributes/*/attributes/pending_reboot Date: February 2021 KernelVersion: 5.11 diff --git a/Documentation/ABI/testing/sysfs-class-gnss b/Documentation/ABI/testing/sysfs-class-gnss index 9650f3a7fc..c8553d972e 100644 --- a/Documentation/ABI/testing/sysfs-class-gnss +++ b/Documentation/ABI/testing/sysfs-class-gnss @@ -1,4 +1,4 @@ -What: /sys/class/gnss/gnss/type +What: /sys/class/gnss/gnssN/type Date: May 2018 KernelVersion: 4.18 Contact: Johan Hovold diff --git a/Documentation/ABI/testing/sysfs-class-mei b/Documentation/ABI/testing/sysfs-class-mei index 1db36ddf8e..5c52372b43 100644 --- a/Documentation/ABI/testing/sysfs-class-mei +++ b/Documentation/ABI/testing/sysfs-class-mei @@ -6,7 +6,7 @@ Description: The mei/ class sub-directory belongs to mei device class -What: /sys/class/mei/mei/ +What: /sys/class/mei/meiN/ Date: May 2014 KernelVersion: 3.17 Contact: Tomas Winkler @@ -14,7 +14,7 @@ Description: The /sys/class/mei/meiN directory is created for each probed mei device -What: /sys/class/mei/mei/fw_status +What: /sys/class/mei/meiN/fw_status Date: Nov 2014 KernelVersion: 3.19 Contact: Tomas Winkler @@ -29,7 +29,7 @@ Description: Display fw status registers content Also number of registers varies between 1 and 6 depending on generation. -What: /sys/class/mei/mei/hbm_ver +What: /sys/class/mei/meiN/hbm_ver Date: Aug 2016 KernelVersion: 4.9 Contact: Tomas Winkler @@ -38,7 +38,7 @@ Description: Display the negotiated HBM protocol version. The HBM protocol version negotiated between the driver and the device. -What: /sys/class/mei/mei/hbm_ver_drv +What: /sys/class/mei/meiN/hbm_ver_drv Date: Aug 2016 KernelVersion: 4.9 Contact: Tomas Winkler @@ -46,7 +46,7 @@ Description: Display the driver HBM protocol version. The HBM protocol version supported by the driver. -What: /sys/class/mei/mei/tx_queue_limit +What: /sys/class/mei/meiN/tx_queue_limit Date: Jan 2018 KernelVersion: 4.16 Contact: Tomas Winkler @@ -55,7 +55,7 @@ Description: Configure tx queue limit Set maximal number of pending writes per opened session. -What: /sys/class/mei/mei/fw_ver +What: /sys/class/mei/meiN/fw_ver Date: May 2018 KernelVersion: 4.18 Contact: Tomas Winkler @@ -66,7 +66,7 @@ Description: Display the ME firmware version. There can be up to three such blocks for different FW components. -What: /sys/class/mei/mei/dev_state +What: /sys/class/mei/meiN/dev_state Date: Mar 2019 KernelVersion: 5.1 Contact: Tomas Winkler @@ -81,7 +81,7 @@ Description: Display the ME device state. POWER_DOWN POWER_UP -What: /sys/class/mei/mei/trc +What: /sys/class/mei/meiN/trc Date: Nov 2019 KernelVersion: 5.5 Contact: Tomas Winkler @@ -91,7 +91,7 @@ Description: Display trc status register content status information into trc status register for BIOS and OS to monitor fw health. -What: /sys/class/mei/mei/kind +What: /sys/class/mei/meiN/kind Date: Jul 2020 KernelVersion: 5.8 Contact: Tomas Winkler diff --git a/Documentation/ABI/testing/sysfs-class-mux b/Documentation/ABI/testing/sysfs-class-mux index c58b7b6e1a..8715f9c7bd 100644 --- a/Documentation/ABI/testing/sysfs-class-mux +++ b/Documentation/ABI/testing/sysfs-class-mux @@ -7,7 +7,7 @@ Description: Framework and provides a sysfs interface for using MUX controllers. -What: /sys/class/mux/muxchip/ +What: /sys/class/mux/muxchipN/ Date: April 2017 KernelVersion: 4.13 Contact: Peter Rosin diff --git a/Documentation/ABI/testing/sysfs-class-power b/Documentation/ABI/testing/sysfs-class-power index 8595013667..ca830c6cd8 100644 --- a/Documentation/ABI/testing/sysfs-class-power +++ b/Documentation/ABI/testing/sysfs-class-power @@ -413,7 +413,7 @@ Description: "Over voltage", "Unspecified failure", "Cold", "Watchdog timer expire", "Safety timer expire", "Over current", "Calibration required", "Warm", - "Cool", "Hot", "No battery" + "Cool", "Hot" What: /sys/class/power_supply//precharge_current Date: June 2017 @@ -455,21 +455,6 @@ Description: "Unknown", "Charging", "Discharging", "Not charging", "Full" -What: /sys/class/power_supply//charge_behaviour -Date: November 2021 -Contact: linux-pm@vger.kernel.org -Description: - Represents the charging behaviour. - - Access: Read, Write - - Valid values: - ================ ==================================== - auto: Charge normally, respect thresholds - inhibit-charge: Do not charge while AC is attached - force-discharge: Force discharge while AC is attached - ================ ==================================== - What: /sys/class/power_supply//technology Date: May 2007 Contact: linux-pm@vger.kernel.org @@ -495,19 +480,6 @@ Description: Valid values: Represented in microvolts -What: /sys/class/power_supply//cycle_count -Date: January 2010 -Contact: linux-pm@vger.kernel.org -Description: - Reports the number of full charge + discharge cycles the - battery has undergone. - - Access: Read - - Valid values: - Integer > 0: representing full cycles - Integer = 0: cycle_count info is not available - **USB Properties** What: /sys/class/power_supply//input_current_limit diff --git a/Documentation/ABI/testing/sysfs-class-pwm b/Documentation/ABI/testing/sysfs-class-pwm index 3d65285bcd..c20e613545 100644 --- a/Documentation/ABI/testing/sysfs-class-pwm +++ b/Documentation/ABI/testing/sysfs-class-pwm @@ -7,7 +7,7 @@ Description: Framework and provides a sysfs interface for using PWM channels. -What: /sys/class/pwm/pwmchip/ +What: /sys/class/pwm/pwmchipN/ Date: May 2013 KernelVersion: 3.11 Contact: H Hartley Sweeten @@ -16,14 +16,14 @@ Description: probed PWM controller/chip where N is the base of the PWM chip. -What: /sys/class/pwm/pwmchip/npwm +What: /sys/class/pwm/pwmchipN/npwm Date: May 2013 KernelVersion: 3.11 Contact: H Hartley Sweeten Description: The number of PWM channels supported by the PWM chip. -What: /sys/class/pwm/pwmchip/export +What: /sys/class/pwm/pwmchipN/export Date: May 2013 KernelVersion: 3.11 Contact: H Hartley Sweeten @@ -31,14 +31,14 @@ Description: Exports a PWM channel from the PWM chip for sysfs control. Value is between 0 and /sys/class/pwm/pwmchipN/npwm - 1. -What: /sys/class/pwm/pwmchip/unexport +What: /sys/class/pwm/pwmchipN/unexport Date: May 2013 KernelVersion: 3.11 Contact: H Hartley Sweeten Description: Unexports a PWM channel. -What: /sys/class/pwm/pwmchip/pwmX +What: /sys/class/pwm/pwmchipN/pwmX Date: May 2013 KernelVersion: 3.11 Contact: H Hartley Sweeten @@ -47,21 +47,21 @@ Description: each exported PWM channel where X is the exported PWM channel number. -What: /sys/class/pwm/pwmchip/pwmX/period +What: /sys/class/pwm/pwmchipN/pwmX/period Date: May 2013 KernelVersion: 3.11 Contact: H Hartley Sweeten Description: Sets the PWM signal period in nanoseconds. -What: /sys/class/pwm/pwmchip/pwmX/duty_cycle +What: /sys/class/pwm/pwmchipN/pwmX/duty_cycle Date: May 2013 KernelVersion: 3.11 Contact: H Hartley Sweeten Description: Sets the PWM signal duty cycle in nanoseconds. -What: /sys/class/pwm/pwmchip/pwmX/polarity +What: /sys/class/pwm/pwmchipN/pwmX/polarity Date: May 2013 KernelVersion: 3.11 Contact: H Hartley Sweeten @@ -69,7 +69,7 @@ Description: Sets the output polarity of the PWM signal to "normal" or "inversed". -What: /sys/class/pwm/pwmchip/pwmX/enable +What: /sys/class/pwm/pwmchipN/pwmX/enable Date: May 2013 KernelVersion: 3.11 Contact: H Hartley Sweeten @@ -78,7 +78,7 @@ Description: 0 is disabled 1 is enabled -What: /sys/class/pwm/pwmchip/pwmX/capture +What: /sys/class/pwm/pwmchipN/pwmX/capture Date: June 2016 KernelVersion: 4.8 Contact: Lee Jones diff --git a/Documentation/ABI/testing/sysfs-class-rapidio b/Documentation/ABI/testing/sysfs-class-rapidio index 81e0914552..19aefb21b6 100644 --- a/Documentation/ABI/testing/sysfs-class-rapidio +++ b/Documentation/ABI/testing/sysfs-class-rapidio @@ -10,7 +10,7 @@ Description: NOTE: An mport ID is not a RapidIO destination ID assigned to a given local mport device. -What: /sys/class/rapidio_port/rapidio/sys_size +What: /sys/class/rapidio_port/rapidioN/sys_size Date: Apr, 2014 KernelVersion: v3.15 Contact: Matt Porter , @@ -22,7 +22,7 @@ Description: 1 = large (16-bit destination ID, max. 65536 devices). -What: /sys/class/rapidio_port/rapidio/port_destid +What: /sys/class/rapidio_port/rapidioN/port_destid Date: Apr, 2014 KernelVersion: v3.15 Contact: Matt Porter , diff --git a/Documentation/ABI/testing/sysfs-class-rc b/Documentation/ABI/testing/sysfs-class-rc index 84e46d70d8..9c8ff79108 100644 --- a/Documentation/ABI/testing/sysfs-class-rc +++ b/Documentation/ABI/testing/sysfs-class-rc @@ -7,7 +7,7 @@ Description: core and provides a sysfs interface for configuring infrared remote controller receivers. -What: /sys/class/rc/rc/ +What: /sys/class/rc/rcN/ Date: Apr 2010 KernelVersion: 2.6.35 Contact: Mauro Carvalho Chehab @@ -15,7 +15,7 @@ Description: A /sys/class/rc/rcN directory is created for each remote control receiver device where N is the number of the receiver. -What: /sys/class/rc/rc/protocols +What: /sys/class/rc/rcN/protocols Date: Jun 2010 KernelVersion: 2.6.36 Contact: Mauro Carvalho Chehab @@ -40,7 +40,7 @@ Description: Write fails with EINVAL if an invalid protocol combination or unknown protocol name is used. -What: /sys/class/rc/rc/filter +What: /sys/class/rc/rcN/filter Date: Jan 2014 KernelVersion: 3.15 Contact: Mauro Carvalho Chehab @@ -55,7 +55,7 @@ Description: This value may be reset to 0 if the current protocol is altered. -What: /sys/class/rc/rc/filter_mask +What: /sys/class/rc/rcN/filter_mask Date: Jan 2014 KernelVersion: 3.15 Contact: Mauro Carvalho Chehab @@ -72,7 +72,7 @@ Description: This value may be reset to 0 if the current protocol is altered. -What: /sys/class/rc/rc/wakeup_protocols +What: /sys/class/rc/rcN/wakeup_protocols Date: Feb 2017 KernelVersion: 4.11 Contact: Mauro Carvalho Chehab @@ -98,7 +98,7 @@ Description: unknown protocol name is used, or if wakeup is not supported by the hardware. -What: /sys/class/rc/rc/wakeup_filter +What: /sys/class/rc/rcN/wakeup_filter Date: Jan 2014 KernelVersion: 3.15 Contact: Mauro Carvalho Chehab @@ -117,7 +117,7 @@ Description: This value may be reset to 0 if the wakeup protocol is altered. -What: /sys/class/rc/rc/wakeup_filter_mask +What: /sys/class/rc/rcN/wakeup_filter_mask Date: Jan 2014 KernelVersion: 3.15 Contact: Mauro Carvalho Chehab diff --git a/Documentation/ABI/testing/sysfs-class-rc-nuvoton b/Documentation/ABI/testing/sysfs-class-rc-nuvoton index f7bad8ecd0..d3abe45f86 100644 --- a/Documentation/ABI/testing/sysfs-class-rc-nuvoton +++ b/Documentation/ABI/testing/sysfs-class-rc-nuvoton @@ -1,4 +1,4 @@ -What: /sys/class/rc/rc/wakeup_data +What: /sys/class/rc/rcN/wakeup_data Date: Mar 2016 KernelVersion: 4.6 Contact: Mauro Carvalho Chehab diff --git a/Documentation/ABI/testing/sysfs-class-typec b/Documentation/ABI/testing/sysfs-class-typec index 75088ecad2..40122d915a 100644 --- a/Documentation/ABI/testing/sysfs-class-typec +++ b/Documentation/ABI/testing/sysfs-class-typec @@ -200,7 +200,7 @@ Description: USB Power Delivery Specification defines a set of product types amc Alternate Mode Controller ====================== ========================== -What: /sys/class/typec/-partner/identity/ +What: /sys/class/typec/-partner>/identity/ Date: April 2017 Contact: Heikki Krogerus Description: diff --git a/Documentation/ABI/testing/sysfs-class-uwb_rc b/Documentation/ABI/testing/sysfs-class-uwb_rc index a7ea169dc4..6c5dcad21e 100644 --- a/Documentation/ABI/testing/sysfs-class-uwb_rc +++ b/Documentation/ABI/testing/sysfs-class-uwb_rc @@ -18,14 +18,14 @@ Description: and it will be removed. The default is 3 superframes (~197 ms) as required by the specification. -What: /sys/class/uwb_rc/uwb/ +What: /sys/class/uwb_rc/uwbN/ Date: July 2008 KernelVersion: 2.6.27 Contact: linux-usb@vger.kernel.org Description: An individual UWB radio controller. -What: /sys/class/uwb_rc/uwb/beacon +What: /sys/class/uwb_rc/uwbN/beacon Date: July 2008 KernelVersion: 2.6.27 Contact: linux-usb@vger.kernel.org @@ -43,7 +43,7 @@ Description: Reading returns the currently active channel, or -1 if the radio controller is not beaconing. -What: /sys/class/uwb_rc/uwb/ASIE +What: /sys/class/uwb_rc/uwbN/ASIE Date: August 2014 KernelVersion: 3.18 Contact: linux-usb@vger.kernel.org @@ -56,7 +56,7 @@ Description: Reading returns the current ASIE. Writing replaces the current ASIE with the one written. -What: /sys/class/uwb_rc/uwb/scan +What: /sys/class/uwb_rc/uwbN/scan Date: July 2008 KernelVersion: 2.6.27 Contact: linux-usb@vger.kernel.org @@ -75,7 +75,7 @@ Description: 4 scan (with start time of ) == ======================================= -What: /sys/class/uwb_rc/uwb/mac_address +What: /sys/class/uwb_rc/uwbN/mac_address Date: July 2008 KernelVersion: 2.6.27 Contact: linux-usb@vger.kernel.org @@ -85,7 +85,7 @@ Description: controller's EUI-48 but only do so while the device is not beaconing or scanning. -What: /sys/class/uwb_rc/uwb/wusbhc +What: /sys/class/uwb_rc/uwbN/wusbhc Date: July 2008 KernelVersion: 2.6.27 Contact: linux-usb@vger.kernel.org @@ -93,7 +93,7 @@ Description: A symlink to the device (if any) of the WUSB Host Controller PAL using this radio controller. -What: /sys/class/uwb_rc/uwb// +What: /sys/class/uwb_rc/uwbN// Date: July 2008 KernelVersion: 2.6.27 Contact: linux-usb@vger.kernel.org @@ -102,7 +102,7 @@ Description: as part of a scan or is a member of the radio controllers beacon group. -What: /sys/class/uwb_rc/uwb//BPST +What: /sys/class/uwb_rc/uwbN//BPST Date: July 2008 KernelVersion: 2.6.27 Contact: linux-usb@vger.kernel.org @@ -111,7 +111,7 @@ Description: interval superframe timer) of the last beacon from this device was received. -What: /sys/class/uwb_rc/uwb//DevAddr +What: /sys/class/uwb_rc/uwbN//DevAddr Date: July 2008 KernelVersion: 2.6.27 Contact: linux-usb@vger.kernel.org @@ -119,7 +119,7 @@ Description: The current DevAddr of this device in colon separated hex octets. -What: /sys/class/uwb_rc/uwb//EUI_48 +What: /sys/class/uwb_rc/uwbN//EUI_48 Date: July 2008 KernelVersion: 2.6.27 Contact: linux-usb@vger.kernel.org @@ -128,7 +128,7 @@ Description: The EUI-48 of this device in colon separated hex octets. -What: /sys/class/uwb_rc/uwb//IEs +What: /sys/class/uwb_rc/uwbN//IEs Date: July 2008 KernelVersion: 2.6.27 Contact: linux-usb@vger.kernel.org @@ -136,7 +136,7 @@ Description: The latest IEs included in this device's beacon, in space separated hex octets with one IE per line. -What: /sys/class/uwb_rc/uwb//LQE +What: /sys/class/uwb_rc/uwbN//LQE Date: July 2008 KernelVersion: 2.6.27 Contact: linux-usb@vger.kernel.org @@ -146,7 +146,7 @@ Description: This gives an estimate on a suitable PHY rate. Refer to [ECMA-368] section 13.3 for more details. -What: /sys/class/uwb_rc/uwb//RSSI +What: /sys/class/uwb_rc/uwbN//RSSI Date: July 2008 KernelVersion: 2.6.27 Contact: linux-usb@vger.kernel.org diff --git a/Documentation/ABI/testing/sysfs-class-uwb_rc-wusbhc b/Documentation/ABI/testing/sysfs-class-uwb_rc-wusbhc index 55eb55cac9..5977e28753 100644 --- a/Documentation/ABI/testing/sysfs-class-uwb_rc-wusbhc +++ b/Documentation/ABI/testing/sysfs-class-uwb_rc-wusbhc @@ -1,4 +1,4 @@ -What: /sys/class/uwb_rc/uwb/wusbhc/wusb_chid +What: /sys/class/uwb_rc/uwbN/wusbhc/wusb_chid Date: July 2008 KernelVersion: 2.6.27 Contact: David Vrabel @@ -9,7 +9,7 @@ Description: Set an all zero CHID to stop the host controller. -What: /sys/class/uwb_rc/uwb/wusbhc/wusb_trust_timeout +What: /sys/class/uwb_rc/uwbN/wusbhc/wusb_trust_timeout Date: July 2008 KernelVersion: 2.6.27 Contact: David Vrabel @@ -24,7 +24,7 @@ Description: lifetime of PTKs and GTKs) it should not be changed from the default. -What: /sys/class/uwb_rc/uwb/wusbhc/wusb_phy_rate +What: /sys/class/uwb_rc/uwbN/wusbhc/wusb_phy_rate Date: August 2009 KernelVersion: 2.6.32 Contact: David Vrabel @@ -37,7 +37,7 @@ Description: Refer to [ECMA-368] section 10.3.1.1 for the value to use. -What: /sys/class/uwb_rc/uwb/wusbhc/wusb_dnts +What: /sys/class/uwb_rc/uwbN/wusbhc/wusb_dnts Date: June 2013 KernelVersion: 3.11 Contact: Thomas Pugliese @@ -47,7 +47,7 @@ Description: often the devices will have the opportunity to send notifications to the host. -What: /sys/class/uwb_rc/uwb/wusbhc/wusb_retry_count +What: /sys/class/uwb_rc/uwbN/wusbhc/wusb_retry_count Date: June 2013 KernelVersion: 3.11 Contact: Thomas Pugliese diff --git a/Documentation/ABI/testing/sysfs-devices-platform-dock b/Documentation/ABI/testing/sysfs-devices-platform-dock index 411c174de8..1d8c18f905 100644 --- a/Documentation/ABI/testing/sysfs-devices-platform-dock +++ b/Documentation/ABI/testing/sysfs-devices-platform-dock @@ -1,4 +1,4 @@ -What: /sys/devices/platform/dock./docked +What: /sys/devices/platform/dock.N/docked Date: Dec, 2006 KernelVersion: 2.6.19 Contact: linux-acpi@vger.kernel.org @@ -6,7 +6,7 @@ Description: (RO) Value 1 or 0 indicates whether the software believes the laptop is docked in a docking station. -What: /sys/devices/platform/dock./undock +What: /sys/devices/platform/dock.N/undock Date: Dec, 2006 KernelVersion: 2.6.19 Contact: linux-acpi@vger.kernel.org @@ -14,14 +14,14 @@ Description: (WO) Writing to this file causes the software to initiate an undock request to the firmware. -What: /sys/devices/platform/dock./uid +What: /sys/devices/platform/dock.N/uid Date: Feb, 2007 KernelVersion: v2.6.21 Contact: linux-acpi@vger.kernel.org Description: (RO) Displays the docking station the laptop is docked to. -What: /sys/devices/platform/dock./flags +What: /sys/devices/platform/dock.N/flags Date: May, 2007 KernelVersion: v2.6.21 Contact: linux-acpi@vger.kernel.org @@ -30,7 +30,7 @@ Description: request has been made by the user (from the immediate_undock option). -What: /sys/devices/platform/dock./type +What: /sys/devices/platform/dock.N/type Date: Aug, 2008 KernelVersion: v2.6.27 Contact: linux-acpi@vger.kernel.org diff --git a/Documentation/ABI/testing/sysfs-devices-power b/Documentation/ABI/testing/sysfs-devices-power index 1b2a2d41ff..1763e64dd1 100644 --- a/Documentation/ABI/testing/sysfs-devices-power +++ b/Documentation/ABI/testing/sysfs-devices-power @@ -269,39 +269,3 @@ Description: the current runtime PM status of the device, which may be "suspended", "suspending", "resuming", "active", "error" (fatal error), or "unsupported" (runtime PM is disabled). - -What: /sys/devices/.../power/runtime_active_time -Date: Jul 2010 -Contact: Arjan van de Ven -Description: - Reports the total time that the device has been active. - Used for runtime PM statistics. - -What: /sys/devices/.../power/runtime_suspended_time -Date: Jul 2010 -Contact: Arjan van de Ven -Description: - Reports total time that the device has been suspended. - Used for runtime PM statistics. - -What: /sys/devices/.../power/runtime_usage -Date: Apr 2010 -Contact: Dominik Brodowski -Description: - Reports the runtime PM usage count of a device. - -What: /sys/devices/.../power/runtime_enabled -Date: Apr 2010 -Contact: Dominik Brodowski -Description: - Is runtime PM enabled for this device? - States are "enabled", "disabled", "forbidden" or a - combination of the latter two. - -What: /sys/devices/.../power/runtime_active_kids -Date: Apr 2010 -Contact: Dominik Brodowski -Description: - Reports the runtime PM children usage count of a device, or - 0 if the the children will be ignored. - diff --git a/Documentation/ABI/testing/sysfs-devices-removable b/Documentation/ABI/testing/sysfs-devices-removable index 754ecb4587..bda6c320c8 100644 --- a/Documentation/ABI/testing/sysfs-devices-removable +++ b/Documentation/ABI/testing/sysfs-devices-removable @@ -7,12 +7,10 @@ Description: bus / platform-specific way. This attribute is only present for devices that can support determining such information: - =========== =================================================== - "removable" device can be removed from the platform by the user - "fixed" device is fixed to the platform / cannot be removed + "removable": device can be removed from the platform by the user + "fixed": device is fixed to the platform / cannot be removed by the user. - "unknown" The information is unavailable / cannot be deduced. - =========== =================================================== + "unknown": The information is unavailable / cannot be deduced. Currently this is only supported by USB (which infers the information from a combination of hub descriptor bits and diff --git a/Documentation/ABI/testing/sysfs-devices-system-cpu b/Documentation/ABI/testing/sysfs-devices-system-cpu index 61f5676a74..b46ef14761 100644 --- a/Documentation/ABI/testing/sysfs-devices-system-cpu +++ b/Documentation/ABI/testing/sysfs-devices-system-cpu @@ -7,7 +7,7 @@ Description: Individual CPU attributes are contained in subdirectories named by the kernel's logical CPU number, e.g.: - /sys/devices/system/cpu/cpuX/ + /sys/devices/system/cpu/cpu#/ What: /sys/devices/system/cpu/kernel_max /sys/devices/system/cpu/offline @@ -53,7 +53,7 @@ Description: Dynamic addition and removal of CPU's. This is not hotplug the system. Information written to the file to remove CPU's is architecture specific. -What: /sys/devices/system/cpu/cpuX/node +What: /sys/devices/system/cpu/cpu#/node Date: October 2009 Contact: Linux memory management mailing list Description: Discover NUMA node a CPU belongs to @@ -67,41 +67,41 @@ Description: Discover NUMA node a CPU belongs to /sys/devices/system/cpu/cpu42/node2 -> ../../node/node2 -What: /sys/devices/system/cpu/cpuX/topology/core_id - /sys/devices/system/cpu/cpuX/topology/core_siblings - /sys/devices/system/cpu/cpuX/topology/core_siblings_list - /sys/devices/system/cpu/cpuX/topology/physical_package_id - /sys/devices/system/cpu/cpuX/topology/thread_siblings - /sys/devices/system/cpu/cpuX/topology/thread_siblings_list +What: /sys/devices/system/cpu/cpu#/topology/core_id + /sys/devices/system/cpu/cpu#/topology/core_siblings + /sys/devices/system/cpu/cpu#/topology/core_siblings_list + /sys/devices/system/cpu/cpu#/topology/physical_package_id + /sys/devices/system/cpu/cpu#/topology/thread_siblings + /sys/devices/system/cpu/cpu#/topology/thread_siblings_list Date: December 2008 Contact: Linux kernel mailing list Description: CPU topology files that describe a logical CPU's relationship to other cores and threads in the same physical package. - One cpuX directory is created per logical CPU in the system, + One cpu# directory is created per logical CPU in the system, e.g. /sys/devices/system/cpu/cpu42/. Briefly, the files above are: - core_id: the CPU core ID of cpuX. Typically it is the + core_id: the CPU core ID of cpu#. Typically it is the hardware platform's identifier (rather than the kernel's). The actual value is architecture and platform dependent. - core_siblings: internal kernel map of cpuX's hardware threads + core_siblings: internal kernel map of cpu#'s hardware threads within the same physical_package_id. core_siblings_list: human-readable list of the logical CPU - numbers within the same physical_package_id as cpuX. + numbers within the same physical_package_id as cpu#. - physical_package_id: physical package id of cpuX. Typically + physical_package_id: physical package id of cpu#. Typically corresponds to a physical socket number, but the actual value is architecture and platform dependent. - thread_siblings: internal kernel map of cpuX's hardware - threads within the same core as cpuX + thread_siblings: internal kernel map of cpu#'s hardware + threads within the same core as cpu# - thread_siblings_list: human-readable list of cpuX's hardware - threads within the same core as cpuX + thread_siblings_list: human-readable list of cpu#'s hardware + threads within the same core as cpu# See Documentation/admin-guide/cputopology.rst for more information. @@ -135,7 +135,7 @@ Description: Discover cpuidle policy and mechanism Documentation/driver-api/pm/cpuidle.rst for more information. -What: /sys/devices/system/cpu/cpuX/cpuidle/state/name +What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/name /sys/devices/system/cpu/cpuX/cpuidle/stateN/latency /sys/devices/system/cpu/cpuX/cpuidle/stateN/power /sys/devices/system/cpu/cpuX/cpuidle/stateN/time @@ -174,7 +174,7 @@ Description: (a count). ======== ==== ================================================= -What: /sys/devices/system/cpu/cpuX/cpuidle/state/desc +What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/desc Date: February 2008 KernelVersion: v2.6.25 Contact: Linux power management list @@ -182,7 +182,7 @@ Description: (RO) A small description about the idle state (string). -What: /sys/devices/system/cpu/cpuX/cpuidle/state/disable +What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/disable Date: March 2012 KernelVersion: v3.10 Contact: Linux power management list @@ -195,14 +195,14 @@ Description: does not reflect it. Likewise, if one enables a deep state but a lighter state still is disabled, then this has no effect. -What: /sys/devices/system/cpu/cpuX/cpuidle/state/default_status +What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/default_status Date: December 2019 KernelVersion: v5.6 Contact: Linux power management list Description: (RO) The default status of this state, "enabled" or "disabled". -What: /sys/devices/system/cpu/cpuX/cpuidle/state/residency +What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/residency Date: March 2014 KernelVersion: v3.15 Contact: Linux power management list @@ -211,7 +211,7 @@ Description: time (in microseconds) this cpu should spend in this idle state to make the transition worth the effort. -What: /sys/devices/system/cpu/cpuX/cpuidle/state/s2idle/ +What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/s2idle/ Date: March 2018 KernelVersion: v4.17 Contact: Linux power management list @@ -221,7 +221,7 @@ Description: This attribute group is only present for states that can be used in suspend-to-idle with suspended timekeeping. -What: /sys/devices/system/cpu/cpuX/cpuidle/state/s2idle/time +What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/s2idle/time Date: March 2018 KernelVersion: v4.17 Contact: Linux power management list @@ -229,7 +229,7 @@ Description: Total time spent by the CPU in suspend-to-idle (with scheduler tick suspended) after requesting this state. -What: /sys/devices/system/cpu/cpuX/cpuidle/state/s2idle/usage +What: /sys/devices/system/cpu/cpuX/cpuidle/stateN/s2idle/usage Date: March 2018 KernelVersion: v4.17 Contact: Linux power management list @@ -237,7 +237,7 @@ Description: Total number of times this state has been requested by the CPU while entering suspend-to-idle. -What: /sys/devices/system/cpu/cpuX/cpufreq/* +What: /sys/devices/system/cpu/cpu#/cpufreq/* Date: pre-git history Contact: linux-pm@vger.kernel.org Description: Discover and change clock speed of CPUs @@ -252,7 +252,7 @@ Description: Discover and change clock speed of CPUs See files in Documentation/cpu-freq/ for more information. -What: /sys/devices/system/cpu/cpuX/cpufreq/freqdomain_cpus +What: /sys/devices/system/cpu/cpu#/cpufreq/freqdomain_cpus Date: June 2013 Contact: linux-pm@vger.kernel.org Description: Discover CPUs in the same CPU frequency coordination domain @@ -301,16 +301,16 @@ Description: Processor frequency boosting control Documentation/admin-guide/pm/cpufreq.rst -What: /sys/devices/system/cpu/cpuX/crash_notes - /sys/devices/system/cpu/cpuX/crash_notes_size +What: /sys/devices/system/cpu/cpu#/crash_notes + /sys/devices/system/cpu/cpu#/crash_notes_size Date: April 2013 Contact: kexec@lists.infradead.org Description: address and size of the percpu note. crash_notes: the physical address of the memory that holds the - note of cpuX. + note of cpu#. - crash_notes_size: size of the note of cpuX. + crash_notes_size: size of the note of cpu#. What: /sys/devices/system/cpu/intel_pstate/max_perf_pct @@ -503,12 +503,12 @@ Description: Identifies the subset of CPUs in the system that can execute If absent, then all or none of the CPUs can execute AArch32 applications and execve() will behave accordingly. -What: /sys/devices/system/cpu/cpuX/cpu_capacity +What: /sys/devices/system/cpu/cpu#/cpu_capacity Date: December 2016 Contact: Linux kernel mailing list Description: information about CPUs heterogeneity. - cpu_capacity: capacity of cpuX. + cpu_capacity: capacity of cpu#. What: /sys/devices/system/cpu/vulnerabilities /sys/devices/system/cpu/vulnerabilities/meltdown @@ -560,7 +560,7 @@ Description: Control Symmetric Multi Threading (SMT) If control status is "forceoff" or "notsupported" writes are rejected. -What: /sys/devices/system/cpu/cpuX/power/energy_perf_bias +What: /sys/devices/system/cpu/cpu#/power/energy_perf_bias Date: March 2019 Contact: linux-pm@vger.kernel.org Description: Intel Energy and Performance Bias Hint (EPB) @@ -666,18 +666,3 @@ Description: Preferred MTE tag checking mode ================ ============================================== See also: Documentation/arm64/memory-tagging-extension.rst - -What: /sys/devices/system/cpu/nohz_full -Date: Apr 2015 -Contact: Linux kernel mailing list -Description: - (RO) the list of CPUs that are in nohz_full mode. - These CPUs are set by boot parameter "nohz_full=". - -What: /sys/devices/system/cpu/isolated -Date: Apr 2015 -Contact: Linux kernel mailing list -Description: - (RO) the list of CPUs that are isolated and don't - participate in load balancing. These CPUs are set by - boot parameter "isolcpus=". diff --git a/Documentation/ABI/testing/sysfs-driver-ufs b/Documentation/ABI/testing/sysfs-driver-ufs index a44ef8bfba..ec3a7149ce 100644 --- a/Documentation/ABI/testing/sysfs-driver-ufs +++ b/Documentation/ABI/testing/sysfs-driver-ufs @@ -13,7 +13,6 @@ Description: Interface specification for more details. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_type -What: /sys/bus/platform/devices/*.ufs/device_descriptor/device_type Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the device type. This is one of the UFS @@ -23,7 +22,6 @@ Description: This file shows the device type. This is one of the UFS The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_class -What: /sys/bus/platform/devices/*.ufs/device_descriptor/device_class Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the device class. This is one of the UFS @@ -33,7 +31,6 @@ Description: This file shows the device class. This is one of the UFS The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_sub_class -What: /sys/bus/platform/devices/*.ufs/device_descriptor/device_sub_class Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the UFS storage subclass. This is one of @@ -43,7 +40,6 @@ Description: This file shows the UFS storage subclass. This is one of The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/protocol -What: /sys/bus/platform/devices/*.ufs/device_descriptor/protocol Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the protocol supported by an UFS device. @@ -54,7 +50,6 @@ Description: This file shows the protocol supported by an UFS device. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_luns -What: /sys/bus/platform/devices/*.ufs/device_descriptor/number_of_luns Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows number of logical units. This is one of @@ -64,7 +59,6 @@ Description: This file shows number of logical units. This is one of The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_wluns -What: /sys/bus/platform/devices/*.ufs/device_descriptor/number_of_wluns Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows number of well known logical units. @@ -75,7 +69,6 @@ Description: This file shows number of well known logical units. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/boot_enable -What: /sys/bus/platform/devices/*.ufs/device_descriptor/boot_enable Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows value that indicates whether the device is @@ -86,7 +79,6 @@ Description: This file shows value that indicates whether the device is The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/descriptor_access_enable -What: /sys/bus/platform/devices/*.ufs/device_descriptor/descriptor_access_enable Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows value that indicates whether the device @@ -98,7 +90,6 @@ Description: This file shows value that indicates whether the device The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_power_mode -What: /sys/bus/platform/devices/*.ufs/device_descriptor/initial_power_mode Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows value that defines the power mode after @@ -109,7 +100,6 @@ Description: This file shows value that defines the power mode after The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/high_priority_lun -What: /sys/bus/platform/devices/*.ufs/device_descriptor/high_priority_lun Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the high priority lun. This is one of @@ -119,7 +109,6 @@ Description: This file shows the high priority lun. This is one of The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/secure_removal_type -What: /sys/bus/platform/devices/*.ufs/device_descriptor/secure_removal_type Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the secure removal type. This is one of @@ -129,7 +118,6 @@ Description: This file shows the secure removal type. This is one of The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/support_security_lun -What: /sys/bus/platform/devices/*.ufs/device_descriptor/support_security_lun Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows whether the security lun is supported. @@ -140,7 +128,6 @@ Description: This file shows whether the security lun is supported. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/bkops_termination_latency -What: /sys/bus/platform/devices/*.ufs/device_descriptor/bkops_termination_latency Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the background operations termination @@ -151,7 +138,6 @@ Description: This file shows the background operations termination The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/initial_active_icc_level -What: /sys/bus/platform/devices/*.ufs/device_descriptor/initial_active_icc_level Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the initial active ICC level. This is one @@ -161,7 +147,6 @@ Description: This file shows the initial active ICC level. This is one The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/specification_version -What: /sys/bus/platform/devices/*.ufs/device_descriptor/specification_version Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the specification version. This is one @@ -171,7 +156,6 @@ Description: This file shows the specification version. This is one The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturing_date -What: /sys/bus/platform/devices/*.ufs/device_descriptor/manufacturing_date Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the manufacturing date in BCD format. @@ -182,7 +166,6 @@ Description: This file shows the manufacturing date in BCD format. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/manufacturer_id -What: /sys/bus/platform/devices/*.ufs/device_descriptor/manufacturer_id Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the manufacturer ID. This is one of the @@ -192,7 +175,6 @@ Description: This file shows the manufacturer ID. This is one of the The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtt_capability -What: /sys/bus/platform/devices/*.ufs/device_descriptor/rtt_capability Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the maximum number of outstanding RTTs @@ -203,7 +185,6 @@ Description: This file shows the maximum number of outstanding RTTs The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/rtc_update -What: /sys/bus/platform/devices/*.ufs/device_descriptor/rtc_update Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the frequency and method of the realtime @@ -214,7 +195,6 @@ Description: This file shows the frequency and method of the realtime The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/ufs_features -What: /sys/bus/platform/devices/*.ufs/device_descriptor/ufs_features Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows which features are supported by the device. @@ -225,7 +205,6 @@ Description: This file shows which features are supported by the device. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/ffu_timeout -What: /sys/bus/platform/devices/*.ufs/device_descriptor/ffu_timeout Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the FFU timeout. This is one of the @@ -235,7 +214,6 @@ Description: This file shows the FFU timeout. This is one of the The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/queue_depth -What: /sys/bus/platform/devices/*.ufs/device_descriptor/queue_depth Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the device queue depth. This is one of the @@ -245,7 +223,6 @@ Description: This file shows the device queue depth. This is one of the The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/device_version -What: /sys/bus/platform/devices/*.ufs/device_descriptor/device_version Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the device version. This is one of the @@ -255,7 +232,6 @@ Description: This file shows the device version. This is one of the The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/number_of_secure_wpa -What: /sys/bus/platform/devices/*.ufs/device_descriptor/number_of_secure_wpa Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows number of secure write protect areas @@ -266,7 +242,6 @@ Description: This file shows number of secure write protect areas The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_max_data_size -What: /sys/bus/platform/devices/*.ufs/device_descriptor/psa_max_data_size Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the maximum amount of data that may be @@ -278,7 +253,6 @@ Description: This file shows the maximum amount of data that may be The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/psa_state_timeout -What: /sys/bus/platform/devices/*.ufs/device_descriptor/psa_state_timeout Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the command maximum timeout for a change @@ -290,7 +264,6 @@ Description: This file shows the command maximum timeout for a change What: /sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/unipro_version -What: /sys/bus/platform/devices/*.ufs/interconnect_descriptor/unipro_version Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the MIPI UniPro version number in BCD format. @@ -301,7 +274,6 @@ Description: This file shows the MIPI UniPro version number in BCD format. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/interconnect_descriptor/mphy_version -What: /sys/bus/platform/devices/*.ufs/interconnect_descriptor/mphy_version Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the MIPI M-PHY version number in BCD format. @@ -313,7 +285,6 @@ Description: This file shows the MIPI M-PHY version number in BCD format. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/raw_device_capacity -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/raw_device_capacity Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the total memory quantity available to @@ -325,7 +296,6 @@ Description: This file shows the total memory quantity available to The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_luns -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/max_number_of_luns Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the maximum number of logical units @@ -336,7 +306,6 @@ Description: This file shows the maximum number of logical units The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/segment_size -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/segment_size Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the segment size. This is one of the UFS @@ -346,7 +315,6 @@ Description: This file shows the segment size. This is one of the UFS The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/allocation_unit_size -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/allocation_unit_size Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the allocation unit size. This is one of @@ -356,7 +324,6 @@ Description: This file shows the allocation unit size. This is one of The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/min_addressable_block_size -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/min_addressable_block_size Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the minimum addressable block size. This @@ -367,7 +334,6 @@ Description: This file shows the minimum addressable block size. This The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_read_block_size -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/optimal_read_block_size Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the optimal read block size. This is one @@ -378,7 +344,6 @@ Description: This file shows the optimal read block size. This is one The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/optimal_write_block_size -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/optimal_write_block_size Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the optimal write block size. This is one @@ -389,7 +354,6 @@ Description: This file shows the optimal write block size. This is one The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_in_buffer_size -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/max_in_buffer_size Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the maximum data-in buffer size. This @@ -400,7 +364,6 @@ Description: This file shows the maximum data-in buffer size. This The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_out_buffer_size -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/max_out_buffer_size Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the maximum data-out buffer size. This @@ -411,7 +374,6 @@ Description: This file shows the maximum data-out buffer size. This The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/rpmb_rw_size -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/rpmb_rw_size Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the maximum number of RPMB frames allowed @@ -422,7 +384,6 @@ Description: This file shows the maximum number of RPMB frames allowed The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/dyn_capacity_resource_policy -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/dyn_capacity_resource_policy Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the dynamic capacity resource policy. This @@ -433,7 +394,6 @@ Description: This file shows the dynamic capacity resource policy. This The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/data_ordering -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/data_ordering Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows support for out-of-order data transfer. @@ -444,7 +404,6 @@ Description: This file shows support for out-of-order data transfer. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/max_number_of_contexts -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/max_number_of_contexts Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows maximum available number of contexts which @@ -455,7 +414,6 @@ Description: This file shows maximum available number of contexts which The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_unit_size -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/sys_data_tag_unit_size Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows system data tag unit size. This is one of @@ -465,7 +423,6 @@ Description: This file shows system data tag unit size. This is one of The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/sys_data_tag_resource_size -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/sys_data_tag_resource_size Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows maximum storage area size allocated by @@ -477,7 +434,6 @@ Description: This file shows maximum storage area size allocated by The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/secure_removal_types -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/secure_removal_types Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows supported secure removal types. This is @@ -488,7 +444,6 @@ Description: This file shows supported secure removal types. This is The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/memory_types -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/memory_types Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows supported memory types. This is one of @@ -499,7 +454,6 @@ Description: This file shows supported memory types. This is one of The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_max_alloc_units -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/*_memory_max_alloc_units Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the maximum number of allocation units for @@ -511,7 +465,6 @@ Description: This file shows the maximum number of allocation units for The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/*_memory_capacity_adjustment_factor -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/*_memory_capacity_adjustment_factor Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the memory capacity adjustment factor for @@ -524,7 +477,6 @@ Description: This file shows the memory capacity adjustment factor for What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/eol_info -What: /sys/bus/platform/devices/*.ufs/health_descriptor/eol_info Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows preend of life information. This is one @@ -535,7 +487,6 @@ Description: This file shows preend of life information. This is one The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_a -What: /sys/bus/platform/devices/*.ufs/health_descriptor/life_time_estimation_a Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows indication of the device life time @@ -546,7 +497,6 @@ Description: This file shows indication of the device life time The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/health_descriptor/life_time_estimation_b -What: /sys/bus/platform/devices/*.ufs/health_descriptor/life_time_estimation_b Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows indication of the device life time @@ -558,7 +508,6 @@ Description: This file shows indication of the device life time What: /sys/bus/platform/drivers/ufshcd/*/power_descriptor/active_icc_levels_vcc* -What: /sys/bus/platform/devices/*.ufs/power_descriptor/active_icc_levels_vcc* Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows maximum VCC, VCCQ and VCCQ2 value for @@ -570,7 +519,6 @@ Description: This file shows maximum VCC, VCCQ and VCCQ2 value for What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/manufacturer_name -What: /sys/bus/platform/devices/*.ufs/string_descriptors/manufacturer_name Date: February 2018 Contact: Stanislav Nijnikov Description: This file contains a device manufacturer name string. @@ -580,7 +528,6 @@ Description: This file contains a device manufacturer name string. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_name -What: /sys/bus/platform/devices/*.ufs/string_descriptors/product_name Date: February 2018 Contact: Stanislav Nijnikov Description: This file contains a product name string. The full information @@ -589,7 +536,6 @@ Description: This file contains a product name string. The full information The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/oem_id -What: /sys/bus/platform/devices/*.ufs/string_descriptors/oem_id Date: February 2018 Contact: Stanislav Nijnikov Description: This file contains a OEM ID string. The full information @@ -598,7 +544,6 @@ Description: This file contains a OEM ID string. The full information The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/serial_number -What: /sys/bus/platform/devices/*.ufs/string_descriptors/serial_number Date: February 2018 Contact: Stanislav Nijnikov Description: This file contains a device serial number string. The full @@ -608,7 +553,6 @@ Description: This file contains a device serial number string. The full The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/string_descriptors/product_revision -What: /sys/bus/platform/devices/*.ufs/string_descriptors/product_revision Date: February 2018 Contact: Stanislav Nijnikov Description: This file contains a product revision string. The full @@ -740,7 +684,6 @@ Description: This file shows the granularity of the LUN. This is one of What: /sys/bus/platform/drivers/ufshcd/*/flags/device_init -What: /sys/bus/platform/devices/*.ufs/flags/device_init Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the device init status. The full information @@ -749,7 +692,6 @@ Description: This file shows the device init status. The full information The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/flags/permanent_wpe -What: /sys/bus/platform/devices/*.ufs/flags/permanent_wpe Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows whether permanent write protection is enabled. @@ -759,7 +701,6 @@ Description: This file shows whether permanent write protection is enabled. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/flags/power_on_wpe -What: /sys/bus/platform/devices/*.ufs/flags/power_on_wpe Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows whether write protection is enabled on all @@ -770,7 +711,6 @@ Description: This file shows whether write protection is enabled on all The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/flags/bkops_enable -What: /sys/bus/platform/devices/*.ufs/flags/bkops_enable Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows whether the device background operations are @@ -780,7 +720,6 @@ Description: This file shows whether the device background operations are The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/flags/life_span_mode_enable -What: /sys/bus/platform/devices/*.ufs/flags/life_span_mode_enable Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows whether the device life span mode is enabled. @@ -790,7 +729,6 @@ Description: This file shows whether the device life span mode is enabled. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/flags/phy_resource_removal -What: /sys/bus/platform/devices/*.ufs/flags/phy_resource_removal Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows whether physical resource removal is enable. @@ -800,7 +738,6 @@ Description: This file shows whether physical resource removal is enable. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/flags/busy_rtc -What: /sys/bus/platform/devices/*.ufs/flags/busy_rtc Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows whether the device is executing internal @@ -810,7 +747,6 @@ Description: This file shows whether the device is executing internal The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/flags/disable_fw_update -What: /sys/bus/platform/devices/*.ufs/flags/disable_fw_update Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows whether the device FW update is permanently @@ -821,7 +757,6 @@ Description: This file shows whether the device FW update is permanently What: /sys/bus/platform/drivers/ufshcd/*/attributes/boot_lun_enabled -What: /sys/bus/platform/devices/*.ufs/attributes/boot_lun_enabled Date: February 2018 Contact: Stanislav Nijnikov Description: This file provides the boot lun enabled UFS device attribute. @@ -831,7 +766,6 @@ Description: This file provides the boot lun enabled UFS device attribute. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/current_power_mode -What: /sys/bus/platform/devices/*.ufs/attributes/current_power_mode Date: February 2018 Contact: Stanislav Nijnikov Description: This file provides the current power mode UFS device attribute. @@ -841,7 +775,6 @@ Description: This file provides the current power mode UFS device attribute. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/active_icc_level -What: /sys/bus/platform/devices/*.ufs/attributes/active_icc_level Date: February 2018 Contact: Stanislav Nijnikov Description: This file provides the active icc level UFS device attribute. @@ -851,7 +784,6 @@ Description: This file provides the active icc level UFS device attribute. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/ooo_data_enabled -What: /sys/bus/platform/devices/*.ufs/attributes/ooo_data_enabled Date: February 2018 Contact: Stanislav Nijnikov Description: This file provides the out of order data transfer enabled UFS @@ -861,7 +793,6 @@ Description: This file provides the out of order data transfer enabled UFS The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/bkops_status -What: /sys/bus/platform/devices/*.ufs/attributes/bkops_status Date: February 2018 Contact: Stanislav Nijnikov Description: This file provides the background operations status UFS device @@ -871,7 +802,6 @@ Description: This file provides the background operations status UFS device The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/purge_status -What: /sys/bus/platform/devices/*.ufs/attributes/purge_status Date: February 2018 Contact: Stanislav Nijnikov Description: This file provides the purge operation status UFS device @@ -881,7 +811,6 @@ Description: This file provides the purge operation status UFS device The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_in_size -What: /sys/bus/platform/devices/*.ufs/attributes/max_data_in_size Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the maximum data size in a DATA IN @@ -891,7 +820,6 @@ Description: This file shows the maximum data size in a DATA IN The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_out_size -What: /sys/bus/platform/devices/*.ufs/attributes/max_data_out_size Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the maximum number of bytes that can be @@ -901,7 +829,6 @@ Description: This file shows the maximum number of bytes that can be The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/reference_clock_frequency -What: /sys/bus/platform/devices/*.ufs/attributes/reference_clock_frequency Date: February 2018 Contact: Stanislav Nijnikov Description: This file provides the reference clock frequency UFS device @@ -911,7 +838,6 @@ Description: This file provides the reference clock frequency UFS device The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/configuration_descriptor_lock -What: /sys/bus/platform/devices/*.ufs/attributes/configuration_descriptor_lock Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows whether the configuration descriptor is locked. @@ -919,7 +845,6 @@ Description: This file shows whether the configuration descriptor is locked. UFS specifications 2.1. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_number_of_rtt -What: /sys/bus/platform/devices/*.ufs/attributes/max_number_of_rtt Date: February 2018 Contact: Stanislav Nijnikov Description: This file provides the maximum current number of @@ -930,7 +855,6 @@ Description: This file provides the maximum current number of The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_control -What: /sys/bus/platform/devices/*.ufs/attributes/exception_event_control Date: February 2018 Contact: Stanislav Nijnikov Description: This file provides the exception event control UFS device @@ -940,7 +864,6 @@ Description: This file provides the exception event control UFS device The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/exception_event_status -What: /sys/bus/platform/devices/*.ufs/attributes/exception_event_status Date: February 2018 Contact: Stanislav Nijnikov Description: This file provides the exception event status UFS device @@ -950,7 +873,6 @@ Description: This file provides the exception event status UFS device The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/ffu_status -What: /sys/bus/platform/devices/*.ufs/attributes/ffu_status Date: February 2018 Contact: Stanislav Nijnikov Description: This file provides the ffu status UFS device attribute. @@ -960,7 +882,6 @@ Description: This file provides the ffu status UFS device attribute. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/psa_state -What: /sys/bus/platform/devices/*.ufs/attributes/psa_state Date: February 2018 Contact: Stanislav Nijnikov Description: This file show the PSA feature status. The full information @@ -969,7 +890,6 @@ Description: This file show the PSA feature status. The full information The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/psa_data_size -What: /sys/bus/platform/devices/*.ufs/attributes/psa_data_size Date: February 2018 Contact: Stanislav Nijnikov Description: This file shows the amount of data that the host plans to @@ -983,7 +903,7 @@ Description: This file shows the amount of data that the host plans to What: /sys/class/scsi_device/*/device/dyn_cap_needed Date: February 2018 Contact: Stanislav Nijnikov -Description: This file shows the amount of physical memory needed +Description: This file shows the The amount of physical memory needed to be removed from the physical memory resources pool of the particular logical unit. The full information about the attribute could be found at UFS specifications 2.1. @@ -992,7 +912,6 @@ Description: This file shows the amount of physical memory needed What: /sys/bus/platform/drivers/ufshcd/*/rpm_lvl -What: /sys/bus/platform/devices/*.ufs/rpm_lvl Date: September 2014 Contact: Subhash Jadavani Description: This entry could be used to set or show the UFS device @@ -1019,7 +938,6 @@ Description: This entry could be used to set or show the UFS device == ==================================================== What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_dev_state -What: /sys/bus/platform/devices/*.ufs/rpm_target_dev_state Date: February 2018 Contact: Subhash Jadavani Description: This entry shows the target power mode of an UFS device @@ -1028,7 +946,6 @@ Description: This entry shows the target power mode of an UFS device The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/rpm_target_link_state -What: /sys/bus/platform/devices/*.ufs/rpm_target_link_state Date: February 2018 Contact: Subhash Jadavani Description: This entry shows the target state of an UFS UIC link @@ -1037,7 +954,6 @@ Description: This entry shows the target state of an UFS UIC link The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/spm_lvl -What: /sys/bus/platform/devices/*.ufs/spm_lvl Date: September 2014 Contact: Subhash Jadavani Description: This entry could be used to set or show the UFS device @@ -1064,7 +980,6 @@ Description: This entry could be used to set or show the UFS device == ==================================================== What: /sys/bus/platform/drivers/ufshcd/*/spm_target_dev_state -What: /sys/bus/platform/devices/*.ufs/spm_target_dev_state Date: February 2018 Contact: Subhash Jadavani Description: This entry shows the target power mode of an UFS device @@ -1073,7 +988,6 @@ Description: This entry shows the target power mode of an UFS device The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/spm_target_link_state -What: /sys/bus/platform/devices/*.ufs/spm_target_link_state Date: February 2018 Contact: Subhash Jadavani Description: This entry shows the target state of an UFS UIC link @@ -1082,7 +996,6 @@ Description: This entry shows the target state of an UFS UIC link The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/monitor/monitor_enable -What: /sys/bus/platform/devices/*.ufs/monitor/monitor_enable Date: January 2021 Contact: Can Guo Description: This file shows the status of performance monitor enablement @@ -1090,7 +1003,6 @@ Description: This file shows the status of performance monitor enablement is stopped, the performance data collected is also cleared. What: /sys/bus/platform/drivers/ufshcd/*/monitor/monitor_chunk_size -What: /sys/bus/platform/devices/*.ufs/monitor/monitor_chunk_size Date: January 2021 Contact: Can Guo Description: This file tells the monitor to focus on requests transferring @@ -1098,7 +1010,6 @@ Description: This file tells the monitor to focus on requests transferring It can only be changed when monitor is disabled. What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_total_sectors -What: /sys/bus/platform/devices/*.ufs/monitor/read_total_sectors Date: January 2021 Contact: Can Guo Description: This file shows how many sectors (in 512 Bytes) have been @@ -1107,7 +1018,6 @@ Description: This file shows how many sectors (in 512 Bytes) have been The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_total_busy -What: /sys/bus/platform/devices/*.ufs/monitor/read_total_busy Date: January 2021 Contact: Can Guo Description: This file shows how long (in micro seconds) has been spent @@ -1116,7 +1026,6 @@ Description: This file shows how long (in micro seconds) has been spent The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_nr_requests -What: /sys/bus/platform/devices/*.ufs/monitor/read_nr_requests Date: January 2021 Contact: Can Guo Description: This file shows how many read requests have been sent after @@ -1125,7 +1034,6 @@ Description: This file shows how many read requests have been sent after The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_max -What: /sys/bus/platform/devices/*.ufs/monitor/read_req_latency_max Date: January 2021 Contact: Can Guo Description: This file shows the maximum latency (in micro seconds) of @@ -1134,7 +1042,6 @@ Description: This file shows the maximum latency (in micro seconds) of The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_min -What: /sys/bus/platform/devices/*.ufs/monitor/read_req_latency_min Date: January 2021 Contact: Can Guo Description: This file shows the minimum latency (in micro seconds) of @@ -1143,7 +1050,6 @@ Description: This file shows the minimum latency (in micro seconds) of The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_avg -What: /sys/bus/platform/devices/*.ufs/monitor/read_req_latency_avg Date: January 2021 Contact: Can Guo Description: This file shows the average latency (in micro seconds) of @@ -1152,7 +1058,6 @@ Description: This file shows the average latency (in micro seconds) of The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/monitor/read_req_latency_sum -What: /sys/bus/platform/devices/*.ufs/monitor/read_req_latency_sum Date: January 2021 Contact: Can Guo Description: This file shows the total latency (in micro seconds) of @@ -1161,7 +1066,6 @@ Description: This file shows the total latency (in micro seconds) of The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_total_sectors -What: /sys/bus/platform/devices/*.ufs/monitor/write_total_sectors Date: January 2021 Contact: Can Guo Description: This file shows how many sectors (in 512 Bytes) have been sent @@ -1170,7 +1074,6 @@ Description: This file shows how many sectors (in 512 Bytes) have been sent The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_total_busy -What: /sys/bus/platform/devices/*.ufs/monitor/write_total_busy Date: January 2021 Contact: Can Guo Description: This file shows how long (in micro seconds) has been spent @@ -1179,7 +1082,6 @@ Description: This file shows how long (in micro seconds) has been spent The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_nr_requests -What: /sys/bus/platform/devices/*.ufs/monitor/write_nr_requests Date: January 2021 Contact: Can Guo Description: This file shows how many write requests have been sent after @@ -1188,7 +1090,6 @@ Description: This file shows how many write requests have been sent after The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_max -What: /sys/bus/platform/devices/*.ufs/monitor/write_req_latency_max Date: January 2021 Contact: Can Guo Description: This file shows the maximum latency (in micro seconds) of write @@ -1197,7 +1098,6 @@ Description: This file shows the maximum latency (in micro seconds) of write The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_min -What: /sys/bus/platform/devices/*.ufs/monitor/write_req_latency_min Date: January 2021 Contact: Can Guo Description: This file shows the minimum latency (in micro seconds) of write @@ -1206,7 +1106,6 @@ Description: This file shows the minimum latency (in micro seconds) of write The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_avg -What: /sys/bus/platform/devices/*.ufs/monitor/write_req_latency_avg Date: January 2021 Contact: Can Guo Description: This file shows the average latency (in micro seconds) of write @@ -1215,7 +1114,6 @@ Description: This file shows the average latency (in micro seconds) of write The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/monitor/write_req_latency_sum -What: /sys/bus/platform/devices/*.ufs/monitor/write_req_latency_sum Date: January 2021 Contact: Can Guo Description: This file shows the total latency (in micro seconds) of write @@ -1224,7 +1122,6 @@ Description: This file shows the total latency (in micro seconds) of write The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_presv_us_en -What: /sys/bus/platform/devices/*.ufs/device_descriptor/wb_presv_us_en Date: June 2020 Contact: Asutosh Das Description: This entry shows if preserve user-space was configured @@ -1232,7 +1129,6 @@ Description: This entry shows if preserve user-space was configured The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_shared_alloc_units -What: /sys/bus/platform/devices/*.ufs/device_descriptor/wb_shared_alloc_units Date: June 2020 Contact: Asutosh Das Description: This entry shows the shared allocated units of WB buffer @@ -1240,7 +1136,6 @@ Description: This entry shows the shared allocated units of WB buffer The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/wb_type -What: /sys/bus/platform/devices/*.ufs/device_descriptor/wb_type Date: June 2020 Contact: Asutosh Das Description: This entry shows the configured WB type. @@ -1249,7 +1144,6 @@ Description: This entry shows the configured WB type. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_buff_cap_adj -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/wb_buff_cap_adj Date: June 2020 Contact: Asutosh Das Description: This entry shows the total user-space decrease in shared @@ -1260,7 +1154,6 @@ Description: This entry shows the total user-space decrease in shared The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_alloc_units -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/wb_max_alloc_units Date: June 2020 Contact: Asutosh Das Description: This entry shows the Maximum total WriteBooster Buffer size @@ -1269,7 +1162,6 @@ Description: This entry shows the Maximum total WriteBooster Buffer size The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_max_wb_luns -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/wb_max_wb_luns Date: June 2020 Contact: Asutosh Das Description: This entry shows the maximum number of luns that can support @@ -1278,7 +1170,6 @@ Description: This entry shows the maximum number of luns that can support The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_red_type -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/wb_sup_red_type Date: June 2020 Contact: Asutosh Das Description: The supportability of user space reduction mode @@ -1293,7 +1184,6 @@ Description: The supportability of user space reduction mode The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/wb_sup_wb_type -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/wb_sup_wb_type Date: June 2020 Contact: Asutosh Das Description: The supportability of WriteBooster Buffer type. @@ -1308,7 +1198,6 @@ Description: The supportability of WriteBooster Buffer type. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_enable -What: /sys/bus/platform/devices/*.ufs/flags/wb_enable Date: June 2020 Contact: Asutosh Das Description: This entry shows the status of WriteBooster. @@ -1321,7 +1210,6 @@ Description: This entry shows the status of WriteBooster. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_en -What: /sys/bus/platform/devices/*.ufs/flags/wb_flush_en Date: June 2020 Contact: Asutosh Das Description: This entry shows if flush is enabled. @@ -1334,7 +1222,6 @@ Description: This entry shows if flush is enabled. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/flags/wb_flush_during_h8 -What: /sys/bus/platform/devices/*.ufs/flags/wb_flush_during_h8 Date: June 2020 Contact: Asutosh Das Description: Flush WriteBooster Buffer during hibernate state. @@ -1349,7 +1236,6 @@ Description: Flush WriteBooster Buffer during hibernate state. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_avail_buf -What: /sys/bus/platform/devices/*.ufs/attributes/wb_avail_buf Date: June 2020 Contact: Asutosh Das Description: This entry shows the amount of unused WriteBooster buffer @@ -1358,7 +1244,6 @@ Description: This entry shows the amount of unused WriteBooster buffer The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_cur_buf -What: /sys/bus/platform/devices/*.ufs/attributes/wb_cur_buf Date: June 2020 Contact: Asutosh Das Description: This entry shows the amount of unused current buffer. @@ -1366,7 +1251,6 @@ Description: This entry shows the amount of unused current buffer. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_flush_status -What: /sys/bus/platform/devices/*.ufs/attributes/wb_flush_status Date: June 2020 Contact: Asutosh Das Description: This entry shows the flush operation status. @@ -1383,7 +1267,6 @@ Description: This entry shows the flush operation status. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/attributes/wb_life_time_est -What: /sys/bus/platform/devices/*.ufs/attributes/wb_life_time_est Date: June 2020 Contact: Asutosh Das Description: This entry shows an indication of the WriteBooster Buffer @@ -1406,7 +1289,6 @@ Description: This entry shows the configured size of WriteBooster buffer. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/wb_on -What: /sys/bus/platform/devices/*.ufs/wb_on Date: January 2021 Contact: Bean Huo Description: This node is used to set or display whether UFS WriteBooster is @@ -1418,7 +1300,6 @@ Description: This node is used to set or display whether UFS WriteBooster is disable/enable WriteBooster through this sysfs node. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/hpb_version -What: /sys/bus/platform/devices/*.ufs/device_descriptor/hpb_version Date: June 2021 Contact: Daejun Park Description: This entry shows the HPB specification version. @@ -1429,7 +1310,6 @@ Description: This entry shows the HPB specification version. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/device_descriptor/hpb_control -What: /sys/bus/platform/devices/*.ufs/device_descriptor/hpb_control Date: June 2021 Contact: Daejun Park Description: This entry shows an indication of the HPB control mode. @@ -1439,7 +1319,6 @@ Description: This entry shows an indication of the HPB control mode. The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_region_size -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/hpb_region_size Date: June 2021 Contact: Daejun Park Description: This entry shows the bHPBRegionSize which can be calculated @@ -1449,7 +1328,6 @@ Description: This entry shows the bHPBRegionSize which can be calculated The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_number_lu -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/hpb_number_lu Date: June 2021 Contact: Daejun Park Description: This entry shows the maximum number of HPB LU supported by @@ -1460,7 +1338,6 @@ Description: This entry shows the maximum number of HPB LU supported by The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_subregion_size -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/hpb_subregion_size Date: June 2021 Contact: Daejun Park Description: This entry shows the bHPBSubRegionSize, which can be @@ -1472,7 +1349,6 @@ Description: This entry shows the bHPBSubRegionSize, which can be The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/geometry_descriptor/hpb_max_active_regions -What: /sys/bus/platform/devices/*.ufs/geometry_descriptor/hpb_max_active_regions Date: June 2021 Contact: Daejun Park Description: This entry shows the maximum number of active HPB regions that @@ -1558,7 +1434,6 @@ Description: This entry shows the requeue timeout threshold for write buffer this entry. What: /sys/bus/platform/drivers/ufshcd/*/attributes/max_data_size_hpb_single_cmd -What: /sys/bus/platform/devices/*.ufs/attributes/max_data_size_hpb_single_cmd Date: June 2021 Contact: Daejun Park Description: This entry shows the maximum HPB data size for using a single HPB @@ -1575,7 +1450,6 @@ Description: This entry shows the maximum HPB data size for using a single HPB The file is read only. What: /sys/bus/platform/drivers/ufshcd/*/flags/hpb_enable -What: /sys/bus/platform/devices/*.ufs/flags/hpb_enable Date: June 2021 Contact: Daejun Park Description: This entry shows the status of HPB. diff --git a/Documentation/ABI/testing/sysfs-driver-xen-blkback b/Documentation/ABI/testing/sysfs-driver-xen-blkback index a74dfe52dd..ac2947b989 100644 --- a/Documentation/ABI/testing/sysfs-driver-xen-blkback +++ b/Documentation/ABI/testing/sysfs-driver-xen-blkback @@ -29,7 +29,7 @@ Description: What: /sys/module/xen_blkback/parameters/buffer_squeeze_duration_ms Date: December 2019 KernelVersion: 5.6 -Contact: SeongJae Park +Contact: SeongJae Park Description: When memory pressure is reported to blkback this option controls the duration in milliseconds that blkback will not @@ -39,7 +39,7 @@ Description: What: /sys/module/xen_blkback/parameters/feature_persistent Date: September 2020 KernelVersion: 5.10 -Contact: SeongJae Park +Contact: SeongJae Park Description: Whether to enable the persistent grants feature or not. Note that this option only takes effect on newly created backends. diff --git a/Documentation/ABI/testing/sysfs-driver-xen-blkfront b/Documentation/ABI/testing/sysfs-driver-xen-blkfront index 61fd173fab..2800890561 100644 --- a/Documentation/ABI/testing/sysfs-driver-xen-blkfront +++ b/Documentation/ABI/testing/sysfs-driver-xen-blkfront @@ -12,7 +12,7 @@ Description: What: /sys/module/xen_blkfront/parameters/feature_persistent Date: September 2020 KernelVersion: 5.10 -Contact: SeongJae Park +Contact: SeongJae Park Description: Whether to enable the persistent grants feature or not. Note that this option only takes effect on newly created frontends. diff --git a/Documentation/ABI/testing/sysfs-firmware-efi-esrt b/Documentation/ABI/testing/sysfs-firmware-efi-esrt index 4c2d440487..31b57676d4 100644 --- a/Documentation/ABI/testing/sysfs-firmware-efi-esrt +++ b/Documentation/ABI/testing/sysfs-firmware-efi-esrt @@ -24,14 +24,14 @@ Date: February 2015 Contact: Peter Jones Description: The version of the ESRT structure provided by the firmware. -What: /sys/firmware/efi/esrt/entries/entry/ +What: /sys/firmware/efi/esrt/entries/entry$N/ Date: February 2015 Contact: Peter Jones Description: Each ESRT entry is identified by a GUID, and each gets a subdirectory under entries/ . example: /sys/firmware/efi/esrt/entries/entry0/ -What: /sys/firmware/efi/esrt/entries/entry/fw_type +What: /sys/firmware/efi/esrt/entries/entry$N/fw_type Date: February 2015 Contact: Peter Jones Description: What kind of firmware entry this is: @@ -43,33 +43,33 @@ Description: What kind of firmware entry this is: 3 UEFI Driver == =============== -What: /sys/firmware/efi/esrt/entries/entry/fw_class +What: /sys/firmware/efi/esrt/entries/entry$N/fw_class Date: February 2015 Contact: Peter Jones Description: This is the entry's guid, and will match the directory name. -What: /sys/firmware/efi/esrt/entries/entry/fw_version +What: /sys/firmware/efi/esrt/entries/entry$N/fw_version Date: February 2015 Contact: Peter Jones Description: The version of the firmware currently installed. This is a 32-bit unsigned integer. -What: /sys/firmware/efi/esrt/entries/entry/lowest_supported_fw_version +What: /sys/firmware/efi/esrt/entries/entry$N/lowest_supported_fw_version Date: February 2015 Contact: Peter Jones Description: The lowest version of the firmware that can be installed. -What: /sys/firmware/efi/esrt/entries/entry/capsule_flags +What: /sys/firmware/efi/esrt/entries/entry$N/capsule_flags Date: February 2015 Contact: Peter Jones Description: Flags that must be passed to UpdateCapsule() -What: /sys/firmware/efi/esrt/entries/entry/last_attempt_version +What: /sys/firmware/efi/esrt/entries/entry$N/last_attempt_version Date: February 2015 Contact: Peter Jones Description: The last firmware version for which an update was attempted. -What: /sys/firmware/efi/esrt/entries/entry/last_attempt_status +What: /sys/firmware/efi/esrt/entries/entry$N/last_attempt_status Date: February 2015 Contact: Peter Jones Description: The result of the last firmware update attempt for the diff --git a/Documentation/ABI/testing/sysfs-fs-f2fs b/Documentation/ABI/testing/sysfs-fs-f2fs index 2416b03ff2..f627e705e6 100644 --- a/Documentation/ABI/testing/sysfs-fs-f2fs +++ b/Documentation/ABI/testing/sysfs-fs-f2fs @@ -112,11 +112,6 @@ Contact: "Jaegeuk Kim" Description: Set timeout to issue discard commands during umount. Default: 5 secs -What: /sys/fs/f2fs//pending_discard -Date: November 2021 -Contact: "Jaegeuk Kim" -Description: Shows the number of pending discard commands in the queue. - What: /sys/fs/f2fs//max_victim_search Date: January 2014 Contact: "Jaegeuk Kim" @@ -517,26 +512,3 @@ Date: July 2021 Contact: "Daeho Jeong" Description: You can control the multiplier value of bdi device readahead window size between 2 (default) and 256 for POSIX_FADV_SEQUENTIAL advise option. - -What: /sys/fs/f2fs//max_fragment_chunk -Date: August 2021 -Contact: "Daeho Jeong" -Description: With "mode=fragment:block" mount options, we can scatter block allocation. - f2fs will allocate 1.. blocks in a chunk and make a hole - in the length of 1.. by turns. This value can be set - between 1..512 and the default value is 4. - -What: /sys/fs/f2fs//max_fragment_hole -Date: August 2021 -Contact: "Daeho Jeong" -Description: With "mode=fragment:block" mount options, we can scatter block allocation. - f2fs will allocate 1.. blocks in a chunk and make a hole - in the length of 1.. by turns. This value can be set - between 1..512 and the default value is 4. - -What: /sys/fs/f2fs//gc_urgent_high_remaining -Date: December 2021 -Contact: "Daeho Jeong" -Description: You can set the trial count limit for GC urgent high mode with this value. - If GC thread gets to the limit, the mode will turn back to GC normal mode. - By default, the value is zero, which means there is no limit like before. diff --git a/Documentation/ABI/testing/sysfs-kernel-slab b/Documentation/ABI/testing/sysfs-kernel-slab index c440f4946e..c9f12baf8b 100644 --- a/Documentation/ABI/testing/sysfs-kernel-slab +++ b/Documentation/ABI/testing/sysfs-kernel-slab @@ -10,7 +10,7 @@ Description: any cache it aliases, if any). Users: kernel memory tuning tools -What: /sys/kernel/slab//aliases +What: /sys/kernel/slab/cache/aliases Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -19,7 +19,7 @@ Description: The aliases file is read-only and specifies how many caches have merged into this cache. -What: /sys/kernel/slab//align +What: /sys/kernel/slab/cache/align Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -28,7 +28,7 @@ Description: The align file is read-only and specifies the cache's object alignment in bytes. -What: /sys/kernel/slab//alloc_calls +What: /sys/kernel/slab/cache/alloc_calls Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -39,7 +39,7 @@ Description: The alloc_calls file only contains information if debugging is enabled for that cache (see Documentation/vm/slub.rst). -What: /sys/kernel/slab//alloc_fastpath +What: /sys/kernel/slab/cache/alloc_fastpath Date: February 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -50,7 +50,7 @@ Description: current count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//alloc_from_partial +What: /sys/kernel/slab/cache/alloc_from_partial Date: February 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -62,7 +62,7 @@ Description: count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//alloc_refill +What: /sys/kernel/slab/cache/alloc_refill Date: February 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -73,7 +73,7 @@ Description: remote cpu frees. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//alloc_slab +What: /sys/kernel/slab/cache/alloc_slab Date: February 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -84,7 +84,7 @@ Description: clear the current count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//alloc_slowpath +What: /sys/kernel/slab/cache/alloc_slowpath Date: February 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -96,7 +96,7 @@ Description: clear the current count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//cache_dma +What: /sys/kernel/slab/cache/cache_dma Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -106,7 +106,7 @@ Description: are from ZONE_DMA. Available when CONFIG_ZONE_DMA is enabled. -What: /sys/kernel/slab//cpu_slabs +What: /sys/kernel/slab/cache/cpu_slabs Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -115,7 +115,7 @@ Description: The cpu_slabs file is read-only and displays how many cpu slabs are active and their NUMA locality. -What: /sys/kernel/slab//cpuslab_flush +What: /sys/kernel/slab/cache/cpuslab_flush Date: April 2009 KernelVersion: 2.6.31 Contact: Pekka Enberg , @@ -128,7 +128,7 @@ Description: current count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//ctor +What: /sys/kernel/slab/cache/ctor Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -138,7 +138,7 @@ Description: constructor function, which is invoked for each object when a new slab is allocated. -What: /sys/kernel/slab//deactivate_empty +What: /sys/kernel/slab/cache/deactivate_empty Date: February 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -148,7 +148,7 @@ Description: was deactivated. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//deactivate_full +What: /sys/kernel/slab/cache/deactivate_full Date: February 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -158,7 +158,7 @@ Description: was deactivated. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//deactivate_remote_frees +What: /sys/kernel/slab/cache/deactivate_remote_frees Date: February 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -169,7 +169,7 @@ Description: remotely. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//deactivate_to_head +What: /sys/kernel/slab/cache/deactivate_to_head Date: February 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -180,7 +180,7 @@ Description: list. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//deactivate_to_tail +What: /sys/kernel/slab/cache/deactivate_to_tail Date: February 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -191,7 +191,7 @@ Description: list. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//destroy_by_rcu +What: /sys/kernel/slab/cache/destroy_by_rcu Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -200,7 +200,7 @@ Description: The destroy_by_rcu file is read-only and specifies whether slabs (not objects) are freed by rcu. -What: /sys/kernel/slab//free_add_partial +What: /sys/kernel/slab/cache/free_add_partial Date: February 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -211,7 +211,7 @@ Description: partial list. It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//free_calls +What: /sys/kernel/slab/cache/free_calls Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -221,7 +221,7 @@ Description: object frees if slab debugging is enabled (see Documentation/vm/slub.rst). -What: /sys/kernel/slab//free_fastpath +What: /sys/kernel/slab/cache/free_fastpath Date: February 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -232,7 +232,7 @@ Description: It can be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//free_frozen +What: /sys/kernel/slab/cache/free_frozen Date: February 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -243,7 +243,7 @@ Description: clear the current count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//free_remove_partial +What: /sys/kernel/slab/cache/free_remove_partial Date: February 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -255,7 +255,7 @@ Description: count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//free_slab +What: /sys/kernel/slab/cache/free_slab Date: February 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -266,7 +266,7 @@ Description: the current count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//free_slowpath +What: /sys/kernel/slab/cache/free_slowpath Date: February 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -277,7 +277,7 @@ Description: be written to clear the current count. Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//hwcache_align +What: /sys/kernel/slab/cache/hwcache_align Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -286,7 +286,7 @@ Description: The hwcache_align file is read-only and specifies whether objects are aligned on cachelines. -What: /sys/kernel/slab//min_partial +What: /sys/kernel/slab/cache/min_partial Date: February 2009 KernelVersion: 2.6.30 Contact: Pekka Enberg , @@ -297,7 +297,7 @@ Description: allocating new slabs. Such slabs may be reclaimed by utilizing the shrink file. -What: /sys/kernel/slab//object_size +What: /sys/kernel/slab/cache/object_size Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -306,7 +306,7 @@ Description: The object_size file is read-only and specifies the cache's object size. -What: /sys/kernel/slab//objects +What: /sys/kernel/slab/cache/objects Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -315,7 +315,7 @@ Description: The objects file is read-only and displays how many objects are active and from which nodes they are from. -What: /sys/kernel/slab//objects_partial +What: /sys/kernel/slab/cache/objects_partial Date: April 2008 KernelVersion: 2.6.26 Contact: Pekka Enberg , @@ -325,7 +325,7 @@ Description: objects are on partial slabs and from which nodes they are from. -What: /sys/kernel/slab//objs_per_slab +What: /sys/kernel/slab/cache/objs_per_slab Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -333,9 +333,9 @@ Contact: Pekka Enberg , Description: The file objs_per_slab is read-only and specifies how many objects may be allocated from a single slab of the order - specified in /sys/kernel/slab//order. + specified in /sys/kernel/slab/cache/order. -What: /sys/kernel/slab//order +What: /sys/kernel/slab/cache/order Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -352,7 +352,7 @@ Description: order is used and this sysfs entry can not be used to change the order at run time. -What: /sys/kernel/slab//order_fallback +What: /sys/kernel/slab/cache/order_fallback Date: April 2008 KernelVersion: 2.6.26 Contact: Pekka Enberg , @@ -365,7 +365,7 @@ Description: Available when CONFIG_SLUB_STATS is enabled. -What: /sys/kernel/slab//partial +What: /sys/kernel/slab/cache/partial Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -374,7 +374,7 @@ Description: The partial file is read-only and displays how long many partial slabs there are and how long each node's list is. -What: /sys/kernel/slab//poison +What: /sys/kernel/slab/cache/poison Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -383,7 +383,7 @@ Description: The poison file specifies whether objects should be poisoned when a new slab is allocated. -What: /sys/kernel/slab//reclaim_account +What: /sys/kernel/slab/cache/reclaim_account Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -392,7 +392,7 @@ Description: The reclaim_account file specifies whether the cache's objects are reclaimable (and grouped by their mobility). -What: /sys/kernel/slab//red_zone +What: /sys/kernel/slab/cache/red_zone Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -401,7 +401,7 @@ Description: The red_zone file specifies whether the cache's objects are red zoned. -What: /sys/kernel/slab//remote_node_defrag_ratio +What: /sys/kernel/slab/cache/remote_node_defrag_ratio Date: January 2008 KernelVersion: 2.6.25 Contact: Pekka Enberg , @@ -415,7 +415,7 @@ Description: Available when CONFIG_NUMA is enabled. -What: /sys/kernel/slab//sanity_checks +What: /sys/kernel/slab/cache/sanity_checks Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -426,7 +426,7 @@ Description: checks. Caches that enable sanity_checks cannot be merged with caches that do not. -What: /sys/kernel/slab//shrink +What: /sys/kernel/slab/cache/shrink Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -442,7 +442,7 @@ Description: adversely impact other running applications. So it should be used with care. -What: /sys/kernel/slab//slab_size +What: /sys/kernel/slab/cache/slab_size Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -451,7 +451,7 @@ Description: The slab_size file is read-only and specifies the object size with metadata (debugging information and alignment) in bytes. -What: /sys/kernel/slab//slabs +What: /sys/kernel/slab/cache/slabs Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -461,7 +461,7 @@ Description: there are (both cpu and partial) and from which nodes they are from. -What: /sys/kernel/slab//store_user +What: /sys/kernel/slab/cache/store_user Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -470,7 +470,7 @@ Description: The store_user file specifies whether the location of allocation or free should be tracked for a cache. -What: /sys/kernel/slab//total_objects +What: /sys/kernel/slab/cache/total_objects Date: April 2008 KernelVersion: 2.6.26 Contact: Pekka Enberg , @@ -479,7 +479,7 @@ Description: The total_objects file is read-only and displays how many total objects a cache has and from which nodes they are from. -What: /sys/kernel/slab//trace +What: /sys/kernel/slab/cache/trace Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -488,7 +488,7 @@ Description: The trace file specifies whether object allocations and frees should be traced. -What: /sys/kernel/slab//validate +What: /sys/kernel/slab/cache/validate Date: May 2007 KernelVersion: 2.6.22 Contact: Pekka Enberg , @@ -496,24 +496,3 @@ Contact: Pekka Enberg , Description: Writing to the validate file causes SLUB to traverse all of its cache's objects and check the validity of metadata. - -What: /sys/kernel/slab//usersize -Date: Jun 2017 -Contact: David Windsor -Description: - The usersize file is read-only and contains the usercopy - region size. - -What: /sys/kernel/slab//slabs_cpu_partial -Date: Aug 2011 -Contact: Christoph Lameter -Description: - This read-only file shows the number of partialli allocated - frozen slabs. - -What: /sys/kernel/slab//cpu_partial -Date: Aug 2011 -Contact: Christoph Lameter -Description: - This read-only file shows the number of per cpu partial - pages to keep around. diff --git a/Documentation/ABI/testing/sysfs-module b/Documentation/ABI/testing/sysfs-module index 08886367d0..88bddf192c 100644 --- a/Documentation/ABI/testing/sysfs-module +++ b/Documentation/ABI/testing/sysfs-module @@ -41,13 +41,6 @@ KernelVersion: 3.3 Contact: Kay Sievers Description: Module size in bytes. -What: /sys/module/*/initstate -Date: Nov 2006 -KernelVersion: 2.6.19 -Contact: Kay Sievers -Description: Show the initialization state(live, coming, going) of - the module. - What: /sys/module/*/taint Date: Jan 2012 KernelVersion: 3.3 diff --git a/Documentation/ABI/testing/sysfs-platform-dell-privacy-wmi b/Documentation/ABI/testing/sysfs-platform-dell-privacy-wmi index 1f1f274a69..7f9e187058 100644 --- a/Documentation/ABI/testing/sysfs-platform-dell-privacy-wmi +++ b/Documentation/ABI/testing/sysfs-platform-dell-privacy-wmi @@ -1,71 +1,55 @@ What: /sys/bus/wmi/devices/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_supported_type Date: Apr 2021 KernelVersion: 5.13 -Contact: "" +Contact: "perry.yuan@dell.com>" Description: Display which dell hardware level privacy devices are supported “Dell Privacy” is a set of HW, FW, and SW features to enhance Dell’s commitment to platform privacy for MIC, Camera, and ePrivacy screens. The supported hardware privacy devices are: - - Attributes: - Microphone Mute: +Attributes: + Microphone Mute: Identifies the local microphone can be muted by hardware, no applications is available to capture system mic sound - Camera Shutter: + Camera Shutter: Identifies camera shutter controlled by hardware, which is a micromechanical shutter assembly that is built onto the camera module to block capturing images from outside the laptop - Values: - - supported: + supported: The privacy device is supported by this system - unsupported: + unsupported: The privacy device is not supported on this system - For example to check which privacy devices are supported:: + For example to check which privacy devices are supported: - # cat /sys/bus/wmi/drivers/dell-privacy/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_supported_type - [Microphone Mute] [supported] - [Camera Shutter] [supported] - [ePrivacy Screen] [unsupported] + # cat /sys/bus/wmi/drivers/dell-privacy/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_supported_type + [Microphone Mute] [supported] + [Camera Shutter] [supported] + [ePrivacy Screen] [unsupported] What: /sys/bus/wmi/devices/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_current_state Date: Apr 2021 KernelVersion: 5.13 -Contact: "" +Contact: "perry.yuan@dell.com>" Description: Allow user space to check current dell privacy device state. Describes the Device State class exposed by BIOS which can be consumed by various applications interested in knowing the Privacy feature capabilities +Attributes: + muted: + Identifies the privacy device is turned off and cannot send stream to OS applications - Attributes: - Microphone: - Identifies the local microphone can be muted by hardware, no applications - is available to capture system mic sound + unmuted: + Identifies the privacy device is turned on ,audio or camera driver can get + stream from mic and camera module to OS applications - Camera Shutter: - Identifies camera shutter controlled by hardware, which is a micromechanical - shutter assembly that is built onto the camera module to block capturing images - from outside the laptop + For example to check all supported current privacy device states: - Values: - muted: - Identifies the privacy device is turned off - and cannot send stream to OS applications - - unmuted: - Identifies the privacy device is turned on, - audio or camera driver can get stream from mic - and camera module to OS applications - - For example to check all supported current privacy device states:: - - # cat /sys/bus/wmi/drivers/dell-privacy/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_current_state - [Microphone] [unmuted] - [Camera Shutter] [unmuted] + # cat /sys/bus/wmi/drivers/dell-privacy/6932965F-1671-4CEB-B988-D3AB0A901919/dell_privacy_current_state + [Microphone] [unmuted] + [Camera Shutter] [unmuted] diff --git a/Documentation/ABI/testing/sysfs-platform-dptf b/Documentation/ABI/testing/sysfs-platform-dptf index 620fd20434..53c6b10003 100644 --- a/Documentation/ABI/testing/sysfs-platform-dptf +++ b/Documentation/ABI/testing/sysfs-platform-dptf @@ -133,10 +133,7 @@ Contact: linux-acpi@vger.kernel.org Description: (RO) Presents SSC (spread spectrum clock) information for EMI (Electro magnetic interference) control. This is a bit mask. - - ======= ========================================== Bits Description - ======= ========================================== [7:0] Sets clock spectrum spread percentage: 0x00=0.2% , 0x3F=10% 1 LSB = 0.1% increase in spread (for @@ -154,4 +151,3 @@ Description: [10] 0: No white noise. 1: Add white noise to spread waveform [11] When 1, future writes are ignored. - ======= ========================================== diff --git a/Documentation/ABI/testing/sysfs-platform-intel-pmc b/Documentation/ABI/testing/sysfs-platform-intel-pmc index f31d59b21f..ef199af75a 100644 --- a/Documentation/ABI/testing/sysfs-platform-intel-pmc +++ b/Documentation/ABI/testing/sysfs-platform-intel-pmc @@ -11,10 +11,8 @@ Description: to take effect. Display global reset setting bits for PMC. - * bit 31 - global reset is locked * bit 20 - global reset is set - Writing bit 20 value to the etr3 will induce a platform "global reset" upon consequent platform reset, in case the register is not locked. diff --git a/Documentation/ABI/testing/sysfs-platform-sst-atom b/Documentation/ABI/testing/sysfs-platform-sst-atom index 0154b0fba7..d5f6e21f0e 100644 --- a/Documentation/ABI/testing/sysfs-platform-sst-atom +++ b/Documentation/ABI/testing/sysfs-platform-sst-atom @@ -1,4 +1,4 @@ -What: /sys/devices/platform/8086:00/firmware_version +What: /sys/devices/platform/8086%x:00/firmware_version Date: November 2016 KernelVersion: 4.10 Contact: "Sebastien Guiriec" diff --git a/Documentation/ABI/testing/sysfs-ptp b/Documentation/ABI/testing/sysfs-ptp index 9c317ac7c4..d378f57c1b 100644 --- a/Documentation/ABI/testing/sysfs-ptp +++ b/Documentation/ABI/testing/sysfs-ptp @@ -6,7 +6,7 @@ Description: providing a standardized interface to the ancillary features of PTP hardware clocks. -What: /sys/class/ptp/ptp/ +What: /sys/class/ptp/ptpN/ Date: September 2010 Contact: Richard Cochran Description: @@ -14,7 +14,7 @@ Description: hardware clock registered into the PTP class driver subsystem. -What: /sys/class/ptp/ptp/clock_name +What: /sys/class/ptp/ptpN/clock_name Date: September 2010 Contact: Richard Cochran Description: @@ -25,7 +25,7 @@ Description: MAC based ones. The string does not necessarily have to be any kind of unique id. -What: /sys/class/ptp/ptp/max_adjustment +What: /sys/class/ptp/ptpN/max_adjustment Date: September 2010 Contact: Richard Cochran Description: @@ -33,42 +33,42 @@ Description: frequency adjustment value (a positive integer) in parts per billion. -What: /sys/class/ptp/ptp/max_vclocks +What: /sys/class/ptp/ptpN/max_vclocks Date: May 2021 Contact: Yangbo Lu Description: This file contains the maximum number of ptp vclocks. Write integer to re-configure it. -What: /sys/class/ptp/ptp/n_alarms +What: /sys/class/ptp/ptpN/n_alarms Date: September 2010 Contact: Richard Cochran Description: This file contains the number of periodic or one shot alarms offer by the PTP hardware clock. -What: /sys/class/ptp/ptp/n_external_timestamps +What: /sys/class/ptp/ptpN/n_external_timestamps Date: September 2010 Contact: Richard Cochran Description: This file contains the number of external timestamp channels offered by the PTP hardware clock. -What: /sys/class/ptp/ptp/n_periodic_outputs +What: /sys/class/ptp/ptpN/n_periodic_outputs Date: September 2010 Contact: Richard Cochran Description: This file contains the number of programmable periodic output channels offered by the PTP hardware clock. -What: /sys/class/ptp/ptp/n_pins +What: /sys/class/ptp/ptpN/n_pins Date: March 2014 Contact: Richard Cochran Description: This file contains the number of programmable pins offered by the PTP hardware clock. -What: /sys/class/ptp/ptp/n_vclocks +What: /sys/class/ptp/ptpN/n_vclocks Date: May 2021 Contact: Yangbo Lu Description: @@ -81,7 +81,7 @@ Description: switches the physical clock back to normal, adjustable operation. -What: /sys/class/ptp/ptp/pins +What: /sys/class/ptp/ptpN/pins Date: March 2014 Contact: Richard Cochran Description: @@ -94,7 +94,7 @@ Description: assignment may be changed by two writing numbers into the file. -What: /sys/class/ptp/ptp/pps_available +What: /sys/class/ptp/ptpN/pps_available Date: September 2010 Contact: Richard Cochran Description: @@ -103,7 +103,7 @@ Description: "1" means that the PPS is supported, while "0" means not supported. -What: /sys/class/ptp/ptp/extts_enable +What: /sys/class/ptp/ptpN/extts_enable Date: September 2010 Contact: Richard Cochran Description: @@ -113,7 +113,7 @@ Description: To disable external timestamps, write the channel index followed by a "0" into the file. -What: /sys/class/ptp/ptp/fifo +What: /sys/class/ptp/ptpN/fifo Date: September 2010 Contact: Richard Cochran Description: @@ -121,7 +121,7 @@ Description: the form of three integers: channel index, seconds, and nanoseconds. -What: /sys/class/ptp/ptp/period +What: /sys/class/ptp/ptpN/period Date: September 2010 Contact: Richard Cochran Description: @@ -132,7 +132,7 @@ Description: period nanoseconds. To disable a periodic output, set all the seconds and nanoseconds values to zero. -What: /sys/class/ptp/ptp/pps_enable +What: /sys/class/ptp/ptpN/pps_enable Date: September 2010 Contact: Richard Cochran Description: diff --git a/Documentation/ABI/testing/sysfs-tty b/Documentation/ABI/testing/sysfs-tty index 820e412d38..e157130a67 100644 --- a/Documentation/ABI/testing/sysfs-tty +++ b/Documentation/ABI/testing/sysfs-tty @@ -9,7 +9,7 @@ Description: The file supports poll() to detect virtual console switches. -What: /sys/class/tty/tty/active +What: /sys/class/tty/tty0/active Date: Nov 2010 Contact: Kay Sievers Description: @@ -18,7 +18,7 @@ Description: The file supports poll() to detect virtual console switches. -What: /sys/class/tty/ttyS/uartclk +What: /sys/class/tty/ttyS0/uartclk Date: Sep 2012 Contact: Tomas Hlavacek Description: @@ -29,7 +29,7 @@ Description: These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls. -What: /sys/class/tty/ttyS/type +What: /sys/class/tty/ttyS0/type Date: October 2012 Contact: Alan Cox Description: @@ -38,7 +38,7 @@ Description: These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls. -What: /sys/class/tty/ttyS/line +What: /sys/class/tty/ttyS0/line Date: October 2012 Contact: Alan Cox Description: @@ -47,7 +47,7 @@ Description: These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls. -What: /sys/class/tty/ttyS/port +What: /sys/class/tty/ttyS0/port Date: October 2012 Contact: Alan Cox Description: @@ -56,7 +56,7 @@ Description: These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls. -What: /sys/class/tty/ttyS/irq +What: /sys/class/tty/ttyS0/irq Date: October 2012 Contact: Alan Cox Description: @@ -65,7 +65,7 @@ Description: These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls. -What: /sys/class/tty/ttyS/flags +What: /sys/class/tty/ttyS0/flags Date: October 2012 Contact: Alan Cox Description: @@ -74,7 +74,7 @@ Description: These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls. -What: /sys/class/tty/ttyS/xmit_fifo_size +What: /sys/class/tty/ttyS0/xmit_fifo_size Date: October 2012 Contact: Alan Cox Description: @@ -83,7 +83,7 @@ Description: These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls. -What: /sys/class/tty/ttyS/close_delay +What: /sys/class/tty/ttyS0/close_delay Date: October 2012 Contact: Alan Cox Description: @@ -92,7 +92,7 @@ Description: These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls. -What: /sys/class/tty/ttyS/closing_wait +What: /sys/class/tty/ttyS0/closing_wait Date: October 2012 Contact: Alan Cox Description: @@ -101,7 +101,7 @@ Description: These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls. -What: /sys/class/tty/ttyS/custom_divisor +What: /sys/class/tty/ttyS0/custom_divisor Date: October 2012 Contact: Alan Cox Description: @@ -110,7 +110,7 @@ Description: These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls. -What: /sys/class/tty/ttyS/io_type +What: /sys/class/tty/ttyS0/io_type Date: October 2012 Contact: Alan Cox Description: @@ -120,7 +120,7 @@ Description: These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls. -What: /sys/class/tty/ttyS/iomem_base +What: /sys/class/tty/ttyS0/iomem_base Date: October 2012 Contact: Alan Cox Description: @@ -129,7 +129,7 @@ Description: These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls. -What: /sys/class/tty/ttyS/iomem_reg_shift +What: /sys/class/tty/ttyS0/iomem_reg_shift Date: October 2012 Contact: Alan Cox Description: @@ -139,7 +139,7 @@ Description: These sysfs values expose the TIOCGSERIAL interface via sysfs rather than via ioctls. -What: /sys/class/tty/ttyS/rx_trig_bytes +What: /sys/class/tty/ttyS0/rx_trig_bytes Date: May 2014 Contact: Yoshihiro YUNOMAE Description: @@ -155,7 +155,7 @@ Description: 16550A, which has 1/4/8/14 bytes trigger, the RX trigger is automatically changed to 4 bytes. -What: /sys/class/tty/ttyS/console +What: /sys/class/tty/ttyS0/console Date: February 2020 Contact: Andy Shevchenko Description: diff --git a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel0.svg b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel0.svg index 16b1ff0ad3..98af665579 100644 --- a/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel0.svg +++ b/Documentation/RCU/Design/Expedited-Grace-Periods/Funnel0.svg @@ -116,7 +116,7 @@ tick_nohz_enabled_snap) { - 15 if (!rcu_segcblist_empty(&rdp->cblist)) - 16 invoke_rcu_core(); /* force nohz to see update. */ - 17 rdp->tick_nohz_enabled_snap = tne; + 14 if (tne != rdtp->tick_nohz_enabled_snap) { + 15 if (rcu_cpu_has_callbacks(NULL)) + 16 invoke_rcu_core(); + 17 rdtp->tick_nohz_enabled_snap = tne; 18 return; - 19 } + 19 } 20 if (!tne) 21 return; - 22 - 23 /* - 24 * If we have not yet accelerated this jiffy, accelerate all - 25 * callbacks on this CPU. - 26 */ - 27 if (rdp->last_accelerate == jiffies) - 28 return; - 29 rdp->last_accelerate = jiffies; - 30 if (rcu_segcblist_pend_cbs(&rdp->cblist)) { - 31 rnp = rdp->mynode; - 32 raw_spin_lock_rcu_node(rnp); /* irqs already disabled. */ - 33 needwake = rcu_accelerate_cbs(rnp, rdp); - 34 raw_spin_unlock_rcu_node(rnp); /* irqs remain disabled. */ - 35 if (needwake) - 36 rcu_gp_kthread_wake(); - 37 } - 38 } + 22 if (rdtp->all_lazy && + 23 rdtp->nonlazy_posted != rdtp->nonlazy_posted_snap) { + 24 rdtp->all_lazy = false; + 25 rdtp->nonlazy_posted_snap = rdtp->nonlazy_posted; + 26 invoke_rcu_core(); + 27 return; + 28 } + 29 if (rdtp->last_accelerate == jiffies) + 30 return; + 31 rdtp->last_accelerate = jiffies; + 32 for_each_rcu_flavor(rsp) { + 33 rdp = this_cpu_ptr(rsp->rda); + 34 if (rcu_segcblist_pend_cbs(&rdp->cblist)) + 35 continue; + 36 rnp = rdp->mynode; + 37 raw_spin_lock_rcu_node(rnp); + 38 needwake = rcu_accelerate_cbs(rsp, rnp, rdp); + 39 raw_spin_unlock_rcu_node(rnp); + 40 if (needwake) + 41 rcu_gp_kthread_wake(rsp); + 42 } + 43 } But the only part of ``rcu_prepare_for_idle()`` that really matters for -this discussion are lines 32–34. We will therefore abbreviate this +this discussion are lines 37–39. We will therefore abbreviate this function as follows: .. kernel-figure:: rcu_node-lock.svg diff --git a/Documentation/RCU/Design/Requirements/GPpartitionReaders1.svg b/Documentation/RCU/Design/Requirements/GPpartitionReaders1.svg index 87851a8fac..4b4014fda7 100644 --- a/Documentation/RCU/Design/Requirements/GPpartitionReaders1.svg +++ b/Documentation/RCU/Design/Requirements/GPpartitionReaders1.svg @@ -88,7 +88,7 @@ WRITE_ONCE(a, 1); WRITE_ONCE(b, 1); r1 = READ_ONCE(a); WRITE_ONCE(c, 1); r2 = READ_ONCE(b); r3 = READ_ONCE(c); thread0() thread1() rcu_read_lock(); rcu_read_lock(); rcu_read_unlock(); WRITE_ONCE(a, 1); WRITE_ONCE(b, 1); r1 = READ_ONCE(a); WRITE_ONCE(c, 1); WRITE_ONCE(d, 1); r2 = READ_ONCE(c); thread0() thread1() rcu_read_lock(); rcu_read_lock(); rcu_read_unlock(); r3 = READ_ONCE(d); QS r4 = READ_ONCE(b); r5 = READ_ONCE(e); rcu_read_lock(); rcu_read_unlock(); thread3() ` -:ref:`7. ANALOGY WITH REFERENCE COUNTING <7_whatisRCU>` +:ref:`7. FULL LIST OF RCU APIs <7_whatisRCU>` -:ref:`8. FULL LIST OF RCU APIs <8_whatisRCU>` - -:ref:`9. ANSWERS TO QUICK QUIZZES <9_whatisRCU>` +:ref:`8. ANSWERS TO QUICK QUIZZES <8_whatisRCU>` People who prefer starting with a conceptual overview should focus on Section 1, though most readers will profit by reading this section at @@ -679,7 +677,7 @@ Quick Quiz #1: occur when using this algorithm in a real-world Linux kernel? How could this deadlock be avoided? -:ref:`Answers to Quick Quiz <9_whatisRCU>` +:ref:`Answers to Quick Quiz <8_whatisRCU>` 5B. "TOY" EXAMPLE #2: CLASSIC RCU ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -734,7 +732,7 @@ Quick Quiz #2: Give an example where Classic RCU's read-side overhead is **negative**. -:ref:`Answers to Quick Quiz <9_whatisRCU>` +:ref:`Answers to Quick Quiz <8_whatisRCU>` .. _quiz_3: @@ -743,7 +741,7 @@ Quick Quiz #3: critical section, what the heck do you do in CONFIG_PREEMPT_RT, where normal spinlocks can block??? -:ref:`Answers to Quick Quiz <9_whatisRCU>` +:ref:`Answers to Quick Quiz <8_whatisRCU>` .. _6_whatisRCU: @@ -874,79 +872,7 @@ be used in place of synchronize_rcu(). .. _7_whatisRCU: -7. ANALOGY WITH REFERENCE COUNTING ------------------------------------ - -The reader-writer analogy (illustrated by the previous section) is not -always the best way to think about using RCU. Another helpful analogy -considers RCU an effective reference count on everything which is -protected by RCU. - -A reference count typically does not prevent the referenced object's -values from changing, but does prevent changes to type -- particularly the -gross change of type that happens when that object's memory is freed and -re-allocated for some other purpose. Once a type-safe reference to the -object is obtained, some other mechanism is needed to ensure consistent -access to the data in the object. This could involve taking a spinlock, -but with RCU the typical approach is to perform reads with SMP-aware -operations such as smp_load_acquire(), to perform updates with atomic -read-modify-write operations, and to provide the necessary ordering. -RCU provides a number of support functions that embed the required -operations and ordering, such as the list_for_each_entry_rcu() macro -used in the previous section. - -A more focused view of the reference counting behavior is that, -between rcu_read_lock() and rcu_read_unlock(), any reference taken with -rcu_dereference() on a pointer marked as ``__rcu`` can be treated as -though a reference-count on that object has been temporarily increased. -This prevents the object from changing type. Exactly what this means -will depend on normal expectations of objects of that type, but it -typically includes that spinlocks can still be safely locked, normal -reference counters can be safely manipulated, and ``__rcu`` pointers -can be safely dereferenced. - -Some operations that one might expect to see on an object for -which an RCU reference is held include: - - - Copying out data that is guaranteed to be stable by the object's type. - - Using kref_get_unless_zero() or similar to get a longer-term - reference. This may fail of course. - - Acquiring a spinlock in the object, and checking if the object still - is the expected object and if so, manipulating it freely. - -The understanding that RCU provides a reference that only prevents a -change of type is particularly visible with objects allocated from a -slab cache marked ``SLAB_TYPESAFE_BY_RCU``. RCU operations may yield a -reference to an object from such a cache that has been concurrently -freed and the memory reallocated to a completely different object, -though of the same type. In this case RCU doesn't even protect the -identity of the object from changing, only its type. So the object -found may not be the one expected, but it will be one where it is safe -to take a reference or spinlock and then confirm that the identity -matches the expectations. - -With traditional reference counting -- such as that implemented by the -kref library in Linux -- there is typically code that runs when the last -reference to an object is dropped. With kref, this is the function -passed to kref_put(). When RCU is being used, such finalization code -must not be run until all ``__rcu`` pointers referencing the object have -been updated, and then a grace period has passed. Every remaining -globally visible pointer to the object must be considered to be a -potential counted reference, and the finalization code is typically run -using call_rcu() only after all those pointers have been changed. - -To see how to choose between these two analogies -- of RCU as a -reader-writer lock and RCU as a reference counting system -- it is useful -to reflect on the scale of the thing being protected. The reader-writer -lock analogy looks at larger multi-part objects such as a linked list -and shows how RCU can facilitate concurrency while elements are added -to, and removed from, the list. The reference-count analogy looks at -the individual objects and looks at how they can be accessed safely -within whatever whole they are a part of. - -.. _8_whatisRCU: - -8. FULL LIST OF RCU APIs +7. FULL LIST OF RCU APIs ------------------------- The RCU APIs are documented in docbook-format header comments in the @@ -1109,9 +1035,9 @@ g. Otherwise, use RCU. Of course, this all assumes that you have determined that RCU is in fact the right tool for your job. -.. _9_whatisRCU: +.. _8_whatisRCU: -9. ANSWERS TO QUICK QUIZZES +8. ANSWERS TO QUICK QUIZZES ---------------------------- Quick Quiz #1: diff --git a/Documentation/accounting/delay-accounting.rst b/Documentation/accounting/delay-accounting.rst index 197fe319cb..1b8b46deeb 100644 --- a/Documentation/accounting/delay-accounting.rst +++ b/Documentation/accounting/delay-accounting.rst @@ -13,8 +13,6 @@ a) waiting for a CPU (while being runnable) b) completion of synchronous block I/O initiated by the task c) swapping in pages d) memory reclaim -e) thrashing page cache -f) direct compact and makes these statistics available to userspace through the taskstats interface. @@ -43,12 +41,11 @@ generic data structure to userspace corresponding to per-pid and per-tgid statistics. The delay accounting functionality populates specific fields of this structure. See - include/uapi/linux/taskstats.h + include/linux/taskstats.h for a description of the fields pertaining to delay accounting. It will generally be in the form of counters returning the cumulative -delay seen for cpu, sync block I/O, swapin, memory reclaim, thrash page -cache, direct compact etc. +delay seen for cpu, sync block I/O, swapin, memory reclaim etc. Taking the difference of two successive readings of a given counter (say cpu_delay_total) for a task will give the delay @@ -91,37 +88,41 @@ seen. General format of the getdelays command:: - getdelays [-dilv] [-t tgid] [-p pid] + getdelays [-t tgid] [-p pid] [-c cmd...] + Get delays, since system boot, for pid 10:: - # ./getdelays -d -p 10 + # ./getdelays -p 10 (output similar to next case) Get sum of delays, since system boot, for all pids with tgid 5:: - # ./getdelays -d -t 5 - print delayacct stats ON - TGID 5 + # ./getdelays -t 5 - CPU count real total virtual total delay total delay average - 8 7000000 6872122 3382277 0.423ms - IO count delay total delay average - 0 0 0ms - SWAP count delay total delay average - 0 0 0ms - RECLAIM count delay total delay average - 0 0 0ms - THRASHING count delay total delay average - 0 0 0ms - COMPACT count delay total delay average - 0 0 0ms + CPU count real total virtual total delay total + 7876 92005750 100000000 24001500 + IO count delay total + 0 0 + SWAP count delay total + 0 0 + RECLAIM count delay total + 0 0 -Get IO accounting for pid 1, it works only with -p:: +Get delays seen in executing a given simple command:: - # ./getdelays -i -p 1 - printing IO accounting - linuxrc: read=65536, write=0, cancelled_write=0 + # ./getdelays -c ls / -The above command can be used with -v to get more debug information. + bin data1 data3 data5 dev home media opt root srv sys usr + boot data2 data4 data6 etc lib mnt proc sbin subdomain tmp var + + + CPU count real total virtual total delay total + 6 4000250 4000000 0 + IO count delay total + 0 0 + SWAP count delay total + 0 0 + RECLAIM count delay total + 0 0 diff --git a/Documentation/arm/index.rst b/Documentation/arm/index.rst index 2bda5461a8..d4f34ae9e6 100644 --- a/Documentation/arm/index.rst +++ b/Documentation/arm/index.rst @@ -55,7 +55,6 @@ SoC-specific documents stm32/stm32h750-overview stm32/stm32f769-overview stm32/stm32f429-overview - stm32/stm32mp13-overview stm32/stm32mp157-overview sunxi diff --git a/Documentation/arm/marvell.rst b/Documentation/arm/marvell.rst index 2f41caa009..56bb592dbd 100644 --- a/Documentation/arm/marvell.rst +++ b/Documentation/arm/marvell.rst @@ -21,7 +21,6 @@ Orion family - Datasheet: https://web.archive.org/web/20210124231420/http://csclub.uwaterloo.ca/~board/ts7800/MV88F5182-datasheet.pdf - Programmer's User Guide: https://web.archive.org/web/20210124231536/http://csclub.uwaterloo.ca/~board/ts7800/MV88F5182-opensource-manual.pdf - User Manual: https://web.archive.org/web/20210124231631/http://csclub.uwaterloo.ca/~board/ts7800/MV88F5182-usermanual.pdf - - Functional Errata: https://web.archive.org/web/20210704165540/https://www.digriz.org.uk/ts78xx/88F5182_Functional_Errata.pdf - 88F5281 - Datasheet: https://web.archive.org/web/20131028144728/http://www.ocmodshop.com/images/reviews/networking/qnap_ts409u/marvel_88f5281_data_sheet.pdf @@ -104,8 +103,6 @@ Discovery family Not supported by the Linux kernel. - Homepage: - https://web.archive.org/web/20110924171043/http://www.marvell.com/embedded-processors/discovery-innovation/ Core: Feroceon 88fr571-vd ARMv5 compatible @@ -122,7 +119,6 @@ EBU Armada family - 88F6707 - 88F6W11 - - Product infos: https://web.archive.org/web/20141002083258/http://www.marvell.com/embedded-processors/armada-370/ - Product Brief: https://web.archive.org/web/20121115063038/http://www.marvell.com/embedded-processors/armada-300/assets/Marvell_ARMADA_370_SoC.pdf - Hardware Spec: https://web.archive.org/web/20140617183747/http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-datasheet.pdf - Functional Spec: https://web.archive.org/web/20140617183701/http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-FunctionalSpec-datasheet.pdf @@ -130,29 +126,9 @@ EBU Armada family Core: Sheeva ARMv7 compatible PJ4B - Armada XP Flavors: - - MV78230 - - MV78260 - - MV78460 - - NOTE: - not to be confused with the non-SMP 78xx0 SoCs - - - Product infos: https://web.archive.org/web/20150101215721/http://www.marvell.com/embedded-processors/armada-xp/ - - Product Brief: https://web.archive.org/web/20121021173528/http://www.marvell.com/embedded-processors/armada-xp/assets/Marvell-ArmadaXP-SoC-product%20brief.pdf - - Functional Spec: https://web.archive.org/web/20180829171131/http://www.marvell.com/embedded-processors/armada-xp/assets/ARMADA-XP-Functional-SpecDatasheet.pdf - - Hardware Specs: - - https://web.archive.org/web/20141127013651/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78230_OS.PDF - - https://web.archive.org/web/20141222000224/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78260_OS.PDF - - https://web.archive.org/web/20141222000230/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78460_OS.PDF - - Core: - Sheeva ARMv7 compatible Dual-core or Quad-core PJ4B-MP - Armada 375 Flavors: - 88F6720 - - Product infos: https://web.archive.org/web/20140108032402/http://www.marvell.com/embedded-processors/armada-375/ - Product Brief: https://web.archive.org/web/20131216023516/http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA_375_SoC-01_product_brief.pdf Core: @@ -185,6 +161,29 @@ EBU Armada family Core: ARM Cortex-A9 + Armada XP Flavors: + - MV78230 + - MV78260 + - MV78460 + + NOTE: + not to be confused with the non-SMP 78xx0 SoCs + + Product Brief: + https://web.archive.org/web/20121021173528/http://www.marvell.com/embedded-processors/armada-xp/assets/Marvell-ArmadaXP-SoC-product%20brief.pdf + + Functional Spec: + https://web.archive.org/web/20180829171131/http://www.marvell.com/embedded-processors/armada-xp/assets/ARMADA-XP-Functional-SpecDatasheet.pdf + + - Hardware Specs: + + - https://web.archive.org/web/20141127013651/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78230_OS.PDF + - https://web.archive.org/web/20141222000224/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78260_OS.PDF + - https://web.archive.org/web/20141222000230/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78460_OS.PDF + + Core: + Sheeva ARMv7 compatible Dual-core or Quad-core PJ4B-MP + Linux kernel mach directory: arch/arm/mach-mvebu Linux kernel plat directory: @@ -213,7 +212,6 @@ EBU Armada family ARMv8 arch/arm64/boot/dts/marvell/armada-37* Armada 7K Flavors: - - 88F6040 (AP806 Quad 600 MHz + one CP110) - 88F7020 (AP806 Dual + one CP110) - 88F7040 (AP806 Quad + one CP110) @@ -245,33 +243,14 @@ EBU Armada family ARMv8 Device tree files: arch/arm64/boot/dts/marvell/armada-80* - Octeon TX2 CN913x Flavors: - - CN9130 (AP807 Quad + one internal CP115) - - CN9131 (AP807 Quad + one internal CP115 + one external CP115 / 88F8215) - - CN9132 (AP807 Quad + one internal CP115 + two external CP115 / 88F8215) - - Core: - ARM Cortex A72 - - Homepage: - https://web.archive.org/web/20200803150818/https://www.marvell.com/products/infrastructure-processors/multi-core-processors/octeon-tx2/octeon-tx2-cn9130.html - - Product Brief: - https://web.archive.org/web/20200803150818/https://www.marvell.com/content/dam/marvell/en/public-collateral/embedded-processors/marvell-infrastructure-processors-octeon-tx2-cn913x-product-brief-2020-02.pdf - - Device tree files: - arch/arm64/boot/dts/marvell/cn913* - Avanta family ------------- Flavors: - - 88F6500 - 88F6510 - 88F6530P - 88F6550 - 88F6560 - - 88F6601 Homepage: https://web.archive.org/web/20181005145041/http://www.marvell.com/broadband/ @@ -438,7 +417,7 @@ Berlin family (Multimedia Solutions) - Flavors: - 88DE3010, Armada 1000 (no Linux support) - Core: Marvell PJ1 (ARMv5TE), Dual-core - - Product Brief: https://web.archive.org/web/20131103162620/http://www.marvell.com/digital-entertainment/assets/armada_1000_pb.pdf + - Product Brief: http://www.marvell.com.cn/digital-entertainment/assets/armada_1000_pb.pdf - 88DE3005, Armada 1500 Mini - Design name: BG2CD - Core: ARM Cortex-A9, PL310 L2CC diff --git a/Documentation/arm/microchip.rst b/Documentation/arm/microchip.rst index e721d855f2..9c013299fd 100644 --- a/Documentation/arm/microchip.rst +++ b/Documentation/arm/microchip.rst @@ -137,26 +137,6 @@ the Microchip website: http://www.microchip.com. http://ww1.microchip.com/downloads/en/DeviceDoc/DS60001476B.pdf - * ARM Cortex-A7 based SoCs - - sama7g5 family - - - sama7g51 - - sama7g52 - - sama7g53 - - sama7g54 (device superset) - - * Datasheet - - Coming soon - - - lan966 family - - lan9662 - - lan9668 - - * Datasheet - - Coming soon - * ARM Cortex-M7 MCUs - sams70 family diff --git a/Documentation/arm64/booting.rst b/Documentation/arm64/booting.rst index 52d060caf8..3f9d86557c 100644 --- a/Documentation/arm64/booting.rst +++ b/Documentation/arm64/booting.rst @@ -340,16 +340,6 @@ Before jumping into the kernel, the following conditions must be met: - SMCR_EL2.LEN must be initialised to the same value for all CPUs the kernel will execute on. - For CPUs with the Scalable Matrix Extension FA64 feature (FEAT_SME_FA64) - - - If EL3 is present: - - - SMCR_EL3.FA64 (bit 31) must be initialised to 0b1. - - - If the kernel is entered at EL1 and EL2 is present: - - - SMCR_EL2.FA64 (bit 31) must be initialised to 0b1. - The requirements described above for CPU mode, caches, MMUs, architected timers, coherency and system registers apply to all CPUs. All CPUs must enter the kernel in the same exception level. Where the values documented diff --git a/Documentation/arm64/perf.rst b/Documentation/arm64/perf.rst index 1f87b57c23..b567f177d3 100644 --- a/Documentation/arm64/perf.rst +++ b/Documentation/arm64/perf.rst @@ -2,10 +2,7 @@ .. _perf_index: -==== -Perf -==== - +===================== Perf Event Attributes ===================== @@ -91,76 +88,3 @@ exclude_host. However when using !exclude_hv there is a small blackout window at the guest entry/exit where host events are not captured. On VHE systems there are no blackout windows. - -Perf Userspace PMU Hardware Counter Access -========================================== - -Overview --------- -The perf userspace tool relies on the PMU to monitor events. It offers an -abstraction layer over the hardware counters since the underlying -implementation is cpu-dependent. -Arm64 allows userspace tools to have access to the registers storing the -hardware counters' values directly. - -This targets specifically self-monitoring tasks in order to reduce the overhead -by directly accessing the registers without having to go through the kernel. - -How-to ------- -The focus is set on the armv8 PMUv3 which makes sure that the access to the pmu -registers is enabled and that the userspace has access to the relevant -information in order to use them. - -In order to have access to the hardware counters, the global sysctl -kernel/perf_user_access must first be enabled: - -.. code-block:: sh - - echo 1 > /proc/sys/kernel/perf_user_access - -It is necessary to open the event using the perf tool interface with config1:1 -attr bit set: the sys_perf_event_open syscall returns a fd which can -subsequently be used with the mmap syscall in order to retrieve a page of memory -containing information about the event. The PMU driver uses this page to expose -to the user the hardware counter's index and other necessary data. Using this -index enables the user to access the PMU registers using the `mrs` instruction. -Access to the PMU registers is only valid while the sequence lock is unchanged. -In particular, the PMSELR_EL0 register is zeroed each time the sequence lock is -changed. - -The userspace access is supported in libperf using the perf_evsel__mmap() -and perf_evsel__read() functions. See `tools/lib/perf/tests/test-evsel.c`_ for -an example. - -About heterogeneous systems ---------------------------- -On heterogeneous systems such as big.LITTLE, userspace PMU counter access can -only be enabled when the tasks are pinned to a homogeneous subset of cores and -the corresponding PMU instance is opened by specifying the 'type' attribute. -The use of generic event types is not supported in this case. - -Have a look at `tools/perf/arch/arm64/tests/user-events.c`_ for an example. It -can be run using the perf tool to check that the access to the registers works -correctly from userspace: - -.. code-block:: sh - - perf test -v user - -About chained events and counter sizes --------------------------------------- -The user can request either a 32-bit (config1:0 == 0) or 64-bit (config1:0 == 1) -counter along with userspace access. The sys_perf_event_open syscall will fail -if a 64-bit counter is requested and the hardware doesn't support 64-bit -counters. Chained events are not supported in conjunction with userspace counter -access. If a 32-bit counter is requested on hardware with 64-bit counters, then -userspace must treat the upper 32-bits read from the counter as UNKNOWN. The -'pmc_width' field in the user page will indicate the valid width of the counter -and should be used to mask the upper bits as needed. - -.. Links -.. _tools/perf/arch/arm64/tests/user-events.c: - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/perf/arch/arm64/tests/user-events.c -.. _tools/lib/perf/tests/test-evsel.c: - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/lib/perf/tests/test-evsel.c diff --git a/Documentation/arm64/pointer-authentication.rst b/Documentation/arm64/pointer-authentication.rst index e5dad2e40a..f127666ea3 100644 --- a/Documentation/arm64/pointer-authentication.rst +++ b/Documentation/arm64/pointer-authentication.rst @@ -53,10 +53,11 @@ The number of bits that the PAC occupies in a pointer is 55 minus the virtual address size configured by the kernel. For example, with a virtual address size of 48, the PAC is 7 bits wide. -When ARM64_PTR_AUTH_KERNEL is selected, the kernel will be compiled -with HINT space pointer authentication instructions protecting -function returns. Kernels built with this option will work on hardware -with or without pointer authentication support. +Recent versions of GCC can compile code with APIAKey-based return +address protection when passed the -msign-return-address option. This +uses instructions in the HINT space (unless -march=armv8.3-a or higher +is also passed), and such code can run on systems without the pointer +authentication extension. In addition to exec(), keys can also be reinitialized to random values using the PR_PAC_RESET_KEYS prctl. A bitmask of PR_PAC_APIAKEY, diff --git a/Documentation/arm64/silicon-errata.rst b/Documentation/arm64/silicon-errata.rst index ea281dd755..d410a47ffa 100644 --- a/Documentation/arm64/silicon-errata.rst +++ b/Documentation/arm64/silicon-errata.rst @@ -52,12 +52,6 @@ stable kernels. | Allwinner | A64/R18 | UNKNOWN1 | SUN50I_ERRATUM_UNKNOWN1 | +----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+ -| ARM | Cortex-A510 | #2064142 | ARM64_ERRATUM_2064142 | -+----------------+-----------------+-----------------+-----------------------------+ -| ARM | Cortex-A510 | #2038923 | ARM64_ERRATUM_2038923 | -+----------------+-----------------+-----------------+-----------------------------+ -| ARM | Cortex-A510 | #1902691 | ARM64_ERRATUM_1902691 | -+----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A53 | #826319 | ARM64_ERRATUM_826319 | +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A53 | #827319 | ARM64_ERRATUM_827319 | @@ -98,32 +92,12 @@ stable kernels. +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A77 | #1508412 | ARM64_ERRATUM_1508412 | +----------------+-----------------+-----------------+-----------------------------+ -| ARM | Cortex-A510 | #2051678 | ARM64_ERRATUM_2051678 | -+----------------+-----------------+-----------------+-----------------------------+ -| ARM | Cortex-A510 | #2077057 | ARM64_ERRATUM_2077057 | -+----------------+-----------------+-----------------+-----------------------------+ -| ARM | Cortex-A710 | #2119858 | ARM64_ERRATUM_2119858 | -+----------------+-----------------+-----------------+-----------------------------+ -| ARM | Cortex-A710 | #2054223 | ARM64_ERRATUM_2054223 | -+----------------+-----------------+-----------------+-----------------------------+ -| ARM | Cortex-A710 | #2224489 | ARM64_ERRATUM_2224489 | -+----------------+-----------------+-----------------+-----------------------------+ -| ARM | Cortex-X2 | #2119858 | ARM64_ERRATUM_2119858 | -+----------------+-----------------+-----------------+-----------------------------+ -| ARM | Cortex-X2 | #2224489 | ARM64_ERRATUM_2224489 | -+----------------+-----------------+-----------------+-----------------------------+ | ARM | Neoverse-N1 | #1188873,1418040| ARM64_ERRATUM_1418040 | +----------------+-----------------+-----------------+-----------------------------+ | ARM | Neoverse-N1 | #1349291 | N/A | +----------------+-----------------+-----------------+-----------------------------+ | ARM | Neoverse-N1 | #1542419 | ARM64_ERRATUM_1542419 | +----------------+-----------------+-----------------+-----------------------------+ -| ARM | Neoverse-N2 | #2139208 | ARM64_ERRATUM_2139208 | -+----------------+-----------------+-----------------+-----------------------------+ -| ARM | Neoverse-N2 | #2067961 | ARM64_ERRATUM_2067961 | -+----------------+-----------------+-----------------+-----------------------------+ -| ARM | Neoverse-N2 | #2253138 | ARM64_ERRATUM_2253138 | -+----------------+-----------------+-----------------+-----------------------------+ | ARM | MMU-500 | #841119,826419 | N/A | +----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+ diff --git a/Documentation/arm64/sve.rst b/Documentation/arm64/sve.rst index 9d9a4de5bc..0313715429 100644 --- a/Documentation/arm64/sve.rst +++ b/Documentation/arm64/sve.rst @@ -255,7 +255,7 @@ prctl(PR_SVE_GET_VL) vector length change (which would only normally be the case between a fork() or vfork() and the corresponding execve() in typical use). - To extract the vector length from the result, bitwise and it with + To extract the vector length from the result, and it with PR_SVE_VL_LEN_MASK. Return value: a nonnegative value on success, or a negative value on error: diff --git a/Documentation/arm64/tagged-address-abi.rst b/Documentation/arm64/tagged-address-abi.rst index 540a1d4fc6..0c9120ec58 100644 --- a/Documentation/arm64/tagged-address-abi.rst +++ b/Documentation/arm64/tagged-address-abi.rst @@ -49,7 +49,7 @@ how the user addresses are used by the kernel: - ``brk()``, ``mmap()`` and the ``new_address`` argument to ``mremap()`` as these have the potential to alias with existing - user addresses. + user addresses. NOTE: This behaviour changed in v5.6 and so some earlier kernels may incorrectly accept valid tagged pointers for the ``brk()``, diff --git a/Documentation/block/index.rst b/Documentation/block/index.rst index 3a41495dd7..86dcf7159f 100644 --- a/Documentation/block/index.rst +++ b/Documentation/block/index.rst @@ -20,6 +20,7 @@ Block kyber-iosched null_blk pr + queue-sysfs request stat switching-sched diff --git a/Documentation/block/inline-encryption.rst b/Documentation/block/inline-encryption.rst index 4d151fbe20..7f9b40d6b4 100644 --- a/Documentation/block/inline-encryption.rst +++ b/Documentation/block/inline-encryption.rst @@ -1,7 +1,5 @@ .. SPDX-License-Identifier: GPL-2.0 -.. _inline_encryption: - ================= Inline Encryption ================= @@ -9,269 +7,230 @@ Inline Encryption Background ========== -Inline encryption hardware sits logically between memory and disk, and can -en/decrypt data as it goes in/out of the disk. For each I/O request, software -can control exactly how the inline encryption hardware will en/decrypt the data -in terms of key, algorithm, data unit size (the granularity of en/decryption), -and data unit number (a value that determines the initialization vector(s)). +Inline encryption hardware sits logically between memory and the disk, and can +en/decrypt data as it goes in/out of the disk. Inline encryption hardware has a +fixed number of "keyslots" - slots into which encryption contexts (i.e. the +encryption key, encryption algorithm, data unit size) can be programmed by the +kernel at any time. Each request sent to the disk can be tagged with the index +of a keyslot (and also a data unit number to act as an encryption tweak), and +the inline encryption hardware will en/decrypt the data in the request with the +encryption context programmed into that keyslot. This is very different from +full disk encryption solutions like self encrypting drives/TCG OPAL/ATA +Security standards, since with inline encryption, any block on disk could be +encrypted with any encryption context the kernel chooses. -Some inline encryption hardware accepts all encryption parameters including raw -keys directly in low-level I/O requests. However, most inline encryption -hardware instead has a fixed number of "keyslots" and requires that the key, -algorithm, and data unit size first be programmed into a keyslot. Each -low-level I/O request then just contains a keyslot index and data unit number. - -Note that inline encryption hardware is very different from traditional crypto -accelerators, which are supported through the kernel crypto API. Traditional -crypto accelerators operate on memory regions, whereas inline encryption -hardware operates on I/O requests. Thus, inline encryption hardware needs to be -managed by the block layer, not the kernel crypto API. - -Inline encryption hardware is also very different from "self-encrypting drives", -such as those based on the TCG Opal or ATA Security standards. Self-encrypting -drives don't provide fine-grained control of encryption and provide no way to -verify the correctness of the resulting ciphertext. Inline encryption hardware -provides fine-grained control of encryption, including the choice of key and -initialization vector for each sector, and can be tested for correctness. Objective ========= -We want to support inline encryption in the kernel. To make testing easier, we -also want support for falling back to the kernel crypto API when actual inline -encryption hardware is absent. We also want inline encryption to work with -layered devices like device-mapper and loopback (i.e. we want to be able to use -the inline encryption hardware of the underlying devices if present, or else -fall back to crypto API en/decryption). +We want to support inline encryption (IE) in the kernel. +To allow for testing, we also want a crypto API fallback when actual +IE hardware is absent. We also want IE to work with layered devices +like dm and loopback (i.e. we want to be able to use the IE hardware +of the underlying devices if present, or else fall back to crypto API +en/decryption). + Constraints and notes ===================== -- We need a way for upper layers (e.g. filesystems) to specify an encryption - context to use for en/decrypting a bio, and device drivers (e.g. UFSHCD) need - to be able to use that encryption context when they process the request. - Encryption contexts also introduce constraints on bio merging; the block layer - needs to be aware of these constraints. +- IE hardware has a limited number of "keyslots" that can be programmed + with an encryption context (key, algorithm, data unit size, etc.) at any time. + One can specify a keyslot in a data request made to the device, and the + device will en/decrypt the data using the encryption context programmed into + that specified keyslot. When possible, we want to make multiple requests with + the same encryption context share the same keyslot. -- Different inline encryption hardware has different supported algorithms, - supported data unit sizes, maximum data unit numbers, etc. We call these - properties the "crypto capabilities". We need a way for device drivers to - advertise crypto capabilities to upper layers in a generic way. +- We need a way for upper layers like filesystems to specify an encryption + context to use for en/decrypting a struct bio, and a device driver (like UFS) + needs to be able to use that encryption context when it processes the bio. -- Inline encryption hardware usually (but not always) requires that keys be - programmed into keyslots before being used. Since programming keyslots may be - slow and there may not be very many keyslots, we shouldn't just program the - key for every I/O request, but rather keep track of which keys are in the - keyslots and reuse an already-programmed keyslot when possible. +- We need a way for device drivers to expose their inline encryption + capabilities in a unified way to the upper layers. -- Upper layers typically define a specific end-of-life for crypto keys, e.g. - when an encrypted directory is locked or when a crypto mapping is torn down. - At these times, keys are wiped from memory. We must provide a way for upper - layers to also evict keys from any keyslots they are present in. -- When possible, device-mapper devices must be able to pass through the inline - encryption support of their underlying devices. However, it doesn't make - sense for device-mapper devices to have keyslots themselves. +Design +====== -Basic design -============ +We add a struct bio_crypt_ctx to struct bio that can +represent an encryption context, because we need to be able to pass this +encryption context from the upper layers (like the fs layer) to the +device driver to act upon. -We introduce ``struct blk_crypto_key`` to represent an inline encryption key and -how it will be used. This includes the actual bytes of the key; the size of the -key; the algorithm and data unit size the key will be used with; and the number -of bytes needed to represent the maximum data unit number the key will be used -with. +While IE hardware works on the notion of keyslots, the FS layer has no +knowledge of keyslots - it simply wants to specify an encryption context to +use while en/decrypting a bio. -We introduce ``struct bio_crypt_ctx`` to represent an encryption context. It -contains a data unit number and a pointer to a blk_crypto_key. We add pointers -to a bio_crypt_ctx to ``struct bio`` and ``struct request``; this allows users -of the block layer (e.g. filesystems) to provide an encryption context when -creating a bio and have it be passed down the stack for processing by the block -layer and device drivers. Note that the encryption context doesn't explicitly -say whether to encrypt or decrypt, as that is implicit from the direction of the -bio; WRITE means encrypt, and READ means decrypt. +We introduce a keyslot manager (KSM) that handles the translation from +encryption contexts specified by the FS to keyslots on the IE hardware. +This KSM also serves as the way IE hardware can expose its capabilities to +upper layers. The generic mode of operation is: each device driver that wants +to support IE will construct a KSM and set it up in its struct request_queue. +Upper layers that want to use IE on this device can then use this KSM in +the device's struct request_queue to translate an encryption context into +a keyslot. The presence of the KSM in the request queue shall be used to mean +that the device supports IE. -We also introduce ``struct blk_crypto_profile`` to contain all generic inline -encryption-related state for a particular inline encryption device. The -blk_crypto_profile serves as the way that drivers for inline encryption hardware -advertise their crypto capabilities and provide certain functions (e.g., -functions to program and evict keys) to upper layers. Each device driver that -wants to support inline encryption will construct a blk_crypto_profile, then -associate it with the disk's request_queue. +The KSM uses refcounts to track which keyslots are idle (either they have no +encryption context programmed, or there are no in-flight struct bios +referencing that keyslot). When a new encryption context needs a keyslot, it +tries to find a keyslot that has already been programmed with the same +encryption context, and if there is no such keyslot, it evicts the least +recently used idle keyslot and programs the new encryption context into that +one. If no idle keyslots are available, then the caller will sleep until there +is at least one. -The blk_crypto_profile also manages the hardware's keyslots, when applicable. -This happens in the block layer, so that users of the block layer can just -specify encryption contexts and don't need to know about keyslots at all, nor do -device drivers need to care about most details of keyslot management. -Specifically, for each keyslot, the block layer (via the blk_crypto_profile) -keeps track of which blk_crypto_key that keyslot contains (if any), and how many -in-flight I/O requests are using it. When the block layer creates a -``struct request`` for a bio that has an encryption context, it grabs a keyslot -that already contains the key if possible. Otherwise it waits for an idle -keyslot (a keyslot that isn't in-use by any I/O), then programs the key into the -least-recently-used idle keyslot using the function the device driver provided. -In both cases, the resulting keyslot is stored in the ``crypt_keyslot`` field of -the request, where it is then accessible to device drivers and is released after -the request completes. +blk-mq changes, other block layer changes and blk-crypto-fallback +================================================================= -``struct request`` also contains a pointer to the original bio_crypt_ctx. -Requests can be built from multiple bios, and the block layer must take the -encryption context into account when trying to merge bios and requests. For two -bios/requests to be merged, they must have compatible encryption contexts: both -unencrypted, or both encrypted with the same key and contiguous data unit -numbers. Only the encryption context for the first bio in a request is -retained, since the remaining bios have been verified to be merge-compatible -with the first bio. +We add a pointer to a ``bi_crypt_context`` and ``keyslot`` to +struct request. These will be referred to as the ``crypto fields`` +for the request. This ``keyslot`` is the keyslot into which the +``bi_crypt_context`` has been programmed in the KSM of the ``request_queue`` +that this request is being sent to. -To make it possible for inline encryption to work with request_queue based -layered devices, when a request is cloned, its encryption context is cloned as -well. When the cloned request is submitted, it is then processed as usual; this -includes getting a keyslot from the clone's target device if needed. +We introduce ``block/blk-crypto-fallback.c``, which allows upper layers to remain +blissfully unaware of whether or not real inline encryption hardware is present +underneath. When a bio is submitted with a target ``request_queue`` that doesn't +support the encryption context specified with the bio, the block layer will +en/decrypt the bio with the blk-crypto-fallback. -blk-crypto-fallback -=================== +If the bio is a ``WRITE`` bio, a bounce bio is allocated, and the data in the bio +is encrypted stored in the bounce bio - blk-mq will then proceed to process the +bounce bio as if it were not encrypted at all (except when blk-integrity is +concerned). ``blk-crypto-fallback`` sets the bounce bio's ``bi_end_io`` to an +internal function that cleans up the bounce bio and ends the original bio. -It is desirable for the inline encryption support of upper layers (e.g. -filesystems) to be testable without real inline encryption hardware, and -likewise for the block layer's keyslot management logic. It is also desirable -to allow upper layers to just always use inline encryption rather than have to -implement encryption in multiple ways. +If the bio is a ``READ`` bio, the bio's ``bi_end_io`` (and also ``bi_private``) +is saved and overwritten by ``blk-crypto-fallback`` to +``bio_crypto_fallback_decrypt_bio``. The bio's ``bi_crypt_context`` is also +overwritten with ``NULL``, so that to the rest of the stack, the bio looks +as if it was a regular bio that never had an encryption context specified. +``bio_crypto_fallback_decrypt_bio`` will decrypt the bio, restore the original +``bi_end_io`` (and also ``bi_private``) and end the bio again. -Therefore, we also introduce *blk-crypto-fallback*, which is an implementation -of inline encryption using the kernel crypto API. blk-crypto-fallback is built -into the block layer, so it works on any block device without any special setup. -Essentially, when a bio with an encryption context is submitted to a -request_queue that doesn't support that encryption context, the block layer will -handle en/decryption of the bio using blk-crypto-fallback. - -For encryption, the data cannot be encrypted in-place, as callers usually rely -on it being unmodified. Instead, blk-crypto-fallback allocates bounce pages, -fills a new bio with those bounce pages, encrypts the data into those bounce -pages, and submits that "bounce" bio. When the bounce bio completes, -blk-crypto-fallback completes the original bio. If the original bio is too -large, multiple bounce bios may be required; see the code for details. - -For decryption, blk-crypto-fallback "wraps" the bio's completion callback -(``bi_complete``) and private data (``bi_private``) with its own, unsets the -bio's encryption context, then submits the bio. If the read completes -successfully, blk-crypto-fallback restores the bio's original completion -callback and private data, then decrypts the bio's data in-place using the -kernel crypto API. Decryption happens from a workqueue, as it may sleep. -Afterwards, blk-crypto-fallback completes the bio. - -In both cases, the bios that blk-crypto-fallback submits no longer have an -encryption context. Therefore, lower layers only see standard unencrypted I/O. - -blk-crypto-fallback also defines its own blk_crypto_profile and has its own -"keyslots"; its keyslots contain ``struct crypto_skcipher`` objects. The reason -for this is twofold. First, it allows the keyslot management logic to be tested -without actual inline encryption hardware. Second, similar to actual inline -encryption hardware, the crypto API doesn't accept keys directly in requests but -rather requires that keys be set ahead of time, and setting keys can be -expensive; moreover, allocating a crypto_skcipher can't happen on the I/O path -at all due to the locks it takes. Therefore, the concept of keyslots still -makes sense for blk-crypto-fallback. - -Note that regardless of whether real inline encryption hardware or +Regardless of whether real inline encryption hardware is used or the blk-crypto-fallback is used, the ciphertext written to disk (and hence the -on-disk format of data) will be the same (assuming that both the inline -encryption hardware's implementation and the kernel crypto API's implementation -of the algorithm being used adhere to spec and function correctly). +on-disk format of data) will be the same (assuming the hardware's implementation +of the algorithm being used adheres to spec and functions correctly). + +If a ``request queue``'s inline encryption hardware claimed to support the +encryption context specified with a bio, then it will not be handled by the +``blk-crypto-fallback``. We will eventually reach a point in blk-mq when a +struct request needs to be allocated for that bio. At that point, +blk-mq tries to program the encryption context into the ``request_queue``'s +keyslot_manager, and obtain a keyslot, which it stores in its newly added +``keyslot`` field. This keyslot is released when the request is completed. + +When the first bio is added to a request, ``blk_crypto_rq_bio_prep`` is called, +which sets the request's ``crypt_ctx`` to a copy of the bio's +``bi_crypt_context``. bio_crypt_do_front_merge is called whenever a subsequent +bio is merged to the front of the request, which updates the ``crypt_ctx`` of +the request so that it matches the newly merged bio's ``bi_crypt_context``. In particular, the request keeps a copy of the ``bi_crypt_context`` of the first +bio in its bio-list (blk-mq needs to be careful to maintain this invariant +during bio and request merges). + +To make it possible for inline encryption to work with request queue based +layered devices, when a request is cloned, its ``crypto fields`` are cloned as +well. When the cloned request is submitted, blk-mq programs the +``bi_crypt_context`` of the request into the clone's request_queue's keyslot +manager, and stores the returned keyslot in the clone's ``keyslot``. -blk-crypto-fallback is optional and is controlled by the -``CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK`` kernel configuration option. API presented to users of the block layer ========================================= -``blk_crypto_config_supported()`` allows users to check ahead of time whether -inline encryption with particular crypto settings will work on a particular -request_queue -- either via hardware or via blk-crypto-fallback. This function -takes in a ``struct blk_crypto_config`` which is like blk_crypto_key, but omits -the actual bytes of the key and instead just contains the algorithm, data unit -size, etc. This function can be useful if blk-crypto-fallback is disabled. +``struct blk_crypto_key`` represents a crypto key (the raw key, size of the +key, the crypto algorithm to use, the data unit size to use, and the number of +bytes required to represent data unit numbers that will be specified with the +``bi_crypt_context``). -``blk_crypto_init_key()`` allows users to initialize a blk_crypto_key. +``blk_crypto_init_key`` allows upper layers to initialize such a +``blk_crypto_key``. -Users must call ``blk_crypto_start_using_key()`` before actually starting to use -a blk_crypto_key on a request_queue (even if ``blk_crypto_config_supported()`` -was called earlier). This is needed to initialize blk-crypto-fallback if it -will be needed. This must not be called from the data path, as this may have to -allocate resources, which may deadlock in that case. +``bio_crypt_set_ctx`` should be called on any bio that a user of +the block layer wants en/decrypted via inline encryption (or the +blk-crypto-fallback, if hardware support isn't available for the desired +crypto configuration). This function takes the ``blk_crypto_key`` and the +data unit number (DUN) to use when en/decrypting the bio. -Next, to attach an encryption context to a bio, users should call -``bio_crypt_set_ctx()``. This function allocates a bio_crypt_ctx and attaches -it to a bio, given the blk_crypto_key and the data unit number that will be used -for en/decryption. Users don't need to worry about freeing the bio_crypt_ctx -later, as that happens automatically when the bio is freed or reset. +``blk_crypto_config_supported`` allows upper layers to query whether or not the +an encryption context passed to request queue can be handled by blk-crypto +(either by real inline encryption hardware, or by the blk-crypto-fallback). +This is useful e.g. when blk-crypto-fallback is disabled, and the upper layer +wants to use an algorithm that may not supported by hardware - this function +lets the upper layer know ahead of time that the algorithm isn't supported, +and the upper layer can fallback to something else if appropriate. -Finally, when done using inline encryption with a blk_crypto_key on a -request_queue, users must call ``blk_crypto_evict_key()``. This ensures that -the key is evicted from all keyslots it may be programmed into and unlinked from -any kernel data structures it may be linked into. +``blk_crypto_start_using_key`` - Upper layers must call this function on +``blk_crypto_key`` and a ``request_queue`` before using the key with any bio +headed for that ``request_queue``. This function ensures that either the +hardware supports the key's crypto settings, or the crypto API fallback has +transforms for the needed mode allocated and ready to go. Note that this +function may allocate an ``skcipher``, and must not be called from the data +path, since allocating ``skciphers`` from the data path can deadlock. -In summary, for users of the block layer, the lifecycle of a blk_crypto_key is -as follows: - -1. ``blk_crypto_config_supported()`` (optional) -2. ``blk_crypto_init_key()`` -3. ``blk_crypto_start_using_key()`` -4. ``bio_crypt_set_ctx()`` (potentially many times) -5. ``blk_crypto_evict_key()`` (after all I/O has completed) -6. Zeroize the blk_crypto_key (this has no dedicated function) - -If a blk_crypto_key is being used on multiple request_queues, then -``blk_crypto_config_supported()`` (if used), ``blk_crypto_start_using_key()``, -and ``blk_crypto_evict_key()`` must be called on each request_queue. +``blk_crypto_evict_key`` *must* be called by upper layers before a +``blk_crypto_key`` is freed. Further, it *must* only be called only once +there are no more in-flight requests that use that ``blk_crypto_key``. +``blk_crypto_evict_key`` will ensure that a key is removed from any keyslots in +inline encryption hardware that the key might have been programmed into (or the blk-crypto-fallback). API presented to device drivers =============================== -A device driver that wants to support inline encryption must set up a -blk_crypto_profile in the request_queue of its device. To do this, it first -must call ``blk_crypto_profile_init()`` (or its resource-managed variant -``devm_blk_crypto_profile_init()``), providing the number of keyslots. +A :c:type:``struct blk_keyslot_manager`` should be set up by device drivers in +the ``request_queue`` of the device. The device driver needs to call +``blk_ksm_init`` (or its resource-managed variant ``devm_blk_ksm_init``) on the +``blk_keyslot_manager``, while specifying the number of keyslots supported by +the hardware. -Next, it must advertise its crypto capabilities by setting fields in the -blk_crypto_profile, e.g. ``modes_supported`` and ``max_dun_bytes_supported``. +The device driver also needs to tell the KSM how to actually manipulate the +IE hardware in the device to do things like programming the crypto key into +the IE hardware into a particular keyslot. All this is achieved through the +struct blk_ksm_ll_ops field in the KSM that the device driver +must fill up after initing the ``blk_keyslot_manager``. -It then must set function pointers in the ``ll_ops`` field of the -blk_crypto_profile to tell upper layers how to control the inline encryption -hardware, e.g. how to program and evict keyslots. Most drivers will need to -implement ``keyslot_program`` and ``keyslot_evict``. For details, see the -comments for ``struct blk_crypto_ll_ops``. +The KSM also handles runtime power management for the device when applicable +(e.g. when it wants to program a crypto key into the IE hardware, the device +must be runtime powered on) - so the device driver must also set the ``dev`` +field in the ksm to point to the `struct device` for the KSM to use for runtime +power management. -Once the driver registers a blk_crypto_profile with a request_queue, I/O -requests the driver receives via that queue may have an encryption context. All -encryption contexts will be compatible with the crypto capabilities declared in -the blk_crypto_profile, so drivers don't need to worry about handling -unsupported requests. Also, if a nonzero number of keyslots was declared in the -blk_crypto_profile, then all I/O requests that have an encryption context will -also have a keyslot which was already programmed with the appropriate key. +``blk_ksm_reprogram_all_keys`` can be called by device drivers if the device +needs each and every of its keyslots to be reprogrammed with the key it +"should have" at the point in time when the function is called. This is useful +e.g. if a device loses all its keys on runtime power down/up. -If the driver implements runtime suspend and its blk_crypto_ll_ops don't work -while the device is runtime-suspended, then the driver must also set the ``dev`` -field of the blk_crypto_profile to point to the ``struct device`` that will be -resumed before any of the low-level operations are called. - -If there are situations where the inline encryption hardware loses the contents -of its keyslots, e.g. device resets, the driver must handle reprogramming the -keyslots. To do this, the driver may call ``blk_crypto_reprogram_all_keys()``. - -Finally, if the driver used ``blk_crypto_profile_init()`` instead of -``devm_blk_crypto_profile_init()``, then it is responsible for calling -``blk_crypto_profile_destroy()`` when the crypto profile is no longer needed. +If the driver used ``blk_ksm_init`` instead of ``devm_blk_ksm_init``, then +``blk_ksm_destroy`` should be called to free up all resources used by a +``blk_keyslot_manager`` once it is no longer needed. Layered Devices =============== -Request queue based layered devices like dm-rq that wish to support inline -encryption need to create their own blk_crypto_profile for their request_queue, -and expose whatever functionality they choose. When a layered device wants to -pass a clone of that request to another request_queue, blk-crypto will -initialize and prepare the clone as necessary; see -``blk_crypto_insert_cloned_request()``. +Request queue based layered devices like dm-rq that wish to support IE need to +create their own keyslot manager for their request queue, and expose whatever +functionality they choose. When a layered device wants to pass a clone of that +request to another ``request_queue``, blk-crypto will initialize and prepare the +clone as necessary - see ``blk_crypto_insert_cloned_request`` in +``blk-crypto.c``. + + +Future Optimizations for layered devices +======================================== + +Creating a keyslot manager for a layered device uses up memory for each +keyslot, and in general, a layered device merely passes the request on to a +"child" device, so the keyslots in the layered device itself are completely +unused, and don't need any refcounting or keyslot programming. We can instead +define a new type of KSM; the "passthrough KSM", that layered devices can use +to advertise an unlimited number of keyslots, and support for any encryption +algorithms they choose, while not actually using any memory for each keyslot. +Another use case for the "passthrough KSM" is for IE devices that do not have a +limited number of keyslots. + Interaction between inline encryption and blk integrity ======================================================= @@ -298,7 +257,7 @@ Because there isn't any real hardware yet, it seems prudent to assume that hardware implementations might not implement both features together correctly, and disallow the combination for now. Whenever a device supports integrity, the kernel will pretend that the device does not support hardware inline encryption -(by setting the blk_crypto_profile in the request_queue of the device to NULL). -When the crypto API fallback is enabled, this means that all bios with and -encryption context will use the fallback, and IO will complete as usual. When -the fallback is disabled, a bio with an encryption context will be failed. +(by essentially setting the keyslot manager in the request_queue of the device +to NULL). When the crypto API fallback is enabled, this means that all bios with +and encryption context will use the fallback, and IO will complete as usual. +When the fallback is disabled, a bio with an encryption context will be failed. diff --git a/Documentation/bpf/btf.rst b/Documentation/bpf/btf.rst index 1ebf4c5c7d..846354cd2d 100644 --- a/Documentation/bpf/btf.rst +++ b/Documentation/bpf/btf.rst @@ -3,7 +3,7 @@ BPF Type Format (BTF) ===================== 1. Introduction -=============== +*************** BTF (BPF Type Format) is the metadata format which encodes the debug info related to BPF program/map. The name BTF was used initially to describe data @@ -30,7 +30,7 @@ sections are discussed in details in :ref:`BTF_Type_String`. .. _BTF_Type_String: 2. BTF Type and String Encoding -=============================== +******************************* The file ``include/uapi/linux/btf.h`` provides high-level definition of how types/strings are encoded. @@ -57,13 +57,13 @@ little-endian target. The ``btf_header`` is designed to be extensible with generated. 2.1 String Encoding -------------------- +=================== The first string in the string section must be a null string. The rest of string table is a concatenation of other null-terminated strings. 2.2 Type Encoding ------------------ +================= The type id ``0`` is reserved for ``void`` type. The type section is parsed sequentially and type id is assigned to each recognized type starting from id @@ -85,8 +85,6 @@ sequentially and type id is assigned to each recognized type starting from id #define BTF_KIND_VAR 14 /* Variable */ #define BTF_KIND_DATASEC 15 /* Section */ #define BTF_KIND_FLOAT 16 /* Floating point */ - #define BTF_KIND_DECL_TAG 17 /* Decl Tag */ - #define BTF_KIND_TYPE_TAG 18 /* Type Tag */ Note that the type section encodes debug info, not just pure types. ``BTF_KIND_FUNC`` is not a type, and it represents a defined subprogram. @@ -108,7 +106,7 @@ Each type contains the following common data:: * "size" tells the size of the type it is describing. * * "type" is used by PTR, TYPEDEF, VOLATILE, CONST, RESTRICT, - * FUNC, FUNC_PROTO, DECL_TAG and TYPE_TAG. + * FUNC and FUNC_PROTO. * "type" is a type_id referring to another type. */ union { @@ -467,44 +465,8 @@ map definition. No additional type data follow ``btf_type``. -2.2.17 BTF_KIND_DECL_TAG -~~~~~~~~~~~~~~~~~~~~~~~~ - -``struct btf_type`` encoding requirement: - * ``name_off``: offset to a non-empty string - * ``info.kind_flag``: 0 - * ``info.kind``: BTF_KIND_DECL_TAG - * ``info.vlen``: 0 - * ``type``: ``struct``, ``union``, ``func``, ``var`` or ``typedef`` - -``btf_type`` is followed by ``struct btf_decl_tag``.:: - - struct btf_decl_tag { - __u32 component_idx; - }; - -The ``name_off`` encodes btf_decl_tag attribute string. -The ``type`` should be ``struct``, ``union``, ``func``, ``var`` or ``typedef``. -For ``var`` or ``typedef`` type, ``btf_decl_tag.component_idx`` must be ``-1``. -For the other three types, if the btf_decl_tag attribute is -applied to the ``struct``, ``union`` or ``func`` itself, -``btf_decl_tag.component_idx`` must be ``-1``. Otherwise, -the attribute is applied to a ``struct``/``union`` member or -a ``func`` argument, and ``btf_decl_tag.component_idx`` should be a -valid index (starting from 0) pointing to a member or an argument. - -2.2.17 BTF_KIND_TYPE_TAG -~~~~~~~~~~~~~~~~~~~~~~~~ - -``struct btf_type`` encoding requirement: - * ``name_off``: offset to a non-empty string - * ``info.kind_flag``: 0 - * ``info.kind``: BTF_KIND_TYPE_TAG - * ``info.vlen``: 0 - * ``type``: the type with ``btf_type_tag`` attribute - 3. BTF Kernel API -================= +***************** The following bpf syscall command involves BTF: * BPF_BTF_LOAD: load a blob of BTF data into kernel @@ -547,14 +509,14 @@ The workflow typically looks like: 3.1 BPF_BTF_LOAD ----------------- +================ Load a blob of BTF data into kernel. A blob of data, described in :ref:`BTF_Type_String`, can be directly loaded into the kernel. A ``btf_fd`` is returned to a userspace. 3.2 BPF_MAP_CREATE ------------------- +================== A map can be created with ``btf_fd`` and specified key/value type id.:: @@ -581,7 +543,7 @@ automatically. .. _BPF_Prog_Load: 3.3 BPF_PROG_LOAD ------------------ +================= During prog_load, func_info and line_info can be passed to kernel with proper values for the following attributes: @@ -631,7 +593,7 @@ For line_info, the line number and column number are defined as below: #define BPF_LINE_INFO_LINE_COL(line_col) ((line_col) & 0x3ff) 3.4 BPF_{PROG,MAP}_GET_NEXT_ID ------------------------------- +============================== In kernel, every loaded program, map or btf has a unique id. The id won't change during the lifetime of a program, map, or btf. @@ -641,13 +603,13 @@ each command, to user space, for bpf program or maps, respectively, so an inspection tool can inspect all programs and maps. 3.5 BPF_{PROG,MAP}_GET_FD_BY_ID -------------------------------- +=============================== An introspection tool cannot use id to get details about program or maps. A file descriptor needs to be obtained first for reference-counting purpose. 3.6 BPF_OBJ_GET_INFO_BY_FD --------------------------- +========================== Once a program/map fd is acquired, an introspection tool can get the detailed information from kernel about this fd, some of which are BTF-related. For @@ -656,7 +618,7 @@ example, ``bpf_map_info`` returns ``btf_id`` and key/value type ids. bpf byte codes, and jited_line_info. 3.7 BPF_BTF_GET_FD_BY_ID ------------------------- +======================== With ``btf_id`` obtained in ``bpf_map_info`` and ``bpf_prog_info``, bpf syscall command BPF_BTF_GET_FD_BY_ID can retrieve a btf fd. Then, with @@ -668,10 +630,10 @@ tool has full btf knowledge and is able to pretty print map key/values, dump func signatures and line info, along with byte/jit codes. 4. ELF File Format Interface -============================ +**************************** 4.1 .BTF section ----------------- +================ The .BTF section contains type and string data. The format of this section is same as the one describe in :ref:`BTF_Type_String`. @@ -679,7 +641,7 @@ same as the one describe in :ref:`BTF_Type_String`. .. _BTF_Ext_Section: 4.2 .BTF.ext section --------------------- +==================== The .BTF.ext section encodes func_info and line_info which needs loader manipulation before loading into the kernel. @@ -743,7 +705,7 @@ bpf_insn``. For ELF API, the ``insn_off`` is the byte offset from the beginning of section (``btf_ext_info_sec->sec_name_off``). 4.2 .BTF_ids section --------------------- +==================== The .BTF_ids section encodes BTF ID values that are used within the kernel. @@ -804,10 +766,10 @@ All the BTF ID lists and sets are compiled in the .BTF_ids section and resolved during the linking phase of kernel build by ``resolve_btfids`` tool. 5. Using BTF -============ +************ 5.1 bpftool map pretty print ----------------------------- +============================ With BTF, the map key/value can be printed based on fields rather than simply raw bytes. This is especially valuable for large structure or if your data @@ -849,7 +811,7 @@ bpftool is able to pretty print like below: ] 5.2 bpftool prog dump ---------------------- +===================== The following is an example showing how func_info and line_info can help prog dump with better kernel symbol names, function prototypes and line @@ -883,7 +845,7 @@ information.:: [...] 5.3 Verifier Log ----------------- +================ The following is an example of how line_info can help debugging verification failure.:: @@ -909,7 +871,7 @@ failure.:: R2 offset is outside of the packet 6. BTF Generation -================= +***************** You need latest pahole @@ -1016,6 +978,6 @@ format.:: .long 8206 # Line 8 Col 14 7. Testing -========== +********** Kernel bpf selftest `test_btf.c` provides extensive set of BTF-related tests. diff --git a/Documentation/bpf/index.rst b/Documentation/bpf/index.rst index ef5c996547..1ceb5d704a 100644 --- a/Documentation/bpf/index.rst +++ b/Documentation/bpf/index.rst @@ -5,33 +5,95 @@ BPF Documentation This directory contains documentation for the BPF (Berkeley Packet Filter) facility, with a focus on the extended BPF version (eBPF). -This kernel side documentation is still work in progress. +This kernel side documentation is still work in progress. The main +textual documentation is (for historical reasons) described in +:ref:`networking-filter`, which describe both classical and extended +BPF instruction-set. The Cilium project also maintains a `BPF and XDP Reference Guide`_ that goes into great technical depth about the BPF Architecture. +libbpf +====== + +Documentation/bpf/libbpf/libbpf.rst is a userspace library for loading and interacting with bpf programs. + +BPF Type Format (BTF) +===================== + .. toctree:: :maxdepth: 1 - instruction-set - verifier - libbpf/index btf - faq - syscall_api - helpers - programs - maps - classic_vs_extended.rst - bpf_licensing - test_debug - other -.. only:: subproject and html - Indices - ======= +Frequently asked questions (FAQ) +================================ - * :ref:`genindex` +Two sets of Questions and Answers (Q&A) are maintained. + +.. toctree:: + :maxdepth: 1 + + bpf_design_QA + bpf_devel_QA + +Syscall API +=========== + +The primary info for the bpf syscall is available in the `man-pages`_ +for `bpf(2)`_. For more information about the userspace API, see +Documentation/userspace-api/ebpf/index.rst. + +Helper functions +================ + +* `bpf-helpers(7)`_ maintains a list of helpers available to eBPF programs. + + +Program types +============= + +.. toctree:: + :maxdepth: 1 + + prog_cgroup_sockopt + prog_cgroup_sysctl + prog_flow_dissector + bpf_lsm + prog_sk_lookup + + +Map types +========= + +.. toctree:: + :maxdepth: 1 + + map_cgroup_storage + + +Testing and debugging BPF +========================= + +.. toctree:: + :maxdepth: 1 + + drgn + s390 + + +Other +===== + +.. toctree:: + :maxdepth: 1 + + ringbuf + llvm_reloc .. Links: +.. _networking-filter: ../networking/filter.rst +.. _man-pages: https://www.kernel.org/doc/man-pages/ +.. _bpf(2): https://man7.org/linux/man-pages/man2/bpf.2.html +.. _bpf-helpers(7): https://man7.org/linux/man-pages/man7/bpf-helpers.7.html .. _BPF and XDP Reference Guide: https://docs.cilium.io/en/latest/bpf/ diff --git a/Documentation/bpf/libbpf/libbpf_naming_convention.rst b/Documentation/bpf/libbpf/libbpf_naming_convention.rst index f86360f734..9c68d5014f 100644 --- a/Documentation/bpf/libbpf/libbpf_naming_convention.rst +++ b/Documentation/bpf/libbpf/libbpf_naming_convention.rst @@ -150,46 +150,6 @@ mirror of the mainline's version of libbpf for a stand-alone build. However, all changes to libbpf's code base must be upstreamed through the mainline kernel tree. - -API documentation convention -============================ - -The libbpf API is documented via comments above definitions in -header files. These comments can be rendered by doxygen and sphinx -for well organized html output. This section describes the -convention in which these comments should be formated. - -Here is an example from btf.h: - -.. code-block:: c - - /** - * @brief **btf__new()** creates a new instance of a BTF object from the raw - * bytes of an ELF's BTF section - * @param data raw bytes - * @param size number of bytes passed in `data` - * @return new BTF object instance which has to be eventually freed with - * **btf__free()** - * - * On error, error-code-encoded-as-pointer is returned, not a NULL. To extract - * error code from such a pointer `libbpf_get_error()` should be used. If - * `libbpf_set_strict_mode(LIBBPF_STRICT_CLEAN_PTRS)` is enabled, NULL is - * returned on error instead. In both cases thread-local `errno` variable is - * always set to error code as well. - */ - -The comment must start with a block comment of the form '/\*\*'. - -The documentation always starts with a @brief directive. This line is a short -description about this API. It starts with the name of the API, denoted in bold -like so: **api_name**. Please include an open and close parenthesis if this is a -function. Follow with the short description of the API. A longer form description -can be added below the last directive, at the bottom of the comment. - -Parameters are denoted with the @param directive, there should be one for each -parameter. If this is a function with a non-void return, use the @return directive -to document it. - License ------------------- diff --git a/Documentation/cdrom/cdrom-standard.rst b/Documentation/cdrom/cdrom-standard.rst index 52ea7b6b2f..5845960ca3 100644 --- a/Documentation/cdrom/cdrom-standard.rst +++ b/Documentation/cdrom/cdrom-standard.rst @@ -907,17 +907,6 @@ commands can be identified by the underscores in their names. specifies the slot for which the information is given. The special value *CDSL_CURRENT* requests that information about the currently selected slot be returned. -`CDROM_TIMED_MEDIA_CHANGE` - Checks whether the disc has been changed since a user supplied time - and returns the time of the last disc change. - - *arg* is a pointer to a *cdrom_timed_media_change_info* struct. - *arg->last_media_change* may be set by calling code to signal - the timestamp of the last known media change (by the caller). - Upon successful return, this ioctl call will set - *arg->last_media_change* to the latest media change timestamp (in ms) - known by the kernel/driver and set *arg->has_changed* to 1 if - that timestamp is more recent than the timestamp set by the caller. `CDROM_DRIVE_STATUS` Returns the status of the drive by a call to *drive_status()*. Return values are defined in cdrom_drive_status_. diff --git a/Documentation/core-api/cachetlb.rst b/Documentation/core-api/cachetlb.rst index 5c0552e78c..8aed9103e4 100644 --- a/Documentation/core-api/cachetlb.rst +++ b/Documentation/core-api/cachetlb.rst @@ -326,12 +326,6 @@ maps this page at its virtual address. dirty. Again, see sparc64 for examples of how to deal with this. - ``void flush_dcache_folio(struct folio *folio)`` - This function is called under the same circumstances as - flush_dcache_page(). It allows the architecture to - optimise for flushing the entire folio of pages instead - of flushing one page at a time. - ``void copy_to_user_page(struct vm_area_struct *vma, struct page *page, unsigned long user_vaddr, void *dst, void *src, int len)`` ``void copy_from_user_page(struct vm_area_struct *vma, struct page *page, diff --git a/Documentation/core-api/dma-attributes.rst b/Documentation/core-api/dma-attributes.rst index 17706dc91e..1887d92e8e 100644 --- a/Documentation/core-api/dma-attributes.rst +++ b/Documentation/core-api/dma-attributes.rst @@ -130,11 +130,3 @@ accesses to DMA buffers in both privileged "supervisor" and unprivileged subsystem that the buffer is fully accessible at the elevated privilege level (and ideally inaccessible or at least read-only at the lesser-privileged levels). - -DMA_ATTR_OVERWRITE ------------------- - -This is a hint to the DMA-mapping subsystem that the device is expected to -overwrite the entire mapped size, thus the caller does not require any of the -previous buffer contents to be preserved. This allows bounce-buffering -implementations to optimise DMA_FROM_DEVICE transfers. diff --git a/Documentation/core-api/irq/irq-domain.rst b/Documentation/core-api/irq/irq-domain.rst index d30b4d0a97..9c0e875803 100644 --- a/Documentation/core-api/irq/irq-domain.rst +++ b/Documentation/core-api/irq/irq-domain.rst @@ -67,6 +67,9 @@ variety of methods: deprecated - generic_handle_domain_irq() handles an interrupt described by a domain and a hwirq number +- handle_domain_irq() does the same thing for root interrupt + controllers and deals with the set_irq_reg()/irq_enter() sequences + that most architecture requires Note that irq domain lookups must happen in contexts that are compatible with a RCU read-side critical section. diff --git a/Documentation/core-api/kernel-api.rst b/Documentation/core-api/kernel-api.rst index d6b3f94b9f..2e71868051 100644 --- a/Documentation/core-api/kernel-api.rst +++ b/Documentation/core-api/kernel-api.rst @@ -279,7 +279,6 @@ Accounting Framework Block Devices ============= -.. kernel-doc:: include/linux/bio.h .. kernel-doc:: block/blk-core.c :export: @@ -295,6 +294,9 @@ Block Devices .. kernel-doc:: block/blk-settings.c :export: +.. kernel-doc:: block/blk-exec.c + :export: + .. kernel-doc:: block/blk-flush.c :export: diff --git a/Documentation/core-api/kobject.rst b/Documentation/core-api/kobject.rst index 7310247310..2739f8b725 100644 --- a/Documentation/core-api/kobject.rst +++ b/Documentation/core-api/kobject.rst @@ -118,7 +118,7 @@ Initialization of kobjects Code which creates a kobject must, of course, initialize that object. Some of the internal fields are setup with a (mandatory) call to kobject_init():: - void kobject_init(struct kobject *kobj, const struct kobj_type *ktype); + void kobject_init(struct kobject *kobj, struct kobj_type *ktype); The ktype is required for a kobject to be created properly, as every kobject must have an associated kobj_type. After calling kobject_init(), to @@ -156,7 +156,7 @@ kobject_name():: There is a helper function to both initialize and add the kobject to the kernel at the same time, called surprisingly enough kobject_init_and_add():: - int kobject_init_and_add(struct kobject *kobj, const struct kobj_type *ktype, + int kobject_init_and_add(struct kobject *kobj, struct kobj_type *ktype, struct kobject *parent, const char *fmt, ...); The arguments are the same as the individual kobject_init() and @@ -299,6 +299,7 @@ kobj_type:: struct kobj_type { void (*release)(struct kobject *kobj); const struct sysfs_ops *sysfs_ops; + struct attribute **default_attrs; const struct attribute_group **default_groups; const struct kobj_ns_type_operations *(*child_ns_type)(struct kobject *kobj); const void *(*namespace)(struct kobject *kobj); @@ -312,10 +313,10 @@ call kobject_init() or kobject_init_and_add(). The release field in struct kobj_type is, of course, a pointer to the release() method for this type of kobject. The other two fields (sysfs_ops -and default_groups) control how objects of this type are represented in +and default_attrs) control how objects of this type are represented in sysfs; they are beyond the scope of this document. -The default_groups pointer is a list of default attributes that will be +The default_attrs pointer is a list of default attributes that will be automatically created for any kobject that is registered with this ktype. @@ -372,9 +373,10 @@ If a kset wishes to control the uevent operations of the kobjects associated with it, it can use the struct kset_uevent_ops to handle it:: struct kset_uevent_ops { - int (* const filter)(struct kobject *kobj); - const char *(* const name)(struct kobject *kobj); - int (* const uevent)(struct kobject *kobj, struct kobj_uevent_env *env); + int (* const filter)(struct kset *kset, struct kobject *kobj); + const char *(* const name)(struct kset *kset, struct kobject *kobj); + int (* const uevent)(struct kset *kset, struct kobject *kobj, + struct kobj_uevent_env *env); }; diff --git a/Documentation/core-api/memory-hotplug.rst b/Documentation/core-api/memory-hotplug.rst index 682259ee63..de7467e480 100644 --- a/Documentation/core-api/memory-hotplug.rst +++ b/Documentation/core-api/memory-hotplug.rst @@ -57,6 +57,7 @@ The third argument (arg) passes a pointer of struct memory_notify:: unsigned long start_pfn; unsigned long nr_pages; int status_change_nid_normal; + int status_change_nid_high; int status_change_nid; } @@ -64,6 +65,8 @@ The third argument (arg) passes a pointer of struct memory_notify:: - nr_pages is # of pages of online/offline memory. - status_change_nid_normal is set node id when N_NORMAL_MEMORY of nodemask is (will be) set/clear, if this is -1, then nodemask status is not changed. +- status_change_nid_high is set node id when N_HIGH_MEMORY of nodemask + is (will be) set/clear, if this is -1, then nodemask status is not changed. - status_change_nid is set node id when N_MEMORY of nodemask is (will be) set/clear. It means a new(memoryless) node gets new memory by online and a node loses all memory. If this is -1, then nodemask status is not changed. diff --git a/Documentation/core-api/mm-api.rst b/Documentation/core-api/mm-api.rst index 395835f928..a42f9baddf 100644 --- a/Documentation/core-api/mm-api.rst +++ b/Documentation/core-api/mm-api.rst @@ -95,11 +95,6 @@ More Memory Management Functions .. kernel-doc:: mm/mempolicy.c .. kernel-doc:: include/linux/mm_types.h :internal: -.. kernel-doc:: include/linux/mm_inline.h -.. kernel-doc:: include/linux/page-flags.h .. kernel-doc:: include/linux/mm.h :internal: -.. kernel-doc:: include/linux/page_ref.h .. kernel-doc:: include/linux/mmzone.h -.. kernel-doc:: mm/util.c - :functions: folio_mapping diff --git a/Documentation/core-api/printk-formats.rst b/Documentation/core-api/printk-formats.rst index 5e89497ba3..e08bbe9b0c 100644 --- a/Documentation/core-api/printk-formats.rst +++ b/Documentation/core-api/printk-formats.rst @@ -580,7 +580,7 @@ Flags bitfields such as page flags, gfp_flags :: - %pGp 0x17ffffc0002036(referenced|uptodate|lru|active|private|node=0|zone=2|lastcpupid=0x1fffff) + %pGp referenced|uptodate|lru|active|private|node=0|zone=2|lastcpupid=0x1fffff %pGg GFP_USER|GFP_DMA32|GFP_NOWARN %pGv read|exec|mayread|maywrite|mayexec|denywrite diff --git a/Documentation/core-api/workqueue.rst b/Documentation/core-api/workqueue.rst index 3b22ed1376..541d31de89 100644 --- a/Documentation/core-api/workqueue.rst +++ b/Documentation/core-api/workqueue.rst @@ -216,6 +216,10 @@ resources, scheduled and executed. This flag is meaningless for unbound wq. +Note that the flag ``WQ_NON_REENTRANT`` no longer exists as all +workqueues are now non-reentrant - any work item is guaranteed to be +executed by at most one worker system-wide at any given time. + ``max_active`` -------------- @@ -387,23 +391,6 @@ the stack trace of the offending worker thread. :: The work item's function should be trivially visible in the stack trace. -Non-reentrance Conditions -========================= - -Workqueue guarantees that a work item cannot be re-entrant if the following -conditions hold after a work item gets queued: - - 1. The work function hasn't been changed. - 2. No one queues the work item to another workqueue. - 3. The work item hasn't been reinitiated. - -In other words, if the above conditions hold, the work item is guaranteed to be -executed by at most one worker system-wide at any given time. - -Note that requeuing the work item (to the same queue) in the self function -doesn't break these conditions, so it's safe to do. Otherwise, caution is -required when breaking the conditions inside a work function. - Kernel Inline Documentations Reference ====================================== diff --git a/Documentation/crypto/crypto_engine.rst b/Documentation/crypto/crypto_engine.rst index d562ea17d9..25cf9836c3 100644 --- a/Documentation/crypto/crypto_engine.rst +++ b/Documentation/crypto/crypto_engine.rst @@ -69,8 +69,6 @@ the crypto engine via one of: * crypto_transfer_hash_request_to_engine() -* crypto_transfer_kpp_request_to_engine() - * crypto_transfer_skcipher_request_to_engine() At the end of the request process, a call to one of the following functions is needed: @@ -81,6 +79,4 @@ At the end of the request process, a call to one of the following functions is n * crypto_finalize_hash_request() -* crypto_finalize_kpp_request() - * crypto_finalize_skcipher_request() diff --git a/Documentation/dev-tools/checkpatch.rst b/Documentation/dev-tools/checkpatch.rst index b52452bc29..f0956e9ea2 100644 --- a/Documentation/dev-tools/checkpatch.rst +++ b/Documentation/dev-tools/checkpatch.rst @@ -710,39 +710,6 @@ Indentation and Line Breaks See: https://www.kernel.org/doc/html/latest/process/coding-style.html#breaking-long-lines-and-strings - **SPLIT_STRING** - Quoted strings that appear as messages in userspace and can be - grepped, should not be split across multiple lines. - - See: https://lore.kernel.org/lkml/20120203052727.GA15035@leaf/ - - **MULTILINE_DEREFERENCE** - A single dereferencing identifier spanned on multiple lines like:: - - struct_identifier->member[index]. - member = ; - - is generally hard to follow. It can easily lead to typos and so makes - the code vulnerable to bugs. - - If fixing the multiple line dereferencing leads to an 80 column - violation, then either rewrite the code in a more simple way or if the - starting part of the dereferencing identifier is the same and used at - multiple places then store it in a temporary variable, and use that - temporary variable only at all the places. For example, if there are - two dereferencing identifiers:: - - member1->member2->member3.foo1; - member1->member2->member3.foo2; - - then store the member1->member2->member3 part in a temporary variable. - It not only helps to avoid the 80 column violation but also reduces - the program size by removing the unnecessary dereferences. - - But if none of the above methods work then ignore the 80 column - violation because it is much easier to read a dereferencing identifier - on a single line. - **TRAILING_STATEMENTS** Trailing statements (for example after any conditional) should be on the next line. @@ -878,38 +845,6 @@ Macros, Attributes and Symbols Use the `fallthrough;` pseudo keyword instead of `/* fallthrough */` like comments. - **TRAILING_SEMICOLON** - Macro definition should not end with a semicolon. The macro - invocation style should be consistent with function calls. - This can prevent any unexpected code paths:: - - #define MAC do_something; - - If this macro is used within a if else statement, like:: - - if (some_condition) - MAC; - - else - do_something; - - Then there would be a compilation error, because when the macro is - expanded there are two trailing semicolons, so the else branch gets - orphaned. - - See: https://lore.kernel.org/lkml/1399671106.2912.21.camel@joe-AO725/ - - **SINGLE_STATEMENT_DO_WHILE_MACRO** - For the multi-statement macros, it is necessary to use the do-while - loop to avoid unpredictable code paths. The do-while loop helps to - group the multiple statements into a single one so that a - function-like macro can be used as a function only. - - But for the single statement macros, it is unnecessary to use the - do-while loop. Although the code is syntactically correct but using - the do-while loop is redundant. So remove the do-while loop for single - statement macros. - **WEAK_DECLARATION** Using weak declarations like __attribute__((weak)) or __weak can have unintended link defects. Avoid using them. @@ -985,11 +920,6 @@ Functions and Variables Your compiler (or rather your loader) automatically does it for you. - **MULTIPLE_ASSIGNMENTS** - Multiple assignments on a single line makes the code unnecessarily - complicated. So on a single line assign value to a single variable - only, this makes the code more readable and helps avoid typos. - **RETURN_PARENTHESES** return is not a function and as such doesn't need parentheses:: @@ -1027,17 +957,6 @@ Permissions Permission bits should use 4 digit octal permissions (like 0700 or 0444). Avoid using any other base like decimal. - **SYMBOLIC_PERMS** - Permission bits in the octal form are more readable and easier to - understand than their symbolic counterparts because many command-line - tools use this notation. Experienced kernel developers have been using - these traditional Unix permission bits for decades and so they find it - easier to understand the octal notation than the symbolic macros. - For example, it is harder to read S_IWUSR|S_IRUGO than 0644, which - obscures the developer's intent rather than clarifying it. - - See: https://lore.kernel.org/lkml/CA+55aFw5v23T-zvDZp-MmD_EYxF8WbafwwB59934FV7g21uMGQ@mail.gmail.com/ - Spacing and Brackets -------------------- diff --git a/Documentation/dev-tools/index.rst b/Documentation/dev-tools/index.rst index 4621eac290..010a2af1e7 100644 --- a/Documentation/dev-tools/index.rst +++ b/Documentation/dev-tools/index.rst @@ -32,7 +32,6 @@ Documentation/dev-tools/testing-overview.rst kgdb kselftest kunit/index - ktap .. only:: subproject and html diff --git a/Documentation/dev-tools/kasan.rst b/Documentation/dev-tools/kasan.rst index 8089c559d3..21dc03bc10 100644 --- a/Documentation/dev-tools/kasan.rst +++ b/Documentation/dev-tools/kasan.rst @@ -194,17 +194,14 @@ additional boot parameters that allow disabling KASAN or controlling features: - ``kasan=off`` or ``=on`` controls whether KASAN is enabled (default: ``on``). -- ``kasan.mode=sync``, ``=async`` or ``=asymm`` controls whether KASAN - is configured in synchronous, asynchronous or asymmetric mode of - execution (default: ``sync``). +- ``kasan.mode=sync`` or ``=async`` controls whether KASAN is configured in + synchronous or asynchronous mode of execution (default: ``sync``). Synchronous mode: a bad access is detected immediately when a tag check fault occurs. Asynchronous mode: a bad access detection is delayed. When a tag check fault occurs, the information is stored in hardware (in the TFSR_EL1 register for arm64). The kernel periodically checks the hardware and only reports tag faults during these checks. - Asymmetric mode: a bad access is detected synchronously on reads and - asynchronously on writes. - ``kasan.stacktrace=off`` or ``=on`` disables or enables alloc and free stack traces collection (default: ``on``). diff --git a/Documentation/dev-tools/kcov.rst b/Documentation/dev-tools/kcov.rst index d83c9ab494..d2c4c27e17 100644 --- a/Documentation/dev-tools/kcov.rst +++ b/Documentation/dev-tools/kcov.rst @@ -50,7 +50,6 @@ program using kcov: #include #include #include - #include #define KCOV_INIT_TRACE _IOR('c', 1, unsigned long) #define KCOV_ENABLE _IO('c', 100) @@ -178,8 +177,6 @@ Comparison operands collection is similar to coverage collection: /* Read number of comparisons collected. */ n = __atomic_load_n(&cover[0], __ATOMIC_RELAXED); for (i = 0; i < n; i++) { - uint64_t ip; - type = cover[i * KCOV_WORDS_PER_CMP + 1]; /* arg1 and arg2 - operands of the comparison. */ arg1 = cover[i * KCOV_WORDS_PER_CMP + 2]; @@ -254,8 +251,6 @@ selectively from different subsystems. .. code-block:: c - /* Same includes and defines as above. */ - struct kcov_remote_arg { __u32 trace_mode; __u32 area_size; diff --git a/Documentation/dev-tools/kcsan.rst b/Documentation/dev-tools/kcsan.rst index 3ae866dcc9..7db43c7c09 100644 --- a/Documentation/dev-tools/kcsan.rst +++ b/Documentation/dev-tools/kcsan.rst @@ -204,17 +204,17 @@ Ultimately this allows to determine the possible executions of concurrent code, and if that code is free from data races. KCSAN is aware of *marked atomic operations* (``READ_ONCE``, ``WRITE_ONCE``, -``atomic_*``, etc.), and a subset of ordering guarantees implied by memory -barriers. With ``CONFIG_KCSAN_WEAK_MEMORY=y``, KCSAN models load or store -buffering, and can detect missing ``smp_mb()``, ``smp_wmb()``, ``smp_rmb()``, -``smp_store_release()``, and all ``atomic_*`` operations with equivalent -implied barriers. +``atomic_*``, etc.), but is oblivious of any ordering guarantees and simply +assumes that memory barriers are placed correctly. In other words, KCSAN +assumes that as long as a plain access is not observed to race with another +conflicting access, memory operations are correctly ordered. -Note, KCSAN will not report all data races due to missing memory ordering, -specifically where a memory barrier would be required to prohibit subsequent -memory operation from reordering before the barrier. Developers should -therefore carefully consider the required memory ordering requirements that -remain unchecked. +This means that KCSAN will not report *potential* data races due to missing +memory ordering. Developers should therefore carefully consider the required +memory ordering requirements that remain unchecked. If, however, missing +memory ordering (that is observable with a particular compiler and +architecture) leads to an observable data race (e.g. entering a critical +section erroneously), KCSAN would report the resulting data race. Race Detection Beyond Data Races -------------------------------- @@ -268,56 +268,6 @@ marked operations, if all accesses to a variable that is accessed concurrently are properly marked, KCSAN will never trigger a watchpoint and therefore never report the accesses. -Modeling Weak Memory -~~~~~~~~~~~~~~~~~~~~ - -KCSAN's approach to detecting data races due to missing memory barriers is -based on modeling access reordering (with ``CONFIG_KCSAN_WEAK_MEMORY=y``). -Each plain memory access for which a watchpoint is set up, is also selected for -simulated reordering within the scope of its function (at most 1 in-flight -access). - -Once an access has been selected for reordering, it is checked along every -other access until the end of the function scope. If an appropriate memory -barrier is encountered, the access will no longer be considered for simulated -reordering. - -When the result of a memory operation should be ordered by a barrier, KCSAN can -then detect data races where the conflict only occurs as a result of a missing -barrier. Consider the example:: - - int x, flag; - void T1(void) - { - x = 1; // data race! - WRITE_ONCE(flag, 1); // correct: smp_store_release(&flag, 1) - } - void T2(void) - { - while (!READ_ONCE(flag)); // correct: smp_load_acquire(&flag) - ... = x; // data race! - } - -When weak memory modeling is enabled, KCSAN can consider ``x`` in ``T1`` for -simulated reordering. After the write of ``flag``, ``x`` is again checked for -concurrent accesses: because ``T2`` is able to proceed after the write of -``flag``, a data race is detected. With the correct barriers in place, ``x`` -would not be considered for reordering after the proper release of ``flag``, -and no data race would be detected. - -Deliberate trade-offs in complexity but also practical limitations mean only a -subset of data races due to missing memory barriers can be detected. With -currently available compiler support, the implementation is limited to modeling -the effects of "buffering" (delaying accesses), since the runtime cannot -"prefetch" accesses. Also recall that watchpoints are only set up for plain -accesses, and the only access type for which KCSAN simulates reordering. This -means reordering of marked accesses is not modeled. - -A consequence of the above is that acquire operations do not require barrier -instrumentation (no prefetching). Furthermore, marked accesses introducing -address or control dependencies do not require special handling (the marked -access cannot be reordered, later dependent accesses cannot be prefetched). - Key Properties ~~~~~~~~~~~~~~ @@ -340,8 +290,8 @@ Key Properties 4. **Detects Racy Writes from Devices:** Due to checking data values upon setting up watchpoints, racy writes from devices can also be detected. -5. **Memory Ordering:** KCSAN is aware of only a subset of LKMM ordering rules; - this may result in missed data races (false negatives). +5. **Memory Ordering:** KCSAN is *not* explicitly aware of the LKMM's ordering + rules; this may result in missed data races (false negatives). 6. **Analysis Accuracy:** For observed executions, due to using a sampling strategy, the analysis is *unsound* (false negatives possible), but aims to diff --git a/Documentation/dev-tools/kfence.rst b/Documentation/dev-tools/kfence.rst index ac6b89d1a8..48244d3278 100644 --- a/Documentation/dev-tools/kfence.rst +++ b/Documentation/dev-tools/kfence.rst @@ -273,17 +273,6 @@ tail of KFENCE's freelist, so that the least recently freed objects are reused first, and the chances of detecting use-after-frees of recently freed objects is increased. -If pool utilization reaches 75% (default) or above, to reduce the risk of the -pool eventually being fully occupied by allocated objects yet ensure diverse -coverage of allocations, KFENCE limits currently covered allocations of the -same source from further filling up the pool. The "source" of an allocation is -based on its partial allocation stack trace. A side-effect is that this also -limits frequent long-lived allocations (e.g. pagecache) of the same source -filling up the pool permanently, which is the most common risk for the pool -becoming full and the sampled allocation rate dropping to zero. The threshold -at which to start limiting currently covered allocations can be configured via -the boot parameter ``kfence.skip_covered_thresh`` (pool usage%). - Interface --------- diff --git a/Documentation/dev-tools/kgdb.rst b/Documentation/dev-tools/kgdb.rst index f83ba2601e..4345624465 100644 --- a/Documentation/dev-tools/kgdb.rst +++ b/Documentation/dev-tools/kgdb.rst @@ -402,7 +402,7 @@ This is a quick example of how to use kdb. 2. Enter the kernel debugger manually or by waiting for an oops or fault. There are several ways you can enter the kernel debugger manually; all involve using the :kbd:`SysRq-G`, which means you must have - enabled ``CONFIG_MAGIC_SYSRQ=y`` in your kernel config. + enabled ``CONFIG_MAGIC_SysRq=y`` in your kernel config. - When logged in as root or with a super user session you can run:: @@ -461,7 +461,7 @@ This is a quick example of how to use kdb with a keyboard. 2. Enter the kernel debugger manually or by waiting for an oops or fault. There are several ways you can enter the kernel debugger manually; all involve using the :kbd:`SysRq-G`, which means you must have - enabled ``CONFIG_MAGIC_SYSRQ=y`` in your kernel config. + enabled ``CONFIG_MAGIC_SysRq=y`` in your kernel config. - When logged in as root or with a super user session you can run:: @@ -557,7 +557,7 @@ Connecting with gdb to a serial port Example (using a directly connected port):: % gdb ./vmlinux - (gdb) set serial baud 115200 + (gdb) set remotebaud 115200 (gdb) target remote /dev/ttyS0 diff --git a/Documentation/dev-tools/kselftest.rst b/Documentation/dev-tools/kselftest.rst index a833ecf12f..dcefee707c 100644 --- a/Documentation/dev-tools/kselftest.rst +++ b/Documentation/dev-tools/kselftest.rst @@ -7,14 +7,6 @@ directory. These are intended to be small tests to exercise individual code paths in the kernel. Tests are intended to be run after building, installing and booting a kernel. -Kselftest from mainline can be run on older stable kernels. Running tests -from mainline offers the best coverage. Several test rings run mainline -kselftest suite on stable releases. The reason is that when a new test -gets added to test existing code to regression test a bug, we should be -able to run that test on an older kernel. Hence, it is important to keep -code that can still test an older kernel and make sure it skips the test -gracefully on newer releases. - You can find additional information on Kselftest framework, how to write new tests using the framework on Kselftest wiki: diff --git a/Documentation/dev-tools/kunit/api/index.rst b/Documentation/dev-tools/kunit/api/index.rst index 3006cadcf4..b33ad72bcf 100644 --- a/Documentation/dev-tools/kunit/api/index.rst +++ b/Documentation/dev-tools/kunit/api/index.rst @@ -12,4 +12,5 @@ following sections: Documentation/dev-tools/kunit/api/test.rst - - documents all of the standard testing API + - documents all of the standard testing API excluding mocking + or mocking related features. diff --git a/Documentation/dev-tools/kunit/api/test.rst b/Documentation/dev-tools/kunit/api/test.rst index c5eca423e8..aaa97f17e5 100644 --- a/Documentation/dev-tools/kunit/api/test.rst +++ b/Documentation/dev-tools/kunit/api/test.rst @@ -4,7 +4,8 @@ Test API ======== -This file documents all of the standard testing API. +This file documents all of the standard testing API excluding mocking or mocking +related features. .. kernel-doc:: include/kunit/test.h :internal: diff --git a/Documentation/dev-tools/kunit/faq.rst b/Documentation/dev-tools/kunit/faq.rst index 172e239791..5c6555d020 100644 --- a/Documentation/dev-tools/kunit/faq.rst +++ b/Documentation/dev-tools/kunit/faq.rst @@ -4,55 +4,56 @@ Frequently Asked Questions ========================== -How is this different from Autotest, kselftest, and so on? -========================================================== +How is this different from Autotest, kselftest, etc? +==================================================== KUnit is a unit testing framework. Autotest, kselftest (and some others) are not. A `unit test `_ is supposed to -test a single unit of code in isolation and hence the name *unit test*. A unit -test should be the finest granularity of testing and should allow all possible -code paths to be tested in the code under test. This is only possible if the -code under test is small and does not have any external dependencies outside of +test a single unit of code in isolation, hence the name. A unit test should be +the finest granularity of testing and as such should allow all possible code +paths to be tested in the code under test; this is only possible if the code +under test is very small and does not have any external dependencies outside of the test's control like hardware. There are no testing frameworks currently available for the kernel that do not -require installing the kernel on a test machine or in a virtual machine. All -testing frameworks require tests to be written in userspace and run on the -kernel under test. This is true for Autotest, kselftest, and some others, -disqualifying any of them from being considered unit testing frameworks. +require installing the kernel on a test machine or in a VM and all require +tests to be written in userspace and run on the kernel under test; this is true +for Autotest, kselftest, and some others, disqualifying any of them from being +considered unit testing frameworks. Does KUnit support running on architectures other than UML? =========================================================== -Yes, mostly. +Yes, well, mostly. -For the most part, the KUnit core framework (what we use to write the tests) -can compile to any architecture. It compiles like just another part of the +For the most part, the KUnit core framework (what you use to write the tests) +can compile to any architecture; it compiles like just another part of the kernel and runs when the kernel boots, or when built as a module, when the -module is loaded. However, there is infrastructure, like the KUnit Wrapper -(``tools/testing/kunit/kunit.py``) that does not support other architectures. +module is loaded. However, there is some infrastructure, +like the KUnit Wrapper (``tools/testing/kunit/kunit.py``) that does not support +other architectures. -In short, yes, you can run KUnit on other architectures, but it might require -more work than using KUnit on UML. +In short, this means that, yes, you can run KUnit on other architectures, but +it might require more work than using KUnit on UML. For more information, see :ref:`kunit-on-non-uml`. -What is the difference between a unit test and other kinds of tests? -==================================================================== +What is the difference between a unit test and these other kinds of tests? +========================================================================== Most existing tests for the Linux kernel would be categorized as an integration test, or an end-to-end test. -- A unit test is supposed to test a single unit of code in isolation. A unit - test should be the finest granularity of testing and, as such, allows all - possible code paths to be tested in the code under test. This is only possible - if the code under test is small and does not have any external dependencies - outside of the test's control like hardware. +- A unit test is supposed to test a single unit of code in isolation, hence the + name. A unit test should be the finest granularity of testing and as such + should allow all possible code paths to be tested in the code under test; this + is only possible if the code under test is very small and does not have any + external dependencies outside of the test's control like hardware. - An integration test tests the interaction between a minimal set of components, usually just two or three. For example, someone might write an integration test to test the interaction between a driver and a piece of hardware, or to test the interaction between the userspace libraries the kernel provides and - the kernel itself. However, one of these tests would probably not test the + the kernel itself; however, one of these tests would probably not test the entire kernel along with hardware interactions and interactions with the userspace. - An end-to-end test usually tests the entire system from the perspective of the @@ -61,26 +62,26 @@ test, or an end-to-end test. hardware with a production userspace and then trying to exercise some behavior that depends on interactions between the hardware, the kernel, and userspace. -KUnit is not working, what should I do? -======================================= +KUnit isn't working, what should I do? +====================================== Unfortunately, there are a number of things which can break, but here are some things to try. -1. Run ``./tools/testing/kunit/kunit.py run`` with the ``--raw_output`` +1. Try running ``./tools/testing/kunit/kunit.py run`` with the ``--raw_output`` parameter. This might show details or error messages hidden by the kunit_tool parser. 2. Instead of running ``kunit.py run``, try running ``kunit.py config``, ``kunit.py build``, and ``kunit.py exec`` independently. This can help track down where an issue is occurring. (If you think the parser is at fault, you - can run it manually against ``stdin`` or a file with ``kunit.py parse``.) -3. Running the UML kernel directly can often reveal issues or error messages, - ``kunit_tool`` ignores. This should be as simple as running ``./vmlinux`` - after building the UML kernel (for example, by using ``kunit.py build``). - Note that UML has some unusual requirements (such as the host having a tmpfs - filesystem mounted), and has had issues in the past when built statically and - the host has KASLR enabled. (On older host kernels, you may need to run - ``setarch `uname -m` -R ./vmlinux`` to disable KASLR.) + can run it manually against stdin or a file with ``kunit.py parse``.) +3. Running the UML kernel directly can often reveal issues or error messages + kunit_tool ignores. This should be as simple as running ``./vmlinux`` after + building the UML kernel (e.g., by using ``kunit.py build``). Note that UML + has some unusual requirements (such as the host having a tmpfs filesystem + mounted), and has had issues in the past when built statically and the host + has KASLR enabled. (On older host kernels, you may need to run ``setarch + `uname -m` -R ./vmlinux`` to disable KASLR.) 4. Make sure the kernel .config has ``CONFIG_KUNIT=y`` and at least one test (e.g. ``CONFIG_KUNIT_EXAMPLE_TEST=y``). kunit_tool will keep its .config around, so you can see what config was used after running ``kunit.py run``. diff --git a/Documentation/dev-tools/kunit/index.rst b/Documentation/dev-tools/kunit/index.rst index 595205348d..cacb35ec65 100644 --- a/Documentation/dev-tools/kunit/index.rst +++ b/Documentation/dev-tools/kunit/index.rst @@ -1,17 +1,13 @@ .. SPDX-License-Identifier: GPL-2.0 -================================= -KUnit - Linux Kernel Unit Testing -================================= +========================================= +KUnit - Unit Testing for the Linux Kernel +========================================= .. toctree:: :maxdepth: 2 - :caption: Contents: start - architecture - run_wrapper - run_manual usage kunit-tool api/index @@ -20,94 +16,82 @@ KUnit - Linux Kernel Unit Testing tips running_tips -This section details the kernel unit testing framework. +What is KUnit? +============== -Introduction -============ +KUnit is a lightweight unit testing and mocking framework for the Linux kernel. -KUnit (Kernel unit testing framework) provides a common framework for -unit tests within the Linux kernel. Using KUnit, you can define groups -of test cases called test suites. The tests either run on kernel boot -if built-in, or load as a module. KUnit automatically flags and reports -failed test cases in the kernel log. The test results appear in `TAP -(Test Anything Protocol) format `_. It is inspired by -JUnit, Python’s unittest.mock, and GoogleTest/GoogleMock (C++ unit testing -framework). +KUnit is heavily inspired by JUnit, Python's unittest.mock, and +Googletest/Googlemock for C++. KUnit provides facilities for defining unit test +cases, grouping related test cases into test suites, providing common +infrastructure for running tests, and much more. -KUnit tests are part of the kernel, written in the C (programming) -language, and test parts of the Kernel implementation (example: a C -language function). Excluding build time, from invocation to -completion, KUnit can run around 100 tests in less than 10 seconds. -KUnit can test any kernel component, for example: file system, system -calls, memory management, device drivers and so on. +KUnit consists of a kernel component, which provides a set of macros for easily +writing unit tests. Tests written against KUnit will run on kernel boot if +built-in, or when loaded if built as a module. These tests write out results to +the kernel log in `TAP `_ format. -KUnit follows the white-box testing approach. The test has access to -internal system functionality. KUnit runs in kernel space and is not -restricted to things exposed to user-space. +To make running these tests (and reading the results) easier, KUnit offers +:doc:`kunit_tool `, which builds a `User Mode Linux +`_ kernel, runs it, and parses the test +results. This provides a quick way of running KUnit tests during development, +without requiring a virtual machine or separate hardware. -In addition, KUnit has kunit_tool, a script (``tools/testing/kunit/kunit.py``) -that configures the Linux kernel, runs KUnit tests under QEMU or UML (`User Mode -Linux `_), parses the test results and -displays them in a user friendly manner. +Get started now: Documentation/dev-tools/kunit/start.rst -Features --------- +Why KUnit? +========== -- Provides a framework for writing unit tests. -- Runs tests on any kernel architecture. -- Runs a test in milliseconds. +A unit test is supposed to test a single unit of code in isolation, hence the +name. A unit test should be the finest granularity of testing and as such should +allow all possible code paths to be tested in the code under test; this is only +possible if the code under test is very small and does not have any external +dependencies outside of the test's control like hardware. -Prerequisites -------------- +KUnit provides a common framework for unit tests within the kernel. -- Any Linux kernel compatible hardware. -- For Kernel under test, Linux kernel version 5.5 or greater. +KUnit tests can be run on most architectures, and most tests are architecture +independent. All built-in KUnit tests run on kernel startup. Alternatively, +KUnit and KUnit tests can be built as modules and tests will run when the test +module is loaded. -Unit Testing -============ +.. note:: -A unit test tests a single unit of code in isolation. A unit test is the finest -granularity of testing and allows all possible code paths to be tested in the -code under test. This is possible if the code under test is small and does not -have any external dependencies outside of the test's control like hardware. + KUnit can also run tests without needing a virtual machine or actual + hardware under User Mode Linux. User Mode Linux is a Linux architecture, + like ARM or x86, which compiles the kernel as a Linux executable. KUnit + can be used with UML either by building with ``ARCH=um`` (like any other + architecture), or by using :doc:`kunit_tool `. +KUnit is fast. Excluding build time, from invocation to completion KUnit can run +several dozen tests in only 10 to 20 seconds; this might not sound like a big +deal to some people, but having such fast and easy to run tests fundamentally +changes the way you go about testing and even writing code in the first place. +Linus himself said in his `git talk at Google +`_: -Write Unit Tests ----------------- + "... a lot of people seem to think that performance is about doing the + same thing, just doing it faster, and that is not true. That is not what + performance is all about. If you can do something really fast, really + well, people will start using it differently." -To write good unit tests, there is a simple but powerful pattern: -Arrange-Act-Assert. This is a great way to structure test cases and -defines an order of operations. - -- Arrange inputs and targets: At the start of the test, arrange the data - that allows a function to work. Example: initialize a statement or - object. -- Act on the target behavior: Call your function/code under test. -- Assert expected outcome: Verify that the result (or resulting state) is as - expected. - -Unit Testing Advantages ------------------------ - -- Increases testing speed and development in the long run. -- Detects bugs at initial stage and therefore decreases bug fix cost - compared to acceptance testing. -- Improves code quality. -- Encourages writing testable code. +In this context Linus was talking about branching and merging, +but this point also applies to testing. If your tests are slow, unreliable, are +difficult to write, and require a special setup or special hardware to run, +then you wait a lot longer to write tests, and you wait a lot longer to run +tests; this means that tests are likely to break, unlikely to test a lot of +things, and are unlikely to be rerun once they pass. If your tests are really +fast, you run them all the time, every time you make a change, and every time +someone sends you some code. Why trust that someone ran all their tests +correctly on every change when you can just run them yourself in less time than +it takes to read their test log? How do I use it? ================ -* Documentation/dev-tools/kunit/start.rst - for KUnit new users. -* Documentation/dev-tools/kunit/architecture.rst - KUnit architecture. -* Documentation/dev-tools/kunit/run_wrapper.rst - run kunit_tool. -* Documentation/dev-tools/kunit/run_manual.rst - run tests without kunit_tool. -* Documentation/dev-tools/kunit/usage.rst - write tests. -* Documentation/dev-tools/kunit/tips.rst - best practices with - examples. -* Documentation/dev-tools/kunit/api/index.rst - KUnit APIs - used for testing. -* Documentation/dev-tools/kunit/kunit-tool.rst - kunit_tool helper - script. -* Documentation/dev-tools/kunit/faq.rst - KUnit common questions and - answers. +* Documentation/dev-tools/kunit/start.rst - for new users of KUnit +* Documentation/dev-tools/kunit/tips.rst - for short examples of best practices +* Documentation/dev-tools/kunit/usage.rst - for a more detailed explanation of KUnit features +* Documentation/dev-tools/kunit/api/index.rst - for the list of KUnit APIs used for testing +* Documentation/dev-tools/kunit/kunit-tool.rst - for more information on the kunit_tool helper script +* Documentation/dev-tools/kunit/faq.rst - for answers to some common questions about KUnit diff --git a/Documentation/dev-tools/kunit/running_tips.rst b/Documentation/dev-tools/kunit/running_tips.rst index 7b6d26a259..30d2147eb5 100644 --- a/Documentation/dev-tools/kunit/running_tips.rst +++ b/Documentation/dev-tools/kunit/running_tips.rst @@ -25,8 +25,8 @@ It can be handy to create a bash function like: Running a subset of tests ------------------------- -``kunit.py run`` accepts an optional glob argument to filter tests. The format -is ``"[.test_glob]"``. +``kunit.py run`` accepts an optional glob argument to filter tests. Currently +this only matches against suite names, but this may change in the future. Say that we wanted to run the sysctl tests, we could do so via: @@ -35,13 +35,6 @@ Say that we wanted to run the sysctl tests, we could do so via: $ echo -e 'CONFIG_KUNIT=y\nCONFIG_KUNIT_ALL_TESTS=y' > .kunit/.kunitconfig $ ./tools/testing/kunit/kunit.py run 'sysctl*' -We can filter down to just the "write" tests via: - -.. code-block:: bash - - $ echo -e 'CONFIG_KUNIT=y\nCONFIG_KUNIT_ALL_TESTS=y' > .kunit/.kunitconfig - $ ./tools/testing/kunit/kunit.py run 'sysctl*.*write*' - We're paying the cost of building more tests than we need this way, but it's easier than fiddling with ``.kunitconfig`` files or commenting out ``kunit_suite``'s. diff --git a/Documentation/dev-tools/kunit/start.rst b/Documentation/dev-tools/kunit/start.rst index ad168d1696..1e00f9226f 100644 --- a/Documentation/dev-tools/kunit/start.rst +++ b/Documentation/dev-tools/kunit/start.rst @@ -4,137 +4,132 @@ Getting Started =============== -Installing Dependencies +Installing dependencies ======================= -KUnit has the same dependencies as the Linux kernel. As long as you can -build the kernel, you can run KUnit. +KUnit has the same dependencies as the Linux kernel. As long as you can build +the kernel, you can run KUnit. -Running tests with kunit_tool -============================= -kunit_tool is a Python script, which configures and builds a kernel, runs -tests, and formats the test results. From the kernel repository, you -can run kunit_tool: +Running tests with the KUnit Wrapper +==================================== +Included with KUnit is a simple Python wrapper which runs tests under User Mode +Linux, and formats the test results. + +The wrapper can be run with: .. code-block:: bash ./tools/testing/kunit/kunit.py run -For more information on this wrapper, see: -Documentation/dev-tools/kunit/run_wrapper.rst. +For more information on this wrapper (also called kunit_tool) check out the +Documentation/dev-tools/kunit/kunit-tool.rst page. -Creating a ``.kunitconfig`` ---------------------------- +Creating a .kunitconfig +----------------------- +If you want to run a specific set of tests (rather than those listed in the +KUnit defconfig), you can provide Kconfig options in the ``.kunitconfig`` file. +This file essentially contains the regular Kernel config, with the specific +test targets as well. The ``.kunitconfig`` should also contain any other config +options required by the tests. -By default, kunit_tool runs a selection of tests. However, you can specify which -unit tests to run by creating a ``.kunitconfig`` file with kernel config options -that enable only a specific set of tests and their dependencies. -The ``.kunitconfig`` file contains a list of kconfig options which are required -to run the desired targets. The ``.kunitconfig`` also contains any other test -specific config options, such as test dependencies. For example: the -``FAT_FS`` tests - ``FAT_KUNIT_TEST``, depends on -``FAT_FS``. ``FAT_FS`` can be enabled by selecting either ``MSDOS_FS`` -or ``VFAT_FS``. To run ``FAT_KUNIT_TEST``, the ``.kunitconfig`` has: - -.. code-block:: none - - CONFIG_KUNIT=y - CONFIG_MSDOS_FS=y - CONFIG_FAT_KUNIT_TEST=y - -1. A good starting point for the ``.kunitconfig``, is the KUnit default - config. Run the command: +A good starting point for a ``.kunitconfig`` is the KUnit defconfig: .. code-block:: bash cd $PATH_TO_LINUX_REPO cp tools/testing/kunit/configs/default.config .kunitconfig -.. note :: - You may want to remove CONFIG_KUNIT_ALL_TESTS from the ``.kunitconfig`` as - it will enable a number of additional tests that you may not want. - -2. You can then add any other Kconfig options, for example: +You can then add any other Kconfig options you wish, e.g.: .. code-block:: none CONFIG_LIST_KUNIT_TEST=y -Before running the tests, kunit_tool ensures that all config options -set in ``.kunitconfig`` are set in the kernel ``.config``. It will warn -you if you have not included dependencies for the options used. +:doc:`kunit_tool ` will ensure that all config options set in +``.kunitconfig`` are set in the kernel ``.config`` before running the tests. +It'll warn you if you haven't included the dependencies of the options you're +using. -.. note :: - If you change the ``.kunitconfig``, kunit.py will trigger a rebuild of the - ``.config`` file. But you can edit the ``.config`` file directly or with - tools like ``make menuconfig O=.kunit``. As long as its a superset of - ``.kunitconfig``, kunit.py won't overwrite your changes. +.. note:: + Note that removing something from the ``.kunitconfig`` will not trigger a + rebuild of the ``.config`` file: the configuration is only updated if the + ``.kunitconfig`` is not a subset of ``.config``. This means that you can use + other tools (such as make menuconfig) to adjust other config options. -Running Tests (KUnit Wrapper) ------------------------------ -1. To make sure that everything is set up correctly, invoke the Python - wrapper from your kernel repository: + +Running the tests (KUnit Wrapper) +--------------------------------- + +To make sure that everything is set up correctly, simply invoke the Python +wrapper from your kernel repo: .. code-block:: bash ./tools/testing/kunit/kunit.py run +.. note:: + You may want to run ``make mrproper`` first. + If everything worked correctly, you should see the following: -.. code-block:: +.. code-block:: bash Generating .config ... Building KUnit Kernel ... Starting KUnit Kernel ... -The tests will pass or fail. +followed by a list of tests that are run. All of them should be passing. -.. note :: - Because it is building a lot of sources for the first time, the - ``Building KUnit kernel`` may take a while. +.. note:: + Because it is building a lot of sources for the first time, the + ``Building KUnit kernel`` step may take a while. -Running Tests without the KUnit Wrapper +Running tests without the KUnit Wrapper ======================================= -If you do not want to use the KUnit Wrapper (for example: you want code -under test to integrate with other systems, or use a different/ -unsupported architecture or configuration), KUnit can be included in -any kernel, and the results are read out and parsed manually. -.. note :: - ``CONFIG_KUNIT`` should not be enabled in a production environment. - Enabling KUnit disables Kernel Address-Space Layout Randomization - (KASLR), and tests may affect the state of the kernel in ways not - suitable for production. +If you'd rather not use the KUnit Wrapper (if, for example, you need to +integrate with other systems, or use an architecture other than UML), KUnit can +be included in any kernel, and the results read out and parsed manually. -Configuring the Kernel +.. note:: + KUnit is not designed for use in a production system, and it's possible that + tests may reduce the stability or security of the system. + + + +Configuring the kernel ---------------------- -To enable KUnit itself, you need to enable the ``CONFIG_KUNIT`` Kconfig -option (under Kernel Hacking/Kernel Testing and Coverage in -``menuconfig``). From there, you can enable any KUnit tests. They -usually have config options ending in ``_KUNIT_TEST``. -KUnit and KUnit tests can be compiled as modules. The tests in a module -will run when the module is loaded. +In order to enable KUnit itself, you simply need to enable the ``CONFIG_KUNIT`` +Kconfig option (it's under Kernel Hacking/Kernel Testing and Coverage in +menuconfig). From there, you can enable any KUnit tests you want: they usually +have config options ending in ``_KUNIT_TEST``. -Running Tests (without KUnit Wrapper) +KUnit and KUnit tests can be compiled as modules: in this case the tests in a +module will be run when the module is loaded. + + +Running the tests (w/o KUnit Wrapper) ------------------------------------- -Build and run your kernel. In the kernel log, the test output is printed -out in the TAP format. This will only happen by default if KUnit/tests -are built-in. Otherwise the module will need to be loaded. -.. note :: - Some lines and/or data may get interspersed in the TAP output. +Build and run your kernel as usual. Test output will be written to the kernel +log in `TAP `_ format. -Writing Your First Test +.. note:: + It's possible that there will be other lines and/or data interspersed in the + TAP output. + + +Writing your first test ======================= -In your kernel repository, let's add some code that we can test. -1. Create a file ``drivers/misc/example.h``, which includes: +In your kernel repo let's add some code that we can test. Create a file +``drivers/misc/example.h`` with the contents: .. code-block:: c int misc_example_add(int left, int right); -2. Create a file ``drivers/misc/example.c``, which includes: +create a file ``drivers/misc/example.c``: .. code-block:: c @@ -147,22 +142,21 @@ In your kernel repository, let's add some code that we can test. return left + right; } -3. Add the following lines to ``drivers/misc/Kconfig``: +Now add the following lines to ``drivers/misc/Kconfig``: .. code-block:: kconfig config MISC_EXAMPLE bool "My example" -4. Add the following lines to ``drivers/misc/Makefile``: +and the following lines to ``drivers/misc/Makefile``: .. code-block:: make obj-$(CONFIG_MISC_EXAMPLE) += example.o -Now we are ready to write the test cases. - -1. Add the below test case in ``drivers/misc/example_test.c``: +Now we are ready to write the test. The test will be in +``drivers/misc/example-test.c``: .. code-block:: c @@ -197,7 +191,7 @@ Now we are ready to write the test cases. }; kunit_test_suite(misc_example_test_suite); -2. Add the following lines to ``drivers/misc/Kconfig``: +Now add the following to ``drivers/misc/Kconfig``: .. code-block:: kconfig @@ -206,20 +200,20 @@ Now we are ready to write the test cases. depends on MISC_EXAMPLE && KUNIT=y default KUNIT_ALL_TESTS -3. Add the following lines to ``drivers/misc/Makefile``: +and the following to ``drivers/misc/Makefile``: .. code-block:: make - obj-$(CONFIG_MISC_EXAMPLE_TEST) += example_test.o + obj-$(CONFIG_MISC_EXAMPLE_TEST) += example-test.o -4. Add the following lines to ``.kunitconfig``: +Now add it to your ``.kunitconfig``: .. code-block:: none CONFIG_MISC_EXAMPLE=y CONFIG_MISC_EXAMPLE_TEST=y -5. Run the test: +Now you can run the test: .. code-block:: bash @@ -233,23 +227,16 @@ You should see the following failure: [16:08:57] [PASSED] misc-example:misc_example_add_test_basic [16:08:57] [FAILED] misc-example:misc_example_test_failure [16:08:57] EXPECTATION FAILED at drivers/misc/example-test.c:17 - [16:08:57] This test never passes. + [16:08:57] This test never passes. ... -Congrats! You just wrote your first KUnit test. +Congrats! You just wrote your first KUnit test! Next Steps ========== - -* Documentation/dev-tools/kunit/architecture.rst - KUnit architecture. -* Documentation/dev-tools/kunit/run_wrapper.rst - run kunit_tool. -* Documentation/dev-tools/kunit/run_manual.rst - run tests without kunit_tool. -* Documentation/dev-tools/kunit/usage.rst - write tests. -* Documentation/dev-tools/kunit/tips.rst - best practices with - examples. -* Documentation/dev-tools/kunit/api/index.rst - KUnit APIs - used for testing. -* Documentation/dev-tools/kunit/kunit-tool.rst - kunit_tool helper - script. -* Documentation/dev-tools/kunit/faq.rst - KUnit common questions and - answers. +* Check out the Documentation/dev-tools/kunit/tips.rst page for tips on + writing idiomatic KUnit tests. +* Check out the :doc:`running_tips` page for tips on + how to make running KUnit tests easier. +* Optional: see the :doc:`usage` page for a more + in-depth explanation of KUnit. diff --git a/Documentation/dev-tools/kunit/style.rst b/Documentation/dev-tools/kunit/style.rst index b6d0d7359f..8dbcdc5526 100644 --- a/Documentation/dev-tools/kunit/style.rst +++ b/Documentation/dev-tools/kunit/style.rst @@ -4,36 +4,37 @@ Test Style and Nomenclature =========================== -To make finding, writing, and using KUnit tests as simple as possible, it is +To make finding, writing, and using KUnit tests as simple as possible, it's strongly encouraged that they are named and written according to the guidelines -below. While it is possible to write KUnit tests which do not follow these rules, +below. While it's possible to write KUnit tests which do not follow these rules, they may break some tooling, may conflict with other tests, and may not be run automatically by testing systems. -It is recommended that you only deviate from these guidelines when: +It's recommended that you only deviate from these guidelines when: -1. Porting tests to KUnit which are already known with an existing name. -2. Writing tests which would cause serious problems if automatically run. For - example, non-deterministically producing false positives or negatives, or - taking a long time to run. +1. Porting tests to KUnit which are already known with an existing name, or +2. Writing tests which would cause serious problems if automatically run (e.g., + non-deterministically producing false positives or negatives, or taking an + extremely long time to run). Subsystems, Suites, and Tests ============================= -To make tests easy to find, they are grouped into suites and subsystems. A test -suite is a group of tests which test a related area of the kernel. A subsystem -is a set of test suites which test different parts of a kernel subsystem -or a driver. +In order to make tests as easy to find as possible, they're grouped into suites +and subsystems. A test suite is a group of tests which test a related area of +the kernel, and a subsystem is a set of test suites which test different parts +of the same kernel subsystem or driver. Subsystems ---------- Every test suite must belong to a subsystem. A subsystem is a collection of one or more KUnit test suites which test the same driver or part of the kernel. A -test subsystem should match a single kernel module. If the code being tested -cannot be compiled as a module, in many cases the subsystem should correspond to -a directory in the source tree or an entry in the ``MAINTAINERS`` file. If -unsure, follow the conventions set by tests in similar areas. +rule of thumb is that a test subsystem should match a single kernel module. If +the code being tested can't be compiled as a module, in many cases the subsystem +should correspond to a directory in the source tree or an entry in the +MAINTAINERS file. If unsure, follow the conventions set by tests in similar +areas. Test subsystems should be named after the code being tested, either after the module (wherever possible), or after the directory or files being tested. Test @@ -41,8 +42,9 @@ subsystems should be named to avoid ambiguity where necessary. If a test subsystem name has multiple components, they should be separated by underscores. *Do not* include "test" or "kunit" directly in the subsystem name -unless we are actually testing other tests or the kunit framework itself. For -example, subsystems could be called: +unless you are actually testing other tests or the kunit framework itself. + +Example subsystems could be: ``ext4`` Matches the module and filesystem name. @@ -54,46 +56,48 @@ example, subsystems could be called: Has several components (``snd``, ``hda``, ``codec``, ``hdmi``) separated by underscores. Matches the module name. -Avoid names as shown in examples below: +Avoid names like these: ``linear-ranges`` Names should use underscores, not dashes, to separate words. Prefer ``linear_ranges``. ``qos-kunit-test`` - This name should use underscores, and not have "kunit-test" as a - suffix. ``qos`` is also ambiguous as a subsystem name, because several parts - of the kernel have a ``qos`` subsystem. ``power_qos`` would be a better name. + As well as using underscores, this name should not have "kunit-test" as a + suffix, and ``qos`` is ambiguous as a subsystem name. ``power_qos`` would be a + better name. ``pc_parallel_port`` The corresponding module name is ``parport_pc``, so this subsystem should also be named ``parport_pc``. .. note:: - The KUnit API and tools do not explicitly know about subsystems. They are - a way of categorizing test suites and naming modules which provides a - simple, consistent way for humans to find and run tests. This may change - in the future. + The KUnit API and tools do not explicitly know about subsystems. They're + simply a way of categorising test suites and naming modules which + provides a simple, consistent way for humans to find and run tests. This + may change in the future, though. Suites ------ KUnit tests are grouped into test suites, which cover a specific area of -functionality being tested. Test suites can have shared initialization and -shutdown code which is run for all tests in the suite. Not all subsystems need -to be split into multiple test suites (for example, simple drivers). +functionality being tested. Test suites can have shared initialisation and +shutdown code which is run for all tests in the suite. +Not all subsystems will need to be split into multiple test suites (e.g. simple drivers). Test suites are named after the subsystem they are part of. If a subsystem contains several suites, the specific area under test should be appended to the subsystem name, separated by an underscore. In the event that there are multiple types of test using KUnit within a -subsystem (for example, both unit tests and integration tests), they should be -put into separate suites, with the type of test as the last element in the suite -name. Unless these tests are actually present, avoid using ``_test``, ``_unittest`` -or similar in the suite name. +subsystem (e.g., both unit tests and integration tests), they should be put into +separate suites, with the type of test as the last element in the suite name. +Unless these tests are actually present, avoid using ``_test``, ``_unittest`` or +similar in the suite name. The full test suite name (including the subsystem name) should be specified as the ``.name`` member of the ``kunit_suite`` struct, and forms the base for the -module name. For example, test suites could include: +module name (see below). + +Example test suites could include: ``ext4_inode`` Part of the ``ext4`` subsystem, testing the ``inode`` area. @@ -105,27 +109,26 @@ module name. For example, test suites could include: The ``kasan`` subsystem has only one suite, so the suite name is the same as the subsystem name. -Avoid names, for example: +Avoid names like: ``ext4_ext4_inode`` - There is no reason to state the subsystem twice. + There's no reason to state the subsystem twice. ``property_entry`` The suite name is ambiguous without the subsystem name. ``kasan_integration_test`` Because there is only one suite in the ``kasan`` subsystem, the suite should - just be called as ``kasan``. Do not redundantly add - ``integration_test``. It should be a separate test suite. For example, if the - unit tests are added, then that suite could be named as ``kasan_unittest`` or - similar. + just be called ``kasan``. There's no need to redundantly add + ``integration_test``. Should a separate test suite with, for example, unit + tests be added, then that suite could be named ``kasan_unittest`` or similar. Test Cases ---------- Individual tests consist of a single function which tests a constrained -codepath, property, or function. In the test output, an individual test's -results will show up as subtests of the suite's results. +codepath, property, or function. In the test output, individual tests' results +will show up as subtests of the suite's results. -Tests should be named after what they are testing. This is often the name of the +Tests should be named after what they're testing. This is often the name of the function being tested, with a description of the input or codepath being tested. As tests are C functions, they should be named and written in accordance with the kernel coding style. @@ -133,7 +136,7 @@ the kernel coding style. .. note:: As tests are themselves functions, their names cannot conflict with other C identifiers in the kernel. This may require some creative - naming. It is a good idea to make your test functions `static` to avoid + naming. It's a good idea to make your test functions `static` to avoid polluting the global namespace. Example test names include: @@ -159,16 +162,16 @@ This Kconfig entry must: * be named ``CONFIG__KUNIT_TEST``: where is the name of the test suite. * be listed either alongside the config entries for the driver/subsystem being - tested, or be under [Kernel Hacking]->[Kernel Testing and Coverage] -* depend on ``CONFIG_KUNIT``. + tested, or be under [Kernel Hacking]→[Kernel Testing and Coverage] +* depend on ``CONFIG_KUNIT`` * be visible only if ``CONFIG_KUNIT_ALL_TESTS`` is not enabled. * have a default value of ``CONFIG_KUNIT_ALL_TESTS``. -* have a brief description of KUnit in the help text. +* have a brief description of KUnit in the help text -If we are not able to meet above conditions (for example, the test is unable to -be built as a module), Kconfig entries for tests should be tristate. +Unless there's a specific reason not to (e.g. the test is unable to be built as +a module), Kconfig entries for tests should be tristate. -For example, a Kconfig entry might look like: +An example Kconfig entry: .. code-block:: none @@ -179,8 +182,8 @@ For example, a Kconfig entry might look like: help This builds unit tests for foo. - For more information on KUnit and unit tests in general, - please refer to the KUnit documentation in Documentation/dev-tools/kunit/. + For more information on KUnit and unit tests in general, please refer + to the KUnit documentation in Documentation/dev-tools/kunit/. If unsure, say N. diff --git a/Documentation/dev-tools/kunit/usage.rst b/Documentation/dev-tools/kunit/usage.rst index 1c83e7d60a..63f1bb89eb 100644 --- a/Documentation/dev-tools/kunit/usage.rst +++ b/Documentation/dev-tools/kunit/usage.rst @@ -1,13 +1,57 @@ .. SPDX-License-Identifier: GPL-2.0 +=========== +Using KUnit +=========== + +The purpose of this document is to describe what KUnit is, how it works, how it +is intended to be used, and all the concepts and terminology that are needed to +understand it. This guide assumes a working knowledge of the Linux kernel and +some basic knowledge of testing. + +For a high level introduction to KUnit, including setting up KUnit for your +project, see Documentation/dev-tools/kunit/start.rst. + +Organization of this document +============================= + +This document is organized into two main sections: Testing and Common Patterns. +The first covers what unit tests are and how to use KUnit to write them. The +second covers common testing patterns, e.g. how to isolate code and make it +possible to unit test code that was otherwise un-unit-testable. + +Testing +======= + +What is KUnit? +-------------- + +"K" is short for "kernel" so "KUnit" is the "(Linux) Kernel Unit Testing +Framework." KUnit is intended first and foremost for writing unit tests; it is +general enough that it can be used to write integration tests; however, this is +a secondary goal. KUnit has no ambition of being the only testing framework for +the kernel; for example, it does not intend to be an end-to-end testing +framework. + +What is Unit Testing? +--------------------- + +A `unit test `_ is a test that +tests code at the smallest possible scope, a *unit* of code. In the C +programming language that's a function. + +Unit tests should be written for all the publicly exposed functions in a +compilation unit; so that is all the functions that are exported in either a +*class* (defined below) or all functions which are **not** static. + Writing Tests -============= +------------- Test Cases ----------- +~~~~~~~~~~ The fundamental unit in KUnit is the test case. A test case is a function with -the signature ``void (*)(struct kunit *test)``. It calls the function under test +the signature ``void (*)(struct kunit *test)``. It calls a function to be tested and then sets *expectations* for what should happen. For example: .. code-block:: c @@ -21,19 +65,18 @@ and then sets *expectations* for what should happen. For example: KUNIT_FAIL(test, "This test never passes."); } -In the above example, ``example_test_success`` always passes because it does -nothing; no expectations are set, and therefore all expectations pass. On the -other hand ``example_test_failure`` always fails because it calls ``KUNIT_FAIL``, -which is a special expectation that logs a message and causes the test case to -fail. +In the above example ``example_test_success`` always passes because it does +nothing; no expectations are set, so all expectations pass. On the other hand +``example_test_failure`` always fails because it calls ``KUNIT_FAIL``, which is +a special expectation that logs a message and causes the test case to fail. Expectations ~~~~~~~~~~~~ -An *expectation* specifies that we expect a piece of code to do something in a -test. An expectation is called like a function. A test is made by setting -expectations about the behavior of a piece of code under test. When one or more -expectations fail, the test case fails and information about the failure is -logged. For example: +An *expectation* is a way to specify that you expect a piece of code to do +something in a test. An expectation is called like a function. A test is made +by setting expectations about the behavior of a piece of code under test; when +one or more of the expectations fail, the test case fails and information about +the failure is logged. For example: .. code-block:: c @@ -43,28 +86,29 @@ logged. For example: KUNIT_EXPECT_EQ(test, 2, add(1, 1)); } -In the above example, ``add_test_basic`` makes a number of assertions about the -behavior of a function called ``add``. The first parameter is always of type -``struct kunit *``, which contains information about the current test context. -The second parameter, in this case, is what the value is expected to be. The +In the above example ``add_test_basic`` makes a number of assertions about the +behavior of a function called ``add``; the first parameter is always of type +``struct kunit *``, which contains information about the current test context; +the second parameter, in this case, is what the value is expected to be; the last value is what the value actually is. If ``add`` passes all of these expectations, the test case, ``add_test_basic`` will pass; if any one of these expectations fails, the test case will fail. -A test case *fails* when any expectation is violated; however, the test will -continue to run, and try other expectations until the test case ends or is -otherwise terminated. This is as opposed to *assertions* which are discussed -later. +It is important to understand that a test case *fails* when any expectation is +violated; however, the test will continue running, potentially trying other +expectations until the test case ends or is otherwise terminated. This is as +opposed to *assertions* which are discussed later. -To learn about more KUnit expectations, see Documentation/dev-tools/kunit/api/test.rst. +To learn about more expectations supported by KUnit, see +Documentation/dev-tools/kunit/api/test.rst. .. note:: - A single test case should be short, easy to understand, and focused on a - single behavior. + A single test case should be pretty short, pretty easy to understand, + focused on a single behavior. -For example, if we want to rigorously test the ``add`` function above, create -additional tests cases which would test each property that an ``add`` function -should have as shown below: +For example, if we wanted to properly test the add function above, we would +create additional tests cases which would each test a different property that an +add function should have like this: .. code-block:: c @@ -90,43 +134,56 @@ should have as shown below: KUNIT_EXPECT_EQ(test, INT_MIN, add(INT_MAX, 1)); } +Notice how it is immediately obvious what all the properties that we are testing +for are. + Assertions ~~~~~~~~~~ -An assertion is like an expectation, except that the assertion immediately -terminates the test case if the condition is not satisfied. For example: +KUnit also has the concept of an *assertion*. An assertion is just like an +expectation except the assertion immediately terminates the test case if it is +not satisfied. + +For example: .. code-block:: c - static void test_sort(struct kunit *test) + static void mock_test_do_expect_default_return(struct kunit *test) { - int *a, i, r = 1; - a = kunit_kmalloc_array(test, TEST_LEN, sizeof(*a), GFP_KERNEL); - KUNIT_ASSERT_NOT_ERR_OR_NULL(test, a); - for (i = 0; i < TEST_LEN; i++) { - r = (r * 725861) % 6599; - a[i] = r; - } - sort(a, TEST_LEN, sizeof(*a), cmpint, NULL); - for (i = 0; i < TEST_LEN-1; i++) - KUNIT_EXPECT_LE(test, a[i], a[i + 1]); + struct mock_test_context *ctx = test->priv; + struct mock *mock = ctx->mock; + int param0 = 5, param1 = -5; + const char *two_param_types[] = {"int", "int"}; + const void *two_params[] = {¶m0, ¶m1}; + const void *ret; + + ret = mock->do_expect(mock, + "test_printk", test_printk, + two_param_types, two_params, + ARRAY_SIZE(two_params)); + KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ret); + KUNIT_EXPECT_EQ(test, -4, *((int *) ret)); } -In this example, the method under test should return pointer to a value. If the -pointer returns null or an errno, we want to stop the test since the following -expectation could crash the test case. `ASSERT_NOT_ERR_OR_NULL(...)` allows us -to bail out of the test case if the appropriate conditions are not satisfied to -complete the test. +In this example, the method under test should return a pointer to a value, so +if the pointer returned by the method is null or an errno, we don't want to +bother continuing the test since the following expectation could crash the test +case. `ASSERT_NOT_ERR_OR_NULL(...)` allows us to bail out of the test case if +the appropriate conditions have not been satisfied to complete the test. Test Suites ~~~~~~~~~~~ -We need many test cases covering all the unit's behaviors. It is common to have -many similar tests. In order to reduce duplication in these closely related -tests, most unit testing frameworks (including KUnit) provide the concept of a -*test suite*. A test suite is a collection of test cases for a unit of code -with a setup function that gets invoked before every test case and then a tear -down function that gets invoked after every test case completes. For example: +Now obviously one unit test isn't very helpful; the power comes from having +many test cases covering all of a unit's behaviors. Consequently it is common +to have many *similar* tests; in order to reduce duplication in these closely +related tests most unit testing frameworks - including KUnit - provide the +concept of a *test suite*. A *test suite* is just a collection of test cases +for a unit of code with a set up function that gets invoked before every test +case and then a tear down function that gets invoked after every test case +completes. + +Example: .. code-block:: c @@ -145,48 +202,23 @@ down function that gets invoked after every test case completes. For example: }; kunit_test_suite(example_test_suite); -In the above example, the test suite ``example_test_suite`` would run the test -cases ``example_test_foo``, ``example_test_bar``, and ``example_test_baz``. Each -would have ``example_test_init`` called immediately before it and -``example_test_exit`` called immediately after it. +In the above example the test suite, ``example_test_suite``, would run the test +cases ``example_test_foo``, ``example_test_bar``, and ``example_test_baz``; +each would have ``example_test_init`` called immediately before it and would +have ``example_test_exit`` called immediately after it. ``kunit_test_suite(example_test_suite)`` registers the test suite with the KUnit test framework. .. note:: - A test case will only run if it is associated with a test suite. + A test case will only be run if it is associated with a test suite. -``kunit_test_suite(...)`` is a macro which tells the linker to put the -specified test suite in a special linker section so that it can be run by KUnit -either after ``late_init``, or when the test module is loaded (if the test was -built as a module). +``kunit_test_suite(...)`` is a macro which tells the linker to put the specified +test suite in a special linker section so that it can be run by KUnit either +after late_init, or when the test module is loaded (depending on whether the +test was built in or not). -For more information, see Documentation/dev-tools/kunit/api/test.rst. - -Writing Tests For Other Architectures -------------------------------------- - -It is better to write tests that run on UML to tests that only run under a -particular architecture. It is better to write tests that run under QEMU or -another easy to obtain (and monetarily free) software environment to a specific -piece of hardware. - -Nevertheless, there are still valid reasons to write a test that is architecture -or hardware specific. For example, we might want to test code that really -belongs in ``arch/some-arch/*``. Even so, try to write the test so that it does -not depend on physical hardware. Some of our test cases may not need hardware, -only few tests actually require the hardware to test it. When hardware is not -available, instead of disabling tests, we can skip them. - -Now that we have narrowed down exactly what bits are hardware specific, the -actual procedure for writing and running the tests is same as writing normal -KUnit tests. - -.. important:: - We may have to reset hardware state. If this is not possible, we may only - be able to run one test case per invocation. - -.. TODO(brendanhiggins@google.com): Add an actual example of an architecture- - dependent KUnit test. +For more information on these types of things see the +Documentation/dev-tools/kunit/api/test.rst. Common Patterns =============== @@ -194,39 +226,43 @@ Common Patterns Isolating Behavior ------------------ -Unit testing limits the amount of code under test to a single unit. It controls -what code gets run when the unit under test calls a function. Where a function -is exposed as part of an API such that the definition of that function can be -changed without affecting the rest of the code base. In the kernel, this comes -from two constructs: classes, which are structs that contain function pointers -provided by the implementer, and architecture-specific functions, which have -definitions selected at compile time. +The most important aspect of unit testing that other forms of testing do not +provide is the ability to limit the amount of code under test to a single unit. +In practice, this is only possible by being able to control what code gets run +when the unit under test calls a function and this is usually accomplished +through some sort of indirection where a function is exposed as part of an API +such that the definition of that function can be changed without affecting the +rest of the code base. In the kernel this primarily comes from two constructs, +classes, structs that contain function pointers that are provided by the +implementer, and architecture-specific functions which have definitions selected +at compile time. Classes ~~~~~~~ Classes are not a construct that is built into the C programming language; -however, it is an easily derived concept. Accordingly, in most cases, every -project that does not use a standardized object oriented library (like GNOME's -GObject) has their own slightly different way of doing object oriented -programming; the Linux kernel is no exception. +however, it is an easily derived concept. Accordingly, pretty much every project +that does not use a standardized object oriented library (like GNOME's GObject) +has their own slightly different way of doing object oriented programming; the +Linux kernel is no exception. The central concept in kernel object oriented programming is the class. In the kernel, a *class* is a struct that contains function pointers. This creates a contract between *implementers* and *users* since it forces them to use the -same function signature without having to call the function directly. To be a -class, the function pointers must specify that a pointer to the class, known as -a *class handle*, be one of the parameters. Thus the member functions (also -known as *methods*) have access to member variables (also known as *fields*) -allowing the same implementation to have multiple *instances*. +same function signature without having to call the function directly. In order +for it to truly be a class, the function pointers must specify that a pointer +to the class, known as a *class handle*, be one of the parameters; this makes +it possible for the member functions (also known as *methods*) to have access +to member variables (more commonly known as *fields*) allowing the same +implementation to have multiple *instances*. -A class can be *overridden* by *child classes* by embedding the *parent class* -in the child class. Then when the child class *method* is called, the child -implementation knows that the pointer passed to it is of a parent contained -within the child. Thus, the child can compute the pointer to itself because the -pointer to the parent is always a fixed offset from the pointer to the child. -This offset is the offset of the parent contained in the child struct. For -example: +Typically a class can be *overridden* by *child classes* by embedding the +*parent class* in the child class. Then when a method provided by the child +class is called, the child implementation knows that the pointer passed to it is +of a parent contained within the child; because of this, the child can compute +the pointer to itself because the pointer to the parent is always a fixed offset +from the pointer to the child; this offset is the offset of the parent contained +in the child struct. For example: .. code-block:: c @@ -242,7 +278,7 @@ example: int rectangle_area(struct shape *this) { - struct rectangle *self = container_of(this, struct rectangle, parent); + struct rectangle *self = container_of(this, struct shape, parent); return self->length * self->width; }; @@ -254,8 +290,8 @@ example: self->width = width; } -In this example, computing the pointer to the child from the pointer to the -parent is done by ``container_of``. +In this example (as in most kernel code) the operation of computing the pointer +to the child from the pointer to the parent is done by ``container_of``. Faking Classes ~~~~~~~~~~~~~~ @@ -264,11 +300,14 @@ In order to unit test a piece of code that calls a method in a class, the behavior of the method must be controllable, otherwise the test ceases to be a unit test and becomes an integration test. -A fake class implements a piece of code that is different than what runs in a -production instance, but behaves identical from the standpoint of the callers. -This is done to replace a dependency that is hard to deal with, or is slow. For -example, implementing a fake EEPROM that stores the "contents" in an -internal buffer. Assume we have a class that represents an EEPROM: +A fake just provides an implementation of a piece of code that is different than +what runs in a production instance, but behaves identically from the standpoint +of the callers; this is usually done to replace a dependency that is hard to +deal with, or is slow. + +A good example for this might be implementing a fake EEPROM that just stores the +"contents" in an internal buffer. For example, let's assume we have a class that +represents an EEPROM: .. code-block:: c @@ -277,7 +316,7 @@ internal buffer. Assume we have a class that represents an EEPROM: ssize_t (*write)(struct eeprom *this, size_t offset, const char *buffer, size_t count); }; -And we want to test code that buffers writes to the EEPROM: +And we want to test some code that buffers writes to the EEPROM: .. code-block:: c @@ -290,7 +329,7 @@ And we want to test code that buffers writes to the EEPROM: struct eeprom_buffer *new_eeprom_buffer(struct eeprom *eeprom); void destroy_eeprom_buffer(struct eeprom *eeprom); -We can test this code by *faking out* the underlying EEPROM: +We can easily test this code by *faking out* the underlying EEPROM: .. code-block:: c @@ -417,14 +456,14 @@ We can now use it to test ``struct eeprom_buffer``: destroy_eeprom_buffer(ctx->eeprom_buffer); } -Testing Against Multiple Inputs +Testing against multiple inputs ------------------------------- -Testing just a few inputs is not enough to ensure that the code works correctly, -for example: testing a hash function. +Testing just a few inputs might not be enough to have confidence that the code +works correctly, e.g. for a hash function. -We can write a helper macro or function. The function is called for each input. -For example, to test ``sha1sum(1)``, we can write: +In such cases, it can be helpful to have a helper macro or function, e.g. this +fictitious example for ``sha1sum(1)`` .. code-block:: c @@ -436,15 +475,16 @@ For example, to test ``sha1sum(1)``, we can write: TEST_SHA1("hello world", "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"); TEST_SHA1("hello world!", "430ce34d020724ed75a196dfc2ad67c77772d169"); -Note the use of the ``_MSG`` version of ``KUNIT_EXPECT_STREQ`` to print a more -detailed error and make the assertions clearer within the helper macros. -The ``_MSG`` variants are useful when the same expectation is called multiple -times (in a loop or helper function) and thus the line number is not enough to -identify what failed, as shown below. +Note the use of ``KUNIT_EXPECT_STREQ_MSG`` to give more context when it fails +and make it easier to track down. (Yes, in this example, ``want`` is likely +going to be unique enough on its own). -In complicated cases, we recommend using a *table-driven test* compared to the -helper macro variation, for example: +The ``_MSG`` variants are even more useful when the same expectation is called +multiple times (in a loop or helper function) and thus the line number isn't +enough to identify what failed, like below. + +In some cases, it can be helpful to write a *table-driven test* instead, e.g. .. code-block:: c @@ -473,18 +513,17 @@ helper macro variation, for example: } -There is more boilerplate code involved, but it can: +There's more boilerplate involved, but it can: -* be more readable when there are multiple inputs/outputs (due to field names). +* be more readable when there are multiple inputs/outputs thanks to field names, - * For example, see ``fs/ext4/inode-test.c``. + * E.g. see ``fs/ext4/inode-test.c`` for an example of both. +* reduce duplication if test cases can be shared across multiple tests. -* reduce duplication if test cases are shared across multiple tests. - - * For example: if we want to test ``sha256sum``, we could add a ``sha256`` + * E.g. if we wanted to also test ``sha256sum``, we could add a ``sha256`` field and reuse ``cases``. -* be converted to a "parameterized test". +* be converted to a "parameterized test", see below. Parameterized Testing ~~~~~~~~~~~~~~~~~~~~~ @@ -492,7 +531,7 @@ Parameterized Testing The table-driven testing pattern is common enough that KUnit has special support for it. -By reusing the same ``cases`` array from above, we can write the test as a +Reusing the same ``cases`` array from above, we can write the test as a "parameterized test" with the following. .. code-block:: c @@ -543,160 +582,193 @@ By reusing the same ``cases`` array from above, we can write the test as a .. _kunit-on-non-uml: -Exiting Early on Failed Expectations ------------------------------------- +KUnit on non-UML architectures +============================== -We can use ``KUNIT_EXPECT_EQ`` to mark the test as failed and continue -execution. In some cases, it is unsafe to continue. We can use the -``KUNIT_ASSERT`` variant to exit on failure. +By default KUnit uses UML as a way to provide dependencies for code under test. +Under most circumstances KUnit's usage of UML should be treated as an +implementation detail of how KUnit works under the hood. Nevertheless, there +are instances where being able to run architecture-specific code or test +against real hardware is desirable. For these reasons KUnit supports running on +other architectures. -.. code-block:: c +Running existing KUnit tests on non-UML architectures +----------------------------------------------------- - void example_test_user_alloc_function(struct kunit *test) - { - void *object = alloc_some_object_for_me(); +There are some special considerations when running existing KUnit tests on +non-UML architectures: - /* Make sure we got a valid pointer back. */ - KUNIT_ASSERT_NOT_ERR_OR_NULL(test, object); - do_something_with_object(object); - } +* Hardware may not be deterministic, so a test that always passes or fails + when run under UML may not always do so on real hardware. +* Hardware and VM environments may not be hermetic. KUnit tries its best to + provide a hermetic environment to run tests; however, it cannot manage state + that it doesn't know about outside of the kernel. Consequently, tests that + may be hermetic on UML may not be hermetic on other architectures. +* Some features and tooling may not be supported outside of UML. +* Hardware and VMs are slower than UML. -Allocating Memory ------------------ +None of these are reasons not to run your KUnit tests on real hardware; they are +only things to be aware of when doing so. -Where you might use ``kzalloc``, you can instead use ``kunit_kzalloc`` as KUnit -will then ensure that the memory is freed once the test completes. +Currently, the KUnit Wrapper (``tools/testing/kunit/kunit.py``) (aka +kunit_tool) only fully supports running tests inside of UML and QEMU; however, +this is only due to our own time limitations as humans working on KUnit. It is +entirely possible to support other emulators and even actual hardware, but for +now QEMU and UML is what is fully supported within the KUnit Wrapper. Again, to +be clear, this is just the Wrapper. The actualy KUnit tests and the KUnit +library they are written in is fully architecture agnostic and can be used in +virtually any setup, you just won't have the benefit of typing a single command +out of the box and having everything magically work perfectly. -This is useful because it lets us use the ``KUNIT_ASSERT_EQ`` macros to exit -early from a test without having to worry about remembering to call ``kfree``. -For example: +Again, all core KUnit framework features are fully supported on all +architectures, and using them is straightforward: Most popular architectures +are supported directly in the KUnit Wrapper via QEMU. Currently, supported +architectures on QEMU include: -.. code-block:: c +* i386 +* x86_64 +* arm +* arm64 +* alpha +* powerpc +* riscv +* s390 +* sparc - void example_test_allocation(struct kunit *test) - { - char *buffer = kunit_kzalloc(test, 16, GFP_KERNEL); - /* Ensure allocation succeeded. */ - KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buffer); +In order to run KUnit tests on one of these architectures via QEMU with the +KUnit wrapper, all you need to do is specify the flags ``--arch`` and +``--cross_compile`` when invoking the KUnit Wrapper. For example, we could run +the default KUnit tests on ARM in the following manner (assuming we have an ARM +toolchain installed): - KUNIT_ASSERT_STREQ(test, buffer, ""); - } +.. code-block:: bash + + tools/testing/kunit/kunit.py run --timeout=60 --jobs=12 --arch=arm --cross_compile=arm-linux-gnueabihf- + +Alternatively, if you want to run your tests on real hardware or in some other +emulation environment, all you need to do is to take your kunitconfig, your +Kconfig options for the tests you would like to run, and merge them into +whatever config your are using for your platform. That's it! + +For example, let's say you have the following kunitconfig: + +.. code-block:: none + + CONFIG_KUNIT=y + CONFIG_KUNIT_EXAMPLE_TEST=y + +If you wanted to run this test on an x86 VM, you might add the following config +options to your ``.config``: + +.. code-block:: none + + CONFIG_KUNIT=y + CONFIG_KUNIT_EXAMPLE_TEST=y + CONFIG_SERIAL_8250=y + CONFIG_SERIAL_8250_CONSOLE=y + +All these new options do is enable support for a common serial console needed +for logging. + +Next, you could build a kernel with these tests as follows: -Testing Static Functions ------------------------- +.. code-block:: bash -If we do not want to expose functions or variables for testing, one option is to -conditionally ``#include`` the test file at the end of your .c file. For -example: + make ARCH=x86 olddefconfig + make ARCH=x86 -.. code-block:: c +Once you have built a kernel, you could run it on QEMU as follows: - /* In my_file.c */ +.. code-block:: bash - static int do_interesting_thing(); + qemu-system-x86_64 -enable-kvm \ + -m 1024 \ + -kernel arch/x86_64/boot/bzImage \ + -append 'console=ttyS0' \ + --nographic - #ifdef CONFIG_MY_KUNIT_TEST - #include "my_kunit_test.c" - #endif +Interspersed in the kernel logs you might see the following: -Injecting Test-Only Code ------------------------- +.. code-block:: none -Similar to as shown above, we can add test-specific logic. For example: + TAP version 14 + # Subtest: example + 1..1 + # example_simple_test: initializing + ok 1 - example_simple_test + ok 1 - example -.. code-block:: c +Congratulations, you just ran a KUnit test on the x86 architecture! - /* In my_file.h */ +In a similar manner, kunit and kunit tests can also be built as modules, +so if you wanted to run tests in this way you might add the following config +options to your ``.config``: - #ifdef CONFIG_MY_KUNIT_TEST - /* Defined in my_kunit_test.c */ - void test_only_hook(void); - #else - void test_only_hook(void) { } - #endif +.. code-block:: none -This test-only code can be made more useful by accessing the current ``kunit_test`` -as shown in next section: *Accessing The Current Test*. + CONFIG_KUNIT=m + CONFIG_KUNIT_EXAMPLE_TEST=m -Accessing The Current Test --------------------------- +Once the kernel is built and installed, a simple -In some cases, we need to call test-only code from outside the test file. -For example, see example in section *Injecting Test-Only Code* or if -we are providing a fake implementation of an ops struct. Using -``kunit_test`` field in ``task_struct``, we can access it via -``current->kunit_test``. +.. code-block:: bash -The example below includes how to implement "mocking": + modprobe example-test -.. code-block:: c +...will run the tests. - #include /* for current */ +.. note:: + Note that you should make sure your test depends on ``KUNIT=y`` in Kconfig + if the test does not support module build. Otherwise, it will trigger + compile errors if ``CONFIG_KUNIT`` is ``m``. - struct test_data { - int foo_result; - int want_foo_called_with; - }; +Writing new tests for other architectures +----------------------------------------- - static int fake_foo(int arg) - { - struct kunit *test = current->kunit_test; - struct test_data *test_data = test->priv; +The first thing you must do is ask yourself whether it is necessary to write a +KUnit test for a specific architecture, and then whether it is necessary to +write that test for a particular piece of hardware. In general, writing a test +that depends on having access to a particular piece of hardware or software (not +included in the Linux source repo) should be avoided at all costs. - KUNIT_EXPECT_EQ(test, test_data->want_foo_called_with, arg); - return test_data->foo_result; - } +Even if you only ever plan on running your KUnit test on your hardware +configuration, other people may want to run your tests and may not have access +to your hardware. If you write your test to run on UML, then anyone can run your +tests without knowing anything about your particular setup, and you can still +run your tests on your hardware setup just by compiling for your architecture. - static void example_simple_test(struct kunit *test) - { - /* Assume priv (private, a member used to pass test data from - * the init function) is allocated in the suite's .init */ - struct test_data *test_data = test->priv; +.. important:: + Always prefer tests that run on UML to tests that only run under a particular + architecture, and always prefer tests that run under QEMU or another easy + (and monetarily free) to obtain software environment to a specific piece of + hardware. - test_data->foo_result = 42; - test_data->want_foo_called_with = 1; +Nevertheless, there are still valid reasons to write an architecture or hardware +specific test: for example, you might want to test some code that really belongs +in ``arch/some-arch/*``. Even so, try your best to write the test so that it +does not depend on physical hardware: if some of your test cases don't need the +hardware, only require the hardware for tests that actually need it. - /* In a real test, we'd probably pass a pointer to fake_foo somewhere - * like an ops struct, etc. instead of calling it directly. */ - KUNIT_EXPECT_EQ(test, fake_foo(1), 42); - } +Now that you have narrowed down exactly what bits are hardware specific, the +actual procedure for writing and running the tests is pretty much the same as +writing normal KUnit tests. One special caveat is that you have to reset +hardware state in between test cases; if this is not possible, you may only be +able to run one test case per invocation. -In this example, we are using the ``priv`` member of ``struct kunit`` as a way -of passing data to the test from the init function. In general ``priv`` is -pointer that can be used for any user data. This is preferred over static -variables, as it avoids concurrency issues. +.. TODO(brendanhiggins@google.com): Add an actual example of an architecture- + dependent KUnit test. -Had we wanted something more flexible, we could have used a named ``kunit_resource``. -Each test can have multiple resources which have string names providing the same -flexibility as a ``priv`` member, but also, for example, allowing helper -functions to create resources without conflicting with each other. It is also -possible to define a clean up function for each resource, making it easy to -avoid resource leaks. For more information, see Documentation/dev-tools/kunit/api/test.rst. +KUnit debugfs representation +============================ +When kunit test suites are initialized, they create an associated directory +in ``/sys/kernel/debug/kunit/``. The directory contains one file -Failing The Current Test ------------------------- - -If we want to fail the current test, we can use ``kunit_fail_current_test(fmt, args...)`` -which is defined in ```` and does not require pulling in ````. -For example, we have an option to enable some extra debug checks on some data -structures as shown below: - -.. code-block:: c - - #include - - #ifdef CONFIG_EXTRA_DEBUG_CHECKS - static void validate_my_data(struct data *data) - { - if (is_valid(data)) - return; - - kunit_fail_current_test("data %p is invalid", data); - - /* Normal, non-KUnit, error reporting code here. */ - } - #else - static void my_debug_function(void) { } - #endif +- results: "cat results" displays results of each test case and the results + of the entire suite for the last test run. +The debugfs representation is primarily of use when kunit test suites are +run in a native environment, either as modules or builtin. Having a way +to display results like this is valuable as otherwise results can be +intermixed with other events in dmesg output. The maximum size of each +results file is KUNIT_LOG_SIZE bytes (defined in ``include/kunit/test.h``). diff --git a/Documentation/devicetree/bindings/Makefile b/Documentation/devicetree/bindings/Makefile index 41c555181b..a072e95de6 100644 --- a/Documentation/devicetree/bindings/Makefile +++ b/Documentation/devicetree/bindings/Makefile @@ -9,11 +9,6 @@ DT_SCHEMA_MIN_VERSION = 2021.2.1 PHONY += check_dtschema_version check_dtschema_version: - @which $(DT_DOC_CHECKER) >/dev/null || \ - { echo "Error: '$(DT_DOC_CHECKER)' not found!" >&2; \ - echo "Ensure dtschema python package is installed and in your PATH." >&2; \ - echo "Current PATH is:" >&2; \ - echo "$$PATH" >&2; false; } @{ echo $(DT_SCHEMA_MIN_VERSION); \ $(DT_DOC_CHECKER) --version 2>/dev/null || echo 0; } | sort -Vc >/dev/null || \ { echo "ERROR: dtschema minimum version is v$(DT_SCHEMA_MIN_VERSION)" >&2; false; } @@ -27,20 +22,13 @@ $(obj)/%.example.dts: $(src)/%.yaml check_dtschema_version FORCE # Use full schemas when checking %.example.dts DT_TMP_SCHEMA := $(obj)/processed-schema-examples.json -find_all_cmd = find $(srctree)/$(src) \( -name '*.yaml' ! \ +find_cmd = find $(srctree)/$(src) \( -name '*.yaml' ! \ -name 'processed-schema*' ! \ -name '*.example.dt.yaml' \) -ifeq ($(DT_SCHEMA_FILES),) -find_cmd = $(find_all_cmd) -else -find_cmd = echo $(addprefix $(srctree)/, $(DT_SCHEMA_FILES)) -endif - quiet_cmd_yamllint = LINT $(src) cmd_yamllint = ($(find_cmd) | \ - xargs -n200 -P$$(nproc) \ - $(DT_SCHEMA_LINT) -f parsable -c $(srctree)/$(src)/.yamllint >&2) || true + xargs $(DT_SCHEMA_LINT) -f parsable -c $(srctree)/$(src)/.yamllint >&2) || true quiet_cmd_chk_bindings = CHKDT $@ cmd_chk_bindings = ($(find_cmd) | \ @@ -50,7 +38,7 @@ quiet_cmd_mk_schema = SCHEMA $@ cmd_mk_schema = f=$$(mktemp) ; \ $(if $(DT_MK_SCHEMA_FLAGS), \ printf '%s\n' $(real-prereqs), \ - $(find_all_cmd)) > $$f ; \ + $(find_cmd)) > $$f ; \ $(DT_MK_SCHEMA) -j $(DT_MK_SCHEMA_FLAGS) @$$f > $@ ; \ rm -f $$f @@ -60,14 +48,12 @@ define rule_chkdt $(call cmd,mk_schema) endef -DT_DOCS = $(patsubst $(srctree)/%,%,$(shell $(find_all_cmd))) +DT_DOCS = $(patsubst $(srctree)/%,%,$(shell $(find_cmd))) override DTC_FLAGS := \ -Wno-avoid_unnecessary_addr_size \ -Wno-graph_child_address \ - -Wno-interrupt_provider \ - -Wno-unique_unit_address \ - -Wunique_unit_address_if_enabled + -Wno-interrupt_provider # Disable undocumented compatible checks until warning free override DT_CHECKER_FLAGS ?= diff --git a/Documentation/devicetree/bindings/arm/amlogic.yaml b/Documentation/devicetree/bindings/arm/amlogic.yaml index 36081734f7..6423377710 100644 --- a/Documentation/devicetree/bindings/arm/amlogic.yaml +++ b/Documentation/devicetree/bindings/arm/amlogic.yaml @@ -86,7 +86,6 @@ properties: - enum: - amlogic,p281 - oranth,tx3-mini - - jethome,jethub-j80 - const: amlogic,s905w - const: amlogic,meson-gxl @@ -134,7 +133,6 @@ properties: items: - enum: - amlogic,s400 - - jethome,jethub-j100 - const: amlogic,a113d - const: amlogic,meson-axg @@ -143,7 +141,6 @@ properties: - enum: - amediatech,x96-max - amlogic,u200 - - radxa,zero - seirobotics,sei510 - const: amlogic,g12a diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml index 8d93e8a6cc..1e772c8520 100644 --- a/Documentation/devicetree/bindings/arm/apple.yaml +++ b/Documentation/devicetree/bindings/arm/apple.yaml @@ -12,19 +12,12 @@ maintainers: description: | ARM platforms using SoCs designed by Apple Inc., branded "Apple Silicon". - This currently includes devices based on the "M1" SoC: + This currently includes devices based on the "M1" SoC, starting with the + three Mac models released in late 2020: - Mac mini (M1, 2020) - MacBook Pro (13-inch, M1, 2020) - MacBook Air (M1, 2020) - - iMac (24-inch, M1, 2021) - - And devices based on the "M1 Pro" and "M1 Max" SoCs: - - - MacBook Pro (14-inch, M1 Pro, 2021) - - MacBook Pro (14-inch, M1 Max, 2021) - - MacBook Pro (16-inch, M1 Pro, 2021) - - MacBook Pro (16-inch, M1 Max, 2021) The compatible property should follow this format: @@ -63,24 +56,8 @@ properties: - apple,j274 # Mac mini (M1, 2020) - apple,j293 # MacBook Pro (13-inch, M1, 2020) - apple,j313 # MacBook Air (M1, 2020) - - apple,j456 # iMac (24-inch, 4x USB-C, M1, 2021) - - apple,j457 # iMac (24-inch, 2x USB-C, M1, 2021) - const: apple,t8103 - const: apple,arm-platform - - description: Apple M1 Pro SoC based platforms - items: - - enum: - - apple,j314s # MacBook Pro (14-inch, M1 Pro, 2021) - - apple,j316s # MacBook Pro (16-inch, M1 Pro, 2021) - - const: apple,t6000 - - const: apple,arm-platform - - description: Apple M1 Max SoC based platforms - items: - - enum: - - apple,j314c # MacBook Pro (14-inch, M1 Max, 2021) - - apple,j316c # MacBook Pro (16-inch, M1 Max, 2021) - - const: apple,t6001 - - const: apple,arm-platform additionalProperties: true diff --git a/Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml b/Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml index a4b4452afc..55ef656d11 100644 --- a/Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml +++ b/Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml @@ -119,6 +119,22 @@ properties: - const: arm,foundation-aarch64 - const: arm,vexpress + arm,hbi: + $ref: '/schemas/types.yaml#/definitions/uint32' + description: This indicates the ARM HBI (Hardware Board ID), this is + ARM's unique board model ID, visible on the PCB's silkscreen. + + arm,vexpress,site: + description: As Versatile Express can be configured in number of physically + different setups, the device tree should describe platform topology. + For this reason the root node and main motherboard node must define this + property, describing the physical location of the children nodes. + 0 means motherboard site, while 1 and 2 are daughterboard sites, and + 0xf means "sisterboard" which is the site containing the main CPU tile. + $ref: '/schemas/types.yaml#/definitions/uint32' + minimum: 0 + maximum: 15 + arm,vexpress,position: description: When daughterboards are stacked on one site, their position in the stack be be described this attribute. @@ -138,9 +154,9 @@ patternProperties: description: Static Memory Bus (SMB) node, if this exists it describes the connection between the motherboard and any tiles. Sometimes the compatible is placed directly under this node, sometimes it is placed - in a subnode named "motherboard-bus". Sometimes the compatible includes + in a subnode named "motherboard". Sometimes the compatible includes "arm,vexpress,v2?-p1" sometimes (on software models) is is just - "simple-bus". If the compatible is placed in the "motherboard-bus" node, + "simple-bus". If the compatible is placed in the "motherboard" node, it is stricter and always has two compatibles. type: object $ref: '/schemas/simple-bus.yaml' @@ -154,9 +170,7 @@ patternProperties: - arm,vexpress,v2p-p1 - const: simple-bus - const: simple-bus - - patternProperties: - '^motherboard-bus@': + motherboard: type: object description: The motherboard description provides a single "motherboard" node using 2 address cells corresponding to the Static Memory Bus @@ -169,8 +183,6 @@ patternProperties: const: 2 "#size-cells": const: 1 - ranges: true - compatible: items: - enum: @@ -184,28 +196,8 @@ patternProperties: - rs1 - rs2 - arm,hbi: - $ref: '/schemas/types.yaml#/definitions/uint32' - description: This indicates the ARM HBI (Hardware Board ID), this is - ARM's unique board model ID, visible on the PCB's silkscreen. - - arm,vexpress,site: - description: As Versatile Express can be configured in number of physically - different setups, the device tree should describe platform topology. - For this reason the root node and main motherboard node must define this - property, describing the physical location of the children nodes. - 0 means motherboard site, while 1 and 2 are daughterboard sites, and - 0xf means "sisterboard" which is the site containing the main CPU tile. - $ref: '/schemas/types.yaml#/definitions/uint32' - minimum: 0 - maximum: 15 - required: - compatible - - additionalProperties: - type: object - required: - compatible diff --git a/Documentation/devicetree/bindings/arm/atmel-at91.yaml b/Documentation/devicetree/bindings/arm/atmel-at91.yaml index c612e1f48d..fba071b9af 100644 --- a/Documentation/devicetree/bindings/arm/atmel-at91.yaml +++ b/Documentation/devicetree/bindings/arm/atmel-at91.yaml @@ -126,18 +126,6 @@ properties: - const: atmel,sama5d3 - const: atmel,sama5 - - description: CalAmp LMU5000 board - items: - - const: calamp,lmu5000 - - const: atmel,at91sam9g20 - - const: atmel,at91sam9 - - - description: Exegin Q5xR5 board - items: - - const: exegin,q5xr5 - - const: atmel,at91sam9g20 - - const: atmel,at91sam9 - - items: - enum: - atmel,sama5d31 @@ -162,18 +150,6 @@ properties: - const: microchip,sama7g5 - const: microchip,sama7 - - description: Microchip LAN9662 PCB8291 Evaluation Board. - items: - - const: microchip,lan9662-pcb8291 - - const: microchip,lan9662 - - const: microchip,lan966 - - - description: Microchip LAN9668 PCB8290 Evaluation Board. - items: - - const: microchip,lan9668-pcb8290 - - const: microchip,lan9668 - - const: microchip,lan966 - - items: - enum: - atmel,sams70j19 diff --git a/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml b/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml index 5dc48241ef..230b80d9d6 100644 --- a/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml +++ b/Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml @@ -19,7 +19,6 @@ properties: items: - enum: - raspberrypi,400 - - raspberrypi,4-compute-module - raspberrypi,4-model-b - const: brcm,bcm2711 diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm4908.yaml b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm4908.yaml index 9b745531ff..2cd4e4a322 100644 --- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm4908.yaml +++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm4908.yaml @@ -29,7 +29,6 @@ properties: items: - enum: - asus,gt-ac5300 - - netgear,raxe500 - const: brcm,bcm4908 - description: BCM49408 based boards diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,nsp.yaml b/Documentation/devicetree/bindings/arm/bcm/brcm,nsp.yaml index 7d184ba7d1..476bc23a7f 100644 --- a/Documentation/devicetree/bindings/arm/bcm/brcm,nsp.yaml +++ b/Documentation/devicetree/bindings/arm/bcm/brcm,nsp.yaml @@ -22,61 +22,16 @@ properties: $nodename: const: '/' compatible: - oneOf: - - description: BCM58522 based boards - items: - - enum: - - brcm,bcm958522er - - const: brcm,bcm58522 - - const: brcm,nsp - - - description: BCM58525 based boards - items: - - enum: - - brcm,bcm958525er - - brcm,bcm958525xmc - - const: brcm,bcm58525 - - const: brcm,nsp - - - description: BCM58535 based boards - items: - - const: brcm,bcm58535 - - const: brcm,nsp - - - description: BCM58622 based boards - items: - - enum: - - brcm,bcm958622hr - - const: brcm,bcm58622 - - const: brcm,nsp - - - description: BCM58623 based boards - items: - - enum: - - brcm,bcm958623hr - - const: brcm,bcm58623 - - const: brcm,nsp - - - description: BCM58625 based boards - items: - - enum: - - brcm,bcm958625hr - - brcm,bcm958625k - - meraki,mx64 - - meraki,mx64-a0 - - meraki,mx64w - - meraki,mx64w-a0 - - meraki,mx65 - - meraki,mx65w - - const: brcm,bcm58625 - - const: brcm,nsp - - - description: BCM88312 based boards - items: - - enum: - - brcm,bcm988312hr - - const: brcm,bcm88312 - - const: brcm,nsp + items: + - enum: + - brcm,bcm58522 + - brcm,bcm58525 + - brcm,bcm58535 + - brcm,bcm58622 + - brcm,bcm58623 + - brcm,bcm58625 + - brcm,bcm88312 + - const: brcm,nsp additionalProperties: true diff --git a/Documentation/devicetree/bindings/arm/coresight.txt b/Documentation/devicetree/bindings/arm/coresight.txt index c68d93a35b..7f9c1ca874 100644 --- a/Documentation/devicetree/bindings/arm/coresight.txt +++ b/Documentation/devicetree/bindings/arm/coresight.txt @@ -127,11 +127,6 @@ its hardware characteristcs. * arm,scatter-gather: boolean. Indicates that the TMC-ETR can safely use the SG mode on this system. - * arm,max-burst-size: The maximum burst size initiated by TMC on the - AXI master interface. The burst size can be in the range [0..15], - the setting supports one data transfer per burst up to a maximum of - 16 data transfers per burst. - * Optional property for CATU : * interrupts : Exactly one SPI may be listed for reporting the address error diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml index 0dcebc48ea..9a2432a880 100644 --- a/Documentation/devicetree/bindings/arm/cpus.yaml +++ b/Documentation/devicetree/bindings/arm/cpus.yaml @@ -137,9 +137,6 @@ properties: - arm,cortex-a75 - arm,cortex-a76 - arm,cortex-a77 - - arm,cortex-a78 - - arm,cortex-a510 - - arm,cortex-a710 - arm,cortex-m0 - arm,cortex-m0+ - arm,cortex-m1 @@ -148,12 +145,8 @@ properties: - arm,cortex-r4 - arm,cortex-r5 - arm,cortex-r7 - - arm,cortex-x1 - - arm,cortex-x2 - arm,neoverse-e1 - arm,neoverse-n1 - - arm,neoverse-n2 - - arm,neoverse-v1 - brcm,brahma-b15 - brcm,brahma-b53 - brcm,vulcan @@ -178,10 +171,7 @@ properties: - qcom,kryo385 - qcom,kryo468 - qcom,kryo485 - - qcom,kryo560 - - qcom,kryo570 - qcom,kryo685 - - qcom,kryo780 - qcom,scorpion enable-method: @@ -219,9 +209,6 @@ properties: - qcom,gcc-msm8660 - qcom,kpss-acc-v1 - qcom,kpss-acc-v2 - - qcom,msm8226-smp - # Only valid on ARM 32-bit, see above for ARM v8 64-bit - - qcom,msm8916-smp - renesas,apmu - renesas,r9a06g032-smp - rockchip,rk3036-smp @@ -253,8 +240,6 @@ properties: DMIPS/MHz, relative to highest capacity-dmips-mhz in the system. - cci-control-port: true - dynamic-power-coefficient: $ref: '/schemas/types.yaml#/definitions/uint32' description: @@ -308,8 +293,7 @@ properties: Specifies the ACC* node associated with this CPU. Required for systems that have an "enable-method" property - value of "qcom,kpss-acc-v1", "qcom,kpss-acc-v2", "qcom,msm8226-smp" or - "qcom,msm8916-smp". + value of "qcom,kpss-acc-v1" or "qcom,kpss-acc-v2" * arm/msm/qcom,kpss-acc.txt diff --git a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml index 9a426110a1..c24047c1fd 100644 --- a/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml +++ b/Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.yaml @@ -24,12 +24,6 @@ properties: compatible: const: linaro,optee-tz - interrupts: - maxItems: 1 - description: | - This interrupt which is used to signal an event by the secure world - software is expected to be edge-triggered. - method: enum: [smc, hvc] description: | @@ -48,12 +42,10 @@ additionalProperties: false examples: - | - #include firmware { optee { compatible = "linaro,optee-tz"; method = "smc"; - interrupts = ; }; }; diff --git a/Documentation/devicetree/bindings/arm/fsl.yaml b/Documentation/devicetree/bindings/arm/fsl.yaml index 97f6eebad7..60f4862ba1 100644 --- a/Documentation/devicetree/bindings/arm/fsl.yaml +++ b/Documentation/devicetree/bindings/arm/fsl.yaml @@ -235,12 +235,11 @@ properties: - technexion,imx6q-pico-pi # TechNexion i.MX6Q Pico-Pi - technologic,imx6q-ts4900 - technologic,imx6q-ts7970 - - toradex,apalis_imx6q # Apalis iMX6 Modules + - toradex,apalis_imx6q # Apalis iMX6 Module - udoo,imx6q-udoo # Udoo i.MX6 Quad Board - uniwest,imx6q-evi # Uniwest Evi - variscite,dt6customboard - wand,imx6q-wandboard # Wandboard i.MX6 Quad Board - - ysoft,imx6q-yapp4-crux # i.MX6 Quad Y Soft IOTA Crux board - zealz,imx6q-gk802 # Zealz GK802 - zii,imx6q-zii-rdu2 # ZII RDU2 Board - const: fsl,imx6q @@ -315,27 +314,19 @@ properties: - const: phytec,imx6q-pfla02 # PHYTEC phyFLEX-i.MX6 Quad - const: fsl,imx6q - - description: i.MX6Q Boards with Toradex Apalis iMX6Q/D Modules + - description: i.MX6Q Boards with Toradex Apalis iMX6Q/D Module items: - enum: - - toradex,apalis_imx6q-ixora # Apalis iMX6Q/D Module on Ixora Carrier Board - - toradex,apalis_imx6q-ixora-v1.1 # Apalis iMX6Q/D Module on Ixora V1.1 Carrier Board - - toradex,apalis_imx6q-eval # Apalis iMX6Q/D Module on Apalis Evaluation Board + - toradex,apalis_imx6q-ixora # Apalis iMX6Q/D Module on Ixora Carrier Board + - toradex,apalis_imx6q-eval # Apalis iMX6Q/D Module on Apalis Evaluation Board - const: toradex,apalis_imx6q - const: fsl,imx6q - - description: TQ-Systems TQMa6Q SoM (variant A) on MBa6x + - description: i.MX6Q Toradex Apalis iMX6Q/D Module on Ixora Carrier Board V1.1 items: - - const: tq,imx6q-mba6x-a - - const: tq,mba6a # Expected by bootloader, to be removed in the future - - const: tq,imx6q-tqma6q-a - - const: fsl,imx6q - - - description: TQ-Systems TQMa6Q SoM (variant B) on MBa6x - items: - - const: tq,imx6q-mba6x-b - - const: tq,mba6b # Expected by bootloader, to be removed in the future - - const: tq,imx6q-tqma6q-b + - const: toradex,apalis_imx6q-ixora-v1.1 + - const: toradex,apalis_imx6q-ixora + - const: toradex,apalis_imx6q - const: fsl,imx6q - description: i.MX6QP based Boards @@ -349,7 +340,6 @@ properties: - kvg,vicutp # Kverneland UT1P board - prt,prtwd3 # Protonic WD3 board - wand,imx6qp-wandboard # Wandboard i.MX6 QuadPlus Board - - ysoft,imx6qp-yapp4-crux-plus # i.MX6 Quad Plus Y Soft IOTA Crux+ board - zii,imx6qp-zii-rdu2 # ZII RDU2+ Board - const: fsl,imx6qp @@ -360,13 +350,6 @@ properties: - const: phytec,imx6qdl-pcm058 # PHYTEC phyCORE-i.MX6 - const: fsl,imx6qp - - description: TQ-Systems TQMa6QP SoM on MBa6x - items: - - const: tq,imx6qp-mba6x-b - - const: tq,mba6b # Expected by bootloader, to be removed in the future - - const: tq,imx6qp-tqma6qp-b - - const: fsl,imx6qp - - description: i.MX6DL based Boards items: - enum: @@ -410,8 +393,6 @@ properties: - technexion,imx6dl-pico-pi # TechNexion i.MX6DL Pico-Pi - technologic,imx6dl-ts4900 - technologic,imx6dl-ts7970 - - toradex,colibri_imx6dl # Colibri iMX6 Modules - - toradex,colibri_imx6dl-v1_1 # Colibri iMX6 V1.1 Modules - udoo,imx6dl-udoo # Udoo i.MX6 Dual-lite Board - vdl,lanmcu # Van der Laan LANMCU board - wand,imx6dl-wandboard # Wandboard i.MX6 Dual Lite Board @@ -485,18 +466,20 @@ properties: - const: phytec,imx6dl-pfla02 # PHYTEC phyFLEX-i.MX6 Quad - const: fsl,imx6dl - - description: i.MX6DL Boards with Toradex Colibri iMX6DL/S Modules + - description: i.MX6DL Toradex Colibri iMX6 Module on Colibri + Evaluation Board V3 items: - - enum: - - toradex,colibri_imx6dl-eval-v3 # Colibri iMX6DL/S Module on Colibri Evaluation Board V3 - - const: toradex,colibri_imx6dl # Colibri iMX6DL/S Module + - const: toradex,colibri_imx6dl-eval-v3 + - const: toradex,colibri_imx6dl # Colibri iMX6 Module - const: fsl,imx6dl - - description: i.MX6DL Boards with Toradex Colibri iMX6DL/S V1.1 Modules + - description: i.MX6DL Toradex Colibri iMX6 Module V1.1 on Colibri + Evaluation Board V3 items: - - enum: - - toradex,colibri_imx6dl-v1_1-eval-v3 # Colibri iMX6DL/S V1.1 M. on Colibri Evaluation Board V3 - - const: toradex,colibri_imx6dl-v1_1 # Colibri iMX6DL/S V1.1 Module + - const: toradex,colibri_imx6dl-v1_1-eval-v3 + - const: toradex,colibri_imx6dl-v1_1 # Colibri iMX6 Module V1.1 + - const: toradex,colibri_imx6dl-eval-v3 + - const: toradex,colibri_imx6dl # Colibri iMX6 Module - const: fsl,imx6dl - description: i.MX6S DHCOM DRC02 Board @@ -505,27 +488,12 @@ properties: - const: dh,imx6s-dhcom-som - const: fsl,imx6dl - - description: TQ-Systems TQMa6DL SoM (variant A) on MBa6x - items: - - const: tq,imx6dl-mba6x-a - - const: tq,mba6a # Expected by bootloader, to be removed in the future - - const: tq,imx6dl-tqma6dl-a - - const: fsl,imx6dl - - - description: TQ-Systems TQMa6DL SoM (variant B) on MBa6x - items: - - const: tq,imx6dl-mba6x-b - - const: tq,mba6b # Expected by bootloader, to be removed in the future - - const: tq,imx6dl-tqma6dl-b - - const: fsl,imx6dl - - description: i.MX6SL based Boards items: - enum: - fsl,imx6sl-evk # i.MX6 SoloLite EVK Board - kobo,tolino-shine2hd - kobo,tolino-shine3 - - kobo,tolino-vision5 - revotics,imx6sl-warp # Revotics WaRP Board - const: fsl,imx6sl @@ -534,7 +502,6 @@ properties: - enum: - fsl,imx6sll-evk - kobo,clarahd - - kobo,librah2o - const: fsl,imx6sll - description: i.MX6SX based Boards @@ -617,12 +584,10 @@ properties: items: - enum: - fsl,imx6ull-14x14-evk # i.MX6 UltraLiteLite 14x14 EVK Board - - joz,jozacp # JOZ Access Point - kontron,imx6ull-n6411-som # Kontron N6411 SOM - myir,imx6ull-mys-6ulx-eval # MYiR Tech iMX6ULL Evaluation Board - - toradex,colibri-imx6ull # Colibri iMX6ULL Modules - - toradex,colibri-imx6ull-emmc # Colibri iMX6ULL 1GB (eMMC) Module - - toradex,colibri-imx6ull-wifi # Colibri iMX6ULL Wi-Fi / BT Modules + - toradex,colibri-imx6ull-eval # Colibri iMX6ULL Module on Colibri Eval Board + - toradex,colibri-imx6ull-wifi-eval # Colibri iMX6ULL Wi-Fi / BT Module on Colibri Eval Board - const: fsl,imx6ull - description: i.MX6ULL Armadeus Systems OPOS6ULDev Board @@ -640,27 +605,6 @@ properties: - const: phytec,imx6ull-pcl063 # PHYTEC phyCORE-i.MX 6ULL - const: fsl,imx6ull - - description: i.MX6ULL Boards with Toradex Colibri iMX6ULL Modules - items: - - enum: - - toradex,colibri-imx6ull-eval # Colibri iMX6ULL Module on Colibri Evaluation Board - - const: toradex,colibri-imx6ull # Colibri iMX6ULL Module - - const: fsl,imx6dl - - - description: i.MX6ULL Boards with Toradex Colibri iMX6ULL 1GB (eMMC) Module - items: - - enum: - - toradex,colibri-imx6ull-emmc-eval # Colibri iMX6ULL 1GB (eMMC) M. on Colibri Evaluation Board - - const: toradex,colibri-imx6ull-emmc # Colibri iMX6ULL 1GB (eMMC) Module - - const: fsl,imx6dl - - - description: i.MX6ULL Boards with Toradex Colibri iMX6ULL Wi-Fi / BT Modules - items: - - enum: - - toradex,colibri-imx6ull-wifi-eval # Colibri iMX6ULL Wi-Fi / BT M. on Colibri Evaluation Board - - const: toradex,colibri-imx6ull-wifi # Colibri iMX6ULL Wi-Fi / BT Module - - const: fsl,imx6dl - - description: Kontron N6411 S Board items: - const: kontron,imx6ull-n6411-s @@ -670,7 +614,6 @@ properties: - description: i.MX6ULZ based Boards items: - enum: - - bsh,imx6ulz-bsh-smm-m2 # i.MX6 ULZ BSH SystemMaster - fsl,imx6ulz-14x14-evk # i.MX6 ULZ 14x14 EVK Board - const: fsl,imx6ull # This seems odd. Should be last? - const: fsl,imx6ulz @@ -679,7 +622,6 @@ properties: items: - enum: - element14,imx7s-warp # Element14 Warp i.MX7 Board - - toradex,colibri-imx7s # Colibri iMX7S Module - const: fsl,imx7s - description: i.MX7S Boards with Toradex Colibri iMX7S Module @@ -711,8 +653,15 @@ properties: - technexion,imx7d-pico-hobbit # TechNexion i.MX7D Pico-Hobbit - technexion,imx7d-pico-nymph # TechNexion i.MX7D Pico-Nymph - technexion,imx7d-pico-pi # TechNexion i.MX7D Pico-Pi - - toradex,colibri-imx7d # Colibri iMX7D Module - - toradex,colibri-imx7d-emmc # Colibri iMX7D 1GB (eMMC) Module + - toradex,colibri-imx7d # Colibri iMX7 Dual Module + - toradex,colibri-imx7d-aster # Colibri iMX7 Dual Module on Aster Carrier Board + - toradex,colibri-imx7d-emmc # Colibri iMX7 Dual 1GB (eMMC) Module + - toradex,colibri-imx7d-emmc-aster # Colibri iMX7 Dual 1GB (eMMC) Module on + # Aster Carrier Board + - toradex,colibri-imx7d-emmc-eval-v3 # Colibri iMX7 Dual 1GB (eMMC) Module on + # Colibri Evaluation Board V3 + - toradex,colibri-imx7d-eval-v3 # Colibri iMX7 Dual Module on + # Colibri Evaluation Board V3 - zii,imx7d-rmu2 # ZII RMU2 Board - zii,imx7d-rpu2 # ZII RPU2 Board - const: fsl,imx7d @@ -737,12 +686,12 @@ properties: - description: i.MX7D Boards with Toradex Colibri i.MX7D Module items: - enum: - - toradex,colibri-imx7d-aster # Colibri iMX7D Module on Aster Carrier Board - - toradex,colibri-imx7d-eval-v3 # Colibri iMX7D Module on Colibri Evaluation Board V3 + - toradex,colibri-imx7d-aster # Module on Aster Carrier Board + - toradex,colibri-imx7d-eval-v3 # Module on Colibri Evaluation Board V3 - const: toradex,colibri-imx7d - const: fsl,imx7d - - description: i.MX7D Boards with Toradex Colibri i.MX7D 1GB (eMMC) Module + - description: i.MX7D Boards with Toradex Colibri i.MX7D eMMC Module items: - enum: - toradex,colibri-imx7d-emmc-aster # Module on Aster Carrier Board @@ -793,23 +742,10 @@ properties: - const: variscite,var-som-mx8mm - const: fsl,imx8mm - - description: - TQMa8MxML is a series of SOM featuring NXP i.MX8MM system-on-chip - variants. It is designed to be soldered on different carrier boards. - All variants (TQMa8M[Q,D,S][L]ML) use the same device tree, hence only - one compatible is needed. - items: - - enum: - - tq,imx8mm-tqma8mqml-mba8mx # TQ-Systems GmbH i.MX8MM TQMa8MQML SOM on MBa8Mx - - const: tq,imx8mm-tqma8mqml # TQ-Systems GmbH i.MX8MM TQMa8MQML SOM - - const: fsl,imx8mm - - description: i.MX8MN based Boards items: - enum: - beacon,imx8mn-beacon-kit # i.MX8MN Beacon Development Kit - - bsh,imx8mn-bsh-smm-s2 # i.MX8MN BSH SystemMaster S2 - - bsh,imx8mn-bsh-smm-s2pro # i.MX8MN BSH SystemMaster S2 PRO - fsl,imx8mn-ddr4-evk # i.MX8MN DDR4 EVK Board - fsl,imx8mn-evk # i.MX8MN LPDDR4 EVK Board - gw,imx8mn-gw7902 # i.MX8MM Gateworks Board @@ -821,17 +757,6 @@ properties: - const: variscite,var-som-mx8mn - const: fsl,imx8mn - - description: - TQMa8MxNL is a series of SOM featuring NXP i.MX8MN system-on-chip - variants. It is designed to be soldered on different carrier boards. - All variants (TQMa8M[Q,D,S][L]NL) use the same device tree, hence only - one compatible is needed. - items: - - enum: - - tq,imx8mn-tqma8mqnl-mba8mx # TQ-Systems GmbH i.MX8MN TQMa8MQNL SOM on MBa8Mx - - const: tq,imx8mn-tqma8mqnl # TQ-Systems GmbH i.MX8MN TQMa8MQNL SOM - - const: fsl,imx8mn - - description: i.MX8MP based Boards items: - enum: @@ -868,15 +793,6 @@ properties: - const: purism,librem5 - const: fsl,imx8mq - - description: - TQMa8Mx is a series of SOM featuring NXP i.MX8MQ system-on-chip - variants. It is designed to be clicked on different carrier boards. - items: - - enum: - - tq,imx8mq-tqma8mq-mba8mx # TQ-Systems GmbH i.MX8MQ TQMa8Mx SOM on MBa8Mx - - const: tq,imx8mq-tqma8mq # TQ-Systems GmbH i.MX8MQ TQMa8Mx SOM - - const: fsl,imx8mq - - description: Zodiac Inflight Innovations Ultra Boards items: - enum: @@ -896,22 +812,16 @@ properties: - enum: - einfochips,imx8qxp-ai_ml # i.MX8QXP AI_ML Board - fsl,imx8qxp-mek # i.MX8QXP MEK Board - - toradex,colibri-imx8x # Colibri iMX8X Modules + - toradex,colibri-imx8x # Colibri iMX8X Module - const: fsl,imx8qxp - - description: i.MX8QXP Boards with Toradex Coilbri iMX8X Modules + - description: Toradex Colibri i.MX8 Evaluation Board items: - enum: - toradex,colibri-imx8x-eval-v3 # Colibri iMX8X Module on Colibri Evaluation Board V3 - const: toradex,colibri-imx8x - const: fsl,imx8qxp - - description: i.MX8ULP based Boards - items: - - enum: - - fsl,imx8ulp-evk # i.MX8ULP EVK Board - - const: fsl,imx8ulp - - description: Freescale Vybrid Platform Device Tree Bindings @@ -937,10 +847,9 @@ properties: - description: VF610 based Boards items: - enum: - - fsl,vf610-twr # VF610 Tower Board - lwn,bk4 # Liebherr BK4 controller - phytec,vf610-cosmic # PHYTEC Cosmic/Cosmic+ Board - - toradex,vf610-colibri_vf61 # Colibri VF61 Modules + - fsl,vf610-twr # VF610 Tower Board - const: fsl,vf610 - description: Toradex Colibri VF61 Module on Colibri Evaluation Board @@ -977,7 +886,6 @@ properties: - enum: - fsl,ls1021a-moxa-uc-8410a - fsl,ls1021a-qds - - fsl,ls1021a-tsn - fsl,ls1021a-twr - const: fsl,ls1021a @@ -1069,8 +977,6 @@ properties: - description: LX2160A based Boards items: - enum: - - fsl,lx2160a-bluebox3 - - fsl,lx2160a-bluebox3-rev-a - fsl,lx2160a-qds - fsl,lx2160a-rdb - fsl,lx2162a-qds @@ -1084,13 +990,6 @@ properties: - const: solidrun,lx2160a-cex7 - const: fsl,lx2160a - - description: S32G2 based Boards - items: - - enum: - - nxp,s32g274a-evb - - nxp,s32g274a-rdb2 - - const: nxp,s32g2 - - description: S32V234 based Boards items: - enum: diff --git a/Documentation/devicetree/bindings/arm/mediatek.yaml b/Documentation/devicetree/bindings/arm/mediatek.yaml index 0ffe1acf13..80a05f6fee 100644 --- a/Documentation/devicetree/bindings/arm/mediatek.yaml +++ b/Documentation/devicetree/bindings/arm/mediatek.yaml @@ -32,7 +32,6 @@ properties: - const: mediatek,mt6580 - items: - enum: - - fairphone,fp1 - mundoreader,bq-aquaris5 - const: mediatek,mt6589 - items: @@ -77,14 +76,6 @@ properties: - enum: - mediatek,mt7629-rfb - const: mediatek,mt7629 - - items: - - enum: - - mediatek,mt7986a-rfb - - const: mediatek,mt7986a - - items: - - enum: - - mediatek,mt7986b-rfb - - const: mediatek,mt7986b - items: - enum: - mediatek,mt8127-moose @@ -142,10 +133,6 @@ properties: - google,krane-sku176 - const: google,krane - const: mediatek,mt8183 - - description: Google Cozmo (Acer Chromebook 314) - items: - - const: google,cozmo - - const: mediatek,mt8183 - description: Google Damu (ASUS Chromebook Flip CM3) items: - const: google,damu @@ -155,9 +142,7 @@ properties: - enum: - google,fennel-sku0 - google,fennel-sku1 - - google,fennel-sku2 - google,fennel-sku6 - - google,fennel-sku7 - const: google,fennel - const: mediatek,mt8183 - description: Google Juniper (Acer Chromebook Spin 311) / Kenzo (Acer Chromebook 311) @@ -173,12 +158,6 @@ properties: - const: google,kakadu-rev2 - const: google,kakadu - const: mediatek,mt8183 - - description: Google Kakadu (ASUS Chromebook Detachable CM3) - items: - - const: google,kakadu-rev3-sku22 - - const: google,kakadu-rev2-sku22 - - const: google,kakadu - - const: mediatek,mt8183 - description: Google Kappa (HP Chromebook 11a) items: - const: google,kappa diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,apmixedsys.txt b/Documentation/devicetree/bindings/arm/mediatek/mediatek,apmixedsys.txt index 3fa7558665..ea827e8763 100644 --- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,apmixedsys.txt +++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,apmixedsys.txt @@ -14,7 +14,6 @@ Required Properties: - "mediatek,mt7622-apmixedsys" - "mediatek,mt7623-apmixedsys", "mediatek,mt2701-apmixedsys" - "mediatek,mt7629-apmixedsys" - - "mediatek,mt7986-apmixedsys" - "mediatek,mt8135-apmixedsys" - "mediatek,mt8167-apmixedsys", "syscon" - "mediatek,mt8173-apmixedsys" diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,ethsys.txt b/Documentation/devicetree/bindings/arm/mediatek/mediatek,ethsys.txt index 0502db7368..6b7e8067e7 100644 --- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,ethsys.txt +++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,ethsys.txt @@ -10,7 +10,6 @@ Required Properties: - "mediatek,mt7622-ethsys", "syscon" - "mediatek,mt7623-ethsys", "mediatek,mt2701-ethsys", "syscon" - "mediatek,mt7629-ethsys", "syscon" - - "mediatek,mt7986-ethsys", "syscon" - #clock-cells: Must be 1 - #reset-cells: Must be 1 diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,infracfg.txt b/Documentation/devicetree/bindings/arm/mediatek/mediatek,infracfg.txt index f66bd72057..eb3523c7a7 100644 --- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,infracfg.txt +++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,infracfg.txt @@ -15,7 +15,6 @@ Required Properties: - "mediatek,mt7622-infracfg", "syscon" - "mediatek,mt7623-infracfg", "mediatek,mt2701-infracfg", "syscon" - "mediatek,mt7629-infracfg", "syscon" - - "mediatek,mt7986-infracfg", "syscon" - "mediatek,mt8135-infracfg", "syscon" - "mediatek,mt8167-infracfg", "syscon" - "mediatek,mt8173-infracfg", "syscon" diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml index 763c62323a..f9ffa5b703 100644 --- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml +++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mmsys.yaml @@ -43,9 +43,6 @@ properties: "#clock-cells": const: 1 - '#reset-cells': - const: 1 - required: - compatible - reg @@ -59,5 +56,4 @@ examples: compatible = "mediatek,mt8173-mmsys", "syscon"; reg = <0x14000000 0x1000>; #clock-cells = <1>; - #reset-cells = <1>; }; diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.txt b/Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.txt index 29ca7a10b3..30cb645c0e 100644 --- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.txt +++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,sgmiisys.txt @@ -8,8 +8,6 @@ Required Properties: - compatible: Should be: - "mediatek,mt7622-sgmiisys", "syscon" - "mediatek,mt7629-sgmiisys", "syscon" - - "mediatek,mt7986-sgmiisys_0", "syscon" - - "mediatek,mt7986-sgmiisys_1", "syscon" - #clock-cells: Must be 1 The SGMIISYS controller uses the common clk binding from diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,topckgen.txt b/Documentation/devicetree/bindings/arm/mediatek/mediatek,topckgen.txt index b82422bb71..5ce7578cf2 100644 --- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,topckgen.txt +++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,topckgen.txt @@ -14,7 +14,6 @@ Required Properties: - "mediatek,mt7622-topckgen" - "mediatek,mt7623-topckgen", "mediatek,mt2701-topckgen" - "mediatek,mt7629-topckgen" - - "mediatek,mt7986-topckgen", "syscon" - "mediatek,mt8135-topckgen" - "mediatek,mt8167-topckgen", "syscon" - "mediatek,mt8173-topckgen" diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,llcc.yaml b/Documentation/devicetree/bindings/arm/msm/qcom,llcc.yaml index 03882aac8d..62fcbd8833 100644 --- a/Documentation/devicetree/bindings/arm/msm/qcom,llcc.yaml +++ b/Documentation/devicetree/bindings/arm/msm/qcom,llcc.yaml @@ -24,7 +24,6 @@ properties: - qcom,sc7180-llcc - qcom,sc7280-llcc - qcom,sdm845-llcc - - qcom,sm6350-llcc - qcom,sm8150-llcc - qcom,sm8250-llcc @@ -45,6 +44,7 @@ required: - compatible - reg - reg-names + - interrupts additionalProperties: false diff --git a/Documentation/devicetree/bindings/arm/pmu.yaml b/Documentation/devicetree/bindings/arm/pmu.yaml index 981bac4516..e17ac049e8 100644 --- a/Documentation/devicetree/bindings/arm/pmu.yaml +++ b/Documentation/devicetree/bindings/arm/pmu.yaml @@ -44,18 +44,10 @@ properties: - arm,cortex-a76-pmu - arm,cortex-a77-pmu - arm,cortex-a78-pmu - - arm,cortex-a510-pmu - - arm,cortex-a710-pmu - - arm,cortex-x1-pmu - - arm,cortex-x2-pmu - arm,neoverse-e1-pmu - arm,neoverse-n1-pmu - - arm,neoverse-n2-pmu - - arm,neoverse-v1-pmu - brcm,vulcan-pmu - cavium,thunder-pmu - - nvidia,denver-pmu - - nvidia,carmel-pmu - qcom,krait-pmu - qcom,scorpion-pmu - qcom,scorpion-mp-pmu diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml index 370aab274c..880ddafc63 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -25,7 +25,6 @@ description: | The 'SoC' element must be one of the following strings: apq8016 - apq8026 apq8074 apq8084 apq8096 @@ -45,13 +44,9 @@ description: | sdm660 sdm845 sdx55 - sdx65 - sm7225 sm8150 - sdx65 sm8250 sm8350 - sm8450 The 'board' element must be one of the following strings: @@ -99,14 +94,6 @@ properties: - items: - enum: - - lg,lenok - - const: qcom,apq8026 - - - items: - - enum: - - asus,nexus7-flo - - lg,nexus4-mako - - sony,xperia-yuga - qcom,apq8064-cm-qs600 - qcom,apq8064-ifc6410 - const: qcom,apq8064 @@ -142,7 +129,6 @@ properties: - enum: - fairphone,fp2 - lge,hammerhead - - samsung,klte - sony,xperia-amami - sony,xperia-castor - sony,xperia-honami @@ -177,7 +163,6 @@ properties: - items: - enum: - - qcom,ipq4019-ap-dk01.1-c1 - qcom,ipq4019-ap-dk04.1-c3 - qcom,ipq4019-ap-dk07.1-c1 - qcom,ipq4019-ap-dk07.1-c2 @@ -203,10 +188,8 @@ properties: - items: - enum: - - qcom,sc7280-crd - qcom,sc7280-idp - qcom,sc7280-idp2 - - google,hoglin - google,piglin - google,senor - const: qcom,sc7280 @@ -223,16 +206,6 @@ properties: - qcom,sdx55-t55 - const: qcom,sdx55 - - items: - - enum: - - qcom,sdx65-mtp - - const: qcom,sdx65 - - - items: - - enum: - - qcom,sdx65-mtp - - const: qcom,sdx65 - - items: - enum: - qcom,ipq6018-cp01 @@ -244,11 +217,6 @@ properties: - qcom,sa8155p-adp - const: qcom,sa8155p - - items: - - enum: - - fairphone,fp4 - - const: qcom,sm7225 - - items: - enum: - qcom,sm8150-mtp @@ -266,11 +234,6 @@ properties: - qcom,sm8350-mtp - const: qcom,sm8350 - - items: - - enum: - - qcom,sm8450-qrd - - const: qcom,sm8450 - additionalProperties: true ... diff --git a/Documentation/devicetree/bindings/arm/renesas.yaml b/Documentation/devicetree/bindings/arm/renesas.yaml index 6a9350ee69..8a11918866 100644 --- a/Documentation/devicetree/bindings/arm/renesas.yaml +++ b/Documentation/devicetree/bindings/arm/renesas.yaml @@ -255,19 +255,12 @@ properties: - enum: - renesas,h3ulcb - renesas,m3ulcb - - renesas,m3nulcb - enum: - - renesas,r8a779m0 - renesas,r8a779m1 - - renesas,r8a779m2 - renesas,r8a779m3 - - renesas,r8a779m4 - - renesas,r8a779m5 - - renesas,r8a779m8 - enum: - renesas,r8a7795 - renesas,r8a77961 - - renesas,r8a77965 - description: R-Car M3-N (R8A77965) items: @@ -315,26 +308,6 @@ properties: - const: renesas,falcon-cpu - const: renesas,r8a779a0 - - description: R-Car S4-8 (R8A779F0) - items: - - enum: - - renesas,spider-cpu # Spider CPU board (RTP8A779F0ASKB0SC2S) - - const: renesas,r8a779f0 - - - items: - - enum: - - renesas,spider-breakout # Spider BreakOut board (RTP8A779F0ASKB0SB0S) - - const: renesas,spider-cpu - - const: renesas,r8a779f0 - - - description: R-Car H3e (R8A779M0) - items: - - enum: - - renesas,h3ulcb # H3ULCB (R-Car Starter Kit Premier) - - renesas,salvator-xs # Salvator-XS (Salvator-X 2nd version) - - const: renesas,r8a779m0 - - const: renesas,r8a7795 - - description: R-Car H3e-2G (R8A779M1) items: - enum: @@ -343,14 +316,6 @@ properties: - const: renesas,r8a779m1 - const: renesas,r8a7795 - - description: R-Car M3e (R8A779M2) - items: - - enum: - - renesas,m3ulcb # M3ULCB (R-Car Starter Kit Pro) - - renesas,salvator-xs # Salvator-XS (Salvator-X 2nd version) - - const: renesas,r8a779m2 - - const: renesas,r8a77961 - - description: R-Car M3e-2G (R8A779M3) items: - enum: @@ -359,44 +324,6 @@ properties: - const: renesas,r8a779m3 - const: renesas,r8a77961 - - description: R-Car M3Ne (R8A779M4) - items: - - enum: - - renesas,m3nulcb # M3NULCB (R-Car Starter Kit Pro) - - renesas,salvator-xs # Salvator-XS (Salvator-X 2nd version) - - const: renesas,r8a779m4 - - const: renesas,r8a77965 - - - description: R-Car M3Ne-2G (R8A779M5) - items: - - enum: - - renesas,m3nulcb # M3NULCB (R-Car Starter Kit Pro) - - renesas,salvator-xs # Salvator-XS (Salvator-X 2nd version) - - const: renesas,r8a779m5 - - const: renesas,r8a77965 - - - description: R-Car E3e (R8A779M6) - items: - - enum: - - renesas,ebisu # Ebisu - - const: renesas,r8a779m6 - - const: renesas,r8a77990 - - - description: R-Car D3e (R8A779M7) - items: - - enum: - - renesas,draak # Draak - - const: renesas,r8a779m7 - - const: renesas,r8a77995 - - - description: R-Car H3Ne (R8A779M8) - items: - - enum: - - renesas,h3ulcb # H3ULCB (R-Car Starter Kit Premier) - - renesas,salvator-xs # Salvator-XS (Salvator-X 2nd version) - - const: renesas,r8a779m8 - - const: renesas,r8a7795 - - description: RZ/N1D (R9A06G032) items: - enum: diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml index 4aed161764..6546b015fc 100644 --- a/Documentation/devicetree/bindings/arm/rockchip.yaml +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml @@ -115,11 +115,6 @@ properties: - const: firefly,roc-rk3328-cc - const: rockchip,rk3328 - - description: Firefly ROC-RK3328-PC - items: - - const: firefly,roc-rk3328-pc - - const: rockchip,rk3328 - - description: Firefly ROC-RK3399-PC items: - enum: @@ -127,12 +122,6 @@ properties: - firefly,roc-rk3399-pc-mezzanine - const: rockchip,rk3399 - - description: Firefly ROC-RK3399-PC-PLUS - items: - - enum: - - firefly,roc-rk3399-pc-plus - - const: rockchip,rk3399 - - description: FriendlyElec NanoPi R2S items: - const: friendlyarm,nanopi-r2s @@ -298,34 +287,6 @@ properties: - const: google,veyron - const: rockchip,rk3288 - - description: Google Scarlet - Dumo (ASUS Chromebook Tablet CT100) - items: - - const: google,scarlet-rev15-sku0 - - const: google,scarlet-rev15 - - const: google,scarlet-rev14-sku0 - - const: google,scarlet-rev14 - - const: google,scarlet-rev13-sku0 - - const: google,scarlet-rev13 - - const: google,scarlet-rev12-sku0 - - const: google,scarlet-rev12 - - const: google,scarlet-rev11-sku0 - - const: google,scarlet-rev11 - - const: google,scarlet-rev10-sku0 - - const: google,scarlet-rev10 - - const: google,scarlet-rev9-sku0 - - const: google,scarlet-rev9 - - const: google,scarlet-rev8-sku0 - - const: google,scarlet-rev8 - - const: google,scarlet-rev7-sku0 - - const: google,scarlet-rev7 - - const: google,scarlet-rev6-sku0 - - const: google,scarlet-rev6 - - const: google,scarlet-rev5-sku0 - - const: google,scarlet-rev5 - - const: google,scarlet - - const: google,gru - - const: rockchip,rk3399 - - description: Google Scarlet - Kingdisplay (Acer Chromebook Tab 10) items: - const: google,scarlet-rev15-sku7 @@ -494,23 +455,16 @@ properties: - const: pine64,rockpro64 - const: rockchip,rk3399 - - description: Pine64 Quartz64 Model A - items: - - const: pine64,quartz64-a - - const: rockchip,rk3566 - - description: Radxa Rock items: - const: radxa,rock - const: rockchip,rk3188 - - description: Radxa ROCK Pi 4A/A+/B/B+/C + - description: Radxa ROCK Pi 4A/B/C items: - enum: - radxa,rockpi4a - - radxa,rockpi4a-plus - radxa,rockpi4b - - radxa,rockpi4b-plus - radxa,rockpi4c - const: radxa,rockpi4 - const: rockchip,rk3399 diff --git a/Documentation/devicetree/bindings/arm/rockchip/pmu.yaml b/Documentation/devicetree/bindings/arm/rockchip/pmu.yaml index 5ece38065e..53115b92d1 100644 --- a/Documentation/devicetree/bindings/arm/rockchip/pmu.yaml +++ b/Documentation/devicetree/bindings/arm/rockchip/pmu.yaml @@ -22,9 +22,7 @@ select: - rockchip,px30-pmu - rockchip,rk3066-pmu - rockchip,rk3288-pmu - - rockchip,rk3368-pmu - rockchip,rk3399-pmu - - rockchip,rk3568-pmu required: - compatible @@ -36,9 +34,7 @@ properties: - rockchip,px30-pmu - rockchip,rk3066-pmu - rockchip,rk3288-pmu - - rockchip,rk3368-pmu - rockchip,rk3399-pmu - - rockchip,rk3568-pmu - const: syscon - const: simple-mfd diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.yaml b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.yaml index 052cd94113..0796f0c877 100644 --- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.yaml +++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.yaml @@ -199,24 +199,6 @@ properties: - samsung,exynos7-espresso # Samsung Exynos7 Espresso - const: samsung,exynos7 - - description: Exynos7885 based boards - items: - - enum: - - samsung,jackpotlte # Samsung Galaxy A8 (2018) - - const: samsung,exynos7885 - - - description: Exynos850 based boards - items: - - enum: - - winlink,e850-96 # WinLink E850-96 - - const: samsung,exynos850 - - - description: Exynos Auto v9 based boards - items: - - enum: - - samsung,exynosautov9-sadk # Samsung Exynos Auto v9 SADK - - const: samsung,exynosautov9 - required: - compatible diff --git a/Documentation/devicetree/bindings/arm/sprd/sprd.yaml b/Documentation/devicetree/bindings/arm/sprd/sprd.yaml index 2c12e57139..7b6ae30703 100644 --- a/Documentation/devicetree/bindings/arm/sprd/sprd.yaml +++ b/Documentation/devicetree/bindings/arm/sprd/sprd.yaml @@ -30,11 +30,6 @@ properties: - sprd,sp9863a-1h10 - const: sprd,sc9863a - - items: - - enum: - - sprd,ums512-1h10 - - const: sprd,ums512 - additionalProperties: true ... diff --git a/Documentation/devicetree/bindings/arm/sti.yaml b/Documentation/devicetree/bindings/arm/sti.yaml index a41cd87648..b1f28d16d3 100644 --- a/Documentation/devicetree/bindings/arm/sti.yaml +++ b/Documentation/devicetree/bindings/arm/sti.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: ST STi Platforms Device Tree Bindings maintainers: - - Patrice Chotard + - Patrice Chotard properties: $nodename: diff --git a/Documentation/devicetree/bindings/arm/stm32/st,mlahb.yaml b/Documentation/devicetree/bindings/arm/stm32/st,mlahb.yaml index ecb28e90fd..8e711bd202 100644 --- a/Documentation/devicetree/bindings/arm/stm32/st,mlahb.yaml +++ b/Documentation/devicetree/bindings/arm/stm32/st,mlahb.yaml @@ -7,8 +7,8 @@ $schema: "http://devicetree.org/meta-schemas/core.yaml#" title: STMicroelectronics STM32 ML-AHB interconnect bindings maintainers: - - Fabien Dessenne - - Arnaud Pouliquen + - Fabien Dessenne + - Arnaud Pouliquen description: | These bindings describe the STM32 SoCs ML-AHB interconnect bus which connects diff --git a/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml b/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml index 6f846d69c5..149afb5df5 100644 --- a/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml +++ b/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml @@ -7,8 +7,8 @@ $schema: "http://devicetree.org/meta-schemas/core.yaml#" title: STMicroelectronics STM32 Platforms System Controller bindings maintainers: - - Alexandre Torgue - - Christophe Roullier + - Alexandre Torgue + - Christophe Roullier properties: compatible: diff --git a/Documentation/devicetree/bindings/arm/stm32/stm32.yaml b/Documentation/devicetree/bindings/arm/stm32/stm32.yaml index b07720ea96..9a77ab74be 100644 --- a/Documentation/devicetree/bindings/arm/stm32/stm32.yaml +++ b/Documentation/devicetree/bindings/arm/stm32/stm32.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 Platforms Device Tree Bindings maintainers: - - Alexandre Torgue + - Alexandre Torgue properties: $nodename: @@ -55,10 +55,6 @@ properties: - enum: - st,stm32h750i-art-pi - const: st,stm32h750 - - items: - - enum: - - st,stm32mp135f-dk - - const: st,stm32mp135 - items: - enum: - shiratech,stm32mp157a-iot-box # IoT Box @@ -77,7 +73,6 @@ properties: items: - enum: - engicam,icore-stm32mp1-ctouch2 # STM32MP1 Engicam i.Core STM32MP1 C.TOUCH 2.0 - - engicam,icore-stm32mp1-ctouch2-of10 # STM32MP1 Engicam i.Core STM32MP1 C.TOUCH 2.0 10.1" OF - engicam,icore-stm32mp1-edimm2.2 # STM32MP1 Engicam i.Core STM32MP1 EDIMM2.2 Starter Kit - const: engicam,icore-stm32mp1 # STM32MP1 Engicam i.Core STM32MP1 SoM - const: st,stm32mp157 diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml index c8a3102c0f..889128acf4 100644 --- a/Documentation/devicetree/bindings/arm/sunxi.yaml +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml @@ -808,11 +808,6 @@ properties: - const: oranth,tanix-tx6 - const: allwinner,sun50i-h6 - - description: Tanix TX6 mini - items: - - const: oranth,tanix-tx6-mini - - const: allwinner,sun50i-h6 - - description: TBS A711 Tablet items: - const: tbs-biometrics,a711 diff --git a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml index 8eee312c2e..e713a6fe4c 100644 --- a/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml +++ b/Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml @@ -30,40 +30,13 @@ properties: enum: - allwinner,sun5i-a13-mbus - allwinner,sun8i-h3-mbus - - allwinner,sun8i-r40-mbus - allwinner,sun50i-a64-mbus - - allwinner,sun50i-h5-mbus reg: - minItems: 1 - items: - - description: MBUS interconnect/bandwidth limit/PMU registers - - description: DRAM controller/PHY registers - - reg-names: - minItems: 1 - items: - - const: mbus - - const: dram + maxItems: 1 clocks: - minItems: 1 - items: - - description: MBUS interconnect module clock - - description: DRAM controller/PHY module clock - - description: Register bus clock, shared by MBUS and DRAM - - clock-names: - minItems: 1 - items: - - const: mbus - - const: dram - - const: bus - - interrupts: maxItems: 1 - description: - MBUS PMU activity interrupt. dma-ranges: description: @@ -80,55 +53,13 @@ required: - clocks - dma-ranges -if: - properties: - compatible: - contains: - enum: - - allwinner,sun8i-h3-mbus - - allwinner,sun50i-a64-mbus - - allwinner,sun50i-h5-mbus - -then: - properties: - reg: - minItems: 2 - - reg-names: - minItems: 2 - - clocks: - minItems: 3 - - clock-names: - minItems: 3 - - required: - - reg-names - - clock-names - -else: - properties: - reg: - maxItems: 1 - - reg-names: - maxItems: 1 - - clocks: - maxItems: 1 - - clock-names: - maxItems: 1 - additionalProperties: false examples: - | - #include - #include + #include - dram-controller@1c01000 { + mbus: dram-controller@1c01000 { compatible = "allwinner,sun5i-a13-mbus"; reg = <0x01c01000 0x1000>; clocks = <&ccu CLK_MBUS>; @@ -138,21 +69,4 @@ examples: #interconnect-cells = <1>; }; - - | - dram-controller@1c62000 { - compatible = "allwinner,sun50i-a64-mbus"; - reg = <0x01c62000 0x1000>, - <0x01c63000 0x1000>; - reg-names = "mbus", "dram"; - clocks = <&ccu CLK_MBUS>, - <&ccu CLK_DRAM>, - <&ccu CLK_BUS_DRAM>; - clock-names = "mbus", "dram", "bus"; - interrupts = ; - #address-cells = <1>; - #size-cells = <1>; - dma-ranges = <0x00000000 0x40000000 0xc0000000>; - #interconnect-cells = <1>; - }; - ... diff --git a/Documentation/devicetree/bindings/arm/tegra.yaml b/Documentation/devicetree/bindings/arm/tegra.yaml index 49841ca272..d79d36ac0c 100644 --- a/Documentation/devicetree/bindings/arm/tegra.yaml +++ b/Documentation/devicetree/bindings/arm/tegra.yaml @@ -36,9 +36,6 @@ properties: - toradex,colibri_t20-iris - const: toradex,colibri_t20 - const: nvidia,tegra20 - - items: - - const: asus,tf101 - - const: nvidia,tegra20 - items: - const: acer,picasso - const: nvidia,tegra20 @@ -52,18 +49,6 @@ properties: - nvidia,cardhu-a04 - const: nvidia,cardhu - const: nvidia,tegra30 - - items: - - const: asus,tf201 - - const: nvidia,tegra30 - - items: - - const: asus,tf300t - - const: nvidia,tegra30 - - items: - - const: asus,tf300tg - - const: nvidia,tegra30 - - items: - - const: asus,tf700t - - const: nvidia,tegra30 - items: - const: toradex,apalis_t30-eval - const: toradex,apalis_t30 @@ -89,12 +74,8 @@ properties: - items: - const: ouya,ouya - const: nvidia,tegra30 - - items: - - const: pegatron,chagall - - const: nvidia,tegra30 - items: - enum: - - asus,tf701t - nvidia,dalmore - nvidia,roth - nvidia,tn7 @@ -127,17 +108,14 @@ properties: - nvidia,p2571 - nvidia,p2894-0050-a08 - const: nvidia,tegra210 - - description: Jetson TX2 Developer Kit - items: - - const: nvidia,p2771-0000 + - items: + - enum: + - nvidia,p2771-0000 + - nvidia,p3509-0000+p3636-0001 - const: nvidia,tegra186 - - description: Jetson TX2 NX Developer Kit - items: - - const: nvidia,p3509-0000+p3636-0001 - - const: nvidia,tegra186 - - description: Jetson AGX Xavier Developer Kit - items: - - const: nvidia,p2972-0000 + - items: + - enum: + - nvidia,p2972-0000 - const: nvidia,tegra194 - description: Jetson Xavier NX items: @@ -156,16 +134,8 @@ properties: - const: nvidia,p3509-0000+p3668-0001 - const: nvidia,tegra194 - items: - - const: nvidia,tegra234-vdk - - const: nvidia,tegra234 - - description: Jetson AGX Orin - items: - - const: nvidia,p3701-0000 - - const: nvidia,tegra234 - - description: Jetson AGX Orin Developer Kit - items: - - const: nvidia,p3737-0000+p3701-0000 - - const: nvidia,p3701-0000 + - enum: + - nvidia,tegra234-vdk - const: nvidia,tegra234 additionalProperties: true diff --git a/Documentation/devicetree/bindings/arm/ti/k3.yaml b/Documentation/devicetree/bindings/arm/ti/k3.yaml index b03c10fa2e..c5aa362e40 100644 --- a/Documentation/devicetree/bindings/arm/ti/k3.yaml +++ b/Documentation/devicetree/bindings/arm/ti/k3.yaml @@ -24,27 +24,16 @@ properties: - enum: - ti,am654-evm - siemens,iot2050-basic - - siemens,iot2050-basic-pg2 - siemens,iot2050-advanced - - siemens,iot2050-advanced-pg2 - const: ti,am654 - description: K3 J721E SoC - oneOf: + items: - const: ti,j721e - - items: - - enum: - - ti,j721e-evm - - ti,j721e-sk - - const: ti,j721e - description: K3 J7200 SoC - oneOf: + items: - const: ti,j7200 - - items: - - enum: - - ti,j7200-evm - - const: ti,j7200 - description: K3 AM642 SoC items: @@ -53,12 +42,6 @@ properties: - ti,am642-sk - const: ti,am642 - - description: K3 J721s2 SoC - items: - - enum: - - ti,j721s2-evm - - const: ti,j721s2 - additionalProperties: true ... diff --git a/Documentation/devicetree/bindings/arm/toshiba.yaml b/Documentation/devicetree/bindings/arm/toshiba.yaml index 9c1cacbdc9..001bbbcd14 100644 --- a/Documentation/devicetree/bindings/arm/toshiba.yaml +++ b/Documentation/devicetree/bindings/arm/toshiba.yaml @@ -18,7 +18,6 @@ properties: items: - enum: - toshiba,tmpv7708-rm-mbrc # TMPV7708 RM main board - - toshiba,tmpv7708-visrobo-vrb # TMPV7708 VisROBO VRB board - const: toshiba,tmpv7708 additionalProperties: true diff --git a/Documentation/devicetree/bindings/arm/ux500.yaml b/Documentation/devicetree/bindings/arm/ux500.yaml index a46193ad94..5db7cfba81 100644 --- a/Documentation/devicetree/bindings/arm/ux500.yaml +++ b/Documentation/devicetree/bindings/arm/ux500.yaml @@ -20,11 +20,6 @@ properties: - const: st-ericsson,mop500 - const: st-ericsson,u8500 - - description: ST-Ericsson HREF520 - items: - - const: st-ericsson,href520 - - const: st-ericsson,u8500 - - description: ST-Ericsson HREF (v60+) items: - const: st-ericsson,hrefv60+ @@ -35,34 +30,9 @@ properties: - const: calaosystems,snowball-a9500 - const: st-ericsson,u9500 - - description: Samsung Galaxy Ace 2 (GT-I8160) - items: - - const: samsung,codina - - const: st-ericsson,u8500 - - - description: Samsung Galaxy Beam (GT-I8530) - items: - - const: samsung,gavini - - const: st-ericsson,u8500 - - description: Samsung Galaxy S III mini (GT-I8190) items: - const: samsung,golden - const: st-ericsson,u8500 - - description: Samsung Galaxy S Advance (GT-I9070) - items: - - const: samsung,janice - - const: st-ericsson,u8500 - - - description: Samsung Galaxy Amp (SGH-I407) - items: - - const: samsung,kyle - - const: st-ericsson,u8500 - - - description: Samsung Galaxy XCover 2 (GT-S7710) - items: - - const: samsung,skomer - - const: st-ericsson,u8500 - additionalProperties: true diff --git a/Documentation/devicetree/bindings/arm/xen.txt b/Documentation/devicetree/bindings/arm/xen.txt index 61d77acbeb..db5c56db30 100644 --- a/Documentation/devicetree/bindings/arm/xen.txt +++ b/Documentation/devicetree/bindings/arm/xen.txt @@ -7,17 +7,15 @@ the following properties: compatible = "xen,xen-", "xen,xen"; where is the version of the Xen ABI of the platform. -- reg: specifies the base physical address and size of the regions in memory - where the special resources should be mapped to, using an HYPERVISOR_memory_op - hypercall. - Region 0 is reserved for mapping grant table, it must be always present. - The memory region is large enough to map the whole grant table (it is larger - or equal to gnttab_max_grant_frames()). - Regions 1...N are extended regions (unused address space) for mapping foreign - GFNs and grants, they might be absent if there is nothing to expose. +- reg: specifies the base physical address and size of a region in + memory where the grant table should be mapped to, using an + HYPERVISOR_memory_op hypercall. The memory region is large enough to map + the whole grant table (it is larger or equal to gnttab_max_grant_frames()). + This property is unnecessary when booting Dom0 using ACPI. - interrupts: the interrupt used by Xen to inject event notifications. A GIC node is also required. + This property is unnecessary when booting Dom0 using ACPI. To support UEFI on Xen ARM virtual platforms, Xen populates the FDT "uefi" node under /hypervisor with following parameters: diff --git a/Documentation/devicetree/bindings/arm/xilinx.yaml b/Documentation/devicetree/bindings/arm/xilinx.yaml index 4dc0e01959..f52c7e8ce6 100644 --- a/Documentation/devicetree/bindings/arm/xilinx.yaml +++ b/Documentation/devicetree/bindings/arm/xilinx.yaml @@ -87,7 +87,6 @@ properties: - xlnx,zynqmp-zcu102-revA - xlnx,zynqmp-zcu102-revB - xlnx,zynqmp-zcu102-rev1.0 - - xlnx,zynqmp-zcu102-rev1.1 - const: xlnx,zynqmp-zcu102 - const: xlnx,zynqmp @@ -116,22 +115,6 @@ properties: - const: xlnx,zynqmp-zcu111 - const: xlnx,zynqmp - - description: Xilinx Kria SOMs - items: - - const: xlnx,zynqmp-sm-k26-rev1 - - const: xlnx,zynqmp-sm-k26-revB - - const: xlnx,zynqmp-sm-k26-revA - - const: xlnx,zynqmp-sm-k26 - - const: xlnx,zynqmp - - - description: Xilinx Kria SOMs (starter) - items: - - const: xlnx,zynqmp-smk-k26-rev1 - - const: xlnx,zynqmp-smk-k26-revB - - const: xlnx,zynqmp-smk-k26-revA - - const: xlnx,zynqmp-smk-k26 - - const: xlnx,zynqmp - additionalProperties: true ... diff --git a/Documentation/devicetree/bindings/auxdisplay/holtek,ht16k33.yaml b/Documentation/devicetree/bindings/auxdisplay/holtek,ht16k33.yaml index fc4873deb7..64ffff4600 100644 --- a/Documentation/devicetree/bindings/auxdisplay/holtek,ht16k33.yaml +++ b/Documentation/devicetree/bindings/auxdisplay/holtek,ht16k33.yaml @@ -14,21 +14,14 @@ allOf: properties: compatible: - oneOf: - - items: - - enum: - - adafruit,3108 # 0.56" 4-Digit 7-Segment FeatherWing Display (Red) - - adafruit,3130 # 0.54" Quad Alphanumeric FeatherWing Display (Red) - - const: holtek,ht16k33 - - - const: holtek,ht16k33 # Generic 16*8 LED controller with dot-matrix display + const: holtek,ht16k33 reg: maxItems: 1 refresh-rate-hz: maxItems: 1 - description: Display update interval in Hertz for dot-matrix displays + description: Display update interval in Hertz interrupts: maxItems: 1 @@ -48,22 +41,10 @@ properties: default: 16 description: Initial brightness level - led: - type: object - $ref: /schemas/leds/common.yaml# - unevaluatedProperties: false - required: - compatible - reg - -if: - properties: - compatible: - const: holtek,ht16k33 -then: - required: - - refresh-rate-hz + - refresh-rate-hz additionalProperties: false @@ -71,7 +52,6 @@ examples: - | #include #include - #include i2c1 { #address-cells = <1>; #size-cells = <0>; @@ -93,11 +73,5 @@ examples: , , ; - - led { - color = ; - function = LED_FUNCTION_BACKLIGHT; - linux,default-trigger = "backlight"; - }; }; }; diff --git a/Documentation/devicetree/bindings/bus/imx-weim.txt b/Documentation/devicetree/bindings/bus/imx-weim.txt index e7f502070d..1b1d1c5c21 100644 --- a/Documentation/devicetree/bindings/bus/imx-weim.txt +++ b/Documentation/devicetree/bindings/bus/imx-weim.txt @@ -48,11 +48,6 @@ Optional properties: devices, the presence of this property indicates that the weim bus should operate in Burst Clock Mode. - - fsl,continuous-burst-clk Make Burst Clock to output continuous clock. - Without this option Burst Clock will output clock - only when necessary. This takes effect only if - "fsl,burst-clk-enable" is set. - Timing property for child nodes. It is mandatory, not optional. - fsl,weim-cs-timing: The timing array, contains timing values for the diff --git a/Documentation/devicetree/bindings/clock/allwinner,sun4i-a10-ccu.yaml b/Documentation/devicetree/bindings/clock/allwinner,sun4i-a10-ccu.yaml index 15ed64d352..c4b7243ddc 100644 --- a/Documentation/devicetree/bindings/clock/allwinner,sun4i-a10-ccu.yaml +++ b/Documentation/devicetree/bindings/clock/allwinner,sun4i-a10-ccu.yaml @@ -34,8 +34,6 @@ properties: - allwinner,sun8i-v3-ccu - allwinner,sun8i-v3s-ccu - allwinner,sun9i-a80-ccu - - allwinner,sun20i-d1-ccu - - allwinner,sun20i-d1-r-ccu - allwinner,sun50i-a64-ccu - allwinner,sun50i-a64-r-ccu - allwinner,sun50i-a100-ccu @@ -81,7 +79,6 @@ if: enum: - allwinner,sun8i-a83t-r-ccu - allwinner,sun8i-h3-r-ccu - - allwinner,sun20i-d1-r-ccu - allwinner,sun50i-a64-r-ccu - allwinner,sun50i-a100-r-ccu - allwinner,sun50i-h6-r-ccu @@ -102,7 +99,6 @@ else: properties: compatible: enum: - - allwinner,sun20i-d1-ccu - allwinner,sun50i-a100-ccu - allwinner,sun50i-h6-ccu - allwinner,sun50i-h616-ccu diff --git a/Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml b/Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml index 90eadf6869..118c5543e0 100644 --- a/Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml +++ b/Documentation/devicetree/bindings/clock/arm,syscon-icst.yaml @@ -69,10 +69,6 @@ properties: - arm,impd1-vco1 - arm,impd1-vco2 - reg: - maxItems: 1 - description: The VCO register - clocks: description: Parent clock for the ICST VCO maxItems: 1 @@ -87,7 +83,6 @@ properties: vco-offset: $ref: '/schemas/types.yaml#/definitions/uint32' description: Offset to the VCO register for the oscillator - deprecated: true required: - "#clock-cells" diff --git a/Documentation/devicetree/bindings/clock/imx5-clock.yaml b/Documentation/devicetree/bindings/clock/imx5-clock.yaml index c0e19ff92c..b1740d7abe 100644 --- a/Documentation/devicetree/bindings/clock/imx5-clock.yaml +++ b/Documentation/devicetree/bindings/clock/imx5-clock.yaml @@ -55,4 +55,11 @@ examples: <0 72 IRQ_TYPE_LEVEL_HIGH>; #clock-cells = <1>; }; -... + + can@53fc8000 { + compatible = "fsl,imx53-flexcan", "fsl,imx25-flexcan"; + reg = <0x53fc8000 0x4000>; + interrupts = <82>; + clocks = <&clks IMX5_CLK_CAN1_IPG_GATE>, <&clks IMX5_CLK_CAN1_SERIAL_GATE>; + clock-names = "ipg", "per"; + }; diff --git a/Documentation/devicetree/bindings/clock/ingenic,cgu.yaml b/Documentation/devicetree/bindings/clock/ingenic,cgu.yaml index aa1df03ef4..6e80dbc8b8 100644 --- a/Documentation/devicetree/bindings/clock/ingenic,cgu.yaml +++ b/Documentation/devicetree/bindings/clock/ingenic,cgu.yaml @@ -104,7 +104,7 @@ additionalProperties: false examples: - | - #include + #include cgu: clock-controller@10000000 { compatible = "ingenic,jz4770-cgu", "simple-mfd"; reg = <0x10000000 0x100>; diff --git a/Documentation/devicetree/bindings/clock/maxim,max77686.txt b/Documentation/devicetree/bindings/clock/maxim,max77686.txt index c10849efb4..3472b461ca 100644 --- a/Documentation/devicetree/bindings/clock/maxim,max77686.txt +++ b/Documentation/devicetree/bindings/clock/maxim,max77686.txt @@ -49,7 +49,7 @@ Example: max77686: max77686@9 { compatible = "maxim,max77686"; interrupt-parent = <&wakeup_eint>; - interrupts = <26 IRQ_TYPE_LEVEL_LOW>; + interrupts = <26 0>; reg = <0x09>; #clock-cells = <1>; @@ -74,7 +74,7 @@ Example: max77802: max77802@9 { compatible = "maxim,max77802"; interrupt-parent = <&wakeup_eint>; - interrupts = <26 IRQ_TYPE_LEVEL_LOW>; + interrupts = <26 0>; reg = <0x09>; #clock-cells = <1>; diff --git a/Documentation/devicetree/bindings/clock/nvidia,tegra20-car.yaml b/Documentation/devicetree/bindings/clock/nvidia,tegra20-car.yaml index f832abb7f1..459d2a5253 100644 --- a/Documentation/devicetree/bindings/clock/nvidia,tegra20-car.yaml +++ b/Documentation/devicetree/bindings/clock/nvidia,tegra20-car.yaml @@ -42,36 +42,6 @@ properties: "#reset-cells": const: 1 -patternProperties: - "^(sclk)|(pll-[cem])$": - type: object - properties: - compatible: - enum: - - nvidia,tegra20-sclk - - nvidia,tegra30-sclk - - nvidia,tegra30-pllc - - nvidia,tegra30-plle - - nvidia,tegra30-pllm - - operating-points-v2: true - - clocks: - items: - - description: node's clock - - power-domains: - maxItems: 1 - description: phandle to the core SoC power domain - - required: - - compatible - - operating-points-v2 - - clocks - - power-domains - - additionalProperties: false - required: - compatible - reg @@ -89,13 +59,6 @@ examples: reg = <0x60006000 0x1000>; #clock-cells = <1>; #reset-cells = <1>; - - sclk { - compatible = "nvidia,tegra20-sclk"; - operating-points-v2 = <&opp_table>; - clocks = <&tegra_car TEGRA20_CLK_SCLK>; - power-domains = <&domain>; - }; }; usb-controller@c5004000 { diff --git a/Documentation/devicetree/bindings/clock/qcom,dispcc-sm8x50.yaml b/Documentation/devicetree/bindings/clock/qcom,dispcc-sm8x50.yaml index 31497677e8..6667261dc6 100644 --- a/Documentation/devicetree/bindings/clock/qcom,dispcc-sm8x50.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,dispcc-sm8x50.yaml @@ -56,16 +56,6 @@ properties: reg: maxItems: 1 - power-domains: - description: - A phandle and PM domain specifier for the MMCX power domain. - maxItems: 1 - - required-opps: - description: - A phandle to an OPP node describing required MMCX performance point. - maxItems: 1 - required: - compatible - reg @@ -80,7 +70,6 @@ additionalProperties: false examples: - | #include - #include clock-controller@af00000 { compatible = "qcom,sm8250-dispcc"; reg = <0x0af00000 0x10000>; @@ -101,7 +90,5 @@ examples: #clock-cells = <1>; #reset-cells = <1>; #power-domain-cells = <1>; - power-domains = <&rpmhpd SM8250_MMCX>; - required-opps = <&rpmhpd_opp_low_svs>; }; ... diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8998.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8998.yaml index 8151c0a056..a0bb713929 100644 --- a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8998.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8998.yaml @@ -25,17 +25,21 @@ properties: items: - description: Board XO source - description: Sleep clock source - - description: Audio reference clock (Optional clock) - - description: PLL test clock source (Optional clock) - minItems: 2 + - description: USB 3.0 phy pipe clock + - description: UFS phy rx symbol clock for pipe 0 + - description: UFS phy rx symbol clock for pipe 1 + - description: UFS phy tx symbol clock + - description: PCIE phy pipe clock clock-names: items: - const: xo - const: sleep_clk - - const: aud_ref_clk # Optional clock - - const: core_bi_pll_test_se # Optional clock - minItems: 2 + - const: usb3_pipe + - const: ufs_rx_symbol0 + - const: ufs_rx_symbol1 + - const: ufs_tx_symbol0 + - const: pcie0_pipe '#clock-cells': const: 1 @@ -76,10 +80,16 @@ examples: clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, <&sleep>, <0>, + <0>, + <0>, + <0>, <0>; clock-names = "xo", "sleep_clk", - "aud_ref_clk", - "core_bi_pll_test_se"; + "usb3_pipe", + "ufs_rx_symbol0", + "ufs_rx_symbol1", + "ufs_tx_symbol0", + "pcie0_pipe"; }; ... diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc.yaml index f66d703bd9..2f20f8aa93 100644 --- a/Documentation/devicetree/bindings/clock/qcom,gcc.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,gcc.yaml @@ -29,6 +29,7 @@ description: | - dt-bindings/reset/qcom,gcc-msm8660.h - dt-bindings/clock/qcom,gcc-msm8974.h (qcom,gcc-msm8226 and qcom,gcc-msm8974) - dt-bindings/reset/qcom,gcc-msm8974.h (qcom,gcc-msm8226 and qcom,gcc-msm8974) + - dt-bindings/clock/qcom,gcc-msm8994.h - dt-bindings/clock/qcom,gcc-mdm9607.h - dt-bindings/clock/qcom,gcc-mdm9615.h - dt-bindings/reset/qcom,gcc-mdm9615.h @@ -51,6 +52,7 @@ properties: - qcom,gcc-msm8974 - qcom,gcc-msm8974pro - qcom,gcc-msm8974pro-ac + - qcom,gcc-msm8994 - qcom,gcc-mdm9615 - qcom,gcc-sdm630 - qcom,gcc-sdm660 diff --git a/Documentation/devicetree/bindings/clock/qcom,rpmcc.txt b/Documentation/devicetree/bindings/clock/qcom,rpmcc.txt index da295c3c00..a4877881f1 100644 --- a/Documentation/devicetree/bindings/clock/qcom,rpmcc.txt +++ b/Documentation/devicetree/bindings/clock/qcom,rpmcc.txt @@ -25,7 +25,6 @@ Required properties : "qcom,rpmcc-msm8994",·"qcom,rpmcc" "qcom,rpmcc-msm8996", "qcom,rpmcc" "qcom,rpmcc-msm8998", "qcom,rpmcc" - "qcom,rpmcc-qcm2290", "qcom,rpmcc" "qcom,rpmcc-qcs404", "qcom,rpmcc" "qcom,rpmcc-sdm660", "qcom,rpmcc" "qcom,rpmcc-sm6115", "qcom,rpmcc" diff --git a/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml b/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml index 8406dde179..72212970e6 100644 --- a/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml @@ -22,12 +22,10 @@ properties: - qcom,sc8180x-rpmh-clk - qcom,sdm845-rpmh-clk - qcom,sdx55-rpmh-clk - - qcom,sdx65-rpmh-clk - qcom,sm6350-rpmh-clk - qcom,sm8150-rpmh-clk - qcom,sm8250-rpmh-clk - qcom,sm8350-rpmh-clk - - qcom,sm8450-rpmh-clk clocks: maxItems: 1 diff --git a/Documentation/devicetree/bindings/clock/qcom,videocc.yaml b/Documentation/devicetree/bindings/clock/qcom,videocc.yaml index 3cdbcebdc1..0d224f114b 100644 --- a/Documentation/devicetree/bindings/clock/qcom,videocc.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,videocc.yaml @@ -49,16 +49,6 @@ properties: reg: maxItems: 1 - power-domains: - description: - A phandle and PM domain specifier for the MMCX power domain. - maxItems: 1 - - required-opps: - description: - A phandle to an OPP node describing required MMCX performance point. - maxItems: 1 - required: - compatible - reg @@ -73,7 +63,6 @@ additionalProperties: false examples: - | #include - #include clock-controller@ab00000 { compatible = "qcom,sdm845-videocc"; reg = <0x0ab00000 0x10000>; @@ -82,7 +71,5 @@ examples: #clock-cells = <1>; #reset-cells = <1>; #power-domain-cells = <1>; - power-domains = <&rpmhpd SM8250_MMCX>; - required-opps = <&rpmhpd_opp_low_svs>; }; ... diff --git a/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml b/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml index e0b86214f0..9b414fbde6 100644 --- a/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml +++ b/Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml @@ -48,7 +48,6 @@ properties: - renesas,r8a77990-cpg-mssr # R-Car E3 - renesas,r8a77995-cpg-mssr # R-Car D3 - renesas,r8a779a0-cpg-mssr # R-Car V3U - - renesas,r8a779f0-cpg-mssr # R-Car S4-8 reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/clock/sifive/fu740-prci.yaml b/Documentation/devicetree/bindings/clock/sifive/fu740-prci.yaml index 252085a0cf..e17143cac3 100644 --- a/Documentation/devicetree/bindings/clock/sifive/fu740-prci.yaml +++ b/Documentation/devicetree/bindings/clock/sifive/fu740-prci.yaml @@ -42,9 +42,6 @@ properties: "#clock-cells": const: 1 - "#reset-cells": - const: 1 - required: - compatible - reg @@ -60,5 +57,4 @@ examples: reg = <0x10000000 0x1000>; clocks = <&hfclk>, <&rtcclk>; #clock-cells = <1>; - #reset-cells = <1>; }; diff --git a/Documentation/devicetree/bindings/clock/silabs,si5351.txt b/Documentation/devicetree/bindings/clock/silabs,si5351.txt index bfda6af76b..8fe6f80afa 100644 --- a/Documentation/devicetree/bindings/clock/silabs,si5351.txt +++ b/Documentation/devicetree/bindings/clock/silabs,si5351.txt @@ -2,7 +2,7 @@ Binding for Silicon Labs Si5351a/b/c programmable i2c clock generator. Reference [1] Si5351A/B/C Data Sheet - https://www.skyworksinc.com/-/media/Skyworks/SL/documents/public/data-sheets/Si5351-B.pdf + https://www.silabs.com/Support%20Documents/TechnicalDocs/Si5351.pdf The Si5351a/b/c are programmable i2c clock generators with up to 8 output clocks. Si5351a also has a reduced pin-count package (MSOP10) where only diff --git a/Documentation/devicetree/bindings/clock/socionext,uniphier-clock.yaml b/Documentation/devicetree/bindings/clock/socionext,uniphier-clock.yaml index 9a0cc73416..c3930edc41 100644 --- a/Documentation/devicetree/bindings/clock/socionext,uniphier-clock.yaml +++ b/Documentation/devicetree/bindings/clock/socionext,uniphier-clock.yaml @@ -23,7 +23,6 @@ properties: - socionext,uniphier-ld11-clock - socionext,uniphier-ld20-clock - socionext,uniphier-pxs3-clock - - socionext,uniphier-nx1-clock - description: Media I/O (MIO) clock, SD clock enum: - socionext,uniphier-ld4-mio-clock @@ -34,7 +33,6 @@ properties: - socionext,uniphier-ld11-mio-clock - socionext,uniphier-ld20-sd-clock - socionext,uniphier-pxs3-sd-clock - - socionext,uniphier-nx1-sd-clock - description: Peripheral clock enum: - socionext,uniphier-ld4-peri-clock @@ -45,10 +43,6 @@ properties: - socionext,uniphier-ld11-peri-clock - socionext,uniphier-ld20-peri-clock - socionext,uniphier-pxs3-peri-clock - - socionext,uniphier-nx1-peri-clock - - description: SoC-glue clock - enum: - - socionext,uniphier-pro4-sg-clock "#clock-cells": const: 1 diff --git a/Documentation/devicetree/bindings/clock/st,stm32mp1-rcc.yaml b/Documentation/devicetree/bindings/clock/st,stm32mp1-rcc.yaml index a0ae4867ed..8b1ecb2ecd 100644 --- a/Documentation/devicetree/bindings/clock/st,stm32mp1-rcc.yaml +++ b/Documentation/devicetree/bindings/clock/st,stm32mp1-rcc.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Reset Clock Controller Binding maintainers: - - Gabriel Fernandez + - Gabriel Fernandez description: | The RCC IP is both a reset and a clock controller. diff --git a/Documentation/devicetree/bindings/crypto/allwinner,sun4i-a10-crypto.yaml b/Documentation/devicetree/bindings/crypto/allwinner,sun4i-a10-crypto.yaml index dedc99e34e..0429fb774f 100644 --- a/Documentation/devicetree/bindings/crypto/allwinner,sun4i-a10-crypto.yaml +++ b/Documentation/devicetree/bindings/crypto/allwinner,sun4i-a10-crypto.yaml @@ -44,16 +44,6 @@ properties: - const: ahb - const: mod - dmas: - items: - - description: RX DMA Channel - - description: TX DMA Channel - - dma-names: - items: - - const: rx - - const: tx - resets: maxItems: 1 diff --git a/Documentation/devicetree/bindings/crypto/st,stm32-crc.yaml b/Documentation/devicetree/bindings/crypto/st,stm32-crc.yaml index b72e4858f9..cee624c14f 100644 --- a/Documentation/devicetree/bindings/crypto/st,stm32-crc.yaml +++ b/Documentation/devicetree/bindings/crypto/st,stm32-crc.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 CRC bindings maintainers: - - Lionel Debieve + - Lionel Debieve properties: compatible: diff --git a/Documentation/devicetree/bindings/crypto/st,stm32-cryp.yaml b/Documentation/devicetree/bindings/crypto/st,stm32-cryp.yaml index ed23bf94a8..a457455250 100644 --- a/Documentation/devicetree/bindings/crypto/st,stm32-cryp.yaml +++ b/Documentation/devicetree/bindings/crypto/st,stm32-cryp.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 CRYP bindings maintainers: - - Lionel Debieve + - Lionel Debieve properties: compatible: diff --git a/Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml b/Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml index 10ba94792d..6dd658f091 100644 --- a/Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml +++ b/Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 HASH bindings maintainers: - - Lionel Debieve + - Lionel Debieve properties: compatible: diff --git a/Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt b/Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt index 58fc8a6ceb..3fbeb3733c 100644 --- a/Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt +++ b/Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt @@ -174,7 +174,7 @@ Example: compatible = "rockchip,rk3399-dmc"; devfreq-events = <&dfi>; interrupts = ; - clocks = <&cru SCLK_DDRC>; + clocks = <&cru SCLK_DDRCLK>; clock-names = "dmc_clk"; operating-points-v2 = <&dmc_opp_table>; center-supply = <&ppvar_centerlogic>; diff --git a/Documentation/devicetree/bindings/display/brcm,bcm2835-dsi0.yaml b/Documentation/devicetree/bindings/display/brcm,bcm2835-dsi0.yaml index af638b2246..112bc56de0 100644 --- a/Documentation/devicetree/bindings/display/brcm,bcm2835-dsi0.yaml +++ b/Documentation/devicetree/bindings/display/brcm,bcm2835-dsi0.yaml @@ -48,9 +48,6 @@ properties: interrupts: maxItems: 1 - power-domains: - maxItems: 1 - required: - "#clock-cells" - compatible diff --git a/Documentation/devicetree/bindings/display/brcm,bcm2835-hdmi.yaml b/Documentation/devicetree/bindings/display/brcm,bcm2835-hdmi.yaml index 53c25106b1..e7ef3a3632 100644 --- a/Documentation/devicetree/bindings/display/brcm,bcm2835-hdmi.yaml +++ b/Documentation/devicetree/bindings/display/brcm,bcm2835-hdmi.yaml @@ -85,9 +85,6 @@ properties: dma-names: const: audio-rx - power-domains: - maxItems: 1 - resets: maxItems: 1 diff --git a/Documentation/devicetree/bindings/display/brcm,bcm2835-v3d.yaml b/Documentation/devicetree/bindings/display/brcm,bcm2835-v3d.yaml index c55a8217de..8a73780f57 100644 --- a/Documentation/devicetree/bindings/display/brcm,bcm2835-v3d.yaml +++ b/Documentation/devicetree/bindings/display/brcm,bcm2835-v3d.yaml @@ -24,9 +24,6 @@ properties: interrupts: maxItems: 1 - power-domains: - maxItems: 1 - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/display/brcm,bcm2835-vec.yaml b/Documentation/devicetree/bindings/display/brcm,bcm2835-vec.yaml index 5d921e3039..9b24081a0d 100644 --- a/Documentation/devicetree/bindings/display/brcm,bcm2835-vec.yaml +++ b/Documentation/devicetree/bindings/display/brcm,bcm2835-vec.yaml @@ -24,9 +24,6 @@ properties: interrupts: maxItems: 1 - power-domains: - maxItems: 1 - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml b/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml index 1d3e88daca..ab48ab2f42 100644 --- a/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml +++ b/Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml @@ -43,70 +43,14 @@ properties: vdd33-supply: description: Regulator that provides the supply 3.3V power. - analogix,lane0-swing: - $ref: /schemas/types.yaml#/definitions/uint8-array - minItems: 1 - maxItems: 20 - description: - an array of swing register setting for DP tx lane0 PHY. - Registers 0~9 are Swing0_Pre0, Swing1_Pre0, Swing2_Pre0, - Swing3_Pre0, Swing0_Pre1, Swing1_Pre1, Swing2_Pre1, Swing0_Pre2, - Swing1_Pre2, Swing0_Pre3, they are for [Boost control] and - [Swing control] setting. - Registers 0~9, bit 3:0 is [Boost control], these bits control - post cursor manual, increase the [Boost control] to increase - Pre-emphasis value. - Registers 0~9, bit 6:4 is [Swing control], these bits control - swing manual, increase [Swing control] setting to add Vp-p value - for each Swing, Pre. - Registers 10~19 are Swing0_Pre0, Swing1_Pre0, Swing2_Pre0, - Swing3_Pre0, Swing0_Pre1, Swing1_Pre1, Swing2_Pre1, Swing0_Pre2, - Swing1_Pre2, Swing0_Pre3, they are for [R select control] and - [R Termination control] setting. - Registers 10~19, bit 4:0 is [R select control], these bits are - compensation manual, increase it can enhance IO driven strength - and Vp-p. - Registers 10~19, bit 5:6 is [R termination control], these bits - adjust 50ohm impedance of DP tx termination. 00:55 ohm, - 01:50 ohm(default), 10:45 ohm, 11:40 ohm. - - analogix,lane1-swing: - $ref: /schemas/types.yaml#/definitions/uint8-array - minItems: 1 - maxItems: 20 - description: - an array of swing register setting for DP tx lane1 PHY. - DP TX lane1 swing register setting same with lane0 - swing, please refer lane0-swing property description. - - analogix,audio-enable: - type: boolean - description: let the driver enable audio HDMI codec function or not. - ports: $ref: /schemas/graph.yaml#/properties/ports properties: port@0: - $ref: /schemas/graph.yaml#/$defs/port-base - unevaluatedProperties: false + $ref: /schemas/graph.yaml#/properties/port description: - MIPI DSI/DPI input. - - properties: - endpoint: - $ref: /schemas/media/video-interfaces.yaml# - type: object - additionalProperties: false - - properties: - remote-endpoint: true - - bus-type: - enum: [1, 5] - default: 1 - - data-lanes: true + Video port for MIPI DSI input. port@1: $ref: /schemas/graph.yaml#/properties/port @@ -143,9 +87,6 @@ examples: vdd10-supply = <&pp1000_mipibrdg>; vdd18-supply = <&pp1800_mipibrdg>; vdd33-supply = <&pp3300_mipibrdg>; - analogix,audio-enable; - analogix,lane0-swing = /bits/ 8 <0x14 0x54 0x64 0x74>; - analogix,lane1-swing = /bits/ 8 <0x14 0x54 0x64 0x74>; ports { #address-cells = <1>; @@ -155,8 +96,6 @@ examples: reg = <0>; anx7625_in: endpoint { remote-endpoint = <&mipi_dsi>; - bus-type = <5>; - data-lanes = <0 1 2 3>; }; }; diff --git a/Documentation/devicetree/bindings/display/bridge/analogix,anx7814.yaml b/Documentation/devicetree/bindings/display/bridge/analogix,anx7814.yaml index bce96b5b0d..8e13f27b28 100644 --- a/Documentation/devicetree/bindings/display/bridge/analogix,anx7814.yaml +++ b/Documentation/devicetree/bindings/display/bridge/analogix,anx7814.yaml @@ -7,9 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Analogix ANX7814 SlimPort (Full-HD Transmitter) maintainers: - - Andrzej Hajda - - Neil Armstrong - - Robert Foss + - Enric Balletbo i Serra properties: compatible: diff --git a/Documentation/devicetree/bindings/display/bridge/google,cros-ec-anx7688.yaml b/Documentation/devicetree/bindings/display/bridge/google,cros-ec-anx7688.yaml index a88a5d8c7b..9f7cc6b757 100644 --- a/Documentation/devicetree/bindings/display/bridge/google,cros-ec-anx7688.yaml +++ b/Documentation/devicetree/bindings/display/bridge/google,cros-ec-anx7688.yaml @@ -8,6 +8,7 @@ title: ChromeOS EC ANX7688 HDMI to DP Converter through Type-C Port maintainers: - Nicolas Boichat + - Enric Balletbo i Serra description: | ChromeOS EC ANX7688 is a display bridge that converts HDMI 2.0 to diff --git a/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml index 5079c1cc33..304a1367fa 100644 --- a/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml +++ b/Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml @@ -49,26 +49,11 @@ properties: properties: port@0: - $ref: /schemas/graph.yaml#/$defs/port-base + $ref: /schemas/graph.yaml#/properties/port description: | For LVDS encoders, port 0 is the parallel input For LVDS decoders, port 0 is the LVDS input - properties: - endpoint: - $ref: /schemas/media/video-interfaces.yaml# - unevaluatedProperties: false - - properties: - data-mapping: - enum: - - jeida-18 - - jeida-24 - - vesa-24 - description: | - The color signals mapping order. See details in - Documentation/devicetree/bindings/display/panel/lvds.yaml - port@1: $ref: /schemas/graph.yaml#/properties/port description: | @@ -79,14 +64,6 @@ properties: - port@0 - port@1 - pclk-sample: - description: - Data sampling on rising or falling edge. - enum: - - 0 # Falling edge - - 1 # Rising edge - default: 0 - powerdown-gpios: description: The GPIO used to control the power down line of this device. @@ -94,33 +71,6 @@ properties: power-supply: true -allOf: - - if: - not: - properties: - compatible: - contains: - const: lvds-decoder - then: - properties: - ports: - properties: - port@0: - properties: - endpoint: - properties: - data-mapping: false - - - if: - not: - properties: - compatible: - contains: - const: lvds-encoder - then: - properties: - pclk-sample: false - required: - compatible - ports diff --git a/Documentation/devicetree/bindings/display/bridge/ps8640.yaml b/Documentation/devicetree/bindings/display/bridge/ps8640.yaml index 186e17be51..fce82b605c 100644 --- a/Documentation/devicetree/bindings/display/bridge/ps8640.yaml +++ b/Documentation/devicetree/bindings/display/bridge/ps8640.yaml @@ -8,6 +8,7 @@ title: MIPI DSI to eDP Video Format Converter Device Tree Bindings maintainers: - Nicolas Boichat + - Enric Balletbo i Serra description: | The PS8640 is a low power MIPI-to-eDP video format converter supporting @@ -39,9 +40,6 @@ properties: vdd33-supply: description: Regulator for 3.3V digital core power. - aux-bus: - $ref: /schemas/display/dp-aux-bus.yaml# - ports: $ref: /schemas/graph.yaml#/properties/ports @@ -100,21 +98,7 @@ examples: reg = <1>; ps8640_out: endpoint { remote-endpoint = <&panel_in>; - }; - }; - }; - - aux-bus { - panel { - compatible = "boe,nv133fhm-n62"; - power-supply = <&pp3300_dx_edp>; - backlight = <&backlight>; - - port { - panel_in: endpoint { - remote-endpoint = <&ps8640_out>; - }; - }; + }; }; }; }; diff --git a/Documentation/devicetree/bindings/display/bridge/snps,dw-mipi-dsi.yaml b/Documentation/devicetree/bindings/display/bridge/snps,dw-mipi-dsi.yaml index 11fd68a70d..3c3e51af15 100644 --- a/Documentation/devicetree/bindings/display/bridge/snps,dw-mipi-dsi.yaml +++ b/Documentation/devicetree/bindings/display/bridge/snps,dw-mipi-dsi.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Synopsys DesignWare MIPI DSI host controller maintainers: - - Philippe CORNU + - Philippe CORNU description: | This document defines device tree properties for the Synopsys DesignWare MIPI diff --git a/Documentation/devicetree/bindings/display/ingenic,ipu.yaml b/Documentation/devicetree/bindings/display/ingenic,ipu.yaml index 3f93def2c5..e679f48a38 100644 --- a/Documentation/devicetree/bindings/display/ingenic,ipu.yaml +++ b/Documentation/devicetree/bindings/display/ingenic,ipu.yaml @@ -45,7 +45,7 @@ additionalProperties: false examples: - | - #include + #include ipu@13080000 { compatible = "ingenic,jz4770-ipu", "ingenic,jz4760-ipu"; reg = <0x13080000 0x800>; diff --git a/Documentation/devicetree/bindings/display/ingenic,lcd.yaml b/Documentation/devicetree/bindings/display/ingenic,lcd.yaml index 0049010b37..50d2b0a50e 100644 --- a/Documentation/devicetree/bindings/display/ingenic,lcd.yaml +++ b/Documentation/devicetree/bindings/display/ingenic,lcd.yaml @@ -88,7 +88,7 @@ additionalProperties: false examples: - | - #include + #include lcd-controller@13050000 { compatible = "ingenic,jz4740-lcd"; reg = <0x13050000 0x1000>; @@ -107,7 +107,7 @@ examples: }; - | - #include + #include lcd-controller@13050000 { compatible = "ingenic,jz4725b-lcd"; reg = <0x13050000 0x1000>; diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.txt b/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.txt index 36b01458f4..d30428b9fb 100644 --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.txt +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.txt @@ -19,11 +19,6 @@ Required properties: Documentation/devicetree/bindings/graph.txt. This port should be connected to the input port of an attached DSI panel or DSI-to-eDP encoder chip. -Optional properties: -- resets: list of phandle + reset specifier pair, as described in [1]. - -[1] Documentation/devicetree/bindings/reset/reset.txt - MIPI TX Configuration Module ============================ @@ -50,7 +45,6 @@ dsi0: dsi@1401b000 { clocks = <&mmsys MM_DSI0_ENGINE>, <&mmsys MM_DSI0_DIGITAL>, <&mipi_tx0>; clock-names = "engine", "digital", "hs"; - resets = <&mmsys MT8173_MMSYS_SW0_RST_B_DISP_DSI0>; phys = <&mipi_tx0>; phy-names = "dphy"; diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml index 5457612ab1..64d8d9e5e4 100644 --- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml +++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml @@ -17,18 +17,9 @@ properties: compatible: enum: - qcom,sc7180-dp - - qcom,sc7280-dp - - qcom,sc7280-edp - - qcom,sc8180x-dp - - qcom,sc8180x-edp reg: - items: - - description: ahb register block - - description: aux register block - - description: link register block - - description: p0 register block - - description: p1 register block + maxItems: 1 interrupts: maxItems: 1 @@ -104,15 +95,12 @@ examples: - | #include #include + #include #include displayport-controller@ae90000 { compatible = "qcom,sc7180-dp"; - reg = <0xae90000 0x200>, - <0xae90200 0x200>, - <0xae90400 0xc00>, - <0xae91000 0x400>, - <0xae91400 0x400>; + reg = <0xae90000 0x1400>; interrupt-parent = <&mdss>; interrupts = <12>; clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml index 0dca4b3d66..b4ea7c92fb 100644 --- a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml +++ b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml @@ -31,11 +31,13 @@ properties: clocks: items: - description: Display AHB clock from gcc + - description: Display AXI clock - description: Display core clock clock-names: items: - const: iface + - const: bus - const: core interrupts: @@ -158,8 +160,9 @@ examples: power-domains = <&dispcc MDSS_GDSC>; clocks = <&gcc GCC_DISP_AHB_CLK>, + <&gcc GCC_DISP_AXI_CLK>, <&dispcc DISP_CC_MDSS_MDP_CLK>; - clock-names = "iface", "core"; + clock-names = "iface", "bus", "core"; interrupts = ; interrupt-controller; diff --git a/Documentation/devicetree/bindings/display/msm/dsi-phy-14nm.yaml b/Documentation/devicetree/bindings/display/msm/dsi-phy-14nm.yaml index 81dbee4803..064df50e21 100644 --- a/Documentation/devicetree/bindings/display/msm/dsi-phy-14nm.yaml +++ b/Documentation/devicetree/bindings/display/msm/dsi-phy-14nm.yaml @@ -17,7 +17,6 @@ properties: enum: - qcom,dsi-phy-14nm - qcom,dsi-phy-14nm-660 - - qcom,dsi-phy-14nm-8953 reg: items: diff --git a/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml b/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml index acd2f3faa6..a108029ecf 100644 --- a/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml +++ b/Documentation/devicetree/bindings/display/panel/abt,y030xx067a.yaml @@ -6,12 +6,15 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Asia Better Technology 3.0" (320x480 pixels) 24-bit IPS LCD panel +description: | + The panel must obey the rules for a SPI slave device as specified in + spi/spi-controller.yaml + maintainers: - Paul Cercueil allOf: - $ref: panel-common.yaml# - - $ref: /schemas/spi/spi-peripheral-props.yaml# properties: compatible: diff --git a/Documentation/devicetree/bindings/display/panel/boe,tv101wum-nl6.yaml b/Documentation/devicetree/bindings/display/panel/boe,tv101wum-nl6.yaml index a2384bd74c..b87a2e28c8 100644 --- a/Documentation/devicetree/bindings/display/panel/boe,tv101wum-nl6.yaml +++ b/Documentation/devicetree/bindings/display/panel/boe,tv101wum-nl6.yaml @@ -26,10 +26,6 @@ properties: - auo,b101uan08.3 # BOE TV105WUM-NW0 10.5" WUXGA TFT LCD panel - boe,tv105wum-nw0 - # BOE TV110C9M-LL3 10.95" WUXGA TFT LCD panel - - boe,tv110c9m-ll3 - # INX HJ110IZ-01A 10.95" WUXGA TFT LCD panel - - innolux,hj110iz-01a reg: description: the virtual channel number of a DSI peripheral @@ -40,9 +36,6 @@ properties: pp1800-supply: description: core voltage supply - pp3300-supply: - description: core voltage supply - avdd-supply: description: phandle of the regulator that provides positive voltage diff --git a/Documentation/devicetree/bindings/display/panel/ilitek,ili9322.yaml b/Documentation/devicetree/bindings/display/panel/ilitek,ili9322.yaml index 7d221ef354..e89c1ea62f 100644 --- a/Documentation/devicetree/bindings/display/panel/ilitek,ili9322.yaml +++ b/Documentation/devicetree/bindings/display/panel/ilitek,ili9322.yaml @@ -15,9 +15,11 @@ description: | 960 TFT source driver pins and 240 TFT gate driver pins, VCOM, VCOML and VCOMH outputs. + The panel must obey the rules for a SPI slave device as specified in + spi/spi-controller.yaml + allOf: - $ref: panel-common.yaml# - - $ref: /schemas/spi/spi-peripheral-props.yaml# properties: compatible: diff --git a/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml b/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml index c5d1df6808..b2fcec4f22 100644 --- a/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml +++ b/Documentation/devicetree/bindings/display/panel/ilitek,ili9881c.yaml @@ -9,28 +9,24 @@ title: Ilitek ILI9881c based MIPI-DSI panels maintainers: - Maxime Ripard -allOf: - - $ref: panel-common.yaml# - properties: compatible: items: - enum: - bananapi,lhr050h41 - feixin,k101-im2byl02 - - wanchanglong,w552946aba - const: ilitek,ili9881c backlight: true power-supply: true reg: true reset-gpios: true - rotation: true required: - compatible - power-supply - reg + - reset-gpios additionalProperties: false diff --git a/Documentation/devicetree/bindings/display/panel/innolux,ej030na.yaml b/Documentation/devicetree/bindings/display/panel/innolux,ej030na.yaml index 72788e3e6c..cda36c04e8 100644 --- a/Documentation/devicetree/bindings/display/panel/innolux,ej030na.yaml +++ b/Documentation/devicetree/bindings/display/panel/innolux,ej030na.yaml @@ -6,12 +6,15 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Innolux EJ030NA 3.0" (320x480 pixels) 24-bit TFT LCD panel +description: | + The panel must obey the rules for a SPI slave device as specified in + spi/spi-controller.yaml + maintainers: - Paul Cercueil allOf: - $ref: panel-common.yaml# - - $ref: /schemas/spi/spi-peripheral-props.yaml# properties: compatible: diff --git a/Documentation/devicetree/bindings/display/panel/jdi,lt070me05000.yaml b/Documentation/devicetree/bindings/display/panel/jdi,lt070me05000.yaml index 63c82a4378..4f92365e88 100644 --- a/Documentation/devicetree/bindings/display/panel/jdi,lt070me05000.yaml +++ b/Documentation/devicetree/bindings/display/panel/jdi,lt070me05000.yaml @@ -35,8 +35,6 @@ properties: phandle of the gpio for power ic line Power IC supply enable, High active - port: true - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/display/panel/kingdisplay,kd035g6-54nt.yaml b/Documentation/devicetree/bindings/display/panel/kingdisplay,kd035g6-54nt.yaml index 2a2756d196..c45c92a3d4 100644 --- a/Documentation/devicetree/bindings/display/panel/kingdisplay,kd035g6-54nt.yaml +++ b/Documentation/devicetree/bindings/display/panel/kingdisplay,kd035g6-54nt.yaml @@ -6,12 +6,15 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: King Display KD035G6-54NT 3.5" (320x240 pixels) 24-bit TFT LCD panel +description: | + The panel must obey the rules for a SPI slave device as specified in + spi/spi-controller.yaml + maintainers: - Paul Cercueil allOf: - $ref: panel-common.yaml# - - $ref: /schemas/spi/spi-peripheral-props.yaml# properties: compatible: diff --git a/Documentation/devicetree/bindings/display/panel/lgphilips,lb035q02.yaml b/Documentation/devicetree/bindings/display/panel/lgphilips,lb035q02.yaml index 5e4e0e552c..830e335ddb 100644 --- a/Documentation/devicetree/bindings/display/panel/lgphilips,lb035q02.yaml +++ b/Documentation/devicetree/bindings/display/panel/lgphilips,lb035q02.yaml @@ -6,12 +6,15 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: LG.Philips LB035Q02 Panel +description: | + The panel must obey the rules for a SPI slave device as specified in + spi/spi-controller.yaml + maintainers: - Tomi Valkeinen allOf: - $ref: panel-common.yaml# - - $ref: /schemas/spi/spi-peripheral-props.yaml# properties: compatible: diff --git a/Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml b/Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml index 563766d283..ef4c0a2451 100644 --- a/Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml +++ b/Documentation/devicetree/bindings/display/panel/novatek,nt36672a.yaml @@ -34,7 +34,7 @@ properties: description: phandle of gpio for reset line - This should be 8mA, gpio can be configured using mux, pinctrl, pinctrl-names (active high) - vddi0-supply: + vddio-supply: description: phandle of the regulator that provides the supply voltage Power IC supply @@ -75,6 +75,8 @@ examples: reset-gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>; + #address-cells = <1>; + #size-cells = <0>; port { tianma_nt36672a_in_0: endpoint { remote-endpoint = <&dsi0_out>; diff --git a/Documentation/devicetree/bindings/display/panel/orisetech,otm8009a.yaml b/Documentation/devicetree/bindings/display/panel/orisetech,otm8009a.yaml index 17cbd0ad32..4b6dda6dbc 100644 --- a/Documentation/devicetree/bindings/display/panel/orisetech,otm8009a.yaml +++ b/Documentation/devicetree/bindings/display/panel/orisetech,otm8009a.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Orise Tech OTM8009A 3.97" 480x800 TFT LCD panel (MIPI-DSI video mode) maintainers: - - Philippe CORNU + - Philippe CORNU description: | The Orise Tech OTM8009A is a 3.97" 480x800 TFT LCD panel connected using diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml index 2c00813f5d..fbd7166924 100644 --- a/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml +++ b/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml @@ -35,8 +35,6 @@ properties: - boe,tv080wum-nl0 # Innolux P079ZCA 7.85" 768x1024 TFT LCD panel - innolux,p079zca - # JDI FHD_R63452 1080x1920 5.2" IPS LCD Panel - - jdi,fhd-r63452 # Khadas TS050 5" 1080x1920 LCD panel - khadas,ts050 # Kingdisplay KD097D04 9.7" 1536x2048 TFT LCD panel diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml index 6d39ae1dbc..37a9e6d121 100644 --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml @@ -170,8 +170,6 @@ properties: - innolux,at070tn92 # Innolux G070Y2-L01 7" WVGA (800x480) TFT LCD panel - innolux,g070y2-l01 - # Innolux G070Y2-T02 7" WVGA (800x480) TFT LCD TTL panel - - innolux,g070y2-t02 # Innolux Corporation 10.1" G101ICE-L01 WXGA (1280x800) LVDS panel - innolux,g101ice-l01 # Innolux Corporation 12.1" WXGA (1280x800) TFT LCD panel @@ -294,8 +292,6 @@ properties: - starry,kr070pe2t # Starry 12.2" (1920x1200 pixels) TFT LCD panel - starry,kr122ea0sra - # Team Source Display Technology TST043015CMHX 4.3" WQVGA TFT LCD panel - - team-source-display,tst043015cmhx # Tianma Micro-electronics TM070JDHG30 7.0" WXGA TFT LCD panel - tianma,tm070jdhg30 # Tianma Micro-electronics TM070JVHG33 7.0" WXGA TFT LCD panel @@ -317,8 +313,6 @@ properties: - urt,umsh-8596md-11t - urt,umsh-8596md-19t - urt,umsh-8596md-20t - # Vivax TPC-9150 tablet 9.0" WSVGA TFT LCD panel - - vivax,tpc9150-panel # VXT 800x480 color TFT LCD panel - vxt,vl050-8048nt-c01 # Winstar Display Corporation 3.5" QVGA (320x240) TFT LCD panel @@ -327,7 +321,6 @@ properties: - yes-optoelectronics,ytc700tlag-05-201c backlight: true - ddc-i2c-bus: true enable-gpios: true port: true power-supply: true diff --git a/Documentation/devicetree/bindings/display/panel/raydium,rm68200.yaml b/Documentation/devicetree/bindings/display/panel/raydium,rm68200.yaml index e8ce231563..39477793d2 100644 --- a/Documentation/devicetree/bindings/display/panel/raydium,rm68200.yaml +++ b/Documentation/devicetree/bindings/display/panel/raydium,rm68200.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Raydium Semiconductor Corporation RM68200 5.5" 720p MIPI-DSI TFT LCD panel maintainers: - - Philippe CORNU + - Philippe CORNU description: | The Raydium Semiconductor Corporation RM68200 is a 5.5" 720x1280 TFT LCD diff --git a/Documentation/devicetree/bindings/display/panel/samsung,ld9040.yaml b/Documentation/devicetree/bindings/display/panel/samsung,ld9040.yaml index d525165d6d..060ee27a47 100644 --- a/Documentation/devicetree/bindings/display/panel/samsung,ld9040.yaml +++ b/Documentation/devicetree/bindings/display/panel/samsung,ld9040.yaml @@ -6,12 +6,15 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Samsung LD9040 AMOLED LCD parallel RGB panel with SPI control bus +description: | + The panel must obey the rules for a SPI slave device as specified in + spi/spi-controller.yaml + maintainers: - Andrzej Hajda allOf: - $ref: panel-common.yaml# - - $ref: /schemas/spi/spi-peripheral-props.yaml# properties: compatible: @@ -60,6 +63,8 @@ examples: lcd@0 { compatible = "samsung,ld9040"; + #address-cells = <1>; + #size-cells = <0>; reg = <0>; vdd3-supply = <&ldo7_reg>; diff --git a/Documentation/devicetree/bindings/display/panel/samsung,s6e63m0.yaml b/Documentation/devicetree/bindings/display/panel/samsung,s6e63m0.yaml index 940f7f8852..ea58df4926 100644 --- a/Documentation/devicetree/bindings/display/panel/samsung,s6e63m0.yaml +++ b/Documentation/devicetree/bindings/display/panel/samsung,s6e63m0.yaml @@ -12,7 +12,6 @@ maintainers: allOf: - $ref: panel-common.yaml# - $ref: /schemas/leds/backlight/common.yaml# - - $ref: /schemas/spi/spi-peripheral-props.yaml# properties: compatible: diff --git a/Documentation/devicetree/bindings/display/panel/sitronix,st7789v.yaml b/Documentation/devicetree/bindings/display/panel/sitronix,st7789v.yaml index 9e1d707c2a..fa46d151e7 100644 --- a/Documentation/devicetree/bindings/display/panel/sitronix,st7789v.yaml +++ b/Documentation/devicetree/bindings/display/panel/sitronix,st7789v.yaml @@ -6,12 +6,15 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Sitronix ST7789V RGB panel with SPI control bus +description: | + The panel must obey the rules for a SPI slave device as specified in + spi/spi-controller.yaml + maintainers: - Maxime Ripard allOf: - $ref: panel-common.yaml# - - $ref: /schemas/spi/spi-peripheral-props.yaml# properties: compatible: diff --git a/Documentation/devicetree/bindings/display/panel/sony,acx565akm.yaml b/Documentation/devicetree/bindings/display/panel/sony,acx565akm.yaml index 98abdf4dde..95d053c548 100644 --- a/Documentation/devicetree/bindings/display/panel/sony,acx565akm.yaml +++ b/Documentation/devicetree/bindings/display/panel/sony,acx565akm.yaml @@ -6,12 +6,15 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Sony ACX565AKM SDI Panel +description: | + The panel must obey the rules for a SPI slave device as specified in + spi/spi-controller.yaml + maintainers: - Tomi Valkeinen allOf: - $ref: panel-common.yaml# - - $ref: /schemas/spi/spi-peripheral-props.yaml# properties: compatible: diff --git a/Documentation/devicetree/bindings/display/panel/tpo,td.yaml b/Documentation/devicetree/bindings/display/panel/tpo,td.yaml index f902a9d741..4aa6056134 100644 --- a/Documentation/devicetree/bindings/display/panel/tpo,td.yaml +++ b/Documentation/devicetree/bindings/display/panel/tpo,td.yaml @@ -6,13 +6,16 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Toppoly TD Panels +description: | + The panel must obey the rules for a SPI slave device as specified in + spi/spi-controller.yaml + maintainers: - Marek Belisko - H. Nikolaus Schaller allOf: - $ref: panel-common.yaml# - - $ref: /schemas/spi/spi-peripheral-props.yaml# properties: compatible: diff --git a/Documentation/devicetree/bindings/display/renesas,du.yaml b/Documentation/devicetree/bindings/display/renesas,du.yaml index 13efea5745..e3ca5389c1 100644 --- a/Documentation/devicetree/bindings/display/renesas,du.yaml +++ b/Documentation/devicetree/bindings/display/renesas,du.yaml @@ -39,7 +39,6 @@ properties: - renesas,du-r8a77980 # for R-Car V3H compatible DU - renesas,du-r8a77990 # for R-Car E3 compatible DU - renesas,du-r8a77995 # for R-Car D3 compatible DU - - renesas,du-r8a779a0 # for R-Car V3U compatible DU reg: maxItems: 1 @@ -774,56 +773,6 @@ allOf: - reset-names - renesas,vsps - - if: - properties: - compatible: - contains: - enum: - - renesas,du-r8a779a0 - then: - properties: - clocks: - items: - - description: Functional clock - - clock-names: - maxItems: 1 - items: - - const: du.0 - - interrupts: - maxItems: 2 - - resets: - maxItems: 1 - - reset-names: - items: - - const: du.0 - - ports: - properties: - port@0: - description: DSI 0 - port@1: - description: DSI 1 - port@2: false - port@3: false - - required: - - port@0 - - port@1 - - renesas,vsps: - minItems: 2 - - required: - - clock-names - - interrupts - - resets - - reset-names - - renesas,vsps - additionalProperties: false examples: diff --git a/Documentation/devicetree/bindings/display/rockchip/rockchip,rk3066-hdmi.yaml b/Documentation/devicetree/bindings/display/rockchip/rockchip,rk3066-hdmi.yaml index 1a68a940d1..008c144257 100644 --- a/Documentation/devicetree/bindings/display/rockchip/rockchip,rk3066-hdmi.yaml +++ b/Documentation/devicetree/bindings/display/rockchip/rockchip,rk3066-hdmi.yaml @@ -26,6 +26,14 @@ properties: clock-names: const: hclk + pinctrl-0: + maxItems: 2 + + pinctrl-names: + const: default + description: + Switch the iomux for the HPD/I2C pins to HDMI function. + power-domains: maxItems: 1 diff --git a/Documentation/devicetree/bindings/display/simple-framebuffer.yaml b/Documentation/devicetree/bindings/display/simple-framebuffer.yaml index 44a29d813f..c2499a7906 100644 --- a/Documentation/devicetree/bindings/display/simple-framebuffer.yaml +++ b/Documentation/devicetree/bindings/display/simple-framebuffer.yaml @@ -83,25 +83,13 @@ properties: format: description: > Format of the framebuffer: - * `a1r5g5b5` - 16-bit pixels, d[15]=a, d[14:10]=r, d[9:5]=g, d[4:0]=b - * `a2r10g10b10` - 32-bit pixels, d[31:30]=a, d[29:20]=r, d[19:10]=g, d[9:0]=b * `a8b8g8r8` - 32-bit pixels, d[31:24]=a, d[23:16]=b, d[15:8]=g, d[7:0]=r - * `a8r8g8b8` - 32-bit pixels, d[31:24]=a, d[23:16]=r, d[15:8]=g, d[7:0]=b * `r5g6b5` - 16-bit pixels, d[15:11]=r, d[10:5]=g, d[4:0]=b - * `r5g5b5a1` - 16-bit pixels, d[15:11]=r, d[10:6]=g, d[5:1]=b d[1:0]=a - * `r8g8b8` - 24-bit pixels, d[23:16]=r, d[15:8]=g, d[7:0]=b - * `x1r5g5b5` - 16-bit pixels, d[14:10]=r, d[9:5]=g, d[4:0]=b * `x2r10g10b10` - 32-bit pixels, d[29:20]=r, d[19:10]=g, d[9:0]=b * `x8r8g8b8` - 32-bit pixels, d[23:16]=r, d[15:8]=g, d[7:0]=b enum: - - a1r5g5b5 - - a2r10g10b10 - a8b8g8r8 - - a8r8g8b8 - r5g6b5 - - r5g5b5a1 - - r8g8b8 - - x1r5g5b5 - x2r10g10b10 - x8r8g8b8 diff --git a/Documentation/devicetree/bindings/display/st,stm32-dsi.yaml b/Documentation/devicetree/bindings/display/st,stm32-dsi.yaml index 54f67cb510..ed310bbe3a 100644 --- a/Documentation/devicetree/bindings/display/st,stm32-dsi.yaml +++ b/Documentation/devicetree/bindings/display/st,stm32-dsi.yaml @@ -7,8 +7,8 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 DSI host controller maintainers: - - Philippe Cornu - - Yannick Fertre + - Philippe Cornu + - Yannick Fertre description: The STMicroelectronics STM32 DSI controller uses the Synopsys DesignWare MIPI-DSI host controller. @@ -110,7 +110,7 @@ examples: }; }; - panel@0 { + panel-dsi@0 { compatible = "orisetech,otm8009a"; reg = <0>; reset-gpios = <&gpioe 4 GPIO_ACTIVE_LOW>; @@ -125,3 +125,4 @@ examples: }; ... + diff --git a/Documentation/devicetree/bindings/display/st,stm32-ltdc.yaml b/Documentation/devicetree/bindings/display/st,stm32-ltdc.yaml index 01e2da2379..4ae3d75492 100644 --- a/Documentation/devicetree/bindings/display/st,stm32-ltdc.yaml +++ b/Documentation/devicetree/bindings/display/st,stm32-ltdc.yaml @@ -7,8 +7,8 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 lcd-tft display controller maintainers: - - Philippe Cornu - - Yannick Fertre + - Philippe Cornu + - Yannick Fertre properties: compatible: diff --git a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt index e61999ce54..8a6d3e1ee3 100644 --- a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt +++ b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt @@ -19,19 +19,6 @@ Required properties: See ../reset/reset.txt for details. - reset-names: Must include the following entries: - host1x - - mc - -Optional properties: -- operating-points-v2: See ../bindings/opp/opp.txt for details. - - power-domains: Phandle to HEG or core power domain. - -For each opp entry in 'operating-points-v2' table of host1x and its modules: -- opp-supported-hw: One bitfield indicating: - On Tegra20: SoC process ID mask - On Tegra30+: SoC speedo ID mask - - A bitwise AND is performed against the value and if any bit - matches, the OPP gets enabled. Each host1x client module having to perform DMA through the Memory Controller should have the interconnect endpoints set to the Memory Client and External @@ -58,8 +45,6 @@ of the following host1x client modules: - interconnect-names: Must include name of the interconnect path for each interconnect entry. Consult TRM documentation for information about available memory clients, see MEMORY CONTROLLER section. - - operating-points-v2: See ../bindings/opp/opp.txt for details. - - power-domains: Phandle to MPE power domain. - vi: video input @@ -143,8 +128,6 @@ of the following host1x client modules: - interconnect-names: Must include name of the interconnect path for each interconnect entry. Consult TRM documentation for information about available memory clients, see MEMORY CONTROLLER section. - - operating-points-v2: See ../bindings/opp/opp.txt for details. - - power-domains: Phandle to VENC power domain. - epp: encoder pre-processor @@ -164,8 +147,6 @@ of the following host1x client modules: - interconnect-names: Must include name of the interconnect path for each interconnect entry. Consult TRM documentation for information about available memory clients, see MEMORY CONTROLLER section. - - operating-points-v2: See ../bindings/opp/opp.txt for details. - - power-domains: Phandle to HEG or core power domain. - isp: image signal processor @@ -185,7 +166,6 @@ of the following host1x client modules: - interconnect-names: Must include name of the interconnect path for each interconnect entry. Consult TRM documentation for information about available memory clients, see MEMORY CONTROLLER section. - - power-domains: Phandle to VENC or core power domain. - gr2d: 2D graphics engine @@ -199,15 +179,12 @@ of the following host1x client modules: See ../reset/reset.txt for details. - reset-names: Must include the following entries: - 2d - - mc Optional properties: - interconnects: Must contain entry for the GR2D memory clients. - interconnect-names: Must include name of the interconnect path for each interconnect entry. Consult TRM documentation for information about available memory clients, see MEMORY CONTROLLER section. - - operating-points-v2: See ../bindings/opp/opp.txt for details. - - power-domains: Phandle to HEG or core power domain. - gr3d: 3D graphics engine @@ -226,16 +203,12 @@ of the following host1x client modules: - reset-names: Must include the following entries: - 3d - 3d2 (Only required on SoCs with two 3D clocks) - - mc - - mc2 (Only required on SoCs with two 3D clocks) Optional properties: - interconnects: Must contain entry for the GR3D memory clients. - interconnect-names: Must include name of the interconnect path for each interconnect entry. Consult TRM documentation for information about available memory clients, see MEMORY CONTROLLER section. - - operating-points-v2: See ../bindings/opp/opp.txt for details. - - power-domains: Phandles to 3D or core power domain. - dc: display controller @@ -268,8 +241,6 @@ of the following host1x client modules: - interconnect-names: Must include name of the interconnect path for each interconnect entry. Consult TRM documentation for information about available memory clients, see MEMORY CONTROLLER section. - - operating-points-v2: See ../bindings/opp/opp.txt for details. - - power-domains: Phandle to core power domain. - hdmi: High Definition Multimedia Interface @@ -296,7 +267,6 @@ of the following host1x client modules: - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection - nvidia,edid: supplies a binary EDID blob - nvidia,panel: phandle of a display panel - - operating-points-v2: See ../bindings/opp/opp.txt for details. - tvo: TV encoder output @@ -307,10 +277,6 @@ of the following host1x client modules: - clocks: Must contain one entry, for the module clock. See ../clocks/clock-bindings.txt for details. - Optional properties: - - operating-points-v2: See ../bindings/opp/opp.txt for details. - - power-domains: Phandle to core power domain. - - dsi: display serial interface Required properties: @@ -339,7 +305,6 @@ of the following host1x client modules: - nvidia,panel: phandle of a display panel - nvidia,ganged-mode: contains a phandle to a second DSI controller to gang up with in order to support up to 8 data lanes - - operating-points-v2: See ../bindings/opp/opp.txt for details. - sor: serial output resource @@ -443,8 +408,6 @@ Example: clocks = <&tegra_car TEGRA20_CLK_HOST1X>; resets = <&tegra_car 28>; reset-names = "host1x"; - operating-points-v2 = <&dvfs_opp_table>; - power-domains = <&domain>; #address-cells = <1>; #size-cells = <1>; @@ -458,8 +421,6 @@ Example: clocks = <&tegra_car TEGRA20_CLK_MPE>; resets = <&tegra_car 60>; reset-names = "mpe"; - operating-points-v2 = <&dvfs_opp_table>; - power-domains = <&domain>; }; vi@54080000 { @@ -468,7 +429,6 @@ Example: interrupts = ; assigned-clocks = <&tegra_car TEGRA210_CLK_VI>; assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>; - operating-points-v2 = <&dvfs_opp_table>; clocks = <&tegra_car TEGRA210_CLK_VI>; power-domains = <&pd_venc>; @@ -550,8 +510,6 @@ Example: clocks = <&tegra_car TEGRA20_CLK_EPP>; resets = <&tegra_car 19>; reset-names = "epp"; - operating-points-v2 = <&dvfs_opp_table>; - power-domains = <&domain>; }; isp { @@ -570,8 +528,6 @@ Example: clocks = <&tegra_car TEGRA20_CLK_GR2D>; resets = <&tegra_car 21>; reset-names = "2d"; - operating-points-v2 = <&dvfs_opp_table>; - power-domains = <&domain>; }; gr3d { @@ -580,8 +536,6 @@ Example: clocks = <&tegra_car TEGRA20_CLK_GR3D>; resets = <&tegra_car 24>; reset-names = "3d"; - operating-points-v2 = <&dvfs_opp_table>; - power-domains = <&domain>; }; dc@54200000 { @@ -593,8 +547,6 @@ Example: clock-names = "dc", "parent"; resets = <&tegra_car 27>; reset-names = "dc"; - operating-points-v2 = <&dvfs_opp_table>; - power-domains = <&domain>; interconnects = <&mc TEGRA20_MC_DISPLAY0A &emc>, <&mc TEGRA20_MC_DISPLAY0B &emc>, @@ -619,8 +571,6 @@ Example: clock-names = "dc", "parent"; resets = <&tegra_car 26>; reset-names = "dc"; - operating-points-v2 = <&dvfs_opp_table>; - power-domains = <&domain>; interconnects = <&mc TEGRA20_MC_DISPLAY0AB &emc>, <&mc TEGRA20_MC_DISPLAY0BB &emc>, @@ -646,7 +596,6 @@ Example: resets = <&tegra_car 51>; reset-names = "hdmi"; status = "disabled"; - operating-points-v2 = <&dvfs_opp_table>; }; tvo { @@ -655,7 +604,6 @@ Example: interrupts = <0 76 0x04>; clocks = <&tegra_car TEGRA20_CLK_TVO>; status = "disabled"; - operating-points-v2 = <&dvfs_opp_table>; }; dsi { @@ -667,7 +615,6 @@ Example: resets = <&tegra_car 48>; reset-names = "dsi"; status = "disabled"; - operating-points-v2 = <&dvfs_opp_table>; }; }; diff --git a/Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt b/Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt index 3b3d0bbfcf..3e64075ac7 100644 --- a/Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt +++ b/Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt @@ -60,7 +60,7 @@ Example: blue-and-red-wiring = "crossed"; port { - lcdc_0: endpoint { + lcdc_0: endpoint@0 { remote-endpoint = <&hdmi_0>; }; }; @@ -75,7 +75,7 @@ Example: pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>; port { - hdmi_0: endpoint { + hdmi_0: endpoint@0 { remote-endpoint = <&lcdc_0>; }; }; diff --git a/Documentation/devicetree/bindings/display/xlnx/xlnx,zynqmp-dpsub.yaml b/Documentation/devicetree/bindings/display/xlnx/xlnx,zynqmp-dpsub.yaml index 10ec78ca1c..d88bd93f4b 100644 --- a/Documentation/devicetree/bindings/display/xlnx/xlnx,zynqmp-dpsub.yaml +++ b/Documentation/devicetree/bindings/display/xlnx/xlnx,zynqmp-dpsub.yaml @@ -160,8 +160,8 @@ examples: <&xlnx_dpdma 2>, <&xlnx_dpdma 3>; - phys = <&psgtr 1 PHY_TYPE_DP 0 3>, - <&psgtr 0 PHY_TYPE_DP 1 3>; + phys = <&psgtr 1 PHY_TYPE_DP 0 3 27000000>, + <&psgtr 0 PHY_TYPE_DP 1 3 27000000>; phy-names = "dp-phy0", "dp-phy1"; }; diff --git a/Documentation/devicetree/bindings/dma/arm-pl08x.yaml b/Documentation/devicetree/bindings/dma/arm-pl08x.yaml index 9193b18fb7..3bd9eea543 100644 --- a/Documentation/devicetree/bindings/dma/arm-pl08x.yaml +++ b/Documentation/devicetree/bindings/dma/arm-pl08x.yaml @@ -10,7 +10,6 @@ maintainers: - Vinod Koul allOf: - - $ref: /schemas/arm/primecell.yaml# - $ref: "dma-controller.yaml#" # We need a select here so we don't match all nodes with 'arm,primecell' @@ -90,9 +89,6 @@ properties: - 64 description: bus width used for memcpy in bits. FTDMAC020 also accept 64 bits - resets: - maxItems: 1 - required: - reg - interrupts diff --git a/Documentation/devicetree/bindings/dma/dma-controller.yaml b/Documentation/devicetree/bindings/dma/dma-controller.yaml index 6d3727267f..0043b91da9 100644 --- a/Documentation/devicetree/bindings/dma/dma-controller.yaml +++ b/Documentation/devicetree/bindings/dma/dma-controller.yaml @@ -24,10 +24,10 @@ examples: dma: dma-controller@48000000 { compatible = "ti,omap-sdma"; reg = <0x48000000 0x1000>; - interrupts = <0 12 0x4>, - <0 13 0x4>, - <0 14 0x4>, - <0 15 0x4>; + interrupts = <0 12 0x4 + 0 13 0x4 + 0 14 0x4 + 0 15 0x4>; #dma-cells = <1>; dma-channels = <32>; dma-requests = <127>; diff --git a/Documentation/devicetree/bindings/dma/ingenic,dma.yaml b/Documentation/devicetree/bindings/dma/ingenic,dma.yaml index 3b0b3b919a..ac4d59494f 100644 --- a/Documentation/devicetree/bindings/dma/ingenic,dma.yaml +++ b/Documentation/devicetree/bindings/dma/ingenic,dma.yaml @@ -14,23 +14,15 @@ allOf: properties: compatible: - oneOf: - - enum: - - ingenic,jz4740-dma - - ingenic,jz4725b-dma - - ingenic,jz4760-dma - - ingenic,jz4760-bdma - - ingenic,jz4760-mdma - - ingenic,jz4760b-dma - - ingenic,jz4760b-bdma - - ingenic,jz4760b-mdma - - ingenic,jz4770-dma - - ingenic,jz4780-dma - - ingenic,x1000-dma - - ingenic,x1830-dma - - items: - - const: ingenic,jz4770-bdma - - const: ingenic,jz4760b-bdma + enum: + - ingenic,jz4740-dma + - ingenic,jz4725b-dma + - ingenic,jz4760-dma + - ingenic,jz4760b-dma + - ingenic,jz4770-dma + - ingenic,jz4780-dma + - ingenic,x1000-dma + - ingenic,x1830-dma reg: items: @@ -44,19 +36,13 @@ properties: maxItems: 1 "#dma-cells": - enum: [2, 3] + const: 2 description: > DMA clients must use the format described in dma.txt, giving a phandle - to the DMA controller plus the following integer cells: + to the DMA controller plus the following 2 integer cells: - - Request type: The DMA request type specifies the device endpoint that - will be the source or destination of the DMA transfer. - If "#dma-cells" is 2, the request type is a single cell, and the - direction will be unidirectional (either RX or TX but not both). - If "#dma-cells" is 3, the request type has two cells; the first - one corresponds to the host to device direction (TX), the second one - corresponds to the device to host direction (RX). The DMA channel is - then bidirectional. + - Request type: The DMA request type for transfers to/from the + device on the allocated channel, as defined in the SoC documentation. - Channel: If set to 0xffffffff, any available channel will be allocated for the client. Otherwise, the exact channel specified will be used. @@ -82,7 +68,7 @@ unevaluatedProperties: false examples: - | - #include + #include dma: dma-controller@13420000 { compatible = "ingenic,jz4780-dma"; reg = <0x13420000 0x400>, <0x13421000 0x40>; diff --git a/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt b/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt index 6e9a5497b3..cf5b9e4443 100644 --- a/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt +++ b/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt @@ -15,8 +15,6 @@ Required properties: the secure world. - qcom,controlled-remotely : optional, indicates that the bam is controlled by remote proccessor i.e. execution environment. -- qcom,powered-remotely : optional, indicates that the bam is powered up by - a remote processor but must be initialized by the local processor. - num-channels : optional, indicates supported number of DMA channels in a remotely controlled bam. - qcom,num-ees : optional, indicates supported number of Execution Environments diff --git a/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.yaml b/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.yaml index 7c6badf399..d8142cbd13 100644 --- a/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.yaml +++ b/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.yaml @@ -44,10 +44,6 @@ properties: - items: - const: renesas,dmac-r8a779a0 # R-Car V3U - - items: - - const: renesas,dmac-r8a779f0 # R-Car S4-8 - - const: renesas,rcar-gen4-dmac - reg: true interrupts: @@ -122,7 +118,6 @@ if: contains: enum: - renesas,dmac-r8a779a0 - - renesas,rcar-gen4-dmac then: properties: reg: diff --git a/Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml b/Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml index 75ad898c59..d32a71b975 100644 --- a/Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml +++ b/Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml @@ -50,7 +50,7 @@ examples: dma@3000000 { compatible = "sifive,fu540-c000-pdma"; reg = <0x3000000 0x8000>; - interrupts = <23>, <24>, <25>, <26>, <27>, <28>, <29>, <30>; + interrupts = <23 24 25 26 27 28 29 30>; #dma-cells = <1>; }; diff --git a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml index 4324a94b26..79e241498e 100644 --- a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml +++ b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml @@ -53,9 +53,6 @@ properties: minimum: 1 maximum: 8 - resets: - maxItems: 1 - snps,dma-masters: description: | Number of AXI masters supported by the hardware. diff --git a/Documentation/devicetree/bindings/dma/st,stm32-dma.yaml b/Documentation/devicetree/bindings/dma/st,stm32-dma.yaml index 55faab6a46..4bf676fd25 100644 --- a/Documentation/devicetree/bindings/dma/st,stm32-dma.yaml +++ b/Documentation/devicetree/bindings/dma/st,stm32-dma.yaml @@ -50,7 +50,7 @@ description: | maintainers: - - Amelie Delaunay + - Amelie Delaunay allOf: - $ref: "dma-controller.yaml#" diff --git a/Documentation/devicetree/bindings/dma/st,stm32-dmamux.yaml b/Documentation/devicetree/bindings/dma/st,stm32-dmamux.yaml index f751796531..c8d2b51d84 100644 --- a/Documentation/devicetree/bindings/dma/st,stm32-dmamux.yaml +++ b/Documentation/devicetree/bindings/dma/st,stm32-dmamux.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 DMA MUX (DMA request router) bindings maintainers: - - Amelie Delaunay + - Amelie Delaunay allOf: - $ref: "dma-router.yaml#" diff --git a/Documentation/devicetree/bindings/dma/st,stm32-mdma.yaml b/Documentation/devicetree/bindings/dma/st,stm32-mdma.yaml index 87b4afd2cf..c30be840be 100644 --- a/Documentation/devicetree/bindings/dma/st,stm32-mdma.yaml +++ b/Documentation/devicetree/bindings/dma/st,stm32-mdma.yaml @@ -50,7 +50,7 @@ description: | if no HW ack signal is used by the MDMA client maintainers: - - Amelie Delaunay + - Amelie Delaunay allOf: - $ref: "dma-controller.yaml#" diff --git a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml index 08627d91e6..df29d59d13 100644 --- a/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml +++ b/Documentation/devicetree/bindings/dma/ti/k3-bcdma.yaml @@ -30,7 +30,6 @@ description: | allOf: - $ref: /schemas/dma/dma-controller.yaml# - - $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml# properties: compatible: diff --git a/Documentation/devicetree/bindings/dma/ti/k3-pktdma.yaml b/Documentation/devicetree/bindings/dma/ti/k3-pktdma.yaml index 507d16d84a..ea19d12a93 100644 --- a/Documentation/devicetree/bindings/dma/ti/k3-pktdma.yaml +++ b/Documentation/devicetree/bindings/dma/ti/k3-pktdma.yaml @@ -25,7 +25,6 @@ description: | allOf: - $ref: /schemas/dma/dma-controller.yaml# - - $ref: /schemas/arm/keystone/ti,k3-sci-common.yaml# properties: compatible: diff --git a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml index e66ef2da78..7afc9f2be1 100644 --- a/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml +++ b/Documentation/devicetree/bindings/dsp/fsl,dsp.yaml @@ -8,7 +8,6 @@ title: NXP i.MX8 DSP core maintainers: - Daniel Baluta - - Shengjiu Wang description: | Some boards from i.MX8 family contain a DSP core used for @@ -20,10 +19,6 @@ properties: - fsl,imx8qxp-dsp - fsl,imx8qm-dsp - fsl,imx8mp-dsp - - fsl,imx8qxp-hifi4 - - fsl,imx8qm-hifi4 - - fsl,imx8mp-hifi4 - - fsl,imx8ulp-hifi4 reg: maxItems: 1 @@ -33,53 +28,37 @@ properties: - description: ipg clock - description: ocram clock - description: core clock - - description: debug interface clock - - description: message unit clock - minItems: 3 clock-names: items: - const: ipg - const: ocram - const: core - - const: debug - - const: mu - minItems: 3 power-domains: description: List of phandle and PM domain specifier as documented in Documentation/devicetree/bindings/power/power_domain.txt - minItems: 1 maxItems: 4 mboxes: description: List of <&phandle type channel> - 2 channels for TXDB, 2 channels for RXDB - or - 1 channel for TX, 1 channel for RX, 1 channel for RXDB (see mailbox/fsl,mu.txt) - minItems: 3 maxItems: 4 mbox-names: - minItems: 3 - maxItems: 4 + items: + - const: txdb0 + - const: txdb1 + - const: rxdb0 + - const: rxdb1 memory-region: description: phandle to a node describing reserved memory (System RAM memory) used by DSP (see bindings/reserved-memory/reserved-memory.txt) - minItems: 1 - maxItems: 4 - - firmware-name: - description: | - Default name of the firmware to load to the remote processor. - - fsl,dsp-ctrl: - $ref: /schemas/types.yaml#/definitions/phandle - description: - Phandle to syscon block which provide access for processor enablement + maxItems: 1 required: - compatible @@ -91,58 +70,6 @@ required: - mbox-names - memory-region -allOf: - - if: - properties: - compatible: - contains: - enum: - - fsl,imx8qxp-dsp - - fsl,imx8qm-dsp - - fsl,imx8qxp-hifi4 - - fsl,imx8qm-hifi4 - then: - properties: - power-domains: - minItems: 4 - else: - properties: - power-domains: - maxItems: 1 - - - if: - properties: - compatible: - contains: - enum: - - fsl,imx8qxp-hifi4 - - fsl,imx8qm-hifi4 - - fsl,imx8mp-hifi4 - - fsl,imx8ulp-hifi4 - then: - properties: - memory-region: - minItems: 4 - mboxes: - maxItems: 3 - mbox-names: - items: - - const: tx - - const: rx - - const: rxdb - else: - properties: - memory-region: - maxItems: 1 - mboxes: - minItems: 4 - mbox-names: - items: - - const: txdb0 - - const: txdb1 - - const: rxdb0 - - const: rxdb1 - additionalProperties: false examples: @@ -164,41 +91,3 @@ examples: mboxes = <&lsio_mu13 2 0>, <&lsio_mu13 2 1>, <&lsio_mu13 3 0>, <&lsio_mu13 3 1>; memory-region = <&dsp_reserved>; }; - - | - #include - dsp_reserved: dsp@92400000 { - reg = <0x92400000 0x1000000>; - no-map; - }; - dsp_vdev0vring0: vdev0vring0@942f0000 { - reg = <0x942f0000 0x8000>; - no-map; - }; - dsp_vdev0vring1: vdev0vring1@942f8000 { - reg = <0x942f8000 0x8000>; - no-map; - }; - dsp_vdev0buffer: vdev0buffer@94300000 { - compatible = "shared-dma-pool"; - reg = <0x94300000 0x100000>; - no-map; - }; - - dsp: dsp@3b6e8000 { - compatible = "fsl,imx8mp-hifi4"; - reg = <0x3b6e8000 0x88000>; - clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_DSP_ROOT>, - <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_OCRAMA_IPG>, - <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_DSP_ROOT>, - <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_DSPDBG_ROOT>; - clock-names = "ipg", "ocram", "core", "debug"; - firmware-name = "imx/dsp/hifi4.bin"; - power-domains = <&audiomix_pd>; - mbox-names = "tx", "rx", "rxdb"; - mboxes = <&mu2 0 0>, - <&mu2 1 0>, - <&mu2 3 0>; - memory-region = <&dsp_vdev0buffer>, <&dsp_vdev0vring0>, - <&dsp_vdev0vring1>, <&dsp_reserved>; - fsl,dsp-ctrl = <&audio_blk_ctrl>; - }; diff --git a/Documentation/devicetree/bindings/eeprom/at24.yaml b/Documentation/devicetree/bindings/eeprom/at24.yaml index 6b61a8cf61..914a423ec4 100644 --- a/Documentation/devicetree/bindings/eeprom/at24.yaml +++ b/Documentation/devicetree/bindings/eeprom/at24.yaml @@ -86,10 +86,6 @@ properties: pattern: c1024$ - items: pattern: cs1024$ - - items: - pattern: c1025$ - - items: - pattern: cs1025$ - items: pattern: c2048$ - items: @@ -99,20 +95,11 @@ properties: # These are special cases that don't conform to the above pattern. # Each requires a standard at24 model as fallback. - items: - - enum: - - rohm,br24g01 - - rohm,br24t01 - - const: atmel,24c01 - - items: - - enum: - - nxp,se97b - - renesas,r1ex24002 + - const: nxp,se97b - const: atmel,24c02 - items: - - enum: - - onnn,cat24c04 - - onnn,cat24c05 - - const: atmel,24c04 + - const: renesas,r1ex24002 + - const: atmel,24c02 - items: - const: renesas,r1ex24016 - const: atmel,24c16 @@ -122,6 +109,12 @@ properties: - items: - const: renesas,r1ex24128 - const: atmel,24c128 + - items: + - const: rohm,br24g01 + - const: atmel,24c01 + - items: + - const: rohm,br24t01 + - const: atmel,24c01 label: description: Descriptive name of the EEPROM. diff --git a/Documentation/devicetree/bindings/extcon/extcon-usbc-cros-ec.yaml b/Documentation/devicetree/bindings/extcon/extcon-usbc-cros-ec.yaml index 2d82b44268..20e1ccfc86 100644 --- a/Documentation/devicetree/bindings/extcon/extcon-usbc-cros-ec.yaml +++ b/Documentation/devicetree/bindings/extcon/extcon-usbc-cros-ec.yaml @@ -8,6 +8,7 @@ title: ChromeOS EC USB Type-C cable and accessories detection maintainers: - Benson Leung + - Enric Balletbo i Serra description: | On ChromeOS systems with USB Type C ports, the ChromeOS Embedded Controller is diff --git a/Documentation/devicetree/bindings/extcon/extcon-usbc-tusb320.yaml b/Documentation/devicetree/bindings/extcon/extcon-usbc-tusb320.yaml index 71a9f2e5d0..9875b4d5c3 100644 --- a/Documentation/devicetree/bindings/extcon/extcon-usbc-tusb320.yaml +++ b/Documentation/devicetree/bindings/extcon/extcon-usbc-tusb320.yaml @@ -11,9 +11,7 @@ maintainers: properties: compatible: - enum: - - ti,tusb320 - - ti,tusb320l + const: ti,tusb320 reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/firmware/intel,ixp4xx-network-processing-engine.yaml b/Documentation/devicetree/bindings/firmware/intel,ixp4xx-network-processing-engine.yaml index 9a785bbaaf..c435c9f369 100644 --- a/Documentation/devicetree/bindings/firmware/intel,ixp4xx-network-processing-engine.yaml +++ b/Documentation/devicetree/bindings/firmware/intel,ixp4xx-network-processing-engine.yaml @@ -37,20 +37,6 @@ properties: should be named with the instance number of the NPE engine used for the crypto engine. - "#address-cells": - const: 1 - - "#size-cells": - const: 0 - -patternProperties: - hss@[0-9]+$: - $ref: /schemas/net/intel,ixp4xx-hss.yaml# - type: object - description: Optional node for the High Speed Serial link (HSS), the - node should be named with the instance number of the NPE engine - used for the HSS. - required: - compatible - reg @@ -59,30 +45,9 @@ additionalProperties: false examples: - | - #include - npe: npe@c8006000 { compatible = "intel,ixp4xx-network-processing-engine"; reg = <0xc8006000 0x1000>, <0xc8007000 0x1000>, <0xc8008000 0x1000>; - #address-cells = <1>; - #size-cells = <0>; - - hss@0 { - compatible = "intel,ixp4xx-hss"; - reg = <0>; - intel,npe-handle = <&npe 0>; - intel,queue-chl-rxtrig = <&qmgr 12>; - intel,queue-chl-txready = <&qmgr 34>; - intel,queue-pkt-rx = <&qmgr 13>; - intel,queue-pkt-tx = <&qmgr 14>, <&qmgr 15>, <&qmgr 16>, <&qmgr 17>; - intel,queue-pkt-rxfree = <&qmgr 18>, <&qmgr 19>, <&qmgr 20>, <&qmgr 21>; - intel,queue-pkt-txdone = <&qmgr 22>; - cts-gpios = <&gpio0 10 GPIO_ACTIVE_LOW>; - rts-gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; - dcd-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; - dtr-gpios = <&gpio_74 2 GPIO_ACTIVE_LOW>; - clk-internal-gpios = <&gpio_74 0 GPIO_ACTIVE_HIGH>; - }; crypto { compatible = "intel,ixp4xx-crypto"; diff --git a/Documentation/devicetree/bindings/firmware/qcom,scm.txt b/Documentation/devicetree/bindings/firmware/qcom,scm.txt index b1cd4ad188..a7333ad938 100644 --- a/Documentation/devicetree/bindings/firmware/qcom,scm.txt +++ b/Documentation/devicetree/bindings/firmware/qcom,scm.txt @@ -13,10 +13,8 @@ Required properties: * "qcom,scm-ipq806x" * "qcom,scm-ipq8074" * "qcom,scm-mdm9607" - * "qcom,scm-msm8226" * "qcom,scm-msm8660" * "qcom,scm-msm8916" - * "qcom,scm-msm8953" * "qcom,scm-msm8960" * "qcom,scm-msm8974" * "qcom,scm-msm8994" @@ -26,18 +24,16 @@ Required properties: * "qcom,scm-sc7280" * "qcom,scm-sdm845" * "qcom,scm-sdx55" - * "qcom,scm-sm6350" * "qcom,scm-sm8150" * "qcom,scm-sm8250" * "qcom,scm-sm8350" - * "qcom,scm-sm8450" and: * "qcom,scm" - clocks: Specifies clocks needed by the SCM interface, if any: * core clock required for "qcom,scm-apq8064", "qcom,scm-msm8660" and "qcom,scm-msm8960" * core, iface and bus clocks required for "qcom,scm-apq8084", - "qcom,scm-msm8916", "qcom,scm-msm8953" and "qcom,scm-msm8974" + "qcom,scm-msm8916" and "qcom,scm-msm8974" - clock-names: Must contain "core" for the core clock, "iface" for the interface clock and "bus" for the bus clock per the requirements of the compatible. - qcom,dload-mode: phandle to the TCSR hardware block and offset of the diff --git a/Documentation/devicetree/bindings/gpio/gpio-vf610.yaml b/Documentation/devicetree/bindings/gpio/gpio-vf610.yaml index e1359391d3..19738a457a 100644 --- a/Documentation/devicetree/bindings/gpio/gpio-vf610.yaml +++ b/Documentation/devicetree/bindings/gpio/gpio-vf610.yaml @@ -24,9 +24,6 @@ properties: - items: - const: fsl,imx7ulp-gpio - const: fsl,vf610-gpio - - items: - - const: fsl,imx8ulp-gpio - - const: fsl,imx7ulp-gpio reg: description: The first reg tuple represents the PORT module, the second tuple diff --git a/Documentation/devicetree/bindings/gpio/mstar,msc313-gpio.yaml b/Documentation/devicetree/bindings/gpio/mstar,msc313-gpio.yaml index 18fe90387b..fe1e1c63ff 100644 --- a/Documentation/devicetree/bindings/gpio/mstar,msc313-gpio.yaml +++ b/Documentation/devicetree/bindings/gpio/mstar,msc313-gpio.yaml @@ -14,9 +14,7 @@ properties: pattern: "^gpio@[0-9a-f]+$" compatible: - enum: - - mstar,msc313-gpio - - sstar,ssd20xd-gpio + const: mstar,msc313-gpio reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/gpio/rockchip,gpio-bank.yaml b/Documentation/devicetree/bindings/gpio/rockchip,gpio-bank.yaml index d4e42c2b99..0d62c28fb5 100644 --- a/Documentation/devicetree/bindings/gpio/rockchip,gpio-bank.yaml +++ b/Documentation/devicetree/bindings/gpio/rockchip,gpio-bank.yaml @@ -29,8 +29,6 @@ properties: gpio-controller: true - gpio-line-names: true - "#gpio-cells": const: 2 diff --git a/Documentation/devicetree/bindings/gpio/sifive,gpio.yaml b/Documentation/devicetree/bindings/gpio/sifive,gpio.yaml index 427c5873f9..c2902aac25 100644 --- a/Documentation/devicetree/bindings/gpio/sifive,gpio.yaml +++ b/Documentation/devicetree/bindings/gpio/sifive,gpio.yaml @@ -7,6 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: SiFive GPIO controller maintainers: + - Yash Shah - Paul Walmsley properties: @@ -76,8 +77,7 @@ examples: gpio@10060000 { compatible = "sifive,fu540-c000-gpio", "sifive,gpio0"; interrupt-parent = <&plic>; - interrupts = <7>, <8>, <9>, <10>, <11>, <12>, <13>, <14>, <15>, <16>, - <17>, <18>, <19>, <20>, <21>, <22>; + interrupts = <7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22>; reg = <0x10060000 0x1000>; clocks = <&tlclk PRCI_CLK_TLCLK>; gpio-controller; diff --git a/Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml b/Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml index b085450b52..9ad470e019 100644 --- a/Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml +++ b/Documentation/devicetree/bindings/gpio/toshiba,gpio-visconti.yaml @@ -43,6 +43,7 @@ required: - gpio-controller - interrupt-controller - "#interrupt-cells" + - interrupt-parent additionalProperties: false diff --git a/Documentation/devicetree/bindings/gpu/arm,mali-bifrost.yaml b/Documentation/devicetree/bindings/gpu/arm,mali-bifrost.yaml index 63a08f3f32..6f98dd55fb 100644 --- a/Documentation/devicetree/bindings/gpu/arm,mali-bifrost.yaml +++ b/Documentation/devicetree/bindings/gpu/arm,mali-bifrost.yaml @@ -19,7 +19,6 @@ properties: - amlogic,meson-g12a-mali - mediatek,mt8183-mali - realtek,rtd1619-mali - - renesas,r9a07g044-mali - rockchip,px30-mali - rockchip,rk3568-mali - const: arm,mali-bifrost # Mali Bifrost GPU model/revision is fully discoverable @@ -28,26 +27,19 @@ properties: maxItems: 1 interrupts: - minItems: 3 items: - description: Job interrupt - description: MMU interrupt - description: GPU interrupt - - description: Event interrupt interrupt-names: - minItems: 3 items: - const: job - const: mmu - const: gpu - - const: event clocks: - minItems: 1 - maxItems: 3 - - clock-names: true + maxItems: 1 mali-supply: true @@ -60,10 +52,7 @@ properties: maxItems: 3 resets: - minItems: 1 - maxItems: 3 - - reset-names: true + maxItems: 2 "#cooling-cells": const: 2 @@ -105,36 +94,6 @@ allOf: then: required: - resets - - if: - properties: - compatible: - contains: - const: renesas,r9a07g044-mali - then: - properties: - interrupts: - minItems: 4 - interrupt-names: - minItems: 4 - clocks: - minItems: 3 - clock-names: - items: - - const: gpu - - const: bus - - const: bus_ace - resets: - minItems: 3 - reset-names: - items: - - const: rst - - const: axi_rst - - const: ace_rst - required: - - clock-names - - power-domains - - resets - - reset-names - if: properties: compatible: diff --git a/Documentation/devicetree/bindings/hwlock/st,stm32-hwspinlock.yaml b/Documentation/devicetree/bindings/hwlock/st,stm32-hwspinlock.yaml index b18c616035..47cf9c8d97 100644 --- a/Documentation/devicetree/bindings/hwlock/st,stm32-hwspinlock.yaml +++ b/Documentation/devicetree/bindings/hwlock/st,stm32-hwspinlock.yaml @@ -7,7 +7,8 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 Hardware Spinlock bindings maintainers: - - Fabien Dessenne + - Benjamin Gaignard + - Fabien Dessenne properties: "#hwlock-cells": diff --git a/Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml b/Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml index 47af97bb4c..6f0443322a 100644 --- a/Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml +++ b/Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml @@ -26,7 +26,6 @@ properties: - ti,ina226 - ti,ina230 - ti,ina231 - - ti,ina238 reg: maxItems: 1 @@ -36,27 +35,6 @@ properties: Shunt resistor value in micro-Ohm. $ref: /schemas/types.yaml#/definitions/uint32 - ti,shunt-gain: - description: | - Programmable gain divisor for the shunt voltage accuracy and range. This - property only applies to devices that have configurable PGA/ADCRANGE. The - gain value is used configure the gain and to convert the shunt voltage, - current and power register values when reading measurements from the - device. - - For devices that have a configurable PGA (e.g. INA209, INA219, INA220), - the gain value maps directly with the PG bits of the config register. - - For devices that have ADCRANGE configuration (e.g. INA238) a shunt-gain - value of 1 maps to ADCRANGE=1 where no gain divisor is applied to the - shunt voltage, and a value of 4 maps to ADCRANGE=0 such that a wider - voltage range is used. - - The default value is device dependent, and is defined by the reset value - of PGA/ADCRANGE in the respective configuration registers. - $ref: /schemas/types.yaml#/definitions/uint32 - enum: [1, 2, 4, 8] - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/i2c/allwinner,sun6i-a31-p2wi.yaml b/Documentation/devicetree/bindings/i2c/allwinner,sun6i-a31-p2wi.yaml index 1b03810d4b..6097e8ac46 100644 --- a/Documentation/devicetree/bindings/i2c/allwinner,sun6i-a31-p2wi.yaml +++ b/Documentation/devicetree/bindings/i2c/allwinner,sun6i-a31-p2wi.yaml @@ -55,7 +55,7 @@ examples: #size-cells = <0>; axp221: pmic@68 { - /* compatible = "x-powers,axp221"; */ + compatible = "x-powers,axp221"; reg = <0x68>; }; }; diff --git a/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml b/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml index f597f73ccd..ea643e6c3e 100644 --- a/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/aspeed,i2c.yaml @@ -63,6 +63,7 @@ examples: i2c0: i2c-bus@40 { #address-cells = <1>; #size-cells = <0>; + #interrupt-cells = <1>; compatible = "aspeed,ast2500-i2c-bus"; reg = <0x40 0x40>; clocks = <&syscon ASPEED_CLK_APB>; diff --git a/Documentation/devicetree/bindings/i2c/google,cros-ec-i2c-tunnel.yaml b/Documentation/devicetree/bindings/i2c/google,cros-ec-i2c-tunnel.yaml index 6e1c70e927..b386e4128a 100644 --- a/Documentation/devicetree/bindings/i2c/google,cros-ec-i2c-tunnel.yaml +++ b/Documentation/devicetree/bindings/i2c/google,cros-ec-i2c-tunnel.yaml @@ -10,6 +10,7 @@ title: I2C bus that tunnels through the ChromeOS EC (cros-ec) maintainers: - Doug Anderson - Benson Leung + - Enric Balletbo i Serra description: | On some ChromeOS board designs we've got a connection to the EC diff --git a/Documentation/devicetree/bindings/i2c/i2c-gate.yaml b/Documentation/devicetree/bindings/i2c/i2c-gate.yaml index bd67b07665..66472f12a7 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-gate.yaml +++ b/Documentation/devicetree/bindings/i2c/i2c-gate.yaml @@ -31,7 +31,7 @@ examples: #address-cells = <1>; #size-cells = <0>; ak8975@c { - compatible = "asahi-kasei,ak8975"; + compatible = "ak,ak8975"; reg = <0x0c>; }; }; diff --git a/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml b/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml index 529bea56d3..29b9447f3b 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml +++ b/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml @@ -17,12 +17,9 @@ properties: oneOf: - enum: - fsl,imx7ulp-lpi2c + - fsl,imx8qm-lpi2c - items: - - enum: - - fsl,imx8qxp-lpi2c - - fsl,imx8dxl-lpi2c - - fsl,imx8qm-lpi2c - - fsl,imx8ulp-lpi2c + - const: fsl,imx8qxp-lpi2c - const: fsl,imx7ulp-lpi2c reg: diff --git a/Documentation/devicetree/bindings/i2c/i2c-imx.yaml b/Documentation/devicetree/bindings/i2c/i2c-imx.yaml index c167958ae2..3592d49235 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-imx.yaml +++ b/Documentation/devicetree/bindings/i2c/i2c-imx.yaml @@ -57,9 +57,7 @@ properties: const: ipg clock-frequency: - minimum: 1 - default: 100000 - maximum: 400000 + enum: [ 100000, 400000 ] dmas: items: diff --git a/Documentation/devicetree/bindings/i2c/ingenic,i2c.yaml b/Documentation/devicetree/bindings/i2c/ingenic,i2c.yaml index febde6cc5f..e1e65eb4f7 100644 --- a/Documentation/devicetree/bindings/i2c/ingenic,i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/ingenic,i2c.yaml @@ -60,7 +60,7 @@ unevaluatedProperties: false examples: - | - #include + #include #include #include i2c@10054000 { diff --git a/Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml b/Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml index 46b62e1c92..d747f4990a 100644 --- a/Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/st,stm32-i2c.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: I2C controller embedded in STMicroelectronics STM32 I2C platform maintainers: - - Pierre-Yves MORDRET + - Pierre-Yves MORDRET allOf: - $ref: /schemas/i2c/i2c-controller.yaml# @@ -112,9 +112,6 @@ examples: clocks = <&rcc 0 149>; }; - - | - #include - #include //Example 2 (with st,stm32f7-i2c compatible) i2c@40005800 { compatible = "st,stm32f7-i2c"; @@ -127,9 +124,6 @@ examples: clocks = <&rcc 1 CLK_I2C1>; }; - - | - #include - #include //Example 3 (with st,stm32mp15-i2c compatible on stm32mp) #include #include diff --git a/Documentation/devicetree/bindings/iio/accel/kionix,kxcjk1013.yaml b/Documentation/devicetree/bindings/iio/accel/kionix,kxcjk1013.yaml index 714e48e613..52fa0f7c2d 100644 --- a/Documentation/devicetree/bindings/iio/accel/kionix,kxcjk1013.yaml +++ b/Documentation/devicetree/bindings/iio/accel/kionix,kxcjk1013.yaml @@ -21,9 +21,6 @@ properties: reg: maxItems: 1 - interrupts: - maxItems: 1 - vdd-supply: true vddio-supply: true diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml index 0b10ed5f74..9b56bd4d55 100644 --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml @@ -26,43 +26,19 @@ properties: reg: maxItems: 1 - vrefin-supply: - description: - Buffered ADC reference voltage supply. - vref-supply: description: - Unbuffered ADC reference voltage supply. - - adi,internal-ref-microvolt: - description: | - Internal reference voltage selection in microvolts. - - If no internal reference is specified, the channel will default to the - external reference defined by vrefin-supply (or vref-supply). - vrefin-supply will take precedence over vref-supply if both are defined. - - If no supplies are defined, the reference selection will default to - 4096mV internal reference. - - enum: [2500000, 4096000] - default: 4096000 - + ADC reference voltage supply spi-max-frequency: true - '#io-channel-cells': + "#io-channel-cells": const: 1 - '#address-cells': - const: 1 - - '#size-cells': - const: 0 - required: - compatible - reg + - vref-supply additionalProperties: false @@ -73,30 +49,9 @@ examples: #size-cells = <0>; adc@0 { - #address-cells = <1>; - #size-cells = <0>; - compatible = "adi,ad7949"; reg = <0>; vref-supply = <&vdd_supply>; }; - - adc@1 { - #address-cells = <1>; - #size-cells = <0>; - - compatible = "adi,ad7949"; - reg = <1>; - vrefin-supply = <&vdd_supply>; - }; - - adc@2 { - #address-cells = <1>; - #size-cells = <0>; - - compatible = "adi,ad7949"; - reg = <2>; - adi,internal-ref-microvolt = <4096000>; - }; }; ... diff --git a/Documentation/devicetree/bindings/iio/adc/atmel,sama5d2-adc.yaml b/Documentation/devicetree/bindings/iio/adc/atmel,sama5d2-adc.yaml index efed361215..79c13b408e 100644 --- a/Documentation/devicetree/bindings/iio/adc/atmel,sama5d2-adc.yaml +++ b/Documentation/devicetree/bindings/iio/adc/atmel,sama5d2-adc.yaml @@ -15,7 +15,6 @@ properties: enum: - atmel,sama5d2-adc - microchip,sam9x60-adc - - microchip,sama7g5-adc reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/iio/adc/fsl,vf610-adc.yaml b/Documentation/devicetree/bindings/iio/adc/fsl,vf610-adc.yaml index 925f355cc2..1ca571056e 100644 --- a/Documentation/devicetree/bindings/iio/adc/fsl,vf610-adc.yaml +++ b/Documentation/devicetree/bindings/iio/adc/fsl,vf610-adc.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: ADC found on Freescale vf610 and similar SoCs maintainers: - - Haibo Chen + - Fugang Duan description: ADCs found on vf610/i.MX6slx and upward SoCs from Freescale. diff --git a/Documentation/devicetree/bindings/iio/adc/ingenic,adc.yaml b/Documentation/devicetree/bindings/iio/adc/ingenic,adc.yaml index 698beb896f..3eb7aa8822 100644 --- a/Documentation/devicetree/bindings/iio/adc/ingenic,adc.yaml +++ b/Documentation/devicetree/bindings/iio/adc/ingenic,adc.yaml @@ -74,7 +74,7 @@ additionalProperties: false examples: - | - #include + #include #include adc@10070000 { diff --git a/Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.yaml b/Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.yaml index 2287697f1f..a390343d0c 100644 --- a/Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.yaml +++ b/Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Device-Tree bindings for sigma delta modulator maintainers: - - Arnaud Pouliquen + - Arnaud Pouliquen properties: compatible: diff --git a/Documentation/devicetree/bindings/iio/adc/st,stm32-adc.yaml b/Documentation/devicetree/bindings/iio/adc/st,stm32-adc.yaml index 4d6074518b..a58334c3bb 100644 --- a/Documentation/devicetree/bindings/iio/adc/st,stm32-adc.yaml +++ b/Documentation/devicetree/bindings/iio/adc/st,stm32-adc.yaml @@ -19,7 +19,7 @@ description: | Each STM32 ADC block can have up to 3 ADC instances. maintainers: - - Fabrice Gasnier + - Fabrice Gasnier properties: compatible: @@ -222,12 +222,6 @@ patternProperties: '#io-channel-cells': const: 1 - '#address-cells': - const: 1 - - '#size-cells': - const: 0 - interrupts: description: | IRQ Line for the ADC instance. Valid values are: @@ -262,7 +256,6 @@ patternProperties: - 20 channels, numbered from 0 to 19 (for in0..in19) on stm32h7 and stm32mp1. $ref: /schemas/types.yaml#/definitions/uint32-array - deprecated: true st,adc-diff-channels: description: | @@ -272,9 +265,7 @@ patternProperties: , ,... vinp and vinn are numbered from 0 to 19. Note: At least one of "st,adc-channels" or "st,adc-diff-channels" is - required if no adc generic channel is defined. These legacy channel - properties are exclusive with adc generic channel bindings. - Both properties can be used together. Some channels can be + required. Both properties can be used together. Some channels can be used as single-ended and some other ones as differential (mixed). But channels can't be configured both as single-ended and differential. $ref: /schemas/types.yaml#/definitions/uint32-matrix @@ -288,7 +279,6 @@ patternProperties: "vinn" indicates negative input number minimum: 0 maximum: 19 - deprecated: true st,min-sample-time-nsecs: description: @@ -299,50 +289,6 @@ patternProperties: list, to set sample time resp. for all channels, or independently for each channel. $ref: /schemas/types.yaml#/definitions/uint32-array - deprecated: true - - nvmem-cells: - items: - - description: Phandle to the calibration vrefint data provided by otp - - nvmem-cell-names: - items: - - const: vrefint - - patternProperties: - "^channel@([0-9]|1[0-9])$": - type: object - $ref: "adc.yaml" - description: Represents the external channels which are connected to the ADC. - - properties: - reg: - items: - minimum: 0 - maximum: 19 - - label: - description: | - Unique name to identify which channel this is. - Reserved label names "vddcore", "vrefint" and "vbat" - are used to identify internal channels with matching names. - - diff-channels: - $ref: /schemas/types.yaml#/definitions/uint32-array - items: - minimum: 0 - maximum: 19 - - st,min-sample-time-ns: - description: | - Minimum sampling time in nanoseconds. Depending on hardware (board) - e.g. high/low analog input source impedance, fine tune of ADC - sampling time may be recommended. - - required: - - reg - - additionalProperties: false allOf: - if: @@ -423,6 +369,12 @@ patternProperties: additionalProperties: false + anyOf: + - required: + - st,adc-channels + - required: + - st,adc-diff-channels + required: - compatible - reg @@ -499,50 +451,4 @@ examples: // other adc child node follow... }; - - | - // Example 3: with stm32mp157c to setup ADC2 with: - // - internal channels 13, 14, 15. - #include - #include - adc122: adc@48003000 { - compatible = "st,stm32mp1-adc-core"; - reg = <0x48003000 0x400>; - interrupts = , - ; - clocks = <&rcc ADC12>, <&rcc ADC12_K>; - clock-names = "bus", "adc"; - booster-supply = <&booster>; - vdd-supply = <&vdd>; - vdda-supply = <&vdda>; - vref-supply = <&vref>; - st,syscfg = <&syscfg>; - interrupt-controller; - #interrupt-cells = <1>; - #address-cells = <1>; - #size-cells = <0>; - adc@100 { - compatible = "st,stm32mp1-adc"; - #io-channel-cells = <1>; - reg = <0x100>; - interrupts = <1>; - #address-cells = <1>; - #size-cells = <0>; - channel@13 { - reg = <13>; - label = "vrefint"; - st,min-sample-time-ns = <9000>; - }; - channel@14 { - reg = <14>; - label = "vddcore"; - st,min-sample-time-ns = <9000>; - }; - channel@15 { - reg = <15>; - label = "vbat"; - st,min-sample-time-ns = <9000>; - }; - }; - }; - ... diff --git a/Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml b/Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml index 7c260f2096..733351dee2 100644 --- a/Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml +++ b/Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.yaml @@ -7,8 +7,8 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 DFSDM ADC device driver maintainers: - - Fabrice Gasnier - - Olivier Moysan + - Fabrice Gasnier + - Olivier Moysan description: | STM32 DFSDM ADC is a sigma delta analog-to-digital converter dedicated to diff --git a/Documentation/devicetree/bindings/iio/adc/x-powers,axp209-adc.yaml b/Documentation/devicetree/bindings/iio/adc/x-powers,axp209-adc.yaml index d6d3d85901..e759a5da70 100644 --- a/Documentation/devicetree/bindings/iio/adc/x-powers,axp209-adc.yaml +++ b/Documentation/devicetree/bindings/iio/adc/x-powers,axp209-adc.yaml @@ -27,7 +27,6 @@ description: | 8 | batt_v 9 | batt_chrg_i 10 | batt_dischrg_i - 11 | ts_v AXP22x ------ @@ -35,7 +34,6 @@ description: | 1 | batt_v 2 | batt_chrg_i 3 | batt_dischrg_i - 4 | ts_v AXP813 ------ @@ -44,7 +42,6 @@ description: | 2 | batt_v 3 | batt_chrg_i 4 | batt_dischrg_i - 5 | ts_v properties: diff --git a/Documentation/devicetree/bindings/iio/dac/adi,ad5755.yaml b/Documentation/devicetree/bindings/iio/dac/adi,ad5755.yaml index f866b88e14..be419ac46c 100644 --- a/Documentation/devicetree/bindings/iio/dac/adi,ad5755.yaml +++ b/Documentation/devicetree/bindings/iio/dac/adi,ad5755.yaml @@ -125,6 +125,7 @@ oneOf: examples: - | + #include spi { #address-cells = <1>; #size-cells = <0>; diff --git a/Documentation/devicetree/bindings/iio/dac/st,stm32-dac.yaml b/Documentation/devicetree/bindings/iio/dac/st,stm32-dac.yaml index 6adeda4087..393f700594 100644 --- a/Documentation/devicetree/bindings/iio/dac/st,stm32-dac.yaml +++ b/Documentation/devicetree/bindings/iio/dac/st,stm32-dac.yaml @@ -15,7 +15,7 @@ description: | current. maintainers: - - Fabrice Gasnier + - Fabrice Gasnier properties: compatible: diff --git a/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml b/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml index d1a6103fc3..7e2accc3d5 100644 --- a/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml +++ b/Documentation/devicetree/bindings/iio/gyroscope/invensense,mpu3050.yaml @@ -61,7 +61,7 @@ examples: #size-cells = <0>; magnetometer@c { - compatible = "asahi-kasei,ak8975"; + compatible = "ak,ak8975"; reg = <0x0c>; }; }; diff --git a/Documentation/devicetree/bindings/iio/imu/invensense,mpu6050.yaml b/Documentation/devicetree/bindings/iio/imu/invensense,mpu6050.yaml index d69595a524..edbc2921aa 100644 --- a/Documentation/devicetree/bindings/iio/imu/invensense,mpu6050.yaml +++ b/Documentation/devicetree/bindings/iio/imu/invensense,mpu6050.yaml @@ -95,7 +95,7 @@ examples: #address-cells = <1>; #size-cells = <0>; magnetometer@c { - compatible = "asahi-kasei,ak8975"; + compatible = "ak,ak8975"; reg = <0x0c>; }; }; diff --git a/Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml b/Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml index 0750f700a1..d9b3213318 100644 --- a/Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml +++ b/Documentation/devicetree/bindings/iio/imu/st,lsm6dsx.yaml @@ -61,13 +61,6 @@ properties: type: boolean description: enable/disable internal i2c controller pullup resistors. - st,disable-sensor-hub: - type: boolean - description: - Enable/disable internal i2c controller slave autoprobing at bootstrap. - Disable sensor-hub is useful if i2c controller clock/data lines are - connected through a pull-up with other chip lines (e.g. SDO/SA0). - drive-open-drain: type: boolean description: diff --git a/Documentation/devicetree/bindings/iio/magnetometer/asahi-kasei,ak8975.yaml b/Documentation/devicetree/bindings/iio/magnetometer/asahi-kasei,ak8975.yaml index 9790f75fc6..a0a1ffe017 100644 --- a/Documentation/devicetree/bindings/iio/magnetometer/asahi-kasei,ak8975.yaml +++ b/Documentation/devicetree/bindings/iio/magnetometer/asahi-kasei,ak8975.yaml @@ -17,13 +17,11 @@ properties: - asahi-kasei,ak8963 - asahi-kasei,ak09911 - asahi-kasei,ak09912 - - asahi-kasei,ak09916 - enum: - ak8975 - ak8963 - ak09911 - ak09912 - - ak09916 deprecated: true reg: @@ -45,11 +43,6 @@ properties: an optional regulator that needs to be on to provide VDD power to the sensor. - vid-supply: - description: | - an optional regulator that needs to be on to provide VID power to - the sensor. - mount-matrix: description: an optional 3x3 mounting rotation matrix. diff --git a/Documentation/devicetree/bindings/iio/magnetometer/yamaha,yas530.yaml b/Documentation/devicetree/bindings/iio/magnetometer/yamaha,yas530.yaml index 9438fffaf0..4b0ef1ef54 100644 --- a/Documentation/devicetree/bindings/iio/magnetometer/yamaha,yas530.yaml +++ b/Documentation/devicetree/bindings/iio/magnetometer/yamaha,yas530.yaml @@ -96,7 +96,7 @@ examples: vdd-supply = <&ldo1_reg>; iovdd-supply = <&ldo2_reg>; reset-gpios = <&gpio6 12 GPIO_ACTIVE_LOW>; - interrupts = <13 IRQ_TYPE_EDGE_RISING>; + interrupts = <&gpio6 13 IRQ_TYPE_EDGE_RISING>; }; }; diff --git a/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.yaml b/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.yaml index 611ad4444c..870b043406 100644 --- a/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.yaml +++ b/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.yaml @@ -35,18 +35,9 @@ properties: mux-control-names: true channels: - $ref: /schemas/types.yaml#/definitions/non-unique-string-array + $ref: /schemas/types.yaml#/definitions/string-array description: - List of strings, labeling the mux controller states. An empty - string for a state means that the channel is not available. - - settle-time-us: - default: 0 - description: - Time required for analog signals to settle after muxing. - - "#io-channel-cells": - const: 1 + List of strings, labeling the mux controller states. required: - compatible diff --git a/Documentation/devicetree/bindings/iio/proximity/google,cros-ec-mkbp-proximity.yaml b/Documentation/devicetree/bindings/iio/proximity/google,cros-ec-mkbp-proximity.yaml index 00e3b59641..099b4be927 100644 --- a/Documentation/devicetree/bindings/iio/proximity/google,cros-ec-mkbp-proximity.yaml +++ b/Documentation/devicetree/bindings/iio/proximity/google,cros-ec-mkbp-proximity.yaml @@ -10,6 +10,7 @@ title: ChromeOS EC MKBP Proximity Sensor maintainers: - Stephen Boyd - Benson Leung + - Enric Balletbo i Serra description: | Google's ChromeOS EC sometimes has the ability to detect user proximity. diff --git a/Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml b/Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml index 722781aa46..0f79d9a01c 100644 --- a/Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml +++ b/Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml @@ -448,17 +448,17 @@ examples: reg = <20>; adi,sensor-type = <9>; //custom thermocouple adi,single-ended; - adi,custom-thermocouple = - /bits/ 64 <(-50220000) 0>, - /bits/ 64 <(-30200000) 99100000>, - /bits/ 64 <(-5300000) 135400000>, - /bits/ 64 <0 273150000>, - /bits/ 64 <40200000 361200000>, - /bits/ 64 <55300000 522100000>, - /bits/ 64 <88300000 720300000>, - /bits/ 64 <132200000 811200000>, - /bits/ 64 <188700000 922500000>, - /bits/ 64 <460400000 1000000000>; //10 pairs + adi,custom-thermocouple = /bits/ 64 + <(-50220000) 0>, + <(-30200000) 99100000>, + <(-5300000) 135400000>, + <0 273150000>, + <40200000 361200000>, + <55300000 522100000>, + <88300000 720300000>, + <132200000 811200000>, + <188700000 922500000>, + <460400000 1000000000>; //10 pairs }; }; diff --git a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml index e8f137abb0..5377b232fa 100644 --- a/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml +++ b/Documentation/devicetree/bindings/input/google,cros-ec-keyb.yaml @@ -10,6 +10,7 @@ title: ChromeOS EC Keyboard maintainers: - Simon Glass - Benson Leung + - Enric Balletbo i Serra description: | Google's ChromeOS EC Keyboard is a simple matrix keyboard diff --git a/Documentation/devicetree/bindings/input/gpio-keys.yaml b/Documentation/devicetree/bindings/input/gpio-keys.yaml index 7fe1966ea2..060a309ff8 100644 --- a/Documentation/devicetree/bindings/input/gpio-keys.yaml +++ b/Documentation/devicetree/bindings/input/gpio-keys.yaml @@ -88,6 +88,12 @@ patternProperties: which can be disabled to suppress events from the button. type: boolean + pinctrl-0: + maxItems: 1 + + pinctrl-names: + maxItems: 1 + required: - linux,code @@ -136,7 +142,7 @@ examples: down { label = "GPIO Key DOWN"; linux,code = <108>; - interrupts = <1 IRQ_TYPE_EDGE_FALLING>; + interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; }; }; diff --git a/Documentation/devicetree/bindings/interconnect/qcom,osm-l3.yaml b/Documentation/devicetree/bindings/interconnect/qcom,osm-l3.yaml index 116e434d0d..e701524ee8 100644 --- a/Documentation/devicetree/bindings/interconnect/qcom,osm-l3.yaml +++ b/Documentation/devicetree/bindings/interconnect/qcom,osm-l3.yaml @@ -18,7 +18,6 @@ properties: compatible: enum: - qcom,sc7180-osm-l3 - - qcom,sc7280-epss-l3 - qcom,sc8180x-osm-l3 - qcom,sdm845-osm-l3 - qcom,sm8150-osm-l3 diff --git a/Documentation/devicetree/bindings/interconnect/qcom,rpm.yaml b/Documentation/devicetree/bindings/interconnect/qcom,rpm.yaml index e4c3c28181..983d71fb53 100644 --- a/Documentation/devicetree/bindings/interconnect/qcom,rpm.yaml +++ b/Documentation/devicetree/bindings/interconnect/qcom,rpm.yaml @@ -27,37 +27,22 @@ properties: - qcom,msm8939-pcnoc - qcom,msm8939-snoc - qcom,msm8939-snoc-mm - - qcom,msm8996-a0noc - - qcom,msm8996-a1noc - - qcom,msm8996-a2noc - - qcom,msm8996-bimc - - qcom,msm8996-cnoc - - qcom,msm8996-mnoc - - qcom,msm8996-pnoc - - qcom,msm8996-snoc - qcom,qcs404-bimc - qcom,qcs404-pcnoc - qcom,qcs404-snoc - - qcom,sdm660-a2noc - - qcom,sdm660-bimc - - qcom,sdm660-cnoc - - qcom,sdm660-gnoc - - qcom,sdm660-mnoc - - qcom,sdm660-snoc '#interconnect-cells': const: 1 - clocks: - minItems: 2 - maxItems: 7 - clock-names: - minItems: 2 - maxItems: 7 + items: + - const: bus + - const: bus_a - power-domains: - maxItems: 1 + clocks: + items: + - description: Bus Clock + - description: Bus A Clock required: - compatible @@ -68,120 +53,6 @@ required: additionalProperties: false -allOf: - - if: - properties: - compatible: - contains: - enum: - - qcom,msm8916-bimc - - qcom,msm8916-pcnoc - - qcom,msm8916-snoc - - qcom,msm8939-bimc - - qcom,msm8939-pcnoc - - qcom,msm8939-snoc - - qcom,msm8939-snoc-mm - - qcom,msm8996-a1noc - - qcom,msm8996-a2noc - - qcom,msm8996-bimc - - qcom,msm8996-cnoc - - qcom,msm8996-pnoc - - qcom,msm8996-snoc - - qcom,qcs404-bimc - - qcom,qcs404-pcnoc - - qcom,qcs404-snoc - - qcom,sdm660-bimc - - qcom,sdm660-cnoc - - qcom,sdm660-gnoc - - qcom,sdm660-snoc - - then: - properties: - clock-names: - items: - - const: bus - - const: bus_a - - clocks: - items: - - description: Bus Clock - - description: Bus A Clock - - - if: - properties: - compatible: - contains: - enum: - - qcom,msm8996-mnoc - - qcom,sdm660-mnoc - - then: - properties: - clock-names: - items: - - const: bus - - const: bus_a - - const: iface - - clocks: - items: - - description: Bus Clock. - - description: Bus A Clock. - - description: CPU-NoC High-performance Bus Clock. - - - if: - properties: - compatible: - contains: - enum: - - qcom,msm8996-a0noc - - then: - properties: - clock-names: - items: - - const: aggre0_snoc_axi - - const: aggre0_cnoc_ahb - - const: aggre0_noc_mpu_cfg - - clocks: - items: - - description: Aggregate0 System NoC AXI Clock. - - description: Aggregate0 Config NoC AHB Clock. - - description: Aggregate0 NoC MPU Clock. - - required: - - power-domains - - - if: - properties: - compatible: - contains: - enum: - - qcom,sdm660-a2noc - - then: - properties: - clock-names: - items: - - const: bus - - const: bus_a - - const: ipa - - const: ufs_axi - - const: aggre2_ufs_axi - - const: aggre2_usb3_axi - - const: cfg_noc_usb2_axi - - clocks: - items: - - description: Bus Clock. - - description: Bus A Clock. - - description: IPA Clock. - - description: UFS AXI Clock. - - description: Aggregate2 UFS AXI Clock. - - description: Aggregate2 USB3 AXI Clock. - - description: Config NoC USB2 AXI Clock. - examples: - | #include diff --git a/Documentation/devicetree/bindings/interconnect/qcom,rpmh.yaml b/Documentation/devicetree/bindings/interconnect/qcom,rpmh.yaml index cbb24f9bb6..3fd1a13416 100644 --- a/Documentation/devicetree/bindings/interconnect/qcom,rpmh.yaml +++ b/Documentation/devicetree/bindings/interconnect/qcom,rpmh.yaml @@ -104,17 +104,6 @@ properties: - qcom,sm8350-mmss-noc - qcom,sm8350-compute-noc - qcom,sm8350-system-noc - - qcom,sm8450-aggre1-noc - - qcom,sm8450-aggre2-noc - - qcom,sm8450-clk-virt - - qcom,sm8450-config-noc - - qcom,sm8450-gem-noc - - qcom,sm8450-lpass-ag-noc - - qcom,sm8450-mc-virt - - qcom,sm8450-mmss-noc - - qcom,sm8450-nsp-noc - - qcom,sm8450-pcie-anoc - - qcom,sm8450-system-noc '#interconnect-cells': enum: [ 1, 2 ] diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml index 9735902470..cf6c091a07 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml +++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml @@ -65,9 +65,6 @@ properties: Specifies base physical address and size of the AIC registers. maxItems: 1 - power-domains: - maxItems: 1 - required: - compatible - '#interrupt-cells' diff --git a/Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml b/Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml index cfb3ec27bd..c84f9fe7f2 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml +++ b/Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml @@ -239,7 +239,6 @@ examples: }; }; - - | interrupt-controller@2c010000 { compatible = "arm,gic-v3"; #interrupt-cells = <4>; @@ -255,7 +254,7 @@ examples: <0x2c040000 0x2000>, // GICC <0x2c060000 0x2000>, // GICH <0x2c080000 0x2000>; // GICV - interrupts = <1 9 4 0>; + interrupts = <1 9 4>; msi-controller@2c200000 { compatible = "arm,gic-v3-its"; diff --git a/Documentation/devicetree/bindings/interrupt-controller/renesas,irqc.yaml b/Documentation/devicetree/bindings/interrupt-controller/renesas,irqc.yaml index 620f01775e..abb22db3bb 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/renesas,irqc.yaml +++ b/Documentation/devicetree/bindings/interrupt-controller/renesas,irqc.yaml @@ -27,7 +27,6 @@ properties: - renesas,intc-ex-r8a774a1 # RZ/G2M - renesas,intc-ex-r8a774b1 # RZ/G2N - renesas,intc-ex-r8a774c0 # RZ/G2E - - renesas,intc-ex-r8a774e1 # RZ/G2H - renesas,intc-ex-r8a7795 # R-Car H3 - renesas,intc-ex-r8a7796 # R-Car M3-W - renesas,intc-ex-r8a77961 # R-Car M3-W+ @@ -36,7 +35,6 @@ properties: - renesas,intc-ex-r8a77980 # R-Car V3H - renesas,intc-ex-r8a77990 # R-Car E3 - renesas,intc-ex-r8a77995 # R-Car D3 - - renesas,intc-ex-r8a779a0 # R-Car V3U - const: renesas,irqc '#interrupt-cells': diff --git a/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml b/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml index 27092c6a86..08d5a57ce0 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml +++ b/Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml @@ -35,10 +35,6 @@ description: contains a specific memory layout, which is documented in chapter 8 of the SiFive U5 Coreplex Series Manual . - The thead,c900-plic is different from sifive,plic-1.0.0 in opensbi, the - T-HEAD PLIC implementation requires setting a delegation bit to allow access - from S-mode. So add thead,c900-plic to distinguish them. - maintainers: - Sagar Kadam - Paul Walmsley @@ -46,17 +42,11 @@ maintainers: properties: compatible: - oneOf: - - items: - - enum: - - sifive,fu540-c000-plic - - starfive,jh7100-plic - - canaan,k210-plic - - const: sifive,plic-1.0.0 - - items: - - enum: - - allwinner,sun20i-d1-plic - - const: thead,c900-plic + items: + - enum: + - sifive,fu540-c000-plic + - canaan,k210-plic + - const: sifive,plic-1.0.0 reg: maxItems: 1 @@ -71,7 +61,6 @@ properties: interrupts-extended: minItems: 1 - maxItems: 15872 description: Specifies which contexts are connected to the PLIC, with "-1" specifying that a context is not present. Each node pointed to should be a @@ -100,11 +89,12 @@ examples: #interrupt-cells = <1>; compatible = "sifive,fu540-c000-plic", "sifive,plic-1.0.0"; interrupt-controller; - interrupts-extended = <&cpu0_intc 11>, - <&cpu1_intc 11>, <&cpu1_intc 9>, - <&cpu2_intc 11>, <&cpu2_intc 9>, - <&cpu3_intc 11>, <&cpu3_intc 9>, - <&cpu4_intc 11>, <&cpu4_intc 9>; + interrupts-extended = < + &cpu0_intc 11 + &cpu1_intc 11 &cpu1_intc 9 + &cpu2_intc 11 &cpu2_intc 9 + &cpu3_intc 11 &cpu3_intc 9 + &cpu4_intc 11 &cpu4_intc 9>; reg = <0xc000000 0x4000000>; riscv,ndev = <10>; }; diff --git a/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.yaml b/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.yaml index d19c881b4a..6d3e68eb2e 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.yaml +++ b/Documentation/devicetree/bindings/interrupt-controller/st,stm32-exti.yaml @@ -7,8 +7,8 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STM32 External Interrupt Controller Device Tree Bindings maintainers: - - Alexandre Torgue - - Ludovic Barre + - Alexandre Torgue + - Ludovic Barre properties: compatible: diff --git a/Documentation/devicetree/bindings/iommu/apple,dart.yaml b/Documentation/devicetree/bindings/iommu/apple,dart.yaml index 82ad669fee..94aa9e9afa 100644 --- a/Documentation/devicetree/bindings/iommu/apple,dart.yaml +++ b/Documentation/devicetree/bindings/iommu/apple,dart.yaml @@ -41,9 +41,6 @@ properties: Has to be one. The single cell describes the stream id emitted by a master to the IOMMU. - power-domains: - maxItems: 1 - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml index da5381c8ee..03f2b2d4db 100644 --- a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml @@ -33,17 +33,13 @@ properties: - description: Qcom SoCs implementing "arm,mmu-500" items: - enum: - - qcom,qcm2290-smmu-500 - qcom,sc7180-smmu-500 - qcom,sc7280-smmu-500 - qcom,sc8180x-smmu-500 - qcom,sdm845-smmu-500 - - qcom,sdx55-smmu-500 - - qcom,sm6350-smmu-500 - qcom,sm8150-smmu-500 - qcom,sm8250-smmu-500 - qcom,sm8350-smmu-500 - - qcom,sm8450-smmu-500 - const: arm,mmu-500 - description: Qcom Adreno GPUs implementing "arm,smmu-v2" items: diff --git a/Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.yaml b/Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.yaml index ce0c715205..02c69a95c3 100644 --- a/Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.yaml +++ b/Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.yaml @@ -43,7 +43,6 @@ properties: - renesas,ipmmu-r8a77980 # R-Car V3H - renesas,ipmmu-r8a77990 # R-Car E3 - renesas,ipmmu-r8a77995 # R-Car D3 - - renesas,ipmmu-r8a779a0 # R-Car V3U reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-ibt-bmc.txt b/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-ibt-bmc.txt index 25f86da804..028268fd99 100644 --- a/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-ibt-bmc.txt +++ b/Documentation/devicetree/bindings/ipmi/aspeed,ast2400-ibt-bmc.txt @@ -9,9 +9,7 @@ Required properties: - compatible : should be one of "aspeed,ast2400-ibt-bmc" "aspeed,ast2500-ibt-bmc" - "aspeed,ast2600-ibt-bmc" - reg: physical address and size of the registers -- clocks: clock for the device Optional properties: @@ -24,5 +22,4 @@ Example: compatible = "aspeed,ast2400-ibt-bmc"; reg = <0x1e789140 0x18>; interrupts = <8>; - clocks = <&syscon ASPEED_CLK_GATE_LCLK>; }; diff --git a/Documentation/devicetree/bindings/mailbox/fsl,mu.yaml b/Documentation/devicetree/bindings/mailbox/fsl,mu.yaml index a337bcd80c..675ad9de15 100644 --- a/Documentation/devicetree/bindings/mailbox/fsl,mu.yaml +++ b/Documentation/devicetree/bindings/mailbox/fsl,mu.yaml @@ -28,7 +28,6 @@ properties: - const: fsl,imx7ulp-mu - const: fsl,imx8ulp-mu - const: fsl,imx8-mu-scu - - const: fsl,imx8ulp-mu-s4 - items: - enum: - fsl,imx7s-mu diff --git a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt index 98fe37e8b1..89a59b9c81 100644 --- a/Documentation/devicetree/bindings/mailbox/mtk-gce.txt +++ b/Documentation/devicetree/bindings/mailbox/mtk-gce.txt @@ -40,8 +40,8 @@ Optional properties for a client mutex node: defined in 'dt-bindings/gce/-gce.h'. Some vaules of properties are defined in 'dt-bindings/gce/mt8173-gce.h', -'dt-bindings/gce/mt8183-gce.h', 'dt-bindings/gce/mt8192-gce.h', -'dt-bindings/gce/mt8195-gce.h' or 'dt-bindings/gce/mt6779-gce.h'. +'dt-binding/gce/mt8183-gce.h', 'dt-binding/gce/mt8192-gce.h', +'dt-binding/gce/mt8195-gce.h' or 'dt-bindings/gce/mt6779-gce.h'. Such as sub-system ids, thread priority, event ids. Example: diff --git a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml index 01e9d9155c..6395281b0c 100644 --- a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml +++ b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml @@ -11,7 +11,7 @@ description: platforms. maintainers: - - Jassi Brar + - Sivaprakash Murugesan properties: compatible: @@ -24,7 +24,6 @@ properties: - qcom,msm8994-apcs-kpss-global - qcom,msm8996-apcs-hmss-global - qcom,msm8998-apcs-hmss-global - - qcom,qcm2290-apcs-hmss-global - qcom,qcs404-apcs-apps-global - qcom,sc7180-apss-shared - qcom,sc8180x-apss-shared diff --git a/Documentation/devicetree/bindings/mailbox/st,stm32-ipcc.yaml b/Documentation/devicetree/bindings/mailbox/st,stm32-ipcc.yaml index 8eb4bf52ea..b15da9ba90 100644 --- a/Documentation/devicetree/bindings/mailbox/st,stm32-ipcc.yaml +++ b/Documentation/devicetree/bindings/mailbox/st,stm32-ipcc.yaml @@ -13,8 +13,8 @@ description: channels (N) can be read from a dedicated register. maintainers: - - Fabien Dessenne - - Arnaud Pouliquen + - Fabien Dessenne + - Arnaud Pouliquen properties: compatible: diff --git a/Documentation/devicetree/bindings/mailbox/ti,omap-mailbox.yaml b/Documentation/devicetree/bindings/mailbox/ti,omap-mailbox.yaml index d433e496ec..e864d79816 100644 --- a/Documentation/devicetree/bindings/mailbox/ti,omap-mailbox.yaml +++ b/Documentation/devicetree/bindings/mailbox/ti,omap-mailbox.yaml @@ -175,6 +175,15 @@ required: - ti,mbox-num-fifos allOf: + - if: + properties: + compatible: + enum: + - ti,am654-mailbox + then: + required: + - interrupt-parent + - if: properties: compatible: diff --git a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml index c3de96d103..c34303b87a 100644 --- a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml +++ b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml @@ -20,7 +20,6 @@ properties: - allwinner,sun8i-h3-video-engine - allwinner,sun8i-v3s-video-engine - allwinner,sun8i-r40-video-engine - - allwinner,sun20i-d1-video-engine - allwinner,sun50i-a64-video-engine - allwinner,sun50i-h5-video-engine - allwinner,sun50i-h6-video-engine diff --git a/Documentation/devicetree/bindings/media/i2c/adv7604.yaml b/Documentation/devicetree/bindings/media/i2c/adv7604.yaml index c19d8391e2..de15cebe29 100644 --- a/Documentation/devicetree/bindings/media/i2c/adv7604.yaml +++ b/Documentation/devicetree/bindings/media/i2c/adv7604.yaml @@ -4,24 +4,23 @@ $id: http://devicetree.org/schemas/media/i2c/adv7604.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Analog Devices ADV7604/10/11/12 video decoder with HDMI receiver +title: Analog Devices ADV7604/11/12 video decoder with HDMI receiver maintainers: - Hans Verkuil description: - The ADV7604 and ADV7610/11/12 are multiformat video decoders with - an integrated HDMI receiver. The ADV7604 has four multiplexed HDMI inputs - and one analog input, and the ADV7610/11 have one HDMI input and no analog - input. The ADV7612 is similar to the ADV7610/11 but has 2 HDMI inputs. + The ADV7604 and ADV7611/12 are multiformat video decoders with an integrated + HDMI receiver. The ADV7604 has four multiplexed HDMI inputs and one analog + input, and the ADV7611 has one HDMI input and no analog input. The 7612 is + similar to the 7611 but has 2 HDMI inputs. - These device tree bindings support the ADV7610/11/12 only at the moment. + These device tree bindings support the ADV7611/12 only at the moment. properties: compatible: items: - enum: - - adi,adv7610 - adi,adv7611 - adi,adv7612 diff --git a/Documentation/devicetree/bindings/media/mediatek-vcodec.txt b/Documentation/devicetree/bindings/media/mediatek-vcodec.txt index 665a950870..ad1321e5a2 100644 --- a/Documentation/devicetree/bindings/media/mediatek-vcodec.txt +++ b/Documentation/devicetree/bindings/media/mediatek-vcodec.txt @@ -10,8 +10,6 @@ Required properties: "mediatek,mt8183-vcodec-enc" for MT8183 encoder. "mediatek,mt8173-vcodec-dec" for MT8173 decoder. "mediatek,mt8192-vcodec-enc" for MT8192 encoder. - "mediatek,mt8183-vcodec-dec" for MT8183 decoder. - "mediatek,mt8195-vcodec-enc" for MT8195 encoder. - reg : Physical base address of the video codec registers and length of memory mapped region. - interrupts : interrupt number to the cpu. diff --git a/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml b/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml index e2e6e9aa0f..1ef849dc74 100644 --- a/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml +++ b/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml @@ -81,12 +81,14 @@ properties: data-lanes: description: Note that 'fsl,imx7-mipi-csi2' only supports up to 2 data lines. - minItems: 1 items: - - const: 1 - - const: 2 - - const: 3 - - const: 4 + minItems: 1 + maxItems: 4 + items: + - const: 1 + - const: 2 + - const: 3 + - const: 4 required: - data-lanes diff --git a/Documentation/devicetree/bindings/media/nxp,imx8mq-mipi-csi2.yaml b/Documentation/devicetree/bindings/media/nxp,imx8mq-mipi-csi2.yaml index 1b3e1c4b99..9c04fa85ee 100644 --- a/Documentation/devicetree/bindings/media/nxp,imx8mq-mipi-csi2.yaml +++ b/Documentation/devicetree/bindings/media/nxp,imx8mq-mipi-csi2.yaml @@ -87,12 +87,14 @@ properties: properties: data-lanes: - minItems: 1 items: - - const: 1 - - const: 2 - - const: 3 - - const: 4 + minItems: 1 + maxItems: 4 + items: + - const: 1 + - const: 2 + - const: 3 + - const: 4 required: - data-lanes diff --git a/Documentation/devicetree/bindings/media/renesas,csi2.yaml b/Documentation/devicetree/bindings/media/renesas,csi2.yaml index e6a0367210..23703b767f 100644 --- a/Documentation/devicetree/bindings/media/renesas,csi2.yaml +++ b/Documentation/devicetree/bindings/media/renesas,csi2.yaml @@ -30,7 +30,6 @@ properties: - renesas,r8a77970-csi2 # R-Car V3M - renesas,r8a77980-csi2 # R-Car V3H - renesas,r8a77990-csi2 # R-Car E3 - - renesas,r8a779a0-csi2 # R-Car V3U reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/media/rockchip-isp1.yaml b/Documentation/devicetree/bindings/media/rockchip-isp1.yaml index d1489b1773..a6b1eff879 100644 --- a/Documentation/devicetree/bindings/media/rockchip-isp1.yaml +++ b/Documentation/devicetree/bindings/media/rockchip-isp1.yaml @@ -15,22 +15,13 @@ description: | properties: compatible: - enum: - - rockchip,px30-cif-isp - - rockchip,rk3399-cif-isp + const: rockchip,rk3399-cif-isp reg: maxItems: 1 interrupts: - minItems: 1 - maxItems: 3 - - interrupt-names: - items: - - const: isp - - const: mi - - const: mipi + maxItems: 1 clocks: minItems: 3 @@ -50,7 +41,7 @@ properties: - const: aclk - const: hclk # only for isp1 - - const: pclk + - const: pclk_isp iommus: maxItems: 1 @@ -99,29 +90,19 @@ required: - power-domains - ports -allOf: - - if: - properties: - compatible: - contains: - const: rockchip,rk3399-cif-isp - then: - properties: - clocks: - minItems: 3 - maxItems: 4 - clock-names: - minItems: 3 - maxItems: 4 - - - if: - properties: - compatible: - contains: - const: rockchip,px30-cif-isp - then: - required: - - interrupt-names +if: + properties: + compatible: + contains: + const: rockchip,rk3399-cif-isp +then: + properties: + clocks: + minItems: 3 + maxItems: 4 + clock-names: + minItems: 3 + maxItems: 4 additionalProperties: false @@ -202,66 +183,3 @@ examples: }; }; }; - - - | - - #include - #include - - parent1: parent { - #address-cells = <2>; - #size-cells = <2>; - - isp: isp@ff4a0000 { - compatible = "rockchip,px30-cif-isp"; - reg = <0x0 0xff4a0000 0x0 0x8000>; - interrupts = , - , - ; - interrupt-names = "isp", "mi", "mipi"; - clocks = <&cru SCLK_ISP0>, - <&cru ACLK_ISP0_WRAPPER>, - <&cru HCLK_ISP0_WRAPPER>, - <&cru PCLK_ISP1_WRAPPER>; - clock-names = "isp", "aclk", "hclk", "pclk"; - iommus = <&isp_mmu>; - phys = <&csi_dphy>; - phy-names = "dphy"; - power-domains = <&power PX30_PD_VI>; - - ports { - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - reg = <0>; - #address-cells = <1>; - #size-cells = <0>; - - mipi_in_ucam1: endpoint@0 { - reg = <0>; - remote-endpoint = <&ucam1_out>; - data-lanes = <1 2>; - }; - }; - }; - }; - - i2c2: i2c { - #address-cells = <1>; - #size-cells = <0>; - - ov5695: camera@36 { - compatible = "ovti,ov5647"; - reg = <0x36>; - clocks = <&cru SCLK_CIF_OUT>; - - port { - ucam1_out: endpoint { - remote-endpoint = <&mipi_in_ucam1>; - data-lanes = <1 2>; - }; - }; - }; - }; - }; diff --git a/Documentation/devicetree/bindings/media/st,stm32-cec.yaml b/Documentation/devicetree/bindings/media/st,stm32-cec.yaml index 77144cc6f7..d75019c093 100644 --- a/Documentation/devicetree/bindings/media/st,stm32-cec.yaml +++ b/Documentation/devicetree/bindings/media/st,stm32-cec.yaml @@ -7,7 +7,8 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 CEC bindings maintainers: - - Yannick Fertre + - Benjamin Gaignard + - Yannick Fertre properties: compatible: diff --git a/Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml b/Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml index 9c1262a276..41e1d0cd80 100644 --- a/Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml +++ b/Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 Digital Camera Memory Interface (DCMI) binding maintainers: - - Hugues Fruchet + - Hugues Fruchet properties: compatible: diff --git a/Documentation/devicetree/bindings/media/ti,cal.yaml b/Documentation/devicetree/bindings/media/ti,cal.yaml index 66c5d392fa..65177cd695 100644 --- a/Documentation/devicetree/bindings/media/ti,cal.yaml +++ b/Documentation/devicetree/bindings/media/ti,cal.yaml @@ -154,9 +154,7 @@ examples: camera-sensor@3c { compatible = "ovti,ov5640"; reg = <0x3c>; - AVDD-supply = <®_2p8v>; - DOVDD-supply = <®_1p8v>; - DVDD-supply = <®_1p5v>; + clocks = <&clk_ov5640_fixed>; clock-names = "xclk"; diff --git a/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml b/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml index 24f9e19820..fe0ce191a8 100644 --- a/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.yaml @@ -84,7 +84,7 @@ additionalProperties: false examples: - | - #include + #include #include nemc: memory-controller@13410000 { compatible = "ingenic,jz4780-nemc"; diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml index 3a82b0b27f..e87e438280 100644 --- a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml @@ -16,7 +16,7 @@ description: | MediaTek SMI have two generations of HW architecture, here is the list which generation the SoCs use: generation 1: mt2701 and mt7623. - generation 2: mt2712, mt6779, mt8167, mt8173, mt8183, mt8192 and mt8195. + generation 2: mt2712, mt6779, mt8167, mt8173, mt8183 and mt8192. There's slight differences between the two SMI, for generation 2, the register which control the iommu port is at each larb's register base. But @@ -36,9 +36,6 @@ properties: - mediatek,mt8173-smi-common - mediatek,mt8183-smi-common - mediatek,mt8192-smi-common - - mediatek,mt8195-smi-common-vdo - - mediatek,mt8195-smi-common-vpp - - mediatek,mt8195-smi-sub-common - description: for mt7623 items: @@ -68,10 +65,6 @@ properties: minItems: 2 maxItems: 4 - mediatek,smi: - $ref: /schemas/types.yaml#/definitions/phandle - description: a phandle to the smi-common node above. Only for sub-common. - required: - compatible - reg @@ -98,29 +91,6 @@ allOf: - const: smi - const: async - - if: # only for sub common - properties: - compatible: - contains: - enum: - - mediatek,mt8195-smi-sub-common - then: - required: - - mediatek,smi - properties: - clock: - items: - minItems: 3 - maxItems: 3 - clock-names: - items: - - const: apb - - const: smi - - const: gals0 - else: - properties: - mediatek,smi: false - - if: # for gen2 HW that have gals properties: compatible: @@ -128,8 +98,6 @@ allOf: - mediatek,mt6779-smi-common - mediatek,mt8183-smi-common - mediatek,mt8192-smi-common - - mediatek,mt8195-smi-common-vdo - - mediatek,mt8195-smi-common-vpp then: properties: diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml index eaeff1ada7..2353f6cf3c 100644 --- a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml @@ -24,7 +24,6 @@ properties: - mediatek,mt8173-smi-larb - mediatek,mt8183-smi-larb - mediatek,mt8192-smi-larb - - mediatek,mt8195-smi-larb - description: for mt7623 items: @@ -75,7 +74,6 @@ allOf: compatible: enum: - mediatek,mt8183-smi-larb - - mediatek,mt8195-smi-larb then: properties: @@ -110,7 +108,6 @@ allOf: - mediatek,mt6779-smi-larb - mediatek,mt8167-smi-larb - mediatek,mt8192-smi-larb - - mediatek,mt8195-smi-larb then: required: diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra186-mc.yaml b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra186-mc.yaml index 13c4c82fd0..611bda38d1 100644 --- a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra186-mc.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra186-mc.yaml @@ -31,15 +31,12 @@ properties: - enum: - nvidia,tegra186-mc - nvidia,tegra194-mc - - nvidia,tegra234-mc reg: - minItems: 1 - maxItems: 3 + maxItems: 1 interrupts: - items: - - description: MC general interrupt + maxItems: 1 "#address-cells": const: 2 @@ -51,9 +48,6 @@ properties: dma-ranges: true - "#interconnect-cells": - const: 1 - patternProperties: "^external-memory-controller@[0-9a-f]+$": description: @@ -69,15 +63,12 @@ patternProperties: - enum: - nvidia,tegra186-emc - nvidia,tegra194-emc - - nvidia,tegra234-emc reg: - minItems: 1 - maxItems: 2 + maxItems: 1 interrupts: - items: - - description: EMC general interrupt + maxItems: 1 clocks: items: @@ -87,83 +78,11 @@ patternProperties: items: - const: emc - "#interconnect-cells": - const: 0 - nvidia,bpmp: $ref: /schemas/types.yaml#/definitions/phandle description: phandle of the node representing the BPMP - allOf: - - if: - properties: - compatible: - const: nvidia,tegra186-emc - then: - properties: - reg: - maxItems: 1 - - - if: - properties: - compatible: - const: nvidia,tegra194-emc - then: - properties: - reg: - minItems: 2 - - - if: - properties: - compatible: - const: nvidia,tegra234-emc - then: - properties: - reg: - minItems: 2 - - additionalProperties: false - - required: - - compatible - - reg - - interrupts - - clocks - - clock-names - - "#interconnect-cells" - - nvidia,bpmp - -allOf: - - if: - properties: - compatible: - const: nvidia,tegra186-mc - then: - properties: - reg: - maxItems: 1 - - - if: - properties: - compatible: - const: nvidia,tegra194-mc - then: - properties: - reg: - minItems: 3 - - - if: - properties: - compatible: - const: nvidia,tegra234-mc - then: - properties: - reg: - minItems: 3 - -additionalProperties: false - required: - compatible - reg @@ -171,6 +90,8 @@ required: - "#address-cells" - "#size-cells" +additionalProperties: false + examples: - | #include @@ -203,9 +124,12 @@ examples: clocks = <&bpmp TEGRA186_CLK_EMC>; clock-names = "emc"; - #interconnect-cells = <0>; - nvidia,bpmp = <&bpmp>; }; }; }; + + bpmp: bpmp { + compatible = "nvidia,tegra186-bpmp"; + #clock-cells = <1>; + }; diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra20-emc.yaml b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra20-emc.yaml index 2fa44951cf..cac6842dc8 100644 --- a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra20-emc.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra20-emc.yaml @@ -164,20 +164,12 @@ patternProperties: "#size-cells": const: 0 - lpddr2: - $ref: "ddr/jedec,lpddr2.yaml#" - type: object - patternProperties: "^emc-table@[0-9]+$": $ref: "#/$defs/emc-table" - oneOf: - - required: - - nvidia,ram-code - - - required: - - lpddr2 + required: + - nvidia,ram-code additionalProperties: false @@ -235,15 +227,4 @@ examples: 0x00000000 0x00000000 0x00000000 0x00000000>; }; }; - - emc-tables@1 { - reg = <1>; - - lpddr2 { - compatible = "elpida,B8132B2PB-6D-F", "jedec,lpddr2-s4"; - revision-id1 = <1>; - density = <2048>; - io-width = <16>; - }; - }; }; diff --git a/Documentation/devicetree/bindings/memory-controllers/renesas,rpc-if.yaml b/Documentation/devicetree/bindings/memory-controllers/renesas,rpc-if.yaml index 294f103642..d25072c414 100644 --- a/Documentation/devicetree/bindings/memory-controllers/renesas,rpc-if.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/renesas,rpc-if.yaml @@ -24,23 +24,16 @@ allOf: properties: compatible: - oneOf: - - items: - - enum: - - renesas,r8a774a1-rpc-if # RZ/G2M - - renesas,r8a774b1-rpc-if # RZ/G2N - - renesas,r8a774c0-rpc-if # RZ/G2E - - renesas,r8a774e1-rpc-if # RZ/G2H - - renesas,r8a77970-rpc-if # R-Car V3M - - renesas,r8a77980-rpc-if # R-Car V3H - - renesas,r8a77995-rpc-if # R-Car D3 - - renesas,r8a779a0-rpc-if # R-Car V3U - - const: renesas,rcar-gen3-rpc-if # a generic R-Car gen3 or RZ/G2{E,H,M,N} device - - - items: - - enum: - - renesas,r9a07g044-rpc-if # RZ/G2{L,LC} - - const: renesas,rzg2l-rpc-if # RZ/G2L family + items: + - enum: + - renesas,r8a774a1-rpc-if # RZ/G2M + - renesas,r8a774b1-rpc-if # RZ/G2N + - renesas,r8a774c0-rpc-if # RZ/G2E + - renesas,r8a774e1-rpc-if # RZ/G2H + - renesas,r8a77970-rpc-if # R-Car V3M + - renesas,r8a77980-rpc-if # R-Car V3H + - renesas,r8a77995-rpc-if # R-Car D3 + - const: renesas,rcar-gen3-rpc-if # a generic R-Car gen3 or RZ/G2 device reg: items: @@ -54,9 +47,7 @@ properties: - const: dirmap - const: wbuf - clocks: true - - interrupts: + clocks: maxItems: 1 power-domains: @@ -75,6 +66,8 @@ patternProperties: - cfi-flash - jedec,spi-nor +unevaluatedProperties: false + required: - compatible - reg @@ -85,26 +78,6 @@ required: - '#address-cells' - '#size-cells' -if: - properties: - compatible: - contains: - enum: - - renesas,rzg2l-rpc-if -then: - properties: - clocks: - items: - - description: SPI Multi IO Register access clock (SPI_CLK2) - - description: SPI Multi IO Main clock (SPI_CLK). - -else: - properties: - clocks: - maxItems: 1 - -unevaluatedProperties: false - examples: - | #include diff --git a/Documentation/devicetree/bindings/memory-controllers/samsung,exynos5422-dmc.yaml b/Documentation/devicetree/bindings/memory-controllers/samsung,exynos5422-dmc.yaml index fe8639dcff..6f4fd5814b 100644 --- a/Documentation/devicetree/bindings/memory-controllers/samsung,exynos5422-dmc.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/samsung,exynos5422-dmc.yaml @@ -51,8 +51,7 @@ properties: $ref: '/schemas/types.yaml#/definitions/phandle' description: | phandle of the connected DRAM memory device. For more information please - refer to documentation file: - Documentation/devicetree/bindings/memory-controllers/ddr/lpddr3.txt + refer to documentation file: Documentation/devicetree/bindings/ddr/lpddr3.txt operating-points-v2: true diff --git a/Documentation/devicetree/bindings/memory-controllers/st,stm32-fmc2-ebi.yaml b/Documentation/devicetree/bindings/memory-controllers/st,stm32-fmc2-ebi.yaml index 6b516d3895..cba7420584 100644 --- a/Documentation/devicetree/bindings/memory-controllers/st,stm32-fmc2-ebi.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/st,stm32-fmc2-ebi.yaml @@ -19,7 +19,7 @@ description: | Select. The FMC2 performs only one access at a time to an external device. maintainers: - - Christophe Kerello + - Christophe Kerello properties: compatible: diff --git a/Documentation/devicetree/bindings/memory-controllers/synopsys,ddrc-ecc.yaml b/Documentation/devicetree/bindings/memory-controllers/synopsys,ddrc-ecc.yaml index fb7ae38a9c..a245884746 100644 --- a/Documentation/devicetree/bindings/memory-controllers/synopsys,ddrc-ecc.yaml +++ b/Documentation/devicetree/bindings/memory-controllers/synopsys,ddrc-ecc.yaml @@ -26,7 +26,6 @@ properties: enum: - xlnx,zynq-ddrc-a05 - xlnx,zynqmp-ddrc-2.40a - - snps,ddrc-3.80a interrupts: maxItems: 1 diff --git a/Documentation/devicetree/bindings/mfd/brcm,cru.yaml b/Documentation/devicetree/bindings/mfd/brcm,cru.yaml index be4a2df71c..28ac60acf4 100644 --- a/Documentation/devicetree/bindings/mfd/brcm,cru.yaml +++ b/Documentation/devicetree/bindings/mfd/brcm,cru.yaml @@ -36,15 +36,9 @@ patternProperties: '^clock-controller@[a-f0-9]+$': $ref: ../clock/brcm,iproc-clocks.yaml - '^phy@[a-f0-9]+$': - $ref: ../phy/bcm-ns-usb2-phy.yaml - '^pin-controller@[a-f0-9]+$': $ref: ../pinctrl/brcm,ns-pinmux.yaml - '^syscon@[a-f0-9]+$': - $ref: syscon.yaml - '^thermal@[a-f0-9]+$': $ref: ../thermal/brcm,ns-thermal.yaml @@ -55,7 +49,6 @@ required: examples: - | - #include cru-bus@1800c100 { compatible = "brcm,ns-cru", "simple-mfd"; reg = <0x1800c100 0x1d0>; @@ -80,20 +73,6 @@ examples: "iprocfast", "sata1", "sata2"; }; - phy@164 { - compatible = "brcm,ns-usb2-phy"; - reg = <0x164 0x4>; - brcm,syscon-clkset = <&clkset>; - clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>; - clock-names = "phy-ref-clk"; - #phy-cells = <0>; - }; - - clkset: syscon@180 { - compatible = "brcm,cru-clkset", "syscon"; - reg = <0x180 0x4>; - }; - pin-controller@1c0 { compatible = "brcm,bcm4708-pinmux"; reg = <0x1c0 0x24>; diff --git a/Documentation/devicetree/bindings/mfd/cirrus,madera.yaml b/Documentation/devicetree/bindings/mfd/cirrus,madera.yaml index 68c75a517c..499c62c04d 100644 --- a/Documentation/devicetree/bindings/mfd/cirrus,madera.yaml +++ b/Documentation/devicetree/bindings/mfd/cirrus,madera.yaml @@ -221,6 +221,7 @@ required: - '#gpio-cells' - interrupt-controller - '#interrupt-cells' + - interrupt-parent - interrupts - AVDD-supply - DBVDD1-supply @@ -245,7 +246,8 @@ examples: interrupt-controller; #interrupt-cells = <2>; - interrupts = <4 1 0>; + interrupts = <&host_irq1>; + interrupt-parent = <&gic>; gpio-controller; #gpio-cells = <2>; diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml index d1f53bd449..d793dd0316 100644 --- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml +++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml @@ -8,6 +8,7 @@ title: ChromeOS Embedded Controller maintainers: - Benson Leung + - Enric Balletbo i Serra - Guenter Roeck description: @@ -58,7 +59,7 @@ properties: whether this nvram is present or not. type: boolean - mediatek,rpmsg-name: + mtk,rpmsg-name: description: Must be defined if the cros-ec is a rpmsg device for a Mediatek ARM Cortex M4 Co-processor. Contains the name pf the rpmsg diff --git a/Documentation/devicetree/bindings/mfd/max14577.txt b/Documentation/devicetree/bindings/mfd/max14577.txt index be11943a05..92070b3467 100644 --- a/Documentation/devicetree/bindings/mfd/max14577.txt +++ b/Documentation/devicetree/bindings/mfd/max14577.txt @@ -71,7 +71,7 @@ max14577@25 { compatible = "maxim,max14577"; reg = <0x25>; interrupt-parent = <&gpx1>; - interrupts = <5 IRQ_TYPE_LEVEL_LOW>; + interrupts = <5 IRQ_TYPE_NONE>; muic: max14577-muic { compatible = "maxim,max14577-muic"; @@ -106,7 +106,7 @@ max77836@25 { compatible = "maxim,max77836"; reg = <0x25>; interrupt-parent = <&gpx1>; - interrupts = <5 IRQ_TYPE_LEVEL_LOW>; + interrupts = <5 IRQ_TYPE_NONE>; muic: max77836-muic { compatible = "maxim,max77836-muic"; diff --git a/Documentation/devicetree/bindings/mfd/max77693.txt b/Documentation/devicetree/bindings/mfd/max77693.txt index 1032df1449..0ced96e16c 100644 --- a/Documentation/devicetree/bindings/mfd/max77693.txt +++ b/Documentation/devicetree/bindings/mfd/max77693.txt @@ -139,7 +139,7 @@ Example: compatible = "maxim,max77693"; reg = <0x66>; interrupt-parent = <&gpx1>; - interrupts = <5 IRQ_TYPE_LEVEL_LOW>; + interrupts = <5 2>; regulators { esafeout@1 { diff --git a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt b/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt index 7a27c500ff..5ef79bf3d0 100644 --- a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt +++ b/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.txt @@ -15,38 +15,29 @@ each. A function can consume one or more of these fixed-size register regions. Required properties: - compatible: Should contain one of: - "qcom,pm660", - "qcom,pm660l", - "qcom,pm7325", - "qcom,pm8004", - "qcom,pm8005", - "qcom,pm8019", - "qcom,pm8028", - "qcom,pm8110", - "qcom,pm8150", - "qcom,pm8150b", - "qcom,pm8150c", - "qcom,pm8150l", - "qcom,pm8226", - "qcom,pm8350c", - "qcom,pm8841", - "qcom,pm8901", - "qcom,pm8909", - "qcom,pm8916", "qcom,pm8941", - "qcom,pm8950", - "qcom,pm8994", - "qcom,pm8998", + "qcom,pm8841", + "qcom,pma8084", + "qcom,pm8019", + "qcom,pm8226", + "qcom,pm8110", "qcom,pma8084", - "qcom,pmd9635", - "qcom,pmi8950", "qcom,pmi8962", + "qcom,pmd9635", + "qcom,pm8994", "qcom,pmi8994", + "qcom,pm8916", + "qcom,pm8004", + "qcom,pm8909", + "qcom,pm8950", + "qcom,pmi8950", + "qcom,pm8998", "qcom,pmi8998", - "qcom,pmk8002", + "qcom,pm8005", + "qcom,pm8350c", "qcom,pmk8350", + "qcom,pm7325", "qcom,pmr735a", - "qcom,smb2351", or generalized "qcom,spmi-pmic". - reg: Specifies the SPMI USID slave address for this device. For more information see: diff --git a/Documentation/devicetree/bindings/mfd/qcom,tcsr.txt b/Documentation/devicetree/bindings/mfd/qcom,tcsr.txt index c5f4f0ddfc..e90519d566 100644 --- a/Documentation/devicetree/bindings/mfd/qcom,tcsr.txt +++ b/Documentation/devicetree/bindings/mfd/qcom,tcsr.txt @@ -6,7 +6,6 @@ registers via syscon. Required properties: - compatible: Should contain: - "qcom,tcsr-ipq6018", "syscon", "simple-mfd" for IPQ6018 "qcom,tcsr-ipq8064", "syscon" for IPQ8064 "qcom,tcsr-apq8064", "syscon" for APQ8064 "qcom,tcsr-msm8660", "syscon" for MSM8660 diff --git a/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml b/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml index 2568736701..9065ec53e6 100644 --- a/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml +++ b/Documentation/devicetree/bindings/mfd/qcom-pm8xxx.yaml @@ -16,7 +16,6 @@ description: | properties: compatible: enum: - - qcom,pm8018 - qcom,pm8058 - qcom,pm8821 - qcom,pm8921 diff --git a/Documentation/devicetree/bindings/mfd/st,stm32-lptimer.yaml b/Documentation/devicetree/bindings/mfd/st,stm32-lptimer.yaml index ec7f0190f4..8bcea8dd7d 100644 --- a/Documentation/devicetree/bindings/mfd/st,stm32-lptimer.yaml +++ b/Documentation/devicetree/bindings/mfd/st,stm32-lptimer.yaml @@ -17,7 +17,7 @@ description: | - simple counter from IN1 input signal. maintainers: - - Fabrice Gasnier + - Fabrice Gasnier properties: compatible: diff --git a/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml b/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml index 10b330d429..dace35362a 100644 --- a/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml +++ b/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml @@ -17,7 +17,8 @@ description: | programmable prescaler. maintainers: - - Fabrice Gasnier + - Benjamin Gaignard + - Fabrice Gasnier properties: compatible: diff --git a/Documentation/devicetree/bindings/mfd/st,stmfx.yaml b/Documentation/devicetree/bindings/mfd/st,stmfx.yaml index b2a4e4aa7f..19e9afb385 100644 --- a/Documentation/devicetree/bindings/mfd/st,stmfx.yaml +++ b/Documentation/devicetree/bindings/mfd/st,stmfx.yaml @@ -12,7 +12,7 @@ description: ST Multi-Function eXpander (STMFX) is a slave controller using I2C through VDD) and resistive touchscreen controller. maintainers: - - Amelie Delaunay + - Amelie Delaunay properties: compatible: diff --git a/Documentation/devicetree/bindings/mfd/st,stpmic1.yaml b/Documentation/devicetree/bindings/mfd/st,stpmic1.yaml index 426658ad81..305123e74a 100644 --- a/Documentation/devicetree/bindings/mfd/st,stpmic1.yaml +++ b/Documentation/devicetree/bindings/mfd/st,stpmic1.yaml @@ -9,7 +9,7 @@ title: STMicroelectonics STPMIC1 Power Management IC bindings description: STMicroelectronics STPMIC1 Power Management IC maintainers: - - pascal Paillet + - pascal Paillet properties: compatible: diff --git a/Documentation/devicetree/bindings/mfd/syscon.yaml b/Documentation/devicetree/bindings/mfd/syscon.yaml index eeac1cbc5a..abe3fd817e 100644 --- a/Documentation/devicetree/bindings/mfd/syscon.yaml +++ b/Documentation/devicetree/bindings/mfd/syscon.yaml @@ -38,8 +38,6 @@ properties: - allwinner,sun8i-h3-system-controller - allwinner,sun8i-v3s-system-controller - allwinner,sun50i-a64-system-controller - - brcm,cru-clkset - - freecom,fsg-cs2-system-controller - hisilicon,dsa-subctrl - hisilicon,hi6220-sramctrl - hisilicon,pcie-sas-subctrl @@ -51,15 +49,12 @@ properties: - rockchip,rk3066-qos - rockchip,rk3228-qos - rockchip,rk3288-qos - - rockchip,rk3368-qos - rockchip,rk3399-qos - rockchip,rk3568-qos - samsung,exynos3-sysreg - samsung,exynos4-sysreg - samsung,exynos5-sysreg - samsung,exynos5433-sysreg - - samsung,exynos850-sysreg - - samsung,exynosautov9-sysreg - const: syscon diff --git a/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml b/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml index fa86691ebf..272832e9f8 100644 --- a/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml +++ b/Documentation/devicetree/bindings/mfd/ti,j721e-system-controller.yaml @@ -20,7 +20,7 @@ description: | maintainers: - Kishon Vijay Abraham I - - Roger Quadros + - Roger Quadros + #include cpus { #address-cells = <1>; diff --git a/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml b/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml index 83be9e93d2..37a5fe7b26 100644 --- a/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml +++ b/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml @@ -88,12 +88,6 @@ properties: description: For this device it is strongly suggested to include arasan,soc-ctl-syscon. - - items: - - const: intel,thunderbay-sdhci-5.1 # Intel Thunder Bay eMMC PHY - - const: arasan,sdhci-5.1 - description: - For this device it is strongly suggested to include - clock-output-names and '#clock-cells'. reg: maxItems: 1 @@ -118,9 +112,6 @@ properties: phy-names: const: phy_arasan - resets: - maxItems: 1 - arasan,soc-ctl-syscon: $ref: /schemas/types.yaml#/definitions/phandle description: @@ -162,6 +153,7 @@ properties: The MIO bank number in which the command and data lines are configured. dependencies: + clock-output-names: [ '#clock-cells' ] '#clock-cells': [ clock-output-names ] required: @@ -309,22 +301,3 @@ examples: <&scmi_clk KEEM_BAY_PSS_SD0>; arasan,soc-ctl-syscon = <&sd0_phy_syscon>; }; - - - | - #define EMMC_XIN_CLK - #define EMMC_AXI_CLK - #define TBH_PSS_EMMC_RST_N - mmc@80420000 { - compatible = "intel,thunderbay-sdhci-5.1", "arasan,sdhci-5.1"; - interrupts = ; - reg = <0x80420000 0x400>; - clocks = <&scmi_clk EMMC_XIN_CLK>, - <&scmi_clk EMMC_AXI_CLK>; - clock-names = "clk_xin", "clk_ahb"; - phys = <&emmc_phy>; - phy-names = "phy_arasan"; - assigned-clocks = <&scmi_clk EMMC_XIN_CLK>; - clock-output-names = "emmc_cardclock"; - resets = <&rst_pss1 TBH_PSS_EMMC_RST_N>; - #clock-cells = <0x0>; - }; diff --git a/Documentation/devicetree/bindings/mmc/arm,pl18x.yaml b/Documentation/devicetree/bindings/mmc/arm,pl18x.yaml index 1e69a5a424..47595cb483 100644 --- a/Documentation/devicetree/bindings/mmc/arm,pl18x.yaml +++ b/Documentation/devicetree/bindings/mmc/arm,pl18x.yaml @@ -53,12 +53,6 @@ properties: items: - const: arm,pl18x - const: arm,primecell - - description: Entry for STMicroelectronics variant of PL18x. - This dedicated compatible is used by bootloaders. - items: - - const: st,stm32-sdmmc2 - - const: arm,pl18x - - const: arm,primecell clocks: description: One or two clocks, the "apb_pclk" and the "MCLK" @@ -66,18 +60,6 @@ properties: minItems: 1 maxItems: 2 - dmas: - maxItems: 2 - - dma-names: - oneOf: - - items: - - const: tx - - const: rx - - items: - - const: rx - - const: tx - power-domains: true resets: @@ -185,9 +167,6 @@ examples: clock-names = "mclk", "apb_pclk"; }; - - | - #include - mmc@80126000 { compatible = "arm,pl18x", "arm,primecell"; reg = <0x80126000 0x1000>; @@ -209,12 +188,12 @@ examples: vqmmc-supply = <&vmmci>; }; - - | mmc@101f6000 { compatible = "arm,pl18x", "arm,primecell"; reg = <0x101f6000 0x1000>; clocks = <&sdiclk>, <&pclksdi>; clock-names = "mclk", "apb_pclk"; + interrupt-parent = <&vica>; interrupts = <22>; max-frequency = <400000>; bus-width = <4>; @@ -229,12 +208,12 @@ examples: vmmc-supply = <&vmmc_regulator>; }; - - | mmc@52007000 { compatible = "arm,pl18x", "arm,primecell"; arm,primecell-periphid = <0x10153180>; reg = <0x52007000 0x1000>; interrupts = <49>; + interrupt-names = "cmd_irq"; clocks = <&rcc 0>; clock-names = "apb_pclk"; resets = <&rcc 1>; diff --git a/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml b/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml index 4207fed62d..af7442f738 100644 --- a/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml +++ b/Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml @@ -17,7 +17,6 @@ properties: compatible: items: - enum: - - microchip,mpfs-sd4hc - socionext,uniphier-sd4hc - const: cdns,sd4hc diff --git a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt index 753e9d7d89..0419a63f73 100644 --- a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt +++ b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt @@ -22,8 +22,6 @@ Required Properties: specific extensions. - "samsung,exynos7-dw-mshc-smu": for controllers with Samsung Exynos7 specific extensions having an SMU. - - "axis,artpec8-dw-mshc": for controllers with ARTPEC-8 specific - extensions. * samsung,dw-mshc-ciu-div: Specifies the divider value for the card interface unit (ciu) clock. This property is applicable only for Exynos5 SoC's and diff --git a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml index 17acbc665f..a3412f2211 100644 --- a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml +++ b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml @@ -34,8 +34,6 @@ properties: - fsl,imx6ull-usdhc - fsl,imx7d-usdhc - fsl,imx7ulp-usdhc - - fsl,imxrt1050-usdhc - - nxp,s32g2-usdhc - items: - enum: - fsl,imx8mm-usdhc @@ -45,10 +43,6 @@ properties: - fsl,imx8qm-usdhc - fsl,imx8qxp-usdhc - const: fsl,imx7d-usdhc - - items: - - enum: - - fsl,imx8ulp-usdhc - - const: fsl,imx8mm-usdhc reg: maxItems: 1 @@ -121,9 +115,6 @@ properties: - const: ahb - const: per - power-domains: - maxItems: 1 - pinctrl-names: oneOf: - minItems: 3 diff --git a/Documentation/devicetree/bindings/mmc/ingenic,mmc.yaml b/Documentation/devicetree/bindings/mmc/ingenic,mmc.yaml index 2d10aedf2e..546480f411 100644 --- a/Documentation/devicetree/bindings/mmc/ingenic,mmc.yaml +++ b/Documentation/devicetree/bindings/mmc/ingenic,mmc.yaml @@ -39,15 +39,14 @@ properties: const: mmc dmas: - minItems: 1 - maxItems: 2 + items: + - description: DMA controller phandle and request line for RX + - description: DMA controller phandle and request line for TX dma-names: - oneOf: - - items: - - const: rx - - const: tx - - const: tx-rx + items: + - const: rx + - const: tx required: - compatible @@ -62,7 +61,7 @@ unevaluatedProperties: false examples: - | - #include + #include #include mmc0: mmc@13450000 { compatible = "ingenic,jz4780-mmc"; @@ -81,27 +80,3 @@ examples: <&dma JZ4780_DMA_MSC0_TX 0xffffffff>; dma-names = "rx", "tx"; }; - - | - #include - #include - /* - * Alternative version of the example above, - * but using one single DMA channel for both - * TX and RX. - */ - mmc1: mmc@13460000 { - compatible = "ingenic,jz4780-mmc"; - reg = <0x13460000 0x1000>; - - interrupt-parent = <&intc>; - interrupts = <36>; - - clocks = <&cgu JZ4780_CLK_MSC1>; - clock-names = "mmc"; - - cap-sd-highspeed; - cap-mmc-highspeed; - cap-sdio-irq; - dmas = <&dma JZ4780_DMA_MSC1_TX JZ4780_DMA_MSC1_RX 0xffffffff>; - dma-names = "tx-rx"; - }; diff --git a/Documentation/devicetree/bindings/mmc/mmc-controller.yaml b/Documentation/devicetree/bindings/mmc/mmc-controller.yaml index 513f3c8758..25ac8e2009 100644 --- a/Documentation/devicetree/bindings/mmc/mmc-controller.yaml +++ b/Documentation/devicetree/bindings/mmc/mmc-controller.yaml @@ -333,6 +333,12 @@ patternProperties: subnode describes. A value of 0 denotes the memory SD function, values from 1 to 7 denote the SDIO functions. + broken-hpi: + $ref: /schemas/types.yaml#/definitions/flag + description: + Use this to indicate that the mmc-card has a broken hpi + implementation, and that hpi should not be used. + required: - reg diff --git a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml index faf89b0c91..e866e98554 100644 --- a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml +++ b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml @@ -36,9 +36,6 @@ properties: - const: mediatek,mt8195-mmc - const: mediatek,mt8183-mmc - reg: - maxItems: 1 - clocks: description: Should contain phandle for the clock feeding the MMC controller. @@ -65,9 +62,6 @@ properties: - const: axi_cg - const: ahb_cg - interrupts: - maxItems: 1 - pinctrl-names: items: - const: default @@ -125,18 +119,6 @@ properties: If present, HS400 command responses are sampled on rising edges. If not present, HS400 command responses are sampled on falling edges. - mediatek,hs400-ds-dly3: - $ref: /schemas/types.yaml#/definitions/uint32 - description: - Gear of the third delay line for DS for input data latch in data - pad macro, there are 32 stages from 0 to 31. - For different corner IC, the time is different about one step, it is - about 100ps. - The value is confirmed by doing scan and calibration to find a best - value with corner IC and it is valid only for HS400 mode. - minimum: 0 - maximum: 31 - mediatek,latch-ck: $ref: /schemas/types.yaml#/definitions/uint32 description: diff --git a/Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml b/Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml index 9ce6e06c19..9f1e7092cf 100644 --- a/Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml +++ b/Documentation/devicetree/bindings/mmc/renesas,sdhi.yaml @@ -113,51 +113,31 @@ allOf: clocks: items: - description: IMCLK, SDHI channel main clock1. - - description: CLK_HS, SDHI channel High speed clock which operates - 4 times that of SDHI channel main clock1. - description: IMCLK2, SDHI channel main clock2. When this clock is turned off, external SD card detection cannot be detected. + - description: CLK_HS, SDHI channel High speed clock which operates + 4 times that of SDHI channel main clock1. - description: ACLK, SDHI channel bus clock. clock-names: items: - - const: core - - const: clkh - - const: cd + - const: imclk + - const: imclk2 + - const: clk_hs - const: aclk required: - clock-names - resets else: - if: - properties: - compatible: - contains: - enum: - - renesas,rcar-gen2-sdhi - - renesas,rcar-gen3-sdhi - then: - properties: - clocks: - minItems: 1 - maxItems: 3 - clock-names: - minItems: 1 - uniqueItems: true - items: - - const: core - - enum: [ clkh, cd ] - - const: cd - else: - properties: - clocks: - minItems: 1 - maxItems: 2 - clock-names: - minItems: 1 - items: - - const: core - - const: cd + properties: + clocks: + minItems: 1 + maxItems: 2 + clock-names: + minItems: 1 + items: + - const: core + - const: cd - if: properties: diff --git a/Documentation/devicetree/bindings/mmc/sdhci-am654.yaml b/Documentation/devicetree/bindings/mmc/sdhci-am654.yaml index 9fbf16b3bc..224303f5b9 100644 --- a/Documentation/devicetree/bindings/mmc/sdhci-am654.yaml +++ b/Documentation/devicetree/bindings/mmc/sdhci-am654.yaml @@ -48,8 +48,6 @@ properties: - const: clk_ahb - const: clk_xin - sdhci-caps-mask: true - # PHY output tap delays: # Used to delay the data valid window and align it to the sampling clock. # Binding needs to be provided for each supported speed mode otherwise the diff --git a/Documentation/devicetree/bindings/mmc/sdhci-msm.txt b/Documentation/devicetree/bindings/mmc/sdhci-msm.txt index 6a8cc261bf..365c3fc122 100644 --- a/Documentation/devicetree/bindings/mmc/sdhci-msm.txt +++ b/Documentation/devicetree/bindings/mmc/sdhci-msm.txt @@ -13,11 +13,9 @@ Required properties: string is added to support this change - "qcom,sdhci-msm-v5". full compatible strings with SoC and version: "qcom,apq8084-sdhci", "qcom,sdhci-msm-v4" - "qcom,msm8226-sdhci", "qcom,sdhci-msm-v4" "qcom,msm8974-sdhci", "qcom,sdhci-msm-v4" "qcom,msm8916-sdhci", "qcom,sdhci-msm-v4" "qcom,msm8992-sdhci", "qcom,sdhci-msm-v4" - "qcom,msm8994-sdhci", "qcom,sdhci-msm-v4" "qcom,msm8996-sdhci", "qcom,sdhci-msm-v4" "qcom,qcs404-sdhci", "qcom,sdhci-msm-v5" "qcom,sc7180-sdhci", "qcom,sdhci-msm-v5"; diff --git a/Documentation/devicetree/bindings/mmc/sdhci-omap.txt b/Documentation/devicetree/bindings/mmc/sdhci-omap.txt index f91e341e6b..aeb615ef67 100644 --- a/Documentation/devicetree/bindings/mmc/sdhci-omap.txt +++ b/Documentation/devicetree/bindings/mmc/sdhci-omap.txt @@ -5,11 +5,7 @@ Refer to mmc.txt for standard MMC bindings. For UHS devices which require tuning, the device tree should have a "cpu_thermal" node which maps to the appropriate thermal zone. This is used to get the temperature of the zone during tuning. Required properties: -- compatible: Should be "ti,omap2430-sdhci" for omap2430 controllers - Should be "ti,omap3-sdhci" for omap3 controllers - Should be "ti,omap4-sdhci" for omap4 and ti81 controllers - Should be "ti,omap5-sdhci" for omap5 controllers - Should be "ti,dra7-sdhci" for DRA7 and DRA72 controllers +- compatible: Should be "ti,dra7-sdhci" for DRA7 and DRA72 controllers Should be "ti,k2g-sdhci" for K2G Should be "ti,am335-sdhci" for am335x controllers Should be "ti,am437-sdhci" for am437x controllers @@ -28,9 +24,6 @@ Optional properties: DMA specifiers listed in dmas. The string naming is to be "tx" and "rx" for TX and RX DMA requests, respectively. -Deprecated properties: -- ti,non-removable: Compatible with the generic non-removable property - Example: mmc1: mmc@4809c000 { compatible = "ti,dra7-sdhci"; diff --git a/Documentation/devicetree/bindings/mmc/socionext,uniphier-sd.yaml b/Documentation/devicetree/bindings/mmc/socionext,uniphier-sd.yaml index a586fad0a4..56f9ff1274 100644 --- a/Documentation/devicetree/bindings/mmc/socionext,uniphier-sd.yaml +++ b/Documentation/devicetree/bindings/mmc/socionext,uniphier-sd.yaml @@ -26,12 +26,6 @@ properties: clocks: maxItems: 1 - dmas: - maxItems: 1 - - dma-names: - const: rx-tx - reset-names: description: | There are three reset signals at maximum diff --git a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.yaml b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.yaml index ae6d6fca79..240abb6f10 100644 --- a/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.yaml +++ b/Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.yaml @@ -15,10 +15,7 @@ maintainers: # Everything else is described in the common file properties: compatible: - enum: - - altr,socfpga-dw-mshc - - img,pistachio-dw-mshc - - snps,dw-mshc + const: snps,dw-mshc reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/mtd/gpmc-nand.txt b/Documentation/devicetree/bindings/mtd/gpmc-nand.txt index 44919d48d2..c459f169a9 100644 --- a/Documentation/devicetree/bindings/mtd/gpmc-nand.txt +++ b/Documentation/devicetree/bindings/mtd/gpmc-nand.txt @@ -122,7 +122,7 @@ on various other factors also like; so the device should have enough free bytes available its OOB/Spare area to accommodate ECC for entire page. In general following expression helps in determining if given device can accommodate ECC syndrome: - "2 + (PAGESIZE / 512) * ECC_BYTES" >= OOBSIZE" + "2 + (PAGESIZE / 512) * ECC_BYTES" <= OOBSIZE" where OOBSIZE number of bytes in OOB/spare area PAGESIZE number of bytes in main-area of device page diff --git a/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml b/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml index 9de8ef6e59..89aa3ceda5 100644 --- a/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml +++ b/Documentation/devicetree/bindings/mtd/ingenic,nand.yaml @@ -55,7 +55,7 @@ unevaluatedProperties: false examples: - | - #include + #include memory-controller@13410000 { compatible = "ingenic,jz4780-nemc"; reg = <0x13410000 0x10000>; diff --git a/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml b/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml index 39421f7233..ed590d7c6e 100644 --- a/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml +++ b/Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml @@ -11,7 +11,6 @@ maintainers: allOf: - $ref: "mtd.yaml#" - - $ref: /schemas/spi/spi-peripheral-props.yaml# properties: compatible: @@ -89,7 +88,7 @@ patternProperties: "^otp(-[0-9]+)?$": type: object -unevaluatedProperties: false +additionalProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/mtd/st,stm32-fmc2-nand.yaml b/Documentation/devicetree/bindings/mtd/st,stm32-fmc2-nand.yaml index eab8ea3da1..29c5ef24ac 100644 --- a/Documentation/devicetree/bindings/mtd/st,stm32-fmc2-nand.yaml +++ b/Documentation/devicetree/bindings/mtd/st,stm32-fmc2-nand.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics Flexible Memory Controller 2 (FMC2) Bindings maintainers: - - Christophe Kerello + - Christophe Kerello properties: compatible: diff --git a/Documentation/devicetree/bindings/mux/gpio-mux.yaml b/Documentation/devicetree/bindings/mux/gpio-mux.yaml index ee4de9fbaf..0a7c8d6498 100644 --- a/Documentation/devicetree/bindings/mux/gpio-mux.yaml +++ b/Documentation/devicetree/bindings/mux/gpio-mux.yaml @@ -26,10 +26,7 @@ properties: List of gpios used to control the multiplexer, least significant bit first. '#mux-control-cells': - enum: [ 0, 1 ] - - '#mux-state-cells': - enum: [ 1, 2 ] + const: 0 idle-state: default: -1 @@ -37,11 +34,7 @@ properties: required: - compatible - mux-gpios -anyOf: - - required: - - "#mux-control-cells" - - required: - - "#mux-state-cells" + - "#mux-control-cells" additionalProperties: false diff --git a/Documentation/devicetree/bindings/mux/mux-consumer.yaml b/Documentation/devicetree/bindings/mux/mux-consumer.yaml index d3d8549673..7af93298ab 100644 --- a/Documentation/devicetree/bindings/mux/mux-consumer.yaml +++ b/Documentation/devicetree/bindings/mux/mux-consumer.yaml @@ -25,17 +25,6 @@ description: | strings to label each of the mux controllers listed in the "mux-controls" property. - If it is required to provide the state that the mux controller needs to - be set to, the property "mux-states" must be used. An optional property - "mux-state-names" can be used to provide a list of strings, to label - each of the multiplixer states listed in the "mux-states" property. - - Properties "mux-controls" and "mux-states" can be used depending on how - the consumers want to control the mux controller. If the consumer needs - needs to set multiple states in a mux controller, then property - "mux-controls" can be used. If the consumer needs to set the mux - controller to a given state then property "mux-states" can be used. - mux-ctrl-specifier typically encodes the chip-relative mux controller number. If the mux controller chip only provides a single mux controller, the mux-ctrl-specifier can typically be left out. @@ -46,22 +35,12 @@ properties: mux-controls: $ref: /schemas/types.yaml#/definitions/phandle-array - mux-states: - $ref: /schemas/types.yaml#/definitions/phandle-array - mux-control-names: description: Devices that use more than a single mux controller can use the "mux-control-names" property to map the name of the requested mux controller to an index into the list given by the "mux-controls" property. - mux-state-names: - description: - Devices that use more than a single multiplexer state can use the - "mux-state-names" property to map the name of the requested mux - controller to an index into the list given by the "mux-states" - property. - additionalProperties: true ... diff --git a/Documentation/devicetree/bindings/mux/mux-controller.yaml b/Documentation/devicetree/bindings/mux/mux-controller.yaml index c855fbad38..736a84c3b6 100644 --- a/Documentation/devicetree/bindings/mux/mux-controller.yaml +++ b/Documentation/devicetree/bindings/mux/mux-controller.yaml @@ -25,9 +25,7 @@ description: | -------------------- Mux controller nodes must specify the number of cells used for the - specifier using the '#mux-control-cells' or '#mux-state-cells' property. - The value of '#mux-state-cells' will always be one greater than the value - of '#mux-control-cells'. + specifier using the '#mux-control-cells' property. Optionally, mux controller nodes can also specify the state the mux should have when it is idle. The idle-state property is used for this. If the @@ -69,8 +67,6 @@ select: pattern: '^mux-controller' - required: - '#mux-control-cells' - - required: - - '#mux-state-cells' properties: $nodename: @@ -79,9 +75,6 @@ properties: '#mux-control-cells': enum: [ 0, 1 ] - '#mux-state-cells': - enum: [ 1, 2 ] - idle-state: $ref: /schemas/types.yaml#/definitions/int32 minimum: -2 @@ -186,21 +179,4 @@ examples: }; }; }; - - - | - #include - - mux1: mux-controller { - compatible = "gpio-mux"; - #mux-state-cells = <1>; - mux-gpios = <&exp_som 2 GPIO_ACTIVE_HIGH>; - }; - - transceiver4: can-phy4 { - compatible = "ti,tcan1042"; - #phy-cells = <0>; - max-bitrate = <5000000>; - standby-gpios = <&exp_som 7 GPIO_ACTIVE_HIGH>; - mux-states = <&mux1 1>; - }; ... diff --git a/Documentation/devicetree/bindings/net/actions,owl-emac.yaml b/Documentation/devicetree/bindings/net/actions,owl-emac.yaml index d30fada2ac..1626e0a821 100644 --- a/Documentation/devicetree/bindings/net/actions,owl-emac.yaml +++ b/Documentation/devicetree/bindings/net/actions,owl-emac.yaml @@ -51,10 +51,6 @@ properties: description: Phandle to the device containing custom config. - mdio: - $ref: mdio.yaml# - unevaluatedProperties: false - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml b/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml index 6a4831fd36..9eb4bb529a 100644 --- a/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml +++ b/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml @@ -15,7 +15,7 @@ properties: oneOf: - const: allwinner,sun8i-a83t-emac - const: allwinner,sun8i-h3-emac - - const: allwinner,sun8i-r40-gmac + - const: allwinner,sun8i-r40-emac - const: allwinner,sun8i-v3s-emac - const: allwinner,sun50i-a64-emac - items: @@ -93,7 +93,7 @@ allOf: compatible: contains: enum: - - allwinner,sun8i-r40-gmac + - allwinner,sun8i-r40-emac then: properties: @@ -122,7 +122,6 @@ allOf: mdio-mux: type: object - unevaluatedProperties: false properties: compatible: @@ -133,18 +132,17 @@ allOf: description: Phandle to EMAC MDIO. - "#address-cells": - const: 1 - - "#size-cells": - const: 0 - mdio@1: - $ref: mdio.yaml# - unevaluatedProperties: false + type: object description: Internal MDIO Bus properties: + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + compatible: const: allwinner,sun8i-h3-mdio-internal @@ -170,11 +168,16 @@ allOf: mdio@2: - $ref: mdio.yaml# - unevaluatedProperties: false + type: object description: External MDIO Bus (H3 only) properties: + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + reg: const: 2 diff --git a/Documentation/devicetree/bindings/net/brcm,bcm6368-mdio-mux.yaml b/Documentation/devicetree/bindings/net/brcm,bcm6368-mdio-mux.yaml index 9ef28c2a0a..2f34fda55f 100644 --- a/Documentation/devicetree/bindings/net/brcm,bcm6368-mdio-mux.yaml +++ b/Documentation/devicetree/bindings/net/brcm,bcm6368-mdio-mux.yaml @@ -15,12 +15,18 @@ description: properties as well to generate desired MDIO transaction on appropriate bus. allOf: - - $ref: mdio-mux.yaml# + - $ref: "mdio.yaml#" properties: compatible: const: brcm,bcm6368-mdio-mux + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + reg: maxItems: 1 @@ -28,6 +34,24 @@ required: - compatible - reg +patternProperties: + '^mdio@[0-1]$': + type: object + properties: + reg: + maxItems: 1 + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + required: + - reg + - "#address-cells" + - "#size-cells" + unevaluatedProperties: false examples: diff --git a/Documentation/devicetree/bindings/net/brcm,unimac-mdio.yaml b/Documentation/devicetree/bindings/net/brcm,unimac-mdio.yaml index 0be426ee1e..f4f4c37f1d 100644 --- a/Documentation/devicetree/bindings/net/brcm,unimac-mdio.yaml +++ b/Documentation/devicetree/bindings/net/brcm,unimac-mdio.yaml @@ -7,8 +7,6 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Broadcom UniMAC MDIO bus controller maintainers: - - Doug Berger - - Florian Fainelli - Rafał Miłecki allOf: @@ -66,6 +64,7 @@ unevaluatedProperties: false required: - reg + - reg-names - '#address-cells' - '#size-cells' diff --git a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml index 5aac094fd2..fbdc2083be 100644 --- a/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml +++ b/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml @@ -50,29 +50,16 @@ properties: by interrupts and "host-wakeup" interrupt-names clocks: - minItems: 1 maxItems: 2 description: 1 or 2 clocks as defined in clock-names below, in that order clock-names: description: Names of the 1 to 2 supplied clocks - oneOf: - - const: extclk - deprecated: true - description: Deprecated in favor of txco - + items: - const: txco - description: > - external reference clock (not a standalone crystal) - - const: lpo - description: > - external low power 32.768 kHz clock - - - items: - - const: txco - - const: lpo + - const: extclk vbat-supply: description: phandle to regulator supply for VBAT diff --git a/Documentation/devicetree/bindings/net/can/allwinner,sun4i-a10-can.yaml b/Documentation/devicetree/bindings/net/can/allwinner,sun4i-a10-can.yaml index c93fe9d3ea..a95960ee3f 100644 --- a/Documentation/devicetree/bindings/net/can/allwinner,sun4i-a10-can.yaml +++ b/Documentation/devicetree/bindings/net/can/allwinner,sun4i-a10-can.yaml @@ -17,7 +17,6 @@ properties: - const: allwinner,sun7i-a20-can - const: allwinner,sun4i-a10-can - const: allwinner,sun4i-a10-can - - const: allwinner,sun8i-r40-can reg: maxItems: 1 @@ -28,19 +27,6 @@ properties: clocks: maxItems: 1 - resets: - maxItems: 1 - -if: - properties: - compatible: - contains: - const: allwinner,sun8i-r40-can - -then: - required: - - resets - required: - compatible - reg @@ -61,15 +47,5 @@ examples: interrupts = ; clocks = <&ccu CLK_APB1_CAN>; }; - - | - #define RST_BUS_CAN 68 - #define CLK_BUS_CAN 91 - can1: can@1c2bc00 { - compatible = "allwinner,sun8i-r40-can"; - reg = <0x01c2bc00 0x400>; - interrupts = ; - clocks = <&ccu CLK_BUS_CAN>; - resets = <&ccu RST_BUS_CAN>; - }; ... diff --git a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml index 401ab7cdb3..fb547e26c6 100644 --- a/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml +++ b/Documentation/devicetree/bindings/net/can/bosch,m_can.yaml @@ -76,31 +76,33 @@ properties: M_CAN user manual for details. $ref: /schemas/types.yaml#/definitions/int32-array items: - - description: The 'offset' is an address offset of the Message RAM where - the following elements start from. This is usually set to 0x0 if - you're using a private Message RAM. - default: 0 - - description: 11-bit Filter 0-128 elements / 0-128 words - minimum: 0 - maximum: 128 - - description: 29-bit Filter 0-64 elements / 0-128 words - minimum: 0 - maximum: 64 - - description: Rx FIFO 0 0-64 elements / 0-1152 words - minimum: 0 - maximum: 64 - - description: Rx FIFO 1 0-64 elements / 0-1152 words - minimum: 0 - maximum: 64 - - description: Rx Buffers 0-64 elements / 0-1152 words - minimum: 0 - maximum: 64 - - description: Tx Event FIFO 0-32 elements / 0-64 words - minimum: 0 - maximum: 32 - - description: Tx Buffers 0-32 elements / 0-576 words - minimum: 0 - maximum: 32 + items: + - description: The 'offset' is an address offset of the Message RAM where + the following elements start from. This is usually set to 0x0 if + you're using a private Message RAM. + default: 0 + - description: 11-bit Filter 0-128 elements / 0-128 words + minimum: 0 + maximum: 128 + - description: 29-bit Filter 0-64 elements / 0-128 words + minimum: 0 + maximum: 64 + - description: Rx FIFO 0 0-64 elements / 0-1152 words + minimum: 0 + maximum: 64 + - description: Rx FIFO 1 0-64 elements / 0-1152 words + minimum: 0 + maximum: 64 + - description: Rx Buffers 0-64 elements / 0-1152 words + minimum: 0 + maximum: 64 + - description: Tx Event FIFO 0-32 elements / 0-64 words + minimum: 0 + maximum: 32 + - description: Tx Buffers 0-32 elements / 0-576 words + minimum: 0 + maximum: 32 + maxItems: 1 power-domains: description: diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.yaml b/Documentation/devicetree/bindings/net/dsa/dsa.yaml index b9d48e357e..16aa192c11 100644 --- a/Documentation/devicetree/bindings/net/dsa/dsa.yaml +++ b/Documentation/devicetree/bindings/net/dsa/dsa.yaml @@ -46,9 +46,55 @@ patternProperties: type: object description: Ethernet switch ports - $ref: dsa-port.yaml# + properties: + reg: + description: Port number - unevaluatedProperties: false + label: + description: + Describes the label associated with this port, which will become + the netdev name + $ref: /schemas/types.yaml#/definitions/string + + link: + description: + Should be a list of phandles to other switch's DSA port. This + port is used as the outgoing port towards the phandle ports. The + full routing information must be given, not just the one hop + routes to neighbouring switches + $ref: /schemas/types.yaml#/definitions/phandle-array + + ethernet: + description: + Should be a phandle to a valid Ethernet device node. This host + device is what the switch port is connected to + $ref: /schemas/types.yaml#/definitions/phandle + + dsa-tag-protocol: + description: + Instead of the default, the switch will use this tag protocol if + possible. Useful when a device supports multiple protcols and + the default is incompatible with the Ethernet device. + enum: + - dsa + - edsa + + phy-handle: true + + phy-mode: true + + fixed-link: true + + mac-address: true + + sfp: true + + managed: true + + required: + - reg + + additionalProperties: false oneOf: - required: diff --git a/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml b/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml index 1ea0bd4904..f978f8719d 100644 --- a/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml +++ b/Documentation/devicetree/bindings/net/dsa/nxp,sja1105.yaml @@ -52,8 +52,10 @@ properties: patternProperties: "^mdio@[0-1]$": - $ref: /schemas/net/mdio.yaml# - unevaluatedProperties: false + type: object + + allOf: + - $ref: "http://devicetree.org/schemas/net/mdio.yaml#" properties: compatible: @@ -72,42 +74,10 @@ properties: - compatible - reg -patternProperties: - "^(ethernet-)?ports$": - patternProperties: - "^(ethernet-)?port@[0-9]+$": - allOf: - - if: - properties: - phy-mode: - contains: - enum: - - rgmii - - rgmii-rxid - - rgmii-txid - - rgmii-id - then: - properties: - rx-internal-delay-ps: - $ref: "#/$defs/internal-delay-ps" - tx-internal-delay-ps: - $ref: "#/$defs/internal-delay-ps" - required: - compatible - reg -$defs: - internal-delay-ps: - description: - Disable tunable delay lines using 0 ps, or enable them and select - the phase between 1640 ps (73.8 degree shift at 1Gbps) and 2260 ps - (101.7 degree shift) in increments of 0.9 degrees (20 ps). - enum: - [0, 1640, 1660, 1680, 1700, 1720, 1740, 1760, 1780, 1800, 1820, 1840, - 1860, 1880, 1900, 1920, 1940, 1960, 1980, 2000, 2020, 2040, 2060, 2080, - 2100, 2120, 2140, 2160, 2180, 2200, 2220, 2240, 2260] - unevaluatedProperties: false examples: @@ -127,40 +97,29 @@ examples: port@0 { phy-handle = <&rgmii_phy6>; phy-mode = "rgmii-id"; - rx-internal-delay-ps = <0>; - tx-internal-delay-ps = <0>; reg = <0>; }; port@1 { phy-handle = <&rgmii_phy3>; phy-mode = "rgmii-id"; - rx-internal-delay-ps = <0>; - tx-internal-delay-ps = <0>; reg = <1>; }; port@2 { phy-handle = <&rgmii_phy4>; phy-mode = "rgmii-id"; - rx-internal-delay-ps = <0>; - tx-internal-delay-ps = <0>; reg = <2>; }; port@3 { - phy-handle = <&rgmii_phy4>; phy-mode = "rgmii-id"; - rx-internal-delay-ps = <0>; - tx-internal-delay-ps = <0>; reg = <3>; }; port@4 { ethernet = <&enet2>; phy-mode = "rgmii"; - rx-internal-delay-ps = <0>; - tx-internal-delay-ps = <0>; reg = <4>; fixed-link { diff --git a/Documentation/devicetree/bindings/net/dsa/realtek-smi.txt b/Documentation/devicetree/bindings/net/dsa/realtek-smi.txt index 7959ec2379..b6ae8541bd 100644 --- a/Documentation/devicetree/bindings/net/dsa/realtek-smi.txt +++ b/Documentation/devicetree/bindings/net/dsa/realtek-smi.txt @@ -9,7 +9,6 @@ SMI-based Realtek devices. Required properties: - compatible: must be exactly one of: - "realtek,rtl8365mb" (4+1 ports) "realtek,rtl8366" "realtek,rtl8366rb" (4+1 ports) "realtek,rtl8366s" (4+1 ports) @@ -63,8 +62,6 @@ and subnodes of DSA switches. Examples: -An example for the RTL8366RB: - switch { compatible = "realtek,rtl8366rb"; /* 22 = MDIO (has input reads), 21 = MDC (clock, output only) */ @@ -154,87 +151,3 @@ switch { }; }; }; - -An example for the RTL8365MB-VC: - -switch { - compatible = "realtek,rtl8365mb"; - mdc-gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>; - mdio-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>; - reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; - - switch_intc: interrupt-controller { - interrupt-parent = <&gpio5>; - interrupts = <1 IRQ_TYPE_LEVEL_LOW>; - interrupt-controller; - #address-cells = <0>; - #interrupt-cells = <1>; - }; - - ports { - #address-cells = <1>; - #size-cells = <0>; - reg = <0>; - port@0 { - reg = <0>; - label = "swp0"; - phy-handle = <ðphy0>; - }; - port@1 { - reg = <1>; - label = "swp1"; - phy-handle = <ðphy1>; - }; - port@2 { - reg = <2>; - label = "swp2"; - phy-handle = <ðphy2>; - }; - port@3 { - reg = <3>; - label = "swp3"; - phy-handle = <ðphy3>; - }; - port@6 { - reg = <6>; - label = "cpu"; - ethernet = <&fec1>; - phy-mode = "rgmii"; - tx-internal-delay-ps = <2000>; - rx-internal-delay-ps = <2000>; - - fixed-link { - speed = <1000>; - full-duplex; - pause; - }; - }; - }; - - mdio { - compatible = "realtek,smi-mdio"; - #address-cells = <1>; - #size-cells = <0>; - - ethphy0: phy@0 { - reg = <0>; - interrupt-parent = <&switch_intc>; - interrupts = <0>; - }; - ethphy1: phy@1 { - reg = <1>; - interrupt-parent = <&switch_intc>; - interrupts = <1>; - }; - ethphy2: phy@2 { - reg = <2>; - interrupt-parent = <&switch_intc>; - interrupts = <2>; - }; - ethphy3: phy@3 { - reg = <3>; - interrupt-parent = <&switch_intc>; - interrupts = <3>; - }; - }; -}; diff --git a/Documentation/devicetree/bindings/net/ethernet-controller.yaml b/Documentation/devicetree/bindings/net/ethernet-controller.yaml index 34c5463abc..b0933a8c29 100644 --- a/Documentation/devicetree/bindings/net/ethernet-controller.yaml +++ b/Documentation/devicetree/bindings/net/ethernet-controller.yaml @@ -17,8 +17,9 @@ properties: description: Specifies the MAC address that was assigned to the network device. $ref: /schemas/types.yaml#/definitions/uint8-array - minItems: 6 - maxItems: 6 + items: + - minItems: 6 + maxItems: 6 mac-address: description: @@ -27,8 +28,9 @@ properties: to the device by the boot program is different from the local-mac-address property. $ref: /schemas/types.yaml#/definitions/uint8-array - minItems: 6 - maxItems: 6 + items: + - minItems: 6 + maxItems: 6 max-frame-size: $ref: /schemas/types.yaml#/definitions/uint32 @@ -67,7 +69,6 @@ properties: - rev-mii - rmii - rev-rmii - - moca # RX and TX delays are added by the MAC when required - rgmii @@ -162,30 +163,33 @@ properties: type: array then: deprecated: true + minItems: 1 + maxItems: 1 items: - - minimum: 0 - maximum: 31 - description: - Emulated PHY ID, choose any but unique to the all - specified fixed-links + items: + - minimum: 0 + maximum: 31 + description: + Emulated PHY ID, choose any but unique to the all + specified fixed-links - - enum: [0, 1] - description: - Duplex configuration. 0 for half duplex or 1 for - full duplex + - enum: [0, 1] + description: + Duplex configuration. 0 for half duplex or 1 for + full duplex - - enum: [10, 100, 1000, 2500, 10000] - description: - Link speed in Mbits/sec. + - enum: [10, 100, 1000] + description: + Link speed in Mbits/sec. - - enum: [0, 1] - description: - Pause configuration. 0 for no pause, 1 for pause + - enum: [0, 1] + description: + Pause configuration. 0 for no pause, 1 for pause - - enum: [0, 1] - description: - Asymmetric pause configuration. 0 for no asymmetric - pause, 1 for asymmetric pause + - enum: [0, 1] + description: + Asymmetric pause configuration. 0 for no asymmetric + pause, 1 for asymmetric pause - if: @@ -196,7 +200,7 @@ properties: description: Link speed. $ref: /schemas/types.yaml#/definitions/uint32 - enum: [10, 100, 1000, 2500, 10000] + enum: [10, 100, 1000] full-duplex: $ref: /schemas/types.yaml#/definitions/flag diff --git a/Documentation/devicetree/bindings/net/fsl,fec.yaml b/Documentation/devicetree/bindings/net/fsl,fec.yaml index fd8371e318..eca41443fc 100644 --- a/Documentation/devicetree/bindings/net/fsl,fec.yaml +++ b/Documentation/devicetree/bindings/net/fsl,fec.yaml @@ -165,8 +165,7 @@ properties: req_bit is the gpr bit offset for ENET stop request. mdio: - $ref: mdio.yaml# - unevaluatedProperties: false + type: object description: Specifies the mdio bus in the FEC, used as a container for phy nodes. diff --git a/Documentation/devicetree/bindings/net/fsl-fman.txt b/Documentation/devicetree/bindings/net/fsl-fman.txt index 020337f3c0..c00fb0d22c 100644 --- a/Documentation/devicetree/bindings/net/fsl-fman.txt +++ b/Documentation/devicetree/bindings/net/fsl-fman.txt @@ -410,15 +410,6 @@ PROPERTIES The settings and programming routines for internal/external MDIO are different. Must be included for internal MDIO. -- fsl,erratum-a009885 - Usage: optional - Value type: - Definition: Indicates the presence of the A009885 - erratum describing that the contents of MDIO_DATA may - become corrupt unless it is read within 16 MDC cycles - of MDIO_CFG[BSY] being cleared, when performing an - MDIO read operation. - - fsl,erratum-a011043 Usage: optional Value type: diff --git a/Documentation/devicetree/bindings/net/ingenic,mac.yaml b/Documentation/devicetree/bindings/net/ingenic,mac.yaml index 8e52b2e683..d08a88125a 100644 --- a/Documentation/devicetree/bindings/net/ingenic,mac.yaml +++ b/Documentation/devicetree/bindings/net/ingenic,mac.yaml @@ -58,7 +58,7 @@ additionalProperties: false examples: - | - #include + #include mac: ethernet@134b0000 { compatible = "ingenic,x1000-mac"; diff --git a/Documentation/devicetree/bindings/net/intel,dwmac-plat.yaml b/Documentation/devicetree/bindings/net/intel,dwmac-plat.yaml index 52a7fa4f49..08a3f1f6ae 100644 --- a/Documentation/devicetree/bindings/net/intel,dwmac-plat.yaml +++ b/Documentation/devicetree/bindings/net/intel,dwmac-plat.yaml @@ -117,7 +117,7 @@ examples: snps,mtl-tx-config = <&mtl_tx_setup>; snps,tso; - mdio { + mdio0 { #address-cells = <1>; #size-cells = <0>; compatible = "snps,dwmac-mdio"; diff --git a/Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.yaml b/Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.yaml index 67eaf02dda..378ed2d3b0 100644 --- a/Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.yaml +++ b/Documentation/devicetree/bindings/net/intel,ixp4xx-ethernet.yaml @@ -48,8 +48,8 @@ properties: and the instance to use in the second cell mdio: - $ref: mdio.yaml# - unevaluatedProperties: false + type: object + $ref: "mdio.yaml#" description: optional node for embedded MDIO controller required: diff --git a/Documentation/devicetree/bindings/net/litex,liteeth.yaml b/Documentation/devicetree/bindings/net/litex,liteeth.yaml index ebf4e360f8..76c164a819 100644 --- a/Documentation/devicetree/bindings/net/litex,liteeth.yaml +++ b/Documentation/devicetree/bindings/net/litex,liteeth.yaml @@ -62,7 +62,6 @@ properties: mdio: $ref: mdio.yaml# - unevaluatedProperties: false required: - compatible diff --git a/Documentation/devicetree/bindings/net/mdio-mux.yaml b/Documentation/devicetree/bindings/net/mdio-mux.yaml index 4321c87de8..d169adf5d9 100644 --- a/Documentation/devicetree/bindings/net/mdio-mux.yaml +++ b/Documentation/devicetree/bindings/net/mdio-mux.yaml @@ -15,6 +15,9 @@ description: |+ bus multiplexer/switch will have one child node for each child bus. properties: + $nodename: + pattern: '^mdio-mux[\-@]?' + mdio-parent-bus: $ref: /schemas/types.yaml#/definitions/phandle description: @@ -29,12 +32,12 @@ properties: patternProperties: '^mdio@[0-9a-f]+$': - $ref: mdio.yaml# - unevaluatedProperties: false + type: object properties: reg: maxItems: 1 + description: The sub-bus number. additionalProperties: true diff --git a/Documentation/devicetree/bindings/net/mdio.yaml b/Documentation/devicetree/bindings/net/mdio.yaml index b5706d4e7e..08e15fb158 100644 --- a/Documentation/devicetree/bindings/net/mdio.yaml +++ b/Documentation/devicetree/bindings/net/mdio.yaml @@ -59,7 +59,7 @@ properties: type: boolean patternProperties: - '@[0-9a-f]+$': + "^ethernet-phy@[0-9a-f]+$": type: object properties: @@ -76,6 +76,12 @@ patternProperties: the turn around line low at end of the control phase of the MDIO transaction. + resets: + maxItems: 1 + + reset-names: + const: phy + reset-gpios: maxItems: 1 description: diff --git a/Documentation/devicetree/bindings/net/mediatek,star-emac.yaml b/Documentation/devicetree/bindings/net/mediatek,star-emac.yaml index def994c9cb..e6a5ff2082 100644 --- a/Documentation/devicetree/bindings/net/mediatek,star-emac.yaml +++ b/Documentation/devicetree/bindings/net/mediatek,star-emac.yaml @@ -48,8 +48,9 @@ properties: to control the MII mode. mdio: - $ref: mdio.yaml# - unevaluatedProperties: false + type: object + description: + Creates and registers an MDIO bus. required: - compatible diff --git a/Documentation/devicetree/bindings/net/oxnas-dwmac.txt b/Documentation/devicetree/bindings/net/oxnas-dwmac.txt index 27db496f1c..d7117a22fd 100644 --- a/Documentation/devicetree/bindings/net/oxnas-dwmac.txt +++ b/Documentation/devicetree/bindings/net/oxnas-dwmac.txt @@ -9,9 +9,6 @@ Required properties on all platforms: - compatible: For the OX820 SoC, it should be : - "oxsemi,ox820-dwmac" to select glue - "snps,dwmac-3.512" to select IP version. - For the OX810SE SoC, it should be : - - "oxsemi,ox810se-dwmac" to select glue - - "snps,dwmac-3.512" to select IP version. - clocks: Should contain phandles to the following clocks - clock-names: Should contain the following: diff --git a/Documentation/devicetree/bindings/net/qca,ar71xx.yaml b/Documentation/devicetree/bindings/net/qca,ar71xx.yaml index 1ebf9e8c8a..cf4d35edaa 100644 --- a/Documentation/devicetree/bindings/net/qca,ar71xx.yaml +++ b/Documentation/devicetree/bindings/net/qca,ar71xx.yaml @@ -34,6 +34,14 @@ properties: interrupts: maxItems: 1 + '#address-cells': + description: number of address cells for the MDIO bus + const: 1 + + '#size-cells': + description: number of size cells on the MDIO bus + const: 0 + clocks: items: - description: MAC main clock @@ -54,10 +62,6 @@ properties: - const: mac - const: mdio - mdio: - $ref: mdio.yaml# - unevaluatedProperties: false - required: - compatible - reg @@ -81,6 +85,7 @@ examples: reset-names = "mac", "mdio"; clocks = <&pll 1>, <&pll 2>; clock-names = "eth", "mdio"; + qca,ethcfg = <ðcfg>; phy-mode = "mii"; phy-handle = <&phy_port4>; }; @@ -106,6 +111,9 @@ examples: #size-cells = <0>; switch10: switch@10 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "qca,ar9331-switch"; reg = <0x10>; resets = <&rst 8>; diff --git a/Documentation/devicetree/bindings/net/qcom,ipa.yaml b/Documentation/devicetree/bindings/net/qcom,ipa.yaml index 58ecc62adf..b8a0b392b2 100644 --- a/Documentation/devicetree/bindings/net/qcom,ipa.yaml +++ b/Documentation/devicetree/bindings/net/qcom,ipa.yaml @@ -64,8 +64,7 @@ properties: - const: gsi iommus: - minItems: 1 - maxItems: 2 + maxItems: 1 clocks: maxItems: 1 @@ -107,10 +106,6 @@ properties: - const: imem - const: config - qcom,qmp: - $ref: /schemas/types.yaml#/definitions/phandle - description: phandle to the AOSS side-channel message RAM - qcom,smem-states: $ref: /schemas/types.yaml#/definitions/phandle-array description: State bits used in by the AP to signal the modem. @@ -226,8 +221,6 @@ examples: "imem", "config"; - qcom,qmp = <&aoss_qmp>; - qcom,smem-states = <&ipa_smp2p_out 0>, <&ipa_smp2p_out 1>; qcom,smem-state-names = "ipa-clock-enabled-valid", diff --git a/Documentation/devicetree/bindings/net/qcom,ipq8064-mdio.yaml b/Documentation/devicetree/bindings/net/qcom,ipq8064-mdio.yaml index d7748dd331..948677ade6 100644 --- a/Documentation/devicetree/bindings/net/qcom,ipq8064-mdio.yaml +++ b/Documentation/devicetree/bindings/net/qcom,ipq8064-mdio.yaml @@ -51,9 +51,6 @@ examples: switch@10 { compatible = "qca,qca8337"; reg = <0x10>; - - ports { - /* ... */ - }; + /* ... */ }; }; diff --git a/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml b/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml index 157d606bf9..0634e69dd9 100644 --- a/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml +++ b/Documentation/devicetree/bindings/net/realtek-bluetooth.yaml @@ -34,8 +34,6 @@ properties: maxItems: 1 description: GPIO specifier, used to wakeup the host processor - max-speed: true - required: - compatible diff --git a/Documentation/devicetree/bindings/net/renesas,ether.yaml b/Documentation/devicetree/bindings/net/renesas,ether.yaml index 06b38c9bc6..c101a1ec84 100644 --- a/Documentation/devicetree/bindings/net/renesas,ether.yaml +++ b/Documentation/devicetree/bindings/net/renesas,ether.yaml @@ -100,18 +100,15 @@ additionalProperties: false examples: # Lager board - | - #include - #include - #include - #include + #include + #include ethernet@ee700000 { compatible = "renesas,ether-r8a7790", "renesas,rcar-gen2-ether"; reg = <0xee700000 0x400>; - interrupts = ; - clocks = <&cpg CPG_MOD 813>; - power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; - resets = <&cpg 813>; + interrupt-parent = <&gic>; + interrupts = <0 162 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&mstp8_clks R8A7790_CLK_ETHER>; phy-mode = "rmii"; phy-handle = <&phy1>; renesas,ether-link-active-low; @@ -119,12 +116,8 @@ examples: #size-cells = <0>; phy1: ethernet-phy@1 { - compatible = "ethernet-phy-id0022.1537", - "ethernet-phy-ieee802.3-c22"; reg = <1>; interrupt-parent = <&irqc0>; interrupts = <0 IRQ_TYPE_LEVEL_LOW>; - micrel,led-mode = <1>; - reset-gpios = <&gpio5 31 GPIO_ACTIVE_LOW>; }; }; diff --git a/Documentation/devicetree/bindings/net/renesas,etheravb.yaml b/Documentation/devicetree/bindings/net/renesas,etheravb.yaml index bda821065a..4c927d2c17 100644 --- a/Documentation/devicetree/bindings/net/renesas,etheravb.yaml +++ b/Documentation/devicetree/bindings/net/renesas,etheravb.yaml @@ -287,7 +287,6 @@ examples: "ch13", "ch14", "ch15", "ch16", "ch17", "ch18", "ch19", "ch20", "ch21", "ch22", "ch23", "ch24"; clocks = <&cpg CPG_MOD 812>; - clock-names = "fck"; iommus = <&ipmmu_ds0 16>; power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; resets = <&cpg 812>; @@ -299,8 +298,6 @@ examples: #size-cells = <0>; phy0: ethernet-phy@0 { - compatible = "ethernet-phy-id0022.1622", - "ethernet-phy-ieee802.3-c22"; rxc-skew-ps = <1500>; reg = <0>; interrupt-parent = <&gpio2>; diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml index 7eb43707e6..c115c95ee5 100644 --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Synopsys DesignWare MAC Device Tree Bindings maintainers: - - Alexandre Torgue + - Alexandre Torgue - Giuseppe Cavallaro - Jose Abreu @@ -50,7 +50,7 @@ properties: - allwinner,sun7i-a20-gmac - allwinner,sun8i-a83t-emac - allwinner,sun8i-h3-emac - - allwinner,sun8i-r40-gmac + - allwinner,sun8i-r40-emac - allwinner,sun8i-v3s-emac - allwinner,sun50i-a64-emac - loongson,ls2k-dwmac @@ -286,8 +286,7 @@ properties: MAC2MAC connection. mdio: - $ref: mdio.yaml# - unevaluatedProperties: false + type: object description: Creates and registers an MDIO bus. @@ -319,7 +318,7 @@ allOf: - allwinner,sun7i-a20-gmac - allwinner,sun8i-a83t-emac - allwinner,sun8i-h3-emac - - allwinner,sun8i-r40-gmac + - allwinner,sun8i-r40-emac - allwinner,sun8i-v3s-emac - allwinner,sun50i-a64-emac - ingenic,jz4775-mac @@ -327,9 +326,6 @@ allOf: - ingenic,x1600-mac - ingenic,x1830-mac - ingenic,x2000-mac - - snps,dwmac-3.50a - - snps,dwmac-4.10a - - snps,dwmac-4.20a - snps,dwxgmac - snps,dwxgmac-2.10 - st,spear600-gmac @@ -370,7 +366,7 @@ allOf: - allwinner,sun7i-a20-gmac - allwinner,sun8i-a83t-emac - allwinner,sun8i-h3-emac - - allwinner,sun8i-r40-gmac + - allwinner,sun8i-r40-emac - allwinner,sun8i-v3s-emac - allwinner,sun50i-a64-emac - loongson,ls2k-dwmac diff --git a/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml b/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml index aad5a9f3f9..8a03a24a20 100644 --- a/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml +++ b/Documentation/devicetree/bindings/net/socionext,uniphier-ave4.yaml @@ -24,7 +24,6 @@ properties: - socionext,uniphier-ld11-ave4 - socionext,uniphier-ld20-ave4 - socionext,uniphier-pxs3-ave4 - - socionext,uniphier-nx1-ave4 reg: maxItems: 1 @@ -72,7 +71,6 @@ properties: mdio: $ref: mdio.yaml# - unevaluatedProperties: false required: - compatible diff --git a/Documentation/devicetree/bindings/net/stm32-dwmac.yaml b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml index 3d8a3b763a..d3f05d5934 100644 --- a/Documentation/devicetree/bindings/net/stm32-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/stm32-dwmac.yaml @@ -8,8 +8,8 @@ $schema: "http://devicetree.org/meta-schemas/core.yaml#" title: STMicroelectronics STM32 / MCU DWMAC glue layer controller maintainers: - - Alexandre Torgue - - Christophe Roullier + - Alexandre Torgue + - Christophe Roullier description: This file documents platform glue layer for stmmac. @@ -44,12 +44,6 @@ properties: - st,stm32-dwmac - const: snps,dwmac-3.50a - reg: true - - reg-names: - items: - - const: stmmaceth - clocks: minItems: 3 items: @@ -108,7 +102,7 @@ examples: compatible = "st,stm32mp1-dwmac", "snps,dwmac-4.20a"; reg = <0x5800a000 0x2000>; reg-names = "stmmaceth"; - interrupts = ; + interrupts = <&intc GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "macirq"; clock-names = "stmmaceth", "mac-clk-tx", @@ -127,7 +121,6 @@ examples: phy-mode = "rgmii"; }; - - | //Example 2 (MCU example) ethernet1: ethernet@40028000 { compatible = "st,stm32-dwmac", "snps,dwmac-3.50a"; @@ -143,7 +136,6 @@ examples: phy-mode = "mii"; }; - - | //Example 3 ethernet2: ethernet@40027000 { compatible = "st,stm32-dwmac", "snps,dwmac-4.10a"; diff --git a/Documentation/devicetree/bindings/net/ti,davinci-mdio.yaml b/Documentation/devicetree/bindings/net/ti,davinci-mdio.yaml index dbfca5ee91..5728fe23f5 100644 --- a/Documentation/devicetree/bindings/net/ti,davinci-mdio.yaml +++ b/Documentation/devicetree/bindings/net/ti,davinci-mdio.yaml @@ -37,13 +37,6 @@ properties: maximum: 2500000 description: MDIO Bus frequency - clocks: - maxItems: 1 - - clock-names: - items: - - const: fck - ti,hwmods: description: TI hwmod name deprecated: true diff --git a/Documentation/devicetree/bindings/net/ti,dp83869.yaml b/Documentation/devicetree/bindings/net/ti,dp83869.yaml index 1b780dce61..70a1209cb1 100644 --- a/Documentation/devicetree/bindings/net/ti,dp83869.yaml +++ b/Documentation/devicetree/bindings/net/ti,dp83869.yaml @@ -92,7 +92,7 @@ examples: tx-fifo-depth = ; rx-fifo-depth = ; ti,op-mode = ; - ti,max-output-impedance; + ti,max-output-impedance = "true"; ti,clk-output-sel = ; rx-internal-delay-ps = <2000>; tx-internal-delay-ps = <2000>; diff --git a/Documentation/devicetree/bindings/net/toshiba,visconti-dwmac.yaml b/Documentation/devicetree/bindings/net/toshiba,visconti-dwmac.yaml index b12bfe61c6..59724d18e6 100644 --- a/Documentation/devicetree/bindings/net/toshiba,visconti-dwmac.yaml +++ b/Documentation/devicetree/bindings/net/toshiba,visconti-dwmac.yaml @@ -71,7 +71,7 @@ examples: phy-mode = "rgmii-id"; phy-handle = <&phy0>; - mdio { + mdio0 { #address-cells = <0x1>; #size-cells = <0x0>; compatible = "snps,dwmac-mdio"; diff --git a/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml b/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml index 269cd63fb5..3e2c2e4317 100644 --- a/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml +++ b/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml @@ -47,11 +47,6 @@ properties: ieee80211-freq-limit: true - mediatek,eeprom-data: - $ref: /schemas/types.yaml#/definitions/uint32-array - description: - EEPROM data embedded as array. - mediatek,mtd-eeprom: $ref: /schemas/types.yaml#/definitions/phandle-array description: @@ -191,9 +186,9 @@ examples: channels = <36 48>; rates-ofdm = /bits/ 8 <23 23 23 23 23 23 23 23>; rates-mcs = /bits/ 8 <1 23 23 23 23 23 23 23 23 23 23>, - /bits/ 8 <3 22 22 22 22 22 22 22 22 22 22>; + <3 22 22 22 22 22 22 22 22 22 22>; rates-ru = /bits/ 8 <3 22 22 22 22 22 22 22 22 22 22 22 22>, - /bits/ 8 <4 20 20 20 20 20 20 20 20 20 20 20 20>; + <4 20 20 20 20 20 20 20 20 20 20 20 20>; }; b1 { channels = <100 181>; diff --git a/Documentation/devicetree/bindings/net/wireless/microchip,wilc1000.yaml b/Documentation/devicetree/bindings/net/wireless/microchip,wilc1000.yaml index 60de78f1bc..6c35682377 100644 --- a/Documentation/devicetree/bindings/net/wireless/microchip,wilc1000.yaml +++ b/Documentation/devicetree/bindings/net/wireless/microchip,wilc1000.yaml @@ -32,21 +32,6 @@ properties: clock-names: const: rtc - enable-gpios: - maxItems: 1 - description: Used by wilc1000-spi to determine the GPIO line - connected to the ENABLE line. If specified, reset-gpios - must be specified as well as otherwise the driver cannot - ensure the timing required between asserting ENABLE - and deasserting RESET. This should be declared as an - active-high signal. - - reset-gpios: - maxItems: 1 - description: Used by wilc1000-spi to determine the GPIO line - connected to the RESET line. This should be declared as an - active-low signal. - required: - compatible - interrupts @@ -55,8 +40,6 @@ additionalProperties: false examples: - | - #include - spi { #address-cells = <1>; #size-cells = <0>; @@ -68,8 +51,6 @@ examples: interrupts = <27 0>; clocks = <&pck1>; clock-names = "rtc"; - enable-gpios = <&pioA 5 GPIO_ACTIVE_HIGH>; - reset-gpios = <&pioA 6 GPIO_ACTIVE_LOW>; }; }; diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml index cdf7b873b4..85c2f699d6 100644 --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml @@ -150,12 +150,6 @@ properties: string to uniquely identify variant of the calibration data in the board-2.bin for designs with colliding bus and device specific ids - memory-region: - maxItems: 1 - description: - phandle to a node describing reserved memory (System RAM memory) - used by ath11k firmware (see bindings/reserved-memory/reserved-memory.txt) - required: - compatible - reg @@ -285,27 +279,3 @@ examples: "tcl2host-status-ring"; qcom,rproc = <&q6v5_wcss>; }; - - - | - - reserved-memory { - #address-cells = <2>; - #size-cells = <2>; - - qcn9074_0: qcn9074_0@51100000 { - no-map; - reg = <0x0 0x51100000 0x0 0x03500000>; - }; - }; - - pci { - pcie0 { - #size-cells = <2>; - #address-cells = <3>; - - wifi_0: wifi@0 { - reg = <0 0 0 0 0>; - memory-region = <&qcn9074_0>; - }; - }; - }; diff --git a/Documentation/devicetree/bindings/numa.txt b/Documentation/devicetree/bindings/numa.txt index 42f282c2f3..21b35053ca 100644 --- a/Documentation/devicetree/bindings/numa.txt +++ b/Documentation/devicetree/bindings/numa.txt @@ -103,51 +103,7 @@ Example: }; ============================================================================== -4 - Empty memory nodes -============================================================================== - -Empty memory nodes, which no memory resides in, are allowed. There are no -device nodes for these empty memory nodes. However, the NUMA node IDs and -distance maps are still valid and memory may be added into them through -hotplug afterwards. - -Example: - - memory@0 { - device_type = "memory"; - reg = <0x0 0x0 0x0 0x80000000>; - numa-node-id = <0>; - }; - - memory@80000000 { - device_type = "memory"; - reg = <0x0 0x80000000 0x0 0x80000000>; - numa-node-id = <1>; - }; - - /* Empty memory node 2 and 3 */ - distance-map { - compatible = "numa-distance-map-v1"; - distance-matrix = <0 0 10>, - <0 1 20>, - <0 2 40>, - <0 3 20>, - <1 0 20>, - <1 1 10>, - <1 2 20>, - <1 3 40>, - <2 0 40>, - <2 1 20>, - <2 2 10>, - <2 3 20>, - <3 0 20>, - <3 1 40>, - <3 2 20>, - <3 3 10>; - }; - -============================================================================== -5 - Example dts +4 - Example dts ============================================================================== Dual socket system consists of 2 boards connected through ccn bus and diff --git a/Documentation/devicetree/bindings/nvmem/brcm,nvram.yaml b/Documentation/devicetree/bindings/nvmem/brcm,nvram.yaml index 8c3f0cd228..58ff6b0bdb 100644 --- a/Documentation/devicetree/bindings/nvmem/brcm,nvram.yaml +++ b/Documentation/devicetree/bindings/nvmem/brcm,nvram.yaml @@ -24,9 +24,6 @@ properties: compatible: const: brcm,nvram - reg: - maxItems: 1 - unevaluatedProperties: false examples: diff --git a/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml b/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml index bf84768228..1485d3fbab 100644 --- a/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml +++ b/Documentation/devicetree/bindings/nvmem/ingenic,jz4780-efuse.yaml @@ -33,7 +33,7 @@ unevaluatedProperties: false examples: - | - #include + #include efuse@134100d0 { compatible = "ingenic,jz4780-efuse"; diff --git a/Documentation/devicetree/bindings/nvmem/mtk-efuse.txt b/Documentation/devicetree/bindings/nvmem/mtk-efuse.txt index 39d5295994..b6791702bc 100644 --- a/Documentation/devicetree/bindings/nvmem/mtk-efuse.txt +++ b/Documentation/devicetree/bindings/nvmem/mtk-efuse.txt @@ -8,10 +8,8 @@ Required properties: "mediatek,mt7623-efuse", "mediatek,efuse": for MT7623 "mediatek,mt8173-efuse" or "mediatek,efuse": for MT8173 "mediatek,mt8192-efuse", "mediatek,efuse": for MT8192 - "mediatek,mt8195-efuse", "mediatek,efuse": for MT8195 "mediatek,mt8516-efuse", "mediatek,efuse": for MT8516 - reg: Should contain registers location and length -- bits: contain the bits range by offset and size = Data cells = Are child nodes of MTK-EFUSE, bindings of which as described in diff --git a/Documentation/devicetree/bindings/nvmem/nvmem.yaml b/Documentation/devicetree/bindings/nvmem/nvmem.yaml index 43ed7e32e5..456fb80810 100644 --- a/Documentation/devicetree/bindings/nvmem/nvmem.yaml +++ b/Documentation/devicetree/bindings/nvmem/nvmem.yaml @@ -50,15 +50,16 @@ patternProperties: Offset and size in bytes within the storage device. bits: - $ref: /schemas/types.yaml#/definitions/uint32-array + maxItems: 1 items: - - minimum: 0 - maximum: 7 - description: - Offset in bit within the address range specified by reg. - - minimum: 1 - description: - Size in bit within the address range specified by reg. + items: + - minimum: 0 + maximum: 7 + description: + Offset in bit within the address range specified by reg. + - minimum: 1 + description: + Size in bit within the address range specified by reg. required: - reg diff --git a/Documentation/devicetree/bindings/nvmem/rmem.yaml b/Documentation/devicetree/bindings/nvmem/rmem.yaml index a4a755dcfc..1d85a0a308 100644 --- a/Documentation/devicetree/bindings/nvmem/rmem.yaml +++ b/Documentation/devicetree/bindings/nvmem/rmem.yaml @@ -19,9 +19,6 @@ properties: - raspberrypi,bootloader-config - const: nvmem-rmem - reg: - maxItems: 1 - no-map: $ref: /schemas/types.yaml#/definitions/flag description: diff --git a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml index 448a2678dc..0b80ce22a2 100644 --- a/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml +++ b/Documentation/devicetree/bindings/nvmem/st,stm32-romem.yaml @@ -13,7 +13,7 @@ description: | internal vref (VREFIN_CAL), unique device ID... maintainers: - - Fabrice Gasnier + - Fabrice Gasnier allOf: - $ref: "nvmem.yaml#" @@ -24,9 +24,6 @@ properties: - st,stm32f4-otp - st,stm32mp15-bsec - reg: - maxItems: 1 - patternProperties: "^.*@[0-9a-f]+$": type: object diff --git a/Documentation/devicetree/bindings/opp/opp-v2-base.yaml b/Documentation/devicetree/bindings/opp/opp-v2-base.yaml index 15a76bcd6d..ae3ae4d398 100644 --- a/Documentation/devicetree/bindings/opp/opp-v2-base.yaml +++ b/Documentation/devicetree/bindings/opp/opp-v2-base.yaml @@ -33,7 +33,7 @@ properties: type: boolean patternProperties: - '^opp(-?[0-9]+)*$': + '^opp-?[0-9]+$': type: object description: One or more OPP nodes describing voltage-current-frequency combinations. diff --git a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml index 0f064e4222..b9589a0daa 100644 --- a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml +++ b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml @@ -19,8 +19,6 @@ properties: - brcm,bcm7278-pcie # Broadcom 7278 Arm - brcm,bcm7216-pcie # Broadcom 7216 Arm - brcm,bcm7445-pcie # Broadcom 7445 Arm - - brcm,bcm7425-pcie # Broadcom 7425 MIPs - - brcm,bcm7435-pcie # Broadcom 7435 MIPs reg: maxItems: 1 @@ -78,7 +76,6 @@ properties: maxItems: 3 required: - - compatible - reg - ranges - dma-ranges @@ -91,7 +88,6 @@ required: allOf: - $ref: /schemas/pci/pci-bus.yaml# - - $ref: /schemas/interrupt-controller/msi-controller.yaml# - if: properties: compatible: @@ -146,15 +142,11 @@ examples: #address-cells = <3>; #size-cells = <2>; #interrupt-cells = <1>; - interrupts = , + interrupts = , ; interrupt-names = "pcie", "msi"; interrupt-map-mask = <0x0 0x0 0x0 0x7>; - interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH - 0 0 0 2 &gicv2 GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH - 0 0 0 3 &gicv2 GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH - 0 0 0 4 &gicv2 GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; - + interrupt-map = <0 0 0 1 &gicv2 GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; msi-parent = <&pcie0>; msi-controller; ranges = <0x02000000 0x0 0xf8000000 0x6 0x00000000 0x0 0x04000000>; @@ -162,24 +154,5 @@ examples: <0x42000000 0x1 0x80000000 0x3 0x00000000 0x0 0x80000000>; brcm,enable-ssc; brcm,scb-sizes = <0x0000000080000000 0x0000000080000000>; - - /* PCIe bridge, Root Port */ - pci@0,0 { - #address-cells = <3>; - #size-cells = <2>; - reg = <0x0 0x0 0x0 0x0 0x0>; - compatible = "pciclass,0604"; - device_type = "pci"; - vpcie3v3-supply = <&vreg7>; - ranges; - - /* PCIe endpoint */ - pci-ep@0,0 { - assigned-addresses = - <0x82010000 0x0 0xf8000000 0x6 0x00000000 0x0 0x2000>; - reg = <0x0 0x0 0x0 0x0 0x0>; - compatible = "pci14e4,1688"; - }; - }; }; }; diff --git a/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-ep.yaml b/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-ep.yaml index e6ef1012a5..651eee8898 100644 --- a/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-ep.yaml +++ b/Documentation/devicetree/bindings/pci/cdns,cdns-pcie-ep.yaml @@ -11,6 +11,7 @@ maintainers: allOf: - $ref: "cdns-pcie-ep.yaml#" + - $ref: "pci-ep.yaml#" properties: compatible: diff --git a/Documentation/devicetree/bindings/pci/cdns-pcie-ep.yaml b/Documentation/devicetree/bindings/pci/cdns-pcie-ep.yaml index baeafda36e..21e8a88490 100644 --- a/Documentation/devicetree/bindings/pci/cdns-pcie-ep.yaml +++ b/Documentation/devicetree/bindings/pci/cdns-pcie-ep.yaml @@ -11,7 +11,6 @@ maintainers: allOf: - $ref: "cdns-pcie.yaml#" - - $ref: "pci-ep.yaml#" properties: cdns,max-outbound-regions: diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml index 643a6333b0..acea1cd444 100644 --- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml +++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml @@ -127,12 +127,6 @@ properties: enum: [1, 2, 3, 4] default: 1 - phys: - maxItems: 1 - - phy-names: - const: pcie-phy - reset-gpio: description: Should specify the GPIO for controlling the PCI bus device reset signal. It's not polarity aware and defaults to active-low reset diff --git a/Documentation/devicetree/bindings/pci/hisilicon,kirin-pcie.yaml b/Documentation/devicetree/bindings/pci/hisilicon,kirin-pcie.yaml index c9f04999c9..cbee878025 100644 --- a/Documentation/devicetree/bindings/pci/hisilicon,kirin-pcie.yaml +++ b/Documentation/devicetree/bindings/pci/hisilicon,kirin-pcie.yaml @@ -37,19 +37,6 @@ properties: minItems: 3 maxItems: 4 - clocks: true - - clock-names: - items: - - const: pcie_phy_ref - - const: pcie_aux - - const: pcie_apb_phy - - const: pcie_apb_sys - - const: pcie_aclk - - phys: - maxItems: 1 - hisilicon,clken-gpios: description: | Clock input enablement GPIOs from PCI devices like Ethernet, M.2 and diff --git a/Documentation/devicetree/bindings/pci/mediatek-pcie-gen3.yaml b/Documentation/devicetree/bindings/pci/mediatek-pcie-gen3.yaml index 0499b94627..742206dbd9 100644 --- a/Documentation/devicetree/bindings/pci/mediatek-pcie-gen3.yaml +++ b/Documentation/devicetree/bindings/pci/mediatek-pcie-gen3.yaml @@ -95,10 +95,6 @@ properties: phys: maxItems: 1 - phy-names: - items: - - const: pcie-phy - '#interrupt-cells': const: 1 diff --git a/Documentation/devicetree/bindings/pci/microchip,pcie-host.yaml b/Documentation/devicetree/bindings/pci/microchip,pcie-host.yaml index edb4f81253..fb95c276a9 100644 --- a/Documentation/devicetree/bindings/pci/microchip,pcie-host.yaml +++ b/Documentation/devicetree/bindings/pci/microchip,pcie-host.yaml @@ -11,7 +11,6 @@ maintainers: allOf: - $ref: /schemas/pci/pci-bus.yaml# - - $ref: /schemas/interrupt-controller/msi-controller.yaml# properties: compatible: @@ -46,24 +45,6 @@ properties: msi-parent: description: MSI controller the device is capable of using. - interrupt-controller: - type: object - properties: - '#address-cells': - const: 0 - - '#interrupt-cells': - const: 1 - - interrupt-controller: true - - required: - - '#address-cells' - - '#interrupt-cells' - - interrupt-controller - - additionalProperties: false - required: - reg - reg-names diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.txt b/Documentation/devicetree/bindings/pci/qcom,pcie.txt index a0ae024c2d..3f646875f8 100644 --- a/Documentation/devicetree/bindings/pci/qcom,pcie.txt +++ b/Documentation/devicetree/bindings/pci/qcom,pcie.txt @@ -12,7 +12,6 @@ - "qcom,pcie-ipq4019" for ipq4019 - "qcom,pcie-ipq8074" for ipq8074 - "qcom,pcie-qcs404" for qcs404 - - "qcom,pcie-sc8180x" for sc8180x - "qcom,pcie-sdm845" for sdm845 - "qcom,pcie-sm8250" for sm8250 - "qcom,pcie-ipq6018" for ipq6018 @@ -157,7 +156,7 @@ - "pipe" PIPE clock - clock-names: - Usage: required for sc8180x and sm8250 + Usage: required for sm8250 Value type: Definition: Should contain the following entries - "aux" Auxiliary clock @@ -246,7 +245,7 @@ - "ahb" AHB reset - reset-names: - Usage: required for sc8180x, sdm845 and sm8250 + Usage: required for sdm845 and sm8250 Value type: Definition: Should contain the following entries - "pci" PCIe core reset diff --git a/Documentation/devicetree/bindings/pci/rcar-pci-ep.yaml b/Documentation/devicetree/bindings/pci/rcar-pci-ep.yaml index 32a3b7665f..295840cf61 100644 --- a/Documentation/devicetree/bindings/pci/rcar-pci-ep.yaml +++ b/Documentation/devicetree/bindings/pci/rcar-pci-ep.yaml @@ -19,7 +19,6 @@ properties: - renesas,r8a774b1-pcie-ep # RZ/G2N - renesas,r8a774c0-pcie-ep # RZ/G2E - renesas,r8a774e1-pcie-ep # RZ/G2H - - renesas,r8a7795-pcie-ep # R-Car H3 - const: renesas,rcar-gen3-pcie-ep # R-Car Gen3 and RZ/G2 reg: diff --git a/Documentation/devicetree/bindings/pci/sifive,fu740-pcie.yaml b/Documentation/devicetree/bindings/pci/sifive,fu740-pcie.yaml index 392f0ab488..2b9d1d6fc6 100644 --- a/Documentation/devicetree/bindings/pci/sifive,fu740-pcie.yaml +++ b/Documentation/devicetree/bindings/pci/sifive,fu740-pcie.yaml @@ -32,8 +32,6 @@ properties: - const: config - const: mgmt - dma-coherent: true - num-lanes: const: 8 @@ -63,8 +61,10 @@ required: - num-lanes - interrupts - interrupt-names + - interrupt-parent - interrupt-map-mask - interrupt-map + - clock-names - clocks - resets - pwren-gpios @@ -104,6 +104,7 @@ examples: <0x0 0x0 0x0 0x2 &plic0 58>, <0x0 0x0 0x0 0x3 &plic0 59>, <0x0 0x0 0x0 0x4 &plic0 60>; + clock-names = "pcie_aux"; clocks = <&prci PRCI_CLK_PCIE_AUX>; resets = <&prci 4>; pwren-gpios = <&gpio 5 0>; diff --git a/Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.yaml b/Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.yaml index e59059ab5b..b5935b1b15 100644 --- a/Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.yaml +++ b/Documentation/devicetree/bindings/pci/snps,dw-pcie-ep.yaml @@ -64,12 +64,16 @@ properties: maxItems: 1 deprecated: true + max-functions: + $ref: /schemas/types.yaml#/definitions/uint32 + description: maximum number of functions that can be configured + required: - reg - reg-names - compatible -additionalProperties: true +unevaluatedProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml b/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml index a5345c4947..9ed0dfba7f 100644 --- a/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml +++ b/Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml @@ -73,7 +73,7 @@ properties: does not specify it, the driver autodetects it. deprecated: true -additionalProperties: true +unevaluatedProperties: false required: - reg diff --git a/Documentation/devicetree/bindings/pci/socionext,uniphier-pcie-ep.yaml b/Documentation/devicetree/bindings/pci/socionext,uniphier-pcie-ep.yaml index 179ab08584..144cbcd60a 100644 --- a/Documentation/devicetree/bindings/pci/socionext,uniphier-pcie-ep.yaml +++ b/Documentation/devicetree/bindings/pci/socionext,uniphier-pcie-ep.yaml @@ -79,7 +79,7 @@ required: - resets - reset-names -unevaluatedProperties: false +additionalProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/pci/ti,am65-pci-ep.yaml b/Documentation/devicetree/bindings/pci/ti,am65-pci-ep.yaml index 74195c1f52..78c217d362 100644 --- a/Documentation/devicetree/bindings/pci/ti,am65-pci-ep.yaml +++ b/Documentation/devicetree/bindings/pci/ti,am65-pci-ep.yaml @@ -32,12 +32,8 @@ properties: maxItems: 1 ti,syscon-pcie-mode: - $ref: /schemas/types.yaml#/definitions/phandle-array - items: - - items: - - description: Phandle to the SYSCON entry - - description: pcie_ctrl register offset within SYSCON description: Phandle to the SYSCON entry required for configuring PCIe in RC or EP mode. + $ref: /schemas/types.yaml#/definitions/phandle interrupts: minItems: 1 @@ -69,7 +65,9 @@ examples: <0x5506000 0x1000>; reg-names = "app", "dbics", "addr_space", "atu"; power-domains = <&k3_pds 120 TI_SCI_PD_EXCLUSIVE>; - ti,syscon-pcie-mode = <&scm_conf 0x4060>; + ti,syscon-pcie-mode = <&pcie0_mode>; + num-ib-windows = <16>; + num-ob-windows = <16>; max-link-speed = <2>; dma-coherent; interrupts = ; diff --git a/Documentation/devicetree/bindings/pci/ti,am65-pci-host.yaml b/Documentation/devicetree/bindings/pci/ti,am65-pci-host.yaml index a20dccbafd..834dc1c174 100644 --- a/Documentation/devicetree/bindings/pci/ti,am65-pci-host.yaml +++ b/Documentation/devicetree/bindings/pci/ti,am65-pci-host.yaml @@ -29,27 +29,16 @@ properties: - const: config - const: atu - interrupts: - maxItems: 1 - power-domains: maxItems: 1 ti,syscon-pcie-id: - $ref: /schemas/types.yaml#/definitions/phandle-array - items: - - items: - - description: Phandle to the SYSCON entry - - description: pcie_device_id register offset within SYSCON description: Phandle to the SYSCON entry required for getting PCIe device/vendor ID + $ref: /schemas/types.yaml#/definitions/phandle ti,syscon-pcie-mode: - $ref: /schemas/types.yaml#/definitions/phandle-array - items: - - items: - - description: Phandle to the SYSCON entry - - description: pcie_ctrl register offset within SYSCON description: Phandle to the SYSCON entry required for configuring PCIe in RC or EP mode. + $ref: /schemas/types.yaml#/definitions/phandle msi-map: true @@ -95,9 +84,10 @@ examples: #size-cells = <2>; ranges = <0x81000000 0 0 0x10020000 0 0x00010000>, <0x82000000 0 0x10030000 0x10030000 0 0x07FD0000>; - ti,syscon-pcie-id = <&scm_conf 0x0210>; - ti,syscon-pcie-mode = <&scm_conf 0x4060>; + ti,syscon-pcie-id = <&pcie_devid>; + ti,syscon-pcie-mode = <&pcie0_mode>; bus-range = <0x0 0xff>; + num-viewport = <16>; max-link-speed = <2>; dma-coherent; interrupts = ; diff --git a/Documentation/devicetree/bindings/pci/ti,j721e-pci-host.yaml b/Documentation/devicetree/bindings/pci/ti,j721e-pci-host.yaml index 2115d5a3f0..cc900202df 100644 --- a/Documentation/devicetree/bindings/pci/ti,j721e-pci-host.yaml +++ b/Documentation/devicetree/bindings/pci/ti,j721e-pci-host.yaml @@ -60,8 +60,6 @@ properties: - const: fck - const: pcie_refclk - dma-coherent: true - vendor-id: const: 0x104c diff --git a/Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml b/Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml index 32f4641085..a2bbc0eb72 100644 --- a/Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml +++ b/Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml @@ -55,6 +55,7 @@ required: - reg-names - "#interrupt-cells" - interrupts + - interrupt-parent - interrupt-map - interrupt-map-mask - bus-range diff --git a/Documentation/devicetree/bindings/perf/arm,cmn.yaml b/Documentation/devicetree/bindings/perf/arm,cmn.yaml index 2d4219ec7e..42424ccbdd 100644 --- a/Documentation/devicetree/bindings/perf/arm,cmn.yaml +++ b/Documentation/devicetree/bindings/perf/arm,cmn.yaml @@ -12,14 +12,12 @@ maintainers: properties: compatible: - enum: - - arm,cmn-600 - - arm,ci-700 + const: arm,cmn-600 reg: items: - description: Physical address of the base (PERIPHBASE) and - size of the configuration address space. + size (up to 64MB) of the configuration address space. interrupts: minItems: 1 @@ -33,23 +31,14 @@ properties: arm,root-node: $ref: /schemas/types.yaml#/definitions/uint32 - description: Offset from PERIPHBASE of CMN-600's configuration - discovery node (see TRM definition of ROOTNODEBASE). Not - relevant for newer CMN/CI products. + description: Offset from PERIPHBASE of the configuration + discovery node (see TRM definition of ROOTNODEBASE). required: - compatible - reg - interrupts - -if: - properties: - compatible: - contains: - const: arm,cmn-600 -then: - required: - - arm,root-node + - arm,root-node additionalProperties: false diff --git a/Documentation/devicetree/bindings/phy/bcm-ns-usb2-phy.yaml b/Documentation/devicetree/bindings/phy/bcm-ns-usb2-phy.yaml index 426101530a..05b4dcd800 100644 --- a/Documentation/devicetree/bindings/phy/bcm-ns-usb2-phy.yaml +++ b/Documentation/devicetree/bindings/phy/bcm-ns-usb2-phy.yaml @@ -18,21 +18,13 @@ properties: const: brcm,ns-usb2-phy reg: - anyOf: - - maxItems: 1 - description: PHY control register - - maxItems: 1 - description: iomem address range of DMU (Device Management Unit) - deprecated: true + items: + - description: iomem address range of DMU (Device Management Unit) reg-names: items: - const: dmu - brcm,syscon-clkset: - description: phandle to syscon for clkset register - $ref: /schemas/types.yaml#/definitions/phandle - clocks: items: - description: USB PHY reference clock @@ -47,25 +39,20 @@ properties: required: - compatible - reg + - reg-names - clocks - clock-names - "#phy-cells" -oneOf: - - required: - - brcm,syscon-clkset - - required: - - reg-names - additionalProperties: false examples: - | #include - phy@1800c164 { + phy@1800c000 { compatible = "brcm,ns-usb2-phy"; - reg = <0x1800c164 0x4>; - brcm,syscon-clkset = <&clkset>; + reg = <0x1800c000 0x1000>; + reg-names = "dmu"; clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>; clock-names = "phy-ref-clk"; #phy-cells = <0>; diff --git a/Documentation/devicetree/bindings/phy/ingenic,phy-usb.yaml b/Documentation/devicetree/bindings/phy/ingenic,phy-usb.yaml index 5cab216486..0fd93d71fe 100644 --- a/Documentation/devicetree/bindings/phy/ingenic,phy-usb.yaml +++ b/Documentation/devicetree/bindings/phy/ingenic,phy-usb.yaml @@ -46,7 +46,7 @@ additionalProperties: false examples: - | - #include + #include otg_phy: usb-phy@3c { compatible = "ingenic,jz4770-phy"; reg = <0x3c 0x10>; diff --git a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml index 05ee274b4b..9e6c0f43f1 100644 --- a/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml +++ b/Documentation/devicetree/bindings/phy/mediatek,tphy.yaml @@ -160,24 +160,6 @@ patternProperties: - PHY_TYPE_PCIE - PHY_TYPE_SATA - nvmem-cells: - items: - - description: internal R efuse for U2 PHY or U3/PCIe PHY - - description: rx_imp_sel efuse for U3/PCIe PHY - - description: tx_imp_sel efuse for U3/PCIe PHY - description: | - Phandles to nvmem cell that contains the efuse data; - Available only for U2 PHY or U3/PCIe PHY of version 2/3, these - three items should be provided at the same time for U3/PCIe PHY, - when use software to load efuse; - If unspecified, will use hardware auto-load efuse. - - nvmem-cell-names: - items: - - const: intr - - const: rx_imp - - const: tx_imp - # The following optional vendor properties are only for debug or HQA test mediatek,eye-src: description: diff --git a/Documentation/devicetree/bindings/phy/phy-cadence-sierra.yaml b/Documentation/devicetree/bindings/phy/phy-cadence-sierra.yaml index a9e227d8b0..e71b32c9c0 100644 --- a/Documentation/devicetree/bindings/phy/phy-cadence-sierra.yaml +++ b/Documentation/devicetree/bindings/phy/phy-cadence-sierra.yaml @@ -113,15 +113,6 @@ patternProperties: minimum: 1 maximum: 16 - cdns,ssc-mode: - description: - Specifies the Spread Spectrum Clocking mode used. It can be NO_SSC, - EXTERNAL_SSC or INTERNAL_SSC. - Refer include/dt-bindings/phy/phy-cadence.h for the constants to be used. - $ref: /schemas/types.yaml#/definitions/uint32 - enum: [0, 1, 2] - default: 1 - required: - reg - resets diff --git a/Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml b/Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml index 2fec9e54ad..bd9ae11c99 100644 --- a/Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml +++ b/Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml @@ -202,7 +202,7 @@ examples: #phy-cells = <0>; cdns,phy-type = ; cdns,num-lanes = <2>; - cdns,ssc-mode = ; + cdns,ssc-mode = ; }; phy@2 { @@ -211,7 +211,7 @@ examples: #phy-cells = <0>; cdns,phy-type = ; cdns,num-lanes = <1>; - cdns,ssc-mode = ; + cdns,ssc-mode = ; }; }; }; diff --git a/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.yaml b/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.yaml index 4b75289735..5bebd86bf8 100644 --- a/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.yaml +++ b/Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.yaml @@ -18,7 +18,6 @@ properties: - rockchip,rk3328-usb2phy - rockchip,rk3366-usb2phy - rockchip,rk3399-usb2phy - - rockchip,rk3568-usb2phy - rockchip,rv1108-usb2phy reg: @@ -51,10 +50,6 @@ properties: description: Phandle to the extcon device providing the cable state for the otg phy. - interrupts: - description: Muxed interrupt for both ports - maxItems: 1 - rockchip,usbgrf: $ref: /schemas/types.yaml#/definitions/phandle description: @@ -72,7 +67,6 @@ properties: interrupts: description: host linestate interrupt - maxItems: 1 interrupt-names: const: linestate @@ -84,6 +78,8 @@ properties: required: - "#phy-cells" + - interrupts + - interrupt-names otg-port: type: object @@ -113,6 +109,8 @@ properties: required: - "#phy-cells" + - interrupts + - interrupt-names required: - compatible @@ -122,40 +120,6 @@ required: - host-port - otg-port -allOf: - - if: - properties: - compatible: - contains: - const: rockchip,rk3568-usb2phy - - then: - properties: - host-port: - properties: - interrupts: false - - otg-port: - properties: - interrupts: false - - required: - - interrupts - - else: - properties: - interrupts: false - - host-port: - required: - - interrupts - - interrupt-names - - otg-port: - required: - - interrupts - - interrupt-names - additionalProperties: false examples: diff --git a/Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.yaml b/Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.yaml index 267b695215..3329f1d33a 100644 --- a/Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.yaml +++ b/Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.yaml @@ -24,7 +24,7 @@ description: |_ UTMI switch_______| OTG controller maintainers: - - Amelie Delaunay + - Amelie Delaunay properties: compatible: @@ -81,119 +81,6 @@ patternProperties: properties: vbus-supply: true - # It can be necessary to adjust the PHY settings to compensate parasitics, which can be due - # to USB connector/receptacle, routing, ESD protection component,... Here is the list of - # all optional parameters to tune the interface of the PHY (HS for High-Speed, FS for Full- - # Speed, LS for Low-Speed) - - st,current-boost-microamp: - description: Current boosting in uA - enum: [ 1000, 2000 ] - - st,no-lsfs-fb-cap: - description: Disables the LS/FS feedback capacitor - type: boolean - - st,decrease-hs-slew-rate: - description: Decreases the HS driver slew rate by 10% - type: boolean - - st,tune-hs-dc-level: - description: | - Tunes the HS driver DC level - - <0> normal level - - <1> increases the level by 5 to 7 mV - - <2> increases the level by 10 to 14 mV - - <3> decreases the level by 5 to 7 mV - $ref: /schemas/types.yaml#/definitions/uint32 - minimum: 0 - maximum: 3 - default: 0 - - st,enable-fs-rftime-tuning: - description: Enables the FS rise/fall tuning option - type: boolean - - st,enable-hs-rftime-reduction: - description: Enables the HS rise/fall reduction feature - type: boolean - - st,trim-hs-current: - description: | - Controls HS driver current trimming for choke compensation - - <0> = 18.87 mA target current / nominal + 0% - - <1> = 19.165 mA target current / nominal + 1.56% - - <2> = 19.46 mA target current / nominal + 3.12% - - <3> = 19.755 mA target current / nominal + 4.68% - - <4> = 20.05 mA target current / nominal + 6.24% - - <5> = 20.345 mA target current / nominal + 7.8% - - <6> = 20.64 mA target current / nominal + 9.36% - - <7> = 20.935 mA target current / nominal + 10.92% - - <8> = 21.23 mA target current / nominal + 12.48% - - <9> = 21.525 mA target current / nominal + 14.04% - - <10> = 21.82 mA target current / nominal + 15.6% - - <11> = 22.115 mA target current / nominal + 17.16% - - <12> = 22.458 mA target current / nominal + 19.01% - - <13> = 22.755 mA target current / nominal + 20.58% - - <14> = 23.052 mA target current / nominal + 22.16% - - <15> = 23.348 mA target current / nominal + 23.73% - $ref: /schemas/types.yaml#/definitions/uint32 - minimum: 0 - maximum: 15 - default: 0 - - st,trim-hs-impedance: - description: | - Controls HS driver impedance tuning for choke compensation - - <0> = no impedance offset - - <1> = reduce the impedance by 2 ohms - - <2> = reduce the impedance by 4 ohms - - <3> = reduce the impedance by 6 ohms - $ref: /schemas/types.yaml#/definitions/uint32 - minimum: 0 - maximum: 3 - default: 0 - - st,tune-squelch-level: - description: | - Tunes the squelch DC threshold value - - <0> = no shift in threshold - - <1> = threshold shift by +7 mV - - <2> = threshold shift by -5 mV - - <3> = threshold shift by +14 mV - $ref: /schemas/types.yaml#/definitions/uint32 - minimum: 0 - maximum: 3 - default: 0 - - st,enable-hs-rx-gain-eq: - description: Enables the HS Rx gain equalizer - type: boolean - - st,tune-hs-rx-offset: - description: | - Adjusts the HS Rx offset - - <0> = no offset - - <1> = offset of +5 mV - - <2> = offset of +10 mV - - <3> = offset of -5 mV - $ref: /schemas/types.yaml#/definitions/uint32 - minimum: 0 - maximum: 3 - default: 0 - - st,no-hs-ftime-ctrl: - description: Disables the HS fall time control of single ended signals during pre-emphasis - type: boolean - - st,no-lsfs-sc: - description: Disables the short circuit protection in LS/FS driver - type: boolean - - st,enable-hs-tx-staggering: - description: Enables the basic staggering in HS Tx mode - type: boolean - allOf: - if: properties: @@ -250,14 +137,6 @@ examples: reg = <0>; phy-supply = <&vdd_usb>; #phy-cells = <0>; - st,tune-hs-dc-level = <2>; - st,enable-fs-rftime-tuning; - st,enable-hs-rftime-reduction; - st,trim-hs-current = <15>; - st,trim-hs-impedance = <1>; - st,tune-squelch-level = <3>; - st,tune-hs-rx-offset = <2>; - st,no-lsfs-sc; connector { compatible = "usb-a-connector"; vbus-supply = <&vbus_sw>; @@ -268,14 +147,6 @@ examples: reg = <1>; phy-supply = <&vdd_usb>; #phy-cells = <1>; - st,tune-hs-dc-level = <2>; - st,enable-fs-rftime-tuning; - st,enable-hs-rftime-reduction; - st,trim-hs-current = <15>; - st,trim-hs-impedance = <1>; - st,tune-squelch-level = <3>; - st,tune-hs-rx-offset = <2>; - st,no-lsfs-sc; }; }; ... diff --git a/Documentation/devicetree/bindings/phy/qcom,qmp-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,qmp-phy.yaml index e417cd6679..75be5650a1 100644 --- a/Documentation/devicetree/bindings/phy/qcom,qmp-phy.yaml +++ b/Documentation/devicetree/bindings/phy/qcom,qmp-phy.yaml @@ -8,7 +8,7 @@ $schema: "http://devicetree.org/meta-schemas/core.yaml#" title: Qualcomm QMP PHY controller maintainers: - - Vinod Koul + - Manu Gautam description: QMP phy controller supports physical layer functionality for a number of @@ -27,7 +27,6 @@ properties: - qcom,msm8998-qmp-pcie-phy - qcom,msm8998-qmp-ufs-phy - qcom,msm8998-qmp-usb3-phy - - qcom,qcm2290-qmp-usb3-phy - qcom,sc7180-qmp-usb3-phy - qcom,sc8180x-qmp-pcie-phy - qcom,sc8180x-qmp-ufs-phy @@ -50,10 +49,6 @@ properties: - qcom,sm8350-qmp-ufs-phy - qcom,sm8350-qmp-usb3-phy - qcom,sm8350-qmp-usb3-uni-phy - - qcom,sm8450-qmp-gen3x1-pcie-phy - - qcom,sm8450-qmp-gen4x2-pcie-phy - - qcom,sm8450-qmp-ufs-phy - - qcom,sm8450-qmp-usb3-phy - qcom,sdx55-qmp-pcie-phy - qcom,sdx55-qmp-usb3-uni-phy @@ -121,6 +116,8 @@ required: - clock-names - resets - reset-names + - vdda-phy-supply + - vdda-pll-supply additionalProperties: false @@ -153,9 +150,6 @@ allOf: items: - const: phy - const: common - required: - - vdda-phy-supply - - vdda-pll-supply - if: properties: compatible: @@ -182,9 +176,6 @@ allOf: items: - const: phy - const: common - required: - - vdda-phy-supply - - vdda-pll-supply - if: properties: compatible: @@ -213,9 +204,6 @@ allOf: - const: phy - const: common - const: cfg - required: - - vdda-phy-supply - - vdda-pll-supply - if: properties: compatible: @@ -245,9 +233,6 @@ allOf: items: - const: phy - const: common - required: - - vdda-phy-supply - - vdda-pll-supply - if: properties: compatible: @@ -268,9 +253,6 @@ allOf: reset-names: items: - const: ufsphy - required: - - vdda-phy-supply - - vdda-pll-supply - if: properties: compatible: @@ -296,16 +278,34 @@ allOf: reset-names: items: - const: ufsphy - required: - - vdda-phy-supply - - vdda-pll-supply + - if: + properties: + compatible: + contains: + enum: + - qcom,ipq8074-qmp-pcie-phy + then: + properties: + clocks: + items: + - description: pipe clk. + clock-names: + items: + - const: pipe_clk + resets: + items: + - description: reset of phy block. + - description: phy common block reset. + reset-names: + items: + - const: phy + - const: common - if: properties: compatible: contains: enum: - qcom,ipq6018-qmp-pcie-phy - - qcom,ipq8074-qmp-pcie-phy then: properties: clocks: @@ -336,8 +336,6 @@ allOf: - qcom,sm8250-qmp-gen3x1-pcie-phy - qcom,sm8250-qmp-gen3x2-pcie-phy - qcom,sm8250-qmp-modem-pcie-phy - - qcom,sm8450-qmp-gen3x1-pcie-phy - - qcom,sm8450-qmp-gen4x2-pcie-phy then: properties: clocks: @@ -358,9 +356,6 @@ allOf: reset-names: items: - const: phy - required: - - vdda-phy-supply - - vdda-pll-supply - if: properties: compatible: @@ -392,9 +387,6 @@ allOf: items: - const: phy - const: common - required: - - vdda-phy-supply - - vdda-pll-supply - if: properties: compatible: @@ -422,38 +414,6 @@ allOf: items: - const: phy - const: common - required: - - vdda-phy-supply - - vdda-pll-supply - - if: - properties: - compatible: - contains: - enum: - - qcom,qcm2290-qmp-usb3-phy - then: - properties: - clocks: - items: - - description: Phy config clock. - - description: 19.2 MHz ref clk. - - description: Phy common block aux clock. - clock-names: - items: - - const: cfg_ahb - - const: ref - - const: com_aux - resets: - items: - - description: phy_phy reset. - - description: reset of phy block. - reset-names: - items: - - const: phy_phy - - const: phy - required: - - vdda-phy-supply - - vdda-pll-supply examples: - | diff --git a/Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml index e651a63a4b..ec9ccaaba0 100644 --- a/Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml +++ b/Documentation/devicetree/bindings/phy/qcom,qusb2-phy.yaml @@ -21,7 +21,6 @@ properties: - qcom,ipq8074-qusb2-phy - qcom,msm8996-qusb2-phy - qcom,msm8998-qusb2-phy - - qcom,qcm2290-qusb2-phy - qcom,sdm660-qusb2-phy - qcom,ipq6018-qusb2-phy - qcom,sm4250-qusb2-phy @@ -30,7 +29,6 @@ properties: - enum: - qcom,sc7180-qusb2-phy - qcom,sdm845-qusb2-phy - - qcom,sm6350-qusb2-phy - const: qcom,qusb2-v2-phy reg: maxItems: 1 @@ -52,10 +50,6 @@ properties: - const: ref - const: iface - vdd-supply: - description: - Phandle to 0.9V regulator supply to PHY digital circuit. - vdda-pll-supply: description: Phandle to 1.8V regulator supply to PHY refclk pll block. @@ -162,7 +156,6 @@ required: - "#phy-cells" - clocks - clock-names - - vdd-supply - vdda-pll-supply - vdda-phy-dpdm-supply - resets @@ -181,7 +174,6 @@ examples: <&gcc GCC_RX1_USB2_CLKREF_CLK>; clock-names = "cfg_ahb", "ref"; - vdd-supply = <&pm8994_l28>; vdda-pll-supply = <&pm8994_l12>; vdda-phy-dpdm-supply = <&pm8994_l24>; diff --git a/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml b/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml index 0dfe6914ec..20203a8a9e 100644 --- a/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml +++ b/Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml @@ -20,7 +20,6 @@ properties: - qcom,sm8150-usb-hs-phy - qcom,sm8250-usb-hs-phy - qcom,sm8350-usb-hs-phy - - qcom,sm8450-usb-hs-phy - qcom,usb-snps-femto-v2-phy reg: diff --git a/Documentation/devicetree/bindings/phy/rockchip-usb-phy.yaml b/Documentation/devicetree/bindings/phy/rockchip-usb-phy.yaml index 499d55131a..f0fc8275dc 100644 --- a/Documentation/devicetree/bindings/phy/rockchip-usb-phy.yaml +++ b/Documentation/devicetree/bindings/phy/rockchip-usb-phy.yaml @@ -11,10 +11,13 @@ maintainers: properties: compatible: - enum: - - rockchip,rk3066a-usb-phy - - rockchip,rk3188-usb-phy - - rockchip,rk3288-usb-phy + oneOf: + - const: rockchip,rk3288-usb-phy + - items: + - enum: + - rockchip,rk3066a-usb-phy + - rockchip,rk3188-usb-phy + - const: rockchip,rk3288-usb-phy "#address-cells": const: 1 diff --git a/Documentation/devicetree/bindings/phy/socionext,uniphier-ahci-phy.yaml b/Documentation/devicetree/bindings/phy/socionext,uniphier-ahci-phy.yaml index 3b400a85b4..745c525ce6 100644 --- a/Documentation/devicetree/bindings/phy/socionext,uniphier-ahci-phy.yaml +++ b/Documentation/devicetree/bindings/phy/socionext,uniphier-ahci-phy.yaml @@ -16,7 +16,6 @@ maintainers: properties: compatible: enum: - - socionext,uniphier-pro4-ahci-phy - socionext,uniphier-pxs2-ahci-phy - socionext,uniphier-pxs3-ahci-phy @@ -27,35 +26,23 @@ properties: const: 0 clocks: - minItems: 1 maxItems: 2 clock-names: oneOf: - items: # for PXs2 - const: link - - items: # for Pro4 - - const: link - - const: gio - items: # for others - const: link - const: phy resets: - minItems: 2 - maxItems: 5 + maxItems: 2 reset-names: - oneOf: - - items: # for Pro4 - - const: link - - const: gio - - const: pm - - const: tx - - const: rx - - items: # for others - - const: link - - const: phy + items: + - const: link + - const: phy required: - compatible diff --git a/Documentation/devicetree/bindings/phy/socionext,uniphier-pcie-phy.yaml b/Documentation/devicetree/bindings/phy/socionext,uniphier-pcie-phy.yaml index fbb71d6dd5..3e05668990 100644 --- a/Documentation/devicetree/bindings/phy/socionext,uniphier-pcie-phy.yaml +++ b/Documentation/devicetree/bindings/phy/socionext,uniphier-pcie-phy.yaml @@ -19,7 +19,6 @@ properties: - socionext,uniphier-pro5-pcie-phy - socionext,uniphier-ld20-pcie-phy - socionext,uniphier-pxs3-pcie-phy - - socionext,uniphier-nx1-pcie-phy reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/phy/socionext,uniphier-usb3hs-phy.yaml b/Documentation/devicetree/bindings/phy/socionext,uniphier-usb3hs-phy.yaml index 33946efcac..a681cbc3b4 100644 --- a/Documentation/devicetree/bindings/phy/socionext,uniphier-usb3hs-phy.yaml +++ b/Documentation/devicetree/bindings/phy/socionext,uniphier-usb3hs-phy.yaml @@ -22,7 +22,6 @@ properties: - socionext,uniphier-pxs2-usb3-hsphy - socionext,uniphier-ld20-usb3-hsphy - socionext,uniphier-pxs3-usb3-hsphy - - socionext,uniphier-nx1-usb3-hsphy reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/phy/socionext,uniphier-usb3ss-phy.yaml b/Documentation/devicetree/bindings/phy/socionext,uniphier-usb3ss-phy.yaml index 92d46eb913..41c0dd68ee 100644 --- a/Documentation/devicetree/bindings/phy/socionext,uniphier-usb3ss-phy.yaml +++ b/Documentation/devicetree/bindings/phy/socionext,uniphier-usb3ss-phy.yaml @@ -23,7 +23,6 @@ properties: - socionext,uniphier-pxs2-usb3-ssphy - socionext,uniphier-ld20-usb3-ssphy - socionext,uniphier-pxs3-usb3-ssphy - - socionext,uniphier-nx1-usb3-ssphy reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/phy/ti,omap-usb2.yaml b/Documentation/devicetree/bindings/phy/ti,omap-usb2.yaml index f78d3246fb..cbbf5e8b11 100644 --- a/Documentation/devicetree/bindings/phy/ti,omap-usb2.yaml +++ b/Documentation/devicetree/bindings/phy/ti,omap-usb2.yaml @@ -8,7 +8,7 @@ title: OMAP USB2 PHY maintainers: - Kishon Vijay Abraham I - - Roger Quadros + - Roger Quadros properties: compatible: diff --git a/Documentation/devicetree/bindings/phy/xlnx,zynqmp-psgtr.yaml b/Documentation/devicetree/bindings/phy/xlnx,zynqmp-psgtr.yaml index 79906519c6..04d5654efb 100644 --- a/Documentation/devicetree/bindings/phy/xlnx,zynqmp-psgtr.yaml +++ b/Documentation/devicetree/bindings/phy/xlnx,zynqmp-psgtr.yaml @@ -29,7 +29,7 @@ properties: - PHY_TYPE_PCIE - PHY_TYPE_SATA - PHY_TYPE_SGMII - - PHY_TYPE_USB3 + - PHY_TYPE_USB - description: The PHY instance minimum: 0 maximum: 1 # for DP, SATA or USB diff --git a/Documentation/devicetree/bindings/pinctrl/actions,s500-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/actions,s500-pinctrl.yaml index fb0f69ce9c..3f94f69447 100644 --- a/Documentation/devicetree/bindings/pinctrl/actions,s500-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/actions,s500-pinctrl.yaml @@ -184,9 +184,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml index bfce850c20..cce63c3cc4 100644 --- a/Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml @@ -147,7 +147,6 @@ allOf: # boards are defining it at the moment so it would generate a lot of # warnings. - - $ref: "pinctrl.yaml#" - if: properties: compatible: diff --git a/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml index d3b11351ca..d50571affd 100644 --- a/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/apple,pinctrl.yaml @@ -17,9 +17,7 @@ description: | properties: compatible: items: - - enum: - - apple,t8103-pinctrl - - apple,t6000-pinctrl + - const: apple,t8103-pinctrl - const: apple,pinctrl reg: @@ -36,10 +34,6 @@ properties: gpio-ranges: maxItems: 1 - apple,npins: - $ref: /schemas/types.yaml#/definitions/uint32 - description: The number of pins in this GPIO controller. - interrupts: description: One interrupt for each of the (up to 7) interrupt groups supported by the controller sorted by interrupt group @@ -49,12 +43,6 @@ properties: interrupt-controller: true - '#interrupt-cells': - const: 2 - - power-domains: - maxItems: 1 - patternProperties: '-pins$': type: object @@ -72,16 +60,12 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg - gpio-controller - '#gpio-cells' - gpio-ranges - - apple,npins additionalProperties: false @@ -102,10 +86,8 @@ examples: gpio-controller; #gpio-cells = <2>; gpio-ranges = <&pinctrl 0 0 212>; - apple,npins = <212>; interrupt-controller; - #interrupt-cells = <2>; interrupt-parent = <&aic>; interrupts = , , diff --git a/Documentation/devicetree/bindings/pinctrl/aspeed,ast2400-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/aspeed,ast2400-pinctrl.yaml index c689bea7ce..100bb6dea3 100644 --- a/Documentation/devicetree/bindings/pinctrl/aspeed,ast2400-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/aspeed,ast2400-pinctrl.yaml @@ -50,9 +50,6 @@ patternProperties: TXD3, TXD4, UART6, USB11D1, USB11H2, USB2D1, USB2H1, USBCKI, VGABIOS_ROM, VGAHS, VGAVS, VPI18, VPI24, VPI30, VPO12, VPO24, WDTRST1, WDTRST2] -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible diff --git a/Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.yaml index d316cc0821..904697bc94 100644 --- a/Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/aspeed,ast2500-pinctrl.yaml @@ -62,9 +62,6 @@ patternProperties: USB11BHID, USB2AD, USB2AH, USB2BD, USB2BH, USBCKI, VGABIOSROM, VGAHS, VGAVS, VPI24, VPO, WDTRST1, WDTRST2] -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - aspeed,external-nodes diff --git a/Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml index 57b68d6c7c..ad2866c997 100644 --- a/Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/aspeed,ast2600-pinctrl.yaml @@ -83,9 +83,6 @@ patternProperties: UART7, UART8, UART9, USBA, USBB, VB, VGAHS, VGAVS, WDTRST1, WDTRST2, WDTRST3, WDTRST4] -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,bcm6318-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/brcm,bcm6318-pinctrl.yaml index ab019a1998..08995a4f85 100644 --- a/Documentation/devicetree/bindings/pinctrl/brcm,bcm6318-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/brcm,bcm6318-pinctrl.yaml @@ -37,9 +37,6 @@ patternProperties: enum: [ gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7, gpio8, gpio9, gpio10, gpio11, gpio12, gpio13, gpio40 ] -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,bcm63268-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/brcm,bcm63268-pinctrl.yaml index 8c9d4668c8..58ffed44b3 100644 --- a/Documentation/devicetree/bindings/pinctrl/brcm,bcm63268-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/brcm,bcm63268-pinctrl.yaml @@ -41,9 +41,6 @@ patternProperties: vdsl_phy_override_1_grp, vdsl_phy_override_2_grp, vdsl_phy_override_3_grp, dsl_gpio8, dsl_gpio9 ] -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,bcm6328-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/brcm,bcm6328-pinctrl.yaml index a8e22ec022..0fd24f40af 100644 --- a/Documentation/devicetree/bindings/pinctrl/brcm,bcm6328-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/brcm,bcm6328-pinctrl.yaml @@ -36,9 +36,6 @@ patternProperties: gpio20, gpio25, gpio26, gpio27, gpio28, hsspi_cs1, usb_port1 ] -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,bcm6358-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/brcm,bcm6358-pinctrl.yaml index 35867355a4..0c3ce256aa 100644 --- a/Documentation/devicetree/bindings/pinctrl/brcm,bcm6358-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/brcm,bcm6358-pinctrl.yaml @@ -34,9 +34,6 @@ patternProperties: enum: [ ebi_cs_grp, uart1_grp, serial_led_grp, legacy_led_grp, led_grp, spi_cs_grp, utopia_grp, pwm_syn_clk, sys_irq_grp ] -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,bcm6362-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/brcm,bcm6362-pinctrl.yaml index b584d4b272..6f68fee373 100644 --- a/Documentation/devicetree/bindings/pinctrl/brcm,bcm6362-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/brcm,bcm6362-pinctrl.yaml @@ -41,9 +41,6 @@ patternProperties: gpio15, gpio16, gpio17, gpio18, gpio19, gpio20, gpio21, gpio22, gpio23, gpio24, gpio25, gpio26, gpio27, nand_grp ] -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,bcm6368-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/brcm,bcm6368-pinctrl.yaml index 229323d923..f4168b9f44 100644 --- a/Documentation/devicetree/bindings/pinctrl/brcm,bcm6368-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/brcm,bcm6368-pinctrl.yaml @@ -42,9 +42,6 @@ patternProperties: gpio24, gpio25, gpio26, gpio27, gpio28, gpio29, gpio30, gpio31, uart1_grp ] -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,ns-pinmux.yaml b/Documentation/devicetree/bindings/pinctrl/brcm,ns-pinmux.yaml index 8d1e5b1cdd..fc39e3e9f7 100644 --- a/Documentation/devicetree/bindings/pinctrl/brcm,ns-pinmux.yaml +++ b/Documentation/devicetree/bindings/pinctrl/brcm,ns-pinmux.yaml @@ -53,7 +53,6 @@ patternProperties: additionalProperties: false allOf: - - $ref: "pinctrl.yaml#" - if: properties: compatible: @@ -78,7 +77,7 @@ additionalProperties: false examples: - | - pinctrl@1800c1c0 { + pin-controller@1800c1c0 { compatible = "brcm,bcm4708-pinmux"; reg = <0x1800c1c0 0x24>; reg-names = "cru_gpio_control"; diff --git a/Documentation/devicetree/bindings/pinctrl/canaan,k210-fpioa.yaml b/Documentation/devicetree/bindings/pinctrl/canaan,k210-fpioa.yaml index a44691d9c5..46fbc73ab2 100644 --- a/Documentation/devicetree/bindings/pinctrl/canaan,k210-fpioa.yaml +++ b/Documentation/devicetree/bindings/pinctrl/canaan,k210-fpioa.yaml @@ -137,9 +137,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg @@ -154,9 +151,9 @@ examples: #include #include - fpioa: pinmux@502b0000 { + fpioa: pinmux@502B0000 { compatible = "canaan,k210-fpioa"; - reg = <0x502b0000 0x100>; + reg = <0x502B0000 0x100>; clocks = <&sysclk K210_CLK_FPIOA>, <&sysclk K210_CLK_APB0>; clock-names = "ref", "pclk"; diff --git a/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml b/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml index 5cd512b7d5..a07dd19717 100644 --- a/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml +++ b/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml @@ -51,6 +51,15 @@ properties: appropriate of the LOCHNAGARx_PIN_NUM_GPIOS define, see [3]. maxItems: 1 + pinctrl-0: + description: + A phandle to the default pinctrl state. + + pinctrl-names: + description: + A pinctrl state named "default" must be defined. + const: default + pin-settings: type: object patternProperties: @@ -172,9 +181,6 @@ properties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - gpio-controller diff --git a/Documentation/devicetree/bindings/pinctrl/cirrus,madera.yaml b/Documentation/devicetree/bindings/pinctrl/cirrus,madera.yaml index c85f759ae5..4cb174bf31 100644 --- a/Documentation/devicetree/bindings/pinctrl/cirrus,madera.yaml +++ b/Documentation/devicetree/bindings/pinctrl/cirrus,madera.yaml @@ -30,6 +30,16 @@ description: | Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt properties: + pinctrl-0: + description: + A phandle to the node containing the subnodes containing default + configurations. + + pinctrl-names: + description: + A pinctrl state named "default" must be defined. + const: default + pin-settings: description: One subnode is required to contain the default settings. It @@ -107,9 +117,6 @@ properties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - pinctrl-0 - pinctrl-names diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,imx8mm-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/fsl,imx8mm-pinctrl.yaml index 6717f16339..6d7d162e61 100644 --- a/Documentation/devicetree/bindings/pinctrl/fsl,imx8mm-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx8mm-pinctrl.yaml @@ -58,9 +58,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,imx8mn-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/fsl,imx8mn-pinctrl.yaml index b1cdbb56d4..7131cfd1fc 100644 --- a/Documentation/devicetree/bindings/pinctrl/fsl,imx8mn-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx8mn-pinctrl.yaml @@ -58,9 +58,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,imx8mp-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/fsl,imx8mp-pinctrl.yaml index 4eed3a4e15..d474bc1f39 100644 --- a/Documentation/devicetree/bindings/pinctrl/fsl,imx8mp-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx8mp-pinctrl.yaml @@ -58,9 +58,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,imx8mq-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/fsl,imx8mq-pinctrl.yaml index d4a8ea5551..0af2b6c95c 100644 --- a/Documentation/devicetree/bindings/pinctrl/fsl,imx8mq-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx8mq-pinctrl.yaml @@ -58,9 +58,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,imx8ulp-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/fsl,imx8ulp-pinctrl.yaml index 693398d882..86622c4f37 100644 --- a/Documentation/devicetree/bindings/pinctrl/fsl,imx8ulp-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx8ulp-pinctrl.yaml @@ -56,9 +56,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/ingenic,pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/ingenic,pinctrl.yaml index c2c370448b..a12d0ceb76 100644 --- a/Documentation/devicetree/bindings/pinctrl/ingenic,pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/ingenic,pinctrl.yaml @@ -28,6 +28,9 @@ maintainers: - Paul Cercueil properties: + nodename: + pattern: "^pinctrl@[0-9a-f]+$" + compatible: oneOf: - enum: @@ -118,9 +121,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg @@ -169,7 +169,7 @@ additionalProperties: examples: - | - pinctrl@10010000 { + pin-controller@10010000 { compatible = "ingenic,jz4770-pinctrl"; reg = <0x10010000 0x600>; diff --git a/Documentation/devicetree/bindings/pinctrl/intel,lgm-io.yaml b/Documentation/devicetree/bindings/pinctrl/intel,lgm-io.yaml index b425483501..2c0acb405e 100644 --- a/Documentation/devicetree/bindings/pinctrl/intel,lgm-io.yaml +++ b/Documentation/devicetree/bindings/pinctrl/intel,lgm-io.yaml @@ -47,9 +47,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml index 6953c958ff..f8e6e138dc 100644 --- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml @@ -64,9 +64,6 @@ required: - gpio-controller - "#gpio-cells" -allOf: - - $ref: "pinctrl.yaml#" - patternProperties: '-[0-9]+$': type: object diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml index e7601c0f5a..152c151c27 100644 --- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml @@ -59,9 +59,6 @@ properties: "#interrupt-cells": const: 2 -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt6797-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt6797-pinctrl.yaml index d42215f59a..76a6df75ed 100644 --- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt6797-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt6797-pinctrl.yaml @@ -45,9 +45,6 @@ properties: "#interrupt-cells": const: 2 -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt7622-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt7622-pinctrl.yaml index 78a0175cec..0feecd376c 100644 --- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt7622-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt7622-pinctrl.yaml @@ -42,9 +42,6 @@ properties: "#interrupt-cells": const: 2 -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt8183-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt8183-pinctrl.yaml index 2d13a57b89..cc1509e9b9 100644 --- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt8183-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt8183-pinctrl.yaml @@ -56,9 +56,6 @@ properties: "#interrupt-cells": const: 2 -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/microchip,sparx5-sgpio.yaml b/Documentation/devicetree/bindings/pinctrl/microchip,sparx5-sgpio.yaml index cb554084bd..4fe35e6509 100644 --- a/Documentation/devicetree/bindings/pinctrl/microchip,sparx5-sgpio.yaml +++ b/Documentation/devicetree/bindings/pinctrl/microchip,sparx5-sgpio.yaml @@ -68,13 +68,6 @@ properties: clock, and larger than zero. default: 12500000 - resets: - maxItems: 1 - - reset-names: - items: - - const: switch - patternProperties: "^gpio@[0-1]$": type: object diff --git a/Documentation/devicetree/bindings/pinctrl/mscc,ocelot-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/mscc,ocelot-pinctrl.txt index 3bb7648766..db99bd95d4 100644 --- a/Documentation/devicetree/bindings/pinctrl/mscc,ocelot-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/mscc,ocelot-pinctrl.txt @@ -4,8 +4,7 @@ Microsemi Ocelot pin controller Device Tree Bindings Required properties: - compatible : Should be "mscc,ocelot-pinctrl", "mscc,jaguar2-pinctrl", "microchip,sparx5-pinctrl", - "mscc,luton-pinctrl", "mscc,serval-pinctrl" or - "microchip,lan966x-pinctrl" + "mscc,luton-pinctrl" or "mscc,serval-pinctrl" - reg : Address and length of the register set for the device - gpio-controller : Indicates this device is a GPIO controller - #gpio-cells : Must be 2. diff --git a/Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml b/Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml index 4b22a9e3a4..71ed0a9def 100644 --- a/Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml +++ b/Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml @@ -114,9 +114,6 @@ properties: description: enable output on a pin without actively driving it (such as enabling an output buffer) - output-impedance-ohms: - description: set the output impedance of a pin to at most X ohms - output-low: type: boolean description: set the pin to output mode with low level diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt index 6904072d39..9dae60acf9 100644 --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt @@ -97,8 +97,47 @@ For example: }; == Pin controller devices == +Required properties: See the pin controller driver specific documentation -See pinctrl.yaml +Optional properties: +#pinctrl-cells: Number of pin control cells in addition to the index within the + pin controller device instance + +pinctrl-use-default: Boolean. Indicates that the OS can use the boot default + pin configuration. This allows using an OS that does not have a + driver for the pin controller. This property can be set either + globally for the pin controller or in child nodes for individual + pin group control. + +Pin controller devices should contain the pin configuration nodes that client +devices reference. + +For example: + + pincontroller { + ... /* Standard DT properties for the device itself elided */ + + state_0_node_a { + ... + }; + state_1_node_a { + ... + }; + state_1_node_b { + ... + }; + } + +The contents of each of those pin configuration child nodes is defined +entirely by the binding for the individual pin controller device. There +exists no common standard for this content. The pinctrl framework only +provides generic helper bindings that the pin controller driver can use. + +The pin configuration nodes need not be direct children of the pin controller +device; they may be grandchildren, for example. Whether this is legal, and +whether there is any interaction between the child and intermediate parent +nodes, is again defined entirely by the binding for the individual pin +controller device. == Generic pin multiplexing node content == diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml index 3c84676a16..c4c0712116 100644 --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml @@ -108,9 +108,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml index 328ea59c54..e17a399e09 100644 --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml @@ -49,168 +49,61 @@ properties: description: The interrupt outputs to sysirq. maxItems: 1 - mediatek,rsel_resistance_in_si_unit: - type: boolean - description: | - Identifying i2c pins pull up/down type which is RSEL. It can support - RSEL define or si unit value(ohm) to set different resistance. - -# PIN CONFIGURATION NODES +#PIN CONFIGURATION NODES patternProperties: '-pins$': type: object - additionalProperties: false - patternProperties: - '^pins': - type: object - additionalProperties: false + description: | + A pinctrl node should contain at least one subnodes representing the + pinctrl groups available on the machine. Each subnode will list the + pins it needs, and how they should be configured, with regard to muxer + configuration, pullups, drive strength, input enable/disable and + input schmitt. + An example of using macro: + pincontroller { + /* GPIO0 set as multifunction GPIO0 */ + gpio_pin { + pinmux = ; + }; + /* GPIO8 set as multifunction SDA0 */ + i2c0_pin { + pinmux = ; + }; + }; + $ref: "pinmux-node.yaml" + + properties: + pinmux: description: | - A pinctrl node should contain at least one subnodes representing the - pinctrl groups available on the machine. Each subnode will list the - pins it needs, and how they should be configured, with regard to muxer - configuration, pullups, drive strength, input enable/disable and - input schmitt. - An example of using macro: - pincontroller { - /* GPIO0 set as multifunction GPIO0 */ - gpio-pins { - pins { - pinmux = ; - } - }; - /* GPIO8 set as multifunction SDA0 */ - i2c0-pins { - pins { - pinmux = ; - } - }; - }; - $ref: "pinmux-node.yaml" + Integer array, represents gpio pin number and mux setting. + Supported pin number and mux varies for different SoCs, and are defined + as macros in dt-bindings/pinctrl/-pinfunc.h directly. - properties: - pinmux: - description: | - Integer array, represents gpio pin number and mux setting. - Supported pin number and mux varies for different SoCs, and are - defined as macros in dt-bindings/pinctrl/-pinfunc.h - directly. + drive-strength: + enum: [2, 4, 6, 8, 10, 12, 14, 16] - drive-strength: - enum: [2, 4, 6, 8, 10, 12, 14, 16] + bias-pull-down: true - bias-pull-down: - description: | - For pull down type is normal, it don't need add RSEL & R1R0 define - and resistance value. - For pull down type is PUPD/R0/R1 type, it can add R1R0 define to - set different resistance. It can support "MTK_PUPD_SET_R1R0_00" & - "MTK_PUPD_SET_R1R0_01" & "MTK_PUPD_SET_R1R0_10" & - "MTK_PUPD_SET_R1R0_11" define in mt8195. - For pull down type is RSEL, it can add RSEL define & resistance - value(ohm) to set different resistance by identifying property - "mediatek,rsel_resistance_in_si_unit". - It can support "MTK_PULL_SET_RSEL_000" & "MTK_PULL_SET_RSEL_001" - & "MTK_PULL_SET_RSEL_010" & "MTK_PULL_SET_RSEL_011" - & "MTK_PULL_SET_RSEL_100" & "MTK_PULL_SET_RSEL_101" - & "MTK_PULL_SET_RSEL_110" & "MTK_PULL_SET_RSEL_111" - define in mt8195. It can also support resistance value(ohm) - "75000" & "5000" in mt8195. - oneOf: - - enum: [100, 101, 102, 103] - - description: mt8195 pull down PUPD/R0/R1 type define value. - - enum: [200, 201, 202, 203, 204, 205, 206, 207] - - description: mt8195 pull down RSEL type define value. - - enum: [75000, 5000] - - description: mt8195 pull down RSEL type si unit value(ohm). + bias-pull-up: true - An example of using RSEL define: - pincontroller { - i2c0_pin { - pins { - pinmux = ; - bias-pull-down = ; - } - }; - }; - An example of using si unit resistance value(ohm): - &pio { - mediatek,rsel_resistance_in_si_unit; - } - pincontroller { - i2c0_pin { - pins { - pinmux = ; - bias-pull-down = <75000>; - } - }; - }; + bias-disable: true - bias-pull-up: - description: | - For pull up type is normal, it don't need add RSEL & R1R0 define - and resistance value. - For pull up type is PUPD/R0/R1 type, it can add R1R0 define to - set different resistance. It can support "MTK_PUPD_SET_R1R0_00" & - "MTK_PUPD_SET_R1R0_01" & "MTK_PUPD_SET_R1R0_10" & - "MTK_PUPD_SET_R1R0_11" define in mt8195. - For pull up type is RSEL, it can add RSEL define & resistance - value(ohm) to set different resistance by identifying property - "mediatek,rsel_resistance_in_si_unit". - It can support "MTK_PULL_SET_RSEL_000" & "MTK_PULL_SET_RSEL_001" - & "MTK_PULL_SET_RSEL_010" & "MTK_PULL_SET_RSEL_011" - & "MTK_PULL_SET_RSEL_100" & "MTK_PULL_SET_RSEL_101" - & "MTK_PULL_SET_RSEL_110" & "MTK_PULL_SET_RSEL_111" - define in mt8195. It can also support resistance value(ohm) - "1000" & "1500" & "2000" & "3000" & "4000" & "5000" & "10000" & - "75000" in mt8195. - oneOf: - - enum: [100, 101, 102, 103] - - description: mt8195 pull up PUPD/R0/R1 type define value. - - enum: [200, 201, 202, 203, 204, 205, 206, 207] - - description: mt8195 pull up RSEL type define value. - - enum: [1000, 1500, 2000, 3000, 4000, 5000, 10000, 75000] - - description: mt8195 pull up RSEL type si unit value(ohm). - An example of using RSEL define: - pincontroller { - i2c0-pins { - pins { - pinmux = ; - bias-pull-up = ; - } - }; - }; - An example of using si unit resistance value(ohm): - &pio { - mediatek,rsel_resistance_in_si_unit; - } - pincontroller { - i2c0-pins { - pins { - pinmux = ; - bias-pull-up = <1000>; - } - }; - }; + output-high: true - bias-disable: true + output-low: true - output-high: true + input-enable: true - output-low: true + input-disable: true - input-enable: true + input-schmitt-enable: true - input-disable: true + input-schmitt-disable: true - input-schmitt-enable: true + required: + - pinmux - input-schmitt-disable: true - - required: - - pinmux - -allOf: - - $ref: "pinctrl.yaml#" + additionalProperties: false required: - compatible @@ -226,46 +119,30 @@ additionalProperties: false examples: - | - #include - #include - # - pio: pinctrl@10005000 { - compatible = "mediatek,mt8195-pinctrl"; - reg = <0x10005000 0x1000>, - <0x11d10000 0x1000>, - <0x11d30000 0x1000>, - <0x11d40000 0x1000>, - <0x11e20000 0x1000>, - <0x11eb0000 0x1000>, - <0x11f40000 0x1000>, - <0x1000b000 0x1000>; - reg-names = "iocfg0", "iocfg_bm", "iocfg_bl", - "iocfg_br", "iocfg_lm", "iocfg_rb", - "iocfg_tl", "eint"; - gpio-controller; - #gpio-cells = <2>; - gpio-ranges = <&pio 0 0 144>; - interrupt-controller; - interrupts = ; - #interrupt-cells = <2>; + #include + #include + pio: pinctrl@10005000 { + compatible = "mediatek,mt8195-pinctrl"; + reg = <0x10005000 0x1000>, + <0x11d10000 0x1000>, + <0x11d30000 0x1000>, + <0x11d40000 0x1000>, + <0x11e20000 0x1000>, + <0x11eb0000 0x1000>, + <0x11f40000 0x1000>, + <0x1000b000 0x1000>; + reg-names = "iocfg0", "iocfg_bm", "iocfg_bl", + "iocfg_br", "iocfg_lm", "iocfg_rb", + "iocfg_tl", "eint"; + gpio-controller; + #gpio-cells = <2>; + gpio-ranges = <&pio 0 0 144>; + interrupt-controller; + interrupts = ; + #interrupt-cells = <2>; - pio-pins { - pins { - pinmux = ; - output-low; - }; - }; - - spi0-pins { - pins-spi { - pinmux = , - , - ; - bias-disable; - }; - pins-spi-mi { - pinmux = ; - bias-pull-down; - }; - }; - }; + pio-pins { + pinmux = ; + output-low; + }; + }; diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,ipq6018-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,ipq6018-pinctrl.yaml index b83c7f476e..c64c932068 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,ipq6018-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,ipq6018-pinctrl.yaml @@ -118,9 +118,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,lpass-lpi-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,lpass-lpi-pinctrl.yaml index 5c5542f162..e47ebf934d 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,lpass-lpi-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,lpass-lpi-pinctrl.yaml @@ -103,9 +103,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,mdm9607-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,mdm9607-pinctrl.yaml index f7bd4be173..3b02dc6626 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,mdm9607-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,mdm9607-pinctrl.yaml @@ -14,7 +14,6 @@ description: | MDM9607 platform. allOf: - - $ref: "pinctrl.yaml#" - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# properties: diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,msm8226-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,msm8226-pinctrl.yaml index ab4a2b4cfd..040d2ada36 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,msm8226-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,msm8226-pinctrl.yaml @@ -97,9 +97,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,msm8953-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,msm8953-pinctrl.yaml index 64c0a41ca0..abe9f4c9b1 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,msm8953-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,msm8953-pinctrl.yaml @@ -133,9 +133,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml index 9400b665a4..9bd01db37d 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml @@ -17,22 +17,18 @@ properties: compatible: items: - enum: - - qcom,pm2250-gpio - qcom,pm660-gpio - qcom,pm660l-gpio - qcom,pm6150-gpio - qcom,pm6150l-gpio - - qcom,pm6350-gpio - qcom,pm7325-gpio - qcom,pm8005-gpio - qcom,pm8008-gpio - qcom,pm8018-gpio - - qcom,pm8019-gpio - qcom,pm8038-gpio - qcom,pm8058-gpio - qcom,pm8150-gpio - qcom,pm8150b-gpio - - qcom,pm8226-gpio - qcom,pm8350-gpio - qcom,pm8350b-gpio - qcom,pm8350c-gpio @@ -107,7 +103,6 @@ $defs: this subnode. Valid pins are - gpio1-gpio10 for pm6150 - gpio1-gpio12 for pm6150l - - gpio1-gpio9 for pm6350 - gpio1-gpio10 for pm7325 - gpio1-gpio4 for pm8005 - gpio1-gpio2 for pm8008 @@ -175,8 +170,6 @@ $defs: input-enable: true output-high: true output-low: true - output-enable: true - output-disable: true power-source: true qcom,drive-strength: diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,sc7280-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,sc7280-pinctrl.yaml index 6c7c3f6a14..7d6a2ab10e 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,sc7280-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,sc7280-pinctrl.yaml @@ -123,9 +123,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,sc8180x-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,sc8180x-pinctrl.yaml index 8650917260..a82dab8983 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,sc8180x-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,sc8180x-pinctrl.yaml @@ -14,7 +14,6 @@ description: | SC8180X platform. allOf: - - $ref: "pinctrl.yaml#" - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# properties: diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,sdx55-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,sdx55-pinctrl.yaml index a38090b14a..112dd59ce7 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,sdx55-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,sdx55-pinctrl.yaml @@ -118,9 +118,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,sm6115-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,sm6115-pinctrl.yaml index cfcde405d3..8fc06f6a3e 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,sm6115-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,sm6115-pinctrl.yaml @@ -121,9 +121,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,sm6125-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,sm6125-pinctrl.yaml index c8eec845ad..5f7adaa81f 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,sm6125-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,sm6125-pinctrl.yaml @@ -13,7 +13,6 @@ description: | in the SM6125 platform. allOf: - - $ref: "pinctrl.yaml#" - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# properties: diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,sm8250-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,sm8250-pinctrl.yaml index cfa2c50fdb..8508c57522 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,sm8250-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,sm8250-pinctrl.yaml @@ -115,9 +115,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,sm8350-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,sm8350-pinctrl.yaml index 6b7789db2f..4f2667ea28 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,sm8350-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,sm8350-pinctrl.yaml @@ -14,7 +14,6 @@ description: | in the SM8350 platform. allOf: - - $ref: "pinctrl.yaml#" - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# properties: diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,tlmm-common.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,tlmm-common.yaml index be8cb0ead6..3b37cf102d 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,tlmm-common.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,tlmm-common.yaml @@ -51,9 +51,6 @@ properties: should not be accessed by the OS. Please see the ../gpio/gpio.txt for more information. -allOf: - - $ref: "pinctrl.yaml#" - required: - interrupts - interrupt-controller diff --git a/Documentation/devicetree/bindings/pinctrl/ralink,rt2880-pinmux.yaml b/Documentation/devicetree/bindings/pinctrl/ralink,rt2880-pinmux.yaml index f0c52feb24..b32f2676ca 100644 --- a/Documentation/devicetree/bindings/pinctrl/ralink,rt2880-pinmux.yaml +++ b/Documentation/devicetree/bindings/pinctrl/ralink,rt2880-pinmux.yaml @@ -44,9 +44,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible diff --git a/Documentation/devicetree/bindings/pinctrl/renesas,pfc.yaml b/Documentation/devicetree/bindings/pinctrl/renesas,pfc.yaml index 8548e3639b..ac4e068aa0 100644 --- a/Documentation/devicetree/bindings/pinctrl/renesas,pfc.yaml +++ b/Documentation/devicetree/bindings/pinctrl/renesas,pfc.yaml @@ -70,9 +70,6 @@ properties: power-domains: maxItems: 1 -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/renesas,rza1-ports.yaml b/Documentation/devicetree/bindings/pinctrl/renesas,rza1-ports.yaml index 8ed4b98a16..7f80578dc2 100644 --- a/Documentation/devicetree/bindings/pinctrl/renesas,rza1-ports.yaml +++ b/Documentation/devicetree/bindings/pinctrl/renesas,rza1-ports.yaml @@ -31,9 +31,6 @@ properties: reg: maxItems: 1 -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/renesas,rza2-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/renesas,rza2-pinctrl.yaml index d761fddc22..ce1f734378 100644 --- a/Documentation/devicetree/bindings/pinctrl/renesas,rza2-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/renesas,rza2-pinctrl.yaml @@ -72,9 +72,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/renesas,rzg2l-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/renesas,rzg2l-pinctrl.yaml index b749c82ede..ef68dabcf4 100644 --- a/Documentation/devicetree/bindings/pinctrl/renesas,rzg2l-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/renesas,rzg2l-pinctrl.yaml @@ -73,8 +73,6 @@ additionalProperties: pins: true drive-strength: enum: [ 2, 4, 8, 12 ] - output-impedance-ohms: - enum: [ 33, 50, 66, 100 ] power-source: enum: [ 1800, 2500, 3300 ] slew-rate: true @@ -92,9 +90,6 @@ additionalProperties: additionalProperties: $ref: "#/additionalProperties/anyOf/0" -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/renesas,rzn1-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/renesas,rzn1-pinctrl.yaml index 70b1788ab5..4a43af0d6e 100644 --- a/Documentation/devicetree/bindings/pinctrl/renesas,rzn1-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/renesas,rzn1-pinctrl.yaml @@ -31,9 +31,6 @@ properties: description: The bus clock, sometimes described as pclk, for register accesses. -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt index 9e70edceb2..e7a1b18803 100644 --- a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt @@ -22,9 +22,7 @@ Required Properties: - "samsung,exynos5420-pinctrl": for Exynos5420 compatible pin-controller. - "samsung,exynos5433-pinctrl": for Exynos5433 compatible pin-controller. - "samsung,exynos7-pinctrl": for Exynos7 compatible pin-controller. - - "samsung,exynos7885-pinctrl": for Exynos7885 compatible pin-controller. - "samsung,exynos850-pinctrl": for Exynos850 compatible pin-controller. - - "samsung,exynosautov9-pinctrl": for ExynosAutov9 compatible pin-controller. - reg: Base address of the pin controller hardware module and length of the address space it occupies. diff --git a/Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml index 14a8c0215c..502480a19f 100644 --- a/Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/socionext,uniphier-pinctrl.yaml @@ -10,6 +10,9 @@ maintainers: - Masahiro Yamada properties: + $nodename: + pattern: "pinctrl" + compatible: enum: - socionext,uniphier-ld4-pinctrl @@ -21,50 +24,12 @@ properties: - socionext,uniphier-ld11-pinctrl - socionext,uniphier-ld20-pinctrl - socionext,uniphier-pxs3-pinctrl - - socionext,uniphier-nx1-pinctrl - -additionalProperties: - type: object - - allOf: - - $ref: pincfg-node.yaml# - - $ref: pinmux-node.yaml# - - properties: - phandle: true - function: true - groups: true - pins: true - bias-pull-up: true - bias-pull-down: true - bias-pull-pin-default: true - drive-strength: true - - additionalProperties: - type: object - - allOf: - - $ref: pincfg-node.yaml# - - $ref: pinmux-node.yaml# - - properties: - phandle: true - function: true - groups: true - pins: true - bias-pull-up: true - bias-pull-down: true - bias-pull-pin-default: true - drive-strength: true - - unevaluatedProperties: false - -allOf: - - $ref: "pinctrl.yaml#" required: - compatible +additionalProperties: false + examples: - | // The UniPhier pinctrl should be a subnode of a "syscon" compatible node. diff --git a/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml index 83a18d0331..dfee6d38a7 100644 --- a/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml @@ -8,7 +8,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STM32 GPIO and Pin Mux/Config controller maintainers: - - Alexandre TORGUE + - Alexandre TORGUE description: | STMicroelectronics's STM32 MCUs intregrate a GPIO and Pin mux/config hardware @@ -183,9 +183,6 @@ patternProperties: required: - pinmux -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - '#address-cells' diff --git a/Documentation/devicetree/bindings/pinctrl/toshiba,visconti-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/toshiba,visconti-pinctrl.yaml index 306524885a..9f1dab0c24 100644 --- a/Documentation/devicetree/bindings/pinctrl/toshiba,visconti-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/toshiba,visconti-pinctrl.yaml @@ -20,9 +20,6 @@ properties: reg: maxItems: 1 -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg @@ -83,7 +80,7 @@ examples: #address-cells = <2>; #size-cells = <2>; - pmux: pinmux@24190000 { + pmux: pmux@24190000 { compatible = "toshiba,tmpv7708-pinctrl"; reg = <0 0x24190000 0 0x10000>; diff --git a/Documentation/devicetree/bindings/pinctrl/xlnx,zynq-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/xlnx,zynq-pinctrl.yaml index cfd0cc549a..ac97dbf699 100644 --- a/Documentation/devicetree/bindings/pinctrl/xlnx,zynq-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/xlnx,zynq-pinctrl.yaml @@ -167,9 +167,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: "pinctrl.yaml#" - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/pinctrl/xlnx,zynqmp-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/xlnx,zynqmp-pinctrl.yaml index 2722dc7bb0..8ef0d07d35 100644 --- a/Documentation/devicetree/bindings/pinctrl/xlnx,zynqmp-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/xlnx,zynqmp-pinctrl.yaml @@ -290,9 +290,6 @@ patternProperties: additionalProperties: false -allOf: - - $ref: pinctrl.yaml# - required: - compatible diff --git a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml b/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml index f48bc41d81..239f37881c 100644 --- a/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml +++ b/Documentation/devicetree/bindings/power/qcom,rpmpd.yaml @@ -19,12 +19,10 @@ properties: - qcom,mdm9607-rpmpd - qcom,msm8916-rpmpd - qcom,msm8939-rpmpd - - qcom,msm8953-rpmpd - qcom,msm8976-rpmpd - qcom,msm8994-rpmpd - qcom,msm8996-rpmpd - qcom,msm8998-rpmpd - - qcom,qcm2290-rpmpd - qcom,qcs404-rpmpd - qcom,sdm660-rpmpd - qcom,sc7180-rpmhpd @@ -33,12 +31,9 @@ properties: - qcom,sdm845-rpmhpd - qcom,sdx55-rpmhpd - qcom,sm6115-rpmpd - - qcom,sm6125-rpmpd - - qcom,sm6350-rpmhpd - qcom,sm8150-rpmhpd - qcom,sm8250-rpmhpd - qcom,sm8350-rpmhpd - - qcom,sm8450-rpmhpd '#power-domain-cells': const: 1 diff --git a/Documentation/devicetree/bindings/power/renesas,rcar-sysc.yaml b/Documentation/devicetree/bindings/power/renesas,rcar-sysc.yaml index 62a49ca319..99e8042ac1 100644 --- a/Documentation/devicetree/bindings/power/renesas,rcar-sysc.yaml +++ b/Documentation/devicetree/bindings/power/renesas,rcar-sysc.yaml @@ -41,7 +41,6 @@ properties: - renesas,r8a77990-sysc # R-Car E3 - renesas,r8a77995-sysc # R-Car D3 - renesas,r8a779a0-sysc # R-Car V3U - - renesas,r8a779f0-sysc # R-Car S4-8 reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/power/supply/bq25980.yaml b/Documentation/devicetree/bindings/power/supply/bq25980.yaml index 8367a1fd40..06eca6667f 100644 --- a/Documentation/devicetree/bindings/power/supply/bq25980.yaml +++ b/Documentation/devicetree/bindings/power/supply/bq25980.yaml @@ -105,7 +105,7 @@ examples: reg = <0x65>; interrupt-parent = <&gpio1>; interrupts = <16 IRQ_TYPE_EDGE_FALLING>; - ti,watchdog-timeout-ms = <0>; + ti,watchdog-timer = <0>; ti,sc-ocp-limit-microamp = <2000000>; ti,sc-ovp-limit-microvolt = <17800000>; monitored-battery = <&bat>; diff --git a/Documentation/devicetree/bindings/power/supply/maxim,max17040.yaml b/Documentation/devicetree/bindings/power/supply/maxim,max17040.yaml index 6b4588a325..f792d06db4 100644 --- a/Documentation/devicetree/bindings/power/supply/maxim,max17040.yaml +++ b/Documentation/devicetree/bindings/power/supply/maxim,max17040.yaml @@ -44,9 +44,7 @@ properties: SoC == State of Charge == Capacity. maxim,rcomp: - $ref: /schemas/types.yaml#/definitions/uint8-array - minItems: 1 - maxItems: 2 + $ref: /schemas/types.yaml#/definitions/uint32 description: | A value to compensate readings for various battery chemistries and operating temperatures. max17040,41 have 2 byte rcomp, default to 0x97 0x00. @@ -64,7 +62,7 @@ required: - compatible - reg -unevaluatedProperties: false +additionalProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/power/supply/qcom,pm8941-charger.yaml b/Documentation/devicetree/bindings/power/supply/qcom,pm8941-charger.yaml index caeff68c66..bc8904872d 100644 --- a/Documentation/devicetree/bindings/power/supply/qcom,pm8941-charger.yaml +++ b/Documentation/devicetree/bindings/power/supply/qcom,pm8941-charger.yaml @@ -11,9 +11,7 @@ maintainers: properties: compatible: - enum: - - qcom,pm8226-charger - - qcom,pm8941-charger + const: qcom,pm8941-charger reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-btemp.yaml b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-btemp.yaml index 4b8a00cec3..2f57aa5a5f 100644 --- a/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-btemp.yaml +++ b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-btemp.yaml @@ -17,13 +17,9 @@ properties: compatible: const: stericsson,ab8500-btemp - monitored-battery: - $ref: /schemas/types.yaml#/definitions/phandle - description: phandle to battery node - battery: $ref: /schemas/types.yaml#/definitions/phandle - deprecated: true + description: phandle to battery node interrupts: maxItems: 5 @@ -46,7 +42,7 @@ properties: required: - compatible - - monitored-battery + - battery - interrupts - interrupt-names - io-channels @@ -60,7 +56,7 @@ examples: pmic { battery-temperature { compatible = "stericsson,ab8500-btemp"; - monitored-battery = <&battery>; + battery = <&ab8500_battery>; interrupts = <20 IRQ_TYPE_LEVEL_HIGH>, <80 IRQ_TYPE_LEVEL_HIGH>, <83 IRQ_TYPE_LEVEL_HIGH>, diff --git a/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-chargalg.yaml b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-chargalg.yaml index 6799224f7f..0897231c2f 100644 --- a/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-chargalg.yaml +++ b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-chargalg.yaml @@ -17,17 +17,13 @@ properties: compatible: const: stericsson,ab8500-chargalg - monitored-battery: + battery: $ref: /schemas/types.yaml#/definitions/phandle description: phandle to battery node - battery: - $ref: /schemas/types.yaml#/definitions/phandle - deprecated: true - required: - compatible - - monitored-battery + - battery additionalProperties: false @@ -36,6 +32,6 @@ examples: pmic { charging-algorithm { compatible = "stericsson,ab8500-chargalg"; - monitored-battery = <&ab8500_battery>; + battery = <&ab8500_battery>; }; }; diff --git a/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-charger.yaml b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-charger.yaml index 9518eb7289..e13305afea 100644 --- a/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-charger.yaml +++ b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-charger.yaml @@ -17,13 +17,9 @@ properties: compatible: const: stericsson,ab8500-charger - monitored-battery: - $ref: /schemas/types.yaml#/definitions/phandle - description: phandle to battery node - battery: $ref: /schemas/types.yaml#/definitions/phandle - deprecated: true + description: phandle to battery node vddadc-supply: description: Supply for USB and Main charger @@ -70,7 +66,7 @@ properties: required: - compatible - - monitored-battery + - battery - vddadc-supply - interrupts - interrupt-names @@ -85,7 +81,7 @@ examples: pmic { charger { compatible = "stericsson,ab8500-charger"; - monitored-battery = <&battery>; + battery = <&ab8500_battery>; vddadc-supply = <&ab8500_ldo_tvout_reg>; interrupts = <10 IRQ_TYPE_LEVEL_HIGH>, <11 IRQ_TYPE_LEVEL_HIGH>, diff --git a/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-fg.yaml b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-fg.yaml index 54ac42a9d3..db342e5ac0 100644 --- a/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-fg.yaml +++ b/Documentation/devicetree/bindings/power/supply/stericsson,ab8500-fg.yaml @@ -17,13 +17,9 @@ properties: compatible: const: stericsson,ab8500-fg - monitored-battery: - $ref: /schemas/types.yaml#/definitions/phandle - description: phandle to battery node - battery: $ref: /schemas/types.yaml#/definitions/phandle - deprecated: true + description: phandle to battery node interrupts: maxItems: 5 @@ -45,7 +41,7 @@ properties: required: - compatible - - monitored-battery + - battery - interrupts - interrupt-names - io-channels @@ -59,7 +55,7 @@ examples: pmic { fuel-gauge { compatible = "stericsson,ab8500-fg"; - monitored-battery = <&battery>; + battery = <&ab8500_battery>; interrupts = <24 IRQ_TYPE_LEVEL_HIGH>, <8 IRQ_TYPE_LEVEL_HIGH>, <28 IRQ_TYPE_LEVEL_HIGH>, diff --git a/Documentation/devicetree/bindings/pwm/pwm-sifive.yaml b/Documentation/devicetree/bindings/pwm/pwm-sifive.yaml index db41cd7bf1..84e66913d0 100644 --- a/Documentation/devicetree/bindings/pwm/pwm-sifive.yaml +++ b/Documentation/devicetree/bindings/pwm/pwm-sifive.yaml @@ -8,6 +8,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: SiFive PWM controller maintainers: + - Yash Shah - Sagar Kadam - Paul Walmsley diff --git a/Documentation/devicetree/bindings/pwm/pwm.yaml b/Documentation/devicetree/bindings/pwm/pwm.yaml index 3c01f85029..2effe6c0de 100644 --- a/Documentation/devicetree/bindings/pwm/pwm.yaml +++ b/Documentation/devicetree/bindings/pwm/pwm.yaml @@ -9,8 +9,6 @@ title: PWM controllers (providers) maintainers: - Thierry Reding -select: false - properties: $nodename: pattern: "^pwm(@.*|-[0-9a-f])*$" diff --git a/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.yaml b/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.yaml index 1f5c638418..81ccb21101 100644 --- a/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.yaml +++ b/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.yaml @@ -35,11 +35,9 @@ properties: - renesas,tpu-r8a7794 # R-Car E2 - renesas,tpu-r8a7795 # R-Car H3 - renesas,tpu-r8a7796 # R-Car M3-W - - renesas,tpu-r8a77961 # R-Car M3-W+ - renesas,tpu-r8a77965 # R-Car M3-N - renesas,tpu-r8a77970 # R-Car V3M - renesas,tpu-r8a77980 # R-Car V3H - - renesas,tpu-r8a779a0 # R-Car V3U - const: renesas,tpu reg: diff --git a/Documentation/devicetree/bindings/regulator/dlg,da9121.yaml b/Documentation/devicetree/bindings/regulator/dlg,da9121.yaml index 24ace6e1e5..228018c87b 100644 --- a/Documentation/devicetree/bindings/regulator/dlg,da9121.yaml +++ b/Documentation/devicetree/bindings/regulator/dlg,da9121.yaml @@ -17,39 +17,27 @@ description: | Dialog Semiconductor DA9130 Single-channel 10A double-phase buck converter Dialog Semiconductor DA9131 Double-channel 5A single-phase buck converter Dialog Semiconductor DA9132 Double-channel 3A single-phase buck converter - Dialog Semiconductor DA9141 Single-channel 40A quad-phase buck converter - Dialog Semiconductor DA9142 Single-channel 20A double-phase buck converter - Device parameter ranges + Current limits - The current limits can be set to at/near double the rated current per channel - to allow for transient peaks. - Current limit changes when the output is enabled are not supported, as a - precaution against undefined behaviour. + This is PER PHASE, and the current limit setting in the devices reflect + that with a maximum 10A limit. Allowing for transients at/near double + the rated current, this translates across the device range to per + channel figures as so... - |----------------------------------------------| - | | range & reset default value | - | Device |------------------------------| - | | microvolt | microamp | - |----------------------------------------------| - | DA9121/DA9130 | Min: 300000 | Min: 7000000 | - | | Max: 1900000 | Max: 20000000 | - |----------------------------------------------| - | DA9121/DA9131 | Min: 300000 | Min: 3500000 | - | | Max: 1900000 | Max: 10000000 | - |----------------------------------------------| - | DA9121/DA9131 | Min: 300000 | Min: 3500000 | - | | Max: 1900000 | Max: 6000000 | - |----------------------------------------------| - | DA9217 | Min: 300000 | Min: 7000000 | - | | Max: 1900000 | Max: 12000000 | - |----------------------------------------------| - | DA9141 | Min: 300000 | Min: 26000000 | - | | Max: 1300000 | Max: 78000000 | - |----------------------------------------------| - | DA9142 | Min: 300000 | Min: 13000000 | - | | Max: 1300000 | Max: 39000000 | - |----------------------------------------------| + | DA9121 DA9122 DA9220 DA9217 DA9140 + | /DA9130 /DA9131 /DA9132 + ----------------------------------------------------------------------------- + Output current / channel | 10000000 5000000 3000000 6000000 40000000 + Output current / phase | 5000000 5000000 3000000 3000000 9500000 + ----------------------------------------------------------------------------- + Min regulator-min-microvolt| 300000 300000 300000 300000 500000 + Max regulator-max-microvolt| 1900000 1900000 1900000 1900000 1000000 + Device hardware default | 1000000 1000000 1000000 1000000 1000000 + ----------------------------------------------------------------------------- + Min regulator-min-microamp | 7000000 3500000 3500000 7000000 26000000 + Max regulator-max-microamp | 20000000 10000000 6000000 12000000 78000000 + Device hardware default | 15000000 7500000 5500000 11000000 58000000 properties: $nodename: @@ -63,8 +51,7 @@ properties: - dlg,da9130 - dlg,da9131 - dlg,da9132 - - dlg,da9141 - - dlg,da9142 + - dlg,da9140 reg: maxItems: 1 @@ -83,24 +70,26 @@ properties: regulators: type: object + $ref: regulator.yaml# description: | - List of regulators provided by the device + This node defines the settings for the BUCK. The content of the + sub-node is defined by the standard binding for regulators; see regulator.yaml. + The DA9121 regulator is bound using their names listed below + buck1 - BUCK1 + buck2 - BUCK2 //DA9122, DA9220, DA9131, DA9132 only patternProperties: "^buck([1-2])$": type: object $ref: regulator.yaml# - description: | - Properties for a single BUCK regulator properties: - regulator-name: - pattern: "^BUCK([1-2])$" - description: | - BUCK2 present in DA9122, DA9220, DA9131, DA9132 only + regulator-mode: + maxItems: 1 + description: Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h regulator-initial-mode: - enum: [ 0, 1, 2, 3 ] + maxItems: 1 description: Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h enable-gpios: @@ -109,7 +98,6 @@ properties: dlg,ripple-cancel: $ref: "/schemas/types.yaml#/definitions/uint32" - enum: [ 0, 1, 2, 3 ] description: | Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h Only present on multi-channel devices (DA9122, DA9220, DA9131, DA9132) diff --git a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml index 5c73d3f639..34de38377a 100644 --- a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml +++ b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml @@ -35,7 +35,6 @@ description: | PMIC. Supported regulator node names are For PM6150, smps1 - smps5, ldo1 - ldo19 For PM6150L, smps1 - smps8, ldo1 - ldo11, bob - For PM6350, smps1 - smps5, ldo1 - ldo22 For PM7325, smps1 - smps8, ldo1 - ldo19 For PM8005, smps1 - smps4 For PM8009, smps1 - smps2, ldo1 - ldo7 @@ -43,7 +42,6 @@ description: | For PM8150L, smps1 - smps8, ldo1 - ldo11, bob, flash, rgb For PM8350, smps1 - smps12, ldo1 - ldo10 For PM8350C, smps1 - smps10, ldo1 - ldo13, bob - For PM8450, smps1 - smps6, ldo1 - ldo4 For PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2 For PMI8998, bob For PMR735A, smps1 - smps3, ldo1 - ldo7 @@ -54,7 +52,6 @@ properties: enum: - qcom,pm6150-rpmh-regulators - qcom,pm6150l-rpmh-regulators - - qcom,pm6350-rpmh-regulators - qcom,pm7325-rpmh-regulators - qcom,pm8005-rpmh-regulators - qcom,pm8009-rpmh-regulators @@ -63,9 +60,7 @@ properties: - qcom,pm8150l-rpmh-regulators - qcom,pm8350-rpmh-regulators - qcom,pm8350c-rpmh-regulators - - qcom,pm8450-rpmh-regulators - qcom,pm8998-rpmh-regulators - - qcom,pmg1110-rpmh-regulators - qcom,pmi8998-rpmh-regulators - qcom,pmm8155au-rpmh-regulators - qcom,pmr735a-rpmh-regulators diff --git a/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml b/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml index f052e03be4..83b53579f4 100644 --- a/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml +++ b/Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml @@ -65,9 +65,6 @@ description: For pms405, s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13 - For pm2250, s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, - l12, l13, l14, l15, l16, l17, l18, l19, l20, l21, l22 - maintainers: - Kathiravan T @@ -89,7 +86,6 @@ properties: - qcom,rpm-pmi8994-regulators - qcom,rpm-pmi8998-regulators - qcom,rpm-pms405-regulators - - qcom,rpm-pm2250-regulators patternProperties: ".*-supply$": diff --git a/Documentation/devicetree/bindings/regulator/qcom,spmi-regulator.txt b/Documentation/devicetree/bindings/regulator/qcom,spmi-regulator.txt index c2a39b121b..2b544059e0 100644 --- a/Documentation/devicetree/bindings/regulator/qcom,spmi-regulator.txt +++ b/Documentation/devicetree/bindings/regulator/qcom,spmi-regulator.txt @@ -6,7 +6,6 @@ Qualcomm SPMI Regulators Definition: must be one of: "qcom,pm8004-regulators" "qcom,pm8005-regulators" - "qcom,pm8226-regulators" "qcom,pm8841-regulators" "qcom,pm8916-regulators" "qcom,pm8941-regulators" diff --git a/Documentation/devicetree/bindings/regulator/regulator.yaml b/Documentation/devicetree/bindings/regulator/regulator.yaml index ed560ee871..a6ae9ecae5 100644 --- a/Documentation/devicetree/bindings/regulator/regulator.yaml +++ b/Documentation/devicetree/bindings/regulator/regulator.yaml @@ -218,7 +218,7 @@ properties: description: Array of maximum spread between voltages of coupled regulators in microvolts, each value in the array relates to the corresponding couple specified by the regulator-coupled-with property. - $ref: "/schemas/types.yaml#/definitions/uint32-array" + $ref: "/schemas/types.yaml#/definitions/uint32" regulator-max-step-microvolt: description: Maximum difference between current and target voltages diff --git a/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt b/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt index 093edda0c8..6cd83d9201 100644 --- a/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt +++ b/Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt @@ -13,6 +13,14 @@ common regulator binding documented in: Required properties of the main device node (the parent!): + - s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used + for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines. + + [1] If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional + property is specified, then all the eight voltage values for the + 's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified. + +Optional properties of the main device node (the parent!): - s5m8767,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV) units for buck2 when changing voltage using gpio dvs. Refer to [1] below for additional information. @@ -25,26 +33,13 @@ Required properties of the main device node (the parent!): units for buck4 when changing voltage using gpio dvs. Refer to [1] below for additional information. - - s5m8767,pmic-buck-ds-gpios: GPIO specifiers for three host gpio's used - for selecting GPIO DVS lines. It is one-to-one mapped to dvs gpio lines. - - [1] If none of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional - property is specified, the 's5m8767,pmic-buck[2/3/4]-dvs-voltage' - property should specify atleast one voltage level (which would be a - safe operating voltage). - - If either of the 's5m8767,pmic-buck[2/3/4]-uses-gpio-dvs' optional - property is specified, then all the eight voltage values for the - 's5m8767,pmic-buck[2/3/4]-dvs-voltage' should be specified. - -Optional properties of the main device node (the parent!): - s5m8767,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs. - s5m8767,pmic-buck3-uses-gpio-dvs: 'buck3' can be controlled by gpio dvs. - s5m8767,pmic-buck4-uses-gpio-dvs: 'buck4' can be controlled by gpio dvs. Additional properties required if either of the optional properties are used: - - s5m8767,pmic-buck234-default-dvs-idx: Default voltage setting selected from + - s5m8767,pmic-buck-default-dvs-idx: Default voltage setting selected from the possible 8 options selectable by the dvs gpios. The value of this property should be between 0 and 7. If not specified or if out of range, the default value of this property is set to 0. diff --git a/Documentation/devicetree/bindings/regulator/socionext,uniphier-regulator.yaml b/Documentation/devicetree/bindings/regulator/socionext,uniphier-regulator.yaml index 1218f21ba3..861d5f3c79 100644 --- a/Documentation/devicetree/bindings/regulator/socionext,uniphier-regulator.yaml +++ b/Documentation/devicetree/bindings/regulator/socionext,uniphier-regulator.yaml @@ -27,7 +27,6 @@ properties: - socionext,uniphier-pxs2-usb3-regulator - socionext,uniphier-ld20-usb3-regulator - socionext,uniphier-pxs3-usb3-regulator - - socionext,uniphier-nx1-usb3-regulator reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/regulator/st,stm32-booster.yaml b/Documentation/devicetree/bindings/regulator/st,stm32-booster.yaml index df0191b1ce..9f1c70381b 100644 --- a/Documentation/devicetree/bindings/regulator/st,stm32-booster.yaml +++ b/Documentation/devicetree/bindings/regulator/st,stm32-booster.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 booster for ADC analog input switches bindings maintainers: - - Fabrice Gasnier + - Fabrice Gasnier description: | Some STM32 devices embed a 3.3V booster supplied by Vdda, that can be used diff --git a/Documentation/devicetree/bindings/regulator/st,stm32-vrefbuf.yaml b/Documentation/devicetree/bindings/regulator/st,stm32-vrefbuf.yaml index 836d4156d5..3cd4a254e4 100644 --- a/Documentation/devicetree/bindings/regulator/st,stm32-vrefbuf.yaml +++ b/Documentation/devicetree/bindings/regulator/st,stm32-vrefbuf.yaml @@ -12,7 +12,7 @@ description: | components through the dedicated VREF+ pin. maintainers: - - Fabrice Gasnier + - Fabrice Gasnier allOf: - $ref: "regulator.yaml#" diff --git a/Documentation/devicetree/bindings/regulator/st,stm32mp1-pwr-reg.yaml b/Documentation/devicetree/bindings/regulator/st,stm32mp1-pwr-reg.yaml index bd07b9c815..e6322bc3e4 100644 --- a/Documentation/devicetree/bindings/regulator/st,stm32mp1-pwr-reg.yaml +++ b/Documentation/devicetree/bindings/regulator/st,stm32mp1-pwr-reg.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STM32MP1 PWR voltage regulators maintainers: - - Pascal Paillet + - Pascal Paillet properties: compatible: diff --git a/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml b/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml index aaaaabad46..d0aa91bbf5 100644 --- a/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml +++ b/Documentation/devicetree/bindings/remoteproc/ingenic,vpu.yaml @@ -58,7 +58,7 @@ additionalProperties: false examples: - | - #include + #include vpu: video-decoder@132a0000 { compatible = "ingenic,jz4770-vpu-rproc"; diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml index c635c181d2..0c112f3264 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml +++ b/Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml @@ -25,7 +25,6 @@ properties: - qcom,qcs404-cdsp-pas - qcom,qcs404-wcss-pas - qcom,sc7180-mpss-pas - - qcom,sc7280-mpss-pas - qcom,sc8180x-adsp-pas - qcom,sc8180x-cdsp-pas - qcom,sc8180x-mpss-pas @@ -33,9 +32,6 @@ properties: - qcom,sdm845-adsp-pas - qcom,sdm845-cdsp-pas - qcom,sdx55-mpss-pas - - qcom,sm6350-adsp-pas - - qcom,sm6350-cdsp-pas - - qcom,sm6350-mpss-pas - qcom,sm8150-adsp-pas - qcom,sm8150-cdsp-pas - qcom,sm8150-mpss-pas @@ -97,10 +93,6 @@ properties: maxItems: 1 description: Reference to the reserved-memory for the Hexagon core - qcom,qmp: - $ref: /schemas/types.yaml#/definitions/phandle - description: Reference to the AOSS side-channel message RAM. - qcom,smem-states: $ref: /schemas/types.yaml#/definitions/phandle-array description: States used by the AP to signal the Hexagon core @@ -155,15 +147,11 @@ allOf: - qcom,msm8998-adsp-pas - qcom,qcs404-adsp-pas - qcom,qcs404-wcss-pas - - qcom,sc7280-mpss-pas - qcom,sc8180x-adsp-pas - qcom,sc8180x-cdsp-pas - qcom,sc8180x-mpss-pas - qcom,sdm845-adsp-pas - qcom,sdm845-cdsp-pas - - qcom,sm6350-adsp-pas - - qcom,sm6350-cdsp-pas - - qcom,sm6350-mpss-pas - qcom,sm8150-adsp-pas - qcom,sm8150-cdsp-pas - qcom,sm8150-mpss-pas @@ -272,8 +260,6 @@ allOf: - qcom,sc8180x-cdsp-pas - qcom,sdm845-adsp-pas - qcom,sdm845-cdsp-pas - - qcom,sm6350-adsp-pas - - qcom,sm6350-cdsp-pas - qcom,sm8150-adsp-pas - qcom,sm8150-cdsp-pas - qcom,sm8150-slpi-pas @@ -306,10 +292,8 @@ allOf: contains: enum: - qcom,sc7180-mpss-pas - - qcom,sc7280-mpss-pas - qcom,sc8180x-mpss-pas - qcom,sdx55-mpss-pas - - qcom,sm6350-mpss-pas - qcom,sm8150-mpss-pas - qcom,sm8350-mpss-pas then: @@ -385,32 +369,17 @@ allOf: properties: power-domains: items: + - description: Load State power domain - description: CX power domain - description: MX power domain - description: MSS power domain power-domain-names: items: + - const: load_state - const: cx - const: mx - const: mss - - if: - properties: - compatible: - contains: - enum: - - qcom,sm6350-cdsp-pas - then: - properties: - power-domains: - items: - - description: CX power domain - - description: MX power domain - power-domain-names: - items: - - const: cx - - const: mx - - if: properties: compatible: @@ -422,18 +391,39 @@ allOf: properties: power-domains: items: + - description: Load State power domain - description: CX power domain + power-domain-names: + items: + - const: load_state + - const: cx - if: properties: compatible: contains: enum: - - qcom,sc7280-mpss-pas - - qcom,sdx55-mpss-pas - - qcom,sm6350-mpss-pas - qcom,sm8150-mpss-pas - qcom,sm8350-mpss-pas + then: + properties: + power-domains: + items: + - description: Load State power domain + - description: CX power domain + - description: MSS power domain + power-domain-names: + items: + - const: load_state + - const: cx + - const: mss + + - if: + properties: + compatible: + contains: + enum: + - qcom,sdx55-mpss-pas then: properties: power-domains: @@ -452,7 +442,6 @@ allOf: enum: - qcom,sc8180x-adsp-pas - qcom,sc8180x-cdsp-pas - - qcom,sm6350-adsp-pas - qcom,sm8150-slpi-pas - qcom,sm8250-adsp-pas - qcom,sm8250-slpi-pas @@ -462,10 +451,12 @@ allOf: properties: power-domains: items: + - description: Load State power domain - description: LCX power domain - description: LMX power domain power-domain-names: items: + - const: load_state - const: lcx - const: lmx @@ -479,10 +470,12 @@ allOf: properties: power-domains: items: + - description: Load State power domain - description: CX power domain - description: MXC power domain power-domain-names: items: + - const: load_state - const: cx - const: mxc @@ -507,7 +500,6 @@ allOf: contains: enum: - qcom,sc7180-mpss-pas - - qcom,sc7280-mpss-pas then: properties: resets: @@ -519,25 +511,6 @@ allOf: - const: mss_restart - const: pdc_reset - - if: - properties: - compatible: - contains: - enum: - - qcom,msm8974-adsp-pil - - qcom,msm8996-adsp-pil - - qcom,msm8996-slpi-pil - - qcom,msm8998-adsp-pas - - qcom,msm8998-slpi-pas - - qcom,qcs404-adsp-pas - - qcom,qcs404-cdsp-pas - - qcom,qcs404-wcss-pas - - qcom,sdm660-adsp-pas - - qcom,sdx55-mpss-pas - then: - properties: - qcom,qmp: false - examples: - | #include diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt index 8f1507052a..69c49c7b2c 100644 --- a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt +++ b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt @@ -15,7 +15,6 @@ on the Qualcomm Hexagon core. "qcom,msm8996-mss-pil" "qcom,msm8998-mss-pil" "qcom,sc7180-mss-pil" - "qcom,sc7280-mss-pil" "qcom,sdm845-mss-pil" - reg: @@ -48,7 +47,6 @@ on the Qualcomm Hexagon core. qcom,msm8996-mss-pil: qcom,msm8998-mss-pil: qcom,sc7180-mss-pil: - qcom,sc7280-mss-pil: qcom,sdm845-mss-pil: must be "wdog", "fatal", "ready", "handover", "stop-ack", "shutdown-ack" @@ -89,8 +87,6 @@ on the Qualcomm Hexagon core. qcom,sc7180-mss-pil: must be "iface", "bus", "xo", "snoc_axi", "mnoc_axi", "nav" - qcom,sc7280-mss-pil: - must be "iface", "xo", "snoc_axi", "offline", "pka" qcom,sdm845-mss-pil: must be "iface", "bus", "mem", "xo", "gpll0_mss", "snoc_axi", "mnoc_axi", "prng" @@ -102,7 +98,7 @@ on the Qualcomm Hexagon core. reference to the list of 3 reset-controllers for the wcss sub-system reference to the list of 2 reset-controllers for the modem - sub-system on SC7180, SC7280, SDM845 SoCs + sub-system on SC7180, SDM845 SoCs - reset-names: Usage: required @@ -111,7 +107,7 @@ on the Qualcomm Hexagon core. must be "wcss_aon_reset", "wcss_reset", "wcss_q6_reset" for the wcss sub-system must be "mss_restart", "pdc_reset" for the modem - sub-system on SC7180, SC7280, SDM845 SoCs + sub-system on SC7180, SDM845 SoCs For devices where the mba and mpss sub-nodes are not specified, mba/mpss region should be referenced as follows: @@ -177,16 +173,8 @@ For the compatible string below the following supplies are required: qcom,msm8998-mss-pil: must be "cx", "mx" qcom,sc7180-mss-pil: - must be "cx", "mx", "mss" - qcom,sc7280-mss-pil: - must be "cx", "mss" qcom,sdm845-mss-pil: - must be "cx", "mx", "mss" - -- qcom,qmp: - Usage: optional - Value type: - Definition: reference to the AOSS side-channel message RAM. + must be "cx", "mx", "mss", "load_state" - qcom,smem-states: Usage: required @@ -205,9 +193,6 @@ For the compatible string below the following supplies are required: Definition: a phandle reference to a syscon representing TCSR followed by the three offsets within syscon for q6, modem and nc halt registers. - a phandle reference to a syscon representing TCSR followed - by the four offsets within syscon for q6, modem, nc and vq6 - halt registers on SC7280 SoCs. For the compatible strings below the following phandle references are required: "qcom,sc7180-mss-pil" @@ -218,24 +203,6 @@ For the compatible strings below the following phandle references are required: by the offset within syscon for conn_box_spare0 register used by the modem sub-system running on SC7180 SoC. -For the compatible strings below the following phandle references are required: - "qcom,sc7280-mss-pil" -- qcom,ext-regs: - Usage: required - Value type: - Definition: two phandle references to syscons representing TCSR_REG and - TCSR register space followed by the two offsets within the syscon - to force_clk_en/rscc_disable and axim1_clk_off/crypto_clk_off - registers respectively. - -- qcom,qaccept-regs: - Usage: required - Value type: - Definition: a phandle reference to a syscon representing TCSR followed - by the three offsets within syscon for mdm, cx and axi - qaccept registers used by the modem sub-system running on - SC7280 SoC. - The Hexagon node must contain iommus property as described in ../iommu/iommu.txt on platforms which do not have TrustZone. diff --git a/Documentation/devicetree/bindings/remoteproc/st,stm32-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/st,stm32-rproc.yaml index b587c97c28..1e6225677e 100644 --- a/Documentation/devicetree/bindings/remoteproc/st,stm32-rproc.yaml +++ b/Documentation/devicetree/bindings/remoteproc/st,stm32-rproc.yaml @@ -11,8 +11,8 @@ description: boots firmwares on the ST32MP family chipset. maintainers: - - Fabien Dessenne - - Arnaud Pouliquen + - Fabien Dessenne + - Arnaud Pouliquen properties: compatible: diff --git a/Documentation/devicetree/bindings/remoteproc/ti,k3-dsp-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/ti,k3-dsp-rproc.yaml index 7b56497eec..6070456a7b 100644 --- a/Documentation/devicetree/bindings/remoteproc/ti,k3-dsp-rproc.yaml +++ b/Documentation/devicetree/bindings/remoteproc/ti,k3-dsp-rproc.yaml @@ -33,11 +33,9 @@ properties: enum: - ti,j721e-c66-dsp - ti,j721e-c71-dsp - - ti,j721s2-c71-dsp description: Use "ti,j721e-c66-dsp" for C66x DSPs on K3 J721E SoCs Use "ti,j721e-c71-dsp" for C71x DSPs on K3 J721E SoCs - Use "ti,j721s2-c71-dsp" for C71x DSPs on K3 J721S2 SoCs resets: description: | @@ -108,7 +106,6 @@ else: compatible: enum: - ti,j721e-c71-dsp - - ti,j721s2-c71-dsp then: properties: reg: @@ -136,7 +133,9 @@ unevaluatedProperties: false examples: - | - soc { + / { + model = "Texas Instruments K3 J721E SoC"; + compatible = "ti,j721e"; #address-cells = <2>; #size-cells = <2>; diff --git a/Documentation/devicetree/bindings/remoteproc/ti,k3-r5f-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/ti,k3-r5f-rproc.yaml index d9c7e8c2b2..130fbaacc4 100644 --- a/Documentation/devicetree/bindings/remoteproc/ti,k3-r5f-rproc.yaml +++ b/Documentation/devicetree/bindings/remoteproc/ti,k3-r5f-rproc.yaml @@ -38,7 +38,6 @@ properties: - ti,j721e-r5fss - ti,j7200-r5fss - ti,am64-r5fss - - ti,j721s2-r5fss power-domains: description: | @@ -65,9 +64,9 @@ properties: description: | Configuration Mode for the Dual R5F cores within the R5F cluster. Should be either a value of 1 (LockStep mode) or 0 (Split mode) on - most SoCs (AM65x, J721E, J7200, J721s2), default is LockStep mode if - omitted; and should be either a value of 0 (Split mode) or 2 - (Single-CPU mode) on AM64x SoCs, default is Split mode if omitted. + most SoCs (AM65x, J721E, J7200), default is LockStep mode if omitted; + and should be either a value of 0 (Split mode) or 2 (Single-CPU mode) + on AM64x SoCs, default is Split mode if omitted. # R5F Processor Child Nodes: # ========================== @@ -105,7 +104,6 @@ patternProperties: - ti,j721e-r5f - ti,j7200-r5f - ti,am64-r5f - - ti,j721s2-r5f reg: items: @@ -232,7 +230,9 @@ additionalProperties: false examples: - | - soc { + / { + model = "Texas Instruments K3 AM654 SoC"; + compatible = "ti,am654-evm", "ti,am654"; #address-cells = <2>; #size-cells = <2>; diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt index 1810701a85..39b5f4c5a5 100644 --- a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt +++ b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt @@ -1 +1,171 @@ -This file has been moved to reserved-memory.yaml. +*** Reserved memory regions *** + +Reserved memory is specified as a node under the /reserved-memory node. +The operating system shall exclude reserved memory from normal usage +one can create child nodes describing particular reserved (excluded from +normal use) memory regions. Such memory regions are usually designed for +the special usage by various device drivers. + +Parameters for each memory region can be encoded into the device tree +with the following nodes: + +/reserved-memory node +--------------------- +#address-cells, #size-cells (required) - standard definition + - Should use the same values as the root node +ranges (required) - standard definition + - Should be empty + +/reserved-memory/ child nodes +----------------------------- +Each child of the reserved-memory node specifies one or more regions of +reserved memory. Each child node may either use a 'reg' property to +specify a specific range of reserved memory, or a 'size' property with +optional constraints to request a dynamically allocated block of memory. + +Following the generic-names recommended practice, node names should +reflect the purpose of the node (ie. "framebuffer" or "dma-pool"). Unit +address (@
) should be appended to the name if the node is a +static allocation. + +Properties: +Requires either a) or b) below. +a) static allocation + reg (required) - standard definition +b) dynamic allocation + size (required) - length based on parent's #size-cells + - Size in bytes of memory to reserve. + alignment (optional) - length based on parent's #size-cells + - Address boundary for alignment of allocation. + alloc-ranges (optional) - prop-encoded-array (address, length pairs). + - Specifies regions of memory that are + acceptable to allocate from. + +If both reg and size are present, then the reg property takes precedence +and size is ignored. + +Additional properties: +compatible (optional) - standard definition + - may contain the following strings: + - shared-dma-pool: This indicates a region of memory meant to be + used as a shared pool of DMA buffers for a set of devices. It can + be used by an operating system to instantiate the necessary pool + management subsystem if necessary. + - restricted-dma-pool: This indicates a region of memory meant to be + used as a pool of restricted DMA buffers for a set of devices. The + memory region would be the only region accessible to those devices. + When using this, the no-map and reusable properties must not be set, + so the operating system can create a virtual mapping that will be used + for synchronization. The main purpose for restricted DMA is to + mitigate the lack of DMA access control on systems without an IOMMU, + which could result in the DMA accessing the system memory at + unexpected times and/or unexpected addresses, possibly leading to data + leakage or corruption. The feature on its own provides a basic level + of protection against the DMA overwriting buffer contents at + unexpected times. However, to protect against general data leakage and + system memory corruption, the system needs to provide way to lock down + the memory access, e.g., MPU. Note that since coherent allocation + needs remapping, one must set up another device coherent pool by + shared-dma-pool and use dma_alloc_from_dev_coherent instead for atomic + coherent allocation. + - vendor specific string in the form ,[-] +no-map (optional) - empty property + - Indicates the operating system must not create a virtual mapping + of the region as part of its standard mapping of system memory, + nor permit speculative access to it under any circumstances other + than under the control of the device driver using the region. +reusable (optional) - empty property + - The operating system can use the memory in this region with the + limitation that the device driver(s) owning the region need to be + able to reclaim it back. Typically that means that the operating + system can use that region to store volatile or cached data that + can be otherwise regenerated or migrated elsewhere. + +A node must not carry both the no-map and the reusable property as these are +logically contradictory. + +Linux implementation note: +- If a "linux,cma-default" property is present, then Linux will use the + region for the default pool of the contiguous memory allocator. + +- If a "linux,dma-default" property is present, then Linux will use the + region for the default pool of the consistent DMA allocator. + +Device node references to reserved memory +----------------------------------------- +Regions in the /reserved-memory node may be referenced by other device +nodes by adding a memory-region property to the device node. + +memory-region (optional) - phandle, specifier pairs to children of /reserved-memory +memory-region-names (optional) - a list of names, one for each corresponding + entry in the memory-region property + +Example +------- +This example defines 4 contiguous regions for Linux kernel: +one default of all device drivers (named linux,cma@72000000 and 64MiB in size), +one dedicated to the framebuffer device (named framebuffer@78000000, 8MiB), +one for multimedia processing (named multimedia-memory@77000000, 64MiB), and +one for restricted dma pool (named restricted_dma_reserved@0x50000000, 64MiB). + +/ { + #address-cells = <1>; + #size-cells = <1>; + + memory { + reg = <0x40000000 0x40000000>; + }; + + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + /* global autoconfigured region for contiguous allocations */ + linux,cma { + compatible = "shared-dma-pool"; + reusable; + size = <0x4000000>; + alignment = <0x2000>; + linux,cma-default; + }; + + display_reserved: framebuffer@78000000 { + reg = <0x78000000 0x800000>; + }; + + multimedia_reserved: multimedia@77000000 { + compatible = "acme,multimedia-memory"; + reg = <0x77000000 0x4000000>; + }; + + restricted_dma_reserved: restricted_dma_reserved { + compatible = "restricted-dma-pool"; + reg = <0x50000000 0x4000000>; + }; + }; + + /* ... */ + + fb0: video@12300000 { + memory-region = <&display_reserved>; + /* ... */ + }; + + scaler: scaler@12500000 { + memory-region = <&multimedia_reserved>; + /* ... */ + }; + + codec: codec@12600000 { + memory-region = <&multimedia_reserved>; + /* ... */ + }; + + pcie_device: pcie_device@0,0 { + reg = <0x83010000 0x0 0x00000000 0x0 0x00100000 + 0x83010000 0x0 0x00100000 0x0 0x00100000>; + memory-region = <&restricted_dma_reserved>; + /* ... */ + }; +}; diff --git a/Documentation/devicetree/bindings/reset/microchip,rst.yaml b/Documentation/devicetree/bindings/reset/microchip,rst.yaml index 578bfa529b..370579aeec 100644 --- a/Documentation/devicetree/bindings/reset/microchip,rst.yaml +++ b/Documentation/devicetree/bindings/reset/microchip,rst.yaml @@ -20,9 +20,7 @@ properties: pattern: "^reset-controller@[0-9a-f]+$" compatible: - enum: - - microchip,sparx5-switch-reset - - microchip,lan966x-switch-reset + const: microchip,sparx5-switch-reset reg: items: diff --git a/Documentation/devicetree/bindings/reset/renesas,rst.yaml b/Documentation/devicetree/bindings/reset/renesas,rst.yaml index bbe313bf17..620cd0538b 100644 --- a/Documentation/devicetree/bindings/reset/renesas,rst.yaml +++ b/Documentation/devicetree/bindings/reset/renesas,rst.yaml @@ -48,7 +48,6 @@ properties: - renesas,r8a77990-rst # R-Car E3 - renesas,r8a77995-rst # R-Car D3 - renesas,r8a779a0-rst # R-Car V3U - - renesas,r8a779f0-rst # R-Car S4-8 reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/reset/socionext,uniphier-glue-reset.yaml b/Documentation/devicetree/bindings/reset/socionext,uniphier-glue-reset.yaml index bfbd3e9b41..29e4a900ca 100644 --- a/Documentation/devicetree/bindings/reset/socionext,uniphier-glue-reset.yaml +++ b/Documentation/devicetree/bindings/reset/socionext,uniphier-glue-reset.yaml @@ -23,7 +23,6 @@ properties: - socionext,uniphier-pxs2-usb3-reset - socionext,uniphier-ld20-usb3-reset - socionext,uniphier-pxs3-usb3-reset - - socionext,uniphier-nx1-usb3-reset - socionext,uniphier-pro4-ahci-reset - socionext,uniphier-pxs2-ahci-reset - socionext,uniphier-pxs3-ahci-reset diff --git a/Documentation/devicetree/bindings/reset/socionext,uniphier-reset.yaml b/Documentation/devicetree/bindings/reset/socionext,uniphier-reset.yaml index 377a7d2423..4c9b0ebf68 100644 --- a/Documentation/devicetree/bindings/reset/socionext,uniphier-reset.yaml +++ b/Documentation/devicetree/bindings/reset/socionext,uniphier-reset.yaml @@ -23,7 +23,6 @@ properties: - socionext,uniphier-ld11-reset - socionext,uniphier-ld20-reset - socionext,uniphier-pxs3-reset - - socionext,uniphier-nx1-reset - description: Media I/O (MIO) reset, SD reset enum: - socionext,uniphier-ld4-mio-reset @@ -35,7 +34,6 @@ properties: - socionext,uniphier-ld11-sd-reset - socionext,uniphier-ld20-sd-reset - socionext,uniphier-pxs3-sd-reset - - socionext,uniphier-nx1-sd-reset - description: Peripheral reset enum: - socionext,uniphier-ld4-peri-reset @@ -46,7 +44,6 @@ properties: - socionext,uniphier-ld11-peri-reset - socionext,uniphier-ld20-peri-reset - socionext,uniphier-pxs3-peri-reset - - socionext,uniphier-nx1-peri-reset - description: Analog signal amplifier reset enum: - socionext,uniphier-ld11-adamv-reset diff --git a/Documentation/devicetree/bindings/riscv/cpus.yaml b/Documentation/devicetree/bindings/riscv/cpus.yaml index aa5fb64d57..e534f6a7cf 100644 --- a/Documentation/devicetree/bindings/riscv/cpus.yaml +++ b/Documentation/devicetree/bindings/riscv/cpus.yaml @@ -31,7 +31,9 @@ properties: - sifive,bullet0 - sifive,e5 - sifive,e7 + - sifive,e51 - sifive,e71 + - sifive,u54-mc - sifive,u74-mc - sifive,u54 - sifive,u74 @@ -39,12 +41,6 @@ properties: - sifive,u7 - canaan,k210 - const: riscv - - items: - - enum: - - sifive,e51 - - sifive,u54-mc - - const: sifive,rocket0 - - const: riscv - const: riscv # Simulator only description: Identifies that the hart uses the RISC-V instruction set diff --git a/Documentation/devicetree/bindings/riscv/sifive-l2-cache.yaml b/Documentation/devicetree/bindings/riscv/sifive-l2-cache.yaml index e2d330bd46..2b1f916038 100644 --- a/Documentation/devicetree/bindings/riscv/sifive-l2-cache.yaml +++ b/Documentation/devicetree/bindings/riscv/sifive-l2-cache.yaml @@ -9,6 +9,7 @@ title: SiFive L2 Cache Controller maintainers: - Sagar Kadam + - Yash Shah - Paul Walmsley description: diff --git a/Documentation/devicetree/bindings/rng/ingenic,trng.yaml b/Documentation/devicetree/bindings/rng/ingenic,trng.yaml index 044d9a0656..808f247c84 100644 --- a/Documentation/devicetree/bindings/rng/ingenic,trng.yaml +++ b/Documentation/devicetree/bindings/rng/ingenic,trng.yaml @@ -32,7 +32,7 @@ additionalProperties: false examples: - | - #include + #include dtrng: trng@10072000 { compatible = "ingenic,x1830-dtrng"; diff --git a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml index 9a6e4eaf4d..82bb2e97e8 100644 --- a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml +++ b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml @@ -11,7 +11,7 @@ description: | IP and is fully separated from other crypto functions. maintainers: - - Lionel Debieve + - Lionel Debieve properties: compatible: diff --git a/Documentation/devicetree/bindings/rtc/epson,rx8900.yaml b/Documentation/devicetree/bindings/rtc/epson,rx8900.yaml index d12855e7ff..29fe39bb08 100644 --- a/Documentation/devicetree/bindings/rtc/epson,rx8900.yaml +++ b/Documentation/devicetree/bindings/rtc/epson,rx8900.yaml @@ -15,7 +15,6 @@ allOf: properties: compatible: enum: - - epson,rx8804 - epson,rx8900 - microcrystal,rv8803 diff --git a/Documentation/devicetree/bindings/rtc/ingenic,rtc.yaml b/Documentation/devicetree/bindings/rtc/ingenic,rtc.yaml index b235b24419..60e93e86ad 100644 --- a/Documentation/devicetree/bindings/rtc/ingenic,rtc.yaml +++ b/Documentation/devicetree/bindings/rtc/ingenic,rtc.yaml @@ -72,7 +72,7 @@ unevaluatedProperties: false examples: - | - #include + #include rtc_dev: rtc@10003000 { compatible = "ingenic,jz4740-rtc"; reg = <0x10003000 0x40>; diff --git a/Documentation/devicetree/bindings/rtc/nxp,pcf85063.txt b/Documentation/devicetree/bindings/rtc/nxp,pcf85063.txt index 6439682c93..627bb533ef 100644 --- a/Documentation/devicetree/bindings/rtc/nxp,pcf85063.txt +++ b/Documentation/devicetree/bindings/rtc/nxp,pcf85063.txt @@ -13,19 +13,10 @@ Optional property: expressed in femto Farad (fF). Valid values are 7000 and 12500. Default value (if no value is specified) is 7000fF. -Optional child node: -- clock: Provide this if the square wave pin is used as boot-enabled fixed clock. - Example: pcf85063: rtc@51 { compatible = "nxp,pcf85063"; reg = <0x51>; quartz-load-femtofarads = <12500>; - - clock { - compatible = "fixed-clock"; - #clock-cells = <0>; - clock-frequency = <32768>; - }; }; diff --git a/Documentation/devicetree/bindings/rtc/qcom-pm8xxx-rtc.yaml b/Documentation/devicetree/bindings/rtc/qcom-pm8xxx-rtc.yaml index 6fa7d9fc2d..4fba6dba16 100644 --- a/Documentation/devicetree/bindings/rtc/qcom-pm8xxx-rtc.yaml +++ b/Documentation/devicetree/bindings/rtc/qcom-pm8xxx-rtc.yaml @@ -19,14 +19,7 @@ properties: - qcom,pmk8350-rtc reg: - minItems: 1 - maxItems: 2 - - reg-names: - minItems: 1 - items: - - const: rtc - - const: alarm + maxItems: 1 interrupts: maxItems: 1 diff --git a/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml b/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml index 764717ce18..5456604b1c 100644 --- a/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml +++ b/Documentation/devicetree/bindings/rtc/st,stm32-rtc.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 Real Time Clock Bindings maintainers: - - Gabriel Fernandez + - Gabriel Fernandez properties: compatible: @@ -127,7 +127,6 @@ examples: st,syscfg = <&pwrcfg 0x00 0x100>; }; - - | #include #include rtc@5c004000 { diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml index 3bab2f27b9..fa767440f2 100644 --- a/Documentation/devicetree/bindings/serial/8250.yaml +++ b/Documentation/devicetree/bindings/serial/8250.yaml @@ -113,10 +113,9 @@ properties: - nvidia,tegra30-uart - nvidia,tegra114-uart - nvidia,tegra124-uart - - nvidia,tegra210-uart - nvidia,tegra186-uart - nvidia,tegra194-uart - - nvidia,tegra234-uart + - nvidia,tegra210-uart - const: nvidia,tegra20-uart reg: diff --git a/Documentation/devicetree/bindings/serial/8250_omap.yaml b/Documentation/devicetree/bindings/serial/8250_omap.yaml index 7b34ec8fa9..70ca61688b 100644 --- a/Documentation/devicetree/bindings/serial/8250_omap.yaml +++ b/Documentation/devicetree/bindings/serial/8250_omap.yaml @@ -86,7 +86,7 @@ required: - reg - interrupts -unevaluatedProperties: false +additionalProperties: false if: properties: diff --git a/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml b/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml index 72e8868db3..7487aa6ef8 100644 --- a/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml +++ b/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml @@ -29,7 +29,6 @@ properties: - amlogic,meson8-uart - amlogic,meson8b-uart - amlogic,meson-gx-uart - - amlogic,meson-s4-uart - const: amlogic,meson-ao-uart - description: Everything-Else power domain UART controller enum: @@ -37,7 +36,6 @@ properties: - amlogic,meson8-uart - amlogic,meson8b-uart - amlogic,meson-gx-uart - - amlogic,meson-s4-uart reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/serial/fsl-lpuart.yaml b/Documentation/devicetree/bindings/serial/fsl-lpuart.yaml index 6e04e38482..a90c971b4f 100644 --- a/Documentation/devicetree/bindings/serial/fsl-lpuart.yaml +++ b/Documentation/devicetree/bindings/serial/fsl-lpuart.yaml @@ -21,15 +21,9 @@ properties: - fsl,ls1028a-lpuart - fsl,imx7ulp-lpuart - fsl,imx8qm-lpuart - - fsl,imxrt1050-lpuart - items: - - enum: - - fsl,imx8qxp-lpuart - - fsl,imx8ulp-lpuart - - const: fsl,imx7ulp-lpuart - - items: - - const: fsl,imx8qm-lpuart - const: fsl,imx8qxp-lpuart + - const: fsl,imx7ulp-lpuart reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/serial/ingenic,uart.yaml b/Documentation/devicetree/bindings/serial/ingenic,uart.yaml index 9ca7a18ecd..b432d4dff7 100644 --- a/Documentation/devicetree/bindings/serial/ingenic,uart.yaml +++ b/Documentation/devicetree/bindings/serial/ingenic,uart.yaml @@ -71,7 +71,7 @@ unevaluatedProperties: false examples: - | - #include + #include #include #include serial@10032000 { diff --git a/Documentation/devicetree/bindings/serial/pl011.yaml b/Documentation/devicetree/bindings/serial/pl011.yaml index 2c09af6928..8df2883abc 100644 --- a/Documentation/devicetree/bindings/serial/pl011.yaml +++ b/Documentation/devicetree/bindings/serial/pl011.yaml @@ -91,9 +91,6 @@ properties: 3000ms. default: 3000 - resets: - maxItems: 1 - cts-event-workaround: description: Enables the (otherwise vendor-specific) workaround for the diff --git a/Documentation/devicetree/bindings/serial/renesas,sci.yaml b/Documentation/devicetree/bindings/serial/renesas,sci.yaml index 8dda4e10e0..22ed2f0b1d 100644 --- a/Documentation/devicetree/bindings/serial/renesas,sci.yaml +++ b/Documentation/devicetree/bindings/serial/renesas,sci.yaml @@ -14,15 +14,7 @@ allOf: properties: compatible: - oneOf: - - items: - - enum: - - renesas,r9a07g044-sci # RZ/G2{L,LC} - - renesas,r9a07g054-sci # RZ/V2L - - const: renesas,sci # generic SCI compatible UART - - - items: - - const: renesas,sci # generic SCI compatible UART + const: renesas,sci reg: maxItems: 1 @@ -62,46 +54,18 @@ required: - clocks - clock-names -if: - properties: - compatible: - contains: - enum: - - renesas,r9a07g044-sci - - renesas,r9a07g054-sci -then: - properties: - resets: - maxItems: 1 - - power-domains: - maxItems: 1 - - required: - - resets - - power-domains - unevaluatedProperties: false examples: - | - #include - #include - aliases { serial0 = &sci0; }; - sci0: serial@1004d000 { - compatible = "renesas,r9a07g044-sci", "renesas,sci"; - reg = <0x1004d000 0x400>; - interrupts = , - , - , - ; - interrupt-names = "eri", "rxi", "txi", "tei"; - clocks = <&cpg CPG_MOD R9A07G044_SCI0_CLKP>; + sci0: serial@ffff78 { + compatible = "renesas,sci"; + reg = <0xffff78 8>; + interrupts = <88 0>, <89 0>, <90 0>, <91 0>; + clocks = <&fclk>; clock-names = "fck"; - power-domains = <&cpg>; - resets = <&cpg R9A07G044_SCI0_RST>; }; diff --git a/Documentation/devicetree/bindings/serial/renesas,scif.yaml b/Documentation/devicetree/bindings/serial/renesas,scif.yaml index ba5d3e0acc..6b8731f7f2 100644 --- a/Documentation/devicetree/bindings/serial/renesas,scif.yaml +++ b/Documentation/devicetree/bindings/serial/renesas,scif.yaml @@ -64,21 +64,9 @@ properties: - const: renesas,rcar-gen3-scif # R-Car Gen3 and RZ/G2 - const: renesas,scif # generic SCIF compatible UART - - items: - - enum: - - renesas,scif-r8a779f0 # R-Car S4-8 - - const: renesas,rcar-gen4-scif # R-Car Gen4 - - const: renesas,scif # generic SCIF compatible UART - - items: - enum: - renesas,scif-r9a07g044 # RZ/G2{L,LC} - - renesas,scif-r9a07g054 # RZ/V2L - - - items: - - enum: - - renesas,scif-r9a07g054 # RZ/V2L - - const: renesas,scif-r9a07g044 # RZ/G2{L,LC} fallback for RZ/V2L reg: maxItems: 1 @@ -165,9 +153,6 @@ if: enum: - renesas,rcar-gen2-scif - renesas,rcar-gen3-scif - - renesas,rcar-gen4-scif - - renesas,scif-r9a07g044 - - renesas,scif-r9a07g054 then: required: - resets diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml index 2940afb874..f064e5b76c 100644 --- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml +++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml @@ -26,7 +26,6 @@ properties: - samsung,s3c6400-uart - samsung,s5pv210-uart - samsung,exynos4210-uart - - samsung,exynos850-uart reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml b/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml index 12137fe80a..b49fda5e60 100644 --- a/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml +++ b/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml @@ -40,11 +40,6 @@ properties: - brcm,bcm11351-dw-apb-uart - brcm,bcm21664-dw-apb-uart - const: snps,dw-apb-uart - - items: - - enum: - - starfive,jh7100-hsuart - - starfive,jh7100-uart - - const: snps,dw-apb-uart - const: snps,dw-apb-uart reg: diff --git a/Documentation/devicetree/bindings/serial/sprd-uart.yaml b/Documentation/devicetree/bindings/serial/sprd-uart.yaml index a444bebd2c..09f6283f3c 100644 --- a/Documentation/devicetree/bindings/serial/sprd-uart.yaml +++ b/Documentation/devicetree/bindings/serial/sprd-uart.yaml @@ -19,7 +19,6 @@ properties: - enum: - sprd,sc9860-uart - sprd,sc9863a-uart - - sprd,ums512-uart - const: sprd,sc9836-uart - const: sprd,sc9836-uart diff --git a/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml b/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml index 333dc42722..f50f4ca893 100644 --- a/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml +++ b/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml @@ -5,7 +5,7 @@ $id: http://devicetree.org/schemas/serial/st,stm32-uart.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# maintainers: - - Erwan Le Ray + - Erwan Le Ray title: STMicroelectronics STM32 USART bindings diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,aoss-qmp.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,aoss-qmp.yaml index e2e173dfad..93e4b737ee 100644 --- a/Documentation/devicetree/bindings/soc/qcom/qcom,aoss-qmp.yaml +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,aoss-qmp.yaml @@ -19,7 +19,8 @@ description: The AOSS side channel exposes control over a set of resources, used to control a set of debug related clocks and to affect the low power state of resources - related to the secondary subsystems. + related to the secondary subsystems. These resources are exposed as a set of + power-domains. properties: compatible: @@ -29,7 +30,6 @@ properties: - qcom,sc7280-aoss-qmp - qcom,sc8180x-aoss-qmp - qcom,sdm845-aoss-qmp - - qcom,sm6350-aoss-qmp - qcom,sm8150-aoss-qmp - qcom,sm8250-aoss-qmp - qcom,sm8350-aoss-qmp @@ -57,6 +57,13 @@ properties: description: The single clock represents the QDSS clock. + "#power-domain-cells": + const: 1 + description: | + The provided power-domains are: + CDSP state (0), LPASS state (1), modem state (2), SLPI + state (3), SPSS state (4) and Venus state (5). + required: - compatible - reg @@ -94,6 +101,7 @@ examples: mboxes = <&apss_shared 0>; #clock-cells = <0>; + #power-domain-cells = <1>; cx_cdev: cx { #cooling-cells = <2>; diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml index b32457c2fc..cc3fe5ed74 100644 --- a/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml @@ -34,7 +34,6 @@ properties: - qcom,rpm-ipq6018 - qcom,rpm-msm8226 - qcom,rpm-msm8916 - - qcom,rpm-msm8953 - qcom,rpm-msm8974 - qcom,rpm-msm8976 - qcom,rpm-msm8996 @@ -42,7 +41,6 @@ properties: - qcom,rpm-sdm660 - qcom,rpm-sm6115 - qcom,rpm-sm6125 - - qcom,rpm-qcm2290 - qcom,rpm-qcs404 qcom,smd-channels: @@ -59,7 +57,6 @@ if: - qcom,rpm-apq8084 - qcom,rpm-msm8916 - qcom,rpm-msm8974 - - qcom,rpm-msm8953 then: required: - qcom,smd-channels diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml index 4149cf2b66..f7e17713b3 100644 --- a/Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,smem.yaml @@ -10,18 +10,14 @@ maintainers: - Andy Gross - Bjorn Andersson -description: - This binding describes the Qualcomm Shared Memory Manager, a region of - reserved-memory used to share data between various subsystems and OSes in - Qualcomm platforms. +description: | + This binding describes the Qualcomm Shared Memory Manager, used to share data + between various subsystems and OSes in Qualcomm platforms. properties: compatible: const: qcom,smem - reg: - maxItems: 1 - memory-region: maxItems: 1 description: handle to memory reservation for main SMEM memory region. @@ -33,19 +29,11 @@ properties: $ref: /schemas/types.yaml#/definitions/phandle description: handle to RPM message memory resource - no-map: true - required: - compatible + - memory-region - hwlocks -oneOf: - - required: - - reg - - no-map - - required: - - memory-region - additionalProperties: false examples: @@ -55,20 +43,6 @@ examples: #size-cells = <1>; ranges; - smem@fa00000 { - compatible = "qcom,smem"; - reg = <0xfa00000 0x200000>; - no-map; - - hwlocks = <&tcsr_mutex 3>; - }; - }; - - | - reserved-memory { - #address-cells = <1>; - #size-cells = <1>; - ranges; - smem_region: smem@fa00000 { reg = <0xfa00000 0x200000>; no-map; diff --git a/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-i2s.yaml b/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-i2s.yaml index 7d48ea094c..39b66e9ce3 100644 --- a/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-i2s.yaml +++ b/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-i2s.yaml @@ -20,9 +20,6 @@ properties: - const: allwinner,sun6i-a31-i2s - const: allwinner,sun8i-a83t-i2s - const: allwinner,sun8i-h3-i2s - - items: - - const: allwinner,sun8i-r40-i2s - - const: allwinner,sun8i-h3-i2s - items: - const: allwinner,sun8i-v3-i2s - const: allwinner,sun8i-h3-i2s diff --git a/Documentation/devicetree/bindings/sound/amlogic,aiu.yaml b/Documentation/devicetree/bindings/sound/amlogic,aiu.yaml index 0705f91199..f50558ed91 100644 --- a/Documentation/devicetree/bindings/sound/amlogic,aiu.yaml +++ b/Documentation/devicetree/bindings/sound/amlogic,aiu.yaml @@ -9,9 +9,6 @@ title: Amlogic AIU audio output controller maintainers: - Jerome Brunet -allOf: - - $ref: name-prefix.yaml# - properties: $nodename: pattern: "^audio-controller@.*" @@ -68,8 +65,6 @@ properties: resets: maxItems: 1 - sound-name-prefix: true - required: - "#sound-dai-cells" - compatible diff --git a/Documentation/devicetree/bindings/sound/amlogic,g12a-toacodec.yaml b/Documentation/devicetree/bindings/sound/amlogic,g12a-toacodec.yaml index 77469a45bb..3c3891d172 100644 --- a/Documentation/devicetree/bindings/sound/amlogic,g12a-toacodec.yaml +++ b/Documentation/devicetree/bindings/sound/amlogic,g12a-toacodec.yaml @@ -9,9 +9,6 @@ title: Amlogic G12a Internal DAC Control Glue maintainers: - Jerome Brunet -allOf: - - $ref: name-prefix.yaml# - properties: $nodename: pattern: "^audio-controller@.*" @@ -34,8 +31,6 @@ properties: resets: maxItems: 1 - sound-name-prefix: true - required: - "#sound-dai-cells" - compatible diff --git a/Documentation/devicetree/bindings/sound/amlogic,t9015.yaml b/Documentation/devicetree/bindings/sound/amlogic,t9015.yaml index 580a3d040a..c7613ea728 100644 --- a/Documentation/devicetree/bindings/sound/amlogic,t9015.yaml +++ b/Documentation/devicetree/bindings/sound/amlogic,t9015.yaml @@ -9,9 +9,6 @@ title: Amlogic T9015 Internal Audio DAC maintainers: - Jerome Brunet -allOf: - - $ref: name-prefix.yaml# - properties: $nodename: pattern: "^audio-controller@.*" @@ -37,12 +34,6 @@ properties: resets: maxItems: 1 - AVDD-supply: - description: - Analogue power supply. - - sound-name-prefix: true - required: - "#sound-dai-cells" - compatible @@ -50,7 +41,6 @@ required: - clocks - clock-names - resets - - AVDD-supply additionalProperties: false @@ -66,5 +56,4 @@ examples: clocks = <&clkc CLKID_AUDIO_CODEC>; clock-names = "pclk"; resets = <&reset RESET_AUDIO_CODEC>; - AVDD-supply = <&vddao_1v8>; }; diff --git a/Documentation/devicetree/bindings/sound/audio-graph-port.yaml b/Documentation/devicetree/bindings/sound/audio-graph-port.yaml index 476dcb49ec..43e7f86e3b 100644 --- a/Documentation/devicetree/bindings/sound/audio-graph-port.yaml +++ b/Documentation/devicetree/bindings/sound/audio-graph-port.yaml @@ -42,15 +42,10 @@ patternProperties: $ref: /schemas/types.yaml#/definitions/flag frame-master: description: Indicates dai-link frame master. - oneOf: - - $ref: /schemas/types.yaml#/definitions/flag - - $ref: /schemas/types.yaml#/definitions/phandle + $ref: /schemas/types.yaml#/definitions/phandle bitclock-master: description: Indicates dai-link bit clock master - oneOf: - - $ref: /schemas/types.yaml#/definitions/flag - - $ref: /schemas/types.yaml#/definitions/phandle - + $ref: /schemas/types.yaml#/definitions/phandle dai-format: description: audio format. items: diff --git a/Documentation/devicetree/bindings/sound/cirrus,cs42l51.yaml b/Documentation/devicetree/bindings/sound/cirrus,cs42l51.yaml index 963a871e74..0d87e2c86a 100644 --- a/Documentation/devicetree/bindings/sound/cirrus,cs42l51.yaml +++ b/Documentation/devicetree/bindings/sound/cirrus,cs42l51.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: CS42L51 audio codec DT bindings maintainers: - - Olivier Moysan + - Olivier Moysan properties: compatible: diff --git a/Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml b/Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml index c3e9f34854..77adbebed8 100644 --- a/Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml +++ b/Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml @@ -8,7 +8,6 @@ title: Audio codec controlled by ChromeOS EC maintainers: - Cheng-Yi Chiang - - Tzung-Bi Shih description: | Google's ChromeOS EC codec is a digital mic codec provided by the diff --git a/Documentation/devicetree/bindings/sound/ingenic,aic.yaml b/Documentation/devicetree/bindings/sound/ingenic,aic.yaml index d607325f2f..cdc0fdaab3 100644 --- a/Documentation/devicetree/bindings/sound/ingenic,aic.yaml +++ b/Documentation/devicetree/bindings/sound/ingenic,aic.yaml @@ -71,7 +71,7 @@ required: examples: - | - #include + #include aic: audio-controller@10020000 { compatible = "ingenic,jz4740-i2s"; reg = <0x10020000 0x38>; diff --git a/Documentation/devicetree/bindings/sound/ingenic,codec.yaml b/Documentation/devicetree/bindings/sound/ingenic,codec.yaml index 48aae54dd6..97d5f3819b 100644 --- a/Documentation/devicetree/bindings/sound/ingenic,codec.yaml +++ b/Documentation/devicetree/bindings/sound/ingenic,codec.yaml @@ -48,7 +48,7 @@ required: examples: - | - #include + #include codec: audio-codec@10020080 { compatible = "ingenic,jz4740-codec"; reg = <0x10020080 0x8>; diff --git a/Documentation/devicetree/bindings/sound/max9892x.txt b/Documentation/devicetree/bindings/sound/max9892x.txt index 98cb9ba5b3..f6171591dd 100644 --- a/Documentation/devicetree/bindings/sound/max9892x.txt +++ b/Documentation/devicetree/bindings/sound/max9892x.txt @@ -30,9 +30,6 @@ Required properties: - reg : the I2C address of the device for I2C -Optional properties: - - reset-gpios : GPIO to reset the device - Example: codec: max98927@3a { diff --git a/Documentation/devicetree/bindings/sound/mt8195-afe-pcm.yaml b/Documentation/devicetree/bindings/sound/mt8195-afe-pcm.yaml index 6d0975b33d..dcf790b053 100644 --- a/Documentation/devicetree/bindings/sound/mt8195-afe-pcm.yaml +++ b/Documentation/devicetree/bindings/sound/mt8195-afe-pcm.yaml @@ -19,12 +19,6 @@ properties: interrupts: maxItems: 1 - memory-region: - maxItems: 1 - description: | - Shared memory region for AFE memif. A "shared-dma-pool". - See ../reserved-memory/reserved-memory.txt for details. - mediatek,topckgen: $ref: "/schemas/types.yaml#/definitions/phandle" description: The phandle of the mediatek topckgen controller @@ -131,7 +125,6 @@ required: - power-domains - clocks - clock-names - - memory-region additionalProperties: false @@ -146,7 +139,6 @@ examples: interrupts = ; mediatek,topckgen = <&topckgen>; power-domains = <&spm 7>; //MT8195_POWER_DOMAIN_AUDIO - memory-region = <&snd_dma_mem_reserved>; clocks = <&clk26m>, <&topckgen 163>, //CLK_TOP_APLL1 <&topckgen 166>, //CLK_TOP_APLL2 diff --git a/Documentation/devicetree/bindings/sound/mt8195-mt6359-rt1019-rt5682.yaml b/Documentation/devicetree/bindings/sound/mt8195-mt6359-rt1019-rt5682.yaml index 8f177e02ad..20bc0ffd0e 100644 --- a/Documentation/devicetree/bindings/sound/mt8195-mt6359-rt1019-rt5682.yaml +++ b/Documentation/devicetree/bindings/sound/mt8195-mt6359-rt1019-rt5682.yaml @@ -16,10 +16,6 @@ properties: compatible: const: mediatek,mt8195_mt6359_rt1019_rt5682 - model: - $ref: /schemas/types.yaml#/definitions/string - description: User specified audio sound card name - mediatek,platform: $ref: "/schemas/types.yaml#/definitions/phandle" description: The phandle of MT8195 ASoC platform. @@ -32,16 +28,6 @@ properties: $ref: "/schemas/types.yaml#/definitions/phandle" description: The phandle of MT8195 HDMI codec node. - mediatek,adsp: - $ref: "/schemas/types.yaml#/definitions/phandle" - description: The phandle of MT8195 ADSP platform. - - mediatek,dai-link: - $ref: /schemas/types.yaml#/definitions/string-array - description: - A list of the desired dai-links in the sound card. Each entry is a - name defined in the machine driver. - additionalProperties: false required: diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-graph-card.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-graph-card.yaml index b4bee466d6..5bdd30a8a4 100644 --- a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-graph-card.yaml +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-graph-card.yaml @@ -44,16 +44,6 @@ properties: minItems: 1 maxItems: 3 - interconnects: - items: - - description: APE read memory client - - description: APE write memory client - - interconnect-names: - items: - - const: dma-mem # read - - const: write - iommus: maxItems: 1 diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra186-dspk.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra186-dspk.yaml index 0912d3e3fd..5f6b37c251 100644 --- a/Documentation/devicetree/bindings/sound/nvidia,tegra186-dspk.yaml +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra186-dspk.yaml @@ -17,9 +17,6 @@ maintainers: - Jon Hunter - Sameer Pujar -allOf: - - $ref: name-prefix.yaml# - properties: $nodename: pattern: "^dspk@[0-9a-f]*$" @@ -51,6 +48,12 @@ properties: sound-name-prefix: pattern: "^DSPK[1-9]$" + $ref: /schemas/types.yaml#/definitions/string + description: + Used as prefix for sink/source names of the component. Must be a + unique string among multiple instances of the same component. + The name can be "DSPK1" or "DSPKx", where x depends on the maximum + available instances on a Tegra SoC. ports: $ref: /schemas/graph.yaml#/properties/ports diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra210-ahub.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra210-ahub.yaml index df81d20818..1118a94883 100644 --- a/Documentation/devicetree/bindings/sound/nvidia,tegra210-ahub.yaml +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra210-ahub.yaml @@ -85,26 +85,6 @@ patternProperties: type: object $ref: nvidia,tegra186-dspk.yaml# - '^mvc@[0-9a-f]+$': - type: object - $ref: nvidia,tegra210-mvc.yaml# - - '^sfc@[0-9a-f]+$': - type: object - $ref: nvidia,tegra210-sfc.yaml# - - '^amx@[0-9a-f]+$': - type: object - $ref: nvidia,tegra210-amx.yaml# - - '^adx@[0-9a-f]+$': - type: object - $ref: nvidia,tegra210-adx.yaml# - - '^amixer@[0-9a-f]+$': - type: object - $ref: nvidia,tegra210-mixer.yaml# - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra210-dmic.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra210-dmic.yaml index 62db982bb0..fd275a5750 100644 --- a/Documentation/devicetree/bindings/sound/nvidia,tegra210-dmic.yaml +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra210-dmic.yaml @@ -16,9 +16,6 @@ maintainers: - Jon Hunter - Sameer Pujar -allOf: - - $ref: name-prefix.yaml# - properties: $nodename: pattern: "^dmic@[0-9a-f]*$" @@ -52,6 +49,12 @@ properties: sound-name-prefix: pattern: "^DMIC[1-9]$" + $ref: /schemas/types.yaml#/definitions/string + description: + used as prefix for sink/source names of the component. Must be a + unique string among multiple instances of the same component. + The name can be "DMIC1" or "DMIC2" ... "DMICx", where x depends + on the maximum available instances on a Tegra SoC. ports: $ref: /schemas/graph.yaml#/properties/ports diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra210-i2s.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra210-i2s.yaml index f954be6366..63370709c7 100644 --- a/Documentation/devicetree/bindings/sound/nvidia,tegra210-i2s.yaml +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra210-i2s.yaml @@ -16,9 +16,6 @@ maintainers: - Jon Hunter - Sameer Pujar -allOf: - - $ref: name-prefix.yaml# - properties: $nodename: pattern: "^i2s@[0-9a-f]*$" @@ -68,6 +65,12 @@ properties: sound-name-prefix: pattern: "^I2S[1-9]$" + $ref: /schemas/types.yaml#/definitions/string + description: + Used as prefix for sink/source names of the component. Must be a + unique string among multiple instances of the same component. + The name can be "I2S1" or "I2S2" ... "I2Sx", where x depends + on the maximum available instances on a Tegra SoC. ports: $ref: /schemas/graph.yaml#/properties/ports diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml index 2c913aa44f..b55775e21d 100644 --- a/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.yaml @@ -50,11 +50,9 @@ properties: - const: hda2codec_2x resets: - minItems: 2 maxItems: 3 reset-names: - minItems: 2 items: - const: hda - const: hda2hdmi diff --git a/Documentation/devicetree/bindings/sound/nxp,tfa989x.yaml b/Documentation/devicetree/bindings/sound/nxp,tfa989x.yaml index b9b1dba408..ffb8fcfeb6 100644 --- a/Documentation/devicetree/bindings/sound/nxp,tfa989x.yaml +++ b/Documentation/devicetree/bindings/sound/nxp,tfa989x.yaml @@ -9,9 +9,6 @@ title: NXP/Goodix TFA989X (TFA1) Audio Amplifiers maintainers: - Stephan Gerhold -allOf: - - $ref: name-prefix.yaml# - properties: compatible: enum: @@ -24,23 +21,15 @@ properties: '#sound-dai-cells': const: 0 - rcv-gpios: - description: optional GPIO to be asserted when receiver mode is enabled. - - sound-name-prefix: true + sound-name-prefix: + $ref: /schemas/types.yaml#/definitions/string + description: + Used as prefix for sink/source names of the component. Must be a + unique string among multiple instances of the same component. vddd-supply: description: regulator phandle for the VDDD power supply. -if: - not: - properties: - compatible: - const: nxp,tfa9897 -then: - properties: - rcv-gpios: false - required: - compatible - reg @@ -67,32 +56,3 @@ examples: #sound-dai-cells = <0>; }; }; - - - | - #include - i2c { - #address-cells = <1>; - #size-cells = <0>; - - speaker_codec_top: audio-codec@34 { - compatible = "nxp,tfa9897"; - reg = <0x34>; - vddd-supply = <&pm8916_l6>; - rcv-gpios = <&msmgpio 50 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&speaker_top_default>; - sound-name-prefix = "Speaker Top"; - #sound-dai-cells = <0>; - }; - - speaker_codec_bottom: audio-codec@36 { - compatible = "nxp,tfa9897"; - reg = <0x36>; - vddd-supply = <&pm8916_l6>; - rcv-gpios = <&msmgpio 111 GPIO_ACTIVE_HIGH>; - pinctrl-names = "default"; - pinctrl-0 = <&speaker_bottom_default>; - sound-name-prefix = "Speaker Bottom"; - #sound-dai-cells = <0>; - }; - }; diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml index bc762b39c6..443d556caa 100644 --- a/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml @@ -11,9 +11,7 @@ maintainers: properties: compatible: - enum: - - qcom,sc7280-lpass-rx-macro - - qcom,sm8250-lpass-rx-macro + const: qcom,sm8250-lpass-rx-macro reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml index 74f53864e7..6b5ca02ccc 100644 --- a/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml @@ -11,9 +11,7 @@ maintainers: properties: compatible: - enum: - - qcom,sc7280-lpass-tx-macro - - qcom,sm8250-lpass-tx-macro + const: qcom,sm8250-lpass-tx-macro reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml index 99f2c3687f..679b49cbe3 100644 --- a/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-va-macro.yaml @@ -11,9 +11,7 @@ maintainers: properties: compatible: - enum: - - qcom,sc7280-lpass-va-macro - - qcom,sm8250-lpass-va-macro + const: qcom,sm8250-lpass-va-macro reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml b/Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml index 13cdb8a106..435b019a1e 100644 --- a/Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml @@ -11,9 +11,7 @@ maintainers: properties: compatible: - enum: - - qcom,sc7280-lpass-wsa-macro - - qcom,sm8250-lpass-wsa-macro + const: qcom,sm8250-lpass-wsa-macro reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/sound/qcom,q6afe.txt b/Documentation/devicetree/bindings/sound/qcom,q6afe.txt index bc6b5f1fe4..2d6fb2ea75 100644 --- a/Documentation/devicetree/bindings/sound/qcom,q6afe.txt +++ b/Documentation/devicetree/bindings/sound/qcom,q6afe.txt @@ -12,9 +12,190 @@ used by all apr services. Must contain the following properties. from DSP. example "qcom,q6afe" += AFE DAIs (Digial Audio Interface) +"dais" subnode of the AFE node. It represents afe dais, each afe dai is a +subnode of "dais" representing board specific dai setup. +"dais" node should have following properties followed by dai children. + +- compatible: + Usage: required + Value type: + Definition: must be "qcom,q6afe-dais" + +- #sound-dai-cells + Usage: required + Value type: + Definition: Must be 1 + +- #address-cells + Usage: required + Value type: + Definition: Must be 1 + +- #size-cells + Usage: required + Value type: + Definition: Must be 0 + +== AFE DAI is subnode of "dais" and represent a dai, it includes board specific +configuration of each dai. Must contain the following properties. + +- reg + Usage: required + Value type: + Definition: Must be dai id + +- qcom,sd-lines + Usage: required for mi2s interface + Value type: + Definition: Must be list of serial data lines used by this dai. + should be one or more of the 0-3 sd lines. + + - qcom,tdm-sync-mode: + Usage: required for tdm interface + Value type: + Definition: Synchronization mode. + 0 - Short sync bit mode + 1 - Long sync mode + 2 - Short sync slot mode + + - qcom,tdm-sync-src: + Usage: required for tdm interface + Value type: + Definition: Synchronization source. + 0 - External source + 1 - Internal source + + - qcom,tdm-data-out: + Usage: required for tdm interface + Value type: + Definition: Data out signal to drive with other masters. + 0 - Disable + 1 - Enable + + - qcom,tdm-invert-sync: + Usage: required for tdm interface + Value type: + Definition: Invert the sync. + 0 - Normal + 1 - Invert + + - qcom,tdm-data-delay: + Usage: required for tdm interface + Value type: + Definition: Number of bit clock to delay data + with respect to sync edge. + 0 - 0 bit clock cycle + 1 - 1 bit clock cycle + 2 - 2 bit clock cycle + + - qcom,tdm-data-align: + Usage: required for tdm interface + Value type: + Definition: Indicate how data is packed + within the slot. For example, 32 slot width in case of + sample bit width is 24. + 0 - MSB + 1 - LSB + += AFE CLOCKSS +"clocks" subnode of the AFE node. It represents q6afe clocks +"clocks" node should have following properties. +- compatible: + Usage: required + Value type: + Definition: must be "qcom,q6afe-clocks" + +- #clock-cells: + Usage: required + Value type: + Definition: Must be 2. Clock Id followed by + below valid clock coupling attributes. + 1 - for no coupled clock + 2 - for dividend of the coupled clock + 3 - for divisor of the coupled clock + 4 - for inverted and no couple clock + = EXAMPLE apr-service@4 { compatible = "qcom,q6afe"; reg = ; + + dais { + compatible = "qcom,q6afe-dais"; + #sound-dai-cells = <1>; + #address-cells = <1>; + #size-cells = <0>; + + dai@1 { + reg = ; + }; + + dai@24 { + reg = ; + qcom,tdm-sync-mode = <1>: + qcom,tdm-sync-src = <1>; + qcom,tdm-data-out = <0>; + qcom,tdm-invert-sync = <1>; + qcom,tdm-data-delay = <1>; + qcom,tdm-data-align = <0>; + + }; + + dai@25 { + reg = ; + qcom,tdm-sync-mode = <1>: + qcom,tdm-sync-src = <1>; + qcom,tdm-data-out = <0>; + qcom,tdm-invert-sync = <1>; + qcom,tdm-data-delay <1>: + qcom,tdm-data-align = <0>; + }; + + dai@16 { + reg = ; + qcom,sd-lines = <0 2>; + }; + + dai@17 { + reg = ; + qcom,sd-lines = <1>; + }; + + dai@18 { + reg = ; + qcom,sd-lines = <0 3>; + }; + + dai@19 { + reg = ; + qcom,sd-lines = <1>; + }; + + dai@20 { + reg = ; + qcom,sd-lines = <1 3>; + }; + + dai@21 { + reg = ; + qcom,sd-lines = <0>; + }; + + dai@22 { + reg = ; + qcom,sd-lines = <0>; + }; + + dai@23 { + reg = ; + qcom,sd-lines = <1>; + }; + }; + + clocks { + compatible = "qcom,q6afe-clocks"; + #clock-cells = <2>; + }; }; diff --git a/Documentation/devicetree/bindings/sound/qcom,q6asm.txt b/Documentation/devicetree/bindings/sound/qcom,q6asm.txt index 0d00751252..8c4883beca 100644 --- a/Documentation/devicetree/bindings/sound/qcom,q6asm.txt +++ b/Documentation/devicetree/bindings/sound/qcom,q6asm.txt @@ -14,7 +14,7 @@ used by the apr service device. from DSP. example "qcom,q6asm-v2.0" -= ASM DAIs (Digital Audio Interface) += ASM DAIs (Digial Audio Interface) "dais" subnode of the ASM node represents dai specific configuration - compatible: diff --git a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml index 4bfda04b46..7d57eb9165 100644 --- a/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml +++ b/Documentation/devicetree/bindings/sound/qcom,sm8250.yaml @@ -4,20 +4,18 @@ $id: http://devicetree.org/schemas/sound/qcom,sm8250.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Qualcomm Technologies Inc. ASoC sound card drivers +title: Qualcomm Technologies Inc. SM8250 ASoC sound card driver maintainers: - Srinivas Kandagatla description: - This bindings describes Qualcomm SoC based sound cards + This bindings describes SC8250 SoC based sound cards which uses LPASS internal codec for audio. properties: compatible: enum: - - qcom,apq8016-sbc-sndcard - - qcom,msm8916-qdsp6-sndcard - qcom,sm8250-sndcard - qcom,qrb5165-rb5-sndcard @@ -29,28 +27,10 @@ properties: being the connection's source. Valid names could be power supplies, MicBias of codec and the jacks on the board. - aux-devs: - $ref: /schemas/types.yaml#/definitions/phandle-array - description: | - List of phandles pointing to auxiliary devices, such - as amplifiers, to be added to the sound card. - model: $ref: /schemas/types.yaml#/definitions/string description: User visible long sound card name - pin-switches: - description: List of widget names for which pin switches should be created. - $ref: /schemas/types.yaml#/definitions/string-array - - widgets: - description: User specified audio sound widgets. - $ref: /schemas/types.yaml#/definitions/non-unique-string-array - - # Only valid for some compatibles (see allOf if below) - reg: true - reg-names: true - patternProperties: ".*-dai-link$": description: @@ -93,34 +73,6 @@ required: - compatible - model -allOf: - - if: - properties: - compatible: - contains: - enum: - - qcom,apq8016-sbc-sndcard - - qcom,msm8916-qdsp6-sndcard - then: - properties: - reg: - items: - - description: Microphone I/O mux register address - - description: Speaker I/O mux register address - reg-names: - items: - - const: mic-iomux - - const: spkr-iomux - required: - - compatible - - model - - reg - - reg-names - else: - properties: - reg: false - reg-names: false - additionalProperties: false examples: @@ -134,7 +86,10 @@ examples: audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT", "SpkrRight IN", "WSA_SPK2 OUT", "VA DMIC0", "vdd-micb", - "VA DMIC1", "vdd-micb"; + "VA DMIC1", "vdd-micb", + "MM_DL1", "MultiMedia1 Playback", + "MM_DL2", "MultiMedia2 Playback", + "MultiMedia3 Capture", "MM_UL3"; mm1-dai-link { link-name = "MultiMedia0"; @@ -202,98 +157,3 @@ examples: }; }; }; - - - | - #include - sound@7702000 { - compatible = "qcom,apq8016-sbc-sndcard"; - reg = <0x07702000 0x4>, <0x07702004 0x4>; - reg-names = "mic-iomux", "spkr-iomux"; - - model = "DB410c"; - audio-routing = - "AMIC2", "MIC BIAS Internal2", - "AMIC3", "MIC BIAS External1"; - - pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>; - pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>; - pinctrl-names = "default", "sleep"; - - quaternary-dai-link { - link-name = "ADV7533"; - cpu { - sound-dai = <&lpass MI2S_QUATERNARY>; - }; - codec { - sound-dai = <&adv_bridge 0>; - }; - }; - - primary-dai-link { - link-name = "WCD"; - cpu { - sound-dai = <&lpass MI2S_PRIMARY>; - }; - codec { - sound-dai = <&lpass_codec 0>, <&wcd_codec 0>; - }; - }; - - tertiary-dai-link { - link-name = "WCD-Capture"; - cpu { - sound-dai = <&lpass MI2S_TERTIARY>; - }; - codec { - sound-dai = <&lpass_codec 1>, <&wcd_codec 1>; - }; - }; - }; - - - | - #include - #include - sound@7702000 { - compatible = "qcom,msm8916-qdsp6-sndcard"; - reg = <0x07702000 0x4>, <0x07702004 0x4>; - reg-names = "mic-iomux", "spkr-iomux"; - - model = "msm8916"; - widgets = - "Speaker", "Speaker", - "Headphone", "Headphones"; - pin-switches = "Speaker"; - audio-routing = - "Speaker", "Speaker Amp OUT", - "Speaker Amp IN", "HPH_R", - "Headphones", "HPH_L", - "Headphones", "HPH_R", - "AMIC1", "MIC BIAS Internal1", - "AMIC2", "MIC BIAS Internal2", - "AMIC3", "MIC BIAS Internal3"; - aux-devs = <&speaker_amp>; - - pinctrl-names = "default", "sleep"; - pinctrl-0 = <&cdc_pdm_lines_act>; - pinctrl-1 = <&cdc_pdm_lines_sus>; - - mm1-dai-link { - link-name = "MultiMedia1"; - cpu { - sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; - }; - }; - - primary-dai-link { - link-name = "Primary MI2S"; - cpu { - sound-dai = <&q6afedai PRIMARY_MI2S_RX>; - }; - platform { - sound-dai = <&q6routing>; - }; - codec { - sound-dai = <&lpass_codec 0>, <&wcd_codec 0>; - }; - }; - }; diff --git a/Documentation/devicetree/bindings/sound/rt5659.txt b/Documentation/devicetree/bindings/sound/rt5659.txt index 013f534fa0..c473df5c87 100644 --- a/Documentation/devicetree/bindings/sound/rt5659.txt +++ b/Documentation/devicetree/bindings/sound/rt5659.txt @@ -42,7 +42,7 @@ Optional properties: - realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin. - realtek,reset-gpios : The GPIO that controls the CODEC's RESET pin. -- sound-name-prefix: Please refer to name-prefix.yaml +- sound-name-prefix: Please refer to name-prefix.txt - ports: A Codec may have a single or multiple I2S interfaces. These interfaces on Codec side can be described under 'ports' or 'port'. diff --git a/Documentation/devicetree/bindings/sound/samsung-i2s.yaml b/Documentation/devicetree/bindings/sound/samsung-i2s.yaml index 84c4d6cba5..2e3628ef48 100644 --- a/Documentation/devicetree/bindings/sound/samsung-i2s.yaml +++ b/Documentation/devicetree/bindings/sound/samsung-i2s.yaml @@ -110,6 +110,12 @@ properties: Internal DMA register base address of the audio subsystem (used in secondary sound source). + pinctrl-0: + description: Should specify pin control groups used for this controller. + + pinctrl-names: + const: default + power-domains: maxItems: 1 diff --git a/Documentation/devicetree/bindings/sound/simple-audio-mux.yaml b/Documentation/devicetree/bindings/sound/simple-audio-mux.yaml index b5fc35ee9b..5986d1fcbb 100644 --- a/Documentation/devicetree/bindings/sound/simple-audio-mux.yaml +++ b/Documentation/devicetree/bindings/sound/simple-audio-mux.yaml @@ -13,9 +13,6 @@ description: | Simple audio multiplexers are driven using gpios, allowing to select which of their input line is connected to the output line. -allOf: - - $ref: name-prefix.yaml# - properties: compatible: const: simple-audio-mux @@ -24,7 +21,11 @@ properties: description: | GPIOs used to select the input line. - sound-name-prefix: true + sound-name-prefix: + $ref: /schemas/types.yaml#/definitions/string + description: + Used as prefix for sink/source names of the component. Must be a + unique string among multiple instances of the same component. required: - compatible diff --git a/Documentation/devicetree/bindings/sound/socionext,uniphier-aio.yaml b/Documentation/devicetree/bindings/sound/socionext,uniphier-aio.yaml index 70f62ecd6e..55ae198220 100644 --- a/Documentation/devicetree/bindings/sound/socionext,uniphier-aio.yaml +++ b/Documentation/devicetree/bindings/sound/socionext,uniphier-aio.yaml @@ -46,27 +46,7 @@ properties: patternProperties: "^port@[0-9]$": - description: | - Port number of DT node is specified by the following DAI channels that - depends on SoC. - ld11-aio,ld20-aio: - 0: hdmi - 1: pcmin2 - 2: line - 3: hpcmout1 - 4: pcmout3 - 5: hiecout1 - 6: epcmout2 - 7: epcmout3 - 8: hieccompout1 - pxs2-aio: - 0: hdmi - 1: line - 2: aux - 3: hiecout1 - 4: iecout1 - 5: hieccompout1 - 6: ieccompout1 + description: FIXME, Need to define what each port is. $ref: audio-graph-port.yaml# unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/sound/socionext,uniphier-evea.yaml b/Documentation/devicetree/bindings/sound/socionext,uniphier-evea.yaml index be6acfda99..48ddfcbbcb 100644 --- a/Documentation/devicetree/bindings/sound/socionext,uniphier-evea.yaml +++ b/Documentation/devicetree/bindings/sound/socionext,uniphier-evea.yaml @@ -40,11 +40,7 @@ properties: patternProperties: "^port@[0-9]$": - description: | - Port number of DT node is specified by the following DAI channels. - 0: line1 - 1: hp - 2: line2 + description: FIXME, Need to define what each port is. $ref: audio-graph-port.yaml# unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/sound/st,stm32-i2s.yaml b/Documentation/devicetree/bindings/sound/st,stm32-i2s.yaml index d3966ae04a..6feb5a09c1 100644 --- a/Documentation/devicetree/bindings/sound/st,stm32-i2s.yaml +++ b/Documentation/devicetree/bindings/sound/st,stm32-i2s.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 SPI/I2S Controller maintainers: - - Olivier Moysan + - Olivier Moysan description: The SPI/I2S block supports I2S/PCM protocols when configured on I2S mode. diff --git a/Documentation/devicetree/bindings/sound/st,stm32-sai.yaml b/Documentation/devicetree/bindings/sound/st,stm32-sai.yaml index 1538d11ce9..f97132400b 100644 --- a/Documentation/devicetree/bindings/sound/st,stm32-sai.yaml +++ b/Documentation/devicetree/bindings/sound/st,stm32-sai.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 Serial Audio Interface (SAI) maintainers: - - Olivier Moysan + - Olivier Moysan description: The SAI interface (Serial Audio Interface) offers a wide set of audio diff --git a/Documentation/devicetree/bindings/sound/st,stm32-spdifrx.yaml b/Documentation/devicetree/bindings/sound/st,stm32-spdifrx.yaml index 837e830c47..b7f7dc4522 100644 --- a/Documentation/devicetree/bindings/sound/st,stm32-spdifrx.yaml +++ b/Documentation/devicetree/bindings/sound/st,stm32-spdifrx.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 S/PDIF receiver (SPDIFRX) maintainers: - - Olivier Moysan + - Olivier Moysan description: | The SPDIFRX peripheral, is designed to receive an S/PDIF flow compliant with diff --git a/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml b/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml index 0a537fa3a6..0e7087cc8b 100644 --- a/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml +++ b/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml @@ -11,14 +11,6 @@ maintainers: allOf: - $ref: spi-controller.yaml# - - if: - properties: - compatible: - contains: - const: xlnx,versal-ospi-1.0 - then: - required: - - power-domains properties: compatible: @@ -28,8 +20,6 @@ properties: - ti,k2g-qspi - ti,am654-ospi - intel,lgm-qspi - - xlnx,versal-ospi-1.0 - - intel,socfpga-qspi - const: cdns,qspi-nor - const: cdns,qspi-nor @@ -75,9 +65,6 @@ properties: data rather than the QSPI clock. Make sure that QSPI return clock is populated on the board before using this property. - power-domains: - maxItems: 1 - resets: maxItems: 2 @@ -87,6 +74,39 @@ properties: items: enum: [ qspi, qspi-ocp ] +# subnode's properties +patternProperties: + "@[0-9a-f]+$": + type: object + description: + Flash device uses the below defined properties in the subnode. + + properties: + cdns,read-delay: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + Delay for read capture logic, in clock cycles. + + cdns,tshsl-ns: + description: + Delay in nanoseconds for the length that the master mode chip select + outputs are de-asserted between transactions. + + cdns,tsd2d-ns: + description: + Delay in nanoseconds between one chip select being de-activated + and the activation of another. + + cdns,tchsh-ns: + description: + Delay in nanoseconds between last bit of current transaction and + deasserting the device chip select (qspi_n_ss_out). + + cdns,tslch-ns: + description: + Delay in nanoseconds between setting qspi_n_ss_out low and + first bit transfer. + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-nor.yaml b/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-nor.yaml index 4e4694e3d5..7393f30535 100644 --- a/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-nor.yaml +++ b/Documentation/devicetree/bindings/spi/mediatek,spi-mtk-nor.yaml @@ -43,19 +43,14 @@ properties: maxItems: 1 clocks: - minItems: 2 items: - description: clock used for spi bus - description: clock used for controller - - description: clock used for nor dma bus. this depends on hardware - design, so this is optional. clock-names: - minItems: 2 items: - const: spi - const: sf - - const: axi required: - compatible @@ -77,7 +72,7 @@ examples: nor_flash: spi@1100d000 { compatible = "mediatek,mt8173-nor"; reg = <0 0x1100d000 0 0xe0>; - interrupts = <1>; + interrupts = <&spi_flash_irq>; clocks = <&pericfg CLK_PERI_SPI>, <&topckgen CLK_TOP_SPINFI_IFR_SEL>; clock-names = "spi", "sf"; #address-cells = <1>; @@ -89,3 +84,4 @@ examples: }; }; }; + diff --git a/Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml b/Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml index 055524fe83..ef5698f426 100644 --- a/Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml +++ b/Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml @@ -21,11 +21,7 @@ allOf: properties: compatible: items: - - enum: - - qcom,sc7180-qspi - - qcom,sc7280-qspi - - qcom,sdm845-qspi - + - const: qcom,sdm845-qspi - const: qcom,qspi-v1 reg: diff --git a/Documentation/devicetree/bindings/spi/renesas,rspi.yaml b/Documentation/devicetree/bindings/spi/renesas,rspi.yaml index 76e6d9e52f..8397f60d80 100644 --- a/Documentation/devicetree/bindings/spi/renesas,rspi.yaml +++ b/Documentation/devicetree/bindings/spi/renesas,rspi.yaml @@ -21,8 +21,7 @@ properties: - enum: - renesas,rspi-r7s72100 # RZ/A1H - renesas,rspi-r7s9210 # RZ/A2 - - renesas,r9a07g044-rspi # RZ/G2{L,LC} - - const: renesas,rspi-rz # RZ/A and RZ/G2{L,LC} + - const: renesas,rspi-rz # RZ/A - items: - enum: @@ -123,7 +122,6 @@ allOf: contains: enum: - renesas,qspi - - renesas,r9a07g044-rspi then: required: - resets diff --git a/Documentation/devicetree/bindings/spi/spi-controller.yaml b/Documentation/devicetree/bindings/spi/spi-controller.yaml index 36b72518f5..8246891602 100644 --- a/Documentation/devicetree/bindings/spi/spi-controller.yaml +++ b/Documentation/devicetree/bindings/spi/spi-controller.yaml @@ -94,8 +94,73 @@ patternProperties: "^.*@[0-9a-f]+$": type: object - allOf: - - $ref: spi-peripheral-props.yaml + properties: + compatible: + description: + Compatible of the SPI device. + + reg: + minItems: 1 + maxItems: 256 + items: + minimum: 0 + maximum: 256 + description: + Chip select used by the device. + + spi-3wire: + $ref: /schemas/types.yaml#/definitions/flag + description: + The device requires 3-wire mode. + + spi-cpha: + $ref: /schemas/types.yaml#/definitions/flag + description: + The device requires shifted clock phase (CPHA) mode. + + spi-cpol: + $ref: /schemas/types.yaml#/definitions/flag + description: + The device requires inverse clock polarity (CPOL) mode. + + spi-cs-high: + $ref: /schemas/types.yaml#/definitions/flag + description: + The device requires the chip select active high. + + spi-lsb-first: + $ref: /schemas/types.yaml#/definitions/flag + description: + The device requires the LSB first mode. + + spi-max-frequency: + $ref: /schemas/types.yaml#/definitions/uint32 + description: + Maximum SPI clocking speed of the device in Hz. + + spi-rx-bus-width: + description: + Bus width to the SPI bus used for read transfers. + If 0 is provided, then no RX will be possible on this device. + $ref: /schemas/types.yaml#/definitions/uint32 + enum: [0, 1, 2, 4, 8] + default: 1 + + spi-rx-delay-us: + description: + Delay, in microseconds, after a read transfer. + + spi-tx-bus-width: + description: + Bus width to the SPI bus used for write transfers. + If 0 is provided, then no TX will be possible on this device. + $ref: /schemas/types.yaml#/definitions/uint32 + enum: [0, 1, 2, 4, 8] + default: 1 + + spi-tx-delay-us: + description: + Delay, in microseconds, after a write transfer. required: - compatible diff --git a/Documentation/devicetree/bindings/spi/spi-fsl-lpspi.yaml b/Documentation/devicetree/bindings/spi/spi-fsl-lpspi.yaml index 1d46877fe4..312d8fee9d 100644 --- a/Documentation/devicetree/bindings/spi/spi-fsl-lpspi.yaml +++ b/Documentation/devicetree/bindings/spi/spi-fsl-lpspi.yaml @@ -14,13 +14,10 @@ allOf: properties: compatible: - oneOf: - - enum: - - fsl,imx7ulp-spi - - fsl,imx8qxp-spi - - items: - - const: fsl,imx8ulp-spi - - const: fsl,imx7ulp-spi + enum: + - fsl,imx7ulp-spi + - fsl,imx8qxp-spi + reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/spi/spi-mux.yaml b/Documentation/devicetree/bindings/spi/spi-mux.yaml index 7ea79f6d33..51c7622dc2 100644 --- a/Documentation/devicetree/bindings/spi/spi-mux.yaml +++ b/Documentation/devicetree/bindings/spi/spi-mux.yaml @@ -31,7 +31,6 @@ description: | allOf: - $ref: "/schemas/spi/spi-controller.yaml#" - - $ref: "/schemas/spi/spi-peripheral-props.yaml#" maintainers: - Chris Packham diff --git a/Documentation/devicetree/bindings/spi/spi-pl022.yaml b/Documentation/devicetree/bindings/spi/spi-pl022.yaml index 6d633728fc..a91d868e40 100644 --- a/Documentation/devicetree/bindings/spi/spi-pl022.yaml +++ b/Documentation/devicetree/bindings/spi/spi-pl022.yaml @@ -72,9 +72,6 @@ properties: - const: rx - const: tx - resets: - maxItems: 1 - patternProperties: "^[a-zA-Z][a-zA-Z0-9,+\\-._]{0,63}@[0-9a-f]+$": type: object diff --git a/Documentation/devicetree/bindings/spi/spi-rockchip.yaml b/Documentation/devicetree/bindings/spi/spi-rockchip.yaml index 52a78a2e36..7f987e7933 100644 --- a/Documentation/devicetree/bindings/spi/spi-rockchip.yaml +++ b/Documentation/devicetree/bindings/spi/spi-rockchip.yaml @@ -33,7 +33,6 @@ properties: - rockchip,rk3328-spi - rockchip,rk3368-spi - rockchip,rk3399-spi - - rockchip,rk3568-spi - rockchip,rv1126-spi - const: rockchip,rk3066-spi diff --git a/Documentation/devicetree/bindings/spi/st,stm32-qspi.yaml b/Documentation/devicetree/bindings/spi/st,stm32-qspi.yaml index 6ec6f55618..983c4e54c0 100644 --- a/Documentation/devicetree/bindings/spi/st,stm32-qspi.yaml +++ b/Documentation/devicetree/bindings/spi/st,stm32-qspi.yaml @@ -7,8 +7,8 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 Quad Serial Peripheral Interface (QSPI) bindings maintainers: - - Christophe Kerello - - Patrice Chotard + - Christophe Kerello + - Patrice Chotard allOf: - $ref: "spi-controller.yaml#" diff --git a/Documentation/devicetree/bindings/spi/st,stm32-spi.yaml b/Documentation/devicetree/bindings/spi/st,stm32-spi.yaml index 3d64bed266..2d9af4c506 100644 --- a/Documentation/devicetree/bindings/spi/st,stm32-spi.yaml +++ b/Documentation/devicetree/bindings/spi/st,stm32-spi.yaml @@ -13,8 +13,8 @@ description: | from 4 to 32-bit data size. maintainers: - - Erwan Leray - - Fabrice Gasnier + - Erwan Leray + - Fabrice Gasnier allOf: - $ref: "spi-controller.yaml#" diff --git a/Documentation/devicetree/bindings/spmi/spmi.yaml b/Documentation/devicetree/bindings/spmi/spmi.yaml index c1b06fa5c6..1d243faef2 100644 --- a/Documentation/devicetree/bindings/spmi/spmi.yaml +++ b/Documentation/devicetree/bindings/spmi/spmi.yaml @@ -24,6 +24,9 @@ properties: $nodename: pattern: "^spmi@.*" + reg: + maxItems: 1 + "#address-cells": const: 2 diff --git a/Documentation/devicetree/bindings/sram/sram.yaml b/Documentation/devicetree/bindings/sram/sram.yaml index 668a9a41a7..3eda5049d1 100644 --- a/Documentation/devicetree/bindings/sram/sram.yaml +++ b/Documentation/devicetree/bindings/sram/sram.yaml @@ -31,10 +31,6 @@ properties: - amlogic,meson-gxbb-sram - arm,juno-sram-ns - atmel,sama5d2-securam - - nvidia,tegra186-sysram - - nvidia,tegra194-sysram - - nvidia,tegra234-sysram - - qcom,rpm-msg-ram - rockchip,rk3288-pmu-sram reg: @@ -64,7 +60,7 @@ properties: type: boolean patternProperties: - "^([a-z0-9]*-)?sram(-section)?@[a-f0-9]+$": + "^([a-z]*-)?sram(-section)?@[a-f0-9]+$": type: object description: Each child of the sram node specifies a region of reserved memory. @@ -139,9 +135,7 @@ if: properties: compatible: contains: - enum: - - qcom,rpm-msg-ram - - rockchip,rk3288-pmu-sram + const: rockchip,rk3288-pmu-sram else: required: diff --git a/Documentation/devicetree/bindings/submitting-patches.rst b/Documentation/devicetree/bindings/submitting-patches.rst index 36a17b250c..8087780f16 100644 --- a/Documentation/devicetree/bindings/submitting-patches.rst +++ b/Documentation/devicetree/bindings/submitting-patches.rst @@ -63,9 +63,6 @@ I. For patch submitters string that is matched by the driver (as in the "nvidia,tegra20-pcie" example above). - 9) Bindings are actively used by multiple projects other than the Linux - Kernel, extra care and consideration may need to be taken when making changes - to existing bindings. II. For kernel maintainers ========================== diff --git a/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml b/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml index f6c1be226a..b96ea277b5 100644 --- a/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml +++ b/Documentation/devicetree/bindings/thermal/rockchip-thermal.yaml @@ -12,14 +12,14 @@ maintainers: properties: compatible: enum: - - rockchip,px30-tsadc - - rockchip,rk3228-tsadc - - rockchip,rk3288-tsadc - - rockchip,rk3328-tsadc - - rockchip,rk3368-tsadc - - rockchip,rk3399-tsadc - - rockchip,rk3568-tsadc - - rockchip,rv1108-tsadc + - rockchip,px30-tsadc # PX30 SoCs + - rockchip,rv1108-tsadc # RV1108 SoCs + - rockchip,rk3228-tsadc # RK3228 SoCs + - rockchip,rk3288-tsadc # RK3288 SoCs + - rockchip,rk3328-tsadc # RK3328 SoCs + - rockchip,rk3368-tsadc # RK3368 SoCs + - rockchip,rk3399-tsadc # RK3399 SoCs + - rockchip,rk3568-tsadc # RK3568 SoCs reg: maxItems: 1 @@ -37,15 +37,11 @@ properties: - const: apb_pclk resets: - minItems: 1 - maxItems: 3 + maxItems: 1 reset-names: - minItems: 1 items: - const: tsadc-apb - - const: tsadc - - const: tsadc-phy "#thermal-sensor-cells": const: 1 @@ -75,6 +71,7 @@ required: - clocks - clock-names - resets + - reset-names - "#thermal-sensor-cells" additionalProperties: false diff --git a/Documentation/devicetree/bindings/thermal/socionext,uniphier-thermal.yaml b/Documentation/devicetree/bindings/thermal/socionext,uniphier-thermal.yaml index c5b25ce449..553c9dcdae 100644 --- a/Documentation/devicetree/bindings/thermal/socionext,uniphier-thermal.yaml +++ b/Documentation/devicetree/bindings/thermal/socionext,uniphier-thermal.yaml @@ -20,7 +20,6 @@ properties: - socionext,uniphier-pxs2-thermal - socionext,uniphier-ld20-thermal - socionext,uniphier-pxs3-thermal - - socionext,uniphier-nx1-thermal interrupts: maxItems: 1 diff --git a/Documentation/devicetree/bindings/thermal/st,stm32-thermal.yaml b/Documentation/devicetree/bindings/thermal/st,stm32-thermal.yaml index bee41cff51..c0f59c5600 100644 --- a/Documentation/devicetree/bindings/thermal/st,stm32-thermal.yaml +++ b/Documentation/devicetree/bindings/thermal/st,stm32-thermal.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 digital thermal sensor (DTS) binding maintainers: - - Pascal Paillet + - David Hernandez Sanchez properties: compatible: diff --git a/Documentation/devicetree/bindings/timer/cdns,ttc.yaml b/Documentation/devicetree/bindings/timer/cdns,ttc.yaml index c3386076a9..8615353f69 100644 --- a/Documentation/devicetree/bindings/timer/cdns,ttc.yaml +++ b/Documentation/devicetree/bindings/timer/cdns,ttc.yaml @@ -25,9 +25,6 @@ properties: clocks: maxItems: 1 - power-domains: - maxItems: 1 - timer-width: $ref: "/schemas/types.yaml#/definitions/uint32" description: | diff --git a/Documentation/devicetree/bindings/timer/ingenic,sysost.yaml b/Documentation/devicetree/bindings/timer/ingenic,sysost.yaml index 98648bf9e1..df3eb76045 100644 --- a/Documentation/devicetree/bindings/timer/ingenic,sysost.yaml +++ b/Documentation/devicetree/bindings/timer/ingenic,sysost.yaml @@ -46,7 +46,7 @@ additionalProperties: false examples: - | - #include + #include ost: timer@12000000 { compatible = "ingenic,x1000-ost"; diff --git a/Documentation/devicetree/bindings/timer/ingenic,tcu.yaml b/Documentation/devicetree/bindings/timer/ingenic,tcu.yaml index 7fb37eae9d..8165df4599 100644 --- a/Documentation/devicetree/bindings/timer/ingenic,tcu.yaml +++ b/Documentation/devicetree/bindings/timer/ingenic,tcu.yaml @@ -237,7 +237,7 @@ additionalProperties: false examples: - | - #include + #include #include tcu: timer@10002000 { compatible = "ingenic,jz4770-tcu", "ingenic,jz4760-tcu", "simple-mfd"; diff --git a/Documentation/devicetree/bindings/timer/nxp,tpm-timer.yaml b/Documentation/devicetree/bindings/timer/nxp,tpm-timer.yaml index f69773a8e4..edd9585f67 100644 --- a/Documentation/devicetree/bindings/timer/nxp,tpm-timer.yaml +++ b/Documentation/devicetree/bindings/timer/nxp,tpm-timer.yaml @@ -19,11 +19,7 @@ description: | properties: compatible: - oneOf: - - const: fsl,imx7ulp-tpm - - items: - - const: fsl,imx8ulp-tpm - - const: fsl,imx7ulp-tpm + const: fsl,imx7ulp-tpm reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/timer/renesas,ostm.yaml b/Documentation/devicetree/bindings/timer/renesas,ostm.yaml index 7fa7f977b4..600d47ab7d 100644 --- a/Documentation/devicetree/bindings/timer/renesas,ostm.yaml +++ b/Documentation/devicetree/bindings/timer/renesas,ostm.yaml @@ -21,10 +21,9 @@ properties: compatible: items: - enum: - - renesas,r7s72100-ostm # RZ/A1H - - renesas,r7s9210-ostm # RZ/A2M - - renesas,r9a07g044-ostm # RZ/G2{L,LC} - - const: renesas,ostm # Generic + - renesas,r7s72100-ostm # RZ/A1H + - renesas,r7s9210-ostm # RZ/A2M + - const: renesas,ostm # Generic reg: maxItems: 1 @@ -38,9 +37,6 @@ properties: power-domains: maxItems: 1 - resets: - maxItems: 1 - required: - compatible - reg @@ -48,16 +44,6 @@ required: - clocks - power-domains -if: - properties: - compatible: - contains: - enum: - - renesas,r9a07g044-ostm -then: - required: - - resets - additionalProperties: false examples: diff --git a/Documentation/devicetree/bindings/timer/rockchip,rk-timer.yaml b/Documentation/devicetree/bindings/timer/rockchip,rk-timer.yaml index 5d157d87da..e26ecb5893 100644 --- a/Documentation/devicetree/bindings/timer/rockchip,rk-timer.yaml +++ b/Documentation/devicetree/bindings/timer/rockchip,rk-timer.yaml @@ -18,6 +18,7 @@ properties: - enum: - rockchip,rv1108-timer - rockchip,rk3036-timer + - rockchip,rk3066-timer - rockchip,rk3188-timer - rockchip,rk3228-timer - rockchip,rk3229-timer diff --git a/Documentation/devicetree/bindings/timer/sifive,clint.yaml b/Documentation/devicetree/bindings/timer/sifive,clint.yaml index 8d5f4687ad..a35952f487 100644 --- a/Documentation/devicetree/bindings/timer/sifive,clint.yaml +++ b/Documentation/devicetree/bindings/timer/sifive,clint.yaml @@ -25,7 +25,6 @@ properties: items: - enum: - sifive,fu540-c000-clint - - starfive,jh7100-clint - canaan,k210-clint - const: sifive,clint0 diff --git a/Documentation/devicetree/bindings/timer/st,stm32-timer.yaml b/Documentation/devicetree/bindings/timer/st,stm32-timer.yaml index 937aa8a563..176aa3c9ba 100644 --- a/Documentation/devicetree/bindings/timer/st,stm32-timer.yaml +++ b/Documentation/devicetree/bindings/timer/st,stm32-timer.yaml @@ -7,8 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 general-purpose 16 and 32 bits timers bindings maintainers: - - Fabrice Gasnier - - Patrice Chotard + - Benjamin Gaignard properties: compatible: diff --git a/Documentation/devicetree/bindings/trivial-devices.yaml b/Documentation/devicetree/bindings/trivial-devices.yaml index 091792ba99..1e4b3464d7 100644 --- a/Documentation/devicetree/bindings/trivial-devices.yaml +++ b/Documentation/devicetree/bindings/trivial-devices.yaml @@ -31,7 +31,7 @@ properties: - enum: # SMBus/I2C Digital Temperature Sensor in 6-Pin SOT with SMBus Alert and Over Temperature Pin - ad,ad7414 - # ADM9240: Complete System Hardware Monitor for uProcessor-Based Systems + # ADM9240: Complete System Hardware Monitor for uProcessor-Based Systems - ad,adm9240 # AD5110 - Nonvolatile Digital Potentiometer - adi,ad5110 @@ -41,9 +41,13 @@ properties: - adi,adp5585-02 # Analog Devices ADP5589 Keypad Decoder and I/O Expansion - adi,adp5589 + # +/-1C TDM Extended Temp Range I.C + - adi,adt7461 + # +/-1C TDM Extended Temp Range I.C + - adt7461 # AMS iAQ-Core VOC Sensor - ams,iaq-core - # i2c serial eeprom (24cxx) + # i2c serial eeprom (24cxx) - at,24c08 # i2c trusted platform module (TPM) - atmel,at97sc3204t @@ -73,10 +77,6 @@ properties: - dallas,ds4510 # Digital Thermometer and Thermostat - dallas,ds75 - # Delta AHE-50DC Open19 power shelf fan control module - - delta,ahe50dc-fan - # Delta Electronics DPS-650-AB power supply - - delta,dps650ab # Delta Electronics DPS920AB 920W 54V Power Supply - delta,dps920ab # 1/4 Brick DC/DC Regulated Power Module @@ -113,24 +113,12 @@ properties: - mps,mp2888 # Monolithic Power Systems Inc. multi-phase controller mp2975 - mps,mp2975 - # Honeywell Humidicon HIH-6130 humidity/temperature sensor - - honeywell,hi6130 - # IBM Common Form Factor Power Supply Versions (all versions) - - ibm,cffps - # IBM Common Form Factor Power Supply Versions 1 - - ibm,cffps1 - # IBM Common Form Factor Power Supply Versions 2 - - ibm,cffps2 + # G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire Interface + - gmt,g751 # Infineon IR36021 digital POL buck controller - infineon,ir36021 - # Infineon IR38060 Voltage Regulator - - infineon,ir38060 # Infineon IR38064 Voltage Regulator - infineon,ir38064 - # Infineon IR38164 Voltage Regulator - - infineon,ir38164 - # Infineon IR38263 Voltage Regulator - - infineon,ir38263 # Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz) - infineon,slb9635tt # Infineon SLB9645 I2C TPM (new protocol, max 400khz) @@ -289,8 +277,6 @@ properties: - sensirion,sgp30 # Sensirion gas sensor with I2C interface - sensirion,sgp40 - # Sensirion temperature & humidity sensor with I2C interface - - sensirion,sht4x # Sensortek 3 axis accelerometer - sensortek,stk8312 # Sensortek 3 axis accelerometer @@ -303,9 +289,9 @@ properties: - skyworks,sky81452 # Socionext SynQuacer TPM MMIO module - socionext,synquacer-tpm-mmio - # SparkFun Qwiic Joystick (COM-15168) with i2c interface + # i2c serial eeprom (24cxx) - sparkfun,qwiic-joystick - # i2c serial eeprom (24cxx) + # SparkFun Qwiic Joystick (COM-15168) with i2c interface - st,24c256 # Ambient Light Sensor with SMBUS/Two Wire Serial Interface - taos,tsl2550 @@ -321,37 +307,24 @@ properties: - ti,hdc1050 # Temperature and humidity sensor with i2c interface - ti,hdc1080 - # Thermometer with SPI interface - - ti,lm70 - - ti,lm71 # Temperature sensor with 2-wire interface - ti,lm73 - # Thermometer with SPI interface - - ti,lm74 # Temperature sensor with integrated fan control - ti,lm96000 # I2C Touch-Screen Controller - ti,tsc2003 # Low Power Digital Temperature Sensor with SMBUS/Two Wire Serial Interface + - ti,tmp102 + # Low Power Digital Temperature Sensor with SMBUS/Two Wire Serial Interface - ti,tmp103 - # Thermometer with SPI interface - - ti,tmp121 - - ti,tmp122 # Digital Temperature Sensor - ti,tmp275 - # TI DC-DC converter on PMBus - - ti,tps40400 # TI Dual channel DCAP+ multiphase controller TPS53676 with AVSBus - ti,tps53676 # TI Dual channel DCAP+ multiphase controller TPS53679 - ti,tps53679 # TI Dual channel DCAP+ multiphase controller TPS53688 - ti,tps53688 - # TI DC-DC converters on PMBus - - ti,tps544b20 - - ti,tps544b25 - - ti,tps544c20 - - ti,tps544c25 # Winbond/Nuvoton H/W Monitor - winbond,w83793 # i2c trusted platform module (TPM) diff --git a/Documentation/devicetree/bindings/ufs/samsung,exynos-ufs.yaml b/Documentation/devicetree/bindings/ufs/samsung,exynos-ufs.yaml index 95ac1c1833..b9ca8ef4f2 100644 --- a/Documentation/devicetree/bindings/ufs/samsung,exynos-ufs.yaml +++ b/Documentation/devicetree/bindings/ufs/samsung,exynos-ufs.yaml @@ -20,8 +20,6 @@ properties: compatible: enum: - samsung,exynos7-ufs - - samsung,exynosautov9-ufs - - samsung,exynosautov9-ufs-vh reg: items: @@ -56,14 +54,6 @@ properties: phy-names: const: ufs-phy - samsung,sysreg: - $ref: '/schemas/types.yaml#/definitions/phandle-array' - description: Should be phandle/offset pair. The phandle to the syscon node - which indicates the FSYSx sysreg interface and the offset of - the control register for UFS io coherency setting. - - dma-coherent: true - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt b/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt index d0fee78e62..d8fd4df817 100644 --- a/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt +++ b/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt @@ -16,7 +16,6 @@ Required properties: "qcom,sm8150-ufshc", "qcom,ufshc", "jedec,ufs-2.0" "qcom,sm8250-ufshc", "qcom,ufshc", "jedec,ufs-2.0" "qcom,sm8350-ufshc", "qcom,ufshc", "jedec,ufs-2.0" - "qcom,sm8450-ufshc", "qcom,ufshc", "jedec,ufs-2.0" - interrupts : - reg : diff --git a/Documentation/devicetree/bindings/usb/atmel-usb.txt b/Documentation/devicetree/bindings/usb/atmel-usb.txt index f512f02907..a4002624ba 100644 --- a/Documentation/devicetree/bindings/usb/atmel-usb.txt +++ b/Documentation/devicetree/bindings/usb/atmel-usb.txt @@ -39,10 +39,6 @@ Required properties: "ehci_clk" for the peripheral clock "usb_clk" for the UTMI clock -Optional properties: - - phy_type : For multi port host USB controllers, should be one of - "utmi", or "hsic". - usb1: ehci@800000 { compatible = "atmel,at91sam9g45-ehci", "usb-ehci"; reg = <0x00800000 0x100000>; diff --git a/Documentation/devicetree/bindings/usb/dwc2.yaml b/Documentation/devicetree/bindings/usb/dwc2.yaml index f00867ebc1..10c7d9b6cc 100644 --- a/Documentation/devicetree/bindings/usb/dwc2.yaml +++ b/Documentation/devicetree/bindings/usb/dwc2.yaml @@ -9,9 +9,6 @@ title: DesignWare HS OTG USB 2.0 controller Bindings maintainers: - Rob Herring -allOf: - - $ref: usb-drd.yaml# - properties: compatible: oneOf: @@ -104,17 +101,12 @@ properties: description: reference to the VBUS and ID sensing comparators supply, in order to perform OTG operation, used on STM32MP15 SoCs. - dr_mode: true + dr_mode: + enum: [host, peripheral, otg] - otg-rev: true - - hnp-disable: true - - srp-disable: true - - usb-role-switch: true - - role-switch-default-mode: true + usb-role-switch: + $ref: /schemas/types.yaml#/definitions/flag + description: Support role switch. g-rx-fifo-size: $ref: /schemas/types.yaml#/definitions/uint32 @@ -138,17 +130,6 @@ properties: description: If present indicates that we need to reset the PHY when we detect a wakeup. This is due to a hardware errata. - port: - description: - Any connector to the data bus of this controller should be modelled - using the OF graph bindings specified, if the "usb-role-switch" - property is used. - $ref: /schemas/graph.yaml#/properties/port - -dependencies: - port: [ usb-role-switch ] - role-switch-default-mode: [ usb-role-switch ] - required: - compatible - reg diff --git a/Documentation/devicetree/bindings/usb/ingenic,musb.yaml b/Documentation/devicetree/bindings/usb/ingenic,musb.yaml index 59212358fc..f506225a4d 100644 --- a/Documentation/devicetree/bindings/usb/ingenic,musb.yaml +++ b/Documentation/devicetree/bindings/usb/ingenic,musb.yaml @@ -58,7 +58,7 @@ additionalProperties: false examples: - | - #include + #include usb_phy: usb-phy { compatible = "usb-nop-xceiv"; #phy-cells = <0>; diff --git a/Documentation/devicetree/bindings/usb/intel,keembay-dwc3.yaml b/Documentation/devicetree/bindings/usb/intel,keembay-dwc3.yaml index d3511f48cd..43b91ab620 100644 --- a/Documentation/devicetree/bindings/usb/intel,keembay-dwc3.yaml +++ b/Documentation/devicetree/bindings/usb/intel,keembay-dwc3.yaml @@ -13,9 +13,6 @@ properties: compatible: const: intel,keembay-dwc3 - reg: - maxItems: 1 - clocks: maxItems: 4 diff --git a/Documentation/devicetree/bindings/usb/nvidia,tegra-xudc.yaml b/Documentation/devicetree/bindings/usb/nvidia,tegra-xudc.yaml index a39c76b894..8428415896 100644 --- a/Documentation/devicetree/bindings/usb/nvidia,tegra-xudc.yaml +++ b/Documentation/devicetree/bindings/usb/nvidia,tegra-xudc.yaml @@ -59,19 +59,6 @@ properties: - const: fs_src - const: hs_src - interconnects: - items: - - description: memory read client - - description: memory write client - - interconnect-names: - items: - - const: dma-mem # read - - const: write - - iommus: - maxItems: 1 - power-domains: items: - description: XUSBB(device) power-domain diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml index 2d23a4ff70..e70afc40ed 100644 --- a/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.yaml @@ -13,9 +13,6 @@ properties: compatible: items: - enum: - - qcom,ipq4019-dwc3 - - qcom,ipq6018-dwc3 - - qcom,ipq8064-dwc3 - qcom,msm8996-dwc3 - qcom,msm8998-dwc3 - qcom,sc7180-dwc3 @@ -25,11 +22,9 @@ properties: - qcom,sdx55-dwc3 - qcom,sm4250-dwc3 - qcom,sm6115-dwc3 - - qcom,sm6350-dwc3 - qcom,sm8150-dwc3 - qcom,sm8250-dwc3 - qcom,sm8350-dwc3 - - qcom,sm8450-dwc3 - const: qcom,dwc3 reg: diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml index d29ffcd274..078fb78895 100644 --- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml +++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml @@ -36,9 +36,6 @@ properties: - const: synopsys,dwc3 deprecated: true - reg: - maxItems: 1 - interrupts: description: It's either a single common DWC3 interrupt (dwc_usb3) or individual @@ -68,9 +65,6 @@ properties: - enum: [bus_early, ref, suspend] - true - iommus: - maxItems: 1 - usb-phy: minItems: 1 items: @@ -79,15 +73,15 @@ properties: phys: minItems: 1 - maxItems: 2 + items: + - description: USB2/HS PHY + - description: USB3/SS PHY phy-names: minItems: 1 - maxItems: 2 items: - enum: - - usb2-phy - - usb3-phy + - const: usb2-phy + - const: usb3-phy resets: minItems: 1 @@ -258,14 +252,6 @@ properties: minimum: 0 maximum: 0x3f - snps,ref-clock-period-ns: - description: - Value for REFCLKPER field of GUCTL register for reference clock period in - nanoseconds, when the hardware set default does not match the actual - clock. - minimum: 1 - maximum: 0x3ff - snps,rx-thr-num-pkt-prd: description: Periodic ESS RX packet threshold count (host mode only). Set this and diff --git a/Documentation/devicetree/bindings/usb/st,stusb160x.yaml b/Documentation/devicetree/bindings/usb/st,stusb160x.yaml index ead1571e0e..9a51efa9d1 100644 --- a/Documentation/devicetree/bindings/usb/st,stusb160x.yaml +++ b/Documentation/devicetree/bindings/usb/st,stusb160x.yaml @@ -7,7 +7,7 @@ $schema: "http://devicetree.org/meta-schemas/core.yaml#" title: STMicroelectronics STUSB160x Type-C controller bindings maintainers: - - Amelie Delaunay + - Amelie Delaunay properties: compatible: diff --git a/Documentation/devicetree/bindings/usb/ti,j721e-usb.yaml b/Documentation/devicetree/bindings/usb/ti,j721e-usb.yaml index eedde385d2..a634774c53 100644 --- a/Documentation/devicetree/bindings/usb/ti,j721e-usb.yaml +++ b/Documentation/devicetree/bindings/usb/ti,j721e-usb.yaml @@ -7,7 +7,7 @@ $schema: "http://devicetree.org/meta-schemas/core.yaml#" title: Bindings for the TI wrapper module for the Cadence USBSS-DRD controller maintainers: - - Roger Quadros + - Roger Quadros properties: compatible: diff --git a/Documentation/devicetree/bindings/usb/ti,keystone-dwc3.yaml b/Documentation/devicetree/bindings/usb/ti,keystone-dwc3.yaml index 4f7a212fdd..f6e91a5fd8 100644 --- a/Documentation/devicetree/bindings/usb/ti,keystone-dwc3.yaml +++ b/Documentation/devicetree/bindings/usb/ti,keystone-dwc3.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: TI Keystone Soc USB Controller maintainers: - - Roger Quadros + - Roger Quadros properties: compatible: diff --git a/Documentation/devicetree/bindings/usb/ti,tps6598x.yaml b/Documentation/devicetree/bindings/usb/ti,tps6598x.yaml index a4c53b1f1a..f6819bf2a3 100644 --- a/Documentation/devicetree/bindings/usb/ti,tps6598x.yaml +++ b/Documentation/devicetree/bindings/usb/ti,tps6598x.yaml @@ -12,14 +12,10 @@ maintainers: description: | Texas Instruments 6598x Type-C Port Switch and Power Delivery controller - A variant of this controller known as Apple CD321x or Apple ACE is also - present on hardware with Apple SoCs such as the M1. - properties: compatible: enum: - ti,tps6598x - - apple,cd321x reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml index c78df65f86..3c65028f53 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml @@ -25,8 +25,6 @@ patternProperties: # Keep list in alphabetical order. "^70mai,.*": description: 70mai Co., Ltd. - "^8dev,.*": - description: 8devices, UAB "^abb,.*": description: ABB "^abilis,.*": @@ -133,8 +131,6 @@ patternProperties: description: Asahi Kasei Corp. "^asc,.*": description: All Sensors Corporation - "^asix,.*": - description: ASIX Electronics Corporation "^aspeed,.*": description: ASPEED Technology Inc. "^asus,.*": @@ -191,16 +187,12 @@ patternProperties: description: Shanghai Broadmobi Communication Technology Co.,Ltd. "^brcm,.*": description: Broadcom Corporation - "^bsh,.*": - description: BSH Hausgeraete GmbH "^buffalo,.*": description: Buffalo, Inc. "^bur,.*": description: B&R Industrial Automation GmbH "^bticino,.*": description: Bticino International - "^calamp,.*": - description: CalAmp Corp. "^calaosystems,.*": description: CALAO Systems SAS "^calxeda,.*": @@ -345,8 +337,6 @@ patternProperties: description: EBV Elektronik "^eckelmann,.*": description: Eckelmann AG - "^edimax,.*": - description: EDIMAX Technology Co., Ltd "^edt,.*": description: Emerging Display Technologies "^eeti,.*": @@ -365,8 +355,6 @@ patternProperties: description: Shenzhen Elida Technology Co., Ltd. "^elimo,.*": description: Elimo Engineering Ltd. - "^elpida,.*": - description: Elpida Memory, Inc. "^embest,.*": description: Shenzhen Embest Technology Co., Ltd. "^emlid,.*": @@ -385,8 +373,6 @@ patternProperties: description: Silicon Laboratories (formerly Energy Micro AS) "^engicam,.*": description: Engicam S.r.l. - "^engleder,.*": - description: Engleder "^epcos,.*": description: EPCOS AG "^epfl,.*": @@ -411,8 +397,6 @@ patternProperties: description: Exar Corporation "^excito,.*": description: Excito - "^exegin,.*": - description: Exegin Technologies Limited "^ezchip,.*": description: EZchip Semiconductor "^facebook,.*": @@ -445,8 +429,6 @@ patternProperties: description: Freescale Semiconductor "^fujitsu,.*": description: Fujitsu Ltd. - "^fxtec,.*": - description: FX Technology Ltd. "^gardena,.*": description: GARDENA GmbH "^gateworks,.*": @@ -523,8 +505,6 @@ patternProperties: description: HannStar Display Co. "^holtek,.*": description: Holtek Semiconductor, Inc. - "^huawei,.*": - description: Huawei Technologies Co., Ltd. "^hugsun,.*": description: Shenzhen Hugsun Technology Co. Ltd. "^hwacom,.*": @@ -533,8 +513,6 @@ patternProperties: description: Hycon Technology Corp. "^hydis,.*": description: Hydis Technologies - "^hynix,.*": - description: SK Hynix Inc. "^hyundai,.*": description: Hyundai Technology "^i2se,.*": @@ -603,12 +581,8 @@ patternProperties: description: JEDEC Solid State Technology Association "^jesurun,.*": description: Shenzhen Jesurun Electronics Business Dept. - "^jethome,.*": - description: JetHome (IP Sokolov P.A.) "^jianda,.*": description: Jiandangjing Technology Co., Ltd. - "^joz,.*": - description: JOZ BV "^kam,.*": description: Kamstrup A/S "^karo,.*": @@ -683,8 +657,6 @@ patternProperties: description: Linux-specific binding "^linx,.*": description: Linx Technologies - "^liteon,.*": - description: LITE-ON Technology Corp. "^litex,.*": description: LiteX SoC builder "^lltc,.*": @@ -868,8 +840,6 @@ patternProperties: description: OLIMEX Ltd. "^olpc,.*": description: One Laptop Per Child - "^oneplus,.*": - description: OnePlus Technology (Shenzhen) Co., Ltd. "^onion,.*": description: Onion Corporation "^onnn,.*": @@ -1052,8 +1022,6 @@ patternProperties: description: Shenzhen SEI Robotics Co., Ltd "^semtech,.*": description: Semtech Corporation - "^senseair,.*": - description: Senseair AB "^sensirion,.*": description: Sensirion AG "^sensortek,.*": @@ -1136,12 +1104,8 @@ patternProperties: description: Spansion Inc. "^sparkfun,.*": description: SparkFun Electronics - "^spinalhdl,.*": - description: SpinalHDL "^sprd,.*": description: Spreadtrum Communications Inc. - "^ssi,.*": - description: SSI Computer Corp "^sst,.*": description: Silicon Storage Technology, Inc. "^sstar,.*": @@ -1171,8 +1135,6 @@ patternProperties: description: Summit microelectronics "^sunchip,.*": description: Shenzhen Sunchip Technology Co., Ltd - "^sunplus,.*": - description: Sunplus Technology Co., Ltd. "^SUNW,.*": description: Sun Microsystems, Inc "^supermicro,.*": @@ -1211,14 +1173,10 @@ patternProperties: description: Terasic Inc. "^tfc,.*": description: Three Five Corp - "^thead,.*": - description: T-Head Semiconductor Co., Ltd. "^thine,.*": description: THine Electronics, Inc. "^thingyjp,.*": description: thingy.jp - "^thundercomm,.*": - description: Thundercomm Technology Co., Ltd. "^ti,.*": description: Texas Instruments "^tianma,.*": @@ -1260,8 +1218,6 @@ patternProperties: description: Truly Semiconductors Limited "^visionox,.*": description: Visionox - "^team-source-display,.*": - description: Shenzhen Team Source Display Technology Co., Ltd. (TSD) "^tsd,.*": description: Theobroma Systems Design und Consulting GmbH "^tyan,.*": @@ -1298,8 +1254,6 @@ patternProperties: description: Variscite Ltd. "^vdl,.*": description: Van der Laan b.v. - "^vertexcom,.*": - description: Vertexcom Technologies, Inc. "^via,.*": description: VIA Technologies, Inc. "^videostrong,.*": @@ -1314,8 +1268,6 @@ patternProperties: description: Vitesse Semiconductor Corporation "^vivante,.*": description: Vivante Corporation - "^vivax,.*": - description: Vivax brand by M SAN Grupa d.o.o. "^vocore,.*": description: VoCore Studio "^voipac,.*": @@ -1346,10 +1298,6 @@ patternProperties: description: Wiligear, Ltd. "^winbond,.*": description: Winbond Electronics corp. - "^wingtech,.*": - description: Wingtech Technology Co., Ltd. - "^winlink,.*": - description: WinLink Co., Ltd "^winstar,.*": description: Winstar Display Corp. "^wits,.*": @@ -1360,8 +1308,6 @@ patternProperties: description: Wondermedia Technologies, Inc. "^wobo,.*": description: Wobo - "^wanchanglong,.*": - description: Wanchanglong Electronics Technology(SHENZHEN)Co.,Ltd. "^x-powers,.*": description: X-Powers "^xes,.*": @@ -1384,8 +1330,6 @@ patternProperties: description: Shenzhen Xunlong Software CO.,Limited "^xylon,.*": description: Xylon - "^yadro,.*": - description: YADRO "^yamaha,.*": description: Yamaha Corporation "^yes-optoelectronics,.*": diff --git a/Documentation/devicetree/bindings/watchdog/allwinner,sun4i-a10-wdt.yaml b/Documentation/devicetree/bindings/watchdog/allwinner,sun4i-a10-wdt.yaml index 43afa24513..9aa3c313c4 100644 --- a/Documentation/devicetree/bindings/watchdog/allwinner,sun4i-a10-wdt.yaml +++ b/Documentation/devicetree/bindings/watchdog/allwinner,sun4i-a10-wdt.yaml @@ -24,31 +24,16 @@ properties: - allwinner,sun50i-a100-wdt - allwinner,sun50i-h6-wdt - allwinner,sun50i-h616-wdt - - allwinner,sun50i-r329-wdt - - allwinner,sun50i-r329-wdt-reset - const: allwinner,sun6i-a31-wdt - items: - const: allwinner,suniv-f1c100s-wdt - const: allwinner,sun4i-a10-wdt - - const: allwinner,sun20i-d1-wdt - - items: - - const: allwinner,sun20i-d1-wdt-reset - - const: allwinner,sun20i-d1-wdt reg: maxItems: 1 clocks: - minItems: 1 - items: - - description: High-frequency oscillator input, divided internally - - description: Low-frequency oscillator input, only found on some variants - - clock-names: - minItems: 1 - items: - - const: hosc - - const: losc + maxItems: 1 interrupts: maxItems: 1 @@ -59,35 +44,6 @@ required: - clocks - interrupts -if: - properties: - compatible: - contains: - enum: - - allwinner,sun20i-d1-wdt - - allwinner,sun20i-d1-wdt-reset - - allwinner,sun50i-r329-wdt - - allwinner,sun50i-r329-wdt-reset - -then: - properties: - clocks: - minItems: 2 - - clock-names: - minItems: 2 - - required: - - clock-names - -else: - properties: - clocks: - maxItems: 1 - - clock-names: - maxItems: 1 - unevaluatedProperties: false examples: diff --git a/Documentation/devicetree/bindings/watchdog/atmel,sama5d4-wdt.yaml b/Documentation/devicetree/bindings/watchdog/atmel,sama5d4-wdt.yaml index a9635c0376..9856cd76c2 100644 --- a/Documentation/devicetree/bindings/watchdog/atmel,sama5d4-wdt.yaml +++ b/Documentation/devicetree/bindings/watchdog/atmel,sama5d4-wdt.yaml @@ -22,9 +22,6 @@ properties: reg: maxItems: 1 - interrupts: - maxItems: 1 - atmel,watchdog-type: $ref: /schemas/types.yaml#/definitions/string description: should be hardware or software. diff --git a/Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.yaml b/Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.yaml index fb603a20e3..51d6d482bb 100644 --- a/Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.yaml +++ b/Documentation/devicetree/bindings/watchdog/fsl-imx7ulp-wdt.yaml @@ -14,11 +14,8 @@ allOf: properties: compatible: - oneOf: - - const: fsl,imx7ulp-wdt - - items: - - const: fsl,imx8ulp-wdt - - const: fsl,imx7ulp-wdt + enum: + - fsl,imx7ulp-wdt reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/watchdog/mtk-wdt.txt b/Documentation/devicetree/bindings/watchdog/mtk-wdt.txt index 0114871f88..a4e31ce96e 100644 --- a/Documentation/devicetree/bindings/watchdog/mtk-wdt.txt +++ b/Documentation/devicetree/bindings/watchdog/mtk-wdt.txt @@ -22,7 +22,6 @@ Required properties: - reg : Specifies base physical address and size of the registers. Optional properties: -- mediatek,disable-extrst: disable send output reset signal - interrupts: Watchdog pre-timeout (bark) interrupt. - timeout-sec: contains the watchdog timeout in seconds. - #reset-cells: Should be 1. @@ -32,7 +31,6 @@ Example: watchdog: watchdog@10007000 { compatible = "mediatek,mt8183-wdt", "mediatek,mt6589-wdt"; - mediatek,disable-extrst; reg = <0 0x10007000 0 0x100>; interrupts = ; timeout-sec = <10>; diff --git a/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml b/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml index 16c6f82a13..ba60bdf1fe 100644 --- a/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml +++ b/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml @@ -20,9 +20,7 @@ properties: - qcom,apss-wdt-sc7280 - qcom,apss-wdt-sdm845 - qcom,apss-wdt-sdx55 - - qcom,apss-wdt-sm6350 - qcom,apss-wdt-sm8150 - - qcom,apss-wdt-sm8250 - qcom,kpss-timer - qcom,kpss-wdt - qcom,kpss-wdt-apq8064 diff --git a/Documentation/devicetree/bindings/watchdog/renesas,wdt.yaml b/Documentation/devicetree/bindings/watchdog/renesas,wdt.yaml index 91a98ccd42..ab66d3f0c4 100644 --- a/Documentation/devicetree/bindings/watchdog/renesas,wdt.yaml +++ b/Documentation/devicetree/bindings/watchdog/renesas,wdt.yaml @@ -10,6 +10,9 @@ maintainers: - Wolfram Sang - Geert Uytterhoeven +allOf: + - $ref: "watchdog.yaml#" + properties: compatible: oneOf: @@ -19,11 +22,6 @@ properties: - renesas,r7s9210-wdt # RZ/A2 - const: renesas,rza-wdt # RZ/A - - items: - - enum: - - renesas,r9a07g044-wdt # RZ/G2{L,LC} - - const: renesas,rzg2l-wdt # RZ/G2L - - items: - enum: - renesas,r8a7742-wdt # RZ/G1H @@ -58,13 +56,11 @@ properties: reg: maxItems: 1 - interrupts: true + interrupts: + maxItems: 1 - interrupt-names: true - - clocks: true - - clock-names: true + clocks: + maxItems: 1 power-domains: maxItems: 1 @@ -79,52 +75,17 @@ required: - reg - clocks -allOf: - - $ref: "watchdog.yaml#" - - - if: - not: - properties: - compatible: - contains: - enum: - - renesas,rza-wdt - then: - required: - - power-domains - - resets - - - if: - properties: - compatible: - contains: - enum: - - renesas,rzg2l-wdt - then: - properties: - interrupts: - maxItems: 2 - interrupt-names: - items: - - const: wdt - - const: perrout - clocks: - items: - - description: Register access clock - - description: Main clock - clock-names: - items: - - const: pclk - - const: oscclk - required: - - clock-names - - interrupt-names - else: - properties: - interrupts: - maxItems: 1 - clocks: - maxItems: 1 +if: + not: + properties: + compatible: + contains: + enum: + - renesas,rza-wdt +then: + required: + - power-domains + - resets additionalProperties: false diff --git a/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml b/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml index b08373336b..93cd77a6e9 100644 --- a/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml +++ b/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml @@ -22,32 +22,25 @@ properties: - samsung,exynos5250-wdt # for Exynos5250 - samsung,exynos5420-wdt # for Exynos5420 - samsung,exynos7-wdt # for Exynos7 - - samsung,exynos850-wdt # for Exynos850 reg: maxItems: 1 clocks: - minItems: 1 - maxItems: 2 + maxItems: 1 clock-names: - minItems: 1 - maxItems: 2 + items: + - const: watchdog interrupts: maxItems: 1 - samsung,cluster-index: - $ref: /schemas/types.yaml#/definitions/uint32 - description: - Index of CPU cluster on which watchdog is running (in case of Exynos850) - samsung,syscon-phandle: $ref: /schemas/types.yaml#/definitions/phandle description: Phandle to the PMU system controller node (in case of Exynos5250, - Exynos5420, Exynos7 and Exynos850). + Exynos5420 and Exynos7). required: - compatible @@ -66,39 +59,9 @@ allOf: - samsung,exynos5250-wdt - samsung,exynos5420-wdt - samsung,exynos7-wdt - - samsung,exynos850-wdt then: required: - samsung,syscon-phandle - - if: - properties: - compatible: - contains: - enum: - - samsung,exynos850-wdt - then: - properties: - clocks: - items: - - description: Bus clock, used for register interface - - description: Source clock (driving watchdog counter) - clock-names: - items: - - const: watchdog - - const: watchdog_src - samsung,cluster-index: - enum: [0, 1] - required: - - samsung,cluster-index - else: - properties: - clocks: - items: - - description: Bus clock, which is also a source clock - clock-names: - items: - - const: watchdog - samsung,cluster-index: false unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/watchdog/st,stm32-iwdg.yaml b/Documentation/devicetree/bindings/watchdog/st,stm32-iwdg.yaml index 39736449ba..481bf91f98 100644 --- a/Documentation/devicetree/bindings/watchdog/st,stm32-iwdg.yaml +++ b/Documentation/devicetree/bindings/watchdog/st,stm32-iwdg.yaml @@ -7,8 +7,8 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: STMicroelectronics STM32 Independent WatchDoG (IWDG) bindings maintainers: - - Yannick Fertre - - Christophe Roullier + - Yannick Fertre + - Christophe Roullier allOf: - $ref: "watchdog.yaml#" diff --git a/Documentation/devicetree/bindings/watchdog/ti,rti-wdt.yaml b/Documentation/devicetree/bindings/watchdog/ti,rti-wdt.yaml index 2f33635876..054584d754 100644 --- a/Documentation/devicetree/bindings/watchdog/ti,rti-wdt.yaml +++ b/Documentation/devicetree/bindings/watchdog/ti,rti-wdt.yaml @@ -34,6 +34,12 @@ properties: power-domains: maxItems: 1 + assigned-clocks: + maxItems: 1 + + assigned-clocks-parents: + maxItems: 1 + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/writing-schema.rst b/Documentation/devicetree/bindings/writing-schema.rst index ea21c72aeb..23d6579aea 100644 --- a/Documentation/devicetree/bindings/writing-schema.rst +++ b/Documentation/devicetree/bindings/writing-schema.rst @@ -4,7 +4,7 @@ Writing Devicetree Bindings in json-schema ========================================== Devicetree bindings are written using json-schema vocabulary. Schema files are -written in a JSON-compatible subset of YAML. YAML is used instead of JSON as it +written in a JSON compatible subset of YAML. YAML is used instead of JSON as it is considered more human readable and has some advantages such as allowing comments (Prefixed with '#'). @@ -22,16 +22,16 @@ $id URI typically containing the binding's filename and path. For DT schema, it must begin with "http://devicetree.org/schemas/". The URL is used in constructing references to other files specified in schema "$ref" properties. A $ref value - with a leading '/' will have the hostname prepended. A $ref value with only a - relative path or filename will be prepended with the hostname and path - components of the current schema file's '$id' value. A URL is used even for - local files, but there may not actually be files present at those locations. + with a leading '/' will have the hostname prepended. A $ref value a relative + path or filename only will be prepended with the hostname and path components + of the current schema file's '$id' value. A URL is used even for local files, + but there may not actually be files present at those locations. $schema Indicates the meta-schema the schema file adheres to. title - A one-line description on the contents of the binding schema. + A one line description on the contents of the binding schema. maintainers A DT specific property. Contains a list of email address(es) @@ -45,8 +45,8 @@ description select Optional. A json-schema used to match nodes for applying the - schema. By default, without 'select', nodes are matched against their possible - compatible-string values or node name. Most bindings should not need select. + schema. By default without 'select', nodes are matched against their possible + compatible string values or node name. Most bindings should not need select. allOf Optional. A list of other schemas to include. This is used to @@ -56,8 +56,7 @@ allOf properties A set of sub-schema defining all the DT properties for the binding. The exact schema syntax depends on whether properties are known, - common properties (e.g. 'interrupts') or are binding/vendor-specific - properties. + common properties (e.g. 'interrupts') or are binding/vendor specific properties. A property can also define a child DT node with child properties defined under it. @@ -82,23 +81,23 @@ Property Schema The 'properties' section of the schema contains all the DT properties for a binding. Each property contains a set of constraints using json-schema -vocabulary for that property. The properties schemas are what are used for +vocabulary for that property. The properties schemas are what is used for validation of DT files. -For common properties, only additional constraints not covered by the common, +For common properties, only additional constraints not covered by the common binding schema need to be defined such as how many values are valid or what possible values are valid. -Vendor-specific properties will typically need more detailed schema. With the +Vendor specific properties will typically need more detailed schema. With the exception of boolean properties, they should have a reference to a type in schemas/types.yaml. A "description" property is always required. -The Devicetree schemas don't exactly match the YAML-encoded DT data produced by +The Devicetree schemas don't exactly match the YAML encoded DT data produced by dtc. They are simplified to make them more compact and avoid a bunch of boilerplate. The tools process the schema files to produce the final schema for validation. There are currently 2 transformations the tools perform. -The default for arrays in json-schema is they are variable-sized and allow more +The default for arrays in json-schema is they are variable sized and allow more entries than explicitly defined. This can be restricted by defining 'minItems', 'maxItems', and 'additionalItems'. However, for DeviceTree Schemas, a fixed size is desired in most cases, so these properties are added based on the diff --git a/Documentation/driver-api/cxl/memory-devices.rst b/Documentation/driver-api/cxl/memory-devices.rst index 3b8f41395f..50ebcda17a 100644 --- a/Documentation/driver-api/cxl/memory-devices.rst +++ b/Documentation/driver-api/cxl/memory-devices.rst @@ -39,18 +39,12 @@ CXL Core .. kernel-doc:: drivers/cxl/core/bus.c :doc: cxl core -.. kernel-doc:: drivers/cxl/core/bus.c - :identifiers: - .. kernel-doc:: drivers/cxl/core/pmem.c :doc: cxl pmem .. kernel-doc:: drivers/cxl/core/regs.c :doc: cxl registers -.. kernel-doc:: drivers/cxl/core/mbox.c - :doc: cxl mbox - External Interfaces =================== diff --git a/Documentation/driver-api/dmaengine/dmatest.rst b/Documentation/driver-api/dmaengine/dmatest.rst index cf9859cd0b..d2e1d8b58e 100644 --- a/Documentation/driver-api/dmaengine/dmatest.rst +++ b/Documentation/driver-api/dmaengine/dmatest.rst @@ -6,16 +6,6 @@ Andy Shevchenko This small document introduces how to test DMA drivers using dmatest module. -The dmatest module tests DMA memcpy, memset, XOR and RAID6 P+Q operations using -various lengths and various offsets into the source and destination buffers. It -will initialize both buffers with a repeatable pattern and verify that the DMA -engine copies the requested region and nothing more. It will also verify that -the bytes aren't swapped around, and that the source buffer isn't modified. - -The dmatest module can be configured to test a specific channel. It can also -test multiple channels at the same time, and it can start multiple threads -competing for the same channel. - .. note:: The test suite works only on the channels that have at least one capability of the following: DMA_MEMCPY (memory-to-memory), DMA_MEMSET diff --git a/Documentation/driver-api/dmaengine/provider.rst b/Documentation/driver-api/dmaengine/provider.rst index 0072c9c7ef..ddb0a81a79 100644 --- a/Documentation/driver-api/dmaengine/provider.rst +++ b/Documentation/driver-api/dmaengine/provider.rst @@ -162,29 +162,6 @@ Currently, the types available are: - The device is able to do memory to memory copies -- - DMA_MEMCPY_SG - - - The device supports memory to memory scatter-gather transfers. - - - Even though a plain memcpy can look like a particular case of a - scatter-gather transfer, with a single chunk to copy, it's a distinct - transaction type in the mem2mem transfer case. This is because some very - simple devices might be able to do contiguous single-chunk memory copies, - but have no support for more complex SG transfers. - - - No matter what the overall size of the combined chunks for source and - destination is, only as many bytes as the smallest of the two will be - transmitted. That means the number and size of the scatter-gather buffers in - both lists need not be the same, and that the operation functionally is - equivalent to a ``strncpy`` where the ``count`` argument equals the smallest - total size of the two scatter-gather list buffers. - - - It's usually used for copying pixel data between host memory and - memory-mapped GPU device memory, such as found on modern PCI video graphics - cards. The most immediate example is the OpenGL API function - ``glReadPielx()``, which might require a verbatim copy of a huge framebuffer - from local device memory onto host memory. - - DMA_XOR - The device is able to perform XOR operations on memory areas diff --git a/Documentation/driver-api/driver-model/devres.rst b/Documentation/driver-api/driver-model/devres.rst index 148e19381b..650096523f 100644 --- a/Documentation/driver-api/driver-model/devres.rst +++ b/Documentation/driver-api/driver-model/devres.rst @@ -287,7 +287,6 @@ IIO devm_iio_device_register() devm_iio_dmaengine_buffer_setup() devm_iio_kfifo_buffer_setup() - devm_iio_map_array_register() devm_iio_triggered_buffer_setup() devm_iio_trigger_alloc() devm_iio_trigger_register() diff --git a/Documentation/driver-api/fpga/fpga-bridge.rst b/Documentation/driver-api/fpga/fpga-bridge.rst index 6042085340..8d650b4e2c 100644 --- a/Documentation/driver-api/fpga/fpga-bridge.rst +++ b/Documentation/driver-api/fpga/fpga-bridge.rst @@ -6,7 +6,8 @@ API to implement a new FPGA bridge * struct fpga_bridge - The FPGA Bridge structure * struct fpga_bridge_ops - Low level Bridge driver ops -* fpga_bridge_register() - Create and register a bridge +* devm_fpga_bridge_create() - Allocate and init a bridge struct +* fpga_bridge_register() - Register a bridge * fpga_bridge_unregister() - Unregister a bridge .. kernel-doc:: include/linux/fpga/fpga-bridge.h @@ -15,6 +16,9 @@ API to implement a new FPGA bridge .. kernel-doc:: include/linux/fpga/fpga-bridge.h :functions: fpga_bridge_ops +.. kernel-doc:: drivers/fpga/fpga-bridge.c + :functions: devm_fpga_bridge_create + .. kernel-doc:: drivers/fpga/fpga-bridge.c :functions: fpga_bridge_register diff --git a/Documentation/driver-api/fpga/fpga-mgr.rst b/Documentation/driver-api/fpga/fpga-mgr.rst index 42c01f396d..4d926b452c 100644 --- a/Documentation/driver-api/fpga/fpga-mgr.rst +++ b/Documentation/driver-api/fpga/fpga-mgr.rst @@ -24,7 +24,7 @@ How to support a new FPGA device -------------------------------- To add another FPGA manager, write a driver that implements a set of ops. The -probe function calls fpga_mgr_register() or fpga_mgr_register_full(), such as:: +probe function calls fpga_mgr_register(), such as:: static const struct fpga_manager_ops socfpga_fpga_ops = { .write_init = socfpga_fpga_ops_configure_init, @@ -49,14 +49,14 @@ probe function calls fpga_mgr_register() or fpga_mgr_register_full(), such as:: * them in priv */ - mgr = fpga_mgr_register(dev, "Altera SOCFPGA FPGA Manager", - &socfpga_fpga_ops, priv); - if (IS_ERR(mgr)) - return PTR_ERR(mgr); + mgr = devm_fpga_mgr_create(dev, "Altera SOCFPGA FPGA Manager", + &socfpga_fpga_ops, priv); + if (!mgr) + return -ENOMEM; platform_set_drvdata(pdev, mgr); - return 0; + return fpga_mgr_register(mgr); } static int socfpga_fpga_remove(struct platform_device *pdev) @@ -68,11 +68,6 @@ probe function calls fpga_mgr_register() or fpga_mgr_register_full(), such as:: return 0; } -Alternatively, the probe function could call one of the resource managed -register functions, devm_fpga_mgr_register() or devm_fpga_mgr_register_full(). -When these functions are used, the parameter syntax is the same, but the call -to fpga_mgr_unregister() should be removed. In the above example, the -socfpga_fpga_remove() function would not be required. The ops will implement whatever device specific register writes are needed to do the programming sequence for this particular FPGA. These ops return 0 for @@ -109,14 +104,8 @@ API for implementing a new FPGA Manager driver * ``fpga_mgr_states`` - Values for :c:expr:`fpga_manager->state`. * struct fpga_manager - the FPGA manager struct * struct fpga_manager_ops - Low level FPGA manager driver ops -* struct fpga_manager_info - Parameter structure for fpga_mgr_register_full() -* fpga_mgr_register_full() - Create and register an FPGA manager using the - fpga_mgr_info structure to provide the full flexibility of options -* fpga_mgr_register() - Create and register an FPGA manager using standard - arguments -* devm_fpga_mgr_register_full() - Resource managed version of - fpga_mgr_register_full() -* devm_fpga_mgr_register() - Resource managed version of fpga_mgr_register() +* devm_fpga_mgr_create() - Allocate and init a manager struct +* fpga_mgr_register() - Register an FPGA manager * fpga_mgr_unregister() - Unregister an FPGA manager .. kernel-doc:: include/linux/fpga/fpga-mgr.h @@ -128,20 +117,11 @@ API for implementing a new FPGA Manager driver .. kernel-doc:: include/linux/fpga/fpga-mgr.h :functions: fpga_manager_ops -.. kernel-doc:: include/linux/fpga/fpga-mgr.h - :functions: fpga_manager_info - .. kernel-doc:: drivers/fpga/fpga-mgr.c - :functions: fpga_mgr_register_full + :functions: devm_fpga_mgr_create .. kernel-doc:: drivers/fpga/fpga-mgr.c :functions: fpga_mgr_register -.. kernel-doc:: drivers/fpga/fpga-mgr.c - :functions: devm_fpga_mgr_register_full - -.. kernel-doc:: drivers/fpga/fpga-mgr.c - :functions: devm_fpga_mgr_register - .. kernel-doc:: drivers/fpga/fpga-mgr.c :functions: fpga_mgr_unregister diff --git a/Documentation/driver-api/fpga/fpga-region.rst b/Documentation/driver-api/fpga/fpga-region.rst index dc55d60a0b..2636a27c11 100644 --- a/Documentation/driver-api/fpga/fpga-region.rst +++ b/Documentation/driver-api/fpga/fpga-region.rst @@ -46,11 +46,8 @@ API to add a new FPGA region ---------------------------- * struct fpga_region - The FPGA region struct -* struct fpga_region_info - Parameter structure for fpga_region_register_full() -* fpga_region_register_full() - Create and register an FPGA region using the - fpga_region_info structure to provide the full flexibility of options -* fpga_region_register() - Create and register an FPGA region using standard - arguments +* devm_fpga_region_create() - Allocate and init a region struct +* fpga_region_register() - Register an FPGA region * fpga_region_unregister() - Unregister an FPGA region The FPGA region's probe function will need to get a reference to the FPGA @@ -78,11 +75,8 @@ following APIs to handle building or tearing down that list. .. kernel-doc:: include/linux/fpga/fpga-region.h :functions: fpga_region -.. kernel-doc:: include/linux/fpga/fpga-region.h - :functions: fpga_region_info - .. kernel-doc:: drivers/fpga/fpga-region.c - :functions: fpga_region_register_full + :functions: devm_fpga_region_create .. kernel-doc:: drivers/fpga/fpga-region.c :functions: fpga_region_register diff --git a/Documentation/driver-api/media/drivers/index.rst b/Documentation/driver-api/media/drivers/index.rst index 3240649055..426cda633b 100644 --- a/Documentation/driver-api/media/drivers/index.rst +++ b/Documentation/driver-api/media/drivers/index.rst @@ -21,7 +21,6 @@ Video4Linux (V4L) drivers pvrusb2 pxa_camera radiotrack - rkisp1 saa7134-devel sh_mobile_ceu_camera tuners diff --git a/Documentation/driver-api/media/maintainer-entry-profile.rst b/Documentation/driver-api/media/maintainer-entry-profile.rst index ffc712a5f6..eb1cdfd280 100644 --- a/Documentation/driver-api/media/maintainer-entry-profile.rst +++ b/Documentation/driver-api/media/maintainer-entry-profile.rst @@ -71,7 +71,7 @@ media maintainers do the review. The media maintainers that work on specific areas of the subsystem are: -- Remote Controllers (infrared): +- Digital TV and remote controllers: Sean Young - HDMI CEC: diff --git a/Documentation/driver-api/media/v4l2-subdev.rst b/Documentation/driver-api/media/v4l2-subdev.rst index 08ea2673b1..7736da077f 100644 --- a/Documentation/driver-api/media/v4l2-subdev.rst +++ b/Documentation/driver-api/media/v4l2-subdev.rst @@ -191,21 +191,21 @@ registered this way are stored in a global list of subdevices, ready to be picked up by bridge drivers. Bridge drivers in turn have to register a notifier object. This is -performed using the :c:func:`v4l2_async_nf_register` call. To +performed using the :c:func:`v4l2_async_notifier_register` call. To unregister the notifier the driver has to call -:c:func:`v4l2_async_nf_unregister`. The former of the two functions +:c:func:`v4l2_async_notifier_unregister`. The former of the two functions takes two arguments: a pointer to struct :c:type:`v4l2_device` and a pointer to struct :c:type:`v4l2_async_notifier`. Before registering the notifier, bridge drivers must do two things: first, the -notifier must be initialized using the :c:func:`v4l2_async_nf_init`. +notifier must be initialized using the :c:func:`v4l2_async_notifier_init`. Second, bridge drivers can then begin to form a list of subdevice descriptors that the bridge device needs for its operation. Several functions are available to add subdevice descriptors to a notifier, depending on the type of device and the needs of the driver. -:c:func:`v4l2_async_nf_add_fwnode_remote` and -:c:func:`v4l2_async_nf_add_i2c` are for bridge and ISP drivers for +:c:func:`v4l2_async_notifier_add_fwnode_remote_subdev` and +:c:func:`v4l2_async_notifier_add_i2c_subdev` are for bridge and ISP drivers for registering their async sub-devices with the notifier. :c:func:`v4l2_async_register_subdev_sensor` is a helper function for @@ -230,8 +230,8 @@ These functions allocate an async sub-device descriptor which is of type struct ... - my_asd = v4l2_async_nf_add_fwnode_remote(¬ifier, ep, - struct my_async_subdev); + my_asd = v4l2_async_notifier_add_fwnode_remote_subdev(¬ifier, ep, + struct my_async_subdev); fwnode_handle_put(ep); if (IS_ERR(asd)) diff --git a/Documentation/driver-api/mmc/mmc-tools.rst b/Documentation/driver-api/mmc/mmc-tools.rst index eee1c2ccfa..a231e96443 100644 --- a/Documentation/driver-api/mmc/mmc-tools.rst +++ b/Documentation/driver-api/mmc/mmc-tools.rst @@ -2,10 +2,10 @@ MMC tools introduction ====================== -There is one MMC test tools called mmc-utils, which is maintained by Ulf Hansson, +There is one MMC test tools called mmc-utils, which is maintained by Chris Ball, you can find it at the below public git repository: - https://git.kernel.org/pub/scm/utils/mmc/mmc-utils.git + https://git.kernel.org/cgit/linux/kernel/git/cjb/mmc-utils.git/ Functions ========= diff --git a/Documentation/driver-api/pci/pci.rst b/Documentation/driver-api/pci/pci.rst index 4843cfad4f..ca85e5e78b 100644 --- a/Documentation/driver-api/pci/pci.rst +++ b/Documentation/driver-api/pci/pci.rst @@ -13,7 +13,7 @@ PCI Support Library .. kernel-doc:: drivers/pci/search.c :export: -.. kernel-doc:: drivers/pci/msi/msi.c +.. kernel-doc:: drivers/pci/msi.c :export: .. kernel-doc:: drivers/pci/bus.c diff --git a/Documentation/driver-api/serial/index.rst b/Documentation/driver-api/serial/index.rst index 7eb21a695f..8f7d7af3b9 100644 --- a/Documentation/driver-api/serial/index.rst +++ b/Documentation/driver-api/serial/index.rst @@ -9,6 +9,7 @@ Support for Serial devices driver + tty Serial drivers ============== diff --git a/Documentation/driver-api/serial/n_gsm.rst b/Documentation/driver-api/serial/n_gsm.rst index 49956509ad..87dfcd54a9 100644 --- a/Documentation/driver-api/serial/n_gsm.rst +++ b/Documentation/driver-api/serial/n_gsm.rst @@ -12,19 +12,13 @@ modems connected to a physical serial port. How to use it ------------- -1. config initiator -^^^^^^^^^^^^^^^^^^^^^ - -1.1 initialize the modem in 0710 mux mode (usually AT+CMUX= command) through - its serial port. Depending on the modem used, you can pass more or less - parameters to this command. - -1.2 switch the serial line to using the n_gsm line discipline by using - TIOCSETD ioctl. - -1.3 configure the mux using GSMIOC_GETCONF / GSMIOC_SETCONF ioctl. - -1.4 obtain base gsmtty number for the used serial port. +1. initialize the modem in 0710 mux mode (usually AT+CMUX= command) through + its serial port. Depending on the modem used, you can pass more or less + parameters to this command, +2. switch the serial line to using the n_gsm line discipline by using + TIOCSETD ioctl, +3. configure the mux using GSMIOC_GETCONF / GSMIOC_SETCONF ioctl, +4. obtain base gsmtty number for the used serial port, Major parts of the initialization program : (a good starting point is util-linux-ng/sys-utils/ldattach.c):: @@ -76,14 +70,14 @@ Major parts of the initialization program : daemon(0,0); pause(); -1.5 use these devices as plain serial ports. +5. use these devices as plain serial ports. for example, it's possible: - and to use gnokii to send / receive SMS on ttygsm1 - to use ppp to establish a datalink on ttygsm2 -1.6 first close all virtual ports before closing the physical port. +6. first close all virtual ports before closing the physical port. Note that after closing the physical port the modem is still in multiplexing mode. This may prevent a successful re-opening of the port later. To avoid @@ -93,59 +87,6 @@ Major parts of the initialization program : 0xf9, 0x03, 0xef, 0x03, 0xc3, 0x16, 0xf9. -2. config requester -^^^^^^^^^^^^^^^^^^^^^ - -2.1 receive string "AT+CMUX= command" through its serial port,initialize - mux mode config - -2.2 switch the serial line to using the n_gsm line discipline by using - TIOCSETD ioctl. - -2.3 configure the mux using GSMIOC_GETCONF / GSMIOC_SETCONF ioctl. - -2.4 obtain base gsmtty number for the used serial port:: - - #include - #include - #include - #include - #define DEFAULT_SPEED B115200 - #define SERIAL_PORT /dev/ttyS0 - - int ldisc = N_GSM0710; - struct gsm_config c; - struct termios configuration; - uint32_t first; - - /* open the serial port */ - fd = open(SERIAL_PORT, O_RDWR | O_NOCTTY | O_NDELAY); - - /* configure the serial port : speed, flow control ... */ - - /* get serial data and check "AT+CMUX=command" parameter ... */ - - /* use n_gsm line discipline */ - ioctl(fd, TIOCSETD, &ldisc); - - /* get n_gsm configuration */ - ioctl(fd, GSMIOC_GETCONF, &c); - /* we are requester and need encoding 0 (basic) */ - c.initiator = 0; - c.encapsulation = 0; - /* our modem defaults to a maximum size of 127 bytes */ - c.mru = 127; - c.mtu = 127; - /* set the new configuration */ - ioctl(fd, GSMIOC_SETCONF, &c); - /* get first gsmtty device node */ - ioctl(fd, GSMIOC_GETFIRST, &first); - printf("first muxed line: /dev/gsmtty%i\n", first); - - /* and wait for ever to keep the line discipline enabled */ - daemon(0,0); - pause(); - Additional Documentation ------------------------ More practical details on the protocol and how it's supported by industrial diff --git a/Documentation/driver-api/thermal/sysfs-api.rst b/Documentation/driver-api/thermal/sysfs-api.rst index 2e0f79a9e2..c93fa5e961 100644 --- a/Documentation/driver-api/thermal/sysfs-api.rst +++ b/Documentation/driver-api/thermal/sysfs-api.rst @@ -428,9 +428,6 @@ of thermal zone device. E.g. the generic thermal driver registers one hwmon class device and build the associated hwmon sysfs I/F for all the registered ACPI thermal zones. -Please read Documentation/ABI/testing/sysfs-class-thermal for thermal -zone and cooling device attribute details. - :: /sys/class/hwmon/hwmon[0-*]: @@ -440,6 +437,228 @@ zone and cooling device attribute details. Please read Documentation/hwmon/sysfs-interface.rst for additional information. +Thermal zone attributes +----------------------- + +type + Strings which represent the thermal zone type. + This is given by thermal zone driver as part of registration. + E.g: "acpitz" indicates it's an ACPI thermal device. + In order to keep it consistent with hwmon sys attribute; this should + be a short, lowercase string, not containing spaces nor dashes. + RO, Required + +temp + Current temperature as reported by thermal zone (sensor). + Unit: millidegree Celsius + RO, Required + +mode + One of the predefined values in [enabled, disabled]. + This file gives information about the algorithm that is currently + managing the thermal zone. It can be either default kernel based + algorithm or user space application. + + enabled + enable Kernel Thermal management. + disabled + Preventing kernel thermal zone driver actions upon + trip points so that user application can take full + charge of the thermal management. + + RW, Optional + +policy + One of the various thermal governors used for a particular zone. + + RW, Required + +available_policies + Available thermal governors which can be used for a particular zone. + + RO, Required + +`trip_point_[0-*]_temp` + The temperature above which trip point will be fired. + + Unit: millidegree Celsius + + RO, Optional + +`trip_point_[0-*]_type` + Strings which indicate the type of the trip point. + + E.g. it can be one of critical, hot, passive, `active[0-*]` for ACPI + thermal zone. + + RO, Optional + +`trip_point_[0-*]_hyst` + The hysteresis value for a trip point, represented as an integer + Unit: Celsius + RW, Optional + +`cdev[0-*]` + Sysfs link to the thermal cooling device node where the sys I/F + for cooling device throttling control represents. + + RO, Optional + +`cdev[0-*]_trip_point` + The trip point in this thermal zone which `cdev[0-*]` is associated + with; -1 means the cooling device is not associated with any trip + point. + + RO, Optional + +`cdev[0-*]_weight` + The influence of `cdev[0-*]` in this thermal zone. This value + is relative to the rest of cooling devices in the thermal + zone. For example, if a cooling device has a weight double + than that of other, it's twice as effective in cooling the + thermal zone. + + RW, Optional + +emul_temp + Interface to set the emulated temperature method in thermal zone + (sensor). After setting this temperature, the thermal zone may pass + this temperature to platform emulation function if registered or + cache it locally. This is useful in debugging different temperature + threshold and its associated cooling action. This is write only node + and writing 0 on this node should disable emulation. + Unit: millidegree Celsius + + WO, Optional + + WARNING: + Be careful while enabling this option on production systems, + because userland can easily disable the thermal policy by simply + flooding this sysfs node with low temperature values. + +sustainable_power + An estimate of the sustained power that can be dissipated by + the thermal zone. Used by the power allocator governor. For + more information see Documentation/driver-api/thermal/power_allocator.rst + + Unit: milliwatts + + RW, Optional + +k_po + The proportional term of the power allocator governor's PID + controller during temperature overshoot. Temperature overshoot + is when the current temperature is above the "desired + temperature" trip point. For more information see + Documentation/driver-api/thermal/power_allocator.rst + + RW, Optional + +k_pu + The proportional term of the power allocator governor's PID + controller during temperature undershoot. Temperature undershoot + is when the current temperature is below the "desired + temperature" trip point. For more information see + Documentation/driver-api/thermal/power_allocator.rst + + RW, Optional + +k_i + The integral term of the power allocator governor's PID + controller. This term allows the PID controller to compensate + for long term drift. For more information see + Documentation/driver-api/thermal/power_allocator.rst + + RW, Optional + +k_d + The derivative term of the power allocator governor's PID + controller. For more information see + Documentation/driver-api/thermal/power_allocator.rst + + RW, Optional + +integral_cutoff + Temperature offset from the desired temperature trip point + above which the integral term of the power allocator + governor's PID controller starts accumulating errors. For + example, if integral_cutoff is 0, then the integral term only + accumulates error when temperature is above the desired + temperature trip point. For more information see + Documentation/driver-api/thermal/power_allocator.rst + + Unit: millidegree Celsius + + RW, Optional + +slope + The slope constant used in a linear extrapolation model + to determine a hotspot temperature based off the sensor's + raw readings. It is up to the device driver to determine + the usage of these values. + + RW, Optional + +offset + The offset constant used in a linear extrapolation model + to determine a hotspot temperature based off the sensor's + raw readings. It is up to the device driver to determine + the usage of these values. + + RW, Optional + +Cooling device attributes +------------------------- + +type + String which represents the type of device, e.g: + + - for generic ACPI: should be "Fan", "Processor" or "LCD" + - for memory controller device on intel_menlow platform: + should be "Memory controller". + + RO, Required + +max_state + The maximum permissible cooling state of this cooling device. + + RO, Required + +cur_state + The current cooling state of this cooling device. + The value can any integer numbers between 0 and max_state: + + - cur_state == 0 means no cooling + - cur_state == max_state means the maximum cooling. + + RW, Required + +stats/reset + Writing any value resets the cooling device's statistics. + WO, Required + +stats/time_in_state_ms: + The amount of time spent by the cooling device in various cooling + states. The output will have "