summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-12-14dt-bindings: rtc: Convert Broadcom STB waketimer to YAMLFlorian Fainelli
Convert the Broadcom STB waketimer Device Tree binding to YAML to help with validation. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20211208003727.3596577-5-f.fainelli@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-14dt-bindings: pwm: Convert BCM7038 PWM binding to YAMLFlorian Fainelli
Convert the Broadcom STB BCM7038 PWM Device Tree binding to YAML to help with validation. Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20211208003727.3596577-4-f.fainelli@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-14dt-bindings: reset: Convert Broadcom STB reset to YAMLFlorian Fainelli
Convert the Broadcom STB SW_INIT style reset controller binding to YAML. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Acked-by: Philipp Zabel <p.zabel@pengutronix.de> Link: https://lore.kernel.org/r/20211208003727.3596577-3-f.fainelli@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-14dt-bindings: pci: Convert iProc PCIe to YAMLFlorian Fainelli
Conver the iProc PCIe controller Device Tree binding to YAML now that all DTS in arch/arm and arch/arm64 have been fixed to be compliant. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20211214035820.2984289-7-f.fainelli@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-14dt-bindings: phy: Convert Cygnus PCIe PHY to YAMLFlorian Fainelli
Convert the Broadcom Cygnus PCIe PHY Device Tree binding t YAML to help with validation. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20211214035820.2984289-6-f.fainelli@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-08dt-bindings: i2c: tegra-bpmp: Convert to json-schemaThierry Reding
Convert the NVIDIA Tegra186 (and later) BPMP I2C bindings from the free-form text format to json-schema. Signed-off-by: Thierry Reding <treding@nvidia.com> Link: https://lore.kernel.org/r/20211208143306.534700-1-thierry.reding@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-08dt-bindings: arm: pmu: Document Denver and Carmel PMUsThierry Reding
Add compatible strings for the NVIDIA Denver and Carmel PMUs. Signed-off-by: Thierry Reding <treding@nvidia.com> Link: https://lore.kernel.org/r/20211207150746.444478-1-thierry.reding@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-08dt-bindings: arm: Catch up with Cortex/Neoverse CPUs againRobin Murphy
Add bindings for the 2020 and 2021 cohorts of Cortex-A and Neoverse CPUs, now featuring their Cortex-X cousins as well. Signed-off-by: Robin Murphy <robin.murphy@arm.com> Link: https://lore.kernel.org/r/a36014d06d308c73d3fa1ed55e8967fb8adadf0d.1638900542.git.robin.murphy@arm.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-08dt-bindings: net: Convert SYSTEMPORT to YAMLFlorian Fainelli
Convert the Broadcom SYSTEMPORT Ethernet controller Device Tree binding to YAML. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20211208202801.3706929-3-f.fainelli@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-08dt-bindings: net: Convert AMAC to YAMLFlorian Fainelli
Convert the Broadcom AMAC Device Tree binding to YAML to help with schema and dtbs checking. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20211208202801.3706929-2-f.fainelli@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-08Revert "kbuild: Enable DT schema checks for %.dtb targets"Rob Herring
This reverts commit 53182e81f47d4ea0c727c49ad23cb782173ab849. This added tool dependencies on various build systems using %.dtb targets. Validation will need to be controlled by a kconfig or make variable instead, but for now let's just revert it. Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-08dt-bindings: net: Convert iProc MDIO mux to YAMLFlorian Fainelli
Conver the Broadcom iProc MDIO mux Device Tree binding to YAML. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20211206180049.2086907-9-f.fainelli@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-08dt-bindings: phy: Convert Northstar 2 PCIe PHY to YAMLFlorian Fainelli
Convert the Broadcom Northstar 2 PCIe PHY Device Tree binding to YAML and rename it accordingly in the process since it had nothing to do with a MDIO mux on the PCI(e) bus. This is a pre-requisite to updating another binding file to YAML. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20211206180049.2086907-8-f.fainelli@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-08dt-bindings: net: Convert GENET binding to YAMLFlorian Fainelli
Convert the GENET binding to YAML, leveraging brcm,unimac-mdio.yaml and the standard ethernet-controller.yaml files. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20211206180049.2086907-5-f.fainelli@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-08dt-bindings: net: Document moca PHY interfaceFlorian Fainelli
MoCA (Multimedia over Coaxial) is used by the internal GENET/MOCA cores and will be needed in order to convert GENET to YAML in subsequent changes. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20211206180049.2086907-4-f.fainelli@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-08dt-bindings: net: brcm,unimac-mdio: Update maintainers for bindingFlorian Fainelli
Add Doug and myself as maintainers since this binding is used by the GENET Ethernet controller for its internal MDIO controller. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20211206180049.2086907-3-f.fainelli@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-08dt-bindings: net: brcm,unimac-mdio: reg-names is optionalFlorian Fainelli
The UniMAC MDIO controller integrated into GENET does not provide a reg-names property since it is optional, reflect that in the binding. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20211206180049.2086907-2-f.fainelli@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-08dt-bindings: PCI: brcmstb: compatible is requiredFlorian Fainelli
The compatible property is required, make sure the binding documents it as such. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20211202223609.1171452-1-f.fainelli@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-06dt-bindings: bq25980: Fixup the exampleThierry Reding
Use the ti,watchdog-timeout-ms property instead of the unsupported ti,watchdog-timer property to make the example validate correctly. Signed-off-by: Thierry Reding <treding@nvidia.com> Link: https://lore.kernel.org/r/20211206152905.226239-1-thierry.reding@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-06dt-bindings: Use correct vendor prefix for Asahi Kasei Corp.Thierry Reding
The old "ak" vendor prefix that was never officially accepted was still being used in some examples. Convert to the correct vendor prefix (i.e. "asahi-kasei"). Signed-off-by: Thierry Reding <treding@nvidia.com> Link: https://lore.kernel.org/r/20211206144802.217073-1-thierry.reding@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-06dt-bindings: Only show unique unit address warning for enabled nodesSam Protsenko
There are valid cases when two nodes can have the same address. For example, in Exynos SoCs there is USI IP-core, which might be configured to provide UART, SPI or I2C block, all of which having the same base register address. But only one can be enabled at a time. That looks like this: usi@138200c0 { serial@13820000 { status = "okay"; }; i2c@13820000 { status = "disabled"; }; }; When running "make dt_binding_check", it reports next warning: Warning (unique_unit_address): /example-0/usi@138200c0/serial@13820000: duplicate unit-address (also used in node /example-0/usi@138200c0/i2c@13820000) Disable "unique_unit_address" in DTC_FLAGS to suppress warnings like that, but enable "unique_unit_address_if_enabled" warning, so that dtc still reports a warning when two enabled nodes are having the same address. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reported-by: Rob Herring <robh@kernel.org> Suggested-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20211203183517.11390-1-semen.protsenko@linaro.org Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-06dt-bindings: input: gpio-keys: Fix interrupts in exampleGeert Uytterhoeven
The "interrupts" property in the example looks weird: - The type is not in the last cell, - Level interrupts don't work well with gpio-keys, as they keep the interrupt asserted as long as the key is pressed, causing an interrupt storm. Use a more realistic falling-edge interrupt instead. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/r/47ecd2d8efcf09f8ab47de87a7bcfafc82208776.1638538079.git.geert+renesas@glider.be Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-06dt-bindings: net: Reintroduce PHY no lane swap bindingAlexander Stein
This binding was already documented in phy.txt, commit 252ae5330daa ("Documentation: devicetree: Add PHY no lane swap binding"), but got accidently removed during YAML conversion in commit d8704342c109 ("dt-bindings: net: Add a YAML schemas for the generic PHY options"). Note: 'enet-phy-lane-no-swap' and the absence of 'enet-phy-lane-swap' are not identical, as the former one disable this feature, while the latter one doesn't change anything. Fixes: d8704342c109 ("dt-bindings: net: Add a YAML schemas for the generic PHY options") Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Link: https://lore.kernel.org/r/20211130082756.713919-1-alexander.stein@ew.tq-group.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-03dt-bindings: media: nxp,imx7-mipi-csi2: Drop bad if/then schemaRob Herring
The if/then schema for 'data-lanes' doesn't work as 'compatible' is at a different level than 'data-lanes'. To make it work, the if/then schema would have to be moved to the top level and then whole hierarchy of nodes down to 'data-lanes' created. I don't think it is worth the complexity to do that, so let's just drop it. The error in this schema is masked by a fixup in the tools causing the 'allOf' to get overwritten. Removing the fixup as part of moving to json-schema draft 2019-09 revealed the issue: Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.example.dt.yaml: mipi-csi@30750000: ports:port@0:endpoint:data-lanes:0: [1] is too short From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.example.dt.yaml: mipi-csi@32e30000: ports:port@0:endpoint:data-lanes:0: [1, 2, 3, 4] is too long From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml The if condition was always true because 'compatible' did not exist in 'endpoint' node and a non-existent property is true for json-schema. Fixes: 85b62ff2cb97 ("media: dt-bindings: media: nxp,imx7-mipi-csi2: Add i.MX8MM support") Cc: Rui Miguel Silva <rmfrfs@gmail.com> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Cc: Mauro Carvalho Chehab <mchehab@kernel.org> Cc: Shawn Guo <shawnguo@kernel.org> Cc: Sascha Hauer <s.hauer@pengutronix.de> Cc: Pengutronix Kernel Team <kernel@pengutronix.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: NXP Linux Team <linux-imx@nxp.com> Cc: linux-media@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Rui Miguel Silva <rmfrfs@gmail.com> Link: https://lore.kernel.org/r/20211203164828.187642-1-robh@kernel.org
2021-12-03of/irq: Add a quirk for controllers with their own definition of interrupt-mapMarc Zyngier
Since commit 041284181226 ("of/irq: Allow matching of an interrupt-map local to an interrupt controller"), a handful of interrupt controllers have stopped working correctly. This is due to the DT exposing a non-sensical interrupt-map property, and their drivers relying on the kernel ignoring this property. Since we cannot realistically fix this terrible behaviour, add a quirk for the limited set of devices that have implemented this monster, and document that this is a pretty bad practice. Fixes: 041284181226 ("of/irq: Allow matching of an interrupt-map local to an interrupt controller") Cc: Rob Herring <robh@kernel.org> Cc: John Crispin <john@phrozen.org> Cc: Biwen Li <biwen.li@nxp.com> Cc: Chris Brandt <chris.brandt@renesas.com> Cc: Geert Uytterhoeven <geert+renesas@glider.be> Cc: Sander Vanheule <sander@svanheule.net> Signed-off-by: Marc Zyngier <maz@kernel.org> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/r/20211201114102.13446-1-maz@kernel.org Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-01dt-bindings: net: cdns,macb: Convert to json-schemaGeert Uytterhoeven
Convert the Cadence MACB/GEM Ethernet controller Device Tree binding documentation to json-schema. Re-add "cdns,gem" (removed in commit a217d8711da5c87f ("dt-bindings: Remove PicoXcell bindings")) as there are active users on non-PicoXcell platforms. Add missing "ether_clk" clock. Add missing properties. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com> Link: https://lore.kernel.org/r/104dcbfd22f95fc77de9fe15e8abd83869603ea5.1637927673.git.geert@linux-m68k.org Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-01dt-bindings: dma: sifive,fu540-c000-pdma: Group interrupt tuplesGeert Uytterhoeven
To improve human readability and enable automatic validation, the tuples in "interrupts" properties should be grouped using angle brackets. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Link: https://lore.kernel.org/r/20211125150233.161576-1-geert@linux-m68k.org Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-01dt-bindings: net: ethernet-controller: add 2.5G and 10G speedsDavid Heidelberg
Both are already used by HW and drivers inside Linux. Fix warnings as: arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var2.dt.yaml: ethernet@0,2: fixed-link:speed:0:0: 2500 is not one of [10, 100, 1000] From schema: Documentation/devicetree/bindings/net/ethernet-controller.yaml Signed-off-by: David Heidelberg <david@ixit.cz> Link: https://lore.kernel.org/r/20211124202046.81136-1-david@ixit.cz Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-01of: base: Skip CPU nodes with "fail"/"fail-..." statusMatthias Schiffer
Allow fully disabling CPU nodes using status = "fail". This allows a bootloader to change the number of available CPUs (for example when a common DTS is used for SoC variants with different numbers of cores) without deleting the nodes altogether, which could require additional fixups to avoid dangling phandle references. Unknown status values (everything that is not "okay"/"ok", "disabled" or "fail"/"fail-...") will continue to be interpreted like "disabled", meaning that the CPU can be enabled during boot. References: - https://www.spinics.net/lists/devicetree-spec/msg01007.html - https://github.com/devicetree-org/dt-schema/pull/61 Link: https://lore.kernel.org/all/CAL_Jsq+1LsTBdVaODVfmB0eme2jMpNL4VgKk-OM7rQWyyF0Jbw@mail.gmail.com/ Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> Tested-by: Sai Prakash Ranjan <quic_saipraka@quicinc.com> Reviewed-by: Frank Rowand <frank.rowand@sony.com> Link: https://lore.kernel.org/r/20211122114536.2981-1-matthias.schiffer@ew.tq-group.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-01Update trivial-devices.yaml with Sensirion,sht4xDavid Mosberger-Tang
Add Sensirion SHT4x, a precision temperature and humidity sensor, to trivial-devices.yaml. Signed-off-by: David Mosberger-Tang <davidm@egauge.net> Link: https://lore.kernel.org/r/20211121161320.2312393-1-davidm@egauge.net Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-01dt-bindings: Add resets to the PL011 bindingsLinus Walleij
Some PL011 implementations provide a reset line to the silicon IP block, add a device tree property for this. Cc: devicetree@vger.kernel.org Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://lore.kernel.org/r/20211120011418.2630449-1-linus.walleij@linaro.org Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-01dt-bindings: hwmon: add TI DC-DC convertersKrzysztof Kozlowski
Few Texas Instruments DC-DC converters on PMBus like TPS544B20 do not have bindings and are used only as hardware monitoring sensor. These devices are actually not trivial and can receive basic configuration (e.g. power up mode, CNTL pin polarity, expected input voltage), however devicetree support for configuration was never added. Therefore in current state the devices are used only in read-only mode and have trivial bindings, so document them to have basic dtschema tests. Cc: Vincent Pelletier <plr.vincent@gmail.com> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Link: https://lore.kernel.org/r/20211116110207.68494-1-krzysztof.kozlowski@canonical.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-01dt-bindings: leds: convert BCM6328 controller to the json-schemaRafał Miłecki
This helps validating DTS files. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Link: https://lore.kernel.org/r/20211114225416.3174-1-zajec5@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-12-01dt-bindings: iio: adc: exynos-adc: Fix node name in exampleGeert Uytterhoeven
"make dt_binding_check": Documentation/devicetree/bindings/iio/adc/samsung,exynos-adc.example.dt.yaml: ncp15wb473: $nodename:0: 'ncp15wb473' does not match '^thermistor(.*)?$' From schema: Documentation/devicetree/bindings/hwmon/ntc-thermistor.yaml Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> Link: https://lore.kernel.org/r/20211125152154.162780-1-geert@linux-m68k.org Signed-off-by: Rob Herring <robh@kernel.org>
2021-11-29dt-bindings: arm: cpus: Add ARM Cortex-A78Thierry Reding
The ARM Cortex-A78 CPU can be found in a number of recent SoCs such as the NVIDIA Tegra234 (Orin). Signed-off-by: Thierry Reding <treding@nvidia.com> Acked-by: Robin Murphy <robin.muephy@arm.com> Link: https://lore.kernel.org/r/20211112131904.3683428-1-thierry.reding@gmail.com Signed-off-by: Rob Herring <robh@kernel.org>
2021-11-29dt-bindings: thermal: Fix definition of cooling-maps contribution propertyNiklas Söderlund
When converting the thermal-zones bindings to yaml the definition of the contribution property changed. The intention is the same, an integer value expressing a ratio of a sum on how much cooling is provided by the device to the zone. But after the conversion the integer value is limited to the range 0 to 100 and expressed as a percentage. This is problematic for two reasons. - This do not match how the binding is used. Out of the 18 files that make use of the property only two (ste-dbx5x0.dtsi and ste-hrefv60plus.dtsi) sets it at a value that satisfy the binding, 100. The remaining 16 files set the value higher and fail to validate. - Expressing the value as a percentage instead of a ratio of the sum is confusing as there is nothing to enforce the sum in the zone is not greater then 100. This patch restore the pre yaml conversion description and removes the value limitation allowing the usage of the bindings to validate. Fixes: 1202a442a31fd2e5 ("dt-bindings: thermal: Add yaml bindings for thermal zones") Reported-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Link: https://lore.kernel.org/r/20211109103045.1403686-1-niklas.soderlund+renesas@ragnatech.se Signed-off-by: Rob Herring <robh@kernel.org>
2021-11-29dt-bindings: display: sync formats with simplefb.hDavid Heidelberg
Sync all formats from simplefb.h into documentation. Signed-off-by: David Heidelberg <david@ixit.cz> Link: https://lore.kernel.org/r/20211108183322.68192-1-david@ixit.cz Signed-off-by: Rob Herring <robh@kernel.org>
2021-11-18of: property: fw_devlink: Fixup behaviour when 'node_not_dev' is setUlf Hansson
In the struct supplier_bindings the member 'node_not_dev' is described as "The consumer node containing the property is never a device.", but that is inconsistent with the behaviour of the code in of_link_property(), as it calls of_get_compat_node() that starts parsing for a compatible property from the node it gets passed to it. The proper behaviour is to start at the node's parent, so let's do that. While at it, let's take the opportunity to update the description of the 'node_not_dev' flag, as to clarify its purpose. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Reviewed-by: Saravana Kannan <saravanak@google.com> Signed-off-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20210902090221.820254-1-ulf.hansson@linaro.org
2021-11-15dt-bindings: vendor-prefixes: add T-Head SemiconductorGuo Ren
Add vendor prefix for T-Head Semiconductor [1] [2] [1] https://github.com/T-head-Semi [2] https://www.t-head.cn/ Signed-off-by: Guo Ren <guoren@linux.alibaba.com> Cc: Rob Herring <robh@kernel.org> Cc: Rob Herring <robh+dt@kernel.org> Cc: devicetree <devicetree@vger.kernel.org> Link: https://lore.kernel.org/r/20211103020921.3870764-1-guoren@kernel.org Signed-off-by: Rob Herring <robh@kernel.org>
2021-11-14Linux 5.16-rc1v5.16-rc1Linus Torvalds
2021-11-14kconfig: Add support for -Wimplicit-fallthroughGustavo A. R. Silva
Add Kconfig support for -Wimplicit-fallthrough for both GCC and Clang. The compiler option is under configuration CC_IMPLICIT_FALLTHROUGH, which is enabled by default. Special thanks to Nathan Chancellor who fixed the Clang bug[1][2]. This bugfix only appears in Clang 14.0.0, so older versions still contain the bug and -Wimplicit-fallthrough won't be enabled for them, for now. This concludes a long journey and now we are finally getting rid of the unintentional fallthrough bug-class in the kernel, entirely. :) Link: https://github.com/llvm/llvm-project/commit/9ed4a94d6451046a51ef393cd62f00710820a7e8 [1] Link: https://bugs.llvm.org/show_bug.cgi?id=51094 [2] Link: https://github.com/KSPP/linux/issues/115 Link: https://github.com/ClangBuiltLinux/linux/issues/236 Co-developed-by: Kees Cook <keescook@chromium.org> Signed-off-by: Kees Cook <keescook@chromium.org> Co-developed-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> Reviewed-by: Nathan Chancellor <nathan@kernel.org> Tested-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-11-14Merge tag 'xfs-5.16-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linuxLinus Torvalds
Pull xfs cleanups from Darrick Wong: "The most 'exciting' aspect of this branch is that the xfsprogs maintainer and I have worked through the last of the code discrepancies between kernel and userspace libxfs such that there are no code differences between the two except for #includes. IOWs, diff suffices to demonstrate that the userspace tools behave the same as the kernel, and kernel-only bits are clearly marked in the /kernel/ source code instead of just the userspace source. Summary: - Clean up open-coded swap() calls. - A little bit of #ifdef golf to complete the reunification of the kernel and userspace libxfs source code" * tag 'xfs-5.16-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: xfs: sync xfs_btree_split macros with userspace libxfs xfs: #ifdef out perag code for userspace xfs: use swap() to make dabtree code cleaner
2021-11-14Merge tag 'for-5.16/parisc-3' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull more parisc fixes from Helge Deller: "Fix a build error in stracktrace.c, fix resolving of addresses to function names in backtraces, fix single-stepping in assembly code and flush userspace pte's when using set_pte_at()" * tag 'for-5.16/parisc-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc/entry: fix trace test in syscall exit path parisc: Flush kernel data mapping in set_pte_at() when installing pte for user page parisc: Fix implicit declaration of function '__kernel_text_address' parisc: Fix backtrace to always include init funtion names
2021-11-14Merge tag 'sh-for-5.16' of git://git.libc.org/linux-shLinus Torvalds
Pull arch/sh updates from Rich Felker. * tag 'sh-for-5.16' of git://git.libc.org/linux-sh: sh: pgtable-3level: Fix cast to pointer from integer of different size sh: fix READ/WRITE redefinition warnings sh: define __BIG_ENDIAN for math-emu sh: math-emu: drop unused functions sh: fix kconfig unmet dependency warning for FRAME_POINTER sh: Cleanup about SPARSE_IRQ sh: kdump: add some attribute to function maple: fix wrong return value of maple_bus_init(). sh: boot: avoid unneeded rebuilds under arch/sh/boot/compressed/ sh: boot: add intermediate vmlinux.bin* to targets instead of extra-y sh: boards: Fix the cacography in irq.c sh: check return code of request_irq sh: fix trivial misannotations
2021-11-14Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-armLinus Torvalds
Pull ARM fixes from Russell King: - Fix early_iounmap - Drop cc-option fallbacks for architecture selection * tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: ARM: 9156/1: drop cc-option fallbacks for architecture selection ARM: 9155/1: fix early early_iounmap()
2021-11-14Merge tag 'devicetree-fixes-for-5.16-1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull devicetree fixes from Rob Herring: - Two fixes due to DT node name changes on Arm, Ltd. boards - Treewide rename of Ingenic CGU headers - Update ST email addresses - Remove Netlogic DT bindings - Dropping few more cases of redundant 'maxItems' in schemas - Convert toshiba,tc358767 bridge binding to schema * tag 'devicetree-fixes-for-5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: dt-bindings: watchdog: sunxi: fix error in schema bindings: media: venus: Drop redundant maxItems for power-domain-names dt-bindings: Remove Netlogic bindings clk: versatile: clk-icst: Ensure clock names are unique of: Support using 'mask' in making device bus id dt-bindings: treewide: Update @st.com email address to @foss.st.com dt-bindings: media: Update maintainers for st,stm32-hwspinlock.yaml dt-bindings: media: Update maintainers for st,stm32-cec.yaml dt-bindings: mfd: timers: Update maintainers for st,stm32-timers dt-bindings: timer: Update maintainers for st,stm32-timer dt-bindings: i2c: imx: hardware do not restrict clock-frequency to only 100 and 400 kHz dt-bindings: display: bridge: Convert toshiba,tc358767.txt to yaml dt-bindings: Rename Ingenic CGU headers to ingenic,*.h
2021-11-14Merge tag 'timers-urgent-2021-11-14' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer fix from Thomas Gleixner: "A single fix for POSIX CPU timers to address a problem where POSIX CPU timer delivery stops working for a new child task because copy_process() copies state information which is only valid for the parent task" * tag 'timers-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: posix-cpu-timers: Clear task::posix_cputimers_work in copy_process()
2021-11-14Merge tag 'irq-urgent-2021-11-14' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq fixes from Thomas Gleixner: "A set of fixes for the interrupt subsystem Core code: - A regression fix for the Open Firmware interrupt mapping code where a interrupt controller property in a node caused a map property in the same node to be ignored. Interrupt chip drivers: - Workaround a limitation in SiFive PLIC interrupt chip which silently ignores an EOI when the interrupt line is masked. - Provide the missing mask/unmask implementation for the CSKY MP interrupt controller. PCI/MSI: - Prevent a use after free when PCI/MSI interrupts are released by destroying the sysfs entries before freeing the memory which is accessed in the sysfs show() function. - Implement a mask quirk for the Nvidia ION AHCI chip which does not advertise masking capability despite implementing it. Even worse the chip comes out of reset with all MSI entries masked, which due to the missing masking capability never get unmasked. - Move the check which prevents accessing the MSI[X] masking for XEN back into the low level accessors. The recent consolidation missed that these accessors can be invoked from places which do not have that check which broke XEN. Move them back to he original place instead of sprinkling tons of these checks all over the code" * tag 'irq-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: of/irq: Don't ignore interrupt-controller when interrupt-map failed irqchip/sifive-plic: Fixup EOI failed when masked irqchip/csky-mpintc: Fixup mask/unmask implementation PCI/MSI: Destroy sysfs before freeing entries PCI: Add MSI masking quirk for Nvidia ION AHCI PCI/MSI: Deal with devices lying about their MSI mask capability PCI/MSI: Move non-mask check back into low level accessors
2021-11-14Merge tag 'locking-urgent-2021-11-14' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 static call update from Thomas Gleixner: "A single fix for static calls to make the trampoline patching more robust by placing explicit signature bytes after the call trampoline to prevent patching random other jumps like the CFI jump table entries" * tag 'locking-urgent-2021-11-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: static_call,x86: Robustify trampoline patching
2021-11-14Merge tag 'sched_urgent_for_v5.16_rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler fixes from Borislav Petkov: - Avoid touching ~100 config files in order to be able to select the preemption model - clear cluster CPU masks too, on the CPU unplug path - prevent use-after-free in cfs - Prevent a race condition when updating CPU cache domains - Factor out common shared part of smp_prepare_cpus() into a common helper which can be called by both baremetal and Xen, in order to fix a booting of Xen PV guests * tag 'sched_urgent_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: preempt: Restore preemption model selection configs arch_topology: Fix missing clear cluster_cpumask in remove_cpu_topology() sched/fair: Prevent dead task groups from regaining cfs_rq's sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain() x86/smp: Factor out parts of native_smp_prepare_cpus()