All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
To: Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Mike Turquette
	<mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>,
	Alexandre Courbot
	<gnurou-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [GIT PULL 1/9] clk: tegra: Changes for v4.3-rc1
Date: Tue, 25 Aug 2015 16:43:40 -0700	[thread overview]
Message-ID: <20150825234340.GN19120@codeaurora.org> (raw)
In-Reply-To: <1439563720-13189-2-git-send-email-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

On 08/14, Thierry Reding wrote:
> Hi Mike, Stephen,
> 
> The following changes since commit d770e558e21961ad6cfdf0ff7df0eb5d7d4f0754:
> 
>   Linux 4.2-rc1 (2015-07-05 11:01:52 -0700)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git tags/tegra-for-4.3-clk
> 
> for you to fetch changes up to 79cf95c763a11d4b365cd5a627fd1ab4dca67890:
> 
>   clk: tegra: Add the DFLL as a possible parent of the cclk_g clock (2015-07-16 10:40:20 +0200)
> 

Pulled into clk-next. I had to apply this patch on top though.
Please check and be more careful next time.

Also, I don't understand why __raw_{readl,writel} is used. You
probably wanted the relaxed versions of the accessors, and not
the ones that don't do any byte swapping.

Finally, please Cc linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org next time.

Thanks!

----8<----
From: Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
Subject: [PATCH] clk: tegra: Fix some static checker problems

The latest Tegra clk pull had some problems. Fix them.

drivers/clk/tegra/clk-tegra124.c:1450:6: warning: symbol 'tegra124_clock_assert_dfll_dvco_reset' was not declared. Should it be static?
drivers/clk/tegra/clk-tegra124.c:1466:6: warning: symbol 'tegra124_clock_deassert_dfll_dvco_reset' was not declared. Should it be static?
drivers/clk/tegra/clk-tegra124.c:1476:5: warning: symbol 'tegra124_reset_assert' was not declared. Should it be static?
drivers/clk/tegra/clk-tegra124.c:1486:5: warning: symbol 'tegra124_reset_deassert' was not declared. Should it be static?
drivers/clk/tegra/clk-dfll.c:590 dfll_load_i2c_lut() warn: inconsistent indenting
drivers/clk/tegra/clk-dfll.c:1448 dfll_build_i2c_lut() warn: unsigned 'td->i2c_lut[0]' is never less than zero.

Signed-off-by: Stephen Boyd <sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
---
 drivers/clk/tegra/clk-dfll.c     | 8 +++++---
 drivers/clk/tegra/clk-tegra124.c | 8 ++++----
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/clk/tegra/clk-dfll.c b/drivers/clk/tegra/clk-dfll.c
index 109a79b95238..c2ff859ee0e8 100644
--- a/drivers/clk/tegra/clk-dfll.c
+++ b/drivers/clk/tegra/clk-dfll.c
@@ -587,7 +587,7 @@ static void dfll_load_i2c_lut(struct tegra_dfll *td)
 		else
 			lut_index = i;
 
-		  val = regulator_list_hardware_vsel(td->vdd_reg,
+		val = regulator_list_hardware_vsel(td->vdd_reg,
 						     td->i2c_lut[lut_index]);
 		__raw_writel(val, td->lut_base + i * 4);
 	}
@@ -1432,6 +1432,7 @@ static int dfll_build_i2c_lut(struct tegra_dfll *td)
 	int selector;
 	unsigned long rate;
 	struct dev_pm_opp *opp;
+	int lut;
 
 	rcu_read_lock();
 
@@ -1444,9 +1445,10 @@ static int dfll_build_i2c_lut(struct tegra_dfll *td)
 	v_max = dev_pm_opp_get_voltage(opp);
 
 	v = td->soc->min_millivolts * 1000;
-	td->i2c_lut[0] = find_vdd_map_entry_exact(td, v);
-	if (td->i2c_lut[0] < 0)
+	lut = find_vdd_map_entry_exact(td, v);
+	if (lut < 0)
 		goto out;
+	td->i2c_lut[0] = lut;
 
 	for (j = 1, rate = 0; ; rate++) {
 		opp = dev_pm_opp_find_freq_ceil(td->soc->dev, &rate);
diff --git a/drivers/clk/tegra/clk-tegra124.c b/drivers/clk/tegra/clk-tegra124.c
index a9e2b30737ec..824d75883d2b 100644
--- a/drivers/clk/tegra/clk-tegra124.c
+++ b/drivers/clk/tegra/clk-tegra124.c
@@ -1447,7 +1447,7 @@ static void tegra124_car_barrier(void)
  *
  * Assert the reset line of the DFLL's DVCO.  No return value.
  */
-void tegra124_clock_assert_dfll_dvco_reset(void)
+static void tegra124_clock_assert_dfll_dvco_reset(void)
 {
 	u32 v;
 
@@ -1463,7 +1463,7 @@ void tegra124_clock_assert_dfll_dvco_reset(void)
  * Deassert the reset line of the DFLL's DVCO, allowing the DVCO to
  * operate.  No return value.
  */
-void tegra124_clock_deassert_dfll_dvco_reset(void)
+static void tegra124_clock_deassert_dfll_dvco_reset(void)
 {
 	u32 v;
 
@@ -1473,7 +1473,7 @@ void tegra124_clock_deassert_dfll_dvco_reset(void)
 	tegra124_car_barrier();
 }
 
-int tegra124_reset_assert(unsigned long id)
+static int tegra124_reset_assert(unsigned long id)
 {
 	if (id == TEGRA124_RST_DFLL_DVCO)
 		tegra124_clock_assert_dfll_dvco_reset();
@@ -1483,7 +1483,7 @@ int tegra124_reset_assert(unsigned long id)
 	return 0;
 }
 
-int tegra124_reset_deassert(unsigned long id)
+static int tegra124_reset_deassert(unsigned long id)
 {
 	if (id == TEGRA124_RST_DFLL_DVCO)
 		tegra124_clock_deassert_dfll_dvco_reset();
-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

WARNING: multiple messages have this Message-ID (diff)
From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [GIT PULL 1/9] clk: tegra: Changes for v4.3-rc1
Date: Tue, 25 Aug 2015 16:43:40 -0700	[thread overview]
Message-ID: <20150825234340.GN19120@codeaurora.org> (raw)
In-Reply-To: <1439563720-13189-2-git-send-email-thierry.reding@gmail.com>

On 08/14, Thierry Reding wrote:
> Hi Mike, Stephen,
> 
> The following changes since commit d770e558e21961ad6cfdf0ff7df0eb5d7d4f0754:
> 
>   Linux 4.2-rc1 (2015-07-05 11:01:52 -0700)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git tags/tegra-for-4.3-clk
> 
> for you to fetch changes up to 79cf95c763a11d4b365cd5a627fd1ab4dca67890:
> 
>   clk: tegra: Add the DFLL as a possible parent of the cclk_g clock (2015-07-16 10:40:20 +0200)
> 

Pulled into clk-next. I had to apply this patch on top though.
Please check and be more careful next time.

Also, I don't understand why __raw_{readl,writel} is used. You
probably wanted the relaxed versions of the accessors, and not
the ones that don't do any byte swapping.

Finally, please Cc linux-clk at vger.kernel.org next time.

Thanks!

----8<----
From: Stephen Boyd <sboyd@codeaurora.org>
Subject: [PATCH] clk: tegra: Fix some static checker problems

The latest Tegra clk pull had some problems. Fix them.

drivers/clk/tegra/clk-tegra124.c:1450:6: warning: symbol 'tegra124_clock_assert_dfll_dvco_reset' was not declared. Should it be static?
drivers/clk/tegra/clk-tegra124.c:1466:6: warning: symbol 'tegra124_clock_deassert_dfll_dvco_reset' was not declared. Should it be static?
drivers/clk/tegra/clk-tegra124.c:1476:5: warning: symbol 'tegra124_reset_assert' was not declared. Should it be static?
drivers/clk/tegra/clk-tegra124.c:1486:5: warning: symbol 'tegra124_reset_deassert' was not declared. Should it be static?
drivers/clk/tegra/clk-dfll.c:590 dfll_load_i2c_lut() warn: inconsistent indenting
drivers/clk/tegra/clk-dfll.c:1448 dfll_build_i2c_lut() warn: unsigned 'td->i2c_lut[0]' is never less than zero.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 drivers/clk/tegra/clk-dfll.c     | 8 +++++---
 drivers/clk/tegra/clk-tegra124.c | 8 ++++----
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/clk/tegra/clk-dfll.c b/drivers/clk/tegra/clk-dfll.c
index 109a79b95238..c2ff859ee0e8 100644
--- a/drivers/clk/tegra/clk-dfll.c
+++ b/drivers/clk/tegra/clk-dfll.c
@@ -587,7 +587,7 @@ static void dfll_load_i2c_lut(struct tegra_dfll *td)
 		else
 			lut_index = i;
 
-		  val = regulator_list_hardware_vsel(td->vdd_reg,
+		val = regulator_list_hardware_vsel(td->vdd_reg,
 						     td->i2c_lut[lut_index]);
 		__raw_writel(val, td->lut_base + i * 4);
 	}
@@ -1432,6 +1432,7 @@ static int dfll_build_i2c_lut(struct tegra_dfll *td)
 	int selector;
 	unsigned long rate;
 	struct dev_pm_opp *opp;
+	int lut;
 
 	rcu_read_lock();
 
@@ -1444,9 +1445,10 @@ static int dfll_build_i2c_lut(struct tegra_dfll *td)
 	v_max = dev_pm_opp_get_voltage(opp);
 
 	v = td->soc->min_millivolts * 1000;
-	td->i2c_lut[0] = find_vdd_map_entry_exact(td, v);
-	if (td->i2c_lut[0] < 0)
+	lut = find_vdd_map_entry_exact(td, v);
+	if (lut < 0)
 		goto out;
+	td->i2c_lut[0] = lut;
 
 	for (j = 1, rate = 0; ; rate++) {
 		opp = dev_pm_opp_find_freq_ceil(td->soc->dev, &rate);
diff --git a/drivers/clk/tegra/clk-tegra124.c b/drivers/clk/tegra/clk-tegra124.c
index a9e2b30737ec..824d75883d2b 100644
--- a/drivers/clk/tegra/clk-tegra124.c
+++ b/drivers/clk/tegra/clk-tegra124.c
@@ -1447,7 +1447,7 @@ static void tegra124_car_barrier(void)
  *
  * Assert the reset line of the DFLL's DVCO.  No return value.
  */
-void tegra124_clock_assert_dfll_dvco_reset(void)
+static void tegra124_clock_assert_dfll_dvco_reset(void)
 {
 	u32 v;
 
@@ -1463,7 +1463,7 @@ void tegra124_clock_assert_dfll_dvco_reset(void)
  * Deassert the reset line of the DFLL's DVCO, allowing the DVCO to
  * operate.  No return value.
  */
-void tegra124_clock_deassert_dfll_dvco_reset(void)
+static void tegra124_clock_deassert_dfll_dvco_reset(void)
 {
 	u32 v;
 
@@ -1473,7 +1473,7 @@ void tegra124_clock_deassert_dfll_dvco_reset(void)
 	tegra124_car_barrier();
 }
 
-int tegra124_reset_assert(unsigned long id)
+static int tegra124_reset_assert(unsigned long id)
 {
 	if (id == TEGRA124_RST_DFLL_DVCO)
 		tegra124_clock_assert_dfll_dvco_reset();
@@ -1483,7 +1483,7 @@ int tegra124_reset_assert(unsigned long id)
 	return 0;
 }
 
-int tegra124_reset_deassert(unsigned long id)
+static int tegra124_reset_deassert(unsigned long id)
 {
 	if (id == TEGRA124_RST_DFLL_DVCO)
 		tegra124_clock_deassert_dfll_dvco_reset();
-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

  parent reply	other threads:[~2015-08-25 23:43 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-14 14:48 [GIT PULL 0/9] ARM: tegra: Changes for v4.3-rc1 Thierry Reding
2015-08-14 14:48 ` Thierry Reding
2015-08-14 14:48 ` [GIT PULL 2/9] pinctrl: " Thierry Reding
2015-08-14 14:48   ` Thierry Reding
     [not found] ` <1439563720-13189-1-git-send-email-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-14 14:48   ` [GIT PULL 1/9] clk: " Thierry Reding
2015-08-14 14:48     ` Thierry Reding
     [not found]     ` <1439563720-13189-2-git-send-email-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-25 23:43       ` Stephen Boyd [this message]
2015-08-25 23:43         ` Stephen Boyd
2015-08-14 14:48   ` [GIT PULL 3/9] ARM: tegra: Cleanup patches " Thierry Reding
2015-08-14 14:48     ` Thierry Reding
     [not found]     ` <1439563720-13189-4-git-send-email-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-21  1:42       ` Olof Johansson
2015-08-21  1:42         ` Olof Johansson
2015-08-14 14:48   ` [GIT PULL 4/9] ARM: tegra: Core SoC changes " Thierry Reding
2015-08-14 14:48     ` Thierry Reding
     [not found]     ` <1439563720-13189-5-git-send-email-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-21  1:45       ` Olof Johansson
2015-08-21  1:45         ` Olof Johansson
2015-08-14 14:48   ` [GIT PULL 5/9] ARM: tegra: CPU frequency scaling " Thierry Reding
2015-08-14 14:48     ` Thierry Reding
     [not found]     ` <1439563720-13189-6-git-send-email-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-21  1:47       ` Olof Johansson
2015-08-21  1:47         ` Olof Johansson
2015-08-14 14:48   ` [GIT PULL 6/9] iommu/tegra-smmu: Changes " Thierry Reding
2015-08-14 14:48     ` Thierry Reding
     [not found]     ` <1439563720-13189-7-git-send-email-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-17 12:40       ` Joerg Roedel
2015-08-17 12:40         ` Joerg Roedel
2015-08-14 14:48   ` [GIT PULL 7/9] ARM: tegra: Memory controller updates " Thierry Reding
2015-08-14 14:48     ` Thierry Reding
2015-08-21  1:57     ` Olof Johansson
2015-08-21  1:57       ` Olof Johansson
2015-08-14 14:48   ` [GIT PULL 8/9] ARM: tegra: Devicetree changes " Thierry Reding
2015-08-14 14:48     ` Thierry Reding
     [not found]     ` <1439563720-13189-9-git-send-email-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-21  1:58       ` Olof Johansson
2015-08-21  1:58         ` Olof Johansson
2015-08-21 16:09         ` Olof Johansson
2015-08-21 16:09           ` Olof Johansson
2015-08-21 16:27           ` Jon Hunter
2015-08-21 16:27             ` Jon Hunter
     [not found]             ` <55D75187.8010007-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-08-21 16:33               ` Olof Johansson
2015-08-21 16:33                 ` Olof Johansson
2015-08-21 16:52       ` [GIT PULL 8/9] ARM: tegra: Devicetree changes for v4.3-rc1 (updated) Thierry Reding
2015-08-21 16:52         ` Thierry Reding
     [not found]         ` <1440175939-13663-1-git-send-email-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-21 17:16           ` Olof Johansson
2015-08-21 17:16             ` Olof Johansson
2015-08-14 14:48   ` [GIT PULL 9/9] ARM: tegra: Default configuration updates for v4.3-rc1 Thierry Reding
2015-08-14 14:48     ` Thierry Reding
     [not found]     ` <1439563720-13189-10-git-send-email-thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-18 22:30       ` Tyler Baker
2015-08-18 22:30         ` Tyler Baker
     [not found]         ` <CANMBJr7PKy-eCcB3HiBajpApHS_BYPa7xfKjTqV4o8Z1hwY99A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-08-19  9:14           ` Thierry Reding
2015-08-19  9:14             ` Thierry Reding
2015-08-19  9:48             ` Sjoerd Simons
2015-08-19  9:48               ` Sjoerd Simons
     [not found]               ` <1439977724.4135.90.camel-ZGY8ohtN/8pPYcu2f3hruQ@public.gmane.org>
2015-08-19 10:33                 ` Thierry Reding
2015-08-19 10:33                   ` Thierry Reding
2015-08-19 16:48                   ` Tyler Baker
2015-08-19 16:48                     ` Tyler Baker
2015-09-03 23:08                   ` Tyler Baker
2015-09-03 23:08                     ` Tyler Baker
     [not found]                     ` <CANMBJr6DSXW-h8P8__LKBu-Xv77T35JwxHWvarvqy1keVrtVQQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-09-10 21:29                       ` Kevin Hilman
2015-09-10 21:29                         ` Kevin Hilman
     [not found]                         ` <CAMAWPa_rus4z+Sg3Uff7ndqrpB8dF1c1rQBVQ9r7vXh6PFcVkQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-09-11 10:39                           ` Jon Hunter
2015-09-11 10:39                             ` Jon Hunter
     [not found]                             ` <55F2AF45.5040706-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-09-11 11:04                               ` Jon Hunter
2015-09-11 11:04                                 ` Jon Hunter
2015-09-11 12:38                               ` Thierry Reding
2015-09-11 12:38                                 ` Thierry Reding
2015-09-11 13:10                                 ` Jon Hunter
2015-09-11 13:10                                   ` Jon Hunter
     [not found]                                   ` <55F2D2E3.4010906-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-09-11 13:25                                     ` Thierry Reding
2015-09-11 13:25                                       ` Thierry Reding
2015-09-11 13:43                                       ` Jon Hunter
2015-09-11 13:43                                         ` Jon Hunter
2015-09-11 15:51                                       ` Jon Hunter
2015-09-11 15:51                                         ` Jon Hunter
     [not found]                                         ` <55F2F895.5040704-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-09-11 15:59                                           ` Thierry Reding
2015-09-11 15:59                                             ` Thierry Reding
     [not found]                                             ` <20150911155946.GA13945-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2015-09-11 16:33                                               ` Thierry Reding
2015-09-11 16:33                                                 ` Thierry Reding
     [not found]                                                 ` <20150911163346.GA20235-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2015-09-11 17:08                                                   ` Kevin Hilman
2015-09-11 17:08                                                     ` Kevin Hilman
     [not found]                                                     ` <7h7fnw3mvd.fsf-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-09-17 10:26                                                       ` Thierry Reding
2015-09-17 10:26                                                         ` Thierry Reding
2015-09-11 13:15                                 ` Jon Hunter
2015-09-11 13:15                                   ` Jon Hunter
     [not found]                                   ` <55F2D3D4.5090608-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-09-11 13:21                                     ` Thierry Reding
2015-09-11 13:21                                       ` Thierry Reding
2015-09-11 13:39                                       ` Jon Hunter
2015-09-11 13:39                                         ` Jon Hunter
     [not found]                                         ` <55F2D995.50906-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-09-11 13:57                                           ` Thierry Reding
2015-09-11 13:57                                             ` Thierry Reding
     [not found]                                             ` <20150911135738.GA23109-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2015-09-11 14:08                                               ` Jon Hunter
2015-09-11 14:08                                                 ` Jon Hunter
2015-08-19 20:36             ` Olof Johansson
2015-08-19 20:36               ` Olof Johansson
2015-08-19 11:15           ` Mikko Perttunen
2015-08-19 11:15             ` Mikko Perttunen
     [not found]             ` <55D46550.7090203-/1wQRMveznE@public.gmane.org>
2015-08-19 16:50               ` Tyler Baker
2015-08-19 16:50                 ` Tyler Baker
2015-08-21  2:00       ` Olof Johansson
2015-08-21  2:00         ` Olof Johansson
2015-08-21  2:39         ` Tyler Baker
2015-08-21  2:39           ` Tyler Baker

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=20150825234340.GN19120@codeaurora.org \
    --to=sboyd-sgv2jx0feol9jmxxk+q4oq@public.gmane.org \
    --cc=gnurou-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mturquette-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
    --cc=thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@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: 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.