diff for duplicates of <20160624061645.20af1888@bbrezillon> diff --git a/a/1.txt b/N1/1.txt index 77de55f..2411011 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -12,64 +12,64 @@ BTW, can you avoid top-posting and reply inline? > > On Mon, 20 Jun 2016 12:48:38 +0800 > > Icenowy Zheng <icenowy@aosc.xyz> wrote: > > -> >> The NAND controller on some sun8i chips needs its reset line to be -> >> deasserted before they can enter working state. +> >> ?The NAND controller on some sun8i chips needs its reset line to be +> >> ?deasserted before they can enter working state. > >> -> >> Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> -> >> --- -> >> Changes in v2: -> >> - Corrected the error checking code of reset line. +> >> ?Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> +> >> ?--- +> >> ???Changes in v2: +> >> ?????- Corrected the error checking code of reset line. > >> -> >> Changes in v3: -> >> - Corrected a more serious error brought in the "fix" of v2. +> >> ???Changes in v3: +> >> ?????- Corrected a more serious error brought in the "fix" of v2. > >> -> >> Changes in v4: -> >> - Removed unneeded code block after "else". +> >> ???Changes in v4: +> >> ?????- Removed unneeded code block after "else". > >> -> >> Changes in v5: -> >> - Added reassertion code in case of initialization error and device -> >> remove. +> >> ???Changes in v5: +> >> ?????- Added reassertion code in case of initialization error and device +> >> ???????remove. > >> -> >> Changes in v6: -> >> - Fixed a resource leak by not using goto to exit in case of error. +> >> ???Changes in v6: +> >> ?????- Fixed a resource leak by not using goto to exit in case of error. > >> -> >> drivers/mtd/nand/sunxi_nand.c | 28 +++++++++++++++++++++++++--- -> >> 1 file changed, 25 insertions(+), 3 deletions(-) +> >> ??drivers/mtd/nand/sunxi_nand.c | 28 +++++++++++++++++++++++++--- +> >> ??1 file changed, 25 insertions(+), 3 deletions(-) > >> -> >> diff --git a/drivers/mtd/nand/sunxi_nand.c b/drivers/mtd/nand/sunxi_nand.c -> >> index a83a690..08d5e88 100644 -> >> --- a/drivers/mtd/nand/sunxi_nand.c -> >> +++ b/drivers/mtd/nand/sunxi_nand.c -> >> @@ -39,6 +39,7 @@ -> >> #include <linux/gpio.h> -> >> #include <linux/interrupt.h> -> >> #include <linux/iopoll.h> -> >> +#include <linux/reset.h> +> >> ?diff --git a/drivers/mtd/nand/sunxi_nand.c b/drivers/mtd/nand/sunxi_nand.c +> >> ?index a83a690..08d5e88 100644 +> >> ?--- a/drivers/mtd/nand/sunxi_nand.c +> >> ?+++ b/drivers/mtd/nand/sunxi_nand.c +> >> ?@@ -39,6 +39,7 @@ +> >> ??#include <linux/gpio.h> +> >> ??#include <linux/interrupt.h> +> >> ??#include <linux/iopoll.h> +> >> ?+#include <linux/reset.h> > >> -> >> #define NFC_REG_CTL 0x0000 -> >> #define NFC_REG_ST 0x0004 -> >> @@ -269,6 +270,7 @@ struct sunxi_nfc { -> >> void __iomem *regs; -> >> struct clk *ahb_clk; -> >> struct clk *mod_clk; -> >> + struct reset_control *reset; -> >> unsigned long assigned_cs; -> >> unsigned long clk_rate; -> >> struct list_head chips; -> >> @@ -1871,26 +1873,42 @@ static int sunxi_nfc_probe(struct platform_device *pdev) -> >> if (ret) -> >> goto out_ahb_clk_unprepare; +> >> ??#define NFC_REG_CTL 0x0000 +> >> ??#define NFC_REG_ST 0x0004 +> >> ?@@ -269,6 +270,7 @@ struct sunxi_nfc { +> >> ??????????void __iomem *regs; +> >> ??????????struct clk *ahb_clk; +> >> ??????????struct clk *mod_clk; +> >> ?+ struct reset_control *reset; +> >> ??????????unsigned long assigned_cs; +> >> ??????????unsigned long clk_rate; +> >> ??????????struct list_head chips; +> >> ?@@ -1871,26 +1873,42 @@ static int sunxi_nfc_probe(struct platform_device *pdev) +> >> ??????????if (ret) +> >> ??????????????????goto out_ahb_clk_unprepare; > >> -> >> + nfc->reset = devm_reset_control_get_optional(dev, "ahb"); -> >> + -> >> + if (!IS_ERR(nfc->reset)) { -> >> + ret = reset_control_deassert(nfc->reset); -> >> + if (ret) { -> >> + dev_err(dev, "reset err %d\n", ret); -> >> + goto out_mod_clk_unprepare; -> >> + } -> >> + } else if (PTR_ERR(nfc->reset) != -ENOENT) { -> >> + ret = PTR_ERR(nfc->reset); +> >> ?+ nfc->reset = devm_reset_control_get_optional(dev, "ahb"); +> >> ?+ +> >> ?+ if (!IS_ERR(nfc->reset)) { +> >> ?+ ret = reset_control_deassert(nfc->reset); +> >> ?+ if (ret) { +> >> ?+ dev_err(dev, "reset err %d\n", ret); +> >> ?+ goto out_mod_clk_unprepare; +> >> ?+ } +> >> ?+ } else if (PTR_ERR(nfc->reset) != -ENOENT) { +> >> ?+ ret = PTR_ERR(nfc->reset); > > > > You should return -EDEFER_PROBE here. > > diff --git a/a/content_digest b/N1/content_digest index 0d580ee..60a3a03 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -2,21 +2,10 @@ "ref\020160620044838.56904-2-icenowy@aosc.xyz\0" "ref\020160623180108.382bbaae@bbrezillon\0" "ref\01284641466724038@web7h.yandex.ru\0" - "From\0Boris Brezillon <boris.brezillon@free-electrons.com>\0" - "Subject\0Re: [PATCH v6 2/2] mtd: nand: sunxi: add reset line support\0" + "From\0boris.brezillon@free-electrons.com (Boris Brezillon)\0" + "Subject\0[PATCH v6 2/2] mtd: nand: sunxi: add reset line support\0" "Date\0Fri, 24 Jun 2016 06:16:45 +0200\0" - "To\0Icenowy Zheng <icenowy@aosc.xyz>\0" - "Cc\0maxime.ripard@free-electrons.com <maxime.ripard@free-electrons.com>" - wens@csie.org <wens@csie.org> - robh+dt@kernel.org <robh+dt@kernel.org> - richard@nod.at <richard@nod.at> - dwmw2@infradead.org <dwmw2@infradead.org> - computersforpeace@gmail.com <computersforpeace@gmail.com> - devicetree@vger.kernel.org <devicetree@vger.kernel.org> - linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org> - linux-mtd@lists.infradead.org <linux-mtd@lists.infradead.org> - linux-sunxi@googlegroups.com <linux-sunxi@googlegroups.com> - " linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org>\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" "b\0" "On Fri, 24 Jun 2016 07:20:38 +0800\n" @@ -33,64 +22,64 @@ "> > On Mon, 20 Jun 2016 12:48:38 +0800\n" "> > Icenowy Zheng <icenowy@aosc.xyz> wrote:\n" "> > \n" - "> >> \302\240The NAND controller on some sun8i chips needs its reset line to be\n" - "> >> \302\240deasserted before they can enter working state.\n" + "> >> ?The NAND controller on some sun8i chips needs its reset line to be\n" + "> >> ?deasserted before they can enter working state.\n" "> >>\n" - "> >> \302\240Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>\n" - "> >> \302\240---\n" - "> >> \302\240\302\240\302\240Changes in v2:\n" - "> >> \302\240\302\240\302\240\302\240\302\240- Corrected the error checking code of reset line.\n" + "> >> ?Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>\n" + "> >> ?---\n" + "> >> ???Changes in v2:\n" + "> >> ?????- Corrected the error checking code of reset line.\n" "> >>\n" - "> >> \302\240\302\240\302\240Changes in v3:\n" - "> >> \302\240\302\240\302\240\302\240\302\240- Corrected a more serious error brought in the \"fix\" of v2.\n" + "> >> ???Changes in v3:\n" + "> >> ?????- Corrected a more serious error brought in the \"fix\" of v2.\n" "> >>\n" - "> >> \302\240\302\240\302\240Changes in v4:\n" - "> >> \302\240\302\240\302\240\302\240\302\240- Removed unneeded code block after \"else\".\n" + "> >> ???Changes in v4:\n" + "> >> ?????- Removed unneeded code block after \"else\".\n" "> >>\n" - "> >> \302\240\302\240\302\240Changes in v5:\n" - "> >> \302\240\302\240\302\240\302\240\302\240- Added reassertion code in case of initialization error and device\n" - "> >> \302\240\302\240\302\240\302\240\302\240\302\240\302\240remove.\n" + "> >> ???Changes in v5:\n" + "> >> ?????- Added reassertion code in case of initialization error and device\n" + "> >> ???????remove.\n" "> >>\n" - "> >> \302\240\302\240\302\240Changes in v6:\n" - "> >> \302\240\302\240\302\240\302\240\302\240- Fixed a resource leak by not using goto to exit in case of error.\n" + "> >> ???Changes in v6:\n" + "> >> ?????- Fixed a resource leak by not using goto to exit in case of error.\n" "> >>\n" - "> >> \302\240\302\240drivers/mtd/nand/sunxi_nand.c | 28 +++++++++++++++++++++++++---\n" - "> >> \302\240\302\2401 file changed, 25 insertions(+), 3 deletions(-)\n" + "> >> ??drivers/mtd/nand/sunxi_nand.c | 28 +++++++++++++++++++++++++---\n" + "> >> ??1 file changed, 25 insertions(+), 3 deletions(-)\n" "> >>\n" - "> >> \302\240diff --git a/drivers/mtd/nand/sunxi_nand.c b/drivers/mtd/nand/sunxi_nand.c\n" - "> >> \302\240index a83a690..08d5e88 100644\n" - "> >> \302\240--- a/drivers/mtd/nand/sunxi_nand.c\n" - "> >> \302\240+++ b/drivers/mtd/nand/sunxi_nand.c\n" - "> >> \302\240@@ -39,6 +39,7 @@\n" - "> >> \302\240\302\240#include <linux/gpio.h>\n" - "> >> \302\240\302\240#include <linux/interrupt.h>\n" - "> >> \302\240\302\240#include <linux/iopoll.h>\n" - "> >> \302\240+#include <linux/reset.h>\n" + "> >> ?diff --git a/drivers/mtd/nand/sunxi_nand.c b/drivers/mtd/nand/sunxi_nand.c\n" + "> >> ?index a83a690..08d5e88 100644\n" + "> >> ?--- a/drivers/mtd/nand/sunxi_nand.c\n" + "> >> ?+++ b/drivers/mtd/nand/sunxi_nand.c\n" + "> >> ?@@ -39,6 +39,7 @@\n" + "> >> ??#include <linux/gpio.h>\n" + "> >> ??#include <linux/interrupt.h>\n" + "> >> ??#include <linux/iopoll.h>\n" + "> >> ?+#include <linux/reset.h>\n" "> >>\n" - "> >> \302\240\302\240#define NFC_REG_CTL 0x0000\n" - "> >> \302\240\302\240#define NFC_REG_ST 0x0004\n" - "> >> \302\240@@ -269,6 +270,7 @@ struct sunxi_nfc {\n" - "> >> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240void __iomem *regs;\n" - "> >> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240struct clk *ahb_clk;\n" - "> >> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240struct clk *mod_clk;\n" - "> >> \302\240+ struct reset_control *reset;\n" - "> >> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240unsigned long assigned_cs;\n" - "> >> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240unsigned long clk_rate;\n" - "> >> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240struct list_head chips;\n" - "> >> \302\240@@ -1871,26 +1873,42 @@ static int sunxi_nfc_probe(struct platform_device *pdev)\n" - "> >> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240if (ret)\n" - "> >> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240goto out_ahb_clk_unprepare;\n" + "> >> ??#define NFC_REG_CTL 0x0000\n" + "> >> ??#define NFC_REG_ST 0x0004\n" + "> >> ?@@ -269,6 +270,7 @@ struct sunxi_nfc {\n" + "> >> ??????????void __iomem *regs;\n" + "> >> ??????????struct clk *ahb_clk;\n" + "> >> ??????????struct clk *mod_clk;\n" + "> >> ?+ struct reset_control *reset;\n" + "> >> ??????????unsigned long assigned_cs;\n" + "> >> ??????????unsigned long clk_rate;\n" + "> >> ??????????struct list_head chips;\n" + "> >> ?@@ -1871,26 +1873,42 @@ static int sunxi_nfc_probe(struct platform_device *pdev)\n" + "> >> ??????????if (ret)\n" + "> >> ??????????????????goto out_ahb_clk_unprepare;\n" "> >>\n" - "> >> \302\240+ nfc->reset = devm_reset_control_get_optional(dev, \"ahb\");\n" - "> >> \302\240+\n" - "> >> \302\240+ if (!IS_ERR(nfc->reset)) {\n" - "> >> \302\240+ ret = reset_control_deassert(nfc->reset);\n" - "> >> \302\240+ if (ret) {\n" - "> >> \302\240+ dev_err(dev, \"reset err %d\\n\", ret);\n" - "> >> \302\240+ goto out_mod_clk_unprepare;\n" - "> >> \302\240+ }\n" - "> >> \302\240+ } else if (PTR_ERR(nfc->reset) != -ENOENT) {\n" - "> >> \302\240+ ret = PTR_ERR(nfc->reset); \n" + "> >> ?+ nfc->reset = devm_reset_control_get_optional(dev, \"ahb\");\n" + "> >> ?+\n" + "> >> ?+ if (!IS_ERR(nfc->reset)) {\n" + "> >> ?+ ret = reset_control_deassert(nfc->reset);\n" + "> >> ?+ if (ret) {\n" + "> >> ?+ dev_err(dev, \"reset err %d\\n\", ret);\n" + "> >> ?+ goto out_mod_clk_unprepare;\n" + "> >> ?+ }\n" + "> >> ?+ } else if (PTR_ERR(nfc->reset) != -ENOENT) {\n" + "> >> ?+ ret = PTR_ERR(nfc->reset); \n" "> >\n" "> > You should return -EDEFER_PROBE here.\n" "> >\n" @@ -98,4 +87,4 @@ "> >\n" > > [1]https://github.com/linux-nand/linux/tree/nand/next -ce825c7b3c25db07245661fbe64b9b76fdcc7bfd9909a54ca1e1a94f2165f35c +87516f6360d033529132a1cfd4ae92df7cfe2c8894c0adb2126e17e1137df783
diff --git a/a/1.txt b/N2/1.txt index 77de55f..57bb053 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -1,5 +1,5 @@ On Fri, 24 Jun 2016 07:20:38 +0800 -Icenowy Zheng <icenowy@aosc.xyz> wrote: +Icenowy Zheng <icenowy-ymACFijhrKM@public.gmane.org> wrote: > In my opinion, return directly PTR_ERR(nfc->reset) is OK here. > If devm_reset_control_get_optional() return -EPROBE_DEFER, the code here will also return it. However, if we get other error, why should it return -EPROBE_DEFER again? @@ -8,14 +8,14 @@ Sorry, I just had a brainfart :-). Your implementation is correct. BTW, can you avoid top-posting and reply inline? > -> 24.06.2016, 00:01, "Boris Brezillon" <boris.brezillon@free-electrons.com>: +> 24.06.2016, 00:01, "Boris Brezillon" <boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>: > > On Mon, 20 Jun 2016 12:48:38 +0800 -> > Icenowy Zheng <icenowy@aosc.xyz> wrote: +> > Icenowy Zheng <icenowy-ymACFijhrKM@public.gmane.org> wrote: > > > >> The NAND controller on some sun8i chips needs its reset line to be > >> deasserted before they can enter working state. > >> -> >> Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> +> >> Signed-off-by: Icenowy Zheng <icenowy-ymACFijhrKM@public.gmane.org> > >> --- > >> Changes in v2: > >> - Corrected the error checking code of reset line. @@ -75,4 +75,9 @@ BTW, can you avoid top-posting and reply inline? > > > > And can you please rebase this series on top of nand/next [1]? > > -> > [1]https://github.com/linux-nand/linux/tree/nand/next +> > [1]https://github.com/linux-nand/linux/tree/nand/next + +-- +You received this message because you are subscribed to the Google Groups "linux-sunxi" group. +To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org +For more options, visit https://groups.google.com/d/optout. diff --git a/a/content_digest b/N2/content_digest index 0d580ee..f86004f 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -2,25 +2,26 @@ "ref\020160620044838.56904-2-icenowy@aosc.xyz\0" "ref\020160623180108.382bbaae@bbrezillon\0" "ref\01284641466724038@web7h.yandex.ru\0" - "From\0Boris Brezillon <boris.brezillon@free-electrons.com>\0" + "ref\01284641466724038-tvSLaYVQeptuio3avFS2gg@public.gmane.org\0" + "From\0Boris Brezillon <boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>\0" "Subject\0Re: [PATCH v6 2/2] mtd: nand: sunxi: add reset line support\0" "Date\0Fri, 24 Jun 2016 06:16:45 +0200\0" - "To\0Icenowy Zheng <icenowy@aosc.xyz>\0" - "Cc\0maxime.ripard@free-electrons.com <maxime.ripard@free-electrons.com>" - wens@csie.org <wens@csie.org> - robh+dt@kernel.org <robh+dt@kernel.org> - richard@nod.at <richard@nod.at> - dwmw2@infradead.org <dwmw2@infradead.org> - computersforpeace@gmail.com <computersforpeace@gmail.com> - devicetree@vger.kernel.org <devicetree@vger.kernel.org> - linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org> - linux-mtd@lists.infradead.org <linux-mtd@lists.infradead.org> - linux-sunxi@googlegroups.com <linux-sunxi@googlegroups.com> - " linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org>\0" + "To\0Icenowy Zheng <icenowy-ymACFijhrKM@public.gmane.org>\0" + "Cc\0maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org <maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>" + wens-jdAy2FN1RRM@public.gmane.org <wens-jdAy2FN1RRM@public.gmane.org> + robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> + richard-/L3Ra7n9ekc@public.gmane.org <richard-/L3Ra7n9ekc@public.gmane.org> + dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> + computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org <computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> + devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org> + linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org> + linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org <linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org> + linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org <linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> + " linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org <linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>\0" "\00:1\0" "b\0" "On Fri, 24 Jun 2016 07:20:38 +0800\n" - "Icenowy Zheng <icenowy@aosc.xyz> wrote:\n" + "Icenowy Zheng <icenowy-ymACFijhrKM@public.gmane.org> wrote:\n" "\n" "> In my opinion, return directly PTR_ERR(nfc->reset) is OK here.\n" "> If devm_reset_control_get_optional() return -EPROBE_DEFER, the code here will also return it. However, if we get other error, why should it return -EPROBE_DEFER again?\n" @@ -29,14 +30,14 @@ "BTW, can you avoid top-posting and reply inline?\n" "\n" "> \n" - "> 24.06.2016, 00:01, \"Boris Brezillon\" <boris.brezillon@free-electrons.com>:\n" + "> 24.06.2016, 00:01, \"Boris Brezillon\" <boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>:\n" "> > On Mon, 20 Jun 2016 12:48:38 +0800\n" - "> > Icenowy Zheng <icenowy@aosc.xyz> wrote:\n" + "> > Icenowy Zheng <icenowy-ymACFijhrKM@public.gmane.org> wrote:\n" "> > \n" "> >> \302\240The NAND controller on some sun8i chips needs its reset line to be\n" "> >> \302\240deasserted before they can enter working state.\n" "> >>\n" - "> >> \302\240Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz>\n" + "> >> \302\240Signed-off-by: Icenowy Zheng <icenowy-ymACFijhrKM@public.gmane.org>\n" "> >> \302\240---\n" "> >> \302\240\302\240\302\240Changes in v2:\n" "> >> \302\240\302\240\302\240\302\240\302\240- Corrected the error checking code of reset line.\n" @@ -96,6 +97,11 @@ "> >\n" "> > And can you please rebase this series on top of nand/next [1]?\n" "> >\n" - > > [1]https://github.com/linux-nand/linux/tree/nand/next + "> > [1]https://github.com/linux-nand/linux/tree/nand/next \n" + "\n" + "-- \n" + "You received this message because you are subscribed to the Google Groups \"linux-sunxi\" group.\n" + "To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org\n" + For more options, visit https://groups.google.com/d/optout. -ce825c7b3c25db07245661fbe64b9b76fdcc7bfd9909a54ca1e1a94f2165f35c +2ac3b6a3cee83c85f6c566aa49ebb398901397bc8720fe0e45d9b17fa748572d
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.