All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <DB6PR0401MB25362658D117DF4D7B92FD48F8AA0@DB6PR0401MB2536.eurprd04.prod.outlook.com>

diff --git a/a/1.txt b/N1/1.txt
index 8923aba..40d1f5f 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -154,4 +154,9 @@ CONFIG_ARCH_MXC was for ls1021a.
 Thanks for your comments.
 
 > 
-> -Scott
\ No newline at end of file
+> -Scott
+
+_______________________________________________
+iommu mailing list
+iommu@lists.linux-foundation.org
+https://lists.linuxfoundation.org/mailman/listinfo/iommu
\ No newline at end of file
diff --git a/a/content_digest b/N1/content_digest
index 1f0c858..36ff1cf 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -8,7 +8,10 @@
   "ref\0001477501566.6812.9.camel\@buserror.net\0"
 ]
 [
-  "From\0Y.B. Lu <yangbo.lu\@nxp.com>\0"
+  "ref\0001477501566.6812.9.camel-fOR+EgIDQEHk1uMJSBkQmQ\@public.gmane.org\0"
+]
+[
+  "From\0Y.B. Lu <yangbo.lu-3arQi8VN3Tc\@public.gmane.org>\0"
 ]
 [
   "Subject\0RE: [v12, 5/8] soc: fsl: add GUTS driver for QorIQ platforms\0"
@@ -17,33 +20,31 @@
   "Date\0Thu, 27 Oct 2016 04:34:06 +0000\0"
 ]
 [
-  "To\0Scott Wood <oss\@buserror.net>",
-  " linux-mmc\@vger.kernel.org <linux-mmc\@vger.kernel.org>",
-  " ulf.hansson\@linaro.org <ulf.hansson\@linaro.org>",
-  " Arnd Bergmann <arnd\@arndb.de>\0"
+  "To\0Scott Wood <oss-fOR+EgIDQEHk1uMJSBkQmQ\@public.gmane.org>",
+  " linux-mmc-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org <linux-mmc-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org>",
+  " ulf.hansson-QSEj5FYQhm4dnm+yROfE0A\@public.gmane.org <ulf.hansson-QSEj5FYQhm4dnm+yROfE0A\@public.gmane.org>",
+  " Arnd Bergmann <arnd-r2nGTMty4D4\@public.gmane.org>\0"
 ]
 [
-  "Cc\0linuxppc-dev\@lists.ozlabs.org <linuxppc-dev\@lists.ozlabs.org>",
-  " devicetree\@vger.kernel.org <devicetree\@vger.kernel.org>",
-  " linux-arm-kernel\@lists.infradead.org <linux-arm-kernel\@lists.infradead.org>",
-  " linux-kernel\@vger.kernel.org <linux-kernel\@vger.kernel.org>",
-  " linux-clk\@vger.kernel.org <linux-clk\@vger.kernel.org>",
-  " linux-i2c\@vger.kernel.org <linux-i2c\@vger.kernel.org>",
-  " iommu\@lists.linux-foundation.org <iommu\@lists.linux-foundation.org>",
-  " netdev\@vger.kernel.org <netdev\@vger.kernel.org>",
-  " Mark Rutland <mark.rutland\@arm.com>",
-  " Rob Herring <robh+dt\@kernel.org>",
-  " Russell King <linux\@arm.linux.org.uk>",
-  " Jochen Friedrich <jochen\@scram.de>",
-  " Joerg Roedel <joro\@8bytes.org>",
-  " Claudiu Manoil <claudiu.manoil\@freescale.com>",
-  " Bhupesh Sharma <bhupesh.sharma\@freescale.com>",
-  " Qiang Zhao <qiang.zhao\@nxp.com>",
-  " Kumar Gala <galak\@codeaurora.org>",
-  " Santosh Shilimkar <ssantosh\@kernel.org>",
-  " Leo Li <leoyang.li\@nxp.com>",
-  " X.B. Xie <xiaobo.xie\@nxp.com>",
-  " M.H. Lian <minghuan.lian\@nxp.com>\0"
+  "Cc\0Mark Rutland <mark.rutland-5wv7dgnIgG8\@public.gmane.org>",
+  " devicetree-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org <devicetree-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org>",
+  " Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ\@public.gmane.org>",
+  " Bhupesh Sharma <bhupesh.sharma-KZfg59tc24xl57MIdRCFDg\@public.gmane.org>",
+  " netdev-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org <netdev-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org>",
+  " Santosh Shilimkar <ssantosh-DgEjT+Ai2ygdnm+yROfE0A\@public.gmane.org>",
+  " linux-kernel-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org <linux-kernel-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org>",
+  " Jochen Friedrich <jochen-NIgtFMG+Po8\@public.gmane.org>",
+  " X.B. Xie <xiaobo.xie-3arQi8VN3Tc\@public.gmane.org>",
+  " M.H. Lian <minghuan.lian-3arQi8VN3Tc\@public.gmane.org>",
+  " iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA\@public.gmane.org <iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA\@public.gmane.org>",
+  " Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A\@public.gmane.org>",
+  " linux-i2c-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org <linux-i2c-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org>",
+  " Claudiu Manoil <claudiu.manoil-KZfg59tc24xl57MIdRCFDg\@public.gmane.org>",
+  " Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ\@public.gmane.org>",
+  " Leo Li <leoyang.li-3arQi8VN3Tc\@public.gmane.org>",
+  " linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ\@public.gmane.org <linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ\@public.gmane.org>",
+  " linux-clk-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org <linux-clk-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org>",
+  " linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r\@public.gmane.org <l\0"
 ]
 [
   "\0000:1\0"
@@ -208,7 +209,12 @@
   "Thanks for your comments.\n",
   "\n",
   "> \n",
-  "> -Scott"
+  "> -Scott\n",
+  "\n",
+  "_______________________________________________\n",
+  "iommu mailing list\n",
+  "iommu\@lists.linux-foundation.org\n",
+  "https://lists.linuxfoundation.org/mailman/listinfo/iommu"
 ]
 
-58f002fc5836953dd41ab47e1f25943d7cc43c575507742565fbe66b9406d533
+782ecbc13feca48ebd8a3e73be679de45c2ecc539389eed14158efa5d0d3f510

diff --git a/a/1.txt b/N2/1.txt
index 8923aba..40d1f5f 100644
--- a/a/1.txt
+++ b/N2/1.txt
@@ -154,4 +154,9 @@ CONFIG_ARCH_MXC was for ls1021a.
 Thanks for your comments.
 
 > 
-> -Scott
\ No newline at end of file
+> -Scott
+
+_______________________________________________
+iommu mailing list
+iommu@lists.linux-foundation.org
+https://lists.linuxfoundation.org/mailman/listinfo/iommu
\ No newline at end of file
diff --git a/a/content_digest b/N2/content_digest
index 1f0c858..e7bd3a1 100644
--- a/a/content_digest
+++ b/N2/content_digest
@@ -8,7 +8,10 @@
   "ref\0001477501566.6812.9.camel\@buserror.net\0"
 ]
 [
-  "From\0Y.B. Lu <yangbo.lu\@nxp.com>\0"
+  "ref\0001477501566.6812.9.camel-fOR+EgIDQEHk1uMJSBkQmQ\@public.gmane.org\0"
+]
+[
+  "From\0Y.B. Lu <yangbo.lu-3arQi8VN3Tc\@public.gmane.org>\0"
 ]
 [
   "Subject\0RE: [v12, 5/8] soc: fsl: add GUTS driver for QorIQ platforms\0"
@@ -17,33 +20,30 @@
   "Date\0Thu, 27 Oct 2016 04:34:06 +0000\0"
 ]
 [
-  "To\0Scott Wood <oss\@buserror.net>",
-  " linux-mmc\@vger.kernel.org <linux-mmc\@vger.kernel.org>",
-  " ulf.hansson\@linaro.org <ulf.hansson\@linaro.org>",
-  " Arnd Bergmann <arnd\@arndb.de>\0"
+  "To\0Scott Wood <oss-fOR+EgIDQEHk1uMJSBkQmQ\@public.gmane.org>",
+  " linux-mmc-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org <linux-mmc-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org>",
+  " ulf.hansson-QSEj5FYQhm4dnm+yROfE0A\@public.gmane.org <ulf.hansson-QSEj5FYQhm4dnm+yROfE0A\@public.gmane.org>",
+  " Arnd Bergmann <arnd-r2nGTMty4D4\@public.gmane.org>\0"
 ]
 [
-  "Cc\0linuxppc-dev\@lists.ozlabs.org <linuxppc-dev\@lists.ozlabs.org>",
-  " devicetree\@vger.kernel.org <devicetree\@vger.kernel.org>",
-  " linux-arm-kernel\@lists.infradead.org <linux-arm-kernel\@lists.infradead.org>",
-  " linux-kernel\@vger.kernel.org <linux-kernel\@vger.kernel.org>",
-  " linux-clk\@vger.kernel.org <linux-clk\@vger.kernel.org>",
-  " linux-i2c\@vger.kernel.org <linux-i2c\@vger.kernel.org>",
-  " iommu\@lists.linux-foundation.org <iommu\@lists.linux-foundation.org>",
-  " netdev\@vger.kernel.org <netdev\@vger.kernel.org>",
-  " Mark Rutland <mark.rutland\@arm.com>",
-  " Rob Herring <robh+dt\@kernel.org>",
-  " Russell King <linux\@arm.linux.org.uk>",
-  " Jochen Friedrich <jochen\@scram.de>",
-  " Joerg Roedel <joro\@8bytes.org>",
-  " Claudiu Manoil <claudiu.manoil\@freescale.com>",
-  " Bhupesh Sharma <bhupesh.sharma\@freescale.com>",
-  " Qiang Zhao <qiang.zhao\@nxp.com>",
-  " Kumar Gala <galak\@codeaurora.org>",
-  " Santosh Shilimkar <ssantosh\@kernel.org>",
-  " Leo Li <leoyang.li\@nxp.com>",
-  " X.B. Xie <xiaobo.xie\@nxp.com>",
-  " M.H. Lian <minghuan.lian\@nxp.com>\0"
+  "Cc\0Mark Rutland <mark.rutland-5wv7dgnIgG8\@public.gmane.org>",
+  " devicetree-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org <devicetree-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org>",
+  " Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ\@public.gmane.org>",
+  " Bhupesh Sharma <bhupesh.sharma-KZfg59tc24xl57MIdRCFDg\@public.gmane.org>",
+  " netdev-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org <netdev-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org>",
+  " Santosh Shilimkar <ssantosh-DgEjT+Ai2ygdnm+yROfE0A\@public.gmane.org>",
+  " linux-kernel-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org <linux-kernel-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org>",
+  " Jochen Friedrich <jochen-NIgtFMG+Po8\@public.gmane.org>",
+  " X.B. Xie <xiaobo.xie-3arQi8VN3Tc\@public.gmane.org>",
+  " M.H. Lian <minghuan.lian-3arQi8VN3Tc\@public.gmane.org>",
+  " iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA\@public.gmane.org <iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA\@public.gmane.org>",
+  " Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A\@public.gmane.org>",
+  " linux-i2c-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org <linux-i2c-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org>",
+  " Claudiu Manoil <claudiu.manoil-KZfg59tc24xl57MIdRCFDg\@public.gmane.org>",
+  " Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ\@public.gmane.org>",
+  " Leo Li <leoyang.li-3arQi8VN3Tc\@public.gmane.org>",
+  " linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ\@public.gmane.org <linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ\@public.gmane.org>",
+  " linux-clk-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org <linux-clk-u79uwXL29TY76Z2rM5mHXA\@public.gmane.org>linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r\@public.gmane.org <l>\0"
 ]
 [
   "\0000:1\0"
@@ -208,7 +208,12 @@
   "Thanks for your comments.\n",
   "\n",
   "> \n",
-  "> -Scott"
+  "> -Scott\n",
+  "\n",
+  "_______________________________________________\n",
+  "iommu mailing list\n",
+  "iommu\@lists.linux-foundation.org\n",
+  "https://lists.linuxfoundation.org/mailman/listinfo/iommu"
 ]
 
-58f002fc5836953dd41ab47e1f25943d7cc43c575507742565fbe66b9406d533
+c67a00238e8b54a02d4ee39911e557c789530d306e97c4f6d6a06532345bf4d5

diff --git a/a/1.txt b/N3/1.txt
index 8923aba..b72afd5 100644
--- a/a/1.txt
+++ b/N3/1.txt
@@ -1,157 +1,94 @@
-Hi Scott,
-
-
-> -----Original Message-----
-> From: Scott Wood [mailto:oss@buserror.net]
-> Sent: Thursday, October 27, 2016 1:06 AM
-> To: Y.B. Lu; linux-mmc@vger.kernel.org; ulf.hansson@linaro.org; Arnd
-> Bergmann
-> Cc: linuxppc-dev@lists.ozlabs.org; devicetree@vger.kernel.org; linux-arm-
-> kernel@lists.infradead.org; linux-kernel@vger.kernel.org; linux-
-> clk@vger.kernel.org; linux-i2c@vger.kernel.org; iommu@lists.linux-
-> foundation.org; netdev@vger.kernel.org; Mark Rutland; Rob Herring;
-> Russell King; Jochen Friedrich; Joerg Roedel; Claudiu Manoil; Bhupesh
-> Sharma; Qiang Zhao; Kumar Gala; Santosh Shilimkar; Leo Li; X.B. Xie; M.H.
-> Lian
-> Subject: Re: [v12, 5/8] soc: fsl: add GUTS driver for QorIQ platforms
-> 
-> On Wed, 2016-09-21 at 14:57 +0800, Yangbo Lu wrote:
-> > diff --git a/drivers/soc/fsl/Kconfig b/drivers/soc/fsl/Kconfig new
-> > file mode 100644 index 0000000..b99764c
-> > --- /dev/null
-> > +++ b/drivers/soc/fsl/Kconfig
-> > @@ -0,0 +1,19 @@
-> > +#
-> > +# Freescale SOC drivers
-> > +#
-> > +
-> > +source "drivers/soc/fsl/qe/Kconfig"
-> > +
-> > +config FSL_GUTS
-> > +	bool "Freescale QorIQ GUTS driver"
-> > +	select SOC_BUS
-> > +	help
-> > +	  The global utilities block controls power management, I/O device
-> > +	  enabling, power-onreset(POR) configuration monitoring, alternate
-> > +	  function selection for multiplexed signals,and clock control.
-> > +	  This driver is to manage and access global utilities block.
-> > +	  Initially only reading SVR and registering soc device are
-> > supported.
-> > +	  Other guts accesses, such as reading RCW, should eventually be
-> > moved
-> > +	  into this driver as well.
-> > +
-> > +	  If you want GUTS driver support, you should say Y here.
-> 
-> This is user-enablable without dependencies, which means it will break
-> some randconfigs.  If this is to be enabled via select then remove the
-> text after "bool".
-
-[Lu Yangbo-B47093] Will enable it via select and remove text after 'bool'.
- 
-> 
-> > +/* SoC die attribute definition for QorIQ platform */ static const
-> > +struct fsl_soc_die_attr fsl_soc_die[] = { #ifdef CONFIG_PPC
-> > +	/*
-> > +	 * Power Architecture-based SoCs T Series
-> > +	 */
-> > +
-> > +	/* Die: T4240, SoC: T4240/T4160/T4080 */
-> > +	{ .die		= "T4240",
-> > +	  .svr		= 0x82400000,
-> > +	  .mask		= 0xfff00000,
-> > +	},
-> > +	/* Die: T1040, SoC: T1040/T1020/T1042/T1022 */
-> > +	{ .die		= "T1040",
-> > +	  .svr		= 0x85200000,
-> > +	  .mask		= 0xfff00000,
-> > +	},
-> > +	/* Die: T2080, SoC: T2080/T2081 */
-> > +	{ .die		= "T2080",
-> > +	  .svr		= 0x85300000,
-> > +	  .mask		= 0xfff00000,
-> > +	},
-> > +	/* Die: T1024, SoC: T1024/T1014/T1023/T1013 */
-> > +	{ .die		= "T1024",
-> > +	  .svr		= 0x85400000,
-> > +	  .mask		= 0xfff00000,
-> > +	},
-> > +#endif /* CONFIG_PPC */
-> > +#if defined(CONFIG_ARCH_MXC) || defined(CONFIG_ARCH_LAYERSCAPE)
-> 
-> Will this driver ever be probed on MXC?  Why do we need these ifdefs at
-> all?
-
-[Lu Yangbo-B47093] Will remove them. In the previous version, we use too many members for soc definition, so I add #ifdef for ARCH. 
-CONFIG_ARCH_MXC was for ls1021a.
-
-> 
-> 
-> > +	/*
-> > +	 * ARM-based SoCs LS Series
-> > +	 */
-> > +
-> > +	/* Die: LS1043A, SoC: LS1043A/LS1023A */
-> > +	{ .die		= "LS1043A",
-> > +	  .svr		= 0x87920000,
-> > +	  .mask		= 0xffff0000,
-> > +	},
-> > +	/* Die: LS2080A, SoC: LS2080A/LS2040A/LS2085A */
-> > +	{ .die		= "LS2080A",
-> > +	  .svr		= 0x87010000,
-> > +	  .mask		= 0xff3f0000,
-> > +	},
-> > +	/* Die: LS1088A, SoC: LS1088A/LS1048A/LS1084A/LS1044A */
-> > +	{ .die		= "LS1088A",
-> > +	  .svr		= 0x87030000,
-> > +	  .mask		= 0xff3f0000,
-> > +	},
-> > +	/* Die: LS1012A, SoC: LS1012A */
-> > +	{ .die		= "LS1012A",
-> > +	  .svr		= 0x87040000,
-> > +	  .mask		= 0xffff0000,
-> > +	},
-> > +	/* Die: LS1046A, SoC: LS1046A/LS1026A */
-> > +	{ .die		= "LS1046A",
-> > +	  .svr		= 0x87070000,
-> > +	  .mask		= 0xffff0000,
-> > +	},
-> > +	/* Die: LS2088A, SoC: LS2088A/LS2048A/LS2084A/LS2044A */
-> > +	{ .die		= "LS2088A",
-> > +	  .svr		= 0x87090000,
-> > +	  .mask		= 0xff3f0000,
-> > +	},
-> > +	/* Die: LS1021A, SoC: LS1021A/LS1020A/LS1022A
-> > +	 * Note: Put this die at the end in cause of incorrect
-> > identification
-> > +	 */
-> > +	{ .die		= "LS1021A",
-> > +	  .svr		= 0x87000000,
-> > +	  .mask		= 0xfff00000,
-> > +	},
-> > +#endif /* CONFIG_ARCH_MXC || CONFIG_ARCH_LAYERSCAPE */
-> 
-> Instead of relying on ordering, add more bits to the mask so that there's
-> no overlap.  I think 0xfff70000 would work.
-
-[Lu Yangbo-B47093] Ok, Will do that. Then we add 3 bits of 'Various Personalities' field for ls1021a die identification.
-
-> 
-> > +out:
-> > +	kfree(soc_dev_attr.machine);
-> > +	kfree(soc_dev_attr.family);
-> > +	kfree(soc_dev_attr.soc_id);
-> > +	kfree(soc_dev_attr.revision);
-> > +	iounmap(guts->regs);
-> > +out_free:
-> > +	kfree(guts);
-> > +	return ret;
-> > +}
-> 
-> Please use devm.
-
-[Lu Yangbo-B47093] Sorry for forgetting this. Will do that and send out the new version soon.
-Thanks for your comments.
-
-> 
-> -Scott
\ No newline at end of file
+SGkgU2NvdHQsDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTY290
+dCBXb29kIFttYWlsdG86b3NzQGJ1c2Vycm9yLm5ldF0NCj4gU2VudDogVGh1cnNkYXksIE9jdG9i
+ZXIgMjcsIDIwMTYgMTowNiBBTQ0KPiBUbzogWS5CLiBMdTsgbGludXgtbW1jQHZnZXIua2VybmVs
+Lm9yZzsgdWxmLmhhbnNzb25AbGluYXJvLm9yZzsgQXJuZA0KPiBCZXJnbWFubg0KPiBDYzogbGlu
+dXhwcGMtZGV2QGxpc3RzLm96bGFicy5vcmc7IGRldmljZXRyZWVAdmdlci5rZXJuZWwub3JnOyBs
+aW51eC1hcm0tDQo+IGtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnOyBsaW51eC1rZXJuZWxAdmdl
+ci5rZXJuZWwub3JnOyBsaW51eC0NCj4gY2xrQHZnZXIua2VybmVsLm9yZzsgbGludXgtaTJjQHZn
+ZXIua2VybmVsLm9yZzsgaW9tbXVAbGlzdHMubGludXgtDQo+IGZvdW5kYXRpb24ub3JnOyBuZXRk
+ZXZAdmdlci5rZXJuZWwub3JnOyBNYXJrIFJ1dGxhbmQ7IFJvYiBIZXJyaW5nOw0KPiBSdXNzZWxs
+IEtpbmc7IEpvY2hlbiBGcmllZHJpY2g7IEpvZXJnIFJvZWRlbDsgQ2xhdWRpdSBNYW5vaWw7IEJo
+dXBlc2gNCj4gU2hhcm1hOyBRaWFuZyBaaGFvOyBLdW1hciBHYWxhOyBTYW50b3NoIFNoaWxpbWth
+cjsgTGVvIExpOyBYLkIuIFhpZTsgTS5ILg0KPiBMaWFuDQo+IFN1YmplY3Q6IFJlOiBbdjEyLCA1
+LzhdIHNvYzogZnNsOiBhZGQgR1VUUyBkcml2ZXIgZm9yIFFvcklRIHBsYXRmb3Jtcw0KPiANCj4g
+T24gV2VkLCAyMDE2LTA5LTIxIGF0IDE0OjU3ICswODAwLCBZYW5nYm8gTHUgd3JvdGU6DQo+ID4g
+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL2ZzbC9LY29uZmlnIGIvZHJpdmVycy9zb2MvZnNsL0tj
+b25maWcgbmV3DQo+ID4gZmlsZSBtb2RlIDEwMDY0NCBpbmRleCAwMDAwMDAwLi5iOTk3NjRjDQo+
+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2RyaXZlcnMvc29jL2ZzbC9LY29uZmlnDQo+ID4g
+QEAgLTAsMCArMSwxOSBAQA0KPiA+ICsjDQo+ID4gKyMgRnJlZXNjYWxlIFNPQyBkcml2ZXJzDQo+
+ID4gKyMNCj4gPiArDQo+ID4gK3NvdXJjZSAiZHJpdmVycy9zb2MvZnNsL3FlL0tjb25maWciDQo+
+ID4gKw0KPiA+ICtjb25maWcgRlNMX0dVVFMNCj4gPiArCWJvb2wgIkZyZWVzY2FsZSBRb3JJUSBH
+VVRTIGRyaXZlciINCj4gPiArCXNlbGVjdCBTT0NfQlVTDQo+ID4gKwloZWxwDQo+ID4gKwnCoMKg
+VGhlIGdsb2JhbCB1dGlsaXRpZXMgYmxvY2sgY29udHJvbHMgcG93ZXIgbWFuYWdlbWVudCwgSS9P
+IGRldmljZQ0KPiA+ICsJwqDCoGVuYWJsaW5nLCBwb3dlci1vbnJlc2V0KFBPUikgY29uZmlndXJh
+dGlvbiBtb25pdG9yaW5nLCBhbHRlcm5hdGUNCj4gPiArCcKgwqBmdW5jdGlvbiBzZWxlY3Rpb24g
+Zm9yIG11bHRpcGxleGVkIHNpZ25hbHMsYW5kIGNsb2NrIGNvbnRyb2wuDQo+ID4gKwnCoMKgVGhp
+cyBkcml2ZXIgaXMgdG8gbWFuYWdlIGFuZCBhY2Nlc3MgZ2xvYmFsIHV0aWxpdGllcyBibG9jay4N
+Cj4gPiArCcKgwqBJbml0aWFsbHkgb25seSByZWFkaW5nIFNWUiBhbmQgcmVnaXN0ZXJpbmcgc29j
+IGRldmljZSBhcmUNCj4gPiBzdXBwb3J0ZWQuDQo+ID4gKwnCoMKgT3RoZXIgZ3V0cyBhY2Nlc3Nl
+cywgc3VjaCBhcyByZWFkaW5nIFJDVywgc2hvdWxkIGV2ZW50dWFsbHkgYmUNCj4gPiBtb3ZlZA0K
+PiA+ICsJwqDCoGludG8gdGhpcyBkcml2ZXIgYXMgd2VsbC4NCj4gPiArDQo+ID4gKwnCoMKgSWYg
+eW91IHdhbnQgR1VUUyBkcml2ZXIgc3VwcG9ydCwgeW91IHNob3VsZCBzYXkgWSBoZXJlLg0KPiAN
+Cj4gVGhpcyBpcyB1c2VyLWVuYWJsYWJsZSB3aXRob3V0IGRlcGVuZGVuY2llcywgd2hpY2ggbWVh
+bnMgaXQgd2lsbCBicmVhaw0KPiBzb21lIHJhbmRjb25maWdzLiDCoElmIHRoaXMgaXMgdG8gYmUg
+ZW5hYmxlZCB2aWEgc2VsZWN0IHRoZW4gcmVtb3ZlIHRoZQ0KPiB0ZXh0IGFmdGVyICJib29sIi4N
+Cg0KW0x1IFlhbmdiby1CNDcwOTNdIFdpbGwgZW5hYmxlIGl0IHZpYSBzZWxlY3QgYW5kIHJlbW92
+ZSB0ZXh0IGFmdGVyICdib29sJy4NCiANCj4gDQo+ID4gKy8qIFNvQyBkaWUgYXR0cmlidXRlIGRl
+ZmluaXRpb24gZm9yIFFvcklRIHBsYXRmb3JtICovIHN0YXRpYyBjb25zdA0KPiA+ICtzdHJ1Y3Qg
+ZnNsX3NvY19kaWVfYXR0ciBmc2xfc29jX2RpZVtdID0geyAjaWZkZWYgQ09ORklHX1BQQw0KPiA+
+ICsJLyoNCj4gPiArCcKgKiBQb3dlciBBcmNoaXRlY3R1cmUtYmFzZWQgU29DcyBUIFNlcmllcw0K
+PiA+ICsJwqAqLw0KPiA+ICsNCj4gPiArCS8qIERpZTogVDQyNDAsIFNvQzogVDQyNDAvVDQxNjAv
+VDQwODAgKi8NCj4gPiArCXsgLmRpZQkJPSAiVDQyNDAiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4
+MjQwMDAwMCwNCj4gPiArCcKgwqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJfSwNCj4gPiAr
+CS8qIERpZTogVDEwNDAsIFNvQzogVDEwNDAvVDEwMjAvVDEwNDIvVDEwMjIgKi8NCj4gPiArCXsg
+LmRpZQkJPSAiVDEwNDAiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4NTIwMDAwMCwNCj4gPiArCcKg
+wqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJfSwNCj4gPiArCS8qIERpZTogVDIwODAsIFNv
+QzogVDIwODAvVDIwODEgKi8NCj4gPiArCXsgLmRpZQkJPSAiVDIwODAiLA0KPiA+ICsJwqDCoC5z
+dnIJCT0gMHg4NTMwMDAwMCwNCj4gPiArCcKgwqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJ
+fSwNCj4gPiArCS8qIERpZTogVDEwMjQsIFNvQzogVDEwMjQvVDEwMTQvVDEwMjMvVDEwMTMgKi8N
+Cj4gPiArCXsgLmRpZQkJPSAiVDEwMjQiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4NTQwMDAwMCwN
+Cj4gPiArCcKgwqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJfSwNCj4gPiArI2VuZGlmIC8q
+IENPTkZJR19QUEMgKi8NCj4gPiArI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfTVhDKSB8fCBkZWZp
+bmVkKENPTkZJR19BUkNIX0xBWUVSU0NBUEUpDQo+IA0KPiBXaWxsIHRoaXMgZHJpdmVyIGV2ZXIg
+YmUgcHJvYmVkIG9uIE1YQz8gwqBXaHkgZG8gd2UgbmVlZCB0aGVzZSBpZmRlZnMgYXQNCj4gYWxs
+Pw0KDQpbTHUgWWFuZ2JvLUI0NzA5M10gV2lsbCByZW1vdmUgdGhlbS4gSW4gdGhlIHByZXZpb3Vz
+IHZlcnNpb24sIHdlIHVzZSB0b28gbWFueSBtZW1iZXJzIGZvciBzb2MgZGVmaW5pdGlvbiwgc28g
+SSBhZGQgI2lmZGVmIGZvciBBUkNILiANCkNPTkZJR19BUkNIX01YQyB3YXMgZm9yIGxzMTAyMWEu
+DQoNCj4gDQo+IA0KPiA+ICsJLyoNCj4gPiArCcKgKiBBUk0tYmFzZWQgU29DcyBMUyBTZXJpZXMN
+Cj4gPiArCcKgKi8NCj4gPiArDQo+ID4gKwkvKiBEaWU6IExTMTA0M0EsIFNvQzogTFMxMDQzQS9M
+UzEwMjNBICovDQo+ID4gKwl7IC5kaWUJCT0gIkxTMTA0M0EiLA0KPiA+ICsJwqDCoC5zdnIJCT0g
+MHg4NzkyMDAwMCwNCj4gPiArCcKgwqAubWFzawkJPSAweGZmZmYwMDAwLA0KPiA+ICsJfSwNCj4g
+PiArCS8qIERpZTogTFMyMDgwQSwgU29DOiBMUzIwODBBL0xTMjA0MEEvTFMyMDg1QSAqLw0KPiA+
+ICsJeyAuZGllCQk9ICJMUzIwODBBIiwNCj4gPiArCcKgwqAuc3ZyCQk9IDB4ODcwMTAwMDAsDQo+
+ID4gKwnCoMKgLm1hc2sJCT0gMHhmZjNmMDAwMCwNCj4gPiArCX0sDQo+ID4gKwkvKiBEaWU6IExT
+MTA4OEEsIFNvQzogTFMxMDg4QS9MUzEwNDhBL0xTMTA4NEEvTFMxMDQ0QSAqLw0KPiA+ICsJeyAu
+ZGllCQk9ICJMUzEwODhBIiwNCj4gPiArCcKgwqAuc3ZyCQk9IDB4ODcwMzAwMDAsDQo+ID4gKwnC
+oMKgLm1hc2sJCT0gMHhmZjNmMDAwMCwNCj4gPiArCX0sDQo+ID4gKwkvKiBEaWU6IExTMTAxMkEs
+IFNvQzogTFMxMDEyQSAqLw0KPiA+ICsJeyAuZGllCQk9ICJMUzEwMTJBIiwNCj4gPiArCcKgwqAu
+c3ZyCQk9IDB4ODcwNDAwMDAsDQo+ID4gKwnCoMKgLm1hc2sJCT0gMHhmZmZmMDAwMCwNCj4gPiAr
+CX0sDQo+ID4gKwkvKiBEaWU6IExTMTA0NkEsIFNvQzogTFMxMDQ2QS9MUzEwMjZBICovDQo+ID4g
+Kwl7IC5kaWUJCT0gIkxTMTA0NkEiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4NzA3MDAwMCwNCj4g
+PiArCcKgwqAubWFzawkJPSAweGZmZmYwMDAwLA0KPiA+ICsJfSwNCj4gPiArCS8qIERpZTogTFMy
+MDg4QSwgU29DOiBMUzIwODhBL0xTMjA0OEEvTFMyMDg0QS9MUzIwNDRBICovDQo+ID4gKwl7IC5k
+aWUJCT0gIkxTMjA4OEEiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4NzA5MDAwMCwNCj4gPiArCcKg
+wqAubWFzawkJPSAweGZmM2YwMDAwLA0KPiA+ICsJfSwNCj4gPiArCS8qIERpZTogTFMxMDIxQSwg
+U29DOiBMUzEwMjFBL0xTMTAyMEEvTFMxMDIyQQ0KPiA+ICsJwqAqIE5vdGU6IFB1dCB0aGlzIGRp
+ZSBhdCB0aGUgZW5kIGluIGNhdXNlIG9mIGluY29ycmVjdA0KPiA+IGlkZW50aWZpY2F0aW9uDQo+
+ID4gKwnCoCovDQo+ID4gKwl7IC5kaWUJCT0gIkxTMTAyMUEiLA0KPiA+ICsJwqDCoC5zdnIJCT0g
+MHg4NzAwMDAwMCwNCj4gPiArCcKgwqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJfSwNCj4g
+PiArI2VuZGlmIC8qIENPTkZJR19BUkNIX01YQyB8fCBDT05GSUdfQVJDSF9MQVlFUlNDQVBFICov
+DQo+IA0KPiBJbnN0ZWFkIG9mIHJlbHlpbmcgb24gb3JkZXJpbmcsIGFkZCBtb3JlIGJpdHMgdG8g
+dGhlIG1hc2sgc28gdGhhdCB0aGVyZSdzDQo+IG5vIG92ZXJsYXAuIMKgSSB0aGluayAweGZmZjcw
+MDAwIHdvdWxkIHdvcmsuDQoNCltMdSBZYW5nYm8tQjQ3MDkzXSBPaywgV2lsbCBkbyB0aGF0LiBU
+aGVuIHdlIGFkZCAzIGJpdHMgb2YgJ1ZhcmlvdXMgUGVyc29uYWxpdGllcycgZmllbGQgZm9yIGxz
+MTAyMWEgZGllIGlkZW50aWZpY2F0aW9uLg0KDQo+IA0KPiA+ICtvdXQ6DQo+ID4gKwlrZnJlZShz
+b2NfZGV2X2F0dHIubWFjaGluZSk7DQo+ID4gKwlrZnJlZShzb2NfZGV2X2F0dHIuZmFtaWx5KTsN
+Cj4gPiArCWtmcmVlKHNvY19kZXZfYXR0ci5zb2NfaWQpOw0KPiA+ICsJa2ZyZWUoc29jX2Rldl9h
+dHRyLnJldmlzaW9uKTsNCj4gPiArCWlvdW5tYXAoZ3V0cy0+cmVncyk7DQo+ID4gK291dF9mcmVl
+Og0KPiA+ICsJa2ZyZWUoZ3V0cyk7DQo+ID4gKwlyZXR1cm4gcmV0Ow0KPiA+ICt9DQo+IA0KPiBQ
+bGVhc2UgdXNlIGRldm0uDQoNCltMdSBZYW5nYm8tQjQ3MDkzXSBTb3JyeSBmb3IgZm9yZ2V0dGlu
+ZyB0aGlzLiBXaWxsIGRvIHRoYXQgYW5kIHNlbmQgb3V0IHRoZSBuZXcgdmVyc2lvbiBzb29uLg0K
+VGhhbmtzIGZvciB5b3VyIGNvbW1lbnRzLg0KDQo+IA0KPiAtU2NvdHQNCg0KX19fX19fX19fX19f
+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWls
+aW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0
+cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=
\ No newline at end of file
diff --git a/a/content_digest b/N3/content_digest
index 1f0c858..51c1a75 100644
--- a/a/content_digest
+++ b/N3/content_digest
@@ -23,27 +23,27 @@
   " Arnd Bergmann <arnd\@arndb.de>\0"
 ]
 [
-  "Cc\0linuxppc-dev\@lists.ozlabs.org <linuxppc-dev\@lists.ozlabs.org>",
+  "Cc\0Mark Rutland <mark.rutland\@arm.com>",
   " devicetree\@vger.kernel.org <devicetree\@vger.kernel.org>",
-  " linux-arm-kernel\@lists.infradead.org <linux-arm-kernel\@lists.infradead.org>",
+  " Russell King <linux\@arm.linux.org.uk>",
+  " Bhupesh Sharma <bhupesh.sharma\@freescale.com>",
+  " netdev\@vger.kernel.org <netdev\@vger.kernel.org>",
+  " Joerg Roedel <joro\@8bytes.org>",
+  " Santosh Shilimkar <ssantosh\@kernel.org>",
   " linux-kernel\@vger.kernel.org <linux-kernel\@vger.kernel.org>",
-  " linux-clk\@vger.kernel.org <linux-clk\@vger.kernel.org>",
-  " linux-i2c\@vger.kernel.org <linux-i2c\@vger.kernel.org>",
+  " Jochen Friedrich <jochen\@scram.de>",
+  " X.B. Xie <xiaobo.xie\@nxp.com>",
+  " M.H. Lian <minghuan.lian\@nxp.com>",
   " iommu\@lists.linux-foundation.org <iommu\@lists.linux-foundation.org>",
-  " netdev\@vger.kernel.org <netdev\@vger.kernel.org>",
-  " Mark Rutland <mark.rutland\@arm.com>",
   " Rob Herring <robh+dt\@kernel.org>",
-  " Russell King <linux\@arm.linux.org.uk>",
-  " Jochen Friedrich <jochen\@scram.de>",
-  " Joerg Roedel <joro\@8bytes.org>",
+  " linux-i2c\@vger.kernel.org <linux-i2c\@vger.kernel.org>",
   " Claudiu Manoil <claudiu.manoil\@freescale.com>",
-  " Bhupesh Sharma <bhupesh.sharma\@freescale.com>",
-  " Qiang Zhao <qiang.zhao\@nxp.com>",
   " Kumar Gala <galak\@codeaurora.org>",
-  " Santosh Shilimkar <ssantosh\@kernel.org>",
   " Leo Li <leoyang.li\@nxp.com>",
-  " X.B. Xie <xiaobo.xie\@nxp.com>",
-  " M.H. Lian <minghuan.lian\@nxp.com>\0"
+  " linuxppc-dev\@lists.ozlabs.org <linuxppc-dev\@lists.ozlabs.org>",
+  " linux-clk\@vger.kernel.org <linux-clk\@vger.kernel.org>",
+  " linux-arm-kernel\@lists.infradead.org <linux-arm-kernel\@lists.infradead.org>",
+  " Qiang Zhao <qiang.zhao\@nxp.com>\0"
 ]
 [
   "\0000:1\0"
@@ -52,163 +52,100 @@
   "b\0"
 ]
 [
-  "Hi Scott,\n",
-  "\n",
-  "\n",
-  "> -----Original Message-----\n",
-  "> From: Scott Wood [mailto:oss\@buserror.net]\n",
-  "> Sent: Thursday, October 27, 2016 1:06 AM\n",
-  "> To: Y.B. Lu; linux-mmc\@vger.kernel.org; ulf.hansson\@linaro.org; Arnd\n",
-  "> Bergmann\n",
-  "> Cc: linuxppc-dev\@lists.ozlabs.org; devicetree\@vger.kernel.org; linux-arm-\n",
-  "> kernel\@lists.infradead.org; linux-kernel\@vger.kernel.org; linux-\n",
-  "> clk\@vger.kernel.org; linux-i2c\@vger.kernel.org; iommu\@lists.linux-\n",
-  "> foundation.org; netdev\@vger.kernel.org; Mark Rutland; Rob Herring;\n",
-  "> Russell King; Jochen Friedrich; Joerg Roedel; Claudiu Manoil; Bhupesh\n",
-  "> Sharma; Qiang Zhao; Kumar Gala; Santosh Shilimkar; Leo Li; X.B. Xie; M.H.\n",
-  "> Lian\n",
-  "> Subject: Re: [v12, 5/8] soc: fsl: add GUTS driver for QorIQ platforms\n",
-  "> \n",
-  "> On Wed, 2016-09-21 at 14:57 +0800, Yangbo Lu wrote:\n",
-  "> > diff --git a/drivers/soc/fsl/Kconfig b/drivers/soc/fsl/Kconfig new\n",
-  "> > file mode 100644 index 0000000..b99764c\n",
-  "> > --- /dev/null\n",
-  "> > +++ b/drivers/soc/fsl/Kconfig\n",
-  "> > \@\@ -0,0 +1,19 \@\@\n",
-  "> > +#\n",
-  "> > +# Freescale SOC drivers\n",
-  "> > +#\n",
-  "> > +\n",
-  "> > +source \"drivers/soc/fsl/qe/Kconfig\"\n",
-  "> > +\n",
-  "> > +config FSL_GUTS\n",
-  "> > +\tbool \"Freescale QorIQ GUTS driver\"\n",
-  "> > +\tselect SOC_BUS\n",
-  "> > +\thelp\n",
-  "> > +\t\302\240\302\240The global utilities block controls power management, I/O device\n",
-  "> > +\t\302\240\302\240enabling, power-onreset(POR) configuration monitoring, alternate\n",
-  "> > +\t\302\240\302\240function selection for multiplexed signals,and clock control.\n",
-  "> > +\t\302\240\302\240This driver is to manage and access global utilities block.\n",
-  "> > +\t\302\240\302\240Initially only reading SVR and registering soc device are\n",
-  "> > supported.\n",
-  "> > +\t\302\240\302\240Other guts accesses, such as reading RCW, should eventually be\n",
-  "> > moved\n",
-  "> > +\t\302\240\302\240into this driver as well.\n",
-  "> > +\n",
-  "> > +\t\302\240\302\240If you want GUTS driver support, you should say Y here.\n",
-  "> \n",
-  "> This is user-enablable without dependencies, which means it will break\n",
-  "> some randconfigs. \302\240If this is to be enabled via select then remove the\n",
-  "> text after \"bool\".\n",
-  "\n",
-  "[Lu Yangbo-B47093] Will enable it via select and remove text after 'bool'.\n",
-  " \n",
-  "> \n",
-  "> > +/* SoC die attribute definition for QorIQ platform */ static const\n",
-  "> > +struct fsl_soc_die_attr fsl_soc_die[] = { #ifdef CONFIG_PPC\n",
-  "> > +\t/*\n",
-  "> > +\t\302\240* Power Architecture-based SoCs T Series\n",
-  "> > +\t\302\240*/\n",
-  "> > +\n",
-  "> > +\t/* Die: T4240, SoC: T4240/T4160/T4080 */\n",
-  "> > +\t{ .die\t\t= \"T4240\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x82400000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xfff00000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: T1040, SoC: T1040/T1020/T1042/T1022 */\n",
-  "> > +\t{ .die\t\t= \"T1040\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x85200000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xfff00000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: T2080, SoC: T2080/T2081 */\n",
-  "> > +\t{ .die\t\t= \"T2080\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x85300000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xfff00000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: T1024, SoC: T1024/T1014/T1023/T1013 */\n",
-  "> > +\t{ .die\t\t= \"T1024\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x85400000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xfff00000,\n",
-  "> > +\t},\n",
-  "> > +#endif /* CONFIG_PPC */\n",
-  "> > +#if defined(CONFIG_ARCH_MXC) || defined(CONFIG_ARCH_LAYERSCAPE)\n",
-  "> \n",
-  "> Will this driver ever be probed on MXC? \302\240Why do we need these ifdefs at\n",
-  "> all?\n",
-  "\n",
-  "[Lu Yangbo-B47093] Will remove them. In the previous version, we use too many members for soc definition, so I add #ifdef for ARCH. \n",
-  "CONFIG_ARCH_MXC was for ls1021a.\n",
-  "\n",
-  "> \n",
-  "> \n",
-  "> > +\t/*\n",
-  "> > +\t\302\240* ARM-based SoCs LS Series\n",
-  "> > +\t\302\240*/\n",
-  "> > +\n",
-  "> > +\t/* Die: LS1043A, SoC: LS1043A/LS1023A */\n",
-  "> > +\t{ .die\t\t= \"LS1043A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87920000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xffff0000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: LS2080A, SoC: LS2080A/LS2040A/LS2085A */\n",
-  "> > +\t{ .die\t\t= \"LS2080A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87010000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xff3f0000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: LS1088A, SoC: LS1088A/LS1048A/LS1084A/LS1044A */\n",
-  "> > +\t{ .die\t\t= \"LS1088A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87030000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xff3f0000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: LS1012A, SoC: LS1012A */\n",
-  "> > +\t{ .die\t\t= \"LS1012A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87040000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xffff0000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: LS1046A, SoC: LS1046A/LS1026A */\n",
-  "> > +\t{ .die\t\t= \"LS1046A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87070000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xffff0000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: LS2088A, SoC: LS2088A/LS2048A/LS2084A/LS2044A */\n",
-  "> > +\t{ .die\t\t= \"LS2088A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87090000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xff3f0000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: LS1021A, SoC: LS1021A/LS1020A/LS1022A\n",
-  "> > +\t\302\240* Note: Put this die at the end in cause of incorrect\n",
-  "> > identification\n",
-  "> > +\t\302\240*/\n",
-  "> > +\t{ .die\t\t= \"LS1021A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87000000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xfff00000,\n",
-  "> > +\t},\n",
-  "> > +#endif /* CONFIG_ARCH_MXC || CONFIG_ARCH_LAYERSCAPE */\n",
-  "> \n",
-  "> Instead of relying on ordering, add more bits to the mask so that there's\n",
-  "> no overlap. \302\240I think 0xfff70000 would work.\n",
-  "\n",
-  "[Lu Yangbo-B47093] Ok, Will do that. Then we add 3 bits of 'Various Personalities' field for ls1021a die identification.\n",
-  "\n",
-  "> \n",
-  "> > +out:\n",
-  "> > +\tkfree(soc_dev_attr.machine);\n",
-  "> > +\tkfree(soc_dev_attr.family);\n",
-  "> > +\tkfree(soc_dev_attr.soc_id);\n",
-  "> > +\tkfree(soc_dev_attr.revision);\n",
-  "> > +\tiounmap(guts->regs);\n",
-  "> > +out_free:\n",
-  "> > +\tkfree(guts);\n",
-  "> > +\treturn ret;\n",
-  "> > +}\n",
-  "> \n",
-  "> Please use devm.\n",
-  "\n",
-  "[Lu Yangbo-B47093] Sorry for forgetting this. Will do that and send out the new version soon.\n",
-  "Thanks for your comments.\n",
-  "\n",
-  "> \n",
-  "> -Scott"
+  "SGkgU2NvdHQsDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTY290\n",
+  "dCBXb29kIFttYWlsdG86b3NzQGJ1c2Vycm9yLm5ldF0NCj4gU2VudDogVGh1cnNkYXksIE9jdG9i\n",
+  "ZXIgMjcsIDIwMTYgMTowNiBBTQ0KPiBUbzogWS5CLiBMdTsgbGludXgtbW1jQHZnZXIua2VybmVs\n",
+  "Lm9yZzsgdWxmLmhhbnNzb25AbGluYXJvLm9yZzsgQXJuZA0KPiBCZXJnbWFubg0KPiBDYzogbGlu\n",
+  "dXhwcGMtZGV2QGxpc3RzLm96bGFicy5vcmc7IGRldmljZXRyZWVAdmdlci5rZXJuZWwub3JnOyBs\n",
+  "aW51eC1hcm0tDQo+IGtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnOyBsaW51eC1rZXJuZWxAdmdl\n",
+  "ci5rZXJuZWwub3JnOyBsaW51eC0NCj4gY2xrQHZnZXIua2VybmVsLm9yZzsgbGludXgtaTJjQHZn\n",
+  "ZXIua2VybmVsLm9yZzsgaW9tbXVAbGlzdHMubGludXgtDQo+IGZvdW5kYXRpb24ub3JnOyBuZXRk\n",
+  "ZXZAdmdlci5rZXJuZWwub3JnOyBNYXJrIFJ1dGxhbmQ7IFJvYiBIZXJyaW5nOw0KPiBSdXNzZWxs\n",
+  "IEtpbmc7IEpvY2hlbiBGcmllZHJpY2g7IEpvZXJnIFJvZWRlbDsgQ2xhdWRpdSBNYW5vaWw7IEJo\n",
+  "dXBlc2gNCj4gU2hhcm1hOyBRaWFuZyBaaGFvOyBLdW1hciBHYWxhOyBTYW50b3NoIFNoaWxpbWth\n",
+  "cjsgTGVvIExpOyBYLkIuIFhpZTsgTS5ILg0KPiBMaWFuDQo+IFN1YmplY3Q6IFJlOiBbdjEyLCA1\n",
+  "LzhdIHNvYzogZnNsOiBhZGQgR1VUUyBkcml2ZXIgZm9yIFFvcklRIHBsYXRmb3Jtcw0KPiANCj4g\n",
+  "T24gV2VkLCAyMDE2LTA5LTIxIGF0IDE0OjU3ICswODAwLCBZYW5nYm8gTHUgd3JvdGU6DQo+ID4g\n",
+  "ZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL2ZzbC9LY29uZmlnIGIvZHJpdmVycy9zb2MvZnNsL0tj\n",
+  "b25maWcgbmV3DQo+ID4gZmlsZSBtb2RlIDEwMDY0NCBpbmRleCAwMDAwMDAwLi5iOTk3NjRjDQo+\n",
+  "ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2RyaXZlcnMvc29jL2ZzbC9LY29uZmlnDQo+ID4g\n",
+  "QEAgLTAsMCArMSwxOSBAQA0KPiA+ICsjDQo+ID4gKyMgRnJlZXNjYWxlIFNPQyBkcml2ZXJzDQo+\n",
+  "ID4gKyMNCj4gPiArDQo+ID4gK3NvdXJjZSAiZHJpdmVycy9zb2MvZnNsL3FlL0tjb25maWciDQo+\n",
+  "ID4gKw0KPiA+ICtjb25maWcgRlNMX0dVVFMNCj4gPiArCWJvb2wgIkZyZWVzY2FsZSBRb3JJUSBH\n",
+  "VVRTIGRyaXZlciINCj4gPiArCXNlbGVjdCBTT0NfQlVTDQo+ID4gKwloZWxwDQo+ID4gKwnCoMKg\n",
+  "VGhlIGdsb2JhbCB1dGlsaXRpZXMgYmxvY2sgY29udHJvbHMgcG93ZXIgbWFuYWdlbWVudCwgSS9P\n",
+  "IGRldmljZQ0KPiA+ICsJwqDCoGVuYWJsaW5nLCBwb3dlci1vbnJlc2V0KFBPUikgY29uZmlndXJh\n",
+  "dGlvbiBtb25pdG9yaW5nLCBhbHRlcm5hdGUNCj4gPiArCcKgwqBmdW5jdGlvbiBzZWxlY3Rpb24g\n",
+  "Zm9yIG11bHRpcGxleGVkIHNpZ25hbHMsYW5kIGNsb2NrIGNvbnRyb2wuDQo+ID4gKwnCoMKgVGhp\n",
+  "cyBkcml2ZXIgaXMgdG8gbWFuYWdlIGFuZCBhY2Nlc3MgZ2xvYmFsIHV0aWxpdGllcyBibG9jay4N\n",
+  "Cj4gPiArCcKgwqBJbml0aWFsbHkgb25seSByZWFkaW5nIFNWUiBhbmQgcmVnaXN0ZXJpbmcgc29j\n",
+  "IGRldmljZSBhcmUNCj4gPiBzdXBwb3J0ZWQuDQo+ID4gKwnCoMKgT3RoZXIgZ3V0cyBhY2Nlc3Nl\n",
+  "cywgc3VjaCBhcyByZWFkaW5nIFJDVywgc2hvdWxkIGV2ZW50dWFsbHkgYmUNCj4gPiBtb3ZlZA0K\n",
+  "PiA+ICsJwqDCoGludG8gdGhpcyBkcml2ZXIgYXMgd2VsbC4NCj4gPiArDQo+ID4gKwnCoMKgSWYg\n",
+  "eW91IHdhbnQgR1VUUyBkcml2ZXIgc3VwcG9ydCwgeW91IHNob3VsZCBzYXkgWSBoZXJlLg0KPiAN\n",
+  "Cj4gVGhpcyBpcyB1c2VyLWVuYWJsYWJsZSB3aXRob3V0IGRlcGVuZGVuY2llcywgd2hpY2ggbWVh\n",
+  "bnMgaXQgd2lsbCBicmVhaw0KPiBzb21lIHJhbmRjb25maWdzLiDCoElmIHRoaXMgaXMgdG8gYmUg\n",
+  "ZW5hYmxlZCB2aWEgc2VsZWN0IHRoZW4gcmVtb3ZlIHRoZQ0KPiB0ZXh0IGFmdGVyICJib29sIi4N\n",
+  "Cg0KW0x1IFlhbmdiby1CNDcwOTNdIFdpbGwgZW5hYmxlIGl0IHZpYSBzZWxlY3QgYW5kIHJlbW92\n",
+  "ZSB0ZXh0IGFmdGVyICdib29sJy4NCiANCj4gDQo+ID4gKy8qIFNvQyBkaWUgYXR0cmlidXRlIGRl\n",
+  "ZmluaXRpb24gZm9yIFFvcklRIHBsYXRmb3JtICovIHN0YXRpYyBjb25zdA0KPiA+ICtzdHJ1Y3Qg\n",
+  "ZnNsX3NvY19kaWVfYXR0ciBmc2xfc29jX2RpZVtdID0geyAjaWZkZWYgQ09ORklHX1BQQw0KPiA+\n",
+  "ICsJLyoNCj4gPiArCcKgKiBQb3dlciBBcmNoaXRlY3R1cmUtYmFzZWQgU29DcyBUIFNlcmllcw0K\n",
+  "PiA+ICsJwqAqLw0KPiA+ICsNCj4gPiArCS8qIERpZTogVDQyNDAsIFNvQzogVDQyNDAvVDQxNjAv\n",
+  "VDQwODAgKi8NCj4gPiArCXsgLmRpZQkJPSAiVDQyNDAiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4\n",
+  "MjQwMDAwMCwNCj4gPiArCcKgwqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJfSwNCj4gPiAr\n",
+  "CS8qIERpZTogVDEwNDAsIFNvQzogVDEwNDAvVDEwMjAvVDEwNDIvVDEwMjIgKi8NCj4gPiArCXsg\n",
+  "LmRpZQkJPSAiVDEwNDAiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4NTIwMDAwMCwNCj4gPiArCcKg\n",
+  "wqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJfSwNCj4gPiArCS8qIERpZTogVDIwODAsIFNv\n",
+  "QzogVDIwODAvVDIwODEgKi8NCj4gPiArCXsgLmRpZQkJPSAiVDIwODAiLA0KPiA+ICsJwqDCoC5z\n",
+  "dnIJCT0gMHg4NTMwMDAwMCwNCj4gPiArCcKgwqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJ\n",
+  "fSwNCj4gPiArCS8qIERpZTogVDEwMjQsIFNvQzogVDEwMjQvVDEwMTQvVDEwMjMvVDEwMTMgKi8N\n",
+  "Cj4gPiArCXsgLmRpZQkJPSAiVDEwMjQiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4NTQwMDAwMCwN\n",
+  "Cj4gPiArCcKgwqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJfSwNCj4gPiArI2VuZGlmIC8q\n",
+  "IENPTkZJR19QUEMgKi8NCj4gPiArI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfTVhDKSB8fCBkZWZp\n",
+  "bmVkKENPTkZJR19BUkNIX0xBWUVSU0NBUEUpDQo+IA0KPiBXaWxsIHRoaXMgZHJpdmVyIGV2ZXIg\n",
+  "YmUgcHJvYmVkIG9uIE1YQz8gwqBXaHkgZG8gd2UgbmVlZCB0aGVzZSBpZmRlZnMgYXQNCj4gYWxs\n",
+  "Pw0KDQpbTHUgWWFuZ2JvLUI0NzA5M10gV2lsbCByZW1vdmUgdGhlbS4gSW4gdGhlIHByZXZpb3Vz\n",
+  "IHZlcnNpb24sIHdlIHVzZSB0b28gbWFueSBtZW1iZXJzIGZvciBzb2MgZGVmaW5pdGlvbiwgc28g\n",
+  "SSBhZGQgI2lmZGVmIGZvciBBUkNILiANCkNPTkZJR19BUkNIX01YQyB3YXMgZm9yIGxzMTAyMWEu\n",
+  "DQoNCj4gDQo+IA0KPiA+ICsJLyoNCj4gPiArCcKgKiBBUk0tYmFzZWQgU29DcyBMUyBTZXJpZXMN\n",
+  "Cj4gPiArCcKgKi8NCj4gPiArDQo+ID4gKwkvKiBEaWU6IExTMTA0M0EsIFNvQzogTFMxMDQzQS9M\n",
+  "UzEwMjNBICovDQo+ID4gKwl7IC5kaWUJCT0gIkxTMTA0M0EiLA0KPiA+ICsJwqDCoC5zdnIJCT0g\n",
+  "MHg4NzkyMDAwMCwNCj4gPiArCcKgwqAubWFzawkJPSAweGZmZmYwMDAwLA0KPiA+ICsJfSwNCj4g\n",
+  "PiArCS8qIERpZTogTFMyMDgwQSwgU29DOiBMUzIwODBBL0xTMjA0MEEvTFMyMDg1QSAqLw0KPiA+\n",
+  "ICsJeyAuZGllCQk9ICJMUzIwODBBIiwNCj4gPiArCcKgwqAuc3ZyCQk9IDB4ODcwMTAwMDAsDQo+\n",
+  "ID4gKwnCoMKgLm1hc2sJCT0gMHhmZjNmMDAwMCwNCj4gPiArCX0sDQo+ID4gKwkvKiBEaWU6IExT\n",
+  "MTA4OEEsIFNvQzogTFMxMDg4QS9MUzEwNDhBL0xTMTA4NEEvTFMxMDQ0QSAqLw0KPiA+ICsJeyAu\n",
+  "ZGllCQk9ICJMUzEwODhBIiwNCj4gPiArCcKgwqAuc3ZyCQk9IDB4ODcwMzAwMDAsDQo+ID4gKwnC\n",
+  "oMKgLm1hc2sJCT0gMHhmZjNmMDAwMCwNCj4gPiArCX0sDQo+ID4gKwkvKiBEaWU6IExTMTAxMkEs\n",
+  "IFNvQzogTFMxMDEyQSAqLw0KPiA+ICsJeyAuZGllCQk9ICJMUzEwMTJBIiwNCj4gPiArCcKgwqAu\n",
+  "c3ZyCQk9IDB4ODcwNDAwMDAsDQo+ID4gKwnCoMKgLm1hc2sJCT0gMHhmZmZmMDAwMCwNCj4gPiAr\n",
+  "CX0sDQo+ID4gKwkvKiBEaWU6IExTMTA0NkEsIFNvQzogTFMxMDQ2QS9MUzEwMjZBICovDQo+ID4g\n",
+  "Kwl7IC5kaWUJCT0gIkxTMTA0NkEiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4NzA3MDAwMCwNCj4g\n",
+  "PiArCcKgwqAubWFzawkJPSAweGZmZmYwMDAwLA0KPiA+ICsJfSwNCj4gPiArCS8qIERpZTogTFMy\n",
+  "MDg4QSwgU29DOiBMUzIwODhBL0xTMjA0OEEvTFMyMDg0QS9MUzIwNDRBICovDQo+ID4gKwl7IC5k\n",
+  "aWUJCT0gIkxTMjA4OEEiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4NzA5MDAwMCwNCj4gPiArCcKg\n",
+  "wqAubWFzawkJPSAweGZmM2YwMDAwLA0KPiA+ICsJfSwNCj4gPiArCS8qIERpZTogTFMxMDIxQSwg\n",
+  "U29DOiBMUzEwMjFBL0xTMTAyMEEvTFMxMDIyQQ0KPiA+ICsJwqAqIE5vdGU6IFB1dCB0aGlzIGRp\n",
+  "ZSBhdCB0aGUgZW5kIGluIGNhdXNlIG9mIGluY29ycmVjdA0KPiA+IGlkZW50aWZpY2F0aW9uDQo+\n",
+  "ID4gKwnCoCovDQo+ID4gKwl7IC5kaWUJCT0gIkxTMTAyMUEiLA0KPiA+ICsJwqDCoC5zdnIJCT0g\n",
+  "MHg4NzAwMDAwMCwNCj4gPiArCcKgwqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJfSwNCj4g\n",
+  "PiArI2VuZGlmIC8qIENPTkZJR19BUkNIX01YQyB8fCBDT05GSUdfQVJDSF9MQVlFUlNDQVBFICov\n",
+  "DQo+IA0KPiBJbnN0ZWFkIG9mIHJlbHlpbmcgb24gb3JkZXJpbmcsIGFkZCBtb3JlIGJpdHMgdG8g\n",
+  "dGhlIG1hc2sgc28gdGhhdCB0aGVyZSdzDQo+IG5vIG92ZXJsYXAuIMKgSSB0aGluayAweGZmZjcw\n",
+  "MDAwIHdvdWxkIHdvcmsuDQoNCltMdSBZYW5nYm8tQjQ3MDkzXSBPaywgV2lsbCBkbyB0aGF0LiBU\n",
+  "aGVuIHdlIGFkZCAzIGJpdHMgb2YgJ1ZhcmlvdXMgUGVyc29uYWxpdGllcycgZmllbGQgZm9yIGxz\n",
+  "MTAyMWEgZGllIGlkZW50aWZpY2F0aW9uLg0KDQo+IA0KPiA+ICtvdXQ6DQo+ID4gKwlrZnJlZShz\n",
+  "b2NfZGV2X2F0dHIubWFjaGluZSk7DQo+ID4gKwlrZnJlZShzb2NfZGV2X2F0dHIuZmFtaWx5KTsN\n",
+  "Cj4gPiArCWtmcmVlKHNvY19kZXZfYXR0ci5zb2NfaWQpOw0KPiA+ICsJa2ZyZWUoc29jX2Rldl9h\n",
+  "dHRyLnJldmlzaW9uKTsNCj4gPiArCWlvdW5tYXAoZ3V0cy0+cmVncyk7DQo+ID4gK291dF9mcmVl\n",
+  "Og0KPiA+ICsJa2ZyZWUoZ3V0cyk7DQo+ID4gKwlyZXR1cm4gcmV0Ow0KPiA+ICt9DQo+IA0KPiBQ\n",
+  "bGVhc2UgdXNlIGRldm0uDQoNCltMdSBZYW5nYm8tQjQ3MDkzXSBTb3JyeSBmb3IgZm9yZ2V0dGlu\n",
+  "ZyB0aGlzLiBXaWxsIGRvIHRoYXQgYW5kIHNlbmQgb3V0IHRoZSBuZXcgdmVyc2lvbiBzb29uLg0K\n",
+  "VGhhbmtzIGZvciB5b3VyIGNvbW1lbnRzLg0KDQo+IA0KPiAtU2NvdHQNCg0KX19fX19fX19fX19f\n",
+  "X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWls\n",
+  "aW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0\n",
+  "cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo="
 ]
 
-58f002fc5836953dd41ab47e1f25943d7cc43c575507742565fbe66b9406d533
+7b7f0723f7664ffbc1f25be76f0ca64a53f8bee9a26b0bf5519e76326fe18791

diff --git a/a/1.txt b/N4/1.txt
index 8923aba..df5f2c5 100644
--- a/a/1.txt
+++ b/N4/1.txt
@@ -1,157 +1,91 @@
-Hi Scott,
-
-
-> -----Original Message-----
-> From: Scott Wood [mailto:oss@buserror.net]
-> Sent: Thursday, October 27, 2016 1:06 AM
-> To: Y.B. Lu; linux-mmc@vger.kernel.org; ulf.hansson@linaro.org; Arnd
-> Bergmann
-> Cc: linuxppc-dev@lists.ozlabs.org; devicetree@vger.kernel.org; linux-arm-
-> kernel@lists.infradead.org; linux-kernel@vger.kernel.org; linux-
-> clk@vger.kernel.org; linux-i2c@vger.kernel.org; iommu@lists.linux-
-> foundation.org; netdev@vger.kernel.org; Mark Rutland; Rob Herring;
-> Russell King; Jochen Friedrich; Joerg Roedel; Claudiu Manoil; Bhupesh
-> Sharma; Qiang Zhao; Kumar Gala; Santosh Shilimkar; Leo Li; X.B. Xie; M.H.
-> Lian
-> Subject: Re: [v12, 5/8] soc: fsl: add GUTS driver for QorIQ platforms
-> 
-> On Wed, 2016-09-21 at 14:57 +0800, Yangbo Lu wrote:
-> > diff --git a/drivers/soc/fsl/Kconfig b/drivers/soc/fsl/Kconfig new
-> > file mode 100644 index 0000000..b99764c
-> > --- /dev/null
-> > +++ b/drivers/soc/fsl/Kconfig
-> > @@ -0,0 +1,19 @@
-> > +#
-> > +# Freescale SOC drivers
-> > +#
-> > +
-> > +source "drivers/soc/fsl/qe/Kconfig"
-> > +
-> > +config FSL_GUTS
-> > +	bool "Freescale QorIQ GUTS driver"
-> > +	select SOC_BUS
-> > +	help
-> > +	  The global utilities block controls power management, I/O device
-> > +	  enabling, power-onreset(POR) configuration monitoring, alternate
-> > +	  function selection for multiplexed signals,and clock control.
-> > +	  This driver is to manage and access global utilities block.
-> > +	  Initially only reading SVR and registering soc device are
-> > supported.
-> > +	  Other guts accesses, such as reading RCW, should eventually be
-> > moved
-> > +	  into this driver as well.
-> > +
-> > +	  If you want GUTS driver support, you should say Y here.
-> 
-> This is user-enablable without dependencies, which means it will break
-> some randconfigs.  If this is to be enabled via select then remove the
-> text after "bool".
-
-[Lu Yangbo-B47093] Will enable it via select and remove text after 'bool'.
- 
-> 
-> > +/* SoC die attribute definition for QorIQ platform */ static const
-> > +struct fsl_soc_die_attr fsl_soc_die[] = { #ifdef CONFIG_PPC
-> > +	/*
-> > +	 * Power Architecture-based SoCs T Series
-> > +	 */
-> > +
-> > +	/* Die: T4240, SoC: T4240/T4160/T4080 */
-> > +	{ .die		= "T4240",
-> > +	  .svr		= 0x82400000,
-> > +	  .mask		= 0xfff00000,
-> > +	},
-> > +	/* Die: T1040, SoC: T1040/T1020/T1042/T1022 */
-> > +	{ .die		= "T1040",
-> > +	  .svr		= 0x85200000,
-> > +	  .mask		= 0xfff00000,
-> > +	},
-> > +	/* Die: T2080, SoC: T2080/T2081 */
-> > +	{ .die		= "T2080",
-> > +	  .svr		= 0x85300000,
-> > +	  .mask		= 0xfff00000,
-> > +	},
-> > +	/* Die: T1024, SoC: T1024/T1014/T1023/T1013 */
-> > +	{ .die		= "T1024",
-> > +	  .svr		= 0x85400000,
-> > +	  .mask		= 0xfff00000,
-> > +	},
-> > +#endif /* CONFIG_PPC */
-> > +#if defined(CONFIG_ARCH_MXC) || defined(CONFIG_ARCH_LAYERSCAPE)
-> 
-> Will this driver ever be probed on MXC?  Why do we need these ifdefs at
-> all?
-
-[Lu Yangbo-B47093] Will remove them. In the previous version, we use too many members for soc definition, so I add #ifdef for ARCH. 
-CONFIG_ARCH_MXC was for ls1021a.
-
-> 
-> 
-> > +	/*
-> > +	 * ARM-based SoCs LS Series
-> > +	 */
-> > +
-> > +	/* Die: LS1043A, SoC: LS1043A/LS1023A */
-> > +	{ .die		= "LS1043A",
-> > +	  .svr		= 0x87920000,
-> > +	  .mask		= 0xffff0000,
-> > +	},
-> > +	/* Die: LS2080A, SoC: LS2080A/LS2040A/LS2085A */
-> > +	{ .die		= "LS2080A",
-> > +	  .svr		= 0x87010000,
-> > +	  .mask		= 0xff3f0000,
-> > +	},
-> > +	/* Die: LS1088A, SoC: LS1088A/LS1048A/LS1084A/LS1044A */
-> > +	{ .die		= "LS1088A",
-> > +	  .svr		= 0x87030000,
-> > +	  .mask		= 0xff3f0000,
-> > +	},
-> > +	/* Die: LS1012A, SoC: LS1012A */
-> > +	{ .die		= "LS1012A",
-> > +	  .svr		= 0x87040000,
-> > +	  .mask		= 0xffff0000,
-> > +	},
-> > +	/* Die: LS1046A, SoC: LS1046A/LS1026A */
-> > +	{ .die		= "LS1046A",
-> > +	  .svr		= 0x87070000,
-> > +	  .mask		= 0xffff0000,
-> > +	},
-> > +	/* Die: LS2088A, SoC: LS2088A/LS2048A/LS2084A/LS2044A */
-> > +	{ .die		= "LS2088A",
-> > +	  .svr		= 0x87090000,
-> > +	  .mask		= 0xff3f0000,
-> > +	},
-> > +	/* Die: LS1021A, SoC: LS1021A/LS1020A/LS1022A
-> > +	 * Note: Put this die at the end in cause of incorrect
-> > identification
-> > +	 */
-> > +	{ .die		= "LS1021A",
-> > +	  .svr		= 0x87000000,
-> > +	  .mask		= 0xfff00000,
-> > +	},
-> > +#endif /* CONFIG_ARCH_MXC || CONFIG_ARCH_LAYERSCAPE */
-> 
-> Instead of relying on ordering, add more bits to the mask so that there's
-> no overlap.  I think 0xfff70000 would work.
-
-[Lu Yangbo-B47093] Ok, Will do that. Then we add 3 bits of 'Various Personalities' field for ls1021a die identification.
-
-> 
-> > +out:
-> > +	kfree(soc_dev_attr.machine);
-> > +	kfree(soc_dev_attr.family);
-> > +	kfree(soc_dev_attr.soc_id);
-> > +	kfree(soc_dev_attr.revision);
-> > +	iounmap(guts->regs);
-> > +out_free:
-> > +	kfree(guts);
-> > +	return ret;
-> > +}
-> 
-> Please use devm.
-
-[Lu Yangbo-B47093] Sorry for forgetting this. Will do that and send out the new version soon.
-Thanks for your comments.
-
-> 
-> -Scott
\ No newline at end of file
+SGkgU2NvdHQsDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTY290
+dCBXb29kIFttYWlsdG86b3NzQGJ1c2Vycm9yLm5ldF0NCj4gU2VudDogVGh1cnNkYXksIE9jdG9i
+ZXIgMjcsIDIwMTYgMTowNiBBTQ0KPiBUbzogWS5CLiBMdTsgbGludXgtbW1jQHZnZXIua2VybmVs
+Lm9yZzsgdWxmLmhhbnNzb25AbGluYXJvLm9yZzsgQXJuZA0KPiBCZXJnbWFubg0KPiBDYzogbGlu
+dXhwcGMtZGV2QGxpc3RzLm96bGFicy5vcmc7IGRldmljZXRyZWVAdmdlci5rZXJuZWwub3JnOyBs
+aW51eC1hcm0tDQo+IGtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnOyBsaW51eC1rZXJuZWxAdmdl
+ci5rZXJuZWwub3JnOyBsaW51eC0NCj4gY2xrQHZnZXIua2VybmVsLm9yZzsgbGludXgtaTJjQHZn
+ZXIua2VybmVsLm9yZzsgaW9tbXVAbGlzdHMubGludXgtDQo+IGZvdW5kYXRpb24ub3JnOyBuZXRk
+ZXZAdmdlci5rZXJuZWwub3JnOyBNYXJrIFJ1dGxhbmQ7IFJvYiBIZXJyaW5nOw0KPiBSdXNzZWxs
+IEtpbmc7IEpvY2hlbiBGcmllZHJpY2g7IEpvZXJnIFJvZWRlbDsgQ2xhdWRpdSBNYW5vaWw7IEJo
+dXBlc2gNCj4gU2hhcm1hOyBRaWFuZyBaaGFvOyBLdW1hciBHYWxhOyBTYW50b3NoIFNoaWxpbWth
+cjsgTGVvIExpOyBYLkIuIFhpZTsgTS5ILg0KPiBMaWFuDQo+IFN1YmplY3Q6IFJlOiBbdjEyLCA1
+LzhdIHNvYzogZnNsOiBhZGQgR1VUUyBkcml2ZXIgZm9yIFFvcklRIHBsYXRmb3Jtcw0KPiANCj4g
+T24gV2VkLCAyMDE2LTA5LTIxIGF0IDE0OjU3ICswODAwLCBZYW5nYm8gTHUgd3JvdGU6DQo+ID4g
+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL2ZzbC9LY29uZmlnIGIvZHJpdmVycy9zb2MvZnNsL0tj
+b25maWcgbmV3DQo+ID4gZmlsZSBtb2RlIDEwMDY0NCBpbmRleCAwMDAwMDAwLi5iOTk3NjRjDQo+
+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2RyaXZlcnMvc29jL2ZzbC9LY29uZmlnDQo+ID4g
+QEAgLTAsMCArMSwxOSBAQA0KPiA+ICsjDQo+ID4gKyMgRnJlZXNjYWxlIFNPQyBkcml2ZXJzDQo+
+ID4gKyMNCj4gPiArDQo+ID4gK3NvdXJjZSAiZHJpdmVycy9zb2MvZnNsL3FlL0tjb25maWciDQo+
+ID4gKw0KPiA+ICtjb25maWcgRlNMX0dVVFMNCj4gPiArCWJvb2wgIkZyZWVzY2FsZSBRb3JJUSBH
+VVRTIGRyaXZlciINCj4gPiArCXNlbGVjdCBTT0NfQlVTDQo+ID4gKwloZWxwDQo+ID4gKwnCoMKg
+VGhlIGdsb2JhbCB1dGlsaXRpZXMgYmxvY2sgY29udHJvbHMgcG93ZXIgbWFuYWdlbWVudCwgSS9P
+IGRldmljZQ0KPiA+ICsJwqDCoGVuYWJsaW5nLCBwb3dlci1vbnJlc2V0KFBPUikgY29uZmlndXJh
+dGlvbiBtb25pdG9yaW5nLCBhbHRlcm5hdGUNCj4gPiArCcKgwqBmdW5jdGlvbiBzZWxlY3Rpb24g
+Zm9yIG11bHRpcGxleGVkIHNpZ25hbHMsYW5kIGNsb2NrIGNvbnRyb2wuDQo+ID4gKwnCoMKgVGhp
+cyBkcml2ZXIgaXMgdG8gbWFuYWdlIGFuZCBhY2Nlc3MgZ2xvYmFsIHV0aWxpdGllcyBibG9jay4N
+Cj4gPiArCcKgwqBJbml0aWFsbHkgb25seSByZWFkaW5nIFNWUiBhbmQgcmVnaXN0ZXJpbmcgc29j
+IGRldmljZSBhcmUNCj4gPiBzdXBwb3J0ZWQuDQo+ID4gKwnCoMKgT3RoZXIgZ3V0cyBhY2Nlc3Nl
+cywgc3VjaCBhcyByZWFkaW5nIFJDVywgc2hvdWxkIGV2ZW50dWFsbHkgYmUNCj4gPiBtb3ZlZA0K
+PiA+ICsJwqDCoGludG8gdGhpcyBkcml2ZXIgYXMgd2VsbC4NCj4gPiArDQo+ID4gKwnCoMKgSWYg
+eW91IHdhbnQgR1VUUyBkcml2ZXIgc3VwcG9ydCwgeW91IHNob3VsZCBzYXkgWSBoZXJlLg0KPiAN
+Cj4gVGhpcyBpcyB1c2VyLWVuYWJsYWJsZSB3aXRob3V0IGRlcGVuZGVuY2llcywgd2hpY2ggbWVh
+bnMgaXQgd2lsbCBicmVhaw0KPiBzb21lIHJhbmRjb25maWdzLiDCoElmIHRoaXMgaXMgdG8gYmUg
+ZW5hYmxlZCB2aWEgc2VsZWN0IHRoZW4gcmVtb3ZlIHRoZQ0KPiB0ZXh0IGFmdGVyICJib29sIi4N
+Cg0KW0x1IFlhbmdiby1CNDcwOTNdIFdpbGwgZW5hYmxlIGl0IHZpYSBzZWxlY3QgYW5kIHJlbW92
+ZSB0ZXh0IGFmdGVyICdib29sJy4NCiANCj4gDQo+ID4gKy8qIFNvQyBkaWUgYXR0cmlidXRlIGRl
+ZmluaXRpb24gZm9yIFFvcklRIHBsYXRmb3JtICovIHN0YXRpYyBjb25zdA0KPiA+ICtzdHJ1Y3Qg
+ZnNsX3NvY19kaWVfYXR0ciBmc2xfc29jX2RpZVtdID0geyAjaWZkZWYgQ09ORklHX1BQQw0KPiA+
+ICsJLyoNCj4gPiArCcKgKiBQb3dlciBBcmNoaXRlY3R1cmUtYmFzZWQgU29DcyBUIFNlcmllcw0K
+PiA+ICsJwqAqLw0KPiA+ICsNCj4gPiArCS8qIERpZTogVDQyNDAsIFNvQzogVDQyNDAvVDQxNjAv
+VDQwODAgKi8NCj4gPiArCXsgLmRpZQkJPSAiVDQyNDAiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4
+MjQwMDAwMCwNCj4gPiArCcKgwqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJfSwNCj4gPiAr
+CS8qIERpZTogVDEwNDAsIFNvQzogVDEwNDAvVDEwMjAvVDEwNDIvVDEwMjIgKi8NCj4gPiArCXsg
+LmRpZQkJPSAiVDEwNDAiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4NTIwMDAwMCwNCj4gPiArCcKg
+wqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJfSwNCj4gPiArCS8qIERpZTogVDIwODAsIFNv
+QzogVDIwODAvVDIwODEgKi8NCj4gPiArCXsgLmRpZQkJPSAiVDIwODAiLA0KPiA+ICsJwqDCoC5z
+dnIJCT0gMHg4NTMwMDAwMCwNCj4gPiArCcKgwqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJ
+fSwNCj4gPiArCS8qIERpZTogVDEwMjQsIFNvQzogVDEwMjQvVDEwMTQvVDEwMjMvVDEwMTMgKi8N
+Cj4gPiArCXsgLmRpZQkJPSAiVDEwMjQiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4NTQwMDAwMCwN
+Cj4gPiArCcKgwqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJfSwNCj4gPiArI2VuZGlmIC8q
+IENPTkZJR19QUEMgKi8NCj4gPiArI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfTVhDKSB8fCBkZWZp
+bmVkKENPTkZJR19BUkNIX0xBWUVSU0NBUEUpDQo+IA0KPiBXaWxsIHRoaXMgZHJpdmVyIGV2ZXIg
+YmUgcHJvYmVkIG9uIE1YQz8gwqBXaHkgZG8gd2UgbmVlZCB0aGVzZSBpZmRlZnMgYXQNCj4gYWxs
+Pw0KDQpbTHUgWWFuZ2JvLUI0NzA5M10gV2lsbCByZW1vdmUgdGhlbS4gSW4gdGhlIHByZXZpb3Vz
+IHZlcnNpb24sIHdlIHVzZSB0b28gbWFueSBtZW1iZXJzIGZvciBzb2MgZGVmaW5pdGlvbiwgc28g
+SSBhZGQgI2lmZGVmIGZvciBBUkNILiANCkNPTkZJR19BUkNIX01YQyB3YXMgZm9yIGxzMTAyMWEu
+DQoNCj4gDQo+IA0KPiA+ICsJLyoNCj4gPiArCcKgKiBBUk0tYmFzZWQgU29DcyBMUyBTZXJpZXMN
+Cj4gPiArCcKgKi8NCj4gPiArDQo+ID4gKwkvKiBEaWU6IExTMTA0M0EsIFNvQzogTFMxMDQzQS9M
+UzEwMjNBICovDQo+ID4gKwl7IC5kaWUJCT0gIkxTMTA0M0EiLA0KPiA+ICsJwqDCoC5zdnIJCT0g
+MHg4NzkyMDAwMCwNCj4gPiArCcKgwqAubWFzawkJPSAweGZmZmYwMDAwLA0KPiA+ICsJfSwNCj4g
+PiArCS8qIERpZTogTFMyMDgwQSwgU29DOiBMUzIwODBBL0xTMjA0MEEvTFMyMDg1QSAqLw0KPiA+
+ICsJeyAuZGllCQk9ICJMUzIwODBBIiwNCj4gPiArCcKgwqAuc3ZyCQk9IDB4ODcwMTAwMDAsDQo+
+ID4gKwnCoMKgLm1hc2sJCT0gMHhmZjNmMDAwMCwNCj4gPiArCX0sDQo+ID4gKwkvKiBEaWU6IExT
+MTA4OEEsIFNvQzogTFMxMDg4QS9MUzEwNDhBL0xTMTA4NEEvTFMxMDQ0QSAqLw0KPiA+ICsJeyAu
+ZGllCQk9ICJMUzEwODhBIiwNCj4gPiArCcKgwqAuc3ZyCQk9IDB4ODcwMzAwMDAsDQo+ID4gKwnC
+oMKgLm1hc2sJCT0gMHhmZjNmMDAwMCwNCj4gPiArCX0sDQo+ID4gKwkvKiBEaWU6IExTMTAxMkEs
+IFNvQzogTFMxMDEyQSAqLw0KPiA+ICsJeyAuZGllCQk9ICJMUzEwMTJBIiwNCj4gPiArCcKgwqAu
+c3ZyCQk9IDB4ODcwNDAwMDAsDQo+ID4gKwnCoMKgLm1hc2sJCT0gMHhmZmZmMDAwMCwNCj4gPiAr
+CX0sDQo+ID4gKwkvKiBEaWU6IExTMTA0NkEsIFNvQzogTFMxMDQ2QS9MUzEwMjZBICovDQo+ID4g
+Kwl7IC5kaWUJCT0gIkxTMTA0NkEiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4NzA3MDAwMCwNCj4g
+PiArCcKgwqAubWFzawkJPSAweGZmZmYwMDAwLA0KPiA+ICsJfSwNCj4gPiArCS8qIERpZTogTFMy
+MDg4QSwgU29DOiBMUzIwODhBL0xTMjA0OEEvTFMyMDg0QS9MUzIwNDRBICovDQo+ID4gKwl7IC5k
+aWUJCT0gIkxTMjA4OEEiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4NzA5MDAwMCwNCj4gPiArCcKg
+wqAubWFzawkJPSAweGZmM2YwMDAwLA0KPiA+ICsJfSwNCj4gPiArCS8qIERpZTogTFMxMDIxQSwg
+U29DOiBMUzEwMjFBL0xTMTAyMEEvTFMxMDIyQQ0KPiA+ICsJwqAqIE5vdGU6IFB1dCB0aGlzIGRp
+ZSBhdCB0aGUgZW5kIGluIGNhdXNlIG9mIGluY29ycmVjdA0KPiA+IGlkZW50aWZpY2F0aW9uDQo+
+ID4gKwnCoCovDQo+ID4gKwl7IC5kaWUJCT0gIkxTMTAyMUEiLA0KPiA+ICsJwqDCoC5zdnIJCT0g
+MHg4NzAwMDAwMCwNCj4gPiArCcKgwqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJfSwNCj4g
+PiArI2VuZGlmIC8qIENPTkZJR19BUkNIX01YQyB8fCBDT05GSUdfQVJDSF9MQVlFUlNDQVBFICov
+DQo+IA0KPiBJbnN0ZWFkIG9mIHJlbHlpbmcgb24gb3JkZXJpbmcsIGFkZCBtb3JlIGJpdHMgdG8g
+dGhlIG1hc2sgc28gdGhhdCB0aGVyZSdzDQo+IG5vIG92ZXJsYXAuIMKgSSB0aGluayAweGZmZjcw
+MDAwIHdvdWxkIHdvcmsuDQoNCltMdSBZYW5nYm8tQjQ3MDkzXSBPaywgV2lsbCBkbyB0aGF0LiBU
+aGVuIHdlIGFkZCAzIGJpdHMgb2YgJ1ZhcmlvdXMgUGVyc29uYWxpdGllcycgZmllbGQgZm9yIGxz
+MTAyMWEgZGllIGlkZW50aWZpY2F0aW9uLg0KDQo+IA0KPiA+ICtvdXQ6DQo+ID4gKwlrZnJlZShz
+b2NfZGV2X2F0dHIubWFjaGluZSk7DQo+ID4gKwlrZnJlZShzb2NfZGV2X2F0dHIuZmFtaWx5KTsN
+Cj4gPiArCWtmcmVlKHNvY19kZXZfYXR0ci5zb2NfaWQpOw0KPiA+ICsJa2ZyZWUoc29jX2Rldl9h
+dHRyLnJldmlzaW9uKTsNCj4gPiArCWlvdW5tYXAoZ3V0cy0+cmVncyk7DQo+ID4gK291dF9mcmVl
+Og0KPiA+ICsJa2ZyZWUoZ3V0cyk7DQo+ID4gKwlyZXR1cm4gcmV0Ow0KPiA+ICt9DQo+IA0KPiBQ
+bGVhc2UgdXNlIGRldm0uDQoNCltMdSBZYW5nYm8tQjQ3MDkzXSBTb3JyeSBmb3IgZm9yZ2V0dGlu
+ZyB0aGlzLiBXaWxsIGRvIHRoYXQgYW5kIHNlbmQgb3V0IHRoZSBuZXcgdmVyc2lvbiBzb29uLg0K
+VGhhbmtzIGZvciB5b3VyIGNvbW1lbnRzLg0KDQo+IA0KPiAtU2NvdHQNCg0K
\ No newline at end of file
diff --git a/a/content_digest b/N4/content_digest
index 1f0c858..4ec912b 100644
--- a/a/content_digest
+++ b/N4/content_digest
@@ -52,163 +52,97 @@
   "b\0"
 ]
 [
-  "Hi Scott,\n",
-  "\n",
-  "\n",
-  "> -----Original Message-----\n",
-  "> From: Scott Wood [mailto:oss\@buserror.net]\n",
-  "> Sent: Thursday, October 27, 2016 1:06 AM\n",
-  "> To: Y.B. Lu; linux-mmc\@vger.kernel.org; ulf.hansson\@linaro.org; Arnd\n",
-  "> Bergmann\n",
-  "> Cc: linuxppc-dev\@lists.ozlabs.org; devicetree\@vger.kernel.org; linux-arm-\n",
-  "> kernel\@lists.infradead.org; linux-kernel\@vger.kernel.org; linux-\n",
-  "> clk\@vger.kernel.org; linux-i2c\@vger.kernel.org; iommu\@lists.linux-\n",
-  "> foundation.org; netdev\@vger.kernel.org; Mark Rutland; Rob Herring;\n",
-  "> Russell King; Jochen Friedrich; Joerg Roedel; Claudiu Manoil; Bhupesh\n",
-  "> Sharma; Qiang Zhao; Kumar Gala; Santosh Shilimkar; Leo Li; X.B. Xie; M.H.\n",
-  "> Lian\n",
-  "> Subject: Re: [v12, 5/8] soc: fsl: add GUTS driver for QorIQ platforms\n",
-  "> \n",
-  "> On Wed, 2016-09-21 at 14:57 +0800, Yangbo Lu wrote:\n",
-  "> > diff --git a/drivers/soc/fsl/Kconfig b/drivers/soc/fsl/Kconfig new\n",
-  "> > file mode 100644 index 0000000..b99764c\n",
-  "> > --- /dev/null\n",
-  "> > +++ b/drivers/soc/fsl/Kconfig\n",
-  "> > \@\@ -0,0 +1,19 \@\@\n",
-  "> > +#\n",
-  "> > +# Freescale SOC drivers\n",
-  "> > +#\n",
-  "> > +\n",
-  "> > +source \"drivers/soc/fsl/qe/Kconfig\"\n",
-  "> > +\n",
-  "> > +config FSL_GUTS\n",
-  "> > +\tbool \"Freescale QorIQ GUTS driver\"\n",
-  "> > +\tselect SOC_BUS\n",
-  "> > +\thelp\n",
-  "> > +\t\302\240\302\240The global utilities block controls power management, I/O device\n",
-  "> > +\t\302\240\302\240enabling, power-onreset(POR) configuration monitoring, alternate\n",
-  "> > +\t\302\240\302\240function selection for multiplexed signals,and clock control.\n",
-  "> > +\t\302\240\302\240This driver is to manage and access global utilities block.\n",
-  "> > +\t\302\240\302\240Initially only reading SVR and registering soc device are\n",
-  "> > supported.\n",
-  "> > +\t\302\240\302\240Other guts accesses, such as reading RCW, should eventually be\n",
-  "> > moved\n",
-  "> > +\t\302\240\302\240into this driver as well.\n",
-  "> > +\n",
-  "> > +\t\302\240\302\240If you want GUTS driver support, you should say Y here.\n",
-  "> \n",
-  "> This is user-enablable without dependencies, which means it will break\n",
-  "> some randconfigs. \302\240If this is to be enabled via select then remove the\n",
-  "> text after \"bool\".\n",
-  "\n",
-  "[Lu Yangbo-B47093] Will enable it via select and remove text after 'bool'.\n",
-  " \n",
-  "> \n",
-  "> > +/* SoC die attribute definition for QorIQ platform */ static const\n",
-  "> > +struct fsl_soc_die_attr fsl_soc_die[] = { #ifdef CONFIG_PPC\n",
-  "> > +\t/*\n",
-  "> > +\t\302\240* Power Architecture-based SoCs T Series\n",
-  "> > +\t\302\240*/\n",
-  "> > +\n",
-  "> > +\t/* Die: T4240, SoC: T4240/T4160/T4080 */\n",
-  "> > +\t{ .die\t\t= \"T4240\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x82400000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xfff00000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: T1040, SoC: T1040/T1020/T1042/T1022 */\n",
-  "> > +\t{ .die\t\t= \"T1040\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x85200000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xfff00000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: T2080, SoC: T2080/T2081 */\n",
-  "> > +\t{ .die\t\t= \"T2080\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x85300000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xfff00000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: T1024, SoC: T1024/T1014/T1023/T1013 */\n",
-  "> > +\t{ .die\t\t= \"T1024\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x85400000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xfff00000,\n",
-  "> > +\t},\n",
-  "> > +#endif /* CONFIG_PPC */\n",
-  "> > +#if defined(CONFIG_ARCH_MXC) || defined(CONFIG_ARCH_LAYERSCAPE)\n",
-  "> \n",
-  "> Will this driver ever be probed on MXC? \302\240Why do we need these ifdefs at\n",
-  "> all?\n",
-  "\n",
-  "[Lu Yangbo-B47093] Will remove them. In the previous version, we use too many members for soc definition, so I add #ifdef for ARCH. \n",
-  "CONFIG_ARCH_MXC was for ls1021a.\n",
-  "\n",
-  "> \n",
-  "> \n",
-  "> > +\t/*\n",
-  "> > +\t\302\240* ARM-based SoCs LS Series\n",
-  "> > +\t\302\240*/\n",
-  "> > +\n",
-  "> > +\t/* Die: LS1043A, SoC: LS1043A/LS1023A */\n",
-  "> > +\t{ .die\t\t= \"LS1043A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87920000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xffff0000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: LS2080A, SoC: LS2080A/LS2040A/LS2085A */\n",
-  "> > +\t{ .die\t\t= \"LS2080A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87010000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xff3f0000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: LS1088A, SoC: LS1088A/LS1048A/LS1084A/LS1044A */\n",
-  "> > +\t{ .die\t\t= \"LS1088A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87030000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xff3f0000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: LS1012A, SoC: LS1012A */\n",
-  "> > +\t{ .die\t\t= \"LS1012A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87040000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xffff0000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: LS1046A, SoC: LS1046A/LS1026A */\n",
-  "> > +\t{ .die\t\t= \"LS1046A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87070000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xffff0000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: LS2088A, SoC: LS2088A/LS2048A/LS2084A/LS2044A */\n",
-  "> > +\t{ .die\t\t= \"LS2088A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87090000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xff3f0000,\n",
-  "> > +\t},\n",
-  "> > +\t/* Die: LS1021A, SoC: LS1021A/LS1020A/LS1022A\n",
-  "> > +\t\302\240* Note: Put this die at the end in cause of incorrect\n",
-  "> > identification\n",
-  "> > +\t\302\240*/\n",
-  "> > +\t{ .die\t\t= \"LS1021A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87000000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xfff00000,\n",
-  "> > +\t},\n",
-  "> > +#endif /* CONFIG_ARCH_MXC || CONFIG_ARCH_LAYERSCAPE */\n",
-  "> \n",
-  "> Instead of relying on ordering, add more bits to the mask so that there's\n",
-  "> no overlap. \302\240I think 0xfff70000 would work.\n",
-  "\n",
-  "[Lu Yangbo-B47093] Ok, Will do that. Then we add 3 bits of 'Various Personalities' field for ls1021a die identification.\n",
-  "\n",
-  "> \n",
-  "> > +out:\n",
-  "> > +\tkfree(soc_dev_attr.machine);\n",
-  "> > +\tkfree(soc_dev_attr.family);\n",
-  "> > +\tkfree(soc_dev_attr.soc_id);\n",
-  "> > +\tkfree(soc_dev_attr.revision);\n",
-  "> > +\tiounmap(guts->regs);\n",
-  "> > +out_free:\n",
-  "> > +\tkfree(guts);\n",
-  "> > +\treturn ret;\n",
-  "> > +}\n",
-  "> \n",
-  "> Please use devm.\n",
-  "\n",
-  "[Lu Yangbo-B47093] Sorry for forgetting this. Will do that and send out the new version soon.\n",
-  "Thanks for your comments.\n",
-  "\n",
-  "> \n",
-  "> -Scott"
+  "SGkgU2NvdHQsDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTY290\n",
+  "dCBXb29kIFttYWlsdG86b3NzQGJ1c2Vycm9yLm5ldF0NCj4gU2VudDogVGh1cnNkYXksIE9jdG9i\n",
+  "ZXIgMjcsIDIwMTYgMTowNiBBTQ0KPiBUbzogWS5CLiBMdTsgbGludXgtbW1jQHZnZXIua2VybmVs\n",
+  "Lm9yZzsgdWxmLmhhbnNzb25AbGluYXJvLm9yZzsgQXJuZA0KPiBCZXJnbWFubg0KPiBDYzogbGlu\n",
+  "dXhwcGMtZGV2QGxpc3RzLm96bGFicy5vcmc7IGRldmljZXRyZWVAdmdlci5rZXJuZWwub3JnOyBs\n",
+  "aW51eC1hcm0tDQo+IGtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnOyBsaW51eC1rZXJuZWxAdmdl\n",
+  "ci5rZXJuZWwub3JnOyBsaW51eC0NCj4gY2xrQHZnZXIua2VybmVsLm9yZzsgbGludXgtaTJjQHZn\n",
+  "ZXIua2VybmVsLm9yZzsgaW9tbXVAbGlzdHMubGludXgtDQo+IGZvdW5kYXRpb24ub3JnOyBuZXRk\n",
+  "ZXZAdmdlci5rZXJuZWwub3JnOyBNYXJrIFJ1dGxhbmQ7IFJvYiBIZXJyaW5nOw0KPiBSdXNzZWxs\n",
+  "IEtpbmc7IEpvY2hlbiBGcmllZHJpY2g7IEpvZXJnIFJvZWRlbDsgQ2xhdWRpdSBNYW5vaWw7IEJo\n",
+  "dXBlc2gNCj4gU2hhcm1hOyBRaWFuZyBaaGFvOyBLdW1hciBHYWxhOyBTYW50b3NoIFNoaWxpbWth\n",
+  "cjsgTGVvIExpOyBYLkIuIFhpZTsgTS5ILg0KPiBMaWFuDQo+IFN1YmplY3Q6IFJlOiBbdjEyLCA1\n",
+  "LzhdIHNvYzogZnNsOiBhZGQgR1VUUyBkcml2ZXIgZm9yIFFvcklRIHBsYXRmb3Jtcw0KPiANCj4g\n",
+  "T24gV2VkLCAyMDE2LTA5LTIxIGF0IDE0OjU3ICswODAwLCBZYW5nYm8gTHUgd3JvdGU6DQo+ID4g\n",
+  "ZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL2ZzbC9LY29uZmlnIGIvZHJpdmVycy9zb2MvZnNsL0tj\n",
+  "b25maWcgbmV3DQo+ID4gZmlsZSBtb2RlIDEwMDY0NCBpbmRleCAwMDAwMDAwLi5iOTk3NjRjDQo+\n",
+  "ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2RyaXZlcnMvc29jL2ZzbC9LY29uZmlnDQo+ID4g\n",
+  "QEAgLTAsMCArMSwxOSBAQA0KPiA+ICsjDQo+ID4gKyMgRnJlZXNjYWxlIFNPQyBkcml2ZXJzDQo+\n",
+  "ID4gKyMNCj4gPiArDQo+ID4gK3NvdXJjZSAiZHJpdmVycy9zb2MvZnNsL3FlL0tjb25maWciDQo+\n",
+  "ID4gKw0KPiA+ICtjb25maWcgRlNMX0dVVFMNCj4gPiArCWJvb2wgIkZyZWVzY2FsZSBRb3JJUSBH\n",
+  "VVRTIGRyaXZlciINCj4gPiArCXNlbGVjdCBTT0NfQlVTDQo+ID4gKwloZWxwDQo+ID4gKwnCoMKg\n",
+  "VGhlIGdsb2JhbCB1dGlsaXRpZXMgYmxvY2sgY29udHJvbHMgcG93ZXIgbWFuYWdlbWVudCwgSS9P\n",
+  "IGRldmljZQ0KPiA+ICsJwqDCoGVuYWJsaW5nLCBwb3dlci1vbnJlc2V0KFBPUikgY29uZmlndXJh\n",
+  "dGlvbiBtb25pdG9yaW5nLCBhbHRlcm5hdGUNCj4gPiArCcKgwqBmdW5jdGlvbiBzZWxlY3Rpb24g\n",
+  "Zm9yIG11bHRpcGxleGVkIHNpZ25hbHMsYW5kIGNsb2NrIGNvbnRyb2wuDQo+ID4gKwnCoMKgVGhp\n",
+  "cyBkcml2ZXIgaXMgdG8gbWFuYWdlIGFuZCBhY2Nlc3MgZ2xvYmFsIHV0aWxpdGllcyBibG9jay4N\n",
+  "Cj4gPiArCcKgwqBJbml0aWFsbHkgb25seSByZWFkaW5nIFNWUiBhbmQgcmVnaXN0ZXJpbmcgc29j\n",
+  "IGRldmljZSBhcmUNCj4gPiBzdXBwb3J0ZWQuDQo+ID4gKwnCoMKgT3RoZXIgZ3V0cyBhY2Nlc3Nl\n",
+  "cywgc3VjaCBhcyByZWFkaW5nIFJDVywgc2hvdWxkIGV2ZW50dWFsbHkgYmUNCj4gPiBtb3ZlZA0K\n",
+  "PiA+ICsJwqDCoGludG8gdGhpcyBkcml2ZXIgYXMgd2VsbC4NCj4gPiArDQo+ID4gKwnCoMKgSWYg\n",
+  "eW91IHdhbnQgR1VUUyBkcml2ZXIgc3VwcG9ydCwgeW91IHNob3VsZCBzYXkgWSBoZXJlLg0KPiAN\n",
+  "Cj4gVGhpcyBpcyB1c2VyLWVuYWJsYWJsZSB3aXRob3V0IGRlcGVuZGVuY2llcywgd2hpY2ggbWVh\n",
+  "bnMgaXQgd2lsbCBicmVhaw0KPiBzb21lIHJhbmRjb25maWdzLiDCoElmIHRoaXMgaXMgdG8gYmUg\n",
+  "ZW5hYmxlZCB2aWEgc2VsZWN0IHRoZW4gcmVtb3ZlIHRoZQ0KPiB0ZXh0IGFmdGVyICJib29sIi4N\n",
+  "Cg0KW0x1IFlhbmdiby1CNDcwOTNdIFdpbGwgZW5hYmxlIGl0IHZpYSBzZWxlY3QgYW5kIHJlbW92\n",
+  "ZSB0ZXh0IGFmdGVyICdib29sJy4NCiANCj4gDQo+ID4gKy8qIFNvQyBkaWUgYXR0cmlidXRlIGRl\n",
+  "ZmluaXRpb24gZm9yIFFvcklRIHBsYXRmb3JtICovIHN0YXRpYyBjb25zdA0KPiA+ICtzdHJ1Y3Qg\n",
+  "ZnNsX3NvY19kaWVfYXR0ciBmc2xfc29jX2RpZVtdID0geyAjaWZkZWYgQ09ORklHX1BQQw0KPiA+\n",
+  "ICsJLyoNCj4gPiArCcKgKiBQb3dlciBBcmNoaXRlY3R1cmUtYmFzZWQgU29DcyBUIFNlcmllcw0K\n",
+  "PiA+ICsJwqAqLw0KPiA+ICsNCj4gPiArCS8qIERpZTogVDQyNDAsIFNvQzogVDQyNDAvVDQxNjAv\n",
+  "VDQwODAgKi8NCj4gPiArCXsgLmRpZQkJPSAiVDQyNDAiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4\n",
+  "MjQwMDAwMCwNCj4gPiArCcKgwqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJfSwNCj4gPiAr\n",
+  "CS8qIERpZTogVDEwNDAsIFNvQzogVDEwNDAvVDEwMjAvVDEwNDIvVDEwMjIgKi8NCj4gPiArCXsg\n",
+  "LmRpZQkJPSAiVDEwNDAiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4NTIwMDAwMCwNCj4gPiArCcKg\n",
+  "wqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJfSwNCj4gPiArCS8qIERpZTogVDIwODAsIFNv\n",
+  "QzogVDIwODAvVDIwODEgKi8NCj4gPiArCXsgLmRpZQkJPSAiVDIwODAiLA0KPiA+ICsJwqDCoC5z\n",
+  "dnIJCT0gMHg4NTMwMDAwMCwNCj4gPiArCcKgwqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJ\n",
+  "fSwNCj4gPiArCS8qIERpZTogVDEwMjQsIFNvQzogVDEwMjQvVDEwMTQvVDEwMjMvVDEwMTMgKi8N\n",
+  "Cj4gPiArCXsgLmRpZQkJPSAiVDEwMjQiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4NTQwMDAwMCwN\n",
+  "Cj4gPiArCcKgwqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJfSwNCj4gPiArI2VuZGlmIC8q\n",
+  "IENPTkZJR19QUEMgKi8NCj4gPiArI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfTVhDKSB8fCBkZWZp\n",
+  "bmVkKENPTkZJR19BUkNIX0xBWUVSU0NBUEUpDQo+IA0KPiBXaWxsIHRoaXMgZHJpdmVyIGV2ZXIg\n",
+  "YmUgcHJvYmVkIG9uIE1YQz8gwqBXaHkgZG8gd2UgbmVlZCB0aGVzZSBpZmRlZnMgYXQNCj4gYWxs\n",
+  "Pw0KDQpbTHUgWWFuZ2JvLUI0NzA5M10gV2lsbCByZW1vdmUgdGhlbS4gSW4gdGhlIHByZXZpb3Vz\n",
+  "IHZlcnNpb24sIHdlIHVzZSB0b28gbWFueSBtZW1iZXJzIGZvciBzb2MgZGVmaW5pdGlvbiwgc28g\n",
+  "SSBhZGQgI2lmZGVmIGZvciBBUkNILiANCkNPTkZJR19BUkNIX01YQyB3YXMgZm9yIGxzMTAyMWEu\n",
+  "DQoNCj4gDQo+IA0KPiA+ICsJLyoNCj4gPiArCcKgKiBBUk0tYmFzZWQgU29DcyBMUyBTZXJpZXMN\n",
+  "Cj4gPiArCcKgKi8NCj4gPiArDQo+ID4gKwkvKiBEaWU6IExTMTA0M0EsIFNvQzogTFMxMDQzQS9M\n",
+  "UzEwMjNBICovDQo+ID4gKwl7IC5kaWUJCT0gIkxTMTA0M0EiLA0KPiA+ICsJwqDCoC5zdnIJCT0g\n",
+  "MHg4NzkyMDAwMCwNCj4gPiArCcKgwqAubWFzawkJPSAweGZmZmYwMDAwLA0KPiA+ICsJfSwNCj4g\n",
+  "PiArCS8qIERpZTogTFMyMDgwQSwgU29DOiBMUzIwODBBL0xTMjA0MEEvTFMyMDg1QSAqLw0KPiA+\n",
+  "ICsJeyAuZGllCQk9ICJMUzIwODBBIiwNCj4gPiArCcKgwqAuc3ZyCQk9IDB4ODcwMTAwMDAsDQo+\n",
+  "ID4gKwnCoMKgLm1hc2sJCT0gMHhmZjNmMDAwMCwNCj4gPiArCX0sDQo+ID4gKwkvKiBEaWU6IExT\n",
+  "MTA4OEEsIFNvQzogTFMxMDg4QS9MUzEwNDhBL0xTMTA4NEEvTFMxMDQ0QSAqLw0KPiA+ICsJeyAu\n",
+  "ZGllCQk9ICJMUzEwODhBIiwNCj4gPiArCcKgwqAuc3ZyCQk9IDB4ODcwMzAwMDAsDQo+ID4gKwnC\n",
+  "oMKgLm1hc2sJCT0gMHhmZjNmMDAwMCwNCj4gPiArCX0sDQo+ID4gKwkvKiBEaWU6IExTMTAxMkEs\n",
+  "IFNvQzogTFMxMDEyQSAqLw0KPiA+ICsJeyAuZGllCQk9ICJMUzEwMTJBIiwNCj4gPiArCcKgwqAu\n",
+  "c3ZyCQk9IDB4ODcwNDAwMDAsDQo+ID4gKwnCoMKgLm1hc2sJCT0gMHhmZmZmMDAwMCwNCj4gPiAr\n",
+  "CX0sDQo+ID4gKwkvKiBEaWU6IExTMTA0NkEsIFNvQzogTFMxMDQ2QS9MUzEwMjZBICovDQo+ID4g\n",
+  "Kwl7IC5kaWUJCT0gIkxTMTA0NkEiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4NzA3MDAwMCwNCj4g\n",
+  "PiArCcKgwqAubWFzawkJPSAweGZmZmYwMDAwLA0KPiA+ICsJfSwNCj4gPiArCS8qIERpZTogTFMy\n",
+  "MDg4QSwgU29DOiBMUzIwODhBL0xTMjA0OEEvTFMyMDg0QS9MUzIwNDRBICovDQo+ID4gKwl7IC5k\n",
+  "aWUJCT0gIkxTMjA4OEEiLA0KPiA+ICsJwqDCoC5zdnIJCT0gMHg4NzA5MDAwMCwNCj4gPiArCcKg\n",
+  "wqAubWFzawkJPSAweGZmM2YwMDAwLA0KPiA+ICsJfSwNCj4gPiArCS8qIERpZTogTFMxMDIxQSwg\n",
+  "U29DOiBMUzEwMjFBL0xTMTAyMEEvTFMxMDIyQQ0KPiA+ICsJwqAqIE5vdGU6IFB1dCB0aGlzIGRp\n",
+  "ZSBhdCB0aGUgZW5kIGluIGNhdXNlIG9mIGluY29ycmVjdA0KPiA+IGlkZW50aWZpY2F0aW9uDQo+\n",
+  "ID4gKwnCoCovDQo+ID4gKwl7IC5kaWUJCT0gIkxTMTAyMUEiLA0KPiA+ICsJwqDCoC5zdnIJCT0g\n",
+  "MHg4NzAwMDAwMCwNCj4gPiArCcKgwqAubWFzawkJPSAweGZmZjAwMDAwLA0KPiA+ICsJfSwNCj4g\n",
+  "PiArI2VuZGlmIC8qIENPTkZJR19BUkNIX01YQyB8fCBDT05GSUdfQVJDSF9MQVlFUlNDQVBFICov\n",
+  "DQo+IA0KPiBJbnN0ZWFkIG9mIHJlbHlpbmcgb24gb3JkZXJpbmcsIGFkZCBtb3JlIGJpdHMgdG8g\n",
+  "dGhlIG1hc2sgc28gdGhhdCB0aGVyZSdzDQo+IG5vIG92ZXJsYXAuIMKgSSB0aGluayAweGZmZjcw\n",
+  "MDAwIHdvdWxkIHdvcmsuDQoNCltMdSBZYW5nYm8tQjQ3MDkzXSBPaywgV2lsbCBkbyB0aGF0LiBU\n",
+  "aGVuIHdlIGFkZCAzIGJpdHMgb2YgJ1ZhcmlvdXMgUGVyc29uYWxpdGllcycgZmllbGQgZm9yIGxz\n",
+  "MTAyMWEgZGllIGlkZW50aWZpY2F0aW9uLg0KDQo+IA0KPiA+ICtvdXQ6DQo+ID4gKwlrZnJlZShz\n",
+  "b2NfZGV2X2F0dHIubWFjaGluZSk7DQo+ID4gKwlrZnJlZShzb2NfZGV2X2F0dHIuZmFtaWx5KTsN\n",
+  "Cj4gPiArCWtmcmVlKHNvY19kZXZfYXR0ci5zb2NfaWQpOw0KPiA+ICsJa2ZyZWUoc29jX2Rldl9h\n",
+  "dHRyLnJldmlzaW9uKTsNCj4gPiArCWlvdW5tYXAoZ3V0cy0+cmVncyk7DQo+ID4gK291dF9mcmVl\n",
+  "Og0KPiA+ICsJa2ZyZWUoZ3V0cyk7DQo+ID4gKwlyZXR1cm4gcmV0Ow0KPiA+ICt9DQo+IA0KPiBQ\n",
+  "bGVhc2UgdXNlIGRldm0uDQoNCltMdSBZYW5nYm8tQjQ3MDkzXSBTb3JyeSBmb3IgZm9yZ2V0dGlu\n",
+  "ZyB0aGlzLiBXaWxsIGRvIHRoYXQgYW5kIHNlbmQgb3V0IHRoZSBuZXcgdmVyc2lvbiBzb29uLg0K\n",
+  "VGhhbmtzIGZvciB5b3VyIGNvbW1lbnRzLg0KDQo+IA0KPiAtU2NvdHQNCg0K"
 ]
 
-58f002fc5836953dd41ab47e1f25943d7cc43c575507742565fbe66b9406d533
+dbb887e769719496902516a599f91a8bc820efe69b2f77c532cf39dc712afd43

diff --git a/a/1.txt b/N5/1.txt
index 8923aba..b0160f6 100644
--- a/a/1.txt
+++ b/N5/1.txt
@@ -2,14 +2,14 @@ Hi Scott,
 
 
 > -----Original Message-----
-> From: Scott Wood [mailto:oss@buserror.net]
+> From: Scott Wood [mailto:oss at buserror.net]
 > Sent: Thursday, October 27, 2016 1:06 AM
-> To: Y.B. Lu; linux-mmc@vger.kernel.org; ulf.hansson@linaro.org; Arnd
+> To: Y.B. Lu; linux-mmc at vger.kernel.org; ulf.hansson at linaro.org; Arnd
 > Bergmann
-> Cc: linuxppc-dev@lists.ozlabs.org; devicetree@vger.kernel.org; linux-arm-
-> kernel@lists.infradead.org; linux-kernel@vger.kernel.org; linux-
-> clk@vger.kernel.org; linux-i2c@vger.kernel.org; iommu@lists.linux-
-> foundation.org; netdev@vger.kernel.org; Mark Rutland; Rob Herring;
+> Cc: linuxppc-dev at lists.ozlabs.org; devicetree at vger.kernel.org; linux-arm-
+> kernel at lists.infradead.org; linux-kernel at vger.kernel.org; linux-
+> clk at vger.kernel.org; linux-i2c at vger.kernel.org; iommu at lists.linux-
+> foundation.org; netdev at vger.kernel.org; Mark Rutland; Rob Herring;
 > Russell King; Jochen Friedrich; Joerg Roedel; Claudiu Manoil; Bhupesh
 > Sharma; Qiang Zhao; Kumar Gala; Santosh Shilimkar; Leo Li; X.B. Xie; M.H.
 > Lian
@@ -31,20 +31,20 @@ Hi Scott,
 > > +	bool "Freescale QorIQ GUTS driver"
 > > +	select SOC_BUS
 > > +	help
-> > +	  The global utilities block controls power management, I/O device
-> > +	  enabling, power-onreset(POR) configuration monitoring, alternate
-> > +	  function selection for multiplexed signals,and clock control.
-> > +	  This driver is to manage and access global utilities block.
-> > +	  Initially only reading SVR and registering soc device are
+> > +	??The global utilities block controls power management, I/O device
+> > +	??enabling, power-onreset(POR) configuration monitoring, alternate
+> > +	??function selection for multiplexed signals,and clock control.
+> > +	??This driver is to manage and access global utilities block.
+> > +	??Initially only reading SVR and registering soc device are
 > > supported.
-> > +	  Other guts accesses, such as reading RCW, should eventually be
+> > +	??Other guts accesses, such as reading RCW, should eventually be
 > > moved
-> > +	  into this driver as well.
+> > +	??into this driver as well.
 > > +
-> > +	  If you want GUTS driver support, you should say Y here.
+> > +	??If you want GUTS driver support, you should say Y here.
 > 
 > This is user-enablable without dependencies, which means it will break
-> some randconfigs.  If this is to be enabled via select then remove the
+> some randconfigs. ?If this is to be enabled via select then remove the
 > text after "bool".
 
 [Lu Yangbo-B47093] Will enable it via select and remove text after 'bool'.
@@ -53,33 +53,33 @@ Hi Scott,
 > > +/* SoC die attribute definition for QorIQ platform */ static const
 > > +struct fsl_soc_die_attr fsl_soc_die[] = { #ifdef CONFIG_PPC
 > > +	/*
-> > +	 * Power Architecture-based SoCs T Series
-> > +	 */
+> > +	?* Power Architecture-based SoCs T Series
+> > +	?*/
 > > +
 > > +	/* Die: T4240, SoC: T4240/T4160/T4080 */
 > > +	{ .die		= "T4240",
-> > +	  .svr		= 0x82400000,
-> > +	  .mask		= 0xfff00000,
+> > +	??.svr		= 0x82400000,
+> > +	??.mask		= 0xfff00000,
 > > +	},
 > > +	/* Die: T1040, SoC: T1040/T1020/T1042/T1022 */
 > > +	{ .die		= "T1040",
-> > +	  .svr		= 0x85200000,
-> > +	  .mask		= 0xfff00000,
+> > +	??.svr		= 0x85200000,
+> > +	??.mask		= 0xfff00000,
 > > +	},
 > > +	/* Die: T2080, SoC: T2080/T2081 */
 > > +	{ .die		= "T2080",
-> > +	  .svr		= 0x85300000,
-> > +	  .mask		= 0xfff00000,
+> > +	??.svr		= 0x85300000,
+> > +	??.mask		= 0xfff00000,
 > > +	},
 > > +	/* Die: T1024, SoC: T1024/T1014/T1023/T1013 */
 > > +	{ .die		= "T1024",
-> > +	  .svr		= 0x85400000,
-> > +	  .mask		= 0xfff00000,
+> > +	??.svr		= 0x85400000,
+> > +	??.mask		= 0xfff00000,
 > > +	},
 > > +#endif /* CONFIG_PPC */
 > > +#if defined(CONFIG_ARCH_MXC) || defined(CONFIG_ARCH_LAYERSCAPE)
 > 
-> Will this driver ever be probed on MXC?  Why do we need these ifdefs at
+> Will this driver ever be probed on MXC? ?Why do we need these ifdefs at
 > all?
 
 [Lu Yangbo-B47093] Will remove them. In the previous version, we use too many members for soc definition, so I add #ifdef for ARCH. 
@@ -88,51 +88,51 @@ CONFIG_ARCH_MXC was for ls1021a.
 > 
 > 
 > > +	/*
-> > +	 * ARM-based SoCs LS Series
-> > +	 */
+> > +	?* ARM-based SoCs LS Series
+> > +	?*/
 > > +
 > > +	/* Die: LS1043A, SoC: LS1043A/LS1023A */
 > > +	{ .die		= "LS1043A",
-> > +	  .svr		= 0x87920000,
-> > +	  .mask		= 0xffff0000,
+> > +	??.svr		= 0x87920000,
+> > +	??.mask		= 0xffff0000,
 > > +	},
 > > +	/* Die: LS2080A, SoC: LS2080A/LS2040A/LS2085A */
 > > +	{ .die		= "LS2080A",
-> > +	  .svr		= 0x87010000,
-> > +	  .mask		= 0xff3f0000,
+> > +	??.svr		= 0x87010000,
+> > +	??.mask		= 0xff3f0000,
 > > +	},
 > > +	/* Die: LS1088A, SoC: LS1088A/LS1048A/LS1084A/LS1044A */
 > > +	{ .die		= "LS1088A",
-> > +	  .svr		= 0x87030000,
-> > +	  .mask		= 0xff3f0000,
+> > +	??.svr		= 0x87030000,
+> > +	??.mask		= 0xff3f0000,
 > > +	},
 > > +	/* Die: LS1012A, SoC: LS1012A */
 > > +	{ .die		= "LS1012A",
-> > +	  .svr		= 0x87040000,
-> > +	  .mask		= 0xffff0000,
+> > +	??.svr		= 0x87040000,
+> > +	??.mask		= 0xffff0000,
 > > +	},
 > > +	/* Die: LS1046A, SoC: LS1046A/LS1026A */
 > > +	{ .die		= "LS1046A",
-> > +	  .svr		= 0x87070000,
-> > +	  .mask		= 0xffff0000,
+> > +	??.svr		= 0x87070000,
+> > +	??.mask		= 0xffff0000,
 > > +	},
 > > +	/* Die: LS2088A, SoC: LS2088A/LS2048A/LS2084A/LS2044A */
 > > +	{ .die		= "LS2088A",
-> > +	  .svr		= 0x87090000,
-> > +	  .mask		= 0xff3f0000,
+> > +	??.svr		= 0x87090000,
+> > +	??.mask		= 0xff3f0000,
 > > +	},
 > > +	/* Die: LS1021A, SoC: LS1021A/LS1020A/LS1022A
-> > +	 * Note: Put this die at the end in cause of incorrect
+> > +	?* Note: Put this die at the end in cause of incorrect
 > > identification
-> > +	 */
+> > +	?*/
 > > +	{ .die		= "LS1021A",
-> > +	  .svr		= 0x87000000,
-> > +	  .mask		= 0xfff00000,
+> > +	??.svr		= 0x87000000,
+> > +	??.mask		= 0xfff00000,
 > > +	},
 > > +#endif /* CONFIG_ARCH_MXC || CONFIG_ARCH_LAYERSCAPE */
 > 
 > Instead of relying on ordering, add more bits to the mask so that there's
-> no overlap.  I think 0xfff70000 would work.
+> no overlap. ?I think 0xfff70000 would work.
 
 [Lu Yangbo-B47093] Ok, Will do that. Then we add 3 bits of 'Various Personalities' field for ls1021a die identification.
 
diff --git a/a/content_digest b/N5/content_digest
index 1f0c858..80028e4 100644
--- a/a/content_digest
+++ b/N5/content_digest
@@ -8,42 +8,16 @@
   "ref\0001477501566.6812.9.camel\@buserror.net\0"
 ]
 [
-  "From\0Y.B. Lu <yangbo.lu\@nxp.com>\0"
+  "From\0yangbo.lu\@nxp.com (Y.B. Lu)\0"
 ]
 [
-  "Subject\0RE: [v12, 5/8] soc: fsl: add GUTS driver for QorIQ platforms\0"
+  "Subject\0[v12, 5/8] soc: fsl: add GUTS driver for QorIQ platforms\0"
 ]
 [
   "Date\0Thu, 27 Oct 2016 04:34:06 +0000\0"
 ]
 [
-  "To\0Scott Wood <oss\@buserror.net>",
-  " linux-mmc\@vger.kernel.org <linux-mmc\@vger.kernel.org>",
-  " ulf.hansson\@linaro.org <ulf.hansson\@linaro.org>",
-  " Arnd Bergmann <arnd\@arndb.de>\0"
-]
-[
-  "Cc\0linuxppc-dev\@lists.ozlabs.org <linuxppc-dev\@lists.ozlabs.org>",
-  " devicetree\@vger.kernel.org <devicetree\@vger.kernel.org>",
-  " linux-arm-kernel\@lists.infradead.org <linux-arm-kernel\@lists.infradead.org>",
-  " linux-kernel\@vger.kernel.org <linux-kernel\@vger.kernel.org>",
-  " linux-clk\@vger.kernel.org <linux-clk\@vger.kernel.org>",
-  " linux-i2c\@vger.kernel.org <linux-i2c\@vger.kernel.org>",
-  " iommu\@lists.linux-foundation.org <iommu\@lists.linux-foundation.org>",
-  " netdev\@vger.kernel.org <netdev\@vger.kernel.org>",
-  " Mark Rutland <mark.rutland\@arm.com>",
-  " Rob Herring <robh+dt\@kernel.org>",
-  " Russell King <linux\@arm.linux.org.uk>",
-  " Jochen Friedrich <jochen\@scram.de>",
-  " Joerg Roedel <joro\@8bytes.org>",
-  " Claudiu Manoil <claudiu.manoil\@freescale.com>",
-  " Bhupesh Sharma <bhupesh.sharma\@freescale.com>",
-  " Qiang Zhao <qiang.zhao\@nxp.com>",
-  " Kumar Gala <galak\@codeaurora.org>",
-  " Santosh Shilimkar <ssantosh\@kernel.org>",
-  " Leo Li <leoyang.li\@nxp.com>",
-  " X.B. Xie <xiaobo.xie\@nxp.com>",
-  " M.H. Lian <minghuan.lian\@nxp.com>\0"
+  "To\0linux-arm-kernel\@lists.infradead.org\0"
 ]
 [
   "\0000:1\0"
@@ -56,14 +30,14 @@
   "\n",
   "\n",
   "> -----Original Message-----\n",
-  "> From: Scott Wood [mailto:oss\@buserror.net]\n",
+  "> From: Scott Wood [mailto:oss at buserror.net]\n",
   "> Sent: Thursday, October 27, 2016 1:06 AM\n",
-  "> To: Y.B. Lu; linux-mmc\@vger.kernel.org; ulf.hansson\@linaro.org; Arnd\n",
+  "> To: Y.B. Lu; linux-mmc at vger.kernel.org; ulf.hansson at linaro.org; Arnd\n",
   "> Bergmann\n",
-  "> Cc: linuxppc-dev\@lists.ozlabs.org; devicetree\@vger.kernel.org; linux-arm-\n",
-  "> kernel\@lists.infradead.org; linux-kernel\@vger.kernel.org; linux-\n",
-  "> clk\@vger.kernel.org; linux-i2c\@vger.kernel.org; iommu\@lists.linux-\n",
-  "> foundation.org; netdev\@vger.kernel.org; Mark Rutland; Rob Herring;\n",
+  "> Cc: linuxppc-dev at lists.ozlabs.org; devicetree at vger.kernel.org; linux-arm-\n",
+  "> kernel at lists.infradead.org; linux-kernel at vger.kernel.org; linux-\n",
+  "> clk at vger.kernel.org; linux-i2c at vger.kernel.org; iommu at lists.linux-\n",
+  "> foundation.org; netdev at vger.kernel.org; Mark Rutland; Rob Herring;\n",
   "> Russell King; Jochen Friedrich; Joerg Roedel; Claudiu Manoil; Bhupesh\n",
   "> Sharma; Qiang Zhao; Kumar Gala; Santosh Shilimkar; Leo Li; X.B. Xie; M.H.\n",
   "> Lian\n",
@@ -85,20 +59,20 @@
   "> > +\tbool \"Freescale QorIQ GUTS driver\"\n",
   "> > +\tselect SOC_BUS\n",
   "> > +\thelp\n",
-  "> > +\t\302\240\302\240The global utilities block controls power management, I/O device\n",
-  "> > +\t\302\240\302\240enabling, power-onreset(POR) configuration monitoring, alternate\n",
-  "> > +\t\302\240\302\240function selection for multiplexed signals,and clock control.\n",
-  "> > +\t\302\240\302\240This driver is to manage and access global utilities block.\n",
-  "> > +\t\302\240\302\240Initially only reading SVR and registering soc device are\n",
+  "> > +\t??The global utilities block controls power management, I/O device\n",
+  "> > +\t??enabling, power-onreset(POR) configuration monitoring, alternate\n",
+  "> > +\t??function selection for multiplexed signals,and clock control.\n",
+  "> > +\t??This driver is to manage and access global utilities block.\n",
+  "> > +\t??Initially only reading SVR and registering soc device are\n",
   "> > supported.\n",
-  "> > +\t\302\240\302\240Other guts accesses, such as reading RCW, should eventually be\n",
+  "> > +\t??Other guts accesses, such as reading RCW, should eventually be\n",
   "> > moved\n",
-  "> > +\t\302\240\302\240into this driver as well.\n",
+  "> > +\t??into this driver as well.\n",
   "> > +\n",
-  "> > +\t\302\240\302\240If you want GUTS driver support, you should say Y here.\n",
+  "> > +\t??If you want GUTS driver support, you should say Y here.\n",
   "> \n",
   "> This is user-enablable without dependencies, which means it will break\n",
-  "> some randconfigs. \302\240If this is to be enabled via select then remove the\n",
+  "> some randconfigs. ?If this is to be enabled via select then remove the\n",
   "> text after \"bool\".\n",
   "\n",
   "[Lu Yangbo-B47093] Will enable it via select and remove text after 'bool'.\n",
@@ -107,33 +81,33 @@
   "> > +/* SoC die attribute definition for QorIQ platform */ static const\n",
   "> > +struct fsl_soc_die_attr fsl_soc_die[] = { #ifdef CONFIG_PPC\n",
   "> > +\t/*\n",
-  "> > +\t\302\240* Power Architecture-based SoCs T Series\n",
-  "> > +\t\302\240*/\n",
+  "> > +\t?* Power Architecture-based SoCs T Series\n",
+  "> > +\t?*/\n",
   "> > +\n",
   "> > +\t/* Die: T4240, SoC: T4240/T4160/T4080 */\n",
   "> > +\t{ .die\t\t= \"T4240\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x82400000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xfff00000,\n",
+  "> > +\t??.svr\t\t= 0x82400000,\n",
+  "> > +\t??.mask\t\t= 0xfff00000,\n",
   "> > +\t},\n",
   "> > +\t/* Die: T1040, SoC: T1040/T1020/T1042/T1022 */\n",
   "> > +\t{ .die\t\t= \"T1040\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x85200000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xfff00000,\n",
+  "> > +\t??.svr\t\t= 0x85200000,\n",
+  "> > +\t??.mask\t\t= 0xfff00000,\n",
   "> > +\t},\n",
   "> > +\t/* Die: T2080, SoC: T2080/T2081 */\n",
   "> > +\t{ .die\t\t= \"T2080\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x85300000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xfff00000,\n",
+  "> > +\t??.svr\t\t= 0x85300000,\n",
+  "> > +\t??.mask\t\t= 0xfff00000,\n",
   "> > +\t},\n",
   "> > +\t/* Die: T1024, SoC: T1024/T1014/T1023/T1013 */\n",
   "> > +\t{ .die\t\t= \"T1024\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x85400000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xfff00000,\n",
+  "> > +\t??.svr\t\t= 0x85400000,\n",
+  "> > +\t??.mask\t\t= 0xfff00000,\n",
   "> > +\t},\n",
   "> > +#endif /* CONFIG_PPC */\n",
   "> > +#if defined(CONFIG_ARCH_MXC) || defined(CONFIG_ARCH_LAYERSCAPE)\n",
   "> \n",
-  "> Will this driver ever be probed on MXC? \302\240Why do we need these ifdefs at\n",
+  "> Will this driver ever be probed on MXC? ?Why do we need these ifdefs at\n",
   "> all?\n",
   "\n",
   "[Lu Yangbo-B47093] Will remove them. In the previous version, we use too many members for soc definition, so I add #ifdef for ARCH. \n",
@@ -142,51 +116,51 @@
   "> \n",
   "> \n",
   "> > +\t/*\n",
-  "> > +\t\302\240* ARM-based SoCs LS Series\n",
-  "> > +\t\302\240*/\n",
+  "> > +\t?* ARM-based SoCs LS Series\n",
+  "> > +\t?*/\n",
   "> > +\n",
   "> > +\t/* Die: LS1043A, SoC: LS1043A/LS1023A */\n",
   "> > +\t{ .die\t\t= \"LS1043A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87920000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xffff0000,\n",
+  "> > +\t??.svr\t\t= 0x87920000,\n",
+  "> > +\t??.mask\t\t= 0xffff0000,\n",
   "> > +\t},\n",
   "> > +\t/* Die: LS2080A, SoC: LS2080A/LS2040A/LS2085A */\n",
   "> > +\t{ .die\t\t= \"LS2080A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87010000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xff3f0000,\n",
+  "> > +\t??.svr\t\t= 0x87010000,\n",
+  "> > +\t??.mask\t\t= 0xff3f0000,\n",
   "> > +\t},\n",
   "> > +\t/* Die: LS1088A, SoC: LS1088A/LS1048A/LS1084A/LS1044A */\n",
   "> > +\t{ .die\t\t= \"LS1088A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87030000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xff3f0000,\n",
+  "> > +\t??.svr\t\t= 0x87030000,\n",
+  "> > +\t??.mask\t\t= 0xff3f0000,\n",
   "> > +\t},\n",
   "> > +\t/* Die: LS1012A, SoC: LS1012A */\n",
   "> > +\t{ .die\t\t= \"LS1012A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87040000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xffff0000,\n",
+  "> > +\t??.svr\t\t= 0x87040000,\n",
+  "> > +\t??.mask\t\t= 0xffff0000,\n",
   "> > +\t},\n",
   "> > +\t/* Die: LS1046A, SoC: LS1046A/LS1026A */\n",
   "> > +\t{ .die\t\t= \"LS1046A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87070000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xffff0000,\n",
+  "> > +\t??.svr\t\t= 0x87070000,\n",
+  "> > +\t??.mask\t\t= 0xffff0000,\n",
   "> > +\t},\n",
   "> > +\t/* Die: LS2088A, SoC: LS2088A/LS2048A/LS2084A/LS2044A */\n",
   "> > +\t{ .die\t\t= \"LS2088A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87090000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xff3f0000,\n",
+  "> > +\t??.svr\t\t= 0x87090000,\n",
+  "> > +\t??.mask\t\t= 0xff3f0000,\n",
   "> > +\t},\n",
   "> > +\t/* Die: LS1021A, SoC: LS1021A/LS1020A/LS1022A\n",
-  "> > +\t\302\240* Note: Put this die at the end in cause of incorrect\n",
+  "> > +\t?* Note: Put this die at the end in cause of incorrect\n",
   "> > identification\n",
-  "> > +\t\302\240*/\n",
+  "> > +\t?*/\n",
   "> > +\t{ .die\t\t= \"LS1021A\",\n",
-  "> > +\t\302\240\302\240.svr\t\t= 0x87000000,\n",
-  "> > +\t\302\240\302\240.mask\t\t= 0xfff00000,\n",
+  "> > +\t??.svr\t\t= 0x87000000,\n",
+  "> > +\t??.mask\t\t= 0xfff00000,\n",
   "> > +\t},\n",
   "> > +#endif /* CONFIG_ARCH_MXC || CONFIG_ARCH_LAYERSCAPE */\n",
   "> \n",
   "> Instead of relying on ordering, add more bits to the mask so that there's\n",
-  "> no overlap. \302\240I think 0xfff70000 would work.\n",
+  "> no overlap. ?I think 0xfff70000 would work.\n",
   "\n",
   "[Lu Yangbo-B47093] Ok, Will do that. Then we add 3 bits of 'Various Personalities' field for ls1021a die identification.\n",
   "\n",
@@ -211,4 +185,4 @@
   "> -Scott"
 ]
 
-58f002fc5836953dd41ab47e1f25943d7cc43c575507742565fbe66b9406d533
+3dd70fc8c2254c775979406fd21921225de45ab2c69bcba7b3aace38fa83bf6a

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.