summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-09-13bus: qcom: fix spelling mistake "ambigous" -> "ambiguous"Colin Ian King
There is a spelling mistake on the documentation. Fix it. Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-09-13of: Let of_for_each_phandle fallback to non-negative cell_countUwe Kleine-König
Referencing device tree nodes from a property allows to pass arguments. This is for example used for referencing gpios. This looks as follows: gpio_ctrl: gpio-controller { #gpio-cells = <2> ... } someothernode { gpios = <&gpio_ctrl 5 0 &gpio_ctrl 3 0>; ... } To know the number of arguments this must be either fixed, or the referenced node is checked for a $cells_name (here: "#gpio-cells") property and with this information the start of the second reference can be determined. Currently regulators are referenced with no additional arguments. To allow some optional arguments without having to change all referenced nodes this change introduces a way to specify a default cell_count. So when a phandle is parsed we check for the $cells_name property and use it as before if present. If it is not present we fall back to cells_count if non-negative and only fail if cells_count is smaller than zero. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Rob Herring <robh@kernel.org>
2019-09-13iommu: pass cell_count = -1 to of_for_each_phandle with cells_nameUwe Kleine-König
Currently of_for_each_phandle ignores the cell_count parameter when a cells_name is given. I intend to change that and let the iterator fall back to a non-negative cell_count if the cells_name property is missing in the referenced node. To not change how existing of_for_each_phandle's users iterate, fix them to pass cell_count = -1 when also cells_name is given which yields the expected behaviour with and without my change. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by: Joerg Roedel <jroedel@suse.de> Signed-off-by: Rob Herring <robh@kernel.org>
2019-09-11dt-bindings: arm: Convert Realtek board/soc bindings to json-schemaRob Herring
Convert Realtek SoC bindings to DT schema format using json-schema. Andreas is the only author and we agreed in person on licensing to be GPL2+/BSD. Cc: "Andreas Färber" <afaerber@suse.de> Cc: Mark Rutland <mark.rutland@arm.com> Cc: linux-arm-kernel@lists.infradead.org Cc: devicetree@vger.kernel.org Signed-off-by: Rob Herring <robh@kernel.org>
2019-09-11dt-bindings: arm: Convert Actions Semi bindings to jsonschemaRob Herring
Convert Actions Semi SoC bindings to DT schema format using json-schema. Cc: "Andreas Färber" <afaerber@suse.de> Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: linux-arm-kernel@lists.infradead.org Cc: devicetree@vger.kernel.org Signed-off-by: Rob Herring <robh@kernel.org>
2019-09-06dt-bindings: Correct spelling in example schemaSimon Horman
Correct spelling of "identifier". Signed-off-by: Simon Horman <horms+renesas@verge.net.au> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Rob Herring <robh@kernel.org>
2019-09-06dt-bindings: cpu: Add a support cpu type for cortex-a55james.tai
Add arm cpu type cortex-a55. Signed-off-by: james.tai <james.tai@realtek.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-09-03dt-bindings: gpu: mali-midgard: Add samsung exynos5250 compatibleGuillaume Gardet
Add "samsung,exynos5250-mali" binding. Signed-off-by: Guillaume Gardet <guillaume.gardet@arm.com> Cc: Kukjin Kim <kgene@kernel.org> Cc: Krzysztof Kozlowski <krzk@kernel.org> Cc: Marek Szyprowski <m.szyprowski@samsung.com> Cc: Rob Herring <robh+dt@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: devicetree@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Rob Herring <robh@kernel.org>
2019-09-02dt-bindings: arm: idle-states: Move exit-latency-us explanationGeert Uytterhoeven
Move exit-latency-us explanation to exit-latency-us section. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Rob Herring <robh@kernel.org>
2019-09-02dt-bindings: arm: idle-states: Add punctuation to improve readabilityGeert Uytterhoeven
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Rob Herring <robh@kernel.org>
2019-09-02dt-bindings: arm: idle-states: Correct "constraint guarantees"Geert Uytterhoeven
Correct "constraints guarantees" to "constraint guarantees". Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Rob Herring <robh@kernel.org>
2019-09-02dt-bindings: arm: idle-states: Correct references to wake-up delayGeert Uytterhoeven
The paragraph explains the use of wakup-delay, as defined above. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Rob Herring <robh@kernel.org>
2019-09-02dt-bindings: arm: idle-states: Use "e.g." and "i.e." consistentlyGeert Uytterhoeven
Replace abbreviations "eg" and "ie" by "e.g." resp. "i.e." for consistency. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Rob Herring <robh@kernel.org>
2019-09-02pinctrl-mcp23s08: Fix property-name in dt-examplePeter Vernia
The device-tree properties documentation-file specifies the property "microchip,spi-present-mask" as required for MCP23SXX chips. However, the device-tree-source example below it uses only "spi-present-mask". Without "microchip," on the front, the driver will print "missing spi-present-mask" when it initializes. Update the device-tree example with the correct property-name. Signed-off-by: Peter Vernia <peter.vernia@gmail.com> Reviewed-by: Jan Kundrát <jan.kundrat@cesnet.cz> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-29dt-bindings: Clarify interrupts-extended usageStephen Boyd
Reading the description about when to use interrupts-extended leads some developers to think that it shouldn't be used unless a device has interrupts from more than one interrupt controller. This isn't true. We should encourage devicetree writers to use this property in situations where it isn't the inherited interrupt-parent so that we have less properties in a DT node by virtue of not having to specify an interrupt-parent and an interrupts property. Reported-by: Alexandru M Stan <amstan@chromium.org> Signed-off-by: Stephen Boyd <swboyd@chromium.org> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-28dt-bindings: Convert Arm Mali Utgard GPU to DT schemaRob Herring
Convert the Arm Utgard GPU binding to DT schema format. 'allwinner,sun8i-a23-mali' compatible was not documented, so add it. The 'clocks' property is now required. This simplifies the schema as effectively all the users require 'clocks' already and the upstream driver requires clocks. Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> Acked-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-28dt-bindings: Convert Arm Mali Bifrost GPU to DT schemaRob Herring
Convert the Arm Bifrost GPU binding to DT schema format. The 'clocks' property is now required. This simplifies the schema as effectively all the users require 'clocks' already and the upstream driver requires at least one clock. Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> Acked-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-28dt-bindings: Convert Arm Mali Midgard GPU to DT schemaRob Herring
Convert the Arm Midgard GPU binding to DT schema format. The 'clocks' property is now required. This simplifies the schema as effectively all the users require 'clocks' already and the upstream driver requires at least one clock. Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> Acked-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-27dt-bindings: irq: Convert Allwinner NMI Controller to a schemaMaxime Ripard
The Allwinner SoCs have an interrupt controller called NMI supported in Linux, with a matching Device Tree binding. Now that we have the DT validation in place, let's convert the device tree bindings for that controller over to a YAML schemas. Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-27dt-bindings: irq: Convert Allwinner IRQ Controller to a schemaMaxime Ripard
The Allwinner SoCs have an interrupt controller supported in Linux, with a matching Device Tree binding. Now that we have the DT validation in place, let's convert the device tree bindings for that controller over to a YAML schemas. Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-27of: unittest: Add of_node_put() before returnNishka Dasgupta
The local variable np in function of_unittest_platform_populate takes the return value of of_find_node_by_path, which gets a node but does not put it. If np is not put before return it may cause a memory leak. Hence put np before a return statement. Issue found with Coccinelle. Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-27dt-bindings: smiapp: Align documentation with current practicesSakari Ailus
- The clock-lanes property is not needed for the sensors do not support lane reordering. (The information possibly present in existing clock-lane properties is simply not used.) - There's no need to refer to the sensor device in the DT example, thus remove the label. - Rename the "camera" device node as "camera-sensor". - Rename the endpoint label as "smiapp_ep" (was: "smiapp_1_1"). There is in practice only one anyway. - Remove the remote-endpoint documentation (it is covered by graph.txt to which video-interfaces.txt refers to). - Add a note on the port and endpoint nodes. These changes make the smiapp bindings a better example. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-27dt-bindings: Add vendor prefix for Inspur CorporationJohn Wang
Signed-off-by: John Wang <wangzqbj@inspur.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-21dt-bindings: rng: mtk-rng: Add documentation for MT8516Fabien Parent
This commit adds the device-tree documentation for the RNG IP on the MediaTek MT8516 SoC. Signed-off-by: Fabien Parent <fparent@baylibre.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-21dt-bindings: ata: fix typo in Allwinner R40 reset specific paragraphMiquel Raynal
"Property" is misspelled, correct it. Fixes: caf8975b97c1 ("dt-bindings: ata: update ahci_sunxi bindings") Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-21dt-bindings: arm-boards: Update pointer to ARM CPU bindingsGeert Uytterhoeven
The ARM CPU DT bindings were converted from plain text to YAML, but not all referrers were updated. Fixes: 672951cbd1b70a9e ("dt-bindings: arm: Convert cpu binding to json-schema") Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-20dt-bindings: arm: Add kryo485 compatibleVinod Koul
Kryo485 is found in SM8150, so add it it list of cpu compatibles Signed-off-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-20dt-bindings: reset: hisilicon: Add ao reset controllerPeter Griffin
This is required to bring Mali450 gpu out of reset. Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Rob Herring <robh+dt@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Philipp Zabel <p.zabel@pengutronix.de> Cc: dri-devel@lists.freedesktop.org Cc: devicetree@vger.kernel.org Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-20dt-bindings: reset: hisilicon: Update compatible documentationPeter Griffin
The reset driver now supports the ao reset controller, so update the documentation to match. Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Rob Herring <robh+dt@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Philipp Zabel <p.zabel@pengutronix.de> Cc: dri-devel@lists.freedesktop.org Cc: devicetree@vger.kernel.org Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-20dt-bindings: gpu: mali-utgard: add hisilicon,hi6220-mali compatiblePeter Griffin
The Hisilicon hi6220 uses a Mali-450MP4 with 4 PPs, so add a compatible for it. Cc: David Airlie <airlied@linux.ie> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Rob Herring <robh+dt@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Philipp Zabel <p.zabel@pengutronix.de> Cc: dri-devel@lists.freedesktop.org Cc: devicetree@vger.kernel.org Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-20Merge branch 'dt/linus' into dt/nextRob Herring
2019-08-16dt-bindings: pci: pci-msi: Correct the unit-address of the pci node nameBin Meng
The unit-address must match the first address specified in the reg property of the node. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-14of: irq: fix a trivial typo in a doc commentLubomir Rintel
Diverged from what the code does with commit 530210c7814e ("of/irq: Replace of_irq with of_phandle_args"). Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-14dt-bindings: pinctrl: stm32: Fix 'st,syscfg' schemaRob Herring
The proper way to add additional contraints to an existing json-schema is using 'allOf' to reference the base schema. Using just '$ref' doesn't work. Fix this for the 'st,syscfg' property. Cc: Mark Rutland <mark.rutland@arm.com> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com> Cc: Alexandre Torgue <alexandre.torgue@st.com> Cc: linux-gpio@vger.kernel.org Cc: linux-stm32@st-md-mailman.stormreply.com Cc: linux-arm-kernel@lists.infradead.org Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-13devicetree: Expose dtbs_check and dt_binding_check some moreStephen Boyd
It wasn't obvious that this was a command to run based on 'make help', so add it to the top-level help for devicetree builds. Also, add an example to the documentation to show that db_binding_check can be run with DT_SCHEMA_FILES= to only check one schema file instead of all of them. Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: <linux-kbuild@vger.kernel.org> Cc: <devicetree@vger.kernel.org> Cc: <linux-doc@vger.kernel.org> Signed-off-by: Stephen Boyd <sboyd@kernel.org> [robh: fix-up due to .md to .rst conversion] Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-13dt-bindings: watchdog: meson-gxbb-wdt: convert to yamlNeil Armstrong
Now that we have the DT validation in place, let's convert the device tree bindings for the Amlogic GXBB Watchdog timer over to a YAML schemas. Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-13dt-bindings: serial: meson-uart: convert to yamlNeil Armstrong
Now that we have the DT validation in place, let's convert the device tree bindings for the Amlogic UART Serial controller over to a YAML schemas. Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-13dt-bindings: phy: meson-g12a-usb3-pcie-phy: convert to yamlNeil Armstrong
Now that we have the DT validation in place, let's convert the device tree bindings for the Amlogic G12A USB3 + PCIE Combo PHY over to a YAML schemas. While the original phy bindings specifies phy-supply as required, the examples and implementations makes it optional, thus phy-supply is not present in the properties and required lists. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-13dt-bindings: phy: meson-g12a-usb2-phy: convert to yamlNeil Armstrong
Now that we have the DT validation in place, let's convert the device tree bindings for the Amlogic G12A USB2 PHY over to a YAML schemas. While the original phy bindings specifies phy-supply as required, the examples and implementations makes it optional, thus phy-supply is not in the required list of attributes. Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-13dt-bindings: arm: amlogic: amlogic,meson-gx-ao-secure: convert to yamlNeil Armstrong
Now that we have the DT validation in place, let's convert the device tree bindings for the Amlogic Always-On Secure Registers over to a YAML schemas. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-13dt-bindings: reset: amlogic,meson-reset: convert to yamlNeil Armstrong
Now that we have the DT validation in place, let's convert the device tree bindings for the Amlogic Reset controller over to a YAML schemas. Reviewed-by: Rob Herring <robh@kernel.org> Acked-by: Philipp Zabel <p.zabel@pengutronix.de> Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-13dt-bindings: spi: meson: convert to yamlNeil Armstrong
Now that we have the DT validation in place, let's convert the device tree bindings for the Amlogic SPI controllers over to two separate YAML schemas. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-13dt-bindings: rng: amlogic,meson-rng: convert to yamlNeil Armstrong
Now that we have the DT validation in place, let's convert the device tree bindings for the Amlogic Random Number generator over to a YAML schemas. Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-13dt-bindings: mailbox: meson-mhu: convert to yamlNeil Armstrong
Now that we have the DT validation in place, let's convert the device tree bindings for the Amlogic MHU controller over to a YAML schemas. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-13docs: writing-schema.md: convert from markdown to ReSTMauro Carvalho Chehab
The documentation standard is ReST and not markdown. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-13dt-bindings: crypto: Convert Allwinner A10 Security Engine to a schemaMaxime Ripard
The older Allwinner SoCs have a crypto engine that is supported in Linux, with a matching Device Tree binding. Now that we have the DT validation in place, let's convert the device tree bindings for that controller over to a YAML schemas. Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-13dt-bindings: bus: Convert Allwinner DE2 bus to a schemaMaxime Ripard
The Allwinner SoCs using the second generation of the display engine have a bus for that display engine. The bus is supported in Linux, with a matching Device Tree binding. Now that we have the DT validation in place, let's convert the device tree bindings for that controller over to a YAML schemas. Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> [robh: add 'type: object' for child nodes] Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-13dt-bindings: input: Convert Allwinner LRADC to a schemaMaxime Ripard
The Allwinner SoCs have an LRADC used to report keys and supported in Linux, with a matching Device Tree binding. Now that we have the DT validation in place, let's convert the device tree bindings for that controller over to a YAML schemas. Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-12dt-bindings: fec: explicitly mark deprecated propertiesSven Van Asbroeck
fec's gpio phy reset properties have been deprecated. Update the dt-bindings documentation to explicitly mark them as such, and provide a short description of the recommended alternative. Signed-off-by: Sven Van Asbroeck <TheSven73@gmail.com> Signed-off-by: Rob Herring <robh@kernel.org>
2019-08-12of: resolver: Add of_node_put() before return and breakNishka Dasgupta
Each iteration of for_each_child_of_node puts the previous node, but in the case of a return or break from the middle of the loop, there is no put, thus causing a memory leak. Hence add an of_node_put before the return or break in three places. Issue found with Coccinelle. Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com> Signed-off-by: Rob Herring <robh@kernel.org>