DPDK patches and discussions
 help / color / mirror / Atom feed
From: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
To: Ferruh Yigit <ferruh.yigit@intel.com>,
	Thomas Monjalon <thomas@monjalon.net>, Ori Kam <orika@nvidia.com>
Cc: dev@dpdk.org
Subject: [dpdk-dev] [PATCH v3 06/10] ethdev: fix ID spelling in comments and log messages
Date: Wed, 20 Oct 2021 15:47:24 +0300	[thread overview]
Message-ID: <20211020124727.2829268-7-andrew.rybchenko@oktetlabs.ru> (raw)
In-Reply-To: <20211020124727.2829268-1-andrew.rybchenko@oktetlabs.ru>

Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
---
 lib/ethdev/ethdev_driver.h  |  2 +-
 lib/ethdev/ethdev_private.h |  2 +-
 lib/ethdev/rte_class_eth.c  |  2 +-
 lib/ethdev/rte_ethdev.c     | 14 ++++-----
 lib/ethdev/rte_ethdev.h     | 62 ++++++++++++++++++-------------------
 lib/ethdev/rte_flow.h       |  4 +--
 6 files changed, 43 insertions(+), 43 deletions(-)

diff --git a/lib/ethdev/ethdev_driver.h b/lib/ethdev/ethdev_driver.h
index 94878f94fc..6b01ea829d 100644
--- a/lib/ethdev/ethdev_driver.h
+++ b/lib/ethdev/ethdev_driver.h
@@ -1420,7 +1420,7 @@ rte_eth_linkstatus_get(const struct rte_eth_dev *dev,
  *
  * A pool of switch domain identifiers which can be allocated on request. This
  * will enabled devices which support the concept of switch domains to request
- * a switch domain id which is guaranteed to be unique from other devices
+ * a switch domain ID which is guaranteed to be unique from other devices
  * running in the same process.
  *
  * @param domain_id
diff --git a/lib/ethdev/ethdev_private.h b/lib/ethdev/ethdev_private.h
index 5721be7bdc..cc91025e8d 100644
--- a/lib/ethdev/ethdev_private.h
+++ b/lib/ethdev/ethdev_private.h
@@ -10,7 +10,7 @@
 #include "rte_ethdev.h"
 
 /*
- * Convert rte_eth_dev pointer to port id.
+ * Convert rte_eth_dev pointer to port ID.
  * NULL will be translated to RTE_MAX_ETHPORTS.
  */
 uint16_t eth_dev_to_id(const struct rte_eth_dev *dev);
diff --git a/lib/ethdev/rte_class_eth.c b/lib/ethdev/rte_class_eth.c
index eda216ced5..c8e8fc9244 100644
--- a/lib/ethdev/rte_class_eth.c
+++ b/lib/ethdev/rte_class_eth.c
@@ -90,7 +90,7 @@ eth_representor_cmp(const char *key __rte_unused,
 	np = eth_da.nb_ports > 0 ? eth_da.nb_ports : 1;
 	nf = eth_da.nb_representor_ports > 0 ? eth_da.nb_representor_ports : 1;
 
-	/* Return 0 if representor id is matching one of the values. */
+	/* Return 0 if representor ID is matching one of the values. */
 	for (i = 0; i < nc * np * nf; ++i) {
 		c = i / (np * nf);
 		p = (i / nf) % np;
diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
index 9d1793e216..02c2034000 100644
--- a/lib/ethdev/rte_ethdev.c
+++ b/lib/ethdev/rte_ethdev.c
@@ -538,7 +538,7 @@ rte_eth_dev_allocate(const char *name)
 
 /*
  * Attach to a port already registered by the primary process, which
- * makes sure that the same device would have the same port id both
+ * makes sure that the same device would have the same port ID both
  * in the primary and secondary process.
  */
 struct rte_eth_dev *
@@ -668,7 +668,7 @@ eth_dev_owner_set(const uint16_t port_id, const uint64_t old_owner_id,
 	struct rte_eth_dev_owner *port_owner;
 
 	if (port_id >= RTE_MAX_ETHPORTS || !eth_dev_is_allocated(ethdev)) {
-		RTE_ETHDEV_LOG(ERR, "Port id %"PRIu16" is not allocated\n",
+		RTE_ETHDEV_LOG(ERR, "Port ID %"PRIu16" is not allocated\n",
 			port_id);
 		return -ENODEV;
 	}
@@ -760,7 +760,7 @@ rte_eth_dev_owner_delete(const uint64_t owner_id)
 			owner_id);
 	} else {
 		RTE_ETHDEV_LOG(ERR,
-			       "Invalid owner id=%016"PRIx64"\n",
+			       "Invalid owner ID=%016"PRIx64"\n",
 			       owner_id);
 		ret = -EINVAL;
 	}
@@ -779,7 +779,7 @@ rte_eth_dev_owner_get(const uint16_t port_id, struct rte_eth_dev_owner *owner)
 	ethdev = &rte_eth_devices[port_id];
 
 	if (!eth_dev_is_allocated(ethdev)) {
-		RTE_ETHDEV_LOG(ERR, "Port id %"PRIu16" is not allocated\n",
+		RTE_ETHDEV_LOG(ERR, "Port ID %"PRIu16" is not allocated\n",
 			port_id);
 		return -ENODEV;
 	}
@@ -4327,7 +4327,7 @@ rte_eth_dev_mac_addr_add(uint16_t port_id, struct rte_ether_addr *addr,
 		return -EINVAL;
 	}
 	if (pool >= ETH_64_POOLS) {
-		RTE_ETHDEV_LOG(ERR, "Pool id must be 0-%d\n", ETH_64_POOLS - 1);
+		RTE_ETHDEV_LOG(ERR, "Pool ID must be 0-%d\n", ETH_64_POOLS - 1);
 		return -EINVAL;
 	}
 
@@ -4552,7 +4552,7 @@ int rte_eth_set_queue_rate_limit(uint16_t port_id, uint16_t queue_idx,
 
 	if (queue_idx > dev_info.max_tx_queues) {
 		RTE_ETHDEV_LOG(ERR,
-			"Set queue rate limit:port %u: invalid queue id=%u\n",
+			"Set queue rate limit:port %u: invalid queue ID=%u\n",
 			port_id, queue_idx);
 		return -EINVAL;
 	}
@@ -6409,7 +6409,7 @@ rte_eth_rx_metadata_negotiate(uint16_t port_id, uint64_t *features)
 
 	if (dev->data->dev_configured != 0) {
 		RTE_ETHDEV_LOG(ERR,
-			"The port (id=%"PRIu16") is already configured\n",
+			"The port (ID=%"PRIu16") is already configured\n",
 			port_id);
 		return -EBUSY;
 	}
diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index 2c35caf000..f7be628f7d 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -197,7 +197,7 @@ int rte_eth_iterator_init(struct rte_dev_iterator *iter, const char *devargs);
  * Iterates on devices with devargs filter.
  * The ownership is not checked.
  *
- * The next port id is returned, and the iterator is updated.
+ * The next port ID is returned, and the iterator is updated.
  *
  * @param iter
  *   Device iterator handle initialized by rte_eth_iterator_init().
@@ -205,7 +205,7 @@ int rte_eth_iterator_init(struct rte_dev_iterator *iter, const char *devargs);
  *   by calling rte_eth_iterator_cleanup().
  *
  * @return
- *   A port id if found, RTE_MAX_ETHPORTS otherwise.
+ *   A port ID if found, RTE_MAX_ETHPORTS otherwise.
  */
 uint16_t rte_eth_iterator_next(struct rte_dev_iterator *iter);
 
@@ -230,7 +230,7 @@ void rte_eth_iterator_cleanup(struct rte_dev_iterator *iter);
  * the function rte_eth_iterator_cleanup() must be called.
  *
  * @param id
- *   Iterated port id of type uint16_t.
+ *   Iterated port ID of type uint16_t.
  * @param devargs
  *   Device parameters input as string of type char*.
  * @param iter
@@ -935,7 +935,7 @@ struct rte_eth_vmdq_dcb_conf {
  * Passing the ETH_VMDQ_ACCEPT_UNTAG in the rx_mode field allows pool
  * selection using only the MAC address. MAC address to pool mapping is done
  * using the rte_eth_dev_mac_addr_add function, with the pool parameter
- * corresponding to the pool id.
+ * corresponding to the pool ID.
  *
  * Queue selection within the selected pool will be done using RSS when
  * it is enabled or revert to the first queue of the pool if not.
@@ -1471,7 +1471,7 @@ struct rte_eth_dev_portconf {
 };
 
 /**
- * Default values for switch domain id when ethdev does not support switch
+ * Default values for switch domain ID when ethdev does not support switch
  * domain definitions.
  */
 #define RTE_ETH_DEV_SWITCH_DOMAIN_ID_INVALID	(UINT16_MAX)
@@ -1481,7 +1481,7 @@ struct rte_eth_dev_portconf {
  */
 struct rte_eth_switch_info {
 	const char *name;	/**< switch name */
-	uint16_t domain_id;	/**< switch domain id */
+	uint16_t domain_id;	/**< switch domain ID */
 	/**
 	 * Mapping to the devices physical switch port as enumerated from the
 	 * perspective of the embedded interconnect/switch. For SR-IOV enabled
@@ -1644,7 +1644,7 @@ struct rte_eth_burst_mode {
  * This structure is used by rte_eth_xstats_get() to provide
  * statistics that are not provided in the generic *rte_eth_stats*
  * structure.
- * It maps a name id, corresponding to an index in the array returned
+ * It maps a name ID, corresponding to an index in the array returned
  * by rte_eth_xstats_get_names(), to a statistic value.
  */
 struct rte_eth_xstat {
@@ -1860,12 +1860,12 @@ struct rte_eth_dev_owner {
  * Iterates over valid ethdev ports owned by a specific owner.
  *
  * @param port_id
- *   The id of the next possible valid owned port.
+ *   The ID of the next possible valid owned port.
  * @param	owner_id
  *  The owner identifier.
  *  RTE_ETH_DEV_NO_OWNER means iterate over all valid ownerless ports.
  * @return
- *   Next valid port id owned by owner_id, RTE_MAX_ETHPORTS if there is none.
+ *   Next valid port ID owned by owner_id, RTE_MAX_ETHPORTS if there is none.
  */
 uint64_t rte_eth_find_next_owned_by(uint16_t port_id,
 		const uint64_t owner_id);
@@ -1882,9 +1882,9 @@ uint64_t rte_eth_find_next_owned_by(uint16_t port_id,
  * Iterates over valid ethdev ports.
  *
  * @param port_id
- *   The id of the next possible valid port.
+ *   The ID of the next possible valid port.
  * @return
- *   Next valid port id, RTE_MAX_ETHPORTS if there is none.
+ *   Next valid port ID, RTE_MAX_ETHPORTS if there is none.
  */
 uint16_t rte_eth_find_next(uint16_t port_id);
 
@@ -1898,11 +1898,11 @@ uint16_t rte_eth_find_next(uint16_t port_id);
  * Iterates over ethdev ports of a specified device.
  *
  * @param port_id_start
- *   The id of the next possible valid port.
+ *   The ID of the next possible valid port.
  * @param parent
  *   The generic device behind the ports to iterate.
  * @return
- *   Next port id of the device, possibly port_id_start,
+ *   Next port ID of the device, possibly port_id_start,
  *   RTE_MAX_ETHPORTS if there is none.
  */
 uint16_t
@@ -1913,7 +1913,7 @@ rte_eth_find_next_of(uint16_t port_id_start,
  * Macro to iterate over all ethdev ports of a specified device.
  *
  * @param port_id
- *   The id of the matching port being iterated.
+ *   The ID of the matching port being iterated.
  * @param parent
  *   The rte_device pointer matching the iterated ports.
  */
@@ -1926,11 +1926,11 @@ rte_eth_find_next_of(uint16_t port_id_start,
  * Iterates over sibling ethdev ports (i.e. sharing the same rte_device).
  *
  * @param port_id_start
- *   The id of the next possible valid sibling port.
+ *   The ID of the next possible valid sibling port.
  * @param ref_port_id
- *   The id of a reference port to compare rte_device with.
+ *   The ID of a reference port to compare rte_device with.
  * @return
- *   Next sibling port id, possibly port_id_start or ref_port_id itself,
+ *   Next sibling port ID, possibly port_id_start or ref_port_id itself,
  *   RTE_MAX_ETHPORTS if there is none.
  */
 uint16_t
@@ -1942,9 +1942,9 @@ rte_eth_find_next_sibling(uint16_t port_id_start, uint16_t ref_port_id);
  * Note: the specified reference port is part of the loop iterations.
  *
  * @param port_id
- *   The id of the matching port being iterated.
+ *   The ID of the matching port being iterated.
  * @param ref_port_id
- *   The id of the port being compared.
+ *   The ID of the port being compared.
  */
 #define RTE_ETH_FOREACH_DEV_SIBLING(port_id, ref_port_id) \
 	for (port_id = rte_eth_find_next_sibling(0, ref_port_id); \
@@ -2413,7 +2413,7 @@ int rte_eth_hairpin_unbind(uint16_t tx_port, uint16_t rx_port);
  * @param port_id
  *   The port identifier of the Ethernet device
  * @return
- *   The NUMA socket id to which the Ethernet device is connected or
+ *   The NUMA socket ID to which the Ethernet device is connected or
  *   a default of zero if the socket could not be determined.
  *   -1 is returned is the port_id value is out of range.
  */
@@ -2575,7 +2575,7 @@ int rte_eth_dev_set_link_down(uint16_t port_id);
 int rte_eth_dev_close(uint16_t port_id);
 
 /**
- * Reset a Ethernet device and keep its port id.
+ * Reset a Ethernet device and keep its port ID.
  *
  * When a port has to be reset passively, the DPDK application can invoke
  * this function. For example when a PF is reset, all its VFs should also
@@ -2586,7 +2586,7 @@ int rte_eth_dev_close(uint16_t port_id);
  * When this function is called, it first stops the port and then calls the
  * PMD specific dev_uninit( ) and dev_init( ) to return the port to initial
  * state, in which no Tx and Rx queues are setup, as if the port has been
- * reset and not started. The port keeps the port id it had before the
+ * reset and not started. The port keeps the port ID it had before the
  * function call.
  *
  * After calling rte_eth_dev_reset( ), the application should use
@@ -2821,7 +2821,7 @@ int rte_eth_stats_reset(uint16_t port_id);
  *     is too small. The return value corresponds to the size that should
  *     be given to succeed. The entries in the table are not valid and
  *     shall not be used by the caller.
- *   - A negative value on error (invalid port id).
+ *   - A negative value on error (invalid port ID).
  */
 int rte_eth_xstats_get_names(uint16_t port_id,
 		struct rte_eth_xstat_name *xstats_names,
@@ -2854,7 +2854,7 @@ int rte_eth_xstats_get_names(uint16_t port_id,
  *     is too small. The return value corresponds to the size that should
  *     be given to succeed. The entries in the table are not valid and
  *     shall not be used by the caller.
- *   - A negative value on error (invalid port id).
+ *   - A negative value on error (invalid port ID).
  */
 int rte_eth_xstats_get(uint16_t port_id, struct rte_eth_xstat *xstats,
 		unsigned int n);
@@ -3554,7 +3554,7 @@ typedef int (*rte_eth_dev_cb_fn)(uint16_t port_id,
  * Register a callback function for port event.
  *
  * @param port_id
- *  Port id.
+ *  Port ID.
  *  RTE_ETH_ALL means register the event for all port ids.
  * @param event
  *  Event interested.
@@ -3575,7 +3575,7 @@ int rte_eth_dev_callback_register(uint16_t port_id,
  * Unregister a callback function for port event.
  *
  * @param port_id
- *  Port id.
+ *  Port ID.
  *  RTE_ETH_ALL means unregister the event for all port ids.
  * @param event
  *  Event interested.
@@ -4007,7 +4007,7 @@ int rte_eth_dev_uc_all_hash_table_set(uint16_t port_id, uint8_t on);
  * @param port_id
  *   The port identifier of the Ethernet device.
  * @param queue_idx
- *   The queue id.
+ *   The queue ID.
  * @param tx_rate
  *   The Tx rate in Mbps. Allocated from the total port link speed.
  * @return
@@ -4709,7 +4709,7 @@ int
 rte_eth_read_clock(uint16_t port_id, uint64_t *clock);
 
 /**
-* Get the port id from device name. The device name should be specified
+* Get the port ID from device name. The device name should be specified
 * as below:
 * - PCIe address (Domain:Bus:Device.Function), for example- 0000:2:00.0
 * - SoC device name, for example- fsl-gmac0
@@ -4727,7 +4727,7 @@ int
 rte_eth_dev_get_port_by_name(const char *name, uint16_t *port_id);
 
 /**
-* Get the device name from port id. The device name is specified as below:
+* Get the device name from port ID. The device name is specified as below:
 * - PCIe address (Domain:Bus:Device.Function), for example- 0000:02:00.0
 * - SoC device name, for example- fsl-gmac0
 * - vdev dpdk name, for example- net_[pcap0|null0|tun0|tap0]
@@ -5105,7 +5105,7 @@ rte_eth_rx_burst(uint16_t port_id, uint16_t queue_id,
  * @param port_id
  *  The port identifier of the Ethernet device.
  * @param queue_id
- *  The queue id on the specific port.
+ *  The queue ID on the specific port.
  * @return
  *  The number of used descriptors in the specific queue, or:
  *   - (-ENODEV) if *port_id* is invalid.
@@ -5455,7 +5455,7 @@ rte_eth_tx_burst(uint16_t port_id, uint16_t queue_id,
  *
  * @param port_id
  *   The port identifier of the Ethernet device.
- *   The value must be a valid port id.
+ *   The value must be a valid port ID.
  * @param queue_id
  *   The index of the transmit queue through which output packets must be
  *   sent.
diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
index e3c2277582..9546453762 100644
--- a/lib/ethdev/rte_flow.h
+++ b/lib/ethdev/rte_flow.h
@@ -2624,12 +2624,12 @@ struct rte_flow_query_age {
  * Adds a counter action to a matched flow.
  *
  * If more than one count action is specified in a single flow rule, then each
- * action must specify a unique id.
+ * action must specify a unique ID.
  *
  * Counters can be retrieved and reset through ``rte_flow_query()``, see
  * ``struct rte_flow_query_count``.
  *
- * For ports within the same switch domain then the counter id namespace extends
+ * For ports within the same switch domain then the counter ID namespace extends
  * to all ports within that switch domain.
  */
 struct rte_flow_action_count {
-- 
2.30.2


  parent reply	other threads:[~2021-10-20 12:48 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-14  8:36 [dpdk-dev] [PATCH 0/5] ethdev: cosmetic fixes for just moved structures Andrew Rybchenko
2021-10-14  8:37 ` [dpdk-dev] [PATCH 1/5] ethdev: avoid documentation in next lines Andrew Rybchenko
2021-10-14  8:37 ` [dpdk-dev] [PATCH 2/5] ethdev: fix Rx/Tx spelling in just moved structures Andrew Rybchenko
2021-10-14  8:37 ` [dpdk-dev] [PATCH 3/5] ethdev: remove reserved fields from internal structures Andrew Rybchenko
2021-10-14  8:37 ` [dpdk-dev] [PATCH 4/5] ethdev: make device and data structures readable Andrew Rybchenko
2021-10-14  8:37 ` [dpdk-dev] [PATCH 5/5] ethdev: remove full stop after short comments and references Andrew Rybchenko
2021-10-19 11:55 ` [dpdk-dev] [PATCH 0/5] ethdev: cosmetic fixes for just moved structures Ferruh Yigit
2021-10-19 18:07   ` Andrew Rybchenko
2021-10-19 22:05     ` Ferruh Yigit
2021-10-19 22:20       ` Thomas Monjalon
2021-10-20  7:43         ` Andrew Rybchenko
2021-10-20  7:42 ` [dpdk-dev] [PATCH v2 0/9] ethdev: cosmetic fixes Andrew Rybchenko
2021-10-20  7:42   ` [dpdk-dev] [PATCH v2 1/9] ethdev: avoid documentation in next lines Andrew Rybchenko
2021-10-20  8:39     ` Ori Kam
2021-10-20  7:42   ` [dpdk-dev] [PATCH v2 2/9] ethdev: fix Rx/Tx spelling Andrew Rybchenko
2021-10-20  7:42   ` [dpdk-dev] [PATCH v2 3/9] ethdev: fix Ethernet spelling Andrew Rybchenko
2021-10-20  7:42   ` [dpdk-dev] [PATCH v2 4/9] ethdev: fix DCB and VMDq spelling Andrew Rybchenko
2021-10-20  7:42   ` [dpdk-dev] [PATCH v2 5/9] ethdev: fix VLAN spelling including VLAN ID case Andrew Rybchenko
2021-10-20  8:40     ` Ori Kam
2021-10-20  7:42   ` [dpdk-dev] [PATCH v2 6/9] ethdev: fix ID spelling in comments and log messages Andrew Rybchenko
2021-10-20  7:42   ` [dpdk-dev] [PATCH v2 7/9] ethdev: remove reserved fields from internal structures Andrew Rybchenko
2021-10-20  7:42   ` [dpdk-dev] [PATCH v2 8/9] ethdev: make device and data structures readable Andrew Rybchenko
2021-10-20  7:42   ` [dpdk-dev] [PATCH v2 9/9] ethdev: remove full stop after short comments and references Andrew Rybchenko
2021-10-20  9:31   ` [dpdk-dev] [PATCH v2 0/9] ethdev: cosmetic fixes Ferruh Yigit
2021-10-20 11:55     ` Andrew Rybchenko
2021-10-20 12:47 ` [dpdk-dev] [PATCH v3 00/10] " Andrew Rybchenko
2021-10-20 12:47   ` [dpdk-dev] [PATCH v3 01/10] ethdev: avoid documentation in next lines Andrew Rybchenko
2021-10-20 13:51     ` Ori Kam
2021-10-20 12:47   ` [dpdk-dev] [PATCH v3 02/10] ethdev: fix Rx/Tx spelling Andrew Rybchenko
2021-10-20 12:47   ` [dpdk-dev] [PATCH v3 03/10] ethdev: fix Ethernet spelling Andrew Rybchenko
2021-10-20 12:47   ` [dpdk-dev] [PATCH v3 04/10] ethdev: fix DCB and VMDq spelling Andrew Rybchenko
2021-10-20 12:47   ` [dpdk-dev] [PATCH v3 05/10] ethdev: fix VLAN spelling including VLAN ID case Andrew Rybchenko
2021-10-20 13:49     ` Ori Kam
2021-10-20 12:47   ` Andrew Rybchenko [this message]
2021-10-20 13:49     ` [dpdk-dev] [PATCH v3 06/10] ethdev: fix ID spelling in comments and log messages Ori Kam
2021-10-20 12:47   ` [dpdk-dev] [PATCH v3 07/10] ethdev: fix EEPROM spelling Andrew Rybchenko
2021-10-20 12:47   ` [dpdk-dev] [PATCH v3 08/10] ethdev: remove reserved fields from internal structures Andrew Rybchenko
2021-10-20 12:47   ` [dpdk-dev] [PATCH v3 09/10] ethdev: make device and data structures readable Andrew Rybchenko
2021-10-20 12:52   ` [dpdk-dev] [PATCH v3 10/10] ethdev: remove full stop after short comments and Andrew Rybchenko
2021-10-20 20:32   ` [dpdk-dev] [PATCH v3 00/10] ethdev: cosmetic fixes Ferruh Yigit

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=20211020124727.2829268-7-andrew.rybchenko@oktetlabs.ru \
    --to=andrew.rybchenko@oktetlabs.ru \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=orika@nvidia.com \
    --cc=thomas@monjalon.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).