From: Alexandre Belloni <alexandre.belloni@bootlin.com> To: Frank Wunderlich <frank-w@public-files.de> Cc: linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org, "linux-arm-kernel @ lists . infradead . org Alessandro Zummo" <a.zummo@towertech.it>, Eddie Huang <eddie.huang@mediatek.com>, Josef Friedl <josef.friedl@speed.at>, Lee Jones <lee.jones@linaro.org>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-rtc@vger.kernel.org, Mark Rutland <mark.rutland@arm.com>, Matthias Brugger <matthias.bgg@gmail.com>, Rob Herring <robh+dt@kernel.org>, Sean Wang <sean.wang@mediatek.com>, Sebastian Reichel <sre@kernel.org>, Tianping Fang <tianping.fang@mediatek.com> Subject: Re: [PATCH v6 05/13] rtc: mt6397: move some common definitions into rtc.h Date: Tue, 20 Aug 2019 21:48:03 +0200 [thread overview] Message-ID: <20190820194803.GW3545@piout.net> (raw) In-Reply-To: <20190818135611.7776-6-frank-w@public-files.de> On 18/08/2019 15:56:03+0200, Frank Wunderlich wrote: > From: Josef Friedl <josef.friedl@speed.at> > > move code to separate header-file to reuse definitions later > in poweroff-driver (drivers/power/reset/mt6323-poweroff.c) > > Suggested-by: Frank Wunderlich <frank-w@public-files.de> > Signed-off-by: Josef Friedl <josef.friedl@speed.at> > Signed-off-by: Frank Wunderlich <frank-w@public-files.de> Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com> > --- > changes since v5: none > changes since v4: none > changes since v3: none > changes since v2: add missing commit-message > --- > drivers/rtc/rtc-mt6397.c | 55 +------------------------- > include/linux/mfd/mt6397/rtc.h | 71 ++++++++++++++++++++++++++++++++++ > 2 files changed, 72 insertions(+), 54 deletions(-) > create mode 100644 include/linux/mfd/mt6397/rtc.h > > diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c > index b46ed4dc7015..c08ee5edf865 100644 > --- a/drivers/rtc/rtc-mt6397.c > +++ b/drivers/rtc/rtc-mt6397.c > @@ -9,60 +9,7 @@ > #include <linux/module.h> > #include <linux/regmap.h> > #include <linux/rtc.h> > -#include <linux/irqdomain.h> > -#include <linux/platform_device.h> > -#include <linux/of_address.h> > -#include <linux/of_irq.h> > -#include <linux/io.h> > -#include <linux/mfd/mt6397/core.h> > - > -#define RTC_BBPU 0x0000 > -#define RTC_BBPU_CBUSY BIT(6) > - > -#define RTC_WRTGR 0x003c > - > -#define RTC_IRQ_STA 0x0002 > -#define RTC_IRQ_STA_AL BIT(0) > -#define RTC_IRQ_STA_LP BIT(3) > - > -#define RTC_IRQ_EN 0x0004 > -#define RTC_IRQ_EN_AL BIT(0) > -#define RTC_IRQ_EN_ONESHOT BIT(2) > -#define RTC_IRQ_EN_LP BIT(3) > -#define RTC_IRQ_EN_ONESHOT_AL (RTC_IRQ_EN_ONESHOT | RTC_IRQ_EN_AL) > - > -#define RTC_AL_MASK 0x0008 > -#define RTC_AL_MASK_DOW BIT(4) > - > -#define RTC_TC_SEC 0x000a > -/* Min, Hour, Dom... register offset to RTC_TC_SEC */ > -#define RTC_OFFSET_SEC 0 > -#define RTC_OFFSET_MIN 1 > -#define RTC_OFFSET_HOUR 2 > -#define RTC_OFFSET_DOM 3 > -#define RTC_OFFSET_DOW 4 > -#define RTC_OFFSET_MTH 5 > -#define RTC_OFFSET_YEAR 6 > -#define RTC_OFFSET_COUNT 7 > - > -#define RTC_AL_SEC 0x0018 > - > -#define RTC_PDN2 0x002e > -#define RTC_PDN2_PWRON_ALARM BIT(4) > - > -#define RTC_MIN_YEAR 1968 > -#define RTC_BASE_YEAR 1900 > -#define RTC_NUM_YEARS 128 > -#define RTC_MIN_YEAR_OFFSET (RTC_MIN_YEAR - RTC_BASE_YEAR) > - > -struct mt6397_rtc { > - struct device *dev; > - struct rtc_device *rtc_dev; > - struct mutex lock; > - struct regmap *regmap; > - int irq; > - u32 addr_base; > -}; > +#include <linux/mfd/mt6397/rtc.h> > > static int mtk_rtc_write_trigger(struct mt6397_rtc *rtc) > { > diff --git a/include/linux/mfd/mt6397/rtc.h b/include/linux/mfd/mt6397/rtc.h > new file mode 100644 > index 000000000000..b702c29e8c74 > --- /dev/null > +++ b/include/linux/mfd/mt6397/rtc.h > @@ -0,0 +1,71 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +/* > + * Copyright (C) 2014-2018 MediaTek Inc. > + * > + * Author: Tianping.Fang <tianping.fang@mediatek.com> > + * Sean Wang <sean.wang@mediatek.com> > + */ > + > +#ifndef _LINUX_MFD_MT6397_RTC_H_ > +#define _LINUX_MFD_MT6397_RTC_H_ > + > +#include <linux/jiffies.h> > +#include <linux/mutex.h> > +#include <linux/regmap.h> > +#include <linux/rtc.h> > + > +#define RTC_BBPU 0x0000 > +#define RTC_BBPU_CBUSY BIT(6) > +#define RTC_BBPU_KEY (0x43 << 8) > + > +#define RTC_WRTGR 0x003c > + > +#define RTC_IRQ_STA 0x0002 > +#define RTC_IRQ_STA_AL BIT(0) > +#define RTC_IRQ_STA_LP BIT(3) > + > +#define RTC_IRQ_EN 0x0004 > +#define RTC_IRQ_EN_AL BIT(0) > +#define RTC_IRQ_EN_ONESHOT BIT(2) > +#define RTC_IRQ_EN_LP BIT(3) > +#define RTC_IRQ_EN_ONESHOT_AL (RTC_IRQ_EN_ONESHOT | RTC_IRQ_EN_AL) > + > +#define RTC_AL_MASK 0x0008 > +#define RTC_AL_MASK_DOW BIT(4) > + > +#define RTC_TC_SEC 0x000a > +/* Min, Hour, Dom... register offset to RTC_TC_SEC */ > +#define RTC_OFFSET_SEC 0 > +#define RTC_OFFSET_MIN 1 > +#define RTC_OFFSET_HOUR 2 > +#define RTC_OFFSET_DOM 3 > +#define RTC_OFFSET_DOW 4 > +#define RTC_OFFSET_MTH 5 > +#define RTC_OFFSET_YEAR 6 > +#define RTC_OFFSET_COUNT 7 > + > +#define RTC_AL_SEC 0x0018 > + > +#define RTC_PDN2 0x002e > +#define RTC_PDN2_PWRON_ALARM BIT(4) > + > +#define RTC_MIN_YEAR 1968 > +#define RTC_BASE_YEAR 1900 > +#define RTC_NUM_YEARS 128 > +#define RTC_MIN_YEAR_OFFSET (RTC_MIN_YEAR - RTC_BASE_YEAR) > + > +#define MTK_RTC_POLL_DELAY_US 10 > +#define MTK_RTC_POLL_TIMEOUT (jiffies_to_usecs(HZ)) > + > +struct mt6397_rtc { > + struct device *dev; > + struct rtc_device *rtc_dev; > + > + /* Protect register access from multiple tasks */ > + struct mutex lock; > + struct regmap *regmap; > + int irq; > + u32 addr_base; > +}; > + > +#endif /* _LINUX_MFD_MT6397_RTC_H_ */ > -- > 2.17.1 > -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
WARNING: multiple messages have this Message-ID (diff)
From: Alexandre Belloni <alexandre.belloni@bootlin.com> To: Frank Wunderlich <frank-w@public-files.de> Cc: linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, Josef Friedl <josef.friedl@speed.at>, Sean Wang <sean.wang@mediatek.com>, "linux-arm-kernel @ lists . infradead . org Alessandro Zummo" <a.zummo@towertech.it>, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Sebastian Reichel <sre@kernel.org>, Tianping Fang <tianping.fang@mediatek.com>, Rob Herring <robh+dt@kernel.org>, linux-mediatek@lists.infradead.org, Matthias Brugger <matthias.bgg@gmail.com>, Mark Rutland <mark.rutland@arm.com>, Eddie Huang <eddie.huang@mediatek.com>, Lee Jones <lee.jones@linaro.org>, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v6 05/13] rtc: mt6397: move some common definitions into rtc.h Date: Tue, 20 Aug 2019 21:48:03 +0200 [thread overview] Message-ID: <20190820194803.GW3545@piout.net> (raw) In-Reply-To: <20190818135611.7776-6-frank-w@public-files.de> On 18/08/2019 15:56:03+0200, Frank Wunderlich wrote: > From: Josef Friedl <josef.friedl@speed.at> > > move code to separate header-file to reuse definitions later > in poweroff-driver (drivers/power/reset/mt6323-poweroff.c) > > Suggested-by: Frank Wunderlich <frank-w@public-files.de> > Signed-off-by: Josef Friedl <josef.friedl@speed.at> > Signed-off-by: Frank Wunderlich <frank-w@public-files.de> Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com> > --- > changes since v5: none > changes since v4: none > changes since v3: none > changes since v2: add missing commit-message > --- > drivers/rtc/rtc-mt6397.c | 55 +------------------------- > include/linux/mfd/mt6397/rtc.h | 71 ++++++++++++++++++++++++++++++++++ > 2 files changed, 72 insertions(+), 54 deletions(-) > create mode 100644 include/linux/mfd/mt6397/rtc.h > > diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c > index b46ed4dc7015..c08ee5edf865 100644 > --- a/drivers/rtc/rtc-mt6397.c > +++ b/drivers/rtc/rtc-mt6397.c > @@ -9,60 +9,7 @@ > #include <linux/module.h> > #include <linux/regmap.h> > #include <linux/rtc.h> > -#include <linux/irqdomain.h> > -#include <linux/platform_device.h> > -#include <linux/of_address.h> > -#include <linux/of_irq.h> > -#include <linux/io.h> > -#include <linux/mfd/mt6397/core.h> > - > -#define RTC_BBPU 0x0000 > -#define RTC_BBPU_CBUSY BIT(6) > - > -#define RTC_WRTGR 0x003c > - > -#define RTC_IRQ_STA 0x0002 > -#define RTC_IRQ_STA_AL BIT(0) > -#define RTC_IRQ_STA_LP BIT(3) > - > -#define RTC_IRQ_EN 0x0004 > -#define RTC_IRQ_EN_AL BIT(0) > -#define RTC_IRQ_EN_ONESHOT BIT(2) > -#define RTC_IRQ_EN_LP BIT(3) > -#define RTC_IRQ_EN_ONESHOT_AL (RTC_IRQ_EN_ONESHOT | RTC_IRQ_EN_AL) > - > -#define RTC_AL_MASK 0x0008 > -#define RTC_AL_MASK_DOW BIT(4) > - > -#define RTC_TC_SEC 0x000a > -/* Min, Hour, Dom... register offset to RTC_TC_SEC */ > -#define RTC_OFFSET_SEC 0 > -#define RTC_OFFSET_MIN 1 > -#define RTC_OFFSET_HOUR 2 > -#define RTC_OFFSET_DOM 3 > -#define RTC_OFFSET_DOW 4 > -#define RTC_OFFSET_MTH 5 > -#define RTC_OFFSET_YEAR 6 > -#define RTC_OFFSET_COUNT 7 > - > -#define RTC_AL_SEC 0x0018 > - > -#define RTC_PDN2 0x002e > -#define RTC_PDN2_PWRON_ALARM BIT(4) > - > -#define RTC_MIN_YEAR 1968 > -#define RTC_BASE_YEAR 1900 > -#define RTC_NUM_YEARS 128 > -#define RTC_MIN_YEAR_OFFSET (RTC_MIN_YEAR - RTC_BASE_YEAR) > - > -struct mt6397_rtc { > - struct device *dev; > - struct rtc_device *rtc_dev; > - struct mutex lock; > - struct regmap *regmap; > - int irq; > - u32 addr_base; > -}; > +#include <linux/mfd/mt6397/rtc.h> > > static int mtk_rtc_write_trigger(struct mt6397_rtc *rtc) > { > diff --git a/include/linux/mfd/mt6397/rtc.h b/include/linux/mfd/mt6397/rtc.h > new file mode 100644 > index 000000000000..b702c29e8c74 > --- /dev/null > +++ b/include/linux/mfd/mt6397/rtc.h > @@ -0,0 +1,71 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +/* > + * Copyright (C) 2014-2018 MediaTek Inc. > + * > + * Author: Tianping.Fang <tianping.fang@mediatek.com> > + * Sean Wang <sean.wang@mediatek.com> > + */ > + > +#ifndef _LINUX_MFD_MT6397_RTC_H_ > +#define _LINUX_MFD_MT6397_RTC_H_ > + > +#include <linux/jiffies.h> > +#include <linux/mutex.h> > +#include <linux/regmap.h> > +#include <linux/rtc.h> > + > +#define RTC_BBPU 0x0000 > +#define RTC_BBPU_CBUSY BIT(6) > +#define RTC_BBPU_KEY (0x43 << 8) > + > +#define RTC_WRTGR 0x003c > + > +#define RTC_IRQ_STA 0x0002 > +#define RTC_IRQ_STA_AL BIT(0) > +#define RTC_IRQ_STA_LP BIT(3) > + > +#define RTC_IRQ_EN 0x0004 > +#define RTC_IRQ_EN_AL BIT(0) > +#define RTC_IRQ_EN_ONESHOT BIT(2) > +#define RTC_IRQ_EN_LP BIT(3) > +#define RTC_IRQ_EN_ONESHOT_AL (RTC_IRQ_EN_ONESHOT | RTC_IRQ_EN_AL) > + > +#define RTC_AL_MASK 0x0008 > +#define RTC_AL_MASK_DOW BIT(4) > + > +#define RTC_TC_SEC 0x000a > +/* Min, Hour, Dom... register offset to RTC_TC_SEC */ > +#define RTC_OFFSET_SEC 0 > +#define RTC_OFFSET_MIN 1 > +#define RTC_OFFSET_HOUR 2 > +#define RTC_OFFSET_DOM 3 > +#define RTC_OFFSET_DOW 4 > +#define RTC_OFFSET_MTH 5 > +#define RTC_OFFSET_YEAR 6 > +#define RTC_OFFSET_COUNT 7 > + > +#define RTC_AL_SEC 0x0018 > + > +#define RTC_PDN2 0x002e > +#define RTC_PDN2_PWRON_ALARM BIT(4) > + > +#define RTC_MIN_YEAR 1968 > +#define RTC_BASE_YEAR 1900 > +#define RTC_NUM_YEARS 128 > +#define RTC_MIN_YEAR_OFFSET (RTC_MIN_YEAR - RTC_BASE_YEAR) > + > +#define MTK_RTC_POLL_DELAY_US 10 > +#define MTK_RTC_POLL_TIMEOUT (jiffies_to_usecs(HZ)) > + > +struct mt6397_rtc { > + struct device *dev; > + struct rtc_device *rtc_dev; > + > + /* Protect register access from multiple tasks */ > + struct mutex lock; > + struct regmap *regmap; > + int irq; > + u32 addr_base; > +}; > + > +#endif /* _LINUX_MFD_MT6397_RTC_H_ */ > -- > 2.17.1 > -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-08-20 19:48 UTC|newest] Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-08-18 13:55 [PATCH v6 00/13] implement poweroff for mt6323 / bpi-r2 Frank Wunderlich 2019-08-18 13:55 ` Frank Wunderlich 2019-08-18 13:55 ` [PATCH v6 01/13] dt-bindings: mfd: mediatek: mt6397: change to relative paths Frank Wunderlich 2019-08-18 13:55 ` Frank Wunderlich 2019-08-18 13:55 ` Frank Wunderlich 2019-08-27 16:33 ` Rob Herring 2019-08-27 16:33 ` Rob Herring 2019-08-27 16:33 ` Rob Herring 2019-09-02 9:43 ` Lee Jones 2019-09-02 9:43 ` Lee Jones 2019-09-02 9:43 ` Lee Jones 2019-08-18 13:56 ` [PATCH v6 02/13] dt-bindings: mfd: mediatek: update rtc to include mt6323 Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-27 16:46 ` Rob Herring 2019-08-27 16:46 ` Rob Herring 2019-08-27 16:46 ` Rob Herring 2019-09-02 9:44 ` Lee Jones 2019-09-02 9:44 ` Lee Jones 2019-09-02 9:44 ` Lee Jones 2019-08-18 13:56 ` [PATCH v6 03/13] dt-bindings: mfd: mediatek: add mt6323 power-controller Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-27 16:46 ` Rob Herring 2019-08-27 16:46 ` Rob Herring 2019-08-27 16:46 ` Rob Herring 2019-09-02 9:44 ` Lee Jones 2019-09-02 9:44 ` Lee Jones 2019-09-02 9:44 ` Lee Jones 2019-08-18 13:56 ` [PATCH v6 04/13] dt-bindings: rtc: mediatek: add missing mt6397 rtc Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-27 16:47 ` Rob Herring 2019-08-27 16:47 ` Rob Herring 2019-08-27 16:47 ` Rob Herring 2019-08-18 13:56 ` [PATCH v6 05/13] rtc: mt6397: move some common definitions into rtc.h Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-20 19:48 ` Alexandre Belloni [this message] 2019-08-20 19:48 ` Alexandre Belloni 2019-08-20 19:48 ` Alexandre Belloni 2019-09-02 9:47 ` Lee Jones 2019-09-02 9:47 ` Lee Jones 2019-09-02 9:47 ` Lee Jones 2019-08-18 13:56 ` [PATCH v6 06/13] mfd: mt6397: add mutex include Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-09-02 9:49 ` Lee Jones 2019-09-02 9:49 ` Lee Jones 2019-09-02 9:49 ` Lee Jones 2019-08-18 13:56 ` [PATCH v6 07/13] rtc: mt6397: improvements of rtc driver Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-20 19:49 ` Alexandre Belloni 2019-08-20 19:49 ` Alexandre Belloni 2019-08-20 19:49 ` Alexandre Belloni 2019-08-18 13:56 ` [PATCH v6 08/13] mfd: mt6323: some improvements of mt6397-core Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-09-02 9:49 ` Lee Jones 2019-09-02 9:49 ` Lee Jones 2019-09-02 9:49 ` Lee Jones 2019-08-18 13:56 ` [PATCH v6 09/13] rtc: mt6397: add compatible for mt6323 Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-20 19:49 ` Alexandre Belloni 2019-08-20 19:49 ` Alexandre Belloni 2019-08-20 19:49 ` Alexandre Belloni 2019-08-18 13:56 ` [PATCH v6 10/13] mfd: mt6323: add mt6323 rtc+pwrc Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-09-02 9:50 ` Lee Jones 2019-09-02 9:50 ` Lee Jones 2019-09-02 9:50 ` Lee Jones 2019-08-18 13:56 ` [PATCH v6 11/13] power: reset: add driver for mt6323 poweroff Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-09-01 20:11 ` Sebastian Reichel 2019-09-01 20:11 ` Sebastian Reichel 2019-09-01 20:11 ` Sebastian Reichel 2019-08-18 13:56 ` [PATCH v6 12/13] MAINTAINERS: add Mediatek shutdown drivers Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-09-01 20:12 ` Sebastian Reichel 2019-09-01 20:12 ` Sebastian Reichel 2019-09-01 20:12 ` Sebastian Reichel 2019-08-18 13:56 ` [PATCH v6 13/13] arm: dts: mt6323: add keys, power-controller, rtc and codec Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 13:56 ` Frank Wunderlich 2019-08-18 14:30 ` [PATCH v6 00/13] implement poweroff for mt6323 / bpi-r2 Frank Wunderlich 2019-08-18 14:30 ` Frank Wunderlich 2019-08-18 14:30 ` Frank Wunderlich 2019-09-06 13:06 ` Frank Wunderlich 2019-09-06 13:06 ` Frank Wunderlich 2019-09-06 13:06 ` Frank Wunderlich 2019-08-18 16:07 Frank Wunderlich 2019-08-18 16:07 ` [PATCH v6 05/13] rtc: mt6397: move some common definitions into rtc.h Frank Wunderlich
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=20190820194803.GW3545@piout.net \ --to=alexandre.belloni@bootlin.com \ --cc=a.zummo@towertech.it \ --cc=devicetree@vger.kernel.org \ --cc=eddie.huang@mediatek.com \ --cc=frank-w@public-files.de \ --cc=josef.friedl@speed.at \ --cc=lee.jones@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mediatek@lists.infradead.org \ --cc=linux-pm@vger.kernel.org \ --cc=linux-rtc@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=matthias.bgg@gmail.com \ --cc=robh+dt@kernel.org \ --cc=sean.wang@mediatek.com \ --cc=sre@kernel.org \ --cc=tianping.fang@mediatek.com \ /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.