All of lore.kernel.org
 help / color / mirror / Atom feed
From: sebastian.hesselbarth@gmail.com (Sebastian Hesselbarth)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 01/26] ARM: nomadik: move mtu setup to clocksource init
Date: Fri, 20 Sep 2013 23:13:03 +0200	[thread overview]
Message-ID: <523CBA5F.60901@gmail.com> (raw)
In-Reply-To: <1379526839-14798-2-git-send-email-sebastian.hesselbarth@gmail.com>

On 09/18/2013 07:53 PM, Sebastian Hesselbarth wrote:
> MTU timer initialization is stuffed into .init_time callback, while
> cpu8815_timer_init_of again maps addresses from the same device node.
> Therefore, this patch moves mtu setup from to clocksource init.
>
> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
> ---
> Cc: Olof Johansson <olof@lixom.net>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Alessandro Rubini <rubini@unipv.it>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: STEricsson <STEricsson_nomadik_linux@list.st.com>
> Cc: Russell King <linux@arm.linux.org.uk>
> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-kernel at vger.kernel.org
> ---
>   arch/arm/mach-nomadik/cpu-8815.c  |   26 --------------------------
>   drivers/clocksource/nomadik-mtu.c |   11 +++++++++++
>   2 files changed, 11 insertions(+), 26 deletions(-)
>
> diff --git a/arch/arm/mach-nomadik/cpu-8815.c b/arch/arm/mach-nomadik/cpu-8815.c
> index 13e0df9..0fcb149 100644
> --- a/arch/arm/mach-nomadik/cpu-8815.c
> +++ b/arch/arm/mach-nomadik/cpu-8815.c
> @@ -113,36 +113,10 @@ static void cpu8815_restart(enum reboot_mode mode, const char *cmd)
>   	writel(1, srcbase + 0x18);
>   }
>
> -/* Initial value for SRC control register: all timers use MXTAL/8 source */
> -#define SRC_CR_INIT_MASK	0x00007fff
> -#define SRC_CR_INIT_VAL		0x2aaa8000
> -
>   static void __init cpu8815_timer_init_of(void)
>   {
> -	struct device_node *mtu;
> -	void __iomem *base;
> -	int irq;
> -	u32 src_cr;
> -
>   	/* We need this to be up now */
>   	nomadik_clk_init();
> -
> -	mtu = of_find_node_by_path("/mtu at 101e2000");
> -	if (!mtu)
> -		return;
> -	base = of_iomap(mtu, 0);
> -	if (WARN_ON(!base))
> -		return;
> -	irq = irq_of_parse_and_map(mtu, 0);
> -
> -	pr_info("Remapped MTU @ %p, irq: %d\n", base, irq);
> -
> -	/* Configure timer sources in "system reset controller" ctrl reg */
> -	src_cr = readl(base);
> -	src_cr &= SRC_CR_INIT_MASK;
> -	src_cr |= SRC_CR_INIT_VAL;
> -	writel(src_cr, base);
> -
>   	clocksource_of_init();
>   }

Linus,

looking at the fix you posted at [1], can I assume that the above it
redundant and can be removed?

[1] http://marc.info/?l=linux-arm-kernel&m=137910161418706&w=2

> diff --git a/drivers/clocksource/nomadik-mtu.c b/drivers/clocksource/nomadik-mtu.c
> index 1b74bea..b9f97ba 100644
> --- a/drivers/clocksource/nomadik-mtu.c
> +++ b/drivers/clocksource/nomadik-mtu.c
> @@ -257,12 +257,17 @@ void __init nmdk_timer_init(void __iomem *base, int irq)
>   	__nmdk_timer_init(base, irq, pclk0, clk0);
>   }
>
> +/* Initial value for SRC control register: all timers use MXTAL/8 source */
> +#define SRC_CR_INIT_MASK	0x00007fff
> +#define SRC_CR_INIT_VAL		0x2aaa8000
> +
>   static void __init nmdk_timer_of_init(struct device_node *node)
>   {
>   	struct clk *pclk;
>   	struct clk *clk;
>   	void __iomem *base;
>   	int irq;
> +	u32 src_cr;
>
>   	base = of_iomap(node, 0);
>   	if (!base)
> @@ -280,6 +285,12 @@ static void __init nmdk_timer_of_init(struct device_node *node)
>   	if (irq <= 0)
>   		panic("Can't parse IRQ");
>
> +	/* Configure timer sources in "system reset controller" ctrl reg */
> +	src_cr = readl(base);
> +	src_cr &= SRC_CR_INIT_MASK;
> +	src_cr |= SRC_CR_INIT_VAL;
> +	writel(src_cr, base);
> +
>   	__nmdk_timer_init(base, irq, pclk, clk);
>   }
>   CLOCKSOURCE_OF_DECLARE(nomadik_mtu, "st,nomadik-mtu",
>

WARNING: multiple messages have this Message-ID (diff)
From: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
To: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Cc: Olof Johansson <olof@lixom.net>, Arnd Bergmann <arnd@arndb.de>,
	Alessandro Rubini <rubini@unipv.it>,
	Linus Walleij <linus.walleij@linaro.org>,
	STEricsson <STEricsson_nomadik_linux@list.st.com>,
	Russell King <linux@arm.linux.org.uk>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 01/26] ARM: nomadik: move mtu setup to clocksource init
Date: Fri, 20 Sep 2013 23:13:03 +0200	[thread overview]
Message-ID: <523CBA5F.60901@gmail.com> (raw)
In-Reply-To: <1379526839-14798-2-git-send-email-sebastian.hesselbarth@gmail.com>

On 09/18/2013 07:53 PM, Sebastian Hesselbarth wrote:
> MTU timer initialization is stuffed into .init_time callback, while
> cpu8815_timer_init_of again maps addresses from the same device node.
> Therefore, this patch moves mtu setup from to clocksource init.
>
> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
> ---
> Cc: Olof Johansson <olof@lixom.net>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Alessandro Rubini <rubini@unipv.it>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: STEricsson <STEricsson_nomadik_linux@list.st.com>
> Cc: Russell King <linux@arm.linux.org.uk>
> Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> ---
>   arch/arm/mach-nomadik/cpu-8815.c  |   26 --------------------------
>   drivers/clocksource/nomadik-mtu.c |   11 +++++++++++
>   2 files changed, 11 insertions(+), 26 deletions(-)
>
> diff --git a/arch/arm/mach-nomadik/cpu-8815.c b/arch/arm/mach-nomadik/cpu-8815.c
> index 13e0df9..0fcb149 100644
> --- a/arch/arm/mach-nomadik/cpu-8815.c
> +++ b/arch/arm/mach-nomadik/cpu-8815.c
> @@ -113,36 +113,10 @@ static void cpu8815_restart(enum reboot_mode mode, const char *cmd)
>   	writel(1, srcbase + 0x18);
>   }
>
> -/* Initial value for SRC control register: all timers use MXTAL/8 source */
> -#define SRC_CR_INIT_MASK	0x00007fff
> -#define SRC_CR_INIT_VAL		0x2aaa8000
> -
>   static void __init cpu8815_timer_init_of(void)
>   {
> -	struct device_node *mtu;
> -	void __iomem *base;
> -	int irq;
> -	u32 src_cr;
> -
>   	/* We need this to be up now */
>   	nomadik_clk_init();
> -
> -	mtu = of_find_node_by_path("/mtu@101e2000");
> -	if (!mtu)
> -		return;
> -	base = of_iomap(mtu, 0);
> -	if (WARN_ON(!base))
> -		return;
> -	irq = irq_of_parse_and_map(mtu, 0);
> -
> -	pr_info("Remapped MTU @ %p, irq: %d\n", base, irq);
> -
> -	/* Configure timer sources in "system reset controller" ctrl reg */
> -	src_cr = readl(base);
> -	src_cr &= SRC_CR_INIT_MASK;
> -	src_cr |= SRC_CR_INIT_VAL;
> -	writel(src_cr, base);
> -
>   	clocksource_of_init();
>   }

Linus,

looking at the fix you posted at [1], can I assume that the above it
redundant and can be removed?

[1] http://marc.info/?l=linux-arm-kernel&m=137910161418706&w=2

> diff --git a/drivers/clocksource/nomadik-mtu.c b/drivers/clocksource/nomadik-mtu.c
> index 1b74bea..b9f97ba 100644
> --- a/drivers/clocksource/nomadik-mtu.c
> +++ b/drivers/clocksource/nomadik-mtu.c
> @@ -257,12 +257,17 @@ void __init nmdk_timer_init(void __iomem *base, int irq)
>   	__nmdk_timer_init(base, irq, pclk0, clk0);
>   }
>
> +/* Initial value for SRC control register: all timers use MXTAL/8 source */
> +#define SRC_CR_INIT_MASK	0x00007fff
> +#define SRC_CR_INIT_VAL		0x2aaa8000
> +
>   static void __init nmdk_timer_of_init(struct device_node *node)
>   {
>   	struct clk *pclk;
>   	struct clk *clk;
>   	void __iomem *base;
>   	int irq;
> +	u32 src_cr;
>
>   	base = of_iomap(node, 0);
>   	if (!base)
> @@ -280,6 +285,12 @@ static void __init nmdk_timer_of_init(struct device_node *node)
>   	if (irq <= 0)
>   		panic("Can't parse IRQ");
>
> +	/* Configure timer sources in "system reset controller" ctrl reg */
> +	src_cr = readl(base);
> +	src_cr &= SRC_CR_INIT_MASK;
> +	src_cr |= SRC_CR_INIT_VAL;
> +	writel(src_cr, base);
> +
>   	__nmdk_timer_init(base, irq, pclk, clk);
>   }
>   CLOCKSOURCE_OF_DECLARE(nomadik_mtu, "st,nomadik-mtu",
>


  parent reply	other threads:[~2013-09-20 21:13 UTC|newest]

Thread overview: 176+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-18 17:53 [PATCH 00/26] ARM: provide common arch init for DT clocks Sebastian Hesselbarth
2013-09-18 17:53 ` Sebastian Hesselbarth
2013-09-18 17:53 ` [PATCH 01/26] ARM: nomadik: move mtu setup to clocksource init Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-20 20:49   ` Linus Walleij
2013-09-20 20:49     ` Linus Walleij
2013-09-20 20:51     ` Linus Walleij
2013-09-20 20:51       ` Linus Walleij
2013-09-20 21:08       ` Sebastian Hesselbarth
2013-09-20 21:08         ` Sebastian Hesselbarth
2013-09-20 21:11         ` Linus Walleij
2013-09-20 21:11           ` Linus Walleij
2013-09-20 21:13   ` Sebastian Hesselbarth [this message]
2013-09-20 21:13     ` Sebastian Hesselbarth
2013-09-20 21:22     ` Linus Walleij
2013-09-20 21:22       ` Linus Walleij
2013-09-22 12:18     ` Sebastian Hesselbarth
2013-09-22 12:18       ` Sebastian Hesselbarth
2013-09-20 21:37   ` [PATCH v2 01/26] ARM: nomadik: remove mtu initalization from .init_time Sebastian Hesselbarth
2013-09-20 21:37     ` Sebastian Hesselbarth
2013-09-18 17:53 ` [PATCH 02/26] clk: nomadik: move src init out of nomadik_clk_init Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-20 20:54   ` Linus Walleij
2013-09-20 20:54     ` Linus Walleij
2013-09-22 16:45   ` [PATCH v2 " Sebastian Hesselbarth
2013-09-22 16:45     ` Sebastian Hesselbarth
2013-09-18 17:53 ` [PATCH 03/26] clk: nomadik: declare OF clock provider Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-20 20:55   ` Linus Walleij
2013-09-20 20:55     ` Linus Walleij
2013-09-22 16:46   ` [PATCH v2 " Sebastian Hesselbarth
2013-09-22 16:46     ` Sebastian Hesselbarth
2013-09-18 17:53 ` [PATCH 04/26] clk: prima2: " Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-19  8:45   ` Barry Song
2013-09-19  8:45     ` Barry Song
2013-09-19  8:48     ` Sebastian Hesselbarth
2013-09-19  8:48       ` Sebastian Hesselbarth
2013-09-22 12:12       ` Sebastian Hesselbarth
2013-09-22 12:12         ` Sebastian Hesselbarth
2013-09-22 10:37         ` Barry Song
2013-09-22 10:37           ` Barry Song
2013-09-27 18:21           ` Sebastian Hesselbarth
2013-09-27 18:21             ` Sebastian Hesselbarth
2013-09-29  4:49             ` Barry Song
2013-09-29  4:49               ` Barry Song
2013-09-18 17:53 ` [PATCH 05/26] ARM: socfgpa: prepare for arch-wide .init_time callback Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-26  6:12   ` Sebastian Hesselbarth
2013-09-26  6:12     ` Sebastian Hesselbarth
2013-09-26 13:06   ` Dinh Nguyen
2013-09-26 13:06     ` Dinh Nguyen
2013-09-18 17:53 ` [PATCH 06/26] clk: sunxi: declare OF clock provider Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-25 20:03   ` Maxime Ripard
2013-09-25 20:03     ` Maxime Ripard
2013-09-18 17:53 ` [PATCH 07/26] clk: vt8500: parse pmc_base from clock driver Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-19 19:02   ` Tony Prisk
2013-09-19 19:02     ` Tony Prisk
2013-09-19 19:12     ` Sebastian Hesselbarth
2013-09-19 19:12       ` Sebastian Hesselbarth
2013-09-20  4:51       ` Tony Prisk
2013-09-20  4:51         ` Tony Prisk
2013-09-20  6:23         ` Sebastian Hesselbarth
2013-09-20  6:23           ` Sebastian Hesselbarth
2013-09-20 18:23           ` Tony Prisk
2013-09-20 18:23             ` Tony Prisk
2013-09-20  6:22   ` [PATCH v2 " Sebastian Hesselbarth
2013-09-20  6:22     ` Sebastian Hesselbarth
2013-09-18 17:53 ` [PATCH 08/26] ARM: vt8500: prepare for arch-wide .init_time callback Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-18 17:53 ` [PATCH 09/26] ARM: call of_clk_init from default time_init handler Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
     [not found]   ` <1379526839-14798-10-git-send-email-sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-23  7:54     ` [PATCH v2 " Sebastian Hesselbarth
2013-09-23  7:54       ` Sebastian Hesselbarth
2013-09-23  7:54       ` Sebastian Hesselbarth
2013-09-18 17:53 ` [PATCH 10/26] ARM: bcm2835: remove custom .init_time hook Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-18 19:37   ` Stephen Warren
2013-09-18 19:37     ` Stephen Warren
2013-09-18 17:53 ` [PATCH 11/26] ARM: dove: " Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-21 12:22   ` Andrew Lunn
2013-09-21 12:22     ` Andrew Lunn
2013-09-22 12:20     ` Sebastian Hesselbarth
2013-09-22 12:20       ` Sebastian Hesselbarth
2013-09-23  9:10       ` Andrew Lunn
2013-09-23  9:10         ` Andrew Lunn
2013-09-23 13:32         ` Jason Cooper
2013-09-23 13:32           ` Jason Cooper
2013-09-23 17:46           ` Sebastian Hesselbarth
2013-09-23 17:46             ` Sebastian Hesselbarth
2013-09-18 17:53 ` [PATCH 12/26] ARM: exynos: " Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-26  6:21   ` Sebastian Hesselbarth
2013-09-26  6:21     ` Sebastian Hesselbarth
2013-09-26  6:21     ` Sebastian Hesselbarth
2013-09-26  8:08     ` Tomasz Figa
2013-09-26  8:08       ` Tomasz Figa
2013-09-18 17:53 ` [PATCH 13/26] ARM: highbank: " Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-18 17:53 ` [PATCH 14/26] ARM: imx: " Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-18 17:53 ` [PATCH 15/26] ARM: kirkwood: " Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-21 20:27   ` Andrew Lunn
2013-09-21 20:27     ` Andrew Lunn
2013-09-23 13:32     ` Jason Cooper
2013-09-23 13:32       ` Jason Cooper
2013-09-18 17:53 ` [PATCH 16/26] ARM: mxs: " Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-20  8:57   ` Shawn Guo
2013-09-20  8:57     ` Shawn Guo
2013-09-18 17:53 ` [PATCH 17/26] ARM: nomadik: " Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-20 20:56   ` Linus Walleij
2013-09-20 20:56     ` Linus Walleij
2013-09-18 17:53 ` [PATCH 18/26] ARM: nspire: " Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-18 17:53 ` [PATCH 19/26] ARM: prima2: " Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-18 17:53 ` [PATCH 20/26] ARM: rockchip: " Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-19  8:40   ` Heiko Stübner
2013-09-19  8:40     ` Heiko Stübner
2013-09-18 17:53 ` [PATCH 21/26] ARM: socfpga: " Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-26 13:07   ` Dinh Nguyen
2013-09-26 13:07     ` Dinh Nguyen
2013-09-18 17:53 ` [PATCH 22/26] ARM: sti: " Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-18 17:53 ` [PATCH 23/26] ARM: sunxi: " Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-25 20:07   ` Maxime Ripard
2013-09-25 20:07     ` Maxime Ripard
2013-09-26  6:15     ` Sebastian Hesselbarth
2013-09-26  6:15       ` Sebastian Hesselbarth
2013-09-27 17:02       ` Maxime Ripard
2013-09-27 17:02         ` Maxime Ripard
     [not found] ` <1379526839-14798-1-git-send-email-sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-18 17:53   ` [PATCH 24/26] ARM: tegra: " Sebastian Hesselbarth
2013-09-18 17:53     ` Sebastian Hesselbarth
2013-09-18 17:53     ` Sebastian Hesselbarth
     [not found]     ` <1379526839-14798-25-git-send-email-sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-18 19:38       ` Stephen Warren
2013-09-18 19:38         ` Stephen Warren
2013-09-18 19:38         ` Stephen Warren
2013-09-18 19:47   ` [PATCH 00/26] ARM: provide common arch init for DT clocks Jason Cooper
2013-09-18 19:47     ` Jason Cooper
2013-09-18 19:47     ` Jason Cooper
     [not found]     ` <20130918194711.GR19937-u4khhh1J0LxI1Ri9qeTfzeTW4wlIGRCZ@public.gmane.org>
2013-09-18 19:52       ` Sebastian Hesselbarth
2013-09-18 19:52         ` Sebastian Hesselbarth
2013-09-18 19:52         ` Sebastian Hesselbarth
2013-09-18 20:45         ` Stephen Warren
2013-09-18 20:45           ` Stephen Warren
2013-09-18 20:48         ` Olof Johansson
2013-09-18 20:48           ` Olof Johansson
2013-09-18 21:04           ` Sebastian Hesselbarth
2013-09-18 21:04             ` Sebastian Hesselbarth
2013-09-18 17:53 ` [PATCH 25/26] ARM: vexpress: remove custom .init_time hook Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-19 13:34   ` Pawel Moll
2013-09-19 13:34     ` Pawel Moll
2013-09-18 17:53 ` [PATCH 26/26] ARM: vt8500: " Sebastian Hesselbarth
2013-09-18 17:53   ` Sebastian Hesselbarth
2013-09-20 19:16 ` [PATCH 00/26] ARM: provide common arch init for DT clocks Matt Porter
2013-09-20 19:16   ` Matt Porter
2013-09-20 19:16   ` Matt Porter
2013-09-22 12:14   ` Sebastian Hesselbarth
2013-09-22 12:14     ` Sebastian Hesselbarth
     [not found]     ` <523EDF16.10102-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-09-23 17:45       ` Matt Porter
2013-09-23 17:45         ` Matt Porter
2013-09-23 17:45         ` Matt Porter
     [not found]         ` <52407E2A.7030001-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-09-23 18:41           ` Christian Daudt
2013-09-23 18:41             ` Christian Daudt
2013-09-23 18:41             ` Christian Daudt

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=523CBA5F.60901@gmail.com \
    --to=sebastian.hesselbarth@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.