From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Ash Logan <ash@heyquark.com>,
krzysztof.kozlowski+dt@linaro.org, paulus@samba.org,
mpe@ellerman.id.au, christophe.leroy@csgroup.eu,
robh+dt@kernel.org, benh@kernel.crashing.org
Cc: devicetree@vger.kernel.org, linkmauve@linkmauve.fr,
linux-kernel@vger.kernel.org, rw-r-r-0644@protonmail.com,
joel@jms.id.au, linuxppc-dev@lists.ozlabs.org, j.ne@posteo.net
Subject: Re: [PATCH v3 01/12] dt-bindings: wiiu: Document the Nintendo Wii U devicetree
Date: Wed, 29 Jun 2022 11:52:07 +0200 [thread overview]
Message-ID: <86a4814f-e881-d8dd-f338-48583363af53@linaro.org> (raw)
In-Reply-To: <20220628133144.142185-2-ash@heyquark.com>
On 28/06/2022 15:31, Ash Logan wrote:
> Adds schema for the various Wii U devicetree nodes used.
>
> Signed-off-by: Ash Logan <ash@heyquark.com>
> ---
> .../bindings/powerpc/nintendo/wiiu.yaml | 28 +++++++++++
> .../powerpc/nintendo/wiiu/espresso-pic.yaml | 42 +++++++++++++++++
> .../bindings/powerpc/nintendo/wiiu/gpu7.yaml | 41 +++++++++++++++++
> .../powerpc/nintendo/wiiu/latte-ahci.yaml | 43 +++++++++++++++++
> .../powerpc/nintendo/wiiu/latte-dsp.yaml | 35 ++++++++++++++
> .../powerpc/nintendo/wiiu/latte-pic.yaml | 46 +++++++++++++++++++
> .../powerpc/nintendo/wiiu/latte-sdhci.yaml | 40 ++++++++++++++++
> .../bindings/powerpc/nintendo/wiiu/latte.yaml | 25 ++++++++++
> 8 files changed, 300 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/powerpc/nintendo/wiiu.yaml
> create mode 100644 Documentation/devicetree/bindings/powerpc/nintendo/wiiu/espresso-pic.yaml
> create mode 100644 Documentation/devicetree/bindings/powerpc/nintendo/wiiu/gpu7.yaml
> create mode 100644 Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-ahci.yaml
> create mode 100644 Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-dsp.yaml
> create mode 100644 Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-pic.yaml
> create mode 100644 Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-sdhci.yaml
> create mode 100644 Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte.yaml
>
> diff --git a/Documentation/devicetree/bindings/powerpc/nintendo/wiiu.yaml b/Documentation/devicetree/bindings/powerpc/nintendo/wiiu.yaml
> new file mode 100644
> index 000000000000..5824b07928f5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/powerpc/nintendo/wiiu.yaml
> @@ -0,0 +1,28 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +
> +$id: http://devicetree.org/schemas/powerpc/nintendo/wiiu.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Nintendo Wii U bindings
> +
> +maintainers:
> + - Ash Logan <ash@heyquark.com>
> + - Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
> +
> +description: |
> + Nintendo Wii U video game console binding.
> +
> +properties:
> + $nodename:
> + const: "/"
> + compatible:
> + oneOf:
> + - description: Nintendo Wii U video game console
> + items:
> + - const: nintendo,wiiu
> +
> +additionalProperties: true
> +
> +...
> diff --git a/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/espresso-pic.yaml b/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/espresso-pic.yaml
> new file mode 100644
> index 000000000000..878a81595f5f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/espresso-pic.yaml
> @@ -0,0 +1,42 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/powerpc/nintendo/wiiu/espresso-pic.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Nintendo Wii U "Espresso" interrupt controller
> +
> +maintainers:
> + - Ash Logan <ash@heyquark.com>
> + - Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
> +
> +description: |
> + Interrupt controller found on the Nintendo Wii U for the "Espresso" processor.
> +
> +properties:
> + compatible:
> + oneOf:
No need for oneOf, just const.
> + - description: Nintendo Wii U "Espresso" interrupt controller
No need for description.
> + items:
> + - const: nintendo,espresso-pic
> + '#interrupt-cells':
> + # Interrupt numbers 0-32 in one cell
> + const: 1
Blank line between each property.
> + interrupt-controller: true
> + reg:
> + items:
> + - description: Core registers
Just maxItems:1. Description is not helpful.
Missing required properties.
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + espresso_pic: pic@c000078 {
Generic node name, so "interrupt-controller"
> + #interrupt-cells = <1>;
> + interrupt-controller;
> +
> + compatible = "nintendo,espresso-pic";
> + reg = <0x0c000078 0x18>;
compatible and reg by convention go first in list of properties. This
applies everywhere, also to your DTS.
> + };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/gpu7.yaml b/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/gpu7.yaml
> new file mode 100644
> index 000000000000..e54d49015f36
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/gpu7.yaml
> @@ -0,0 +1,41 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/powerpc/nintendo/wiiu/gpu7.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Nintendo Wii U Latte "GPU7" graphics processor
> +
> +maintainers:
> + - Ash Logan <ash@heyquark.com>
> + - Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
> +
> +description: |
> + GPU7 graphics processor, also known as "GX2", found in the Latte multifunction chip of the
> + Nintendo Wii U.
> +
> +properties:
> + compatible:
> + oneOf:
> + - description: Nintendo Wii U Latte "GPU7" graphics processor
> + items:
> + - const: nintendo,latte-gpu7
> + reg:
> + items:
> + - description: GpuF0MMReg registers
> + interrupts:
> + items:
> + - description: Main interrupt, connected via Espresso PIC
Same comments as your interrupt controller patch. I guess these comments
apply everywhere here.
Missing required properties.
> +
> +# This will likely get bound to the Radeon driver one day, which will neccesitate extra properties
> +additionalProperties: true
No, it must be false. It's okay to extend the binding later.
> +
> +examples:
> + - |
> + gpu7@c200000 {
Generic node name, so "gpu".
> + compatible = "nintendo,latte-gpu7";
Wrong indentation. Use four spaces for DTS example.
> + reg = <0x0c200000 0x80000>;
> + interrupts = <2>;
> + interrupt-parent = <&espresso_pic>;
> + };
> +...
> diff --git a/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-ahci.yaml b/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-ahci.yaml
> new file mode 100644
> index 000000000000..7b9de4effcb0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-ahci.yaml
> @@ -0,0 +1,43 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/powerpc/nintendo/wiiu/latte-ahci.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Nintendo Wii U Latte AHCI controller
> +
> +maintainers:
> + - Ash Logan <ash@heyquark.com>
> + - Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
> +
> +description: |
> + Nintendo Wii U AHCI SATA controller, as found in the Latte chip.
> +
> +properties:
> + compatible:
> + oneOf:
> + - description: Nintendo Wii U Latte AHCI controller
> + items:
> + - const: nintendo,latte-ahci
> + reg:
> + items:
> + - description: |
> + HBA memory registers. Note that unlike the spec, space for only 6 ports exist, with 2 vendor
> + registers afterwards, thus register space should be 0x408 long (0x100+0x80*6+0x8).
Here description can stay, so no need for maxItems.
> + interrupts:
> + items:
> + - description: Main HBA interrupt
> + - description: Vendor debugging interrupt
> +
This should also reference ahci schema (I think it is ready).
> +additionalProperties: false
> +
> +examples:
> + - |
> + sata: ahci@d160400 {
> + compatible = "nintendo,latte-ahci";
> + reg = <0x0d160400 0x408>;
Fix indentation.
> +
> + interrupt-parent = <&latte_pic>;
> + interrupts = <38>, <28>;
> + };
> +...
> diff --git a/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-dsp.yaml b/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-dsp.yaml
> new file mode 100644
> index 000000000000..ed0b4c28ce48
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-dsp.yaml
> @@ -0,0 +1,35 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/powerpc/nintendo/wiiu/latte-dsp.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Nintendo Wii U Latte DSP
> +
> +maintainers:
> + - Ash Logan <ash@heyquark.com>
> + - Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
> +
> +description: |
> + Nintendo Wii U digital signal processor, as found in the Latte chip.
> +
> +properties:
> + compatible:
> + oneOf:
> + - description: Nintendo Wii U Latte DSP
> + items:
> + - const: nintendo,latte-dsp
> + reg:
> + items:
> + - description: DSP registers
> +
> +# Once more is known about this device more properties will likely be added
> +additionalProperties: true
Again, no. All other comments also apply.
> +
> +examples:
> + - |
> + latte_dsp: dsp@c005000 {
> + compatible = "nintendo,latte-dsp";
> + reg = <0x0c005000 0x200>;
> + };
> +...
> diff --git a/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-pic.yaml b/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-pic.yaml
> new file mode 100644
> index 000000000000..a2df71fb9964
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-pic.yaml
> @@ -0,0 +1,46 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/powerpc/nintendo/wiiu/latte-pic.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Nintendo Wii U Latte interrupt controller
> +
> +maintainers:
> + - Ash Logan <ash@heyquark.com>
> + - Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
> +
> +description: |
> + Interrupt controller found on the Nintendo Wii U for the "Latte" devices.
> +
> +properties:
> + compatible:
> + oneOf:
> + - description: Nintendo Wii U Latte interrupt controller
> + items:
> + - const: nintendo,latte-pic
> + '#interrupt-cells':
> + # Interrupt numbers 0-64 in one cell.
> + const: 1
> + interrupt-controller: true
> + reg:
> + items:
> + - description: Core registers
> + interrupts:
> + items:
> + - description: Cascade interrupt for Espresso PIC
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + latte_pic: pic@d800440 {
interrupt-controller.
All other comments apply.
> + #interrupt-cells = <1>;
> + interrupt-controller;
> +
> + compatible = "nintendo,latte-pic";
> + reg = <0x0d800440 0x30>;
> + interrupt-parent = <&espresso_pic>;
> + interrupts = <24>;
> + };
> +...
> diff --git a/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-sdhci.yaml b/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-sdhci.yaml
> new file mode 100644
> index 000000000000..4b9b0820edc1
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/powerpc/nintendo/wiiu/latte-sdhci.yaml
> @@ -0,0 +1,40 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/powerpc/nintendo/wiiu/latte-sdhci.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Nintendo Wii U Latte SD Host controller
> +
> +maintainers:
> + - Ash Logan <ash@heyquark.com>
> + - Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
> +
> +description: |
> + SDHCI hosts found on the Nintendo Wii U's Latte SoC for SD cards and SDIO devices.
> +
> +properties:
> + compatible:
> + oneOf:
> + - description: Nintendo Wii U Latte SDHCI
> + items:
> + - const: nintendo,latte-sdhci
> + - const: sdhci
> + reg:
> + items:
> + - description: Core registers
> + interrupts:
> + items:
> + - description: SDHCI interrupt
You need to reference mmc-controller bindings in allOf.
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + sdcard_0: sdhci@d070000 {
Node name: mmc
The bindings look poor, several easy to fix mistakes. I suggest to open
example-schema.yaml and start from there.
Best regards,
Krzysztof
next prev parent reply other threads:[~2022-06-29 9:52 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-02 4:43 [PATCH 00/12] powerpc: Nintendo Wii U support Ash Logan
2022-03-02 4:43 ` [PATCH 01/12] dt-bindings: wiiu: Document the Nintendo Wii U devicetree Ash Logan
2022-03-02 13:28 ` Rob Herring
2022-03-02 4:43 ` [PATCH 02/12] powerpc: wiiu: device tree Ash Logan
2022-03-02 13:36 ` Rob Herring
2022-03-03 2:41 ` Ash Logan
2022-03-02 4:43 ` [PATCH 03/12] powerpc: wiiu: bootwrapper support Ash Logan
2022-03-02 4:43 ` [PATCH 04/12] powerpc: wiiu: introduce wiiu platform Ash Logan
2022-03-02 4:43 ` [PATCH 05/12] powerpc: wiiu: declare as non-coherent Ash Logan
2022-03-02 4:44 ` [PATCH 06/12] powerpc: wiiu: udbg support for latteipc Ash Logan
2022-03-02 4:44 ` [PATCH 07/12] powerpc: wiiu: espresso interrupt controller support Ash Logan
2022-03-02 4:44 ` [PATCH 08/12] powerpc: wiiu: latte " Ash Logan
2022-03-02 4:44 ` [PATCH 09/12] powerpc: espresso processor support Ash Logan
2022-03-02 4:44 ` [PATCH 10/12] powerpc: wiiu: platform support Ash Logan
2022-03-02 4:44 ` [PATCH 11/12] powerpc: wiiu: don't enforce flat memory Ash Logan
2022-05-13 22:43 ` Pali Rohár
2022-05-20 3:41 ` Ash Logan
2022-05-20 8:04 ` Pali Rohár
2022-05-20 10:44 ` Ash Logan
2022-05-20 12:30 ` Pali Rohár
2022-06-09 22:24 ` Pali Rohár
2022-08-08 18:40 ` Pali Rohár
2022-09-08 15:25 ` Christophe Leroy
2022-09-08 15:35 ` Pali Rohár
2022-09-08 20:17 ` Fragmented physical memory on powerpc/32 Pali Rohár
2022-09-10 9:39 ` Christophe Leroy
2022-09-12 14:48 ` Mike Rapoport
2022-09-12 21:16 ` Pali Rohár
2022-09-13 6:11 ` Christophe Leroy
2022-09-13 12:36 ` Christophe Leroy
2022-09-14 9:32 ` Mike Rapoport
2022-09-14 9:43 ` Christophe Leroy
2022-09-14 15:55 ` Mike Rapoport
2022-09-14 19:56 ` Pali Rohár
2022-03-02 4:44 ` [PATCH 12/12] powerpc: wiiu: Add minimal default config Ash Logan
2022-06-22 13:10 ` [PATCH v2 00/12] powerpc: Nintendo Wii U support Ash Logan
2022-06-22 13:10 ` [PATCH v2 01/12] dt-bindings: wiiu: Document the Nintendo Wii U devicetree Ash Logan
2022-06-22 13:10 ` [PATCH v2 02/12] powerpc: wiiu: device tree Ash Logan
2022-06-22 13:10 ` [PATCH v2 03/12] powerpc: wiiu: bootwrapper support Ash Logan
2022-06-22 13:10 ` [PATCH v2 04/12] powerpc: wiiu: introduce wiiu platform Ash Logan
2022-06-22 13:10 ` [PATCH v2 05/12] powerpc: wiiu: declare as non-coherent Ash Logan
2022-06-22 13:10 ` [PATCH v2 06/12] powerpc: wiiu: udbg support for latteipc Ash Logan
2022-06-27 0:15 ` kernel test robot
2022-06-22 13:10 ` [PATCH v2 07/12] powerpc: wiiu: espresso interrupt controller support Ash Logan
2022-06-22 13:10 ` [PATCH v2 08/12] powerpc: wiiu: latte " Ash Logan
2022-06-27 2:51 ` kernel test robot
2022-06-22 13:10 ` [PATCH v2 09/12] powerpc: espresso processor support Ash Logan
2022-06-22 13:10 ` [PATCH v2 10/12] powerpc: wiiu: platform support Ash Logan
2022-06-22 13:10 ` [PATCH v2 11/12] powerpc: wiiu: don't enforce flat memory Ash Logan
2022-06-22 13:10 ` [PATCH v2 12/12] powerpc: wiiu: Add minimal default config Ash Logan
2022-06-28 13:31 ` [PATCH v3 00/12] powerpc: Nintendo Wii U support Ash Logan
2022-06-28 13:31 ` [PATCH v3 01/12] dt-bindings: wiiu: Document the Nintendo Wii U devicetree Ash Logan
2022-06-29 9:52 ` Krzysztof Kozlowski [this message]
2022-06-28 13:31 ` [PATCH v3 02/12] powerpc: wiiu: device tree Ash Logan
2022-06-29 9:58 ` Krzysztof Kozlowski
2022-06-29 16:13 ` Segher Boessenkool
2022-06-29 18:13 ` Krzysztof Kozlowski
2022-06-29 20:28 ` Segher Boessenkool
2022-06-28 13:31 ` [PATCH v3 03/12] powerpc: wiiu: bootwrapper support Ash Logan
2022-06-28 13:31 ` [PATCH v3 04/12] powerpc: wiiu: introduce wiiu platform Ash Logan
2022-06-28 13:31 ` [PATCH v3 05/12] powerpc: wiiu: declare as non-coherent Ash Logan
2022-06-28 13:31 ` [PATCH v3 06/12] powerpc: wiiu: udbg support for latteipc Ash Logan
2022-06-28 13:31 ` [PATCH v3 07/12] powerpc: wiiu: espresso interrupt controller support Ash Logan
2022-06-28 13:31 ` [PATCH v3 08/12] powerpc: wiiu: latte " Ash Logan
2022-06-28 13:31 ` [PATCH v3 09/12] powerpc: espresso processor support Ash Logan
2022-06-28 13:31 ` [PATCH v3 10/12] powerpc: wiiu: platform support Ash Logan
2022-06-28 13:31 ` [PATCH v3 11/12] powerpc: wiiu: don't enforce flat memory Ash Logan
2022-06-28 13:31 ` [PATCH v3 12/12] powerpc: wiiu: add minimal default config Ash Logan
2022-11-15 14:47 ` [PATCH v3 00/12] powerpc: Nintendo Wii U support Christophe Leroy
2022-11-19 11:30 ` [PATCH v4 00/11] " Ash Logan
2022-11-19 11:30 ` [PATCH v4 01/11] dt-bindings: wiiu: Document the Nintendo Wii U devicetree Ash Logan
2022-11-19 21:36 ` Rob Herring
2022-11-20 15:30 ` Rob Herring
2024-02-20 16:20 ` Christophe Leroy
2024-02-20 16:24 ` Krzysztof Kozlowski
2022-11-19 11:30 ` [PATCH v4 02/11] powerpc: wiiu: device tree Ash Logan
2022-11-19 11:30 ` [PATCH v4 03/11] powerpc: wiiu: bootwrapper support Ash Logan
2022-11-19 11:30 ` [PATCH v4 04/11] powerpc: wiiu: introduce wiiu platform Ash Logan
2022-11-19 11:30 ` [PATCH v4 05/11] powerpc: wiiu: declare as non-coherent Ash Logan
2022-11-19 11:30 ` [PATCH v4 06/11] powerpc: wiiu: udbg support for latteipc Ash Logan
2022-11-19 11:30 ` [PATCH v4 07/11] powerpc: wiiu: espresso interrupt controller support Ash Logan
2022-11-19 11:30 ` [PATCH v4 08/11] powerpc: wiiu: latte " Ash Logan
2022-11-19 11:30 ` [PATCH v4 09/11] powerpc: espresso processor support Ash Logan
2022-11-19 11:30 ` [PATCH v4 10/11] powerpc: wiiu: platform support Ash Logan
2022-11-19 11:30 ` [PATCH v4 11/11] powerpc: wiiu: add minimal default config Ash Logan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86a4814f-e881-d8dd-f338-48583363af53@linaro.org \
--to=krzysztof.kozlowski@linaro.org \
--cc=ash@heyquark.com \
--cc=benh@kernel.crashing.org \
--cc=christophe.leroy@csgroup.eu \
--cc=devicetree@vger.kernel.org \
--cc=j.ne@posteo.net \
--cc=joel@jms.id.au \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linkmauve@linkmauve.fr \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=paulus@samba.org \
--cc=robh+dt@kernel.org \
--cc=rw-r-r-0644@protonmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).