linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Cc: Linux Doc Mailing List <linux-doc@vger.kernel.org>,
	Mauro Carvalho Chehab <mchehab@infradead.org>,
	linux-kernel@vger.kernel.org, Jonathan Corbet <corbet@lwn.net>,
	Hartmut Knaack <knaack.h@gmx.de>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
	linux-iio@vger.kernel.org
Subject: Re: [PATCH v2 63/79] docs: iio: convert to ReST
Date: Mon, 22 Apr 2019 15:25:15 +0100	[thread overview]
Message-ID: <20190422152515.403d0858@archlinux> (raw)
In-Reply-To: <41bbbddf74ffb1e557ac6c924dac5054d6650950.1555938376.git.mchehab+samsung@kernel.org>

On Mon, 22 Apr 2019 10:27:52 -0300
Mauro Carvalho Chehab <mchehab+samsung@kernel.org> wrote:

> Rename the iio documentation files to ReST, add an
> index for them and adjust in order to produce a nice html
> output via the Sphinx build system.
> 
> At its new index.rst, let's add a :orphan: while this is not linked to
> the main index.rst file, in order to avoid build warnings.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thanks Mauro,

Looks good to me.
At somepoint, we should figure out how to fit these elements into
the main IIO docs, but this is a good intermediate step.

Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> ---
>  .../iio/{ep93xx_adc.txt => ep93xx_adc.rst}    | 15 +++++-
>  .../{iio_configfs.txt => iio_configfs.rst}    | 52 +++++++++++--------
>  Documentation/iio/index.rst                   | 12 +++++
>  drivers/iio/Kconfig                           |  2 +-
>  4 files changed, 56 insertions(+), 25 deletions(-)
>  rename Documentation/iio/{ep93xx_adc.txt => ep93xx_adc.rst} (71%)
>  rename Documentation/iio/{iio_configfs.txt => iio_configfs.rst} (73%)
>  create mode 100644 Documentation/iio/index.rst
> 
> diff --git a/Documentation/iio/ep93xx_adc.txt b/Documentation/iio/ep93xx_adc.rst
> similarity index 71%
> rename from Documentation/iio/ep93xx_adc.txt
> rename to Documentation/iio/ep93xx_adc.rst
> index 23053e7817bd..4fd8dea3f6b8 100644
> --- a/Documentation/iio/ep93xx_adc.txt
> +++ b/Documentation/iio/ep93xx_adc.rst
> @@ -1,12 +1,16 @@
> -Cirrus Logic EP93xx ADC driver.
> +==============================
> +Cirrus Logic EP93xx ADC driver
> +==============================
>  
>  1. Overview
> +===========
>  
>  The driver is intended to work on both low-end (EP9301, EP9302) devices with
>  5-channel ADC and high-end (EP9307, EP9312, EP9315) devices with 10-channel
>  touchscreen/ADC module.
>  
>  2. Channel numbering
> +====================
>  
>  Numbering scheme for channels 0..4 is defined in EP9301 and EP9302 datasheets.
>  EP9307, EP9312 and EP9312 have 3 channels more (total 8), but the numbering is
> @@ -17,13 +21,20 @@ Assuming ep93xx_adc is IIO device0, you'd find the following entries under
>  
>    +-----------------+---------------+
>    | sysfs entry     | ball/pin name |
> -  +-----------------+---------------+
> +  +=================+===============+
>    | in_voltage0_raw | YM            |
> +  +-----------------+---------------+
>    | in_voltage1_raw | SXP           |
> +  +-----------------+---------------+
>    | in_voltage2_raw | SXM           |
> +  +-----------------+---------------+
>    | in_voltage3_raw | SYP           |
> +  +-----------------+---------------+
>    | in_voltage4_raw | SYM           |
> +  +-----------------+---------------+
>    | in_voltage5_raw | XP            |
> +  +-----------------+---------------+
>    | in_voltage6_raw | XM            |
> +  +-----------------+---------------+
>    | in_voltage7_raw | YP            |
>    +-----------------+---------------+
> diff --git a/Documentation/iio/iio_configfs.txt b/Documentation/iio/iio_configfs.rst
> similarity index 73%
> rename from Documentation/iio/iio_configfs.txt
> rename to Documentation/iio/iio_configfs.rst
> index 4e5f101837a8..ecbfdb3afef7 100644
> --- a/Documentation/iio/iio_configfs.txt
> +++ b/Documentation/iio/iio_configfs.rst
> @@ -1,6 +1,9 @@
> +===============================
>  Industrial IIO configfs support
> +===============================
>  
>  1. Overview
> +===========
>  
>  Configfs is a filesystem-based manager of kernel objects. IIO uses some
>  objects that could be easily configured using configfs (e.g.: devices,
> @@ -10,20 +13,22 @@ See Documentation/filesystems/configfs/configfs.txt for more information
>  about how configfs works.
>  
>  2. Usage
> +========
>  
>  In order to use configfs support in IIO we need to select it at compile
>  time via CONFIG_IIO_CONFIGFS config option.
>  
> -Then, mount the configfs filesystem (usually under /config directory):
> +Then, mount the configfs filesystem (usually under /config directory)::
>  
> -$ mkdir /config
> -$ mount -t configfs none /config
> +  $ mkdir /config
> +  $ mount -t configfs none /config
>  
>  At this point, all default IIO groups will be created and can be accessed
>  under /config/iio. Next chapters will describe available IIO configuration
>  objects.
>  
>  3. Software triggers
> +====================
>  
>  One of the IIO default configfs groups is the "triggers" group. It is
>  automagically accessible when the configfs is mounted and can be found
> @@ -31,40 +36,40 @@ under /config/iio/triggers.
>  
>  IIO software triggers implementation offers support for creating multiple
>  trigger types. A new trigger type is usually implemented as a separate
> -kernel module following the interface in include/linux/iio/sw_trigger.h:
> +kernel module following the interface in include/linux/iio/sw_trigger.h::
>  
> -/*
> - * drivers/iio/trigger/iio-trig-sample.c
> - * sample kernel module implementing a new trigger type
> - */
> -#include <linux/iio/sw_trigger.h>
> +  /*
> +   * drivers/iio/trigger/iio-trig-sample.c
> +   * sample kernel module implementing a new trigger type
> +   */
> +  #include <linux/iio/sw_trigger.h>
>  
>  
> -static struct iio_sw_trigger *iio_trig_sample_probe(const char *name)
> -{
> +  static struct iio_sw_trigger *iio_trig_sample_probe(const char *name)
> +  {
>  	/*
>  	 * This allocates and registers an IIO trigger plus other
>  	 * trigger type specific initialization.
>  	 */
> -}
> +  }
>  
> -static int iio_trig_hrtimer_remove(struct iio_sw_trigger *swt)
> -{
> +  static int iio_trig_hrtimer_remove(struct iio_sw_trigger *swt)
> +  {
>  	/*
>  	 * This undoes the actions in iio_trig_sample_probe
>  	 */
> -}
> +  }
>  
> -static const struct iio_sw_trigger_ops iio_trig_sample_ops = {
> +  static const struct iio_sw_trigger_ops iio_trig_sample_ops = {
>  	.probe		= iio_trig_sample_probe,
>  	.remove		= iio_trig_sample_remove,
> -};
> +  };
>  
> -static struct iio_sw_trigger_type iio_trig_sample = {
> +  static struct iio_sw_trigger_type iio_trig_sample = {
>  	.name = "trig-sample",
>  	.owner = THIS_MODULE,
>  	.ops = &iio_trig_sample_ops,
> -};
> +  };
>  
>  module_iio_sw_trigger_driver(iio_trig_sample);
>  
> @@ -73,21 +78,24 @@ iio-trig-sample module will create 'trig-sample' trigger type directory
>  /config/iio/triggers/trig-sample.
>  
>  We support the following interrupt sources (trigger types):
> +
>  	* hrtimer, uses high resolution timers as interrupt source
>  
>  3.1 Hrtimer triggers creation and destruction
> +---------------------------------------------
>  
>  Loading iio-trig-hrtimer module will register hrtimer trigger types allowing
>  users to create hrtimer triggers under /config/iio/triggers/hrtimer.
>  
> -e.g:
> +e.g::
>  
> -$ mkdir /config/iio/triggers/hrtimer/instance1
> -$ rmdir /config/iio/triggers/hrtimer/instance1
> +  $ mkdir /config/iio/triggers/hrtimer/instance1
> +  $ rmdir /config/iio/triggers/hrtimer/instance1
>  
>  Each trigger can have one or more attributes specific to the trigger type.
>  
>  3.2 "hrtimer" trigger types attributes
> +--------------------------------------
>  
>  "hrtimer" trigger type doesn't have any configurable attribute from /config dir.
>  It does introduce the sampling_frequency attribute to trigger directory.
> diff --git a/Documentation/iio/index.rst b/Documentation/iio/index.rst
> new file mode 100644
> index 000000000000..0593dca89a94
> --- /dev/null
> +++ b/Documentation/iio/index.rst
> @@ -0,0 +1,12 @@
> +:orphan:
> +
> +==============
> +Industrial I/O
> +==============
> +
> +.. toctree::
> +   :maxdepth: 1
> +
> +   iio_configfs
> +
> +   ep93xx_adc
> diff --git a/drivers/iio/Kconfig b/drivers/iio/Kconfig
> index 014006d1cbb6..c1aa87db19ff 100644
> --- a/drivers/iio/Kconfig
> +++ b/drivers/iio/Kconfig
> @@ -28,7 +28,7 @@ config IIO_CONFIGFS
>  	help
>  	  This allows configuring various IIO bits through configfs
>  	  (e.g. software triggers). For more info see
> -	  Documentation/iio/iio_configfs.txt.
> +	  Documentation/iio/iio_configfs.rst.
>  
>  config IIO_TRIGGER
>  	bool "Enable triggered sampling support"


  reply	other threads:[~2019-04-22 14:25 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20190423132100.GB7132@redhat.com>
2019-04-22 13:26 ` [PATCH v2 00/79] Convert files to ReST Mauro Carvalho Chehab
2019-04-22 13:26   ` [PATCH v2 01/79] docs: core-api: fix broken references for div64.c and gcd.c Mauro Carvalho Chehab
2019-04-22 13:26   ` [PATCH v2 02/79] docs: trace: fix some Sphinx warnings Mauro Carvalho Chehab
2019-04-24 15:10     ` Steven Rostedt
2019-04-22 13:26   ` [PATCH v2 03/79] scripts/documentation-file-ref-check: don't parse Next/ dir Mauro Carvalho Chehab
2019-04-22 13:26   ` [PATCH v2 04/79] docs: aoe: convert docs to ReST and rename to *.rst Mauro Carvalho Chehab
2019-04-22 13:26   ` [PATCH v2 05/79] docs: arm64: convert docs to ReST and rename to .rst Mauro Carvalho Chehab
2019-04-22 13:26   ` [PATCH v2 06/79] docs: cdrom-standard.tex: convert from LaTeX to ReST Mauro Carvalho Chehab
2019-04-22 13:26   ` [PATCH v2 07/79] docs: cdrom: convert docs to ReST and rename to *.rst Mauro Carvalho Chehab
2019-04-22 13:26   ` [PATCH v2 08/79] docs: cgroup-v1: " Mauro Carvalho Chehab
2019-05-06 15:47     ` Tejun Heo
2019-04-22 13:26   ` [PATCH v2 09/79] docs: cgroup-v1/blkio-controller.rst: add a note about CFQ scheduler Mauro Carvalho Chehab
2019-04-22 13:26   ` [PATCH v2 10/79] docs: cpu-freq: convert docs to ReST and rename to *.rst Mauro Carvalho Chehab
2019-04-23  8:21     ` Rafael J. Wysocki
2019-04-22 13:27   ` [PATCH v2 11/79] docs: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 12/79] docs: fault-injection: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 13/79] docs: fb: " Mauro Carvalho Chehab
2019-05-06 13:40     ` Bartlomiej Zolnierkiewicz
2019-04-22 13:27   ` [PATCH v2 14/79] docs: fpga: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 15/79] docs: gpio: " Mauro Carvalho Chehab
2019-04-23 11:23     ` Linus Walleij
2019-04-23 12:36       ` Mauro Carvalho Chehab
2019-04-23 21:30     ` Linus Walleij
2019-04-22 13:27   ` [PATCH v2 16/79] docs: ide: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 17/79] docs: infiniband: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 19/79] docs: kdump: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 20/79] docs: livepatch: " Mauro Carvalho Chehab
2019-04-26  8:10     ` Petr Mladek
2019-04-26  9:04       ` Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 21/79] docs: locking: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 22/79] docs: mic: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 23/79] docs: netlabel: " Mauro Carvalho Chehab
2019-04-22 18:10     ` Paul Moore
2019-04-22 13:27   ` [PATCH v2 24/79] docs: pcmcia: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 25/79] docs: " Mauro Carvalho Chehab
2019-04-22 13:48     ` Bjorn Helgaas
2019-04-22 14:07       ` Mauro Carvalho Chehab
2019-04-25 18:07     ` Mark Brown
2019-04-26  9:46       ` Mauro Carvalho Chehab
2019-04-27 17:25         ` Mark Brown
2019-04-27 18:13           ` Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 26/79] docs: powerpc: " Mauro Carvalho Chehab
2019-04-24  1:15     ` Andrew Donnellan
2019-04-22 13:27   ` [PATCH v2 27/79] docs: pps.txt: convert to ReST and rename to pps.rst Mauro Carvalho Chehab
2019-04-22 16:19     ` Rodolfo Giometti
2019-04-22 13:27   ` [PATCH v2 28/79] docs: ptp.txt: convert to ReST and move to driver-api Mauro Carvalho Chehab
2019-04-22 15:40     ` Richard Cochran
2019-04-22 13:27   ` [PATCH v2 29/79] docs: riscv: convert docs to ReST and rename to *.rst Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 30/79] docs: Debugging390.txt: convert table to ascii artwork Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 31/79] docs: s390: convert docs to ReST and rename to *.rst Mauro Carvalho Chehab
2019-04-23 16:12     ` Farhan Ali
2019-04-23 19:46       ` Mauro Carvalho Chehab
2019-04-24 11:41     ` Cornelia Huck
2019-04-24 12:30       ` Heiko Carstens
2019-04-24 12:44       ` Mauro Carvalho Chehab
2019-04-24 12:52         ` Cornelia Huck
2019-04-22 13:27   ` [PATCH v2 32/79] s390: include/asm/debug.h add kerneldoc markups Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 33/79] docs: serial: convert docs to ReST and rename to *.rst Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 34/79] docs: target: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 35/79] docs: timers: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 36/79] docs: watchdog: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 37/79] docs: xilinx: convert eemi.txt to eemi.rst Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 38/79] docs: scheduler: convert docs to ReST and rename to *.rst Mauro Carvalho Chehab
2019-04-23  8:29     ` Peter Zijlstra
2019-04-23 10:32       ` Ingo Molnar
2019-04-23 11:19         ` Peter Zijlstra
2019-04-23 12:30           ` Ingo Molnar
2019-04-22 13:27   ` [PATCH v2 39/79] docs: EDID/HOWTO.txt: convert it and rename to howto.rst Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 40/79] convert docs to ReST and rename to *.rst Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 41/79] docs: lcd-panel-cgram.txt: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 42/79] docs: lp855x-driver.txt: convert to ReST and move to kernel-api Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 43/79] docs: m68k: convert docs to ReST and rename to *.rst Mauro Carvalho Chehab
2019-05-03 11:55     ` Geert Uytterhoeven
2019-04-22 13:27   ` [PATCH v2 44/79] docs: cma/debugfs.txt: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 45/79] docs: console.txt: " Mauro Carvalho Chehab
2019-05-06 13:41     ` Bartlomiej Zolnierkiewicz
2019-04-22 13:27   ` [PATCH v2 46/79] docs: pti_intel_mid.txt: convert it to pti_intel_mid.rst Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 47/79] docs: early-userspace: convert docs to ReST and rename to *.rst Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 48/79] docs: driver-model: " Mauro Carvalho Chehab
2019-04-22 14:47     ` Julia Lawall
2019-04-22 22:30     ` Guenter Roeck
2019-04-22 13:27   ` [PATCH v2 50/79] docs: memory-devices: convert ti-emif.txt to ReST Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 51/79] docs: xen-tpmfront.txt: convert it to .rst Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 52/79] docs: bus-devices: ti-gpmc.rst: convert it to ReST Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 53/79] docs: nvmem: convert docs to ReST and rename to *.rst Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 54/79] docs: phy: convert samsung-usb2.txt to ReST format Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 55/79] docs: rbtree.txt: fix Sphinx build warnings Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 57/79] docs: accounting: convert to ReST Mauro Carvalho Chehab
2019-05-06 15:46     ` Tejun Heo
2019-04-22 13:27   ` [PATCH v2 58/79] docs: fmc: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 59/79] docs: hid: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 60/79] docs: ia64: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 61/79] docs: leds: " Mauro Carvalho Chehab
2019-04-23 19:00     ` Jacek Anaszewski
2019-04-22 13:27   ` [PATCH v2 62/79] docs: laptops: " Mauro Carvalho Chehab
2019-05-06  8:59     ` Andy Shevchenko
2019-04-22 13:27   ` [PATCH v2 63/79] docs: iio: " Mauro Carvalho Chehab
2019-04-22 14:25     ` Jonathan Cameron [this message]
2019-04-22 13:27   ` [PATCH v2 64/79] docs: ioctl-number.txt: convert it to ReST format Mauro Carvalho Chehab
2019-04-22 14:05     ` Doug Ledford
2019-04-22 14:17       ` Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 65/79] docs: ioctl: convert to ReST Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 66/79] docs: namespaces: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 67/79] docs: nfc: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 68/79] docs: md: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 69/79] docs: mtd: " Mauro Carvalho Chehab
2019-04-22 13:27   ` [PATCH v2 70/79] docs: nvdimm: " Mauro Carvalho Chehab
2019-04-22 13:28   ` [PATCH v2 71/79] docs: xtensa: " Mauro Carvalho Chehab
2019-04-22 13:28   ` [PATCH v2 72/79] docs: mmc: " Mauro Carvalho Chehab
2019-04-22 13:28   ` [PATCH v2 73/79] docs: sparc: " Mauro Carvalho Chehab
2019-04-22 13:28   ` [PATCH v2 74/79] docs: thermal: " Mauro Carvalho Chehab
2019-04-22 13:28   ` [PATCH v2 75/79] docs: rapidio: " Mauro Carvalho Chehab
2019-04-22 13:28   ` [PATCH v2 76/79] docs: blockdev: " Mauro Carvalho Chehab
2019-04-22 13:28   ` [PATCH v2 77/79] docs: perf: " Mauro Carvalho Chehab
2019-04-22 13:28   ` [PATCH v2 78/79] docs: sysctl: " Mauro Carvalho Chehab
2019-04-22 13:28   ` [PATCH v2 79/79] docs: block: " Mauro Carvalho Chehab
2019-04-22 14:51   ` [PATCH v2 00/79] Convert files " Mauro Carvalho Chehab
     [not found]   ` <cda57849a6462ccc72dcd360b30068ab6a1021c4.1555938376.git.mchehab+samsung@kernel.org>
     [not found]     ` <20190423083135.GA11158@hirez.programming.kicks-ass.net>
     [not found]       ` <20190423125519.GA7104@redhat.com>
     [not found]         ` <20190423130132.GT4038@hirez.programming.kicks-ass.net>
2019-04-23 14:52           ` [PATCH v2 56/79] docs: Documentation/*.txt: rename all ReST files to *.rst David Howells
2019-04-23 16:54             ` Jonathan Corbet
2019-04-23 17:12               ` Peter Zijlstra
2019-04-23 20:26               ` Mauro Carvalho Chehab
2019-04-24 11:51                 ` Mike Rapoport
2019-04-24 12:57                   ` Mauro Carvalho Chehab
2019-04-23 19:37             ` Mauro Carvalho Chehab

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=20190422152515.403d0858@archlinux \
    --to=jic23@kernel.org \
    --cc=corbet@lwn.net \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mchehab+samsung@kernel.org \
    --cc=mchehab@infradead.org \
    --cc=pmeerw@pmeerw.net \
    /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).