From: "Uwe Kleine-König" <u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> To: Jason Wang <jason77.wang-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Cc: amit.kucheria-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org, Sascha Hauer <s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>, Jason Wang <jason77.wang-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>, spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org Subject: [PATCH 13/16] ARM: mx5/clock-mx51: add spi clocks Date: Fri, 17 Sep 2010 11:54:31 +0200 [thread overview] Message-ID: <1284717274-12850-13-git-send-email-u.kleine-koenig@pengutronix.de> (raw) In-Reply-To: <20100917095247.GB30441-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> From: Jason Wang <jason77.wang@gmail.com> Signed-off-by: Jason Wang <jason77.wang@gmail.com> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> --- arch/arm/mach-mx5/clock-mx51.c | 57 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 57 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-mx5/clock-mx51.c b/arch/arm/mach-mx5/clock-mx51.c index 0e39698..68aef2d 100644 --- a/arch/arm/mach-mx5/clock-mx51.c +++ b/arch/arm/mach-mx5/clock-mx51.c @@ -764,6 +764,42 @@ static struct clk kpp_clk = { .id = 0, }; +/* eCSPI */ +static unsigned long clk_ecspi_get_rate(struct clk *clk) +{ + u32 reg, pred, podf; + + reg = __raw_readl(MXC_CCM_CSCDR2); + + pred = (reg & MXC_CCM_CSCDR2_CSPI_CLK_PRED_MASK) >> + MXC_CCM_CSCDR2_CSPI_CLK_PRED_OFFSET; + podf = (reg & MXC_CCM_CSCDR2_CSPI_CLK_PODF_MASK) >> + MXC_CCM_CSCDR2_CSPI_CLK_PODF_OFFSET; + + return DIV_ROUND_CLOSEST(clk_get_rate(clk->parent), + (pred + 1) * (podf + 1)); +} + +static int clk_ecspi_set_parent(struct clk *clk, struct clk *parent) +{ + u32 reg, mux; + + mux = _get_mux(parent, &pll1_sw_clk, &pll2_sw_clk, &pll3_sw_clk, + &lp_apm_clk); + + reg = __raw_readl(MXC_CCM_CSCMR1) & ~MXC_CCM_CSCMR1_CSPI_CLK_SEL_MASK; + reg |= mux << MXC_CCM_CSCMR1_CSPI_CLK_SEL_OFFSET; + __raw_writel(reg, MXC_CCM_CSCMR1); + + return 0; +} + +static struct clk ecspi_main_clk = { + .parent = &pll3_sw_clk, + .get_rate = clk_ecspi_get_rate, + .set_parent = clk_ecspi_set_parent, +}; + #define DEFINE_CLOCK_FULL(name, i, er, es, gr, sr, e, d, p, s) \ static struct clk name = { \ .id = i, \ @@ -816,6 +852,24 @@ DEFINE_CLOCK(hsi2c_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG11_OFFSET, DEFINE_CLOCK(fec_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG12_OFFSET, NULL, NULL, &ipg_clk, NULL); +/* eCSPI */ +DEFINE_CLOCK_FULL(ecspi1_ipg_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG9_OFFSET, + NULL, NULL, _clk_ccgr_enable_inrun, _clk_ccgr_disable, + &ipg_clk, &spba_clk); +DEFINE_CLOCK(ecspi1_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG10_OFFSET, + NULL, NULL, &ecspi_main_clk, &ecspi1_ipg_clk); +DEFINE_CLOCK_FULL(ecspi2_ipg_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG11_OFFSET, + NULL, NULL, _clk_ccgr_enable_inrun, _clk_ccgr_disable, + &ipg_clk, &aips_tz2_clk); +DEFINE_CLOCK(ecspi2_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG12_OFFSET, + NULL, NULL, &ecspi_main_clk, &ecspi2_ipg_clk); + +/* CSPI */ +DEFINE_CLOCK(cspi_ipg_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG9_OFFSET, + NULL, NULL, &ipg_clk, &aips_tz2_clk); +DEFINE_CLOCK(cspi_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG13_OFFSET, + NULL, NULL, &ipg_clk, &cspi_ipg_clk); + #define _REGISTER_CLOCK(d, n, c) \ { \ .dev_id = d, \ @@ -839,6 +893,9 @@ static struct clk_lookup lookups[] = { _REGISTER_CLOCK("fsl-usb2-udc", "usb", usboh3_clk) _REGISTER_CLOCK("fsl-usb2-udc", "usb_ahb", ahb_clk) _REGISTER_CLOCK("imx-keypad.0", NULL, kpp_clk) + _REGISTER_CLOCK("imx51-ecspi.0", NULL, ecspi1_clk) + _REGISTER_CLOCK("imx51-ecspi.1", NULL, ecspi2_clk) + _REGISTER_CLOCK("imx51-cspi.0", NULL, cspi_clk) }; static void clk_tree_init(void) -- 1.7.2.3 ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
WARNING: multiple messages have this Message-ID (diff)
From: u.kleine-koenig@pengutronix.de (Uwe Kleine-König) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 13/16] ARM: mx5/clock-mx51: add spi clocks Date: Fri, 17 Sep 2010 11:54:31 +0200 [thread overview] Message-ID: <1284717274-12850-13-git-send-email-u.kleine-koenig@pengutronix.de> (raw) In-Reply-To: <20100917095247.GB30441@pengutronix.de> From: Jason Wang <jason77.wang@gmail.com> Signed-off-by: Jason Wang <jason77.wang@gmail.com> Signed-off-by: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de> --- arch/arm/mach-mx5/clock-mx51.c | 57 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 57 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-mx5/clock-mx51.c b/arch/arm/mach-mx5/clock-mx51.c index 0e39698..68aef2d 100644 --- a/arch/arm/mach-mx5/clock-mx51.c +++ b/arch/arm/mach-mx5/clock-mx51.c @@ -764,6 +764,42 @@ static struct clk kpp_clk = { .id = 0, }; +/* eCSPI */ +static unsigned long clk_ecspi_get_rate(struct clk *clk) +{ + u32 reg, pred, podf; + + reg = __raw_readl(MXC_CCM_CSCDR2); + + pred = (reg & MXC_CCM_CSCDR2_CSPI_CLK_PRED_MASK) >> + MXC_CCM_CSCDR2_CSPI_CLK_PRED_OFFSET; + podf = (reg & MXC_CCM_CSCDR2_CSPI_CLK_PODF_MASK) >> + MXC_CCM_CSCDR2_CSPI_CLK_PODF_OFFSET; + + return DIV_ROUND_CLOSEST(clk_get_rate(clk->parent), + (pred + 1) * (podf + 1)); +} + +static int clk_ecspi_set_parent(struct clk *clk, struct clk *parent) +{ + u32 reg, mux; + + mux = _get_mux(parent, &pll1_sw_clk, &pll2_sw_clk, &pll3_sw_clk, + &lp_apm_clk); + + reg = __raw_readl(MXC_CCM_CSCMR1) & ~MXC_CCM_CSCMR1_CSPI_CLK_SEL_MASK; + reg |= mux << MXC_CCM_CSCMR1_CSPI_CLK_SEL_OFFSET; + __raw_writel(reg, MXC_CCM_CSCMR1); + + return 0; +} + +static struct clk ecspi_main_clk = { + .parent = &pll3_sw_clk, + .get_rate = clk_ecspi_get_rate, + .set_parent = clk_ecspi_set_parent, +}; + #define DEFINE_CLOCK_FULL(name, i, er, es, gr, sr, e, d, p, s) \ static struct clk name = { \ .id = i, \ @@ -816,6 +852,24 @@ DEFINE_CLOCK(hsi2c_clk, 0, MXC_CCM_CCGR1, MXC_CCM_CCGRx_CG11_OFFSET, DEFINE_CLOCK(fec_clk, 0, MXC_CCM_CCGR2, MXC_CCM_CCGRx_CG12_OFFSET, NULL, NULL, &ipg_clk, NULL); +/* eCSPI */ +DEFINE_CLOCK_FULL(ecspi1_ipg_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG9_OFFSET, + NULL, NULL, _clk_ccgr_enable_inrun, _clk_ccgr_disable, + &ipg_clk, &spba_clk); +DEFINE_CLOCK(ecspi1_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG10_OFFSET, + NULL, NULL, &ecspi_main_clk, &ecspi1_ipg_clk); +DEFINE_CLOCK_FULL(ecspi2_ipg_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG11_OFFSET, + NULL, NULL, _clk_ccgr_enable_inrun, _clk_ccgr_disable, + &ipg_clk, &aips_tz2_clk); +DEFINE_CLOCK(ecspi2_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG12_OFFSET, + NULL, NULL, &ecspi_main_clk, &ecspi2_ipg_clk); + +/* CSPI */ +DEFINE_CLOCK(cspi_ipg_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG9_OFFSET, + NULL, NULL, &ipg_clk, &aips_tz2_clk); +DEFINE_CLOCK(cspi_clk, 0, MXC_CCM_CCGR4, MXC_CCM_CCGRx_CG13_OFFSET, + NULL, NULL, &ipg_clk, &cspi_ipg_clk); + #define _REGISTER_CLOCK(d, n, c) \ { \ .dev_id = d, \ @@ -839,6 +893,9 @@ static struct clk_lookup lookups[] = { _REGISTER_CLOCK("fsl-usb2-udc", "usb", usboh3_clk) _REGISTER_CLOCK("fsl-usb2-udc", "usb_ahb", ahb_clk) _REGISTER_CLOCK("imx-keypad.0", NULL, kpp_clk) + _REGISTER_CLOCK("imx51-ecspi.0", NULL, ecspi1_clk) + _REGISTER_CLOCK("imx51-ecspi.1", NULL, ecspi2_clk) + _REGISTER_CLOCK("imx51-cspi.0", NULL, cspi_clk) }; static void clk_tree_init(void) -- 1.7.2.3
next prev parent reply other threads:[~2010-09-17 9:54 UTC|newest] Thread overview: 134+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-09-02 7:51 [PATCH 0/6] add spi support for i.MX51 in the existing spi_imx driver Jason Wang 2010-09-02 7:51 ` Jason Wang 2010-09-02 7:51 ` [PATCH 1/6] spi-imx: add CSPI and eCSPI support for i.MX51 MCU Jason Wang 2010-09-02 7:51 ` Jason Wang 2010-09-02 7:52 ` [PATCH 2/6] i.MX5/clock: add eCSPI and CSPI clock definitions Jason Wang 2010-09-02 7:52 ` Jason Wang 2010-09-02 7:52 ` [PATCH 3/6] mx5: add support to dynamically register spi_imx devices (imx51 3ds) Jason Wang 2010-09-02 7:52 ` Jason Wang 2010-09-02 7:52 ` [PATCH 4/6] mx5/iomux: add iomux definitions for eCSPI2 on the imx51_3ds board Jason Wang 2010-09-02 7:52 ` Jason Wang 2010-09-02 7:52 ` [PATCH 5/6] mx51_3ds: add eCSPI2 support " Jason Wang 2010-09-02 7:52 ` Jason Wang 2010-09-02 7:52 ` [PATCH 6/6] mx51_3ds: add SPI NOR flash in the board init stage Jason Wang 2010-09-02 7:52 ` Jason Wang 2010-09-02 15:05 ` [PATCH 5/6] mx51_3ds: add eCSPI2 support on the imx51_3ds board Uwe Kleine-König 2010-09-02 15:05 ` Uwe Kleine-König 2010-09-03 6:24 ` Jason Wang 2010-09-03 6:24 ` Jason Wang 2010-09-02 15:02 ` [PATCH 3/6] mx5: add support to dynamically register spi_imx devices (imx51 3ds) Uwe Kleine-König 2010-09-02 15:02 ` Uwe Kleine-König 2010-09-03 6:22 ` Jason Wang 2010-09-03 6:22 ` Jason Wang 2010-09-02 15:01 ` [PATCH 2/6] i.MX5/clock: add eCSPI and CSPI clock definitions Uwe Kleine-König 2010-09-02 15:01 ` Uwe Kleine-König 2010-09-03 6:22 ` Jason Wang 2010-09-03 6:22 ` Jason Wang 2010-09-10 9:47 ` Uwe Kleine-König 2010-09-10 9:47 ` Uwe Kleine-König [not found] ` <20100910094714.GF30558-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> 2010-09-10 10:04 ` Lothar Waßmann 2010-09-10 10:04 ` Lothar Waßmann 2010-09-13 3:31 ` Jason Wang 2010-09-13 3:31 ` Jason Wang 2010-09-02 14:53 ` [PATCH 1/6] spi-imx: add CSPI and eCSPI support for i.MX51 MCU Uwe Kleine-König 2010-09-02 14:53 ` Uwe Kleine-König 2010-09-02 15:11 ` Lothar Waßmann 2010-09-02 15:11 ` Lothar Waßmann 2010-09-02 17:29 ` Baruch Siach 2010-09-02 17:29 ` Baruch Siach 2010-09-02 17:57 ` Uwe Kleine-König 2010-09-02 17:57 ` Uwe Kleine-König 2010-09-03 8:49 ` Lothar Waßmann 2010-09-03 8:49 ` Lothar Waßmann 2010-09-03 6:16 ` Jason Wang 2010-09-03 6:16 ` Jason Wang 2010-09-03 7:54 ` Uwe Kleine-König 2010-09-03 7:54 ` Uwe Kleine-König 2010-09-02 8:27 ` [PATCH 0/6] add spi support for i.MX51 in the existing spi_imx driver Uwe Kleine-König 2010-09-02 8:27 ` Uwe Kleine-König 2010-09-02 10:07 ` Jason Wang 2010-09-02 10:07 ` Jason Wang 2010-09-02 14:39 ` Uwe Kleine-König 2010-09-02 14:39 ` Uwe Kleine-König 2010-09-02 14:41 ` [PATCH 1/6] ARM: mx51: clean up mx51 header Uwe Kleine-König 2010-09-02 14:41 ` Uwe Kleine-König 2010-09-02 14:41 ` [PATCH 2/6] ARM: mx51: fix naming of spi related defines Uwe Kleine-König 2010-09-02 14:41 ` Uwe Kleine-König 2010-09-02 14:42 ` [PATCH 3/6] ARM: imx: change the way spi-imx devices are registered Uwe Kleine-König 2010-09-02 14:42 ` Uwe Kleine-König 2010-09-02 14:42 ` [PATCH 4/6] ARM: mx51: Add spi clock and spi_imx device registration Uwe Kleine-König 2010-09-02 14:42 ` Uwe Kleine-König [not found] ` <1283438523-19697-4-git-send-email-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> 2010-09-03 5:46 ` Jason Wang 2010-09-03 5:46 ` Jason Wang 2010-09-02 14:42 ` [PATCH 5/6] spi-imx: Add i.MX51 support Uwe Kleine-König 2010-09-02 14:42 ` Uwe Kleine-König 2010-09-09 5:33 ` Grant Likely 2010-09-09 5:33 ` Grant Likely 2010-09-09 7:27 ` Uwe Kleine-König 2010-09-09 7:27 ` Uwe Kleine-König 2010-09-02 14:42 ` [PATCH 6/6] ARM: mx5/mx51_babbage: Add spi support Uwe Kleine-König 2010-09-02 14:42 ` Uwe Kleine-König 2010-09-03 3:18 ` [PATCH 0/6] add spi support for i.MX51 in the existing spi_imx driver Jason Wang 2010-09-03 3:18 ` Jason Wang 2010-09-03 6:41 ` Amit Kucheria 2010-09-03 6:41 ` Amit Kucheria 2010-09-03 9:34 ` Robert Schwebel 2010-09-03 9:34 ` Robert Schwebel 2010-09-17 9:52 ` Uwe Kleine-König 2010-09-17 9:52 ` Uwe Kleine-König 2010-09-17 9:54 ` [PATCH 01/16] spi/imx: default to m on platforms that have such devices Uwe Kleine-König 2010-09-17 9:54 ` Uwe Kleine-König 2010-09-17 9:54 ` [PATCH 03/16] spi/imx: get rid of more ifs depending on the used cpu Uwe Kleine-König 2010-09-17 9:54 ` Uwe Kleine-König 2010-09-17 9:54 ` [PATCH 12/16] ARM: mx5/clock-mx51: new macro that defines a clk with all members Uwe Kleine-König 2010-09-17 9:54 ` Uwe Kleine-König [not found] ` <20100917095247.GB30441-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> 2010-09-17 9:54 ` [PATCH 02/16] spi/imx: convert driver to use platform ids Uwe Kleine-König 2010-09-17 9:54 ` Uwe Kleine-König 2010-09-17 9:54 ` [PATCH 04/16] spi/imx: save the spi chip select in config struct, not the gpio to use Uwe Kleine-König 2010-09-17 9:54 ` Uwe Kleine-König [not found] ` <1284717274-12850-4-git-send-email-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> 2010-09-17 11:11 ` Lothar Waßmann 2010-09-17 11:11 ` Lothar Waßmann 2010-09-17 11:20 ` Russell King - ARM Linux 2010-09-17 11:20 ` Russell King - ARM Linux 2010-09-19 8:47 ` Jason Wang 2010-09-19 8:47 ` Jason Wang 2010-09-17 9:54 ` [PATCH 05/16] spi/imx: add support for imx51's eCSPI and CSPI Uwe Kleine-König 2010-09-17 9:54 ` Uwe Kleine-König 2010-09-17 9:54 ` [PATCH 06/16] ARM: imx: change the way spi-imx devices are registered Uwe Kleine-König 2010-09-17 9:54 ` Uwe Kleine-König 2010-09-17 9:54 ` [PATCH 07/16] ARM: imx: use platform ids for spi_imx devices Uwe Kleine-König 2010-09-17 9:54 ` Uwe Kleine-König 2010-09-17 9:54 ` [PATCH 08/16] ARM: mx51: clean up mx51 header Uwe Kleine-König 2010-09-17 9:54 ` Uwe Kleine-König 2010-09-17 9:54 ` [PATCH 09/16] ARM: mx51: fix naming of spi related defines Uwe Kleine-König 2010-09-17 9:54 ` Uwe Kleine-König 2010-09-17 9:54 ` [PATCH 10/16] ARM: mx5: add spi_imx device registration Uwe Kleine-König 2010-09-17 9:54 ` Uwe Kleine-König 2010-09-17 9:54 ` [PATCH 11/16] ARM: mx5/clock-mx51: refactor ccgr callbacks to use common code Uwe Kleine-König 2010-09-17 9:54 ` Uwe Kleine-König 2010-09-17 9:54 ` Uwe Kleine-König [this message] 2010-09-17 9:54 ` [PATCH 13/16] ARM: mx5/clock-mx51: add spi clocks Uwe Kleine-König 2010-09-17 9:54 ` [PATCH 14/16] ARM: mx5/iomux-mx51: add iomux definitions for eCSPI2 on the imx51_3ds board Uwe Kleine-König 2010-09-17 9:54 ` Uwe Kleine-König 2010-09-17 9:54 ` [PATCH 15/16] ARM: mx5/mx51_3ds: add eCSPI2 support " Uwe Kleine-König 2010-09-17 9:54 ` Uwe Kleine-König 2010-09-17 9:54 ` [PATCH 16/16] ARM: mx5/mx51_3ds: add SPI NOR flash in the board init stage Uwe Kleine-König 2010-09-17 9:54 ` Uwe Kleine-König 2010-09-19 8:53 ` [PATCH 0/6] add spi support for i.MX51 in the existing spi_imx driver Jason Wang 2010-09-19 8:53 ` Jason Wang 2010-09-20 15:33 ` Uwe Kleine-König 2010-09-20 15:33 ` Uwe Kleine-König 2010-09-21 1:39 ` Jason Wang 2010-09-21 1:39 ` Jason Wang 2010-09-24 7:00 ` Grant Likely 2010-09-24 7:00 ` Grant Likely 2010-09-24 9:11 ` Uwe Kleine-König 2010-09-24 9:11 ` Uwe Kleine-König 2010-09-24 16:12 ` Grant Likely 2010-09-24 16:12 ` Grant Likely 2010-09-24 18:18 ` Uwe Kleine-König 2010-09-24 18:18 ` Uwe Kleine-König [not found] ` <20100902143908.GK14214-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> 2010-10-08 9:24 ` [PATCH 7/6] spi/imx: Support different fifo sizes Uwe Kleine-König 2010-10-08 9:24 ` Uwe Kleine-König [not found] ` <1286529841-20800-1-git-send-email-u.kleine-koenig-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org> 2010-10-08 16:39 ` Grant Likely 2010-10-08 16:39 ` Grant Likely
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=1284717274-12850-13-git-send-email-u.kleine-koenig@pengutronix.de \ --to=u.kleine-koenig-bicnvbalz9megne8c9+irq@public.gmane.org \ --cc=amit.kucheria-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org \ --cc=jason77.wang-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \ --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \ --cc=s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \ --cc=spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.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: linkBe 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.