From mboxrd@z Thu Jan 1 00:00:00 1970 From: lee.jones@linaro.org (Lee Jones) Date: Tue, 18 Nov 2014 11:59:58 +0000 Subject: [PATCH 1/7] mfd: MT6397: Add support for PMIC MT6397 MFD In-Reply-To: <1416210027-5562-2-git-send-email-flora.fu@mediatek.com> References: <1416210027-5562-1-git-send-email-flora.fu@mediatek.com> <1416210027-5562-2-git-send-email-flora.fu@mediatek.com> Message-ID: <20141118115958.GY24004@x1> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Mon, 17 Nov 2014, Flora Fu wrote: > Add core driver files for MT6397 MFD. > > Signed-off-by: Flora Fu > --- > drivers/mfd/Kconfig | 10 + > drivers/mfd/Makefile | 1 + > drivers/mfd/mt6397-core.c | 94 +++++++++ > drivers/mfd/mtk-pmic-wrap.h | 25 +++ > include/linux/mfd/mt6397/core.h | 27 +++ > include/linux/mfd/mt6397/registers.h | 362 +++++++++++++++++++++++++++++++++++ > 6 files changed, 519 insertions(+) > create mode 100644 drivers/mfd/mt6397-core.c > create mode 100644 drivers/mfd/mtk-pmic-wrap.h > create mode 100644 include/linux/mfd/mt6397/core.h > create mode 100644 include/linux/mfd/mt6397/registers.h > > diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig > index 1456ea7..f0b3efc 100644 > --- a/drivers/mfd/Kconfig > +++ b/drivers/mfd/Kconfig > @@ -1318,6 +1318,16 @@ config MFD_STW481X > in various ST Microelectronics and ST-Ericsson embedded > Nomadik series. > > +config MFD_MT6397 > + tristate "MediaTek MT6397 PMIC Support" > + select MFD_CORE > + select IRQ_DOMAIN > + help > + Say yes here to add support for MediaTek MT6397 PMIC. This is > + a Power Management IC. This driver provides common support for > + accessing the device; additional drivers must be enabled in order > + to use the functionality of the device. > + > menu "Multimedia Capabilities Port drivers" > depends on ARCH_SA1100 > > diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile > index 8bd54b1..7168193 100644 > --- a/drivers/mfd/Makefile > +++ b/drivers/mfd/Makefile > @@ -177,3 +177,4 @@ obj-$(CONFIG_MFD_HI6421_PMIC) += hi6421-pmic-core.o > > intel-soc-pmic-objs := intel_soc_pmic_core.o intel_soc_pmic_crc.o > obj-$(CONFIG_INTEL_SOC_PMIC) += intel-soc-pmic.o > +obj-$(CONFIG_MFD_MT6397) += mt6397-core.o > diff --git a/drivers/mfd/mt6397-core.c b/drivers/mfd/mt6397-core.c > new file mode 100644 > index 0000000..69cacdc > --- /dev/null > +++ b/drivers/mfd/mt6397-core.c > @@ -0,0 +1,94 @@ > +/* > + * Copyright (c) 2014 MediaTek Inc. > + * Author: Flora.Fu > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +#include > +#include > +#include > +#include > +#include "mtk-pmic-wrap.h" > + > +static struct mfd_cell mt6397_devs[] = { const? > + { > + .name = "mt6397-clk", > + .id = -1, > + }, > + { > + .name = "mt6397-rtc", > + .id = -1, > + }, > + { > + .name = "mt6397-regulator", > + .id = -1, > + }, > + { > + .name = "mt6397-codec", > + .id = -1, > + .of_compatible = "mediatek,mt6397-codec" > + }, > +}; The .ids aren't requred here. Please remove them and put all of the .names onto a single line, like this: { .name = "mt6397-clk" }, > +static int mt6397_probe(struct platform_device *pdev) > +{ > + u32 ret; > + struct mt6397_chip *mt6397; > + > + struct pmic_wrapper *wrp = dev_get_drvdata(pdev->dev.parent); Where does this come from? This should be the top level parent. > + mt6397 = devm_kzalloc(&pdev->dev, > + sizeof(struct mt6397_chip), GFP_KERNEL); sizeof(*mt6397) > + if (!mt6397) > + return -ENOMEM; > + > + mt6397->dev = &pdev->dev; > + mt6397->regmap = wrp->regmap; > + platform_set_drvdata(pdev, mt6397); > + > + ret = mfd_add_devices(mt6397->dev, -1, &mt6397_devs[0], > + ARRAY_SIZE(mt6397_devs), NULL, 0, NULL); > + if (ret < 0) if (ret) > + dev_err(mt6397->dev, "Failed to mfd_add_devices: %d\n", ret); User doesn't care about kernel functions. Swap this out for something for user friendly, "failed to add child devices". > + > + return ret; > +} > + > +static int mt6397_remove(struct platform_device *pdev) > +{ > + struct mt6397_chip *mt6397 = platform_get_drvdata(pdev); > + > + mfd_remove_devices(mt6397->dev); > + return 0; > +} > + > +static const struct of_device_id mt6397_of_match[] = { > + { .compatible = "mediatek,mt6397" }, > + { } > +}; > +MODULE_DEVICE_TABLE(of, mt6397_of_match); > + > +static struct platform_driver mt6397_driver = { > + .probe = mt6397_probe, > + .remove = mt6397_remove, > + .driver = { > + .name = "mt6397", > + .owner = THIS_MODULE, Remove this, it's taken care of elsewhere. > + .of_match_table = of_match_ptr(mt6397_of_match), > + }, > +}; > + > +module_platform_driver(mt6397_driver); > + > +MODULE_AUTHOR("Flora Fu "); > +MODULE_DESCRIPTION("Driver for MediaTek MT6397 PMIC"); > +MODULE_LICENSE("GPL"); > +MODULE_ALIAS("platform:mt6397"); > diff --git a/drivers/mfd/mtk-pmic-wrap.h b/drivers/mfd/mtk-pmic-wrap.h > new file mode 100644 > index 0000000..1557a9d > --- /dev/null > +++ b/drivers/mfd/mtk-pmic-wrap.h > @@ -0,0 +1,25 @@ > +/* > + * Copyright (c) 2014 MediaTek Inc. > + * Author: Flora.Fu > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +#ifndef __MTK_PMIC_WRAP_H__ > +#define __MTK_PMIC_WRAP_H__ > + > +struct pmic_wrapper { > + struct platform_device *pdev; > + void __iomem *pwrap_base; > + void __iomem *pwrap_bridge_base; > + struct regmap *regmap; > +}; > + > +#endif /* __MTK_PMIC_WRAP_H__ */ > diff --git a/include/linux/mfd/mt6397/core.h b/include/linux/mfd/mt6397/core.h > new file mode 100644 > index 0000000..edf38c4 > --- /dev/null > +++ b/include/linux/mfd/mt6397/core.h > @@ -0,0 +1,27 @@ > +/* > + * Copyright (c) 2014 MediaTek Inc. > + * Author: Flora.Fu > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +#ifndef __MFD_MT6397_CORE_H__ > +#define __MFD_MT6397_CORE_H__ > + > +struct mt6397_chip { > + /* Device */ > + struct device *dev; > + > + /* Control interface */ > + struct regmap *regmap; These two comments are unnecessary. > +}; > + > +#endif /* __MFD_MT6397_CORE_H__ */ > + > diff --git a/include/linux/mfd/mt6397/registers.h b/include/linux/mfd/mt6397/registers.h > new file mode 100644 > index 0000000..d1c4067 > --- /dev/null > +++ b/include/linux/mfd/mt6397/registers.h > @@ -0,0 +1,362 @@ > +/* > +* Copyright (c) 2014 MediaTek Inc. > +* Author: Flora.Fu > +* > +* This program is free software; you can redistribute it and/or modify > +* it under the terms of the GNU General Public License version 2 as > +* published by the Free Software Foundation. > +* > +* This program is distributed in the hope that it will be useful, > +* but WITHOUT ANY WARRANTY; without even the implied warranty of > +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +* GNU General Public License for more details. > +*/ > + > +#ifndef __MFD_MT6397_REGISTERS_H__ > +#define __MFD_MT6397_REGISTERS_H__ > + > +/* PMIC Rgisters */ > +#define MT6397_CID 0x0100 Are these spaces or tabs? They should be tabs. > +#define MT6397_TOP_CKPDN 0x0102 > +#define MT6397_TOP_CKPDN_SET 0x0104 > +#define MT6397_TOP_CKPDN_CLR 0x0106 > +#define MT6397_TOP_CKPDN2 0x0108 > +#define MT6397_TOP_CKPDN2_SET 0x010A > +#define MT6397_TOP_CKPDN2_CLR 0x010C > +#define MT6397_TOP_GPIO_CKPDN 0x010E > +#define MT6397_TOP_RST_CON 0x0114 > +#define MT6397_WRP_CKPDN 0x011A > +#define MT6397_WRP_RST_CON 0x0120 > +#define MT6397_TOP_RST_MISC 0x0126 > +#define MT6397_TOP_CKCON1 0x0128 > +#define MT6397_TOP_CKCON2 0x012A > +#define MT6397_TOP_CKTST1 0x012C > +#define MT6397_TOP_CKTST2 0x012E > +#define MT6397_OC_DEG_EN 0x0130 > +#define MT6397_OC_CTL0 0x0132 > +#define MT6397_OC_CTL1 0x0134 > +#define MT6397_OC_CTL2 0x0136 > +#define MT6397_INT_RSV 0x0138 > +#define MT6397_TEST_CON0 0x013A > +#define MT6397_TEST_CON1 0x013C > +#define MT6397_STATUS0 0x013E > +#define MT6397_STATUS1 0x0140 > +#define MT6397_PGSTATUS 0x0142 > +#define MT6397_CHRSTATUS 0x0144 > +#define MT6397_OCSTATUS0 0x0146 > +#define MT6397_OCSTATUS1 0x0148 > +#define MT6397_OCSTATUS2 0x014A > +#define MT6397_HDMI_PAD_IE 0x014C > +#define MT6397_TEST_OUT_L 0x014E > +#define MT6397_TEST_OUT_H 0x0150 > +#define MT6397_TDSEL_CON 0x0152 > +#define MT6397_RDSEL_CON 0x0154 > +#define MT6397_GPIO_SMT_CON0 0x0156 > +#define MT6397_GPIO_SMT_CON1 0x0158 > +#define MT6397_GPIO_SMT_CON2 0x015A > +#define MT6397_GPIO_SMT_CON3 0x015C > +#define MT6397_DRV_CON0 0x015E > +#define MT6397_DRV_CON1 0x0160 > +#define MT6397_DRV_CON2 0x0162 > +#define MT6397_DRV_CON3 0x0164 > +#define MT6397_DRV_CON4 0x0166 > +#define MT6397_DRV_CON5 0x0168 > +#define MT6397_DRV_CON6 0x016A > +#define MT6397_DRV_CON7 0x016C > +#define MT6397_DRV_CON8 0x016E > +#define MT6397_DRV_CON9 0x0170 > +#define MT6397_DRV_CON10 0x0172 > +#define MT6397_DRV_CON11 0x0174 > +#define MT6397_DRV_CON12 0x0176 > +#define MT6397_INT_CON0 0x0178 > +#define MT6397_INT_CON1 0x017E > +#define MT6397_INT_STATUS0 0x0184 > +#define MT6397_INT_STATUS1 0x0186 > +#define MT6397_FQMTR_CON0 0x0188 > +#define MT6397_FQMTR_CON1 0x018A > +#define MT6397_FQMTR_CON2 0x018C > +#define MT6397_EFUSE_DOUT_0_15 0x01C4 > +#define MT6397_EFUSE_DOUT_16_31 0x01C6 > +#define MT6397_EFUSE_DOUT_32_47 0x01C8 > +#define MT6397_EFUSE_DOUT_48_63 0x01CA > +#define MT6397_SPI_CON 0x01CC > +#define MT6397_TOP_CKPDN3 0x01CE > +#define MT6397_TOP_CKCON3 0x01D4 > +#define MT6397_EFUSE_DOUT_64_79 0x01D6 > +#define MT6397_EFUSE_DOUT_80_95 0x01D8 > +#define MT6397_EFUSE_DOUT_96_111 0x01DA > +#define MT6397_EFUSE_DOUT_112_127 0x01DC > +#define MT6397_EFUSE_DOUT_128_143 0x01DE > +#define MT6397_EFUSE_DOUT_144_159 0x01E0 > +#define MT6397_EFUSE_DOUT_160_175 0x01E2 > +#define MT6397_EFUSE_DOUT_176_191 0x01E4 > +#define MT6397_EFUSE_DOUT_192_207 0x01E6 > +#define MT6397_EFUSE_DOUT_208_223 0x01E8 > +#define MT6397_EFUSE_DOUT_224_239 0x01EA > +#define MT6397_EFUSE_DOUT_240_255 0x01EC > +#define MT6397_EFUSE_DOUT_256_271 0x01EE > +#define MT6397_EFUSE_DOUT_272_287 0x01F0 > +#define MT6397_EFUSE_DOUT_288_303 0x01F2 > +#define MT6397_EFUSE_DOUT_304_319 0x01F4 > +#define MT6397_BUCK_CON0 0x0200 > +#define MT6397_BUCK_CON1 0x0202 > +#define MT6397_BUCK_CON2 0x0204 > +#define MT6397_BUCK_CON3 0x0206 > +#define MT6397_BUCK_CON4 0x0208 > +#define MT6397_BUCK_CON5 0x020A > +#define MT6397_BUCK_CON6 0x020C > +#define MT6397_BUCK_CON7 0x020E > +#define MT6397_BUCK_CON8 0x0210 > +#define MT6397_BUCK_CON9 0x0212 > +#define MT6397_VCA15_CON0 0x0214 > +#define MT6397_VCA15_CON1 0x0216 > +#define MT6397_VCA15_CON2 0x0218 > +#define MT6397_VCA15_CON3 0x021A > +#define MT6397_VCA15_CON4 0x021C > +#define MT6397_VCA15_CON5 0x021E > +#define MT6397_VCA15_CON6 0x0220 > +#define MT6397_VCA15_CON7 0x0222 > +#define MT6397_VCA15_CON8 0x0224 > +#define MT6397_VCA15_CON9 0x0226 > +#define MT6397_VCA15_CON10 0x0228 > +#define MT6397_VCA15_CON11 0x022A > +#define MT6397_VCA15_CON12 0x022C > +#define MT6397_VCA15_CON13 0x022E > +#define MT6397_VCA15_CON14 0x0230 > +#define MT6397_VCA15_CON15 0x0232 > +#define MT6397_VCA15_CON16 0x0234 > +#define MT6397_VCA15_CON17 0x0236 > +#define MT6397_VCA15_CON18 0x0238 > +#define MT6397_VSRMCA15_CON0 0x023A > +#define MT6397_VSRMCA15_CON1 0x023C > +#define MT6397_VSRMCA15_CON2 0x023E > +#define MT6397_VSRMCA15_CON3 0x0240 > +#define MT6397_VSRMCA15_CON4 0x0242 > +#define MT6397_VSRMCA15_CON5 0x0244 > +#define MT6397_VSRMCA15_CON6 0x0246 > +#define MT6397_VSRMCA15_CON7 0x0248 > +#define MT6397_VSRMCA15_CON8 0x024A > +#define MT6397_VSRMCA15_CON9 0x024C > +#define MT6397_VSRMCA15_CON10 0x024E > +#define MT6397_VSRMCA15_CON11 0x0250 > +#define MT6397_VSRMCA15_CON12 0x0252 > +#define MT6397_VSRMCA15_CON13 0x0254 > +#define MT6397_VSRMCA15_CON14 0x0256 > +#define MT6397_VSRMCA15_CON15 0x0258 > +#define MT6397_VSRMCA15_CON16 0x025A > +#define MT6397_VSRMCA15_CON17 0x025C > +#define MT6397_VSRMCA15_CON18 0x025E > +#define MT6397_VSRMCA15_CON19 0x0260 > +#define MT6397_VSRMCA15_CON20 0x0262 > +#define MT6397_VSRMCA15_CON21 0x0264 > +#define MT6397_VCORE_CON0 0x0266 > +#define MT6397_VCORE_CON1 0x0268 > +#define MT6397_VCORE_CON2 0x026A > +#define MT6397_VCORE_CON3 0x026C > +#define MT6397_VCORE_CON4 0x026E > +#define MT6397_VCORE_CON5 0x0270 > +#define MT6397_VCORE_CON6 0x0272 > +#define MT6397_VCORE_CON7 0x0274 > +#define MT6397_VCORE_CON8 0x0276 > +#define MT6397_VCORE_CON9 0x0278 > +#define MT6397_VCORE_CON10 0x027A > +#define MT6397_VCORE_CON11 0x027C > +#define MT6397_VCORE_CON12 0x027E > +#define MT6397_VCORE_CON13 0x0280 > +#define MT6397_VCORE_CON14 0x0282 > +#define MT6397_VCORE_CON15 0x0284 > +#define MT6397_VCORE_CON16 0x0286 > +#define MT6397_VCORE_CON17 0x0288 > +#define MT6397_VCORE_CON18 0x028A > +#define MT6397_VGPU_CON0 0x028C > +#define MT6397_VGPU_CON1 0x028E > +#define MT6397_VGPU_CON2 0x0290 > +#define MT6397_VGPU_CON3 0x0292 > +#define MT6397_VGPU_CON4 0x0294 > +#define MT6397_VGPU_CON5 0x0296 > +#define MT6397_VGPU_CON6 0x0298 > +#define MT6397_VGPU_CON7 0x029A > +#define MT6397_VGPU_CON8 0x029C > +#define MT6397_VGPU_CON9 0x029E > +#define MT6397_VGPU_CON10 0x02A0 > +#define MT6397_VGPU_CON11 0x02A2 > +#define MT6397_VGPU_CON12 0x02A4 > +#define MT6397_VGPU_CON13 0x02A6 > +#define MT6397_VGPU_CON14 0x02A8 > +#define MT6397_VGPU_CON15 0x02AA > +#define MT6397_VGPU_CON16 0x02AC > +#define MT6397_VGPU_CON17 0x02AE > +#define MT6397_VGPU_CON18 0x02B0 > +#define MT6397_VIO18_CON0 0x0300 > +#define MT6397_VIO18_CON1 0x0302 > +#define MT6397_VIO18_CON2 0x0304 > +#define MT6397_VIO18_CON3 0x0306 > +#define MT6397_VIO18_CON4 0x0308 > +#define MT6397_VIO18_CON5 0x030A > +#define MT6397_VIO18_CON6 0x030C > +#define MT6397_VIO18_CON7 0x030E > +#define MT6397_VIO18_CON8 0x0310 > +#define MT6397_VIO18_CON9 0x0312 > +#define MT6397_VIO18_CON10 0x0314 > +#define MT6397_VIO18_CON11 0x0316 > +#define MT6397_VIO18_CON12 0x0318 > +#define MT6397_VIO18_CON13 0x031A > +#define MT6397_VIO18_CON14 0x031C > +#define MT6397_VIO18_CON15 0x031E > +#define MT6397_VIO18_CON16 0x0320 > +#define MT6397_VIO18_CON17 0x0322 > +#define MT6397_VIO18_CON18 0x0324 > +#define MT6397_VPCA7_CON0 0x0326 > +#define MT6397_VPCA7_CON1 0x0328 > +#define MT6397_VPCA7_CON2 0x032A > +#define MT6397_VPCA7_CON3 0x032C > +#define MT6397_VPCA7_CON4 0x032E > +#define MT6397_VPCA7_CON5 0x0330 > +#define MT6397_VPCA7_CON6 0x0332 > +#define MT6397_VPCA7_CON7 0x0334 > +#define MT6397_VPCA7_CON8 0x0336 > +#define MT6397_VPCA7_CON9 0x0338 > +#define MT6397_VPCA7_CON10 0x033A > +#define MT6397_VPCA7_CON11 0x033C > +#define MT6397_VPCA7_CON12 0x033E > +#define MT6397_VPCA7_CON13 0x0340 > +#define MT6397_VPCA7_CON14 0x0342 > +#define MT6397_VPCA7_CON15 0x0344 > +#define MT6397_VPCA7_CON16 0x0346 > +#define MT6397_VPCA7_CON17 0x0348 > +#define MT6397_VPCA7_CON18 0x034A > +#define MT6397_VSRMCA7_CON0 0x034C > +#define MT6397_VSRMCA7_CON1 0x034E > +#define MT6397_VSRMCA7_CON2 0x0350 > +#define MT6397_VSRMCA7_CON3 0x0352 > +#define MT6397_VSRMCA7_CON4 0x0354 > +#define MT6397_VSRMCA7_CON5 0x0356 > +#define MT6397_VSRMCA7_CON6 0x0358 > +#define MT6397_VSRMCA7_CON7 0x035A > +#define MT6397_VSRMCA7_CON8 0x035C > +#define MT6397_VSRMCA7_CON9 0x035E > +#define MT6397_VSRMCA7_CON10 0x0360 > +#define MT6397_VSRMCA7_CON11 0x0362 > +#define MT6397_VSRMCA7_CON12 0x0364 > +#define MT6397_VSRMCA7_CON13 0x0366 > +#define MT6397_VSRMCA7_CON14 0x0368 > +#define MT6397_VSRMCA7_CON15 0x036A > +#define MT6397_VSRMCA7_CON16 0x036C > +#define MT6397_VSRMCA7_CON17 0x036E > +#define MT6397_VSRMCA7_CON18 0x0370 > +#define MT6397_VSRMCA7_CON19 0x0372 > +#define MT6397_VSRMCA7_CON20 0x0374 > +#define MT6397_VSRMCA7_CON21 0x0376 > +#define MT6397_VDRM_CON0 0x0378 > +#define MT6397_VDRM_CON1 0x037A > +#define MT6397_VDRM_CON2 0x037C > +#define MT6397_VDRM_CON3 0x037E > +#define MT6397_VDRM_CON4 0x0380 > +#define MT6397_VDRM_CON5 0x0382 > +#define MT6397_VDRM_CON6 0x0384 > +#define MT6397_VDRM_CON7 0x0386 > +#define MT6397_VDRM_CON8 0x0388 > +#define MT6397_VDRM_CON9 0x038A > +#define MT6397_VDRM_CON10 0x038C > +#define MT6397_VDRM_CON11 0x038E > +#define MT6397_VDRM_CON12 0x0390 > +#define MT6397_VDRM_CON13 0x0392 > +#define MT6397_VDRM_CON14 0x0394 > +#define MT6397_VDRM_CON15 0x0396 > +#define MT6397_VDRM_CON16 0x0398 > +#define MT6397_VDRM_CON17 0x039A > +#define MT6397_VDRM_CON18 0x039C > +#define MT6397_BUCK_K_CON0 0x039E > +#define MT6397_BUCK_K_CON1 0x03A0 > +#define MT6397_ANALDO_CON0 0x0400 > +#define MT6397_ANALDO_CON1 0x0402 > +#define MT6397_ANALDO_CON2 0x0404 > +#define MT6397_ANALDO_CON3 0x0406 > +#define MT6397_ANALDO_CON4 0x0408 > +#define MT6397_ANALDO_CON5 0x040A > +#define MT6397_ANALDO_CON6 0x040C > +#define MT6397_ANALDO_CON7 0x040E > +#define MT6397_DIGLDO_CON0 0x0410 > +#define MT6397_DIGLDO_CON1 0x0412 > +#define MT6397_DIGLDO_CON2 0x0414 > +#define MT6397_DIGLDO_CON3 0x0416 > +#define MT6397_DIGLDO_CON4 0x0418 > +#define MT6397_DIGLDO_CON5 0x041A > +#define MT6397_DIGLDO_CON6 0x041C > +#define MT6397_DIGLDO_CON7 0x041E > +#define MT6397_DIGLDO_CON8 0x0420 > +#define MT6397_DIGLDO_CON9 0x0422 > +#define MT6397_DIGLDO_CON10 0x0424 > +#define MT6397_DIGLDO_CON11 0x0426 > +#define MT6397_DIGLDO_CON12 0x0428 > +#define MT6397_DIGLDO_CON13 0x042A > +#define MT6397_DIGLDO_CON14 0x042C > +#define MT6397_DIGLDO_CON15 0x042E > +#define MT6397_DIGLDO_CON16 0x0430 > +#define MT6397_DIGLDO_CON17 0x0432 > +#define MT6397_DIGLDO_CON18 0x0434 > +#define MT6397_DIGLDO_CON19 0x0436 > +#define MT6397_DIGLDO_CON20 0x0438 > +#define MT6397_DIGLDO_CON21 0x043A > +#define MT6397_DIGLDO_CON22 0x043C > +#define MT6397_DIGLDO_CON23 0x043E > +#define MT6397_DIGLDO_CON24 0x0440 > +#define MT6397_DIGLDO_CON25 0x0442 > +#define MT6397_DIGLDO_CON26 0x0444 > +#define MT6397_DIGLDO_CON27 0x0446 > +#define MT6397_DIGLDO_CON28 0x0448 > +#define MT6397_DIGLDO_CON29 0x044A > +#define MT6397_DIGLDO_CON30 0x044C > +#define MT6397_DIGLDO_CON31 0x044E > +#define MT6397_DIGLDO_CON32 0x0450 > +#define MT6397_DIGLDO_CON33 0x045A > +#define MT6397_SPK_CON0 0x0600 > +#define MT6397_SPK_CON1 0x0602 > +#define MT6397_SPK_CON2 0x0604 > +#define MT6397_SPK_CON3 0x0606 > +#define MT6397_SPK_CON4 0x0608 > +#define MT6397_SPK_CON5 0x060A > +#define MT6397_SPK_CON6 0x060C > +#define MT6397_SPK_CON7 0x060E > +#define MT6397_SPK_CON8 0x0610 > +#define MT6397_SPK_CON9 0x0612 > +#define MT6397_SPK_CON10 0x0614 > +#define MT6397_SPK_CON11 0x0616 > +#define MT6397_AUDDAC_CON0 0x0700 > +#define MT6397_AUDBUF_CFG0 0x0702 > +#define MT6397_AUDBUF_CFG1 0x0704 > +#define MT6397_AUDBUF_CFG2 0x0706 > +#define MT6397_AUDBUF_CFG3 0x0708 > +#define MT6397_AUDBUF_CFG4 0x070A > +#define MT6397_IBIASDIST_CFG0 0x070C > +#define MT6397_AUDACCDEPOP_CFG0 0x070E > +#define MT6397_AUD_IV_CFG0 0x0710 > +#define MT6397_AUDCLKGEN_CFG0 0x0712 > +#define MT6397_AUDLDO_CFG0 0x0714 > +#define MT6397_AUDLDO_CFG1 0x0716 > +#define MT6397_AUDNVREGGLB_CFG0 0x0718 > +#define MT6397_AUD_NCP0 0x071A > +#define MT6397_AUDPREAMP_CON0 0x071C > +#define MT6397_AUDADC_CON0 0x071E > +#define MT6397_AUDADC_CON1 0x0720 > +#define MT6397_AUDADC_CON2 0x0722 > +#define MT6397_AUDADC_CON3 0x0724 > +#define MT6397_AUDADC_CON4 0x0726 > +#define MT6397_AUDADC_CON5 0x0728 > +#define MT6397_AUDADC_CON6 0x072A > +#define MT6397_AUDDIGMI_CON0 0x072C > +#define MT6397_AUDLSBUF_CON0 0x072E > +#define MT6397_AUDLSBUF_CON1 0x0730 > +#define MT6397_AUDENCSPARE_CON0 0x0732 > +#define MT6397_AUDENCCLKSQ_CON0 0x0734 > +#define MT6397_AUDPREAMPGAIN_CON0 0x0736 > +#define MT6397_ZCD_CON0 0x0738 > +#define MT6397_ZCD_CON1 0x073A > +#define MT6397_ZCD_CON2 0x073C > +#define MT6397_ZCD_CON3 0x073E > +#define MT6397_ZCD_CON4 0x0740 > +#define MT6397_ZCD_CON5 0x0742 > +#define MT6397_NCP_CLKDIV_CON0 0x0744 > +#define MT6397_NCP_CLKDIV_CON1 0x0746 > + > +#endif /* __MFD_MT6397_REGISTERS_H__ */ -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org ? Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lee Jones Subject: Re: [PATCH 1/7] mfd: MT6397: Add support for PMIC MT6397 MFD Date: Tue, 18 Nov 2014 11:59:58 +0000 Message-ID: <20141118115958.GY24004@x1> References: <1416210027-5562-1-git-send-email-flora.fu@mediatek.com> <1416210027-5562-2-git-send-email-flora.fu@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1416210027-5562-2-git-send-email-flora.fu@mediatek.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Flora Fu Cc: Mark Rutland , Catalin Marinas , Rob Herring , linux-kernel@vger.kernel.org, Russell King , Samuel Ortiz , Grant Likely , "Joe.C" , devicetree@vger.kernel.org, Vladimir Murzin , Pawel Moll , Ian Campbell , Mark Brown , Matthias Brugger , Eddie Huang , linux-arm-kernel@lists.infradead.org, Dongdong Cheng , srv_heupstream@mediatek.com, Liam Girdwood , Ashwin Chaugule , Sascha Hauer , Kumar Gala List-Id: devicetree@vger.kernel.org T24gTW9uLCAxNyBOb3YgMjAxNCwgRmxvcmEgRnUgd3JvdGU6Cgo+IEFkZCBjb3JlIGRyaXZlciBm aWxlcyBmb3IgTVQ2Mzk3IE1GRC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBGbG9yYSBGdSA8ZmxvcmEu ZnVAbWVkaWF0ZWsuY29tPgo+IC0tLQo+ICBkcml2ZXJzL21mZC9LY29uZmlnICAgICAgICAgICAg ICAgICAgfCAgMTAgKwo+ICBkcml2ZXJzL21mZC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgfCAg IDEgKwo+ICBkcml2ZXJzL21mZC9tdDYzOTctY29yZS5jICAgICAgICAgICAgfCAgOTQgKysrKysr KysrCj4gIGRyaXZlcnMvbWZkL210ay1wbWljLXdyYXAuaCAgICAgICAgICB8ICAyNSArKysKPiAg aW5jbHVkZS9saW51eC9tZmQvbXQ2Mzk3L2NvcmUuaCAgICAgIHwgIDI3ICsrKwo+ICBpbmNsdWRl L2xpbnV4L21mZC9tdDYzOTcvcmVnaXN0ZXJzLmggfCAzNjIgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKPiAgNiBmaWxlcyBjaGFuZ2VkLCA1MTkgaW5zZXJ0aW9ucygrKQo+ICBj cmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZmQvbXQ2Mzk3LWNvcmUuYwo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9tZmQvbXRrLXBtaWMtd3JhcC5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NCBpbmNsdWRlL2xpbnV4L21mZC9tdDYzOTcvY29yZS5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBp bmNsdWRlL2xpbnV4L21mZC9tdDYzOTcvcmVnaXN0ZXJzLmgKPiAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9tZmQvS2NvbmZpZyBiL2RyaXZlcnMvbWZkL0tjb25maWcKPiBpbmRleCAxNDU2ZWE3Li5m MGIzZWZjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWZkL0tjb25maWcKPiArKysgYi9kcml2ZXJz L21mZC9LY29uZmlnCj4gQEAgLTEzMTgsNiArMTMxOCwxNiBAQCBjb25maWcgTUZEX1NUVzQ4MVgK PiAgCSAgaW4gdmFyaW91cyBTVCBNaWNyb2VsZWN0cm9uaWNzIGFuZCBTVC1Fcmljc3NvbiBlbWJl ZGRlZAo+ICAJICBOb21hZGlrIHNlcmllcy4KPiAgCj4gK2NvbmZpZyBNRkRfTVQ2Mzk3Cj4gKwl0 cmlzdGF0ZSAiTWVkaWFUZWsgTVQ2Mzk3IFBNSUMgU3VwcG9ydCIKPiArCXNlbGVjdCBNRkRfQ09S RQo+ICsJc2VsZWN0IElSUV9ET01BSU4KPiArCWhlbHAKPiArCSAgU2F5IHllcyBoZXJlIHRvIGFk ZCBzdXBwb3J0IGZvciBNZWRpYVRlayBNVDYzOTcgUE1JQy4gVGhpcyBpcwo+ICsJICBhIFBvd2Vy IE1hbmFnZW1lbnQgSUMuIFRoaXMgZHJpdmVyIHByb3ZpZGVzIGNvbW1vbiBzdXBwb3J0IGZvcgo+ ICsJICBhY2Nlc3NpbmcgdGhlIGRldmljZTsgYWRkaXRpb25hbCBkcml2ZXJzIG11c3QgYmUgZW5h YmxlZCBpbiBvcmRlcgo+ICsJICB0byB1c2UgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIGRldmlj ZS4KPiArCj4gIG1lbnUgIk11bHRpbWVkaWEgQ2FwYWJpbGl0aWVzIFBvcnQgZHJpdmVycyIKPiAg CWRlcGVuZHMgb24gQVJDSF9TQTExMDAKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL01h a2VmaWxlIGIvZHJpdmVycy9tZmQvTWFrZWZpbGUKPiBpbmRleCA4YmQ1NGIxLi43MTY4MTkzIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvbWZkL01ha2VmaWxlCj4gKysrIGIvZHJpdmVycy9tZmQvTWFr ZWZpbGUKPiBAQCAtMTc3LDMgKzE3Nyw0IEBAIG9iai0kKENPTkZJR19NRkRfSEk2NDIxX1BNSUMp CSs9IGhpNjQyMS1wbWljLWNvcmUubwo+ICAKPiAgaW50ZWwtc29jLXBtaWMtb2JqcwkJOj0gaW50 ZWxfc29jX3BtaWNfY29yZS5vIGludGVsX3NvY19wbWljX2NyYy5vCj4gIG9iai0kKENPTkZJR19J TlRFTF9TT0NfUE1JQykJKz0gaW50ZWwtc29jLXBtaWMubwo+ICtvYmotJChDT05GSUdfTUZEX01U NjM5NykJKz0gbXQ2Mzk3LWNvcmUubwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC9tdDYzOTct Y29yZS5jIGIvZHJpdmVycy9tZmQvbXQ2Mzk3LWNvcmUuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 Cj4gaW5kZXggMDAwMDAwMC4uNjljYWNkYwo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJz L21mZC9tdDYzOTctY29yZS5jCj4gQEAgLTAsMCArMSw5NCBAQAo+ICsvKgo+ICsgKiBDb3B5cmln aHQgKGMpIDIwMTQgTWVkaWFUZWsgSW5jLgo+ICsgKiBBdXRob3I6IEZsb3JhLkZ1IDxmbG9yYS5m dUBtZWRpYXRlay5jb20+Cj4gKyAqCj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gKyAqIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCj4g KyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+ICsgKgo+ICsg KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKPiArICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKPiArICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+ICsgKiBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlIDxsaW51eC9t b2R1bGUuaD4KPiArI2luY2x1ZGUgPGxpbnV4L21mZC9jb3JlLmg+Cj4gKyNpbmNsdWRlIDxsaW51 eC9tZmQvbXQ2Mzk3L2NvcmUuaD4KPiArI2luY2x1ZGUgPGxpbnV4L29mX2RldmljZS5oPgo+ICsj aW5jbHVkZSAibXRrLXBtaWMtd3JhcC5oIgo+ICsKPiArc3RhdGljIHN0cnVjdCBtZmRfY2VsbCBt dDYzOTdfZGV2c1tdID0gewoKY29uc3Q/Cgo+ICsJewo+ICsJCS5uYW1lID0gIm10NjM5Ny1jbGsi LAo+ICsJCS5pZCA9IC0xLAo+ICsJfSwKPiArCXsKPiArCQkubmFtZSA9ICJtdDYzOTctcnRjIiwK PiArCQkuaWQgPSAtMSwKPiArCX0sCj4gKwl7Cj4gKwkJLm5hbWUgPSAibXQ2Mzk3LXJlZ3VsYXRv ciIsCj4gKwkJLmlkID0gLTEsCj4gKwl9LAo+ICsJewo+ICsJCS5uYW1lID0gIm10NjM5Ny1jb2Rl YyIsCj4gKwkJLmlkID0gLTEsCj4gKwkJLm9mX2NvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ2Mzk3 LWNvZGVjIgo+ICsJfSwKPiArfTsKClRoZSAuaWRzIGFyZW4ndCByZXF1cmVkIGhlcmUuICBQbGVh c2UgcmVtb3ZlIHRoZW0gYW5kIHB1dCBhbGwgb2YgdGhlCi5uYW1lcyBvbnRvIGEgc2luZ2xlIGxp bmUsIGxpa2UgdGhpczoKCgl7IC5uYW1lID0gIm10NjM5Ny1jbGsiIH0sCgo+ICtzdGF0aWMgaW50 IG10NjM5N19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICt7Cj4gKwl1MzIg cmV0Owo+ICsJc3RydWN0IG10NjM5N19jaGlwICptdDYzOTc7Cj4gKwo+ICsJc3RydWN0IHBtaWNf d3JhcHBlciAqd3JwID0gZGV2X2dldF9kcnZkYXRhKHBkZXYtPmRldi5wYXJlbnQpOwoKV2hlcmUg ZG9lcyB0aGlzIGNvbWUgZnJvbT8gIFRoaXMgc2hvdWxkIGJlIHRoZSB0b3AgbGV2ZWwgcGFyZW50 LgoKPiArCW10NjM5NyA9IGRldm1fa3phbGxvYygmcGRldi0+ZGV2LAo+ICsJCQlzaXplb2Yoc3Ry dWN0IG10NjM5N19jaGlwKSwgR0ZQX0tFUk5FTCk7CgpzaXplb2YoKm10NjM5NykKCj4gKwlpZiAo IW10NjM5NykKPiArCQlyZXR1cm4gLUVOT01FTTsKPiArCj4gKwltdDYzOTctPmRldiA9ICZwZGV2 LT5kZXY7Cj4gKwltdDYzOTctPnJlZ21hcCA9IHdycC0+cmVnbWFwOwo+ICsJcGxhdGZvcm1fc2V0 X2RydmRhdGEocGRldiwgbXQ2Mzk3KTsKPiArCj4gKwlyZXQgPSBtZmRfYWRkX2RldmljZXMobXQ2 Mzk3LT5kZXYsIC0xLCAmbXQ2Mzk3X2RldnNbMF0sCj4gKwkJCUFSUkFZX1NJWkUobXQ2Mzk3X2Rl dnMpLCBOVUxMLCAwLCBOVUxMKTsKPiArCWlmIChyZXQgPCAwKQoKaWYgKHJldCkKCj4gKwkJZGV2 X2VycihtdDYzOTctPmRldiwgIkZhaWxlZCB0byBtZmRfYWRkX2RldmljZXM6ICVkXG4iLCByZXQp OwoKVXNlciBkb2Vzbid0IGNhcmUgYWJvdXQga2VybmVsIGZ1bmN0aW9ucy4gIFN3YXAgdGhpcyBv dXQgZm9yIHNvbWV0aGluZwpmb3IgdXNlciBmcmllbmRseSwgImZhaWxlZCB0byBhZGQgY2hpbGQg ZGV2aWNlcyIuCgo+ICsKPiArCXJldHVybiByZXQ7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgbXQ2 Mzk3X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICt7Cj4gKwlzdHJ1Y3Qg bXQ2Mzk3X2NoaXAgKm10NjM5NyA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwo+ICsKPiAr CW1mZF9yZW1vdmVfZGV2aWNlcyhtdDYzOTctPmRldik7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsK PiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbXQ2Mzk3X29mX21hdGNoW10gPSB7 Cj4gKwl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10NjM5NyIgfSwKPiArCXsgfQo+ICt9Owo+ ICtNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBtdDYzOTdfb2ZfbWF0Y2gpOwo+ICsKPiArc3RhdGlj IHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbXQ2Mzk3X2RyaXZlciA9IHsKPiArCS5wcm9iZSA9IG10 NjM5N19wcm9iZSwKPiArCS5yZW1vdmUgPSBtdDYzOTdfcmVtb3ZlLAo+ICsJLmRyaXZlciA9IHsK PiArCQkubmFtZSA9ICJtdDYzOTciLAo+ICsJCS5vd25lciA9IFRISVNfTU9EVUxFLAoKUmVtb3Zl IHRoaXMsIGl0J3MgdGFrZW4gY2FyZSBvZiBlbHNld2hlcmUuCgo+ICsJCS5vZl9tYXRjaF90YWJs ZSA9IG9mX21hdGNoX3B0cihtdDYzOTdfb2ZfbWF0Y2gpLAo+ICsJfSwKPiArfTsKPiArCj4gK21v ZHVsZV9wbGF0Zm9ybV9kcml2ZXIobXQ2Mzk3X2RyaXZlcik7Cj4gKwo+ICtNT0RVTEVfQVVUSE9S KCJGbG9yYSBGdSA8ZmxvcmEuZnVAbWVkaWF0ZWsuY29tPiIpOwo+ICtNT0RVTEVfREVTQ1JJUFRJ T04oIkRyaXZlciBmb3IgTWVkaWFUZWsgTVQ2Mzk3IFBNSUMiKTsKPiArTU9EVUxFX0xJQ0VOU0Uo IkdQTCIpOwo+ICtNT0RVTEVfQUxJQVMoInBsYXRmb3JtOm10NjM5NyIpOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL21mZC9tdGstcG1pYy13cmFwLmggYi9kcml2ZXJzL21mZC9tdGstcG1pYy13cmFw LmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjE1NTdhOWQKPiAtLS0g L2Rldi9udWxsCj4gKysrIGIvZHJpdmVycy9tZmQvbXRrLXBtaWMtd3JhcC5oCj4gQEAgLTAsMCAr MSwyNSBAQAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTQgTWVkaWFUZWsgSW5jLgo+ICsg KiBBdXRob3I6IEZsb3JhLkZ1IDxmbG9yYS5mdUBtZWRpYXRlay5jb20+Cj4gKyAqCj4gKyAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5Cj4gKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCj4gKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiArICogYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiArICogTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQo+ICsgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ICsg Ki8KPiArCj4gKyNpZm5kZWYgX19NVEtfUE1JQ19XUkFQX0hfXwo+ICsjZGVmaW5lIF9fTVRLX1BN SUNfV1JBUF9IX18KPiArCj4gK3N0cnVjdCBwbWljX3dyYXBwZXIgewo+ICsJc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldjsKPiArCXZvaWQgX19pb21lbSAqcHdyYXBfYmFzZTsKPiArCXZvaWQg X19pb21lbSAqcHdyYXBfYnJpZGdlX2Jhc2U7Cj4gKwlzdHJ1Y3QgcmVnbWFwICpyZWdtYXA7Cj4g K307Cj4gKwo+ICsjZW5kaWYJLyogX19NVEtfUE1JQ19XUkFQX0hfXyAqLwo+IGRpZmYgLS1naXQg YS9pbmNsdWRlL2xpbnV4L21mZC9tdDYzOTcvY29yZS5oIGIvaW5jbHVkZS9saW51eC9tZmQvbXQ2 Mzk3L2NvcmUuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uZWRmMzhj NAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9pbmNsdWRlL2xpbnV4L21mZC9tdDYzOTcvY29yZS5o Cj4gQEAgLTAsMCArMSwyNyBAQAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTQgTWVkaWFU ZWsgSW5jLgo+ICsgKiBBdXRob3I6IEZsb3JhLkZ1IDxmbG9yYS5mdUBtZWRpYXRlay5jb20+Cj4g KyAqCj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCj4gKyAqIHB1Ymxpc2hlZCBieSB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiArICogYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKPiArICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQo+ICsgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgo+ICsgKi8KPiArCj4gKyNpZm5kZWYgX19NRkRfTVQ2Mzk3X0NPUkVfSF9fCj4gKyNk ZWZpbmUgX19NRkRfTVQ2Mzk3X0NPUkVfSF9fCj4gKwo+ICtzdHJ1Y3QgbXQ2Mzk3X2NoaXAgewo+ ICsJLyogRGV2aWNlICovCj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXY7Cj4gKwo+ICsJLyogQ29udHJv bCBpbnRlcmZhY2UgKi8KPiArCXN0cnVjdCByZWdtYXAgKnJlZ21hcDsKClRoZXNlIHR3byBjb21t ZW50cyBhcmUgdW5uZWNlc3NhcnkuCgo+ICt9Owo+ICsKPiArI2VuZGlmIC8qIF9fTUZEX01UNjM5 N19DT1JFX0hfXyAqLwo+ICsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tZmQvbXQ2Mzk3 L3JlZ2lzdGVycy5oIGIvaW5jbHVkZS9saW51eC9tZmQvbXQ2Mzk3L3JlZ2lzdGVycy5oCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5kMWM0MDY3Cj4gLS0tIC9kZXYvbnVs bAo+ICsrKyBiL2luY2x1ZGUvbGludXgvbWZkL210NjM5Ny9yZWdpc3RlcnMuaAo+IEBAIC0wLDAg KzEsMzYyIEBACj4gKy8qCj4gKyogQ29weXJpZ2h0IChjKSAyMDE0IE1lZGlhVGVrIEluYy4KPiAr KiBBdXRob3I6IEZsb3JhLkZ1IDxmbG9yYS5mdUBtZWRpYXRlay5jb20+Cj4gKyoKPiArKiBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQo+ICsqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgdmVyc2lvbiAyIGFzCj4gKyogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24uCj4gKyoKPiArKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiArKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ICsqIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiArKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ICsqLwo+ICsKPiAr I2lmbmRlZiBfX01GRF9NVDYzOTdfUkVHSVNURVJTX0hfXwo+ICsjZGVmaW5lIF9fTUZEX01UNjM5 N19SRUdJU1RFUlNfSF9fCj4gKwo+ICsvKiBQTUlDIFJnaXN0ZXJzICAqLwo+ICsjZGVmaW5lIE1U NjM5N19DSUQgICAgICAgICAgICAgMHgwMTAwCgpBcmUgdGhlc2Ugc3BhY2VzIG9yIHRhYnM/ICBU aGV5IHNob3VsZCBiZSB0YWJzLgoKPiArI2RlZmluZSBNVDYzOTdfVE9QX0NLUEROICAgICAgIDB4 MDEwMgo+ICsjZGVmaW5lIE1UNjM5N19UT1BfQ0tQRE5fU0VUICAgMHgwMTA0Cj4gKyNkZWZpbmUg TVQ2Mzk3X1RPUF9DS1BETl9DTFIgICAweDAxMDYKPiArI2RlZmluZSBNVDYzOTdfVE9QX0NLUERO MiAgICAgIDB4MDEwOAo+ICsjZGVmaW5lIE1UNjM5N19UT1BfQ0tQRE4yX1NFVCAgMHgwMTBBCj4g KyNkZWZpbmUgTVQ2Mzk3X1RPUF9DS1BETjJfQ0xSICAweDAxMEMKPiArI2RlZmluZSBNVDYzOTdf VE9QX0dQSU9fQ0tQRE4gIDB4MDEwRQo+ICsjZGVmaW5lIE1UNjM5N19UT1BfUlNUX0NPTiAgICAg MHgwMTE0Cj4gKyNkZWZpbmUgTVQ2Mzk3X1dSUF9DS1BETiAgICAgICAweDAxMUEKPiArI2RlZmlu ZSBNVDYzOTdfV1JQX1JTVF9DT04gICAgIDB4MDEyMAo+ICsjZGVmaW5lIE1UNjM5N19UT1BfUlNU X01JU0MgICAgMHgwMTI2Cj4gKyNkZWZpbmUgTVQ2Mzk3X1RPUF9DS0NPTjEgICAgICAweDAxMjgK PiArI2RlZmluZSBNVDYzOTdfVE9QX0NLQ09OMiAgICAgIDB4MDEyQQo+ICsjZGVmaW5lIE1UNjM5 N19UT1BfQ0tUU1QxICAgICAgMHgwMTJDCj4gKyNkZWZpbmUgTVQ2Mzk3X1RPUF9DS1RTVDIgICAg ICAweDAxMkUKPiArI2RlZmluZSBNVDYzOTdfT0NfREVHX0VOICAgICAgIDB4MDEzMAo+ICsjZGVm aW5lIE1UNjM5N19PQ19DVEwwICAgICAgICAgMHgwMTMyCj4gKyNkZWZpbmUgTVQ2Mzk3X09DX0NU TDEgICAgICAgICAweDAxMzQKPiArI2RlZmluZSBNVDYzOTdfT0NfQ1RMMiAgICAgICAgIDB4MDEz Ngo+ICsjZGVmaW5lIE1UNjM5N19JTlRfUlNWICAgICAgICAgMHgwMTM4Cj4gKyNkZWZpbmUgTVQ2 Mzk3X1RFU1RfQ09OMCAgICAgICAweDAxM0EKPiArI2RlZmluZSBNVDYzOTdfVEVTVF9DT04xICAg ICAgIDB4MDEzQwo+ICsjZGVmaW5lIE1UNjM5N19TVEFUVVMwICAgICAgICAgMHgwMTNFCj4gKyNk ZWZpbmUgTVQ2Mzk3X1NUQVRVUzEgICAgICAgICAweDAxNDAKPiArI2RlZmluZSBNVDYzOTdfUEdT VEFUVVMgICAgICAgIDB4MDE0Mgo+ICsjZGVmaW5lIE1UNjM5N19DSFJTVEFUVVMgICAgICAgMHgw MTQ0Cj4gKyNkZWZpbmUgTVQ2Mzk3X09DU1RBVFVTMCAgICAgICAweDAxNDYKPiArI2RlZmluZSBN VDYzOTdfT0NTVEFUVVMxICAgICAgIDB4MDE0OAo+ICsjZGVmaW5lIE1UNjM5N19PQ1NUQVRVUzIg ICAgICAgMHgwMTRBCj4gKyNkZWZpbmUgTVQ2Mzk3X0hETUlfUEFEX0lFICAgICAweDAxNEMKPiAr I2RlZmluZSBNVDYzOTdfVEVTVF9PVVRfTCAgICAgIDB4MDE0RQo+ICsjZGVmaW5lIE1UNjM5N19U RVNUX09VVF9IICAgICAgMHgwMTUwCj4gKyNkZWZpbmUgTVQ2Mzk3X1REU0VMX0NPTiAgICAgICAw eDAxNTIKPiArI2RlZmluZSBNVDYzOTdfUkRTRUxfQ09OICAgICAgIDB4MDE1NAo+ICsjZGVmaW5l IE1UNjM5N19HUElPX1NNVF9DT04wICAgMHgwMTU2Cj4gKyNkZWZpbmUgTVQ2Mzk3X0dQSU9fU01U X0NPTjEgICAweDAxNTgKPiArI2RlZmluZSBNVDYzOTdfR1BJT19TTVRfQ09OMiAgIDB4MDE1QQo+ ICsjZGVmaW5lIE1UNjM5N19HUElPX1NNVF9DT04zICAgMHgwMTVDCj4gKyNkZWZpbmUgTVQ2Mzk3 X0RSVl9DT04wICAgICAgICAweDAxNUUKPiArI2RlZmluZSBNVDYzOTdfRFJWX0NPTjEgICAgICAg IDB4MDE2MAo+ICsjZGVmaW5lIE1UNjM5N19EUlZfQ09OMiAgICAgICAgMHgwMTYyCj4gKyNkZWZp bmUgTVQ2Mzk3X0RSVl9DT04zICAgICAgICAweDAxNjQKPiArI2RlZmluZSBNVDYzOTdfRFJWX0NP TjQgICAgICAgIDB4MDE2Ngo+ICsjZGVmaW5lIE1UNjM5N19EUlZfQ09ONSAgICAgICAgMHgwMTY4 Cj4gKyNkZWZpbmUgTVQ2Mzk3X0RSVl9DT042ICAgICAgICAweDAxNkEKPiArI2RlZmluZSBNVDYz OTdfRFJWX0NPTjcgICAgICAgIDB4MDE2Qwo+ICsjZGVmaW5lIE1UNjM5N19EUlZfQ09OOCAgICAg ICAgMHgwMTZFCj4gKyNkZWZpbmUgTVQ2Mzk3X0RSVl9DT045ICAgICAgICAweDAxNzAKPiArI2Rl ZmluZSBNVDYzOTdfRFJWX0NPTjEwICAgICAgIDB4MDE3Mgo+ICsjZGVmaW5lIE1UNjM5N19EUlZf Q09OMTEgICAgICAgMHgwMTc0Cj4gKyNkZWZpbmUgTVQ2Mzk3X0RSVl9DT04xMiAgICAgICAweDAx NzYKPiArI2RlZmluZSBNVDYzOTdfSU5UX0NPTjAgICAgICAgIDB4MDE3OAo+ICsjZGVmaW5lIE1U NjM5N19JTlRfQ09OMSAgICAgICAgMHgwMTdFCj4gKyNkZWZpbmUgTVQ2Mzk3X0lOVF9TVEFUVVMw ICAgICAweDAxODQKPiArI2RlZmluZSBNVDYzOTdfSU5UX1NUQVRVUzEgICAgIDB4MDE4Ngo+ICsj ZGVmaW5lIE1UNjM5N19GUU1UUl9DT04wICAgICAgMHgwMTg4Cj4gKyNkZWZpbmUgTVQ2Mzk3X0ZR TVRSX0NPTjEgICAgICAweDAxOEEKPiArI2RlZmluZSBNVDYzOTdfRlFNVFJfQ09OMiAgICAgIDB4 MDE4Qwo+ICsjZGVmaW5lIE1UNjM5N19FRlVTRV9ET1VUXzBfMTUgMHgwMUM0Cj4gKyNkZWZpbmUg TVQ2Mzk3X0VGVVNFX0RPVVRfMTZfMzEgMHgwMUM2Cj4gKyNkZWZpbmUgTVQ2Mzk3X0VGVVNFX0RP VVRfMzJfNDcgMHgwMUM4Cj4gKyNkZWZpbmUgTVQ2Mzk3X0VGVVNFX0RPVVRfNDhfNjMgMHgwMUNB Cj4gKyNkZWZpbmUgTVQ2Mzk3X1NQSV9DT04gICAgICAgICAweDAxQ0MKPiArI2RlZmluZSBNVDYz OTdfVE9QX0NLUEROMyAgICAgIDB4MDFDRQo+ICsjZGVmaW5lIE1UNjM5N19UT1BfQ0tDT04zICAg ICAgMHgwMUQ0Cj4gKyNkZWZpbmUgTVQ2Mzk3X0VGVVNFX0RPVVRfNjRfNzkgMHgwMUQ2Cj4gKyNk ZWZpbmUgTVQ2Mzk3X0VGVVNFX0RPVVRfODBfOTUgMHgwMUQ4Cj4gKyNkZWZpbmUgTVQ2Mzk3X0VG VVNFX0RPVVRfOTZfMTExIDB4MDFEQQo+ICsjZGVmaW5lIE1UNjM5N19FRlVTRV9ET1VUXzExMl8x MjcgMHgwMURDCj4gKyNkZWZpbmUgTVQ2Mzk3X0VGVVNFX0RPVVRfMTI4XzE0MyAweDAxREUKPiAr I2RlZmluZSBNVDYzOTdfRUZVU0VfRE9VVF8xNDRfMTU5IDB4MDFFMAo+ICsjZGVmaW5lIE1UNjM5 N19FRlVTRV9ET1VUXzE2MF8xNzUgMHgwMUUyCj4gKyNkZWZpbmUgTVQ2Mzk3X0VGVVNFX0RPVVRf MTc2XzE5MSAweDAxRTQKPiArI2RlZmluZSBNVDYzOTdfRUZVU0VfRE9VVF8xOTJfMjA3IDB4MDFF Ngo+ICsjZGVmaW5lIE1UNjM5N19FRlVTRV9ET1VUXzIwOF8yMjMgMHgwMUU4Cj4gKyNkZWZpbmUg TVQ2Mzk3X0VGVVNFX0RPVVRfMjI0XzIzOSAweDAxRUEKPiArI2RlZmluZSBNVDYzOTdfRUZVU0Vf RE9VVF8yNDBfMjU1IDB4MDFFQwo+ICsjZGVmaW5lIE1UNjM5N19FRlVTRV9ET1VUXzI1Nl8yNzEg MHgwMUVFCj4gKyNkZWZpbmUgTVQ2Mzk3X0VGVVNFX0RPVVRfMjcyXzI4NyAweDAxRjAKPiArI2Rl ZmluZSBNVDYzOTdfRUZVU0VfRE9VVF8yODhfMzAzIDB4MDFGMgo+ICsjZGVmaW5lIE1UNjM5N19F RlVTRV9ET1VUXzMwNF8zMTkgMHgwMUY0Cj4gKyNkZWZpbmUgTVQ2Mzk3X0JVQ0tfQ09OMCAgICAg ICAweDAyMDAKPiArI2RlZmluZSBNVDYzOTdfQlVDS19DT04xICAgICAgIDB4MDIwMgo+ICsjZGVm aW5lIE1UNjM5N19CVUNLX0NPTjIgICAgICAgMHgwMjA0Cj4gKyNkZWZpbmUgTVQ2Mzk3X0JVQ0tf Q09OMyAgICAgICAweDAyMDYKPiArI2RlZmluZSBNVDYzOTdfQlVDS19DT040ICAgICAgIDB4MDIw OAo+ICsjZGVmaW5lIE1UNjM5N19CVUNLX0NPTjUgICAgICAgMHgwMjBBCj4gKyNkZWZpbmUgTVQ2 Mzk3X0JVQ0tfQ09ONiAgICAgICAweDAyMEMKPiArI2RlZmluZSBNVDYzOTdfQlVDS19DT043ICAg ICAgIDB4MDIwRQo+ICsjZGVmaW5lIE1UNjM5N19CVUNLX0NPTjggICAgICAgMHgwMjEwCj4gKyNk ZWZpbmUgTVQ2Mzk3X0JVQ0tfQ09OOSAgICAgICAweDAyMTIKPiArI2RlZmluZSBNVDYzOTdfVkNB MTVfQ09OMCAgICAgIDB4MDIxNAo+ICsjZGVmaW5lIE1UNjM5N19WQ0ExNV9DT04xICAgICAgMHgw MjE2Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZDQTE1X0NPTjIgICAgICAweDAyMTgKPiArI2RlZmluZSBN VDYzOTdfVkNBMTVfQ09OMyAgICAgIDB4MDIxQQo+ICsjZGVmaW5lIE1UNjM5N19WQ0ExNV9DT040 ICAgICAgMHgwMjFDCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZDQTE1X0NPTjUgICAgICAweDAyMUUKPiAr I2RlZmluZSBNVDYzOTdfVkNBMTVfQ09ONiAgICAgIDB4MDIyMAo+ICsjZGVmaW5lIE1UNjM5N19W Q0ExNV9DT043ICAgICAgMHgwMjIyCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZDQTE1X0NPTjggICAgICAw eDAyMjQKPiArI2RlZmluZSBNVDYzOTdfVkNBMTVfQ09OOSAgICAgIDB4MDIyNgo+ICsjZGVmaW5l IE1UNjM5N19WQ0ExNV9DT04xMCAgICAgMHgwMjI4Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZDQTE1X0NP TjExICAgICAweDAyMkEKPiArI2RlZmluZSBNVDYzOTdfVkNBMTVfQ09OMTIgICAgIDB4MDIyQwo+ ICsjZGVmaW5lIE1UNjM5N19WQ0ExNV9DT04xMyAgICAgMHgwMjJFCj4gKyNkZWZpbmUgTVQ2Mzk3 X1ZDQTE1X0NPTjE0ICAgICAweDAyMzAKPiArI2RlZmluZSBNVDYzOTdfVkNBMTVfQ09OMTUgICAg IDB4MDIzMgo+ICsjZGVmaW5lIE1UNjM5N19WQ0ExNV9DT04xNiAgICAgMHgwMjM0Cj4gKyNkZWZp bmUgTVQ2Mzk3X1ZDQTE1X0NPTjE3ICAgICAweDAyMzYKPiArI2RlZmluZSBNVDYzOTdfVkNBMTVf Q09OMTggICAgIDB4MDIzOAo+ICsjZGVmaW5lIE1UNjM5N19WU1JNQ0ExNV9DT04wICAgMHgwMjNB Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZTUk1DQTE1X0NPTjEgICAweDAyM0MKPiArI2RlZmluZSBNVDYz OTdfVlNSTUNBMTVfQ09OMiAgIDB4MDIzRQo+ICsjZGVmaW5lIE1UNjM5N19WU1JNQ0ExNV9DT04z ICAgMHgwMjQwCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZTUk1DQTE1X0NPTjQgICAweDAyNDIKPiArI2Rl ZmluZSBNVDYzOTdfVlNSTUNBMTVfQ09ONSAgIDB4MDI0NAo+ICsjZGVmaW5lIE1UNjM5N19WU1JN Q0ExNV9DT042ICAgMHgwMjQ2Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZTUk1DQTE1X0NPTjcgICAweDAy NDgKPiArI2RlZmluZSBNVDYzOTdfVlNSTUNBMTVfQ09OOCAgIDB4MDI0QQo+ICsjZGVmaW5lIE1U NjM5N19WU1JNQ0ExNV9DT045ICAgMHgwMjRDCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZTUk1DQTE1X0NP TjEwICAweDAyNEUKPiArI2RlZmluZSBNVDYzOTdfVlNSTUNBMTVfQ09OMTEgIDB4MDI1MAo+ICsj ZGVmaW5lIE1UNjM5N19WU1JNQ0ExNV9DT04xMiAgMHgwMjUyCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZT Uk1DQTE1X0NPTjEzICAweDAyNTQKPiArI2RlZmluZSBNVDYzOTdfVlNSTUNBMTVfQ09OMTQgIDB4 MDI1Ngo+ICsjZGVmaW5lIE1UNjM5N19WU1JNQ0ExNV9DT04xNSAgMHgwMjU4Cj4gKyNkZWZpbmUg TVQ2Mzk3X1ZTUk1DQTE1X0NPTjE2ICAweDAyNUEKPiArI2RlZmluZSBNVDYzOTdfVlNSTUNBMTVf Q09OMTcgIDB4MDI1Qwo+ICsjZGVmaW5lIE1UNjM5N19WU1JNQ0ExNV9DT04xOCAgMHgwMjVFCj4g KyNkZWZpbmUgTVQ2Mzk3X1ZTUk1DQTE1X0NPTjE5ICAweDAyNjAKPiArI2RlZmluZSBNVDYzOTdf VlNSTUNBMTVfQ09OMjAgIDB4MDI2Mgo+ICsjZGVmaW5lIE1UNjM5N19WU1JNQ0ExNV9DT04yMSAg MHgwMjY0Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZDT1JFX0NPTjAgICAgICAweDAyNjYKPiArI2RlZmlu ZSBNVDYzOTdfVkNPUkVfQ09OMSAgICAgIDB4MDI2OAo+ICsjZGVmaW5lIE1UNjM5N19WQ09SRV9D T04yICAgICAgMHgwMjZBCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZDT1JFX0NPTjMgICAgICAweDAyNkMK PiArI2RlZmluZSBNVDYzOTdfVkNPUkVfQ09ONCAgICAgIDB4MDI2RQo+ICsjZGVmaW5lIE1UNjM5 N19WQ09SRV9DT041ICAgICAgMHgwMjcwCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZDT1JFX0NPTjYgICAg ICAweDAyNzIKPiArI2RlZmluZSBNVDYzOTdfVkNPUkVfQ09ONyAgICAgIDB4MDI3NAo+ICsjZGVm aW5lIE1UNjM5N19WQ09SRV9DT044ICAgICAgMHgwMjc2Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZDT1JF X0NPTjkgICAgICAweDAyNzgKPiArI2RlZmluZSBNVDYzOTdfVkNPUkVfQ09OMTAgICAgIDB4MDI3 QQo+ICsjZGVmaW5lIE1UNjM5N19WQ09SRV9DT04xMSAgICAgMHgwMjdDCj4gKyNkZWZpbmUgTVQ2 Mzk3X1ZDT1JFX0NPTjEyICAgICAweDAyN0UKPiArI2RlZmluZSBNVDYzOTdfVkNPUkVfQ09OMTMg ICAgIDB4MDI4MAo+ICsjZGVmaW5lIE1UNjM5N19WQ09SRV9DT04xNCAgICAgMHgwMjgyCj4gKyNk ZWZpbmUgTVQ2Mzk3X1ZDT1JFX0NPTjE1ICAgICAweDAyODQKPiArI2RlZmluZSBNVDYzOTdfVkNP UkVfQ09OMTYgICAgIDB4MDI4Ngo+ICsjZGVmaW5lIE1UNjM5N19WQ09SRV9DT04xNyAgICAgMHgw Mjg4Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZDT1JFX0NPTjE4ICAgICAweDAyOEEKPiArI2RlZmluZSBN VDYzOTdfVkdQVV9DT04wICAgICAgIDB4MDI4Qwo+ICsjZGVmaW5lIE1UNjM5N19WR1BVX0NPTjEg ICAgICAgMHgwMjhFCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZHUFVfQ09OMiAgICAgICAweDAyOTAKPiAr I2RlZmluZSBNVDYzOTdfVkdQVV9DT04zICAgICAgIDB4MDI5Mgo+ICsjZGVmaW5lIE1UNjM5N19W R1BVX0NPTjQgICAgICAgMHgwMjk0Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZHUFVfQ09ONSAgICAgICAw eDAyOTYKPiArI2RlZmluZSBNVDYzOTdfVkdQVV9DT042ICAgICAgIDB4MDI5OAo+ICsjZGVmaW5l IE1UNjM5N19WR1BVX0NPTjcgICAgICAgMHgwMjlBCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZHUFVfQ09O OCAgICAgICAweDAyOUMKPiArI2RlZmluZSBNVDYzOTdfVkdQVV9DT045ICAgICAgIDB4MDI5RQo+ ICsjZGVmaW5lIE1UNjM5N19WR1BVX0NPTjEwICAgICAgMHgwMkEwCj4gKyNkZWZpbmUgTVQ2Mzk3 X1ZHUFVfQ09OMTEgICAgICAweDAyQTIKPiArI2RlZmluZSBNVDYzOTdfVkdQVV9DT04xMiAgICAg IDB4MDJBNAo+ICsjZGVmaW5lIE1UNjM5N19WR1BVX0NPTjEzICAgICAgMHgwMkE2Cj4gKyNkZWZp bmUgTVQ2Mzk3X1ZHUFVfQ09OMTQgICAgICAweDAyQTgKPiArI2RlZmluZSBNVDYzOTdfVkdQVV9D T04xNSAgICAgIDB4MDJBQQo+ICsjZGVmaW5lIE1UNjM5N19WR1BVX0NPTjE2ICAgICAgMHgwMkFD Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZHUFVfQ09OMTcgICAgICAweDAyQUUKPiArI2RlZmluZSBNVDYz OTdfVkdQVV9DT04xOCAgICAgIDB4MDJCMAo+ICsjZGVmaW5lIE1UNjM5N19WSU8xOF9DT04wICAg ICAgMHgwMzAwCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZJTzE4X0NPTjEgICAgICAweDAzMDIKPiArI2Rl ZmluZSBNVDYzOTdfVklPMThfQ09OMiAgICAgIDB4MDMwNAo+ICsjZGVmaW5lIE1UNjM5N19WSU8x OF9DT04zICAgICAgMHgwMzA2Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZJTzE4X0NPTjQgICAgICAweDAz MDgKPiArI2RlZmluZSBNVDYzOTdfVklPMThfQ09ONSAgICAgIDB4MDMwQQo+ICsjZGVmaW5lIE1U NjM5N19WSU8xOF9DT042ICAgICAgMHgwMzBDCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZJTzE4X0NPTjcg ICAgICAweDAzMEUKPiArI2RlZmluZSBNVDYzOTdfVklPMThfQ09OOCAgICAgIDB4MDMxMAo+ICsj ZGVmaW5lIE1UNjM5N19WSU8xOF9DT045ICAgICAgMHgwMzEyCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZJ TzE4X0NPTjEwICAgICAweDAzMTQKPiArI2RlZmluZSBNVDYzOTdfVklPMThfQ09OMTEgICAgIDB4 MDMxNgo+ICsjZGVmaW5lIE1UNjM5N19WSU8xOF9DT04xMiAgICAgMHgwMzE4Cj4gKyNkZWZpbmUg TVQ2Mzk3X1ZJTzE4X0NPTjEzICAgICAweDAzMUEKPiArI2RlZmluZSBNVDYzOTdfVklPMThfQ09O MTQgICAgIDB4MDMxQwo+ICsjZGVmaW5lIE1UNjM5N19WSU8xOF9DT04xNSAgICAgMHgwMzFFCj4g KyNkZWZpbmUgTVQ2Mzk3X1ZJTzE4X0NPTjE2ICAgICAweDAzMjAKPiArI2RlZmluZSBNVDYzOTdf VklPMThfQ09OMTcgICAgIDB4MDMyMgo+ICsjZGVmaW5lIE1UNjM5N19WSU8xOF9DT04xOCAgICAg MHgwMzI0Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZQQ0E3X0NPTjAgICAgICAweDAzMjYKPiArI2RlZmlu ZSBNVDYzOTdfVlBDQTdfQ09OMSAgICAgIDB4MDMyOAo+ICsjZGVmaW5lIE1UNjM5N19WUENBN19D T04yICAgICAgMHgwMzJBCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZQQ0E3X0NPTjMgICAgICAweDAzMkMK PiArI2RlZmluZSBNVDYzOTdfVlBDQTdfQ09ONCAgICAgIDB4MDMyRQo+ICsjZGVmaW5lIE1UNjM5 N19WUENBN19DT041ICAgICAgMHgwMzMwCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZQQ0E3X0NPTjYgICAg ICAweDAzMzIKPiArI2RlZmluZSBNVDYzOTdfVlBDQTdfQ09ONyAgICAgIDB4MDMzNAo+ICsjZGVm aW5lIE1UNjM5N19WUENBN19DT044ICAgICAgMHgwMzM2Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZQQ0E3 X0NPTjkgICAgICAweDAzMzgKPiArI2RlZmluZSBNVDYzOTdfVlBDQTdfQ09OMTAgICAgIDB4MDMz QQo+ICsjZGVmaW5lIE1UNjM5N19WUENBN19DT04xMSAgICAgMHgwMzNDCj4gKyNkZWZpbmUgTVQ2 Mzk3X1ZQQ0E3X0NPTjEyICAgICAweDAzM0UKPiArI2RlZmluZSBNVDYzOTdfVlBDQTdfQ09OMTMg ICAgIDB4MDM0MAo+ICsjZGVmaW5lIE1UNjM5N19WUENBN19DT04xNCAgICAgMHgwMzQyCj4gKyNk ZWZpbmUgTVQ2Mzk3X1ZQQ0E3X0NPTjE1ICAgICAweDAzNDQKPiArI2RlZmluZSBNVDYzOTdfVlBD QTdfQ09OMTYgICAgIDB4MDM0Ngo+ICsjZGVmaW5lIE1UNjM5N19WUENBN19DT04xNyAgICAgMHgw MzQ4Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZQQ0E3X0NPTjE4ICAgICAweDAzNEEKPiArI2RlZmluZSBN VDYzOTdfVlNSTUNBN19DT04wICAgIDB4MDM0Qwo+ICsjZGVmaW5lIE1UNjM5N19WU1JNQ0E3X0NP TjEgICAgMHgwMzRFCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZTUk1DQTdfQ09OMiAgICAweDAzNTAKPiAr I2RlZmluZSBNVDYzOTdfVlNSTUNBN19DT04zICAgIDB4MDM1Mgo+ICsjZGVmaW5lIE1UNjM5N19W U1JNQ0E3X0NPTjQgICAgMHgwMzU0Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZTUk1DQTdfQ09ONSAgICAw eDAzNTYKPiArI2RlZmluZSBNVDYzOTdfVlNSTUNBN19DT042ICAgIDB4MDM1OAo+ICsjZGVmaW5l IE1UNjM5N19WU1JNQ0E3X0NPTjcgICAgMHgwMzVBCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZTUk1DQTdf Q09OOCAgICAweDAzNUMKPiArI2RlZmluZSBNVDYzOTdfVlNSTUNBN19DT045ICAgIDB4MDM1RQo+ ICsjZGVmaW5lIE1UNjM5N19WU1JNQ0E3X0NPTjEwICAgMHgwMzYwCj4gKyNkZWZpbmUgTVQ2Mzk3 X1ZTUk1DQTdfQ09OMTEgICAweDAzNjIKPiArI2RlZmluZSBNVDYzOTdfVlNSTUNBN19DT04xMiAg IDB4MDM2NAo+ICsjZGVmaW5lIE1UNjM5N19WU1JNQ0E3X0NPTjEzICAgMHgwMzY2Cj4gKyNkZWZp bmUgTVQ2Mzk3X1ZTUk1DQTdfQ09OMTQgICAweDAzNjgKPiArI2RlZmluZSBNVDYzOTdfVlNSTUNB N19DT04xNSAgIDB4MDM2QQo+ICsjZGVmaW5lIE1UNjM5N19WU1JNQ0E3X0NPTjE2ICAgMHgwMzZD Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZTUk1DQTdfQ09OMTcgICAweDAzNkUKPiArI2RlZmluZSBNVDYz OTdfVlNSTUNBN19DT04xOCAgIDB4MDM3MAo+ICsjZGVmaW5lIE1UNjM5N19WU1JNQ0E3X0NPTjE5 ICAgMHgwMzcyCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZTUk1DQTdfQ09OMjAgICAweDAzNzQKPiArI2Rl ZmluZSBNVDYzOTdfVlNSTUNBN19DT04yMSAgIDB4MDM3Ngo+ICsjZGVmaW5lIE1UNjM5N19WRFJN X0NPTjAgICAgICAgMHgwMzc4Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZEUk1fQ09OMSAgICAgICAweDAz N0EKPiArI2RlZmluZSBNVDYzOTdfVkRSTV9DT04yICAgICAgIDB4MDM3Qwo+ICsjZGVmaW5lIE1U NjM5N19WRFJNX0NPTjMgICAgICAgMHgwMzdFCj4gKyNkZWZpbmUgTVQ2Mzk3X1ZEUk1fQ09ONCAg ICAgICAweDAzODAKPiArI2RlZmluZSBNVDYzOTdfVkRSTV9DT041ICAgICAgIDB4MDM4Mgo+ICsj ZGVmaW5lIE1UNjM5N19WRFJNX0NPTjYgICAgICAgMHgwMzg0Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZE Uk1fQ09ONyAgICAgICAweDAzODYKPiArI2RlZmluZSBNVDYzOTdfVkRSTV9DT044ICAgICAgIDB4 MDM4OAo+ICsjZGVmaW5lIE1UNjM5N19WRFJNX0NPTjkgICAgICAgMHgwMzhBCj4gKyNkZWZpbmUg TVQ2Mzk3X1ZEUk1fQ09OMTAgICAgICAweDAzOEMKPiArI2RlZmluZSBNVDYzOTdfVkRSTV9DT04x MSAgICAgIDB4MDM4RQo+ICsjZGVmaW5lIE1UNjM5N19WRFJNX0NPTjEyICAgICAgMHgwMzkwCj4g KyNkZWZpbmUgTVQ2Mzk3X1ZEUk1fQ09OMTMgICAgICAweDAzOTIKPiArI2RlZmluZSBNVDYzOTdf VkRSTV9DT04xNCAgICAgIDB4MDM5NAo+ICsjZGVmaW5lIE1UNjM5N19WRFJNX0NPTjE1ICAgICAg MHgwMzk2Cj4gKyNkZWZpbmUgTVQ2Mzk3X1ZEUk1fQ09OMTYgICAgICAweDAzOTgKPiArI2RlZmlu ZSBNVDYzOTdfVkRSTV9DT04xNyAgICAgIDB4MDM5QQo+ICsjZGVmaW5lIE1UNjM5N19WRFJNX0NP TjE4ICAgICAgMHgwMzlDCj4gKyNkZWZpbmUgTVQ2Mzk3X0JVQ0tfS19DT04wICAgICAweDAzOUUK PiArI2RlZmluZSBNVDYzOTdfQlVDS19LX0NPTjEgICAgIDB4MDNBMAo+ICsjZGVmaW5lIE1UNjM5 N19BTkFMRE9fQ09OMCAgICAgMHgwNDAwCj4gKyNkZWZpbmUgTVQ2Mzk3X0FOQUxET19DT04xICAg ICAweDA0MDIKPiArI2RlZmluZSBNVDYzOTdfQU5BTERPX0NPTjIgICAgIDB4MDQwNAo+ICsjZGVm aW5lIE1UNjM5N19BTkFMRE9fQ09OMyAgICAgMHgwNDA2Cj4gKyNkZWZpbmUgTVQ2Mzk3X0FOQUxE T19DT040ICAgICAweDA0MDgKPiArI2RlZmluZSBNVDYzOTdfQU5BTERPX0NPTjUgICAgIDB4MDQw QQo+ICsjZGVmaW5lIE1UNjM5N19BTkFMRE9fQ09ONiAgICAgMHgwNDBDCj4gKyNkZWZpbmUgTVQ2 Mzk3X0FOQUxET19DT043ICAgICAweDA0MEUKPiArI2RlZmluZSBNVDYzOTdfRElHTERPX0NPTjAg ICAgIDB4MDQxMAo+ICsjZGVmaW5lIE1UNjM5N19ESUdMRE9fQ09OMSAgICAgMHgwNDEyCj4gKyNk ZWZpbmUgTVQ2Mzk3X0RJR0xET19DT04yICAgICAweDA0MTQKPiArI2RlZmluZSBNVDYzOTdfRElH TERPX0NPTjMgICAgIDB4MDQxNgo+ICsjZGVmaW5lIE1UNjM5N19ESUdMRE9fQ09ONCAgICAgMHgw NDE4Cj4gKyNkZWZpbmUgTVQ2Mzk3X0RJR0xET19DT041ICAgICAweDA0MUEKPiArI2RlZmluZSBN VDYzOTdfRElHTERPX0NPTjYgICAgIDB4MDQxQwo+ICsjZGVmaW5lIE1UNjM5N19ESUdMRE9fQ09O NyAgICAgMHgwNDFFCj4gKyNkZWZpbmUgTVQ2Mzk3X0RJR0xET19DT044ICAgICAweDA0MjAKPiAr I2RlZmluZSBNVDYzOTdfRElHTERPX0NPTjkgICAgIDB4MDQyMgo+ICsjZGVmaW5lIE1UNjM5N19E SUdMRE9fQ09OMTAgICAgMHgwNDI0Cj4gKyNkZWZpbmUgTVQ2Mzk3X0RJR0xET19DT04xMSAgICAw eDA0MjYKPiArI2RlZmluZSBNVDYzOTdfRElHTERPX0NPTjEyICAgIDB4MDQyOAo+ICsjZGVmaW5l IE1UNjM5N19ESUdMRE9fQ09OMTMgICAgMHgwNDJBCj4gKyNkZWZpbmUgTVQ2Mzk3X0RJR0xET19D T04xNCAgICAweDA0MkMKPiArI2RlZmluZSBNVDYzOTdfRElHTERPX0NPTjE1ICAgIDB4MDQyRQo+ ICsjZGVmaW5lIE1UNjM5N19ESUdMRE9fQ09OMTYgICAgMHgwNDMwCj4gKyNkZWZpbmUgTVQ2Mzk3 X0RJR0xET19DT04xNyAgICAweDA0MzIKPiArI2RlZmluZSBNVDYzOTdfRElHTERPX0NPTjE4ICAg IDB4MDQzNAo+ICsjZGVmaW5lIE1UNjM5N19ESUdMRE9fQ09OMTkgICAgMHgwNDM2Cj4gKyNkZWZp bmUgTVQ2Mzk3X0RJR0xET19DT04yMCAgICAweDA0MzgKPiArI2RlZmluZSBNVDYzOTdfRElHTERP X0NPTjIxICAgIDB4MDQzQQo+ICsjZGVmaW5lIE1UNjM5N19ESUdMRE9fQ09OMjIgICAgMHgwNDND Cj4gKyNkZWZpbmUgTVQ2Mzk3X0RJR0xET19DT04yMyAgICAweDA0M0UKPiArI2RlZmluZSBNVDYz OTdfRElHTERPX0NPTjI0ICAgIDB4MDQ0MAo+ICsjZGVmaW5lIE1UNjM5N19ESUdMRE9fQ09OMjUg ICAgMHgwNDQyCj4gKyNkZWZpbmUgTVQ2Mzk3X0RJR0xET19DT04yNiAgICAweDA0NDQKPiArI2Rl ZmluZSBNVDYzOTdfRElHTERPX0NPTjI3ICAgIDB4MDQ0Ngo+ICsjZGVmaW5lIE1UNjM5N19ESUdM RE9fQ09OMjggICAgMHgwNDQ4Cj4gKyNkZWZpbmUgTVQ2Mzk3X0RJR0xET19DT04yOSAgICAweDA0 NEEKPiArI2RlZmluZSBNVDYzOTdfRElHTERPX0NPTjMwICAgIDB4MDQ0Qwo+ICsjZGVmaW5lIE1U NjM5N19ESUdMRE9fQ09OMzEgICAgMHgwNDRFCj4gKyNkZWZpbmUgTVQ2Mzk3X0RJR0xET19DT04z MiAgICAweDA0NTAKPiArI2RlZmluZSBNVDYzOTdfRElHTERPX0NPTjMzICAgIDB4MDQ1QQo+ICsj ZGVmaW5lIE1UNjM5N19TUEtfQ09OMCAgICAgICAgMHgwNjAwCj4gKyNkZWZpbmUgTVQ2Mzk3X1NQ S19DT04xICAgICAgICAweDA2MDIKPiArI2RlZmluZSBNVDYzOTdfU1BLX0NPTjIgICAgICAgIDB4 MDYwNAo+ICsjZGVmaW5lIE1UNjM5N19TUEtfQ09OMyAgICAgICAgMHgwNjA2Cj4gKyNkZWZpbmUg TVQ2Mzk3X1NQS19DT040ICAgICAgICAweDA2MDgKPiArI2RlZmluZSBNVDYzOTdfU1BLX0NPTjUg ICAgICAgIDB4MDYwQQo+ICsjZGVmaW5lIE1UNjM5N19TUEtfQ09ONiAgICAgICAgMHgwNjBDCj4g KyNkZWZpbmUgTVQ2Mzk3X1NQS19DT043ICAgICAgICAweDA2MEUKPiArI2RlZmluZSBNVDYzOTdf U1BLX0NPTjggICAgICAgIDB4MDYxMAo+ICsjZGVmaW5lIE1UNjM5N19TUEtfQ09OOSAgICAgICAg MHgwNjEyCj4gKyNkZWZpbmUgTVQ2Mzk3X1NQS19DT04xMCAgICAgICAweDA2MTQKPiArI2RlZmlu ZSBNVDYzOTdfU1BLX0NPTjExICAgICAgIDB4MDYxNgo+ICsjZGVmaW5lIE1UNjM5N19BVUREQUNf Q09OMCAgICAgMHgwNzAwCj4gKyNkZWZpbmUgTVQ2Mzk3X0FVREJVRl9DRkcwICAgICAweDA3MDIK PiArI2RlZmluZSBNVDYzOTdfQVVEQlVGX0NGRzEgICAgIDB4MDcwNAo+ICsjZGVmaW5lIE1UNjM5 N19BVURCVUZfQ0ZHMiAgICAgMHgwNzA2Cj4gKyNkZWZpbmUgTVQ2Mzk3X0FVREJVRl9DRkczICAg ICAweDA3MDgKPiArI2RlZmluZSBNVDYzOTdfQVVEQlVGX0NGRzQgICAgIDB4MDcwQQo+ICsjZGVm aW5lIE1UNjM5N19JQklBU0RJU1RfQ0ZHMCAgMHgwNzBDCj4gKyNkZWZpbmUgTVQ2Mzk3X0FVREFD Q0RFUE9QX0NGRzAgMHgwNzBFCj4gKyNkZWZpbmUgTVQ2Mzk3X0FVRF9JVl9DRkcwICAgICAweDA3 MTAKPiArI2RlZmluZSBNVDYzOTdfQVVEQ0xLR0VOX0NGRzAgIDB4MDcxMgo+ICsjZGVmaW5lIE1U NjM5N19BVURMRE9fQ0ZHMCAgICAgMHgwNzE0Cj4gKyNkZWZpbmUgTVQ2Mzk3X0FVRExET19DRkcx ICAgICAweDA3MTYKPiArI2RlZmluZSBNVDYzOTdfQVVETlZSRUdHTEJfQ0ZHMCAweDA3MTgKPiAr I2RlZmluZSBNVDYzOTdfQVVEX05DUDAgICAgICAgIDB4MDcxQQo+ICsjZGVmaW5lIE1UNjM5N19B VURQUkVBTVBfQ09OMCAgMHgwNzFDCj4gKyNkZWZpbmUgTVQ2Mzk3X0FVREFEQ19DT04wICAgICAw eDA3MUUKPiArI2RlZmluZSBNVDYzOTdfQVVEQURDX0NPTjEgICAgIDB4MDcyMAo+ICsjZGVmaW5l IE1UNjM5N19BVURBRENfQ09OMiAgICAgMHgwNzIyCj4gKyNkZWZpbmUgTVQ2Mzk3X0FVREFEQ19D T04zICAgICAweDA3MjQKPiArI2RlZmluZSBNVDYzOTdfQVVEQURDX0NPTjQgICAgIDB4MDcyNgo+ ICsjZGVmaW5lIE1UNjM5N19BVURBRENfQ09ONSAgICAgMHgwNzI4Cj4gKyNkZWZpbmUgTVQ2Mzk3 X0FVREFEQ19DT042ICAgICAweDA3MkEKPiArI2RlZmluZSBNVDYzOTdfQVVERElHTUlfQ09OMCAg IDB4MDcyQwo+ICsjZGVmaW5lIE1UNjM5N19BVURMU0JVRl9DT04wICAgMHgwNzJFCj4gKyNkZWZp bmUgTVQ2Mzk3X0FVRExTQlVGX0NPTjEgICAweDA3MzAKPiArI2RlZmluZSBNVDYzOTdfQVVERU5D U1BBUkVfQ09OMCAweDA3MzIKPiArI2RlZmluZSBNVDYzOTdfQVVERU5DQ0xLU1FfQ09OMCAweDA3 MzQKPiArI2RlZmluZSBNVDYzOTdfQVVEUFJFQU1QR0FJTl9DT04wIDB4MDczNgo+ICsjZGVmaW5l IE1UNjM5N19aQ0RfQ09OMCAgICAgICAgMHgwNzM4Cj4gKyNkZWZpbmUgTVQ2Mzk3X1pDRF9DT04x ICAgICAgICAweDA3M0EKPiArI2RlZmluZSBNVDYzOTdfWkNEX0NPTjIgICAgICAgIDB4MDczQwo+ ICsjZGVmaW5lIE1UNjM5N19aQ0RfQ09OMyAgICAgICAgMHgwNzNFCj4gKyNkZWZpbmUgTVQ2Mzk3 X1pDRF9DT040ICAgICAgICAweDA3NDAKPiArI2RlZmluZSBNVDYzOTdfWkNEX0NPTjUgICAgICAg IDB4MDc0Mgo+ICsjZGVmaW5lIE1UNjM5N19OQ1BfQ0xLRElWX0NPTjAgMHgwNzQ0Cj4gKyNkZWZp bmUgTVQ2Mzk3X05DUF9DTEtESVZfQ09OMSAweDA3NDYKPiArCj4gKyNlbmRpZiAvKiBfX01GRF9N VDYzOTdfUkVHSVNURVJTX0hfXyAqLwoKLS0gCkxlZSBKb25lcwpMaW5hcm8gU1RNaWNyb2VsZWN0 cm9uaWNzIExhbmRpbmcgVGVhbSBMZWFkCkxpbmFyby5vcmcg4pSCIE9wZW4gc291cmNlIHNvZnR3 YXJlIGZvciBBUk0gU29DcwpGb2xsb3cgTGluYXJvOiBGYWNlYm9vayB8IFR3aXR0ZXIgfCBCbG9n CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1h cm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5v cmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0t a2VybmVsCg==