linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Changbin Du <changbin.du@gmail.com>
To: Jonathan Corbet <corbet@lwn.net>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
	rjw@rjwysocki.net, linux-pci@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	tglx@linutronix.de, mingo@redhat.com, x86@kernel.org,
	fenghua.yu@intel.com, linuxppc-dev@lists.ozlabs.org,
	linux-acpi@vger.kernel.org, linux-gpio@vger.kernel.org,
	mchehab+samsung@kernel.org, Changbin Du <changbin.du@gmail.com>
Subject: [PATCH v4 27/63] Documentation: PCI: convert PCIEBUS-HOWTO.txt to reST
Date: Wed, 24 Apr 2019 00:28:56 +0800	[thread overview]
Message-ID: <20190423162932.21428-28-changbin.du@gmail.com> (raw)
In-Reply-To: <20190423162932.21428-1-changbin.du@gmail.com>

This converts the plain text documentation to reStructuredText format and
add it to Sphinx TOC tree. No essential content change.

Signed-off-by: Changbin Du <changbin.du@gmail.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
---
 .../{PCIEBUS-HOWTO.txt => PCIEBUS-HOWTO.rst}  | 140 ++++++++++--------
 Documentation/PCI/index.rst                   |   1 +
 2 files changed, 82 insertions(+), 59 deletions(-)
 rename Documentation/PCI/{PCIEBUS-HOWTO.txt => PCIEBUS-HOWTO.rst} (70%)

diff --git a/Documentation/PCI/PCIEBUS-HOWTO.txt b/Documentation/PCI/PCIEBUS-HOWTO.rst
similarity index 70%
rename from Documentation/PCI/PCIEBUS-HOWTO.txt
rename to Documentation/PCI/PCIEBUS-HOWTO.rst
index 15f0bb3b5045..f882ff62c51f 100644
--- a/Documentation/PCI/PCIEBUS-HOWTO.txt
+++ b/Documentation/PCI/PCIEBUS-HOWTO.rst
@@ -1,16 +1,23 @@
-		The PCI Express Port Bus Driver Guide HOWTO
-	Tom L Nguyen tom.l.nguyen@intel.com
-			11/03/2004
+.. SPDX-License-Identifier: GPL-2.0
+.. include:: <isonum.txt>
 
-1. About this guide
+===========================================
+The PCI Express Port Bus Driver Guide HOWTO
+===========================================
+
+:Author: Tom L Nguyen tom.l.nguyen@intel.com 11/03/2004
+:Copyright: |copy| 2004 Intel Corporation
+
+About this guide
+================
 
 This guide describes the basics of the PCI Express Port Bus driver
 and provides information on how to enable the service drivers to
 register/unregister with the PCI Express Port Bus Driver.
 
-2. Copyright 2004 Intel Corporation
 
-3. What is the PCI Express Port Bus Driver
+What is the PCI Express Port Bus Driver
+=======================================
 
 A PCI Express Port is a logical PCI-PCI Bridge structure. There
 are two types of PCI Express Port: the Root Port and the Switch
@@ -30,7 +37,8 @@ support (AER), and virtual channel support (VC). These services may
 be handled by a single complex driver or be individually distributed
 and handled by corresponding service drivers.
 
-4. Why use the PCI Express Port Bus Driver?
+Why use the PCI Express Port Bus Driver?
+========================================
 
 In existing Linux kernels, the Linux Device Driver Model allows a
 physical device to be handled by only a single driver. The PCI
@@ -51,28 +59,31 @@ PCI Express Ports and distributes all provided service requests
 to the corresponding service drivers as required. Some key
 advantages of using the PCI Express Port Bus driver are listed below:
 
-	- Allow multiple service drivers to run simultaneously on
-	  a PCI-PCI Bridge Port device.
+  - Allow multiple service drivers to run simultaneously on
+    a PCI-PCI Bridge Port device.
 
-	- Allow service drivers implemented in an independent
-	  staged approach.
+  - Allow service drivers implemented in an independent
+    staged approach.
 
-	- Allow one service driver to run on multiple PCI-PCI Bridge
-	  Port devices.
+  - Allow one service driver to run on multiple PCI-PCI Bridge
+    Port devices.
 
-	- Manage and distribute resources of a PCI-PCI Bridge Port
-	  device to requested service drivers.
+  - Manage and distribute resources of a PCI-PCI Bridge Port
+    device to requested service drivers.
 
-5. Configuring the PCI Express Port Bus Driver vs. Service Drivers
+Configuring the PCI Express Port Bus Driver vs. Service Drivers
+===============================================================
 
-5.1 Including the PCI Express Port Bus Driver Support into the Kernel
+Including the PCI Express Port Bus Driver Support into the Kernel
+-----------------------------------------------------------------
 
 Including the PCI Express Port Bus driver depends on whether the PCI
 Express support is included in the kernel config. The kernel will
 automatically include the PCI Express Port Bus driver as a kernel
 driver when the PCI Express support is enabled in the kernel.
 
-5.2 Enabling Service Driver Support
+Enabling Service Driver Support
+-------------------------------
 
 PCI device drivers are implemented based on Linux Device Driver Model.
 All service drivers are PCI device drivers. As discussed above, it is
@@ -89,9 +100,11 @@ header file /include/linux/pcieport_if.h, before calling these APIs.
 Failure to do so will result an identity mismatch, which prevents
 the PCI Express Port Bus driver from loading a service driver.
 
-5.2.1 pcie_port_service_register
+pcie_port_service_register
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+::
 
-int pcie_port_service_register(struct pcie_port_service_driver *new)
+  int pcie_port_service_register(struct pcie_port_service_driver *new)
 
 This API replaces the Linux Driver Model's pci_register_driver API. A
 service driver should always calls pcie_port_service_register at
@@ -99,69 +112,76 @@ module init. Note that after service driver being loaded, calls
 such as pci_enable_device(dev) and pci_set_master(dev) are no longer
 necessary since these calls are executed by the PCI Port Bus driver.
 
-5.2.2 pcie_port_service_unregister
+pcie_port_service_unregister
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+::
 
-void pcie_port_service_unregister(struct pcie_port_service_driver *new)
+  void pcie_port_service_unregister(struct pcie_port_service_driver *new)
 
 pcie_port_service_unregister replaces the Linux Driver Model's
 pci_unregister_driver. It's always called by service driver when a
 module exits.
 
-5.2.3 Sample Code
+Sample Code
+~~~~~~~~~~~
 
 Below is sample service driver code to initialize the port service
 driver data structure.
+::
 
-static struct pcie_port_service_id service_id[] = { {
-	.vendor = PCI_ANY_ID,
-	.device = PCI_ANY_ID,
-	.port_type = PCIE_RC_PORT,
-	.service_type = PCIE_PORT_SERVICE_AER,
-	}, { /* end: all zeroes */ }
-};
+  static struct pcie_port_service_id service_id[] = { {
+    .vendor = PCI_ANY_ID,
+    .device = PCI_ANY_ID,
+    .port_type = PCIE_RC_PORT,
+    .service_type = PCIE_PORT_SERVICE_AER,
+    }, { /* end: all zeroes */ }
+  };
 
-static struct pcie_port_service_driver root_aerdrv = {
-	.name		= (char *)device_name,
-	.id_table	= &service_id[0],
+  static struct pcie_port_service_driver root_aerdrv = {
+    .name		= (char *)device_name,
+    .id_table	= &service_id[0],
 
-	.probe		= aerdrv_load,
-	.remove		= aerdrv_unload,
+    .probe		= aerdrv_load,
+    .remove		= aerdrv_unload,
 
-	.suspend	= aerdrv_suspend,
-	.resume		= aerdrv_resume,
-};
+    .suspend	= aerdrv_suspend,
+    .resume		= aerdrv_resume,
+  };
 
 Below is a sample code for registering/unregistering a service
 driver.
+::
 
-static int __init aerdrv_service_init(void)
-{
-	int retval = 0;
+  static int __init aerdrv_service_init(void)
+  {
+    int retval = 0;
 
-	retval = pcie_port_service_register(&root_aerdrv);
-	if (!retval) {
-		/*
-		 * FIX ME
-		 */
-	}
-	return retval;
-}
+    retval = pcie_port_service_register(&root_aerdrv);
+    if (!retval) {
+      /*
+      * FIX ME
+      */
+    }
+    return retval;
+  }
 
-static void __exit aerdrv_service_exit(void)
-{
-	pcie_port_service_unregister(&root_aerdrv);
-}
+  static void __exit aerdrv_service_exit(void)
+  {
+    pcie_port_service_unregister(&root_aerdrv);
+  }
 
-module_init(aerdrv_service_init);
-module_exit(aerdrv_service_exit);
+  module_init(aerdrv_service_init);
+  module_exit(aerdrv_service_exit);
 
-6. Possible Resource Conflicts
+Possible Resource Conflicts
+===========================
 
 Since all service drivers of a PCI-PCI Bridge Port device are
 allowed to run simultaneously, below lists a few of possible resource
 conflicts with proposed solutions.
 
-6.1 MSI and MSI-X Vector Resource
+MSI and MSI-X Vector Resource
+-----------------------------
 
 Once MSI or MSI-X interrupts are enabled on a device, it stays in this
 mode until they are disabled again.  Since service drivers of the same
@@ -179,7 +199,8 @@ driver. Service drivers should use (struct pcie_device*)dev->irq to
 call request_irq/free_irq. In addition, the interrupt mode is stored
 in the field interrupt_mode of struct pcie_device.
 
-6.3 PCI Memory/IO Mapped Regions
+PCI Memory/IO Mapped Regions
+----------------------------
 
 Service drivers for PCI Express Power Management (PME), Advanced
 Error Reporting (AER), Hot-Plug (HP) and Virtual Channel (VC) access
@@ -188,7 +209,8 @@ registers accessed are independent of each other. This patch assumes
 that all service drivers will be well behaved and not overwrite
 other service driver's configuration settings.
 
-6.4 PCI Config Registers
+PCI Config Registers
+--------------------
 
 Each service driver runs its PCI config operations on its own
 capability structure except the PCI Express capability structure, in
diff --git a/Documentation/PCI/index.rst b/Documentation/PCI/index.rst
index 7babf43709b0..452723318405 100644
--- a/Documentation/PCI/index.rst
+++ b/Documentation/PCI/index.rst
@@ -9,3 +9,4 @@ Linux PCI Bus Subsystem
    :numbered:
 
    pci
+   PCIEBUS-HOWTO
-- 
2.20.1


  parent reply	other threads:[~2019-04-23 16:34 UTC|newest]

Thread overview: 123+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-23 16:28 [PATCH v4 00/63] Include linux ACPI/PCI/X86 docs into Sphinx TOC tree Changbin Du
2019-04-23 16:28 ` [PATCH v4 01/63] Documentation: add Linux ACPI to " Changbin Du
2019-04-23 20:39   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 02/63] Documentation: ACPI: move namespace.txt to firmware-guide/acpi and convert to reST Changbin Du
2019-04-23 20:38   ` Mauro Carvalho Chehab
2019-04-24 16:09     ` Changbin Du
2019-04-23 16:28 ` [PATCH v4 03/63] Documentation: ACPI: move enumeration.txt " Changbin Du
2019-04-23 20:42   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 04/63] Documentation: ACPI: move osi.txt " Changbin Du
2019-04-23 20:44   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 05/63] Documentation: ACPI: move linuxized-acpica.txt to driver-api/acpi " Changbin Du
2019-04-23 20:50   ` Mauro Carvalho Chehab
2019-04-24 16:15     ` Changbin Du
2019-04-23 16:28 ` [PATCH v4 06/63] Documentation: ACPI: move scan_handlers.txt " Changbin Du
2019-04-23 20:51   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 07/63] Documentation: ACPI: move DSD-properties-rules.txt to firmware-guide/acpi and covert " Changbin Du
2019-04-23 20:52   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 08/63] Documentation: ACPI: move gpio-properties.txt to firmware-guide/acpi and convert " Changbin Du
2019-04-23 20:55   ` Mauro Carvalho Chehab
2019-04-24 16:21     ` Changbin Du
2019-04-23 16:28 ` [PATCH v4 09/63] Documentation: ACPI: move method-customizing.txt " Changbin Du
2019-04-23 21:03   ` Mauro Carvalho Chehab
2019-04-24 16:28     ` Changbin Du
2019-04-24 17:53       ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 10/63] Documentation: ACPI: move initrd_table_override.txt to admin-guide/acpi " Changbin Du
2019-04-23 21:07   ` Mauro Carvalho Chehab
2019-04-24 16:33     ` Changbin Du
2019-04-23 16:28 ` [PATCH v4 11/63] Documentation: ACPI: move dsdt-override.txt " Changbin Du
2019-04-23 21:08   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 12/63] Documentation: ACPI: move i2c-muxes.txt to firmware-guide/acpi " Changbin Du
2019-04-23 21:09   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 13/63] Documentation: ACPI: move acpi-lid.txt " Changbin Du
2019-04-23 21:12   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 14/63] Documentation: ACPI: move dsd/graph.txt " Changbin Du
2019-04-23 21:14   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 15/63] Documentation: ACPI: move dsd/data-node-references.txt " Changbin Du
2019-04-23 21:17   ` Mauro Carvalho Chehab
2019-04-24 16:44     ` Changbin Du
2019-04-23 16:28 ` [PATCH v4 16/63] Documentation: ACPI: move debug.txt " Changbin Du
2019-04-23 21:21   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 17/63] Documentation: ACPI: move method-tracing.txt to firmware-guide/acpi and convert to rsST Changbin Du
2019-04-24 14:26   ` Mauro Carvalho Chehab
2019-04-24 16:55     ` Changbin Du
2019-04-23 16:28 ` [PATCH v4 18/63] Documentation: ACPI: move aml-debugger.txt to firmware-guide/acpi and convert to reST Changbin Du
2019-04-24 14:28   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 19/63] Documentation: ACPI: move apei/output_format.txt " Changbin Du
2019-04-24 14:29   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 20/63] Documentation: ACPI: move apei/einj.txt " Changbin Du
2019-04-24 14:33   ` Mauro Carvalho Chehab
2019-04-24 17:12     ` Changbin Du
2019-04-23 16:28 ` [PATCH v4 21/63] Documentation: ACPI: move cppc_sysfs.txt to admin-guide/acpi " Changbin Du
2019-04-24 14:48   ` Mauro Carvalho Chehab
2019-04-24 17:22     ` Changbin Du
2019-04-24 18:04       ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 22/63] Documentation: ACPI: move lpit.txt to firmware-guide/acpi " Changbin Du
2019-04-24 14:49   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 23/63] Documentation: ACPI: move ssdt-overlays.txt to admin-guide/acpi " Changbin Du
2019-04-24 14:51   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 24/63] Documentation: ACPI: move video_extension.txt to firmware-guide/acpi " Changbin Du
2019-04-24 14:56   ` Mauro Carvalho Chehab
2019-04-24 17:31     ` Changbin Du
2019-04-23 16:28 ` [PATCH v4 25/63] Documentation: add Linux PCI to Sphinx TOC tree Changbin Du
2019-04-24 15:03   ` Mauro Carvalho Chehab
2019-04-25 15:42     ` Changbin Du
2019-04-23 16:28 ` [PATCH v4 26/63] Documentation: PCI: convert pci.txt to reST Changbin Du
2019-04-24 15:20   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` Changbin Du [this message]
2019-04-24 15:23   ` [PATCH v4 27/63] Documentation: PCI: convert PCIEBUS-HOWTO.txt " Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 28/63] Documentation: PCI: convert pci-iov-howto.txt " Changbin Du
2019-04-24 15:25   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 29/63] Documentation: PCI: convert MSI-HOWTO.txt " Changbin Du
2019-04-24 15:29   ` Mauro Carvalho Chehab
2019-04-23 16:28 ` [PATCH v4 30/63] Documentation: PCI: convert acpi-info.txt " Changbin Du
2019-04-24 15:34   ` Mauro Carvalho Chehab
2019-04-23 16:29 ` [PATCH v4 31/63] Documentation: PCI: convert pci-error-recovery.txt " Changbin Du
2019-04-24 15:45   ` Mauro Carvalho Chehab
2019-04-23 16:29 ` [PATCH v4 32/63] Documentation: PCI: convert pcieaer-howto.txt " Changbin Du
2019-04-24 15:49   ` Mauro Carvalho Chehab
2019-04-23 16:29 ` [PATCH v4 33/63] Documentation: PCI: convert endpoint/pci-endpoint.txt " Changbin Du
2019-04-24 15:55   ` Mauro Carvalho Chehab
2019-04-23 16:29 ` [PATCH v4 34/63] Documentation: PCI: convert endpoint/pci-endpoint-cfs.txt " Changbin Du
2019-04-24 16:26   ` Mauro Carvalho Chehab
2019-04-23 16:29 ` [PATCH v4 35/63] Documentation: PCI: convert endpoint/pci-test-function.txt " Changbin Du
2019-04-24 16:58   ` Mauro Carvalho Chehab
2019-04-23 16:29 ` [PATCH v4 36/63] Documentation: PCI: convert endpoint/pci-test-howto.txt " Changbin Du
2019-04-24 17:00   ` Mauro Carvalho Chehab
2019-04-23 16:29 ` [PATCH v4 37/63] Documentation: add Linux x86 docs to Sphinx TOC tree Changbin Du
2019-04-24 17:04   ` Mauro Carvalho Chehab
2019-04-23 16:29 ` [PATCH v4 38/63] Documentation: x86: convert boot.txt to reST Changbin Du
2019-04-24 17:36   ` Mauro Carvalho Chehab
2019-04-23 16:29 ` [PATCH v4 39/63] Documentation: x86: convert topology.txt " Changbin Du
2019-04-24 17:44   ` Mauro Carvalho Chehab
2019-04-26 14:23     ` Changbin Du
2019-04-23 16:29 ` [PATCH v4 40/63] Documentation: x86: convert exception-tables.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 41/63] Documentation: x86: convert kernel-stacks " Changbin Du
2019-04-23 16:29 ` [PATCH v4 42/63] Documentation: x86: convert entry_64.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 43/63] Documentation: x86: convert earlyprintk.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 44/63] Documentation: x86: convert zero-page.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 45/63] Documentation: x86: convert tlb.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 46/63] Documentation: x86: convert mtrr.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 47/63] Documentation: x86: convert pat.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 48/63] Documentation: x86: convert protection-keys.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 49/63] Documentation: x86: convert intel_mpx.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 50/63] Documentation: x86: convert amd-memory-encryption.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 51/63] Documentation: x86: convert pti.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 52/63] Documentation: x86: convert microcode.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 53/63] Documentation: x86: convert resctrl_ui.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 54/63] Documentation: x86: convert orc-unwinder.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 55/63] Documentation: x86: convert usb-legacy-support.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 56/63] Documentation: x86: convert i386/IO-APIC.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 57/63] Documentation: x86: convert x86_64/boot-options.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 58/63] Documentation: x86: convert x86_64/uefi.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 59/63] Documentation: x86: convert x86_64/mm.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 60/63] Documentation: x86: convert x86_64/5level-paging.txt " Changbin Du
2019-04-23 16:29 ` [PATCH v4 61/63] Documentation: x86: convert x86_64/fake-numa-for-cpusets " Changbin Du
2019-04-23 16:29 ` [PATCH v4 62/63] Documentation: x86: convert x86_64/cpu-hotplug-spec " Changbin Du
2019-04-23 16:29 ` [PATCH v4 63/63] Documentation: x86: convert x86_64/machinecheck " Changbin Du
2019-04-23 16:39 ` [PATCH v4 00/63] Include linux ACPI/PCI/X86 docs into Sphinx TOC tree Rafael J. Wysocki
2019-04-23 17:36   ` Bjorn Helgaas
2019-04-24 15:46     ` Changbin Du
2019-04-24 17:48       ` Mauro Carvalho Chehab
2019-04-24 16:18 ` Jonathan Corbet
2019-04-24 16:52   ` 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=20190423162932.21428-28-changbin.du@gmail.com \
    --to=changbin.du@gmail.com \
    --cc=bhelgaas@google.com \
    --cc=corbet@lwn.net \
    --cc=fenghua.yu@intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mchehab+samsung@kernel.org \
    --cc=mingo@redhat.com \
    --cc=rjw@rjwysocki.net \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /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).