[{"id":1773457,"web_url":"http://patchwork.ozlabs.org/comment/1773457/","msgid":"<d6359e89-7c78-fdec-fbab-eb885017ec58@microchip.com>","list_archive_url":null,"date":"2017-09-22T10:31:12","subject":"Re: [PATCH v2 3/9] clk: at91: pmc: Support backup for programmable\n\tclocks","submitter":{"id":71036,"url":"http://patchwork.ozlabs.org/api/people/71036/","name":"Nicolas Ferre","email":"nicolas.ferre@microchip.com"},"content":"On 15/09/2017 at 16:04, Romain Izard wrote:\n> From: Romain Izard <romain.izard@mobile-devices.fr>\n> \n> When an AT91 programmable clock is declared in the device tree, register\n> it into the Power Management Controller driver. On entering suspend mode,\n> the driver saves and restores the Programmable Clock registers to support\n> the backup mode for these clocks.\n> \n> Signed-off-by: Romain Izard <romain.izard.pro@gmail.com>\n\nRomain,\n\nSome nitpicking and one comment. But on the overall patch, here is my:\nAcked-by: Nicolas Ferre <nicolas.ferre@microchip.com>\n\nSee below:\n\n> ---\n> Changes in v2:\n> * register PCKs on clock startup\n> \n>  drivers/clk/at91/clk-programmable.c |  2 ++\n>  drivers/clk/at91/pmc.c              | 27 +++++++++++++++++++++++++++\n>  drivers/clk/at91/pmc.h              |  2 ++\n>  3 files changed, 31 insertions(+)\n> \n> diff --git a/drivers/clk/at91/clk-programmable.c b/drivers/clk/at91/clk-programmable.c\n> index 85a449cf61e3..0e6aab1252fc 100644\n> --- a/drivers/clk/at91/clk-programmable.c\n> +++ b/drivers/clk/at91/clk-programmable.c\n> @@ -204,6 +204,8 @@ at91_clk_register_programmable(struct regmap *regmap,\n>  \tif (ret) {\n>  \t\tkfree(prog);\n>  \t\thw = ERR_PTR(ret);\n\nNit: \"else\" not needed.\n\n> +\t} else {\n> +\t\tpmc_register_pck(id);\n>  \t}\n>  \n>  \treturn hw;\n> diff --git a/drivers/clk/at91/pmc.c b/drivers/clk/at91/pmc.c\n> index 07dc2861ad3f..3910b7537152 100644\n> --- a/drivers/clk/at91/pmc.c\n> +++ b/drivers/clk/at91/pmc.c\n> @@ -22,6 +22,7 @@\n>  #include \"pmc.h\"\n>  \n>  #define PMC_MAX_IDS 128\n> +#define PMC_MAX_PCKS 8\n>  \n>  int of_at91_get_clk_range(struct device_node *np, const char *propname,\n>  \t\t\t  struct clk_range *range)\n> @@ -50,6 +51,7 @@ EXPORT_SYMBOL_GPL(of_at91_get_clk_range);\n>  static struct regmap *pmcreg;\n>  \n>  static u8 registered_ids[PMC_MAX_IDS];\n> +static u8 registered_pcks[PMC_MAX_PCKS];\n>  \n>  static struct\n>  {\n> @@ -66,8 +68,10 @@ static struct\n>  \tu32 pcr[PMC_MAX_IDS];\n>  \tu32 audio_pll0;\n>  \tu32 audio_pll1;\n> +\tu32 pckr[PMC_MAX_PCKS];\n>  } pmc_cache;\n>  \n> +/* Clock ID 0 is invalid */\n\n(read: so we can use the 0 value as an indicator that this place in the\ntable hasn't been filled, so unused)\n\n>  void pmc_register_id(u8 id)\n>  {\n>  \tint i;\n> @@ -82,6 +86,21 @@ void pmc_register_id(u8 id)\n>  \t}\n>  }\n>  \n> +/* Programmable Clock 0 is valid */\n\nI understand the rationale behind these ^^ two comments, but I would\nlike that it's more explicit. Saying that you will store the pck id as\n(id + 1) and that you would have to invert this operation while using\nthe stored id.\nMaybe add a comment about this transformation to the struct definition\nas well...\n\n\n> +void pmc_register_pck(u8 pck)\n> +{\n> +\tint i;\n> +\n> +\tfor (i = 0; i < PMC_MAX_PCKS; i++) {\n> +\t\tif (registered_pcks[i] == 0) {\n> +\t\t\tregistered_pcks[i] = pck + 1;\n> +\t\t\tbreak;\n> +\t\t}\n> +\t\tif (registered_pcks[i] == (pck + 1))\n> +\t\t\tbreak;\n> +\t}\n> +}\n> +\n>  static int pmc_suspend(void)\n>  {\n>  \tint i;\n> @@ -103,6 +122,10 @@ static int pmc_suspend(void)\n>  \t\tregmap_read(pmcreg, AT91_PMC_PCR,\n>  \t\t\t    &pmc_cache.pcr[registered_ids[i]]);\n>  \t}\n> +\tfor (i = 0; registered_pcks[i]; i++) {\n> +\t\tu8 num = registered_pcks[i] - 1;\n\nNit: declaration are better made at the beginning of the function. This\nlead to a checkpatch warning:\n\"WARNING: Missing a blank line after declarations\"\n\n> +\t\tregmap_read(pmcreg, AT91_PMC_PCKR(num), &pmc_cache.pckr[num]);\n> +\t}\n>  \n>  \treturn 0;\n>  }\n> @@ -143,6 +166,10 @@ static void pmc_resume(void)\n>  \t\t\t     pmc_cache.pcr[registered_ids[i]] |\n>  \t\t\t     AT91_PMC_PCR_CMD);\n>  \t}\n> +\tfor (i = 0; registered_pcks[i]; i++) {\n> +\t\tu8 num = registered_pcks[i] - 1;\n\nDitto\n\n> +\t\tregmap_write(pmcreg, AT91_PMC_PCKR(num), pmc_cache.pckr[num]);\n> +\t}\n>  \n>  \tif (pmc_cache.uckr & AT91_PMC_UPLLEN)\n>  \t\tmask |= AT91_PMC_LOCKU;\n> diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h\n> index 858e8ef7e8db..d22b1fa9ecdc 100644\n> --- a/drivers/clk/at91/pmc.h\n> +++ b/drivers/clk/at91/pmc.h\n> @@ -31,8 +31,10 @@ int of_at91_get_clk_range(struct device_node *np, const char *propname,\n>  \n>  #ifdef CONFIG_PM\n>  void pmc_register_id(u8 id);\n> +void pmc_register_pck(u8 pck);\n>  #else\n>  static inline void pmc_register_id(u8 id) {}\n> +static inline void pmc_register_pck(u8 pck) {}\n>  #endif\n>  \n>  #endif /* __PMC_H_ */\n>","headers":{"Return-Path":"<linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org; spf=none (mailfrom)\n\tsmtp.mailfrom=lists.infradead.org (client-ip=65.50.211.133;\n\thelo=bombadil.infradead.org;\n\tenvelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"OgPN87hl\"; \n\tdkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xz8sR3yNJz9s7h\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 22 Sep 2017 20:31:23 +1000 (AEST)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dvLEo-0003Pb-NR; Fri, 22 Sep 2017 10:31:14 +0000","from esa3.microchip.iphmx.com ([68.232.153.233])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dvLE6-0002AQ-Kv; Fri, 22 Sep 2017 10:30:33 +0000","from smtpout.microchip.com (HELO email.microchip.com)\n\t([198.175.253.82])\n\tby esa3.microchip.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-SHA;\n\t22 Sep 2017 03:30:06 -0700","from [10.159.245.112] (10.10.76.4) by chn-sv-exch05.mchp-main.com\n\t(10.10.76.106) with Microsoft SMTP Server id 14.3.352.0;\n\tFri, 22 Sep 2017 03:30:05 -0700"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:\n\tMessage-ID:From:References:To:Subject:Reply-To:Content-ID:Content-Description\n\t:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=TOEGhDMBg7Xtlp7cTyHGnHd1owUQXoxvwOcFNh4JFq4=;\n\tb=OgPN87hleTbYOP\n\tbC4QzyZS2+8VGWgUQUIbC3c6MzjIGFxuJ+0tDS34jJFHKKT6+9ACHMP0/WuzbDIRCUAWlgEgozrvl\n\tzZynJcu4OvVMCp6sxVajHDnWt9jKa9OIhReuyKYg59F9GIIgMIQzsWCrS5A0r5KEGxoszMHY2HZJG\n\tKhoTho1Kyu2Yrl/J+edsq+eX7Nz2VlBQCIUd299xEYCoBnVntacSqRX44iXI1XpTtsF89qtHBouRl\n\txtlJnaUks9XFjU9GIDRbahqtibVRafKy0z+o2WhHLmtkSXe3q5ds6zumtvpDStUaglnqlIMSi6u3p\n\t0KPIRVQ4PSJ+B8SpBwCA==;","X-IronPort-AV":"E=Sophos;i=\"5.42,427,1500966000\"; d=\"scan'208\";a=\"7270387\"","Subject":"Re: [PATCH v2 3/9] clk: at91: pmc: Support backup for programmable\n\tclocks","To":"Romain Izard <romain.izard.pro@gmail.com>, Alexandre Belloni\n\t<alexandre.belloni@free-electrons.com>, Boris Brezillon\n\t<boris.brezillon@free-electrons.com>, Michael Turquette\n\t<mturquette@baylibre.com>, Stephen Boyd <sboyd@codeaurora.org>, Ludovic\n\tDesroches <ludovic.desroches@microchip.com>, Wenyou Yang\n\t<wenyou.yang@atmel.com>, Josh Wu <rainyfeeling@outlook.com>,\n\tDavid Woodhouse\n\t<dwmw2@infradead.org>, Brian Norris <computersforpeace@gmail.com>, Marek\n\tVasut <marek.vasut@gmail.com>,\n\tCyrille Pitchen <cyrille.pitchen@wedev4u.fr>, \n\tThierry Reding <thierry.reding@gmail.com>, Richard Genoud\n\t<richard.genoud@gmail.com>,\n\tGreg Kroah-Hartman <gregkh@linuxfoundation.org>, \n\tAlan Stern <stern@rowland.harvard.edu>","References":"<20170915140411.31716-1-romain.izard.pro@gmail.com>\n\t<20170915140411.31716-4-romain.izard.pro@gmail.com>","From":"Nicolas Ferre <nicolas.ferre@microchip.com>","Organization":"microchip","Message-ID":"<d6359e89-7c78-fdec-fbab-eb885017ec58@microchip.com>","Date":"Fri, 22 Sep 2017 12:31:12 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20170915140411.31716-4-romain.izard.pro@gmail.com>","Content-Language":"en-US","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20170922_033030_835347_A5012895 ","X-CRM114-Status":"GOOD (  19.26  )","X-Spam-Score":"-2.6 (--)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-2.6 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,\n\tlow trust [68.232.153.233 listed in list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-mtd@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"Linux MTD discussion mailing list <linux-mtd.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-mtd>,\n\t<mailto:linux-mtd-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-mtd/>","List-Post":"<mailto:linux-mtd@lists.infradead.org>","List-Help":"<mailto:linux-mtd-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-mtd>,\n\t<mailto:linux-mtd-request@lists.infradead.org?subject=subscribe>","Cc":"linux-pwm@vger.kernel.org, linux-usb@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org,\n\tlinux-serial@vger.kernel.org,\n\tRomain Izard <romain.izard@mobile-devices.fr>, \n\tlinux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-mtd\" <linux-mtd-bounces@lists.infradead.org>","Errors-To":"linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"}},{"id":1774508,"web_url":"http://patchwork.ozlabs.org/comment/1774508/","msgid":"<CAGkQfmOQ_5hb-OKWQxjboPS1V0v-jCPxyyDZyCyZLFYFoeXWbA@mail.gmail.com>","list_archive_url":null,"date":"2017-09-25T08:25:35","subject":"Re: [PATCH v2 3/9] clk: at91: pmc: Support backup for programmable\n\tclocks","submitter":{"id":8236,"url":"http://patchwork.ozlabs.org/api/people/8236/","name":"Romain Izard","email":"romain.izard.pro@gmail.com"},"content":"2017-09-22 12:31 GMT+02:00 Nicolas Ferre <nicolas.ferre@microchip.com>:\n> On 15/09/2017 at 16:04, Romain Izard wrote:\n>> From: Romain Izard <romain.izard@mobile-devices.fr>\n>>\n>> When an AT91 programmable clock is declared in the device tree, register\n>> it into the Power Management Controller driver. On entering suspend mode,\n>> the driver saves and restores the Programmable Clock registers to support\n>> the backup mode for these clocks.\n>>\n>> Signed-off-by: Romain Izard <romain.izard.pro@gmail.com>\n>\n> Romain,\n>\n> Some nitpicking and one comment. But on the overall patch, here is my:\n> Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>\n>\n> See below:\n>\n>> ---\n>> Changes in v2:\n>> * register PCKs on clock startup\n>>\n>>  drivers/clk/at91/clk-programmable.c |  2 ++\n>>  drivers/clk/at91/pmc.c              | 27 +++++++++++++++++++++++++++\n>>  drivers/clk/at91/pmc.h              |  2 ++\n>>  3 files changed, 31 insertions(+)\n>>\n>> diff --git a/drivers/clk/at91/clk-programmable.c b/drivers/clk/at91/clk-programmable.c\n>> index 85a449cf61e3..0e6aab1252fc 100644\n>> --- a/drivers/clk/at91/clk-programmable.c\n>> +++ b/drivers/clk/at91/clk-programmable.c\n>> @@ -204,6 +204,8 @@ at91_clk_register_programmable(struct regmap *regmap,\n>>       if (ret) {\n>>               kfree(prog);\n>>               hw = ERR_PTR(ret);\n>\n> Nit: \"else\" not needed.\n>\nThis is a shared idiom in all the atmel clock drivers, so I prefer to keep\nit this way.\n\n>> +     } else {\n>> +             pmc_register_pck(id);\n>>       }\n>>\n>>       return hw;\n>> diff --git a/drivers/clk/at91/pmc.c b/drivers/clk/at91/pmc.c\n>> index 07dc2861ad3f..3910b7537152 100644\n>> --- a/drivers/clk/at91/pmc.c\n>> +++ b/drivers/clk/at91/pmc.c\n>> @@ -22,6 +22,7 @@\n>>  #include \"pmc.h\"\n>>\n>>  #define PMC_MAX_IDS 128\n>> +#define PMC_MAX_PCKS 8\n>>\n>>  int of_at91_get_clk_range(struct device_node *np, const char *propname,\n>>                         struct clk_range *range)\n>> @@ -50,6 +51,7 @@ EXPORT_SYMBOL_GPL(of_at91_get_clk_range);\n>>  static struct regmap *pmcreg;\n>>\n>>  static u8 registered_ids[PMC_MAX_IDS];\n>> +static u8 registered_pcks[PMC_MAX_PCKS];\n>>\n>>  static struct\n>>  {\n>> @@ -66,8 +68,10 @@ static struct\n>>       u32 pcr[PMC_MAX_IDS];\n>>       u32 audio_pll0;\n>>       u32 audio_pll1;\n>> +     u32 pckr[PMC_MAX_PCKS];\n>>  } pmc_cache;\n>>\n>> +/* Clock ID 0 is invalid */\n>\n> (read: so we can use the 0 value as an indicator that this place in the\n> table hasn't been filled, so unused)\n>\n>>  void pmc_register_id(u8 id)\n>>  {\n>>       int i;\n>> @@ -82,6 +86,21 @@ void pmc_register_id(u8 id)\n>>       }\n>>  }\n>>\n>> +/* Programmable Clock 0 is valid */\n>\n> I understand the rationale behind these ^^ two comments, but I would\n> like that it's more explicit. Saying that you will store the pck id as\n> (id + 1) and that you would have to invert this operation while using\n> the stored id.\n> Maybe add a comment about this transformation to the struct definition\n> as well...\n>\n\nI will improve the comments for the next revision.\n\n>\n>> +void pmc_register_pck(u8 pck)\n>> +{\n>> +     int i;\n>> +\n>> +     for (i = 0; i < PMC_MAX_PCKS; i++) {\n>> +             if (registered_pcks[i] == 0) {\n>> +                     registered_pcks[i] = pck + 1;\n>> +                     break;\n>> +             }\n>> +             if (registered_pcks[i] == (pck + 1))\n>> +                     break;\n>> +     }\n>> +}\n>> +\n>>  static int pmc_suspend(void)\n>>  {\n>>       int i;\n>> @@ -103,6 +122,10 @@ static int pmc_suspend(void)\n>>               regmap_read(pmcreg, AT91_PMC_PCR,\n>>                           &pmc_cache.pcr[registered_ids[i]]);\n>>       }\n>> +     for (i = 0; registered_pcks[i]; i++) {\n>> +             u8 num = registered_pcks[i] - 1;\n>\n> Nit: declaration are better made at the beginning of the function. This\n> lead to a checkpatch warning:\n> \"WARNING: Missing a blank line after declarations\"\n>\n\nI'll fix this as well.\n\n>> +             regmap_read(pmcreg, AT91_PMC_PCKR(num), &pmc_cache.pckr[num]);\n>> +     }\n>>\n>>       return 0;\n>>  }\n>> @@ -143,6 +166,10 @@ static void pmc_resume(void)\n>>                            pmc_cache.pcr[registered_ids[i]] |\n>>                            AT91_PMC_PCR_CMD);\n>>       }\n>> +     for (i = 0; registered_pcks[i]; i++) {\n>> +             u8 num = registered_pcks[i] - 1;\n>\n> Ditto\n>\n>> +             regmap_write(pmcreg, AT91_PMC_PCKR(num), pmc_cache.pckr[num]);\n>> +     }\n>>\n>>       if (pmc_cache.uckr & AT91_PMC_UPLLEN)\n>>               mask |= AT91_PMC_LOCKU;\n>> diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h\n>> index 858e8ef7e8db..d22b1fa9ecdc 100644\n>> --- a/drivers/clk/at91/pmc.h\n>> +++ b/drivers/clk/at91/pmc.h\n>> @@ -31,8 +31,10 @@ int of_at91_get_clk_range(struct device_node *np, const char *propname,\n>>\n>>  #ifdef CONFIG_PM\n>>  void pmc_register_id(u8 id);\n>> +void pmc_register_pck(u8 pck);\n>>  #else\n>>  static inline void pmc_register_id(u8 id) {}\n>> +static inline void pmc_register_pck(u8 pck) {}\n>>  #endif\n>>\n>>  #endif /* __PMC_H_ */\n>>","headers":{"Return-Path":"<linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org; spf=none (mailfrom)\n\tsmtp.mailfrom=lists.infradead.org (client-ip=65.50.211.133;\n\thelo=bombadil.infradead.org;\n\tenvelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"nHH9XmAS\"; \n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tsecure) header.d=mobile-devices.fr header.i=@mobile-devices.fr\n\theader.b=\"u9FIJbWo\"; \n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"QC1fLgzK\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y0xy12BQPz9t5c\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 25 Sep 2017 18:26:33 +1000 (AEST)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dwOif-0002BZ-Fa; Mon, 25 Sep 2017 08:26:25 +0000","from mail-qk0-x229.google.com ([2607:f8b0:400d:c09::229])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dwOiY-0001qD-6a\n\tfor linux-mtd@lists.infradead.org; Mon, 25 Sep 2017 08:26:22 +0000","by mail-qk0-x229.google.com with SMTP id z143so5903213qkb.3\n\tfor <linux-mtd@lists.infradead.org>;\n\tMon, 25 Sep 2017 01:25:56 -0700 (PDT)","by 10.200.48.120 with HTTP; Mon, 25 Sep 2017 01:25:35 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From:\n\tReferences:In-Reply-To:MIME-Version:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=pQpspAKXU7AzMq2rZ/KtxuVkLSpFATwLBL0gnxNbtxE=;\n\tb=nHH9XmASZORMaK\n\t48AMLdgX2OskiDrTurP/yjsDGyprFpegEhOrSHqa3HQJlS2LiTFh+LBSdpXZcPaXoHpcjeKNciGuh\n\tCHu2oNyRmDaVQqkuu5QZSwcZb1/hadG4au9u713xClyGkrkBNJhgIG6bO5LScP/b1qgWO210aOnzg\n\tIfXCGij4Hspx0HeRF9pc/qOcEV6K+VnfOdMVWjNW2GmHSNzpp6N6uSyItlTsPeQoYWFb5uPA835hH\n\tpRub02j/KMOkw+6207JzY/VoHVBdxN3x6J6bbFueTBZ8pW+LCrimlQstAF09dHZrcVyD0cVyQ46xT\n\tSCKMabUudiWKHLkeHaSw==;","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=mobile-devices.fr; s=google;\n\th=mime-version:sender:in-reply-to:references:from:date:message-id\n\t:subject:to:cc;\n\tbh=2e8+oWffspBbHMJrd9Dff9/rMtoYbYBla7l3jBGVGs0=;\n\tb=u9FIJbWoruJHGktylIkIpDwdKhN/aXzBv7CrxO4cDUWJWDvpnt8FCbhK1dp/rzkRTO\n\tLGWUUC2v2rbxTYYSAF0qVGKUNWaPGhqlID9qVUacJ2JRT4GlhEj18ctqiOWWczGIdLg9\n\tBWr0tsQghPxCsG1bO8zcz6H9ObrEiMPzSBIp8=","v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=mime-version:sender:in-reply-to:references:from:date:message-id\n\t:subject:to:cc;\n\tbh=2e8+oWffspBbHMJrd9Dff9/rMtoYbYBla7l3jBGVGs0=;\n\tb=QC1fLgzKqfDIrdZOZb5WyX71qT/I0SJJOoUzF4NKHALgk/D/qX1Cs8r7qFAa9YOJm+\n\tTHgaIUVjb16Ov/eY50tJH3C/WDOun2Vrxy6qbZ8xJ4CDbdpTYbzmPcL6la0eO0To6yGa\n\tx52X2VoOwXKIeYnpZgRH+e/6yAtCbvlvzeGJuqr44nzf6JMWREfz4/HtU4yfFEKtQGP3\n\t/XhphCBQ09JWL3SJQ9xCXZK39hZxHiDZC6CNAt5NyNwhgZkLphxXmaWeqGgrV/yOFUGC\n\tYXTIJMpj7Souoe1aOkTCrNWtHQ1hy/c1YSzRyoTTt+Q3DnQvxvgHjQaruXUMgLu9USOR\n\t/ehA=="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:sender:in-reply-to:references:from\n\t:date:message-id:subject:to:cc;\n\tbh=2e8+oWffspBbHMJrd9Dff9/rMtoYbYBla7l3jBGVGs0=;\n\tb=JOCcVqxYhqnvQusEmoxXfXU5RcdB1m1GncMlvYLhNPxpqPDWF0iyt//eB4nqQcQ3uB\n\tGk+diGcIZ4cuWa72vekRaaqYSNc6CAGhG4yDrXetZIXs+bo/xIlXhuPwm1lIoeS3wMSp\n\tlh35hexL1GinisZNhi3hPIly1RdqXImaLCGhH2Wo4t3fwE/yURiCpNLsJ2r3odnhe+DR\n\tZxpInGAzckC/cDSBkRLb5Xi5aOmfnGawUMURNOLJy2ki+bh9JScBI4/wliag2G9J3AeN\n\tSYQCcnW6Zmixy0UNhjDGdDFQR80D/YxGqApBmnFDIQVra6/ibHxh5V7+rxryfw4/vr+N\n\tqN+Q==","X-Gm-Message-State":"AHPjjUjNdzd/Bs0lnUvvyl2PMLXl+YZ64BAX2g0FMXO1RO1wS1aMJ4p8\n\tCmhPsX+f9Cv/WNjMdUnT+iaWWod90P4ER7FXpq7Brw==","X-Google-Smtp-Source":"AOwi7QAZ353KisEOLiiZWWAjRLtDomceB0e6zs/k3T35vmLl+CPfjZx7Mswq3236QjVU6WpBkvnx7IU1EpxjaixGchQ=","X-Received":"by 10.55.154.4 with SMTP id c4mr9270814qke.131.1506327955703;\n\tMon, 25 Sep 2017 01:25:55 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<d6359e89-7c78-fdec-fbab-eb885017ec58@microchip.com>","References":"<20170915140411.31716-1-romain.izard.pro@gmail.com>\n\t<20170915140411.31716-4-romain.izard.pro@gmail.com>\n\t<d6359e89-7c78-fdec-fbab-eb885017ec58@microchip.com>","From":"Romain Izard <romain.izard.pro@gmail.com>","Date":"Mon, 25 Sep 2017 10:25:35 +0200","X-Google-Sender-Auth":"fyBRz7UOQm_YHyxzQiPq1I9ZrB0","Message-ID":"<CAGkQfmOQ_5hb-OKWQxjboPS1V0v-jCPxyyDZyCyZLFYFoeXWbA@mail.gmail.com>","Subject":"Re: [PATCH v2 3/9] clk: at91: pmc: Support backup for programmable\n\tclocks","To":"Nicolas Ferre <nicolas.ferre@microchip.com>","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20170925_012618_614390_C0DBF811 ","X-CRM114-Status":"GOOD (  23.66  )","X-Spam-Score":"-2.5 (--)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-2.5 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,\n\tlow\n\ttrust [2607:f8b0:400d:c09:0:0:0:229 listed in] [list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail\n\tprovider (romain.izard.pro[at]gmail.com)\n\t0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level\n\tmail domains are different\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature\n\t0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n\tnot necessarily valid\n\t-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from\n\tauthor's domain\n\t0.2 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and\n\tEnvelopeFrom freemail headers are different","X-BeenThere":"linux-mtd@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"Linux MTD discussion mailing list <linux-mtd.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-mtd>,\n\t<mailto:linux-mtd-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-mtd/>","List-Post":"<mailto:linux-mtd@lists.infradead.org>","List-Help":"<mailto:linux-mtd-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-mtd>,\n\t<mailto:linux-mtd-request@lists.infradead.org?subject=subscribe>","Cc":"Michael Turquette <mturquette@baylibre.com>,\n\tThierry Reding <thierry.reding@gmail.com>,\n\tAlexandre Belloni <alexandre.belloni@free-electrons.com>,\n\tlinux-clk@vger.kernel.org,\n\tBoris Brezillon <boris.brezillon@free-electrons.com>,\n\tJosh Wu <rainyfeeling@outlook.com>, Marek Vasut <marek.vasut@gmail.com>, \n\tLudovic Desroches <ludovic.desroches@microchip.com>,\n\tAlan Stern <stern@rowland.harvard.edu>, linux-serial@vger.kernel.org, \n\tlinux-pwm@vger.kernel.org,\n\tlinux-arm-kernel <linux-arm-kernel@lists.infradead.org>,\n\tRichard Genoud <richard.genoud@gmail.com>,\n\tGreg Kroah-Hartman <gregkh@linuxfoundation.org>,\n\tlinux-usb@vger.kernel.org, Stephen Boyd <sboyd@codeaurora.org>,\n\tLKML <linux-kernel@vger.kernel.org>, \n\tWenyou Yang <wenyou.yang@atmel.com>,\n\tCyrille Pitchen <cyrille.pitchen@wedev4u.fr>,\n\tlinux-mtd <linux-mtd@lists.infradead.org>,\n\tBrian Norris <computersforpeace@gmail.com>,\n\tDavid Woodhouse <dwmw2@infradead.org>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-mtd\" <linux-mtd-bounces@lists.infradead.org>","Errors-To":"linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"}}]