From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shawn Guo Subject: [PATCH v2 5/7] spi/imx: use soc name in spi device type naming scheme Date: Sun, 10 Jul 2011 01:16:39 +0800 Message-ID: <1310231801-18761-6-git-send-email-shawn.guo@linaro.org> References: <1310231801-18761-1-git-send-email-shawn.guo@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: patches-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , Sascha Hauer , linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org To: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Return-path: In-Reply-To: <1310231801-18761-1-git-send-email-shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Sender: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org List-Id: linux-spi.vger.kernel.org U29mdHdhcmUgZGVmaW5lZCB2ZXJzaW9uIG51bWJlciBpcyBub3Qgc3RhYmxlIGVub3VnaCB0byBi ZSB1c2VkCmluIGRldmljZSB0eXBlIG5hbWluZyBzY2hlbWUuICBUaGUgcGF0Y2ggY2hhbmdlcyBp dCB0byB1c2UgaW1wbGljaXQKc29jIG5hbWUgZm9yIHNwaSBkZXZpY2UgdHlwZSBkZWZpbml0aW9u LiAgSW4gdGhpcyB3YXksIHdlIGNhbiBlYXNpbHkKYWxpZ24gdGhlIG5hbWluZyBzY2hlbWUgd2l0 aCBkZXZpY2UgdHJlZSBiaW5kaW5nLCB3aGljaCBjb21lcyBsYXRlci4KCkl0IHJlbW92ZXMgZmlm b3NpemUgZnJvbSBzcGlfaW14X2RhdGEgYW5kIGFkZHMgZGV2dHlwZSB0aGVyZSwgc28gdGhhdApm aWZvc2l6ZSBjYW4gYmUgc2V0IGluIGFuIGlubGluZSBmdW5jdGlvbiBhY2NvcmRpbmcgdG8gZGV2 dHlwZS4KQWxzbywgY3B1X2lzX214IGNhbiBiZSByZXBsYWNlZCBieSBpbmxpbmUgZnVuY3Rpb25z IGNoZWNraW5nIGRldnR5cGUuCgpTaWduZWQtb2ZmLWJ5OiBTaGF3biBHdW8gPHNoYXduLmd1b0Bs aW5hcm8ub3JnPgpDYzogVXdlIEtsZWluZS1Lw7ZuaWcgPHUua2xlaW5lLWtvZW5pZ0BwZW5ndXRy b25peC5kZT4KQ2M6IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4KQ2M6IEdy YW50IExpa2VseSA8Z3JhbnQubGlrZWx5QHNlY3JldGxhYi5jYT4KLS0tCiBhcmNoL2FybS9tYWNo LWlteC9jbG9jay1pbXgyNS5jICAgICAgICAgICAgICB8ICAgIDcgKy0KIGFyY2gvYXJtL21hY2gt bXg1L2Nsb2NrLW14NTEtbXg1My5jICAgICAgICAgIHwgICAxMSArLQogYXJjaC9hcm0vcGxhdC1t eGMvZGV2aWNlcy9wbGF0Zm9ybS1zcGlfaW14LmMgfCAgIDEyICstCiBkcml2ZXJzL3NwaS9LY29u ZmlnICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTIgLS0KIGRyaXZlcnMvc3BpL3NwaS1p bXguYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIwOCArKysrKysrKysrKysrKy0tLS0tLS0t LS0tLQogNSBmaWxlcyBjaGFuZ2VkLCAxMjggaW5zZXJ0aW9ucygrKSwgMTIyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaW14L2Nsb2NrLWlteDI1LmMgYi9hcmNoL2Fy bS9tYWNoLWlteC9jbG9jay1pbXgyNS5jCmluZGV4IDliYjkwNjIuLjE3ZDZkMWIgMTAwNjQ0Ci0t LSBhL2FyY2gvYXJtL21hY2gtaW14L2Nsb2NrLWlteDI1LmMKKysrIGIvYXJjaC9hcm0vbWFjaC1p bXgvY2xvY2staW14MjUuYwpAQCAtMjgzLDkgKzI4MywxMCBAQCBzdGF0aWMgc3RydWN0IGNsa19s b29rdXAgbG9va3Vwc1tdID0gewogCV9SRUdJU1RFUl9DTE9DSygibXhjLWVoY2kuMiIsICJ1c2Ii LCB1c2JvdGdfY2xrKQogCV9SRUdJU1RFUl9DTE9DSygiZnNsLXVzYjItdWRjIiwgInVzYiIsIHVz Ym90Z19jbGspCiAJX1JFR0lTVEVSX0NMT0NLKCJteGNfbmFuZC4wIiwgTlVMTCwgbmZjX2NsaykK LQlfUkVHSVNURVJfQ0xPQ0soImlteDI1LWNzcGkuMCIsIE5VTEwsIGNzcGkxX2NsaykKLQlfUkVH SVNURVJfQ0xPQ0soImlteDI1LWNzcGkuMSIsIE5VTEwsIGNzcGkyX2NsaykKLQlfUkVHSVNURVJf Q0xPQ0soImlteDI1LWNzcGkuMiIsIE5VTEwsIGNzcGkzX2NsaykKKwkvKiBpLm14MjUgaGFzIHRo ZSBpLm14MzUgdHlwZSBjc3BpICovCisJX1JFR0lTVEVSX0NMT0NLKCJpbXgzNS1jc3BpLjAiLCBO VUxMLCBjc3BpMV9jbGspCisJX1JFR0lTVEVSX0NMT0NLKCJpbXgzNS1jc3BpLjEiLCBOVUxMLCBj c3BpMl9jbGspCisJX1JFR0lTVEVSX0NMT0NLKCJpbXgzNS1jc3BpLjIiLCBOVUxMLCBjc3BpM19j bGspCiAJX1JFR0lTVEVSX0NMT0NLKCJteGNfcHdtLjAiLCBOVUxMLCBwd20xX2NsaykKIAlfUkVH SVNURVJfQ0xPQ0soIm14Y19wd20uMSIsIE5VTEwsIHB3bTJfY2xrKQogCV9SRUdJU1RFUl9DTE9D SygibXhjX3B3bS4yIiwgTlVMTCwgcHdtM19jbGspCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNo LW14NS9jbG9jay1teDUxLW14NTMuYyBiL2FyY2gvYXJtL21hY2gtbXg1L2Nsb2NrLW14NTEtbXg1 My5jCmluZGV4IGUwMGM0MjcuLjMxZDkwNGMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtbXg1 L2Nsb2NrLW14NTEtbXg1My5jCisrKyBiL2FyY2gvYXJtL21hY2gtbXg1L2Nsb2NrLW14NTEtbXg1 My5jCkBAIC0xNDUzLDcgKzE0NTMsOCBAQCBzdGF0aWMgc3RydWN0IGNsa19sb29rdXAgbXg1MV9s b29rdXBzW10gPSB7CiAJX1JFR0lTVEVSX0NMT0NLKE5VTEwsICJncHRfMzJrIiwgZ3B0XzMya19j bGspCiAJX1JFR0lTVEVSX0NMT0NLKCJpbXg1MS1lY3NwaS4wIiwgTlVMTCwgZWNzcGkxX2NsaykK IAlfUkVHSVNURVJfQ0xPQ0soImlteDUxLWVjc3BpLjEiLCBOVUxMLCBlY3NwaTJfY2xrKQotCV9S RUdJU1RFUl9DTE9DSygiaW14NTEtY3NwaS4wIiwgTlVMTCwgY3NwaV9jbGspCisJLyogaS5teDUx IGhhcyB0aGUgaS5teDM1IHR5cGUgY3NwaSAqLworCV9SRUdJU1RFUl9DTE9DSygiaW14MzUtY3Nw aS4wIiwgTlVMTCwgY3NwaV9jbGspCiAJX1JFR0lTVEVSX0NMT0NLKCJzZGhjaS1lc2RoYy1pbXg1 MS4wIiwgTlVMTCwgZXNkaGMxX2NsaykKIAlfUkVHSVNURVJfQ0xPQ0soInNkaGNpLWVzZGhjLWlt eDUxLjEiLCBOVUxMLCBlc2RoYzJfY2xrKQogCV9SRUdJU1RFUl9DTE9DSygic2RoY2ktZXNkaGMt aW14NTEuMiIsIE5VTEwsIGVzZGhjM19jbGspCkBAIC0xNDg2LDkgKzE0ODcsMTEgQEAgc3RhdGlj IHN0cnVjdCBjbGtfbG9va3VwIG14NTNfbG9va3Vwc1tdID0gewogCV9SRUdJU1RFUl9DTE9DSygi c2RoY2ktZXNkaGMtaW14NTMuMSIsIE5VTEwsIGVzZGhjMl9teDUzX2NsaykKIAlfUkVHSVNURVJf Q0xPQ0soInNkaGNpLWVzZGhjLWlteDUzLjIiLCBOVUxMLCBlc2RoYzNfbXg1M19jbGspCiAJX1JF R0lTVEVSX0NMT0NLKCJzZGhjaS1lc2RoYy1pbXg1My4zIiwgTlVMTCwgZXNkaGM0X214NTNfY2xr KQotCV9SRUdJU1RFUl9DTE9DSygiaW14NTMtZWNzcGkuMCIsIE5VTEwsIGVjc3BpMV9jbGspCi0J X1JFR0lTVEVSX0NMT0NLKCJpbXg1My1lY3NwaS4xIiwgTlVMTCwgZWNzcGkyX2NsaykKLQlfUkVH SVNURVJfQ0xPQ0soImlteDUzLWNzcGkuMCIsIE5VTEwsIGNzcGlfY2xrKQorCS8qIGkubXg1MyBo YXMgdGhlIGkubXg1MSB0eXBlIGVjc3BpICovCisJX1JFR0lTVEVSX0NMT0NLKCJpbXg1MS1lY3Nw aS4wIiwgTlVMTCwgZWNzcGkxX2NsaykKKwlfUkVHSVNURVJfQ0xPQ0soImlteDUxLWVjc3BpLjEi LCBOVUxMLCBlY3NwaTJfY2xrKQorCS8qIGkubXg1MyBoYXMgdGhlIGkubXgzNSB0eXBlIGNzcGkg Ki8KKwlfUkVHSVNURVJfQ0xPQ0soImlteDM1LWNzcGkuMCIsIE5VTEwsIGNzcGlfY2xrKQogCV9S RUdJU1RFUl9DTE9DSygiaW14Mi13ZHQuMCIsIE5VTEwsIGR1bW15X2NsaykKIAlfUkVHSVNURVJf Q0xPQ0soImlteDItd2R0LjEiLCBOVUxMLCBkdW1teV9jbGspCiAJX1JFR0lTVEVSX0NMT0NLKCJp bXgtc2RtYSIsIE5VTEwsIHNkbWFfY2xrKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1teGMv ZGV2aWNlcy9wbGF0Zm9ybS1zcGlfaW14LmMgYi9hcmNoL2FybS9wbGF0LW14Yy9kZXZpY2VzL3Bs YXRmb3JtLXNwaV9pbXguYwppbmRleCBmOTdlYjM2Li45YmZhZThiIDEwMDY0NAotLS0gYS9hcmNo L2FybS9wbGF0LW14Yy9kZXZpY2VzL3BsYXRmb3JtLXNwaV9pbXguYworKysgYi9hcmNoL2FybS9w bGF0LW14Yy9kZXZpY2VzL3BsYXRmb3JtLXNwaV9pbXguYwpAQCAtNDAsOSArNDAsMTAgQEAgY29u c3Qgc3RydWN0IGlteF9zcGlfaW14X2RhdGEgaW14MjFfY3NwaV9kYXRhW10gX19pbml0Y29uc3Qg PSB7CiAjZW5kaWYKIAogI2lmZGVmIENPTkZJR19TT0NfSU1YMjUKKy8qIGkubXgyNSBoYXMgdGhl IGkubXgzNSB0eXBlIGNzcGkgKi8KIGNvbnN0IHN0cnVjdCBpbXhfc3BpX2lteF9kYXRhIGlteDI1 X2NzcGlfZGF0YVtdIF9faW5pdGNvbnN0ID0gewogI2RlZmluZSBpbXgyNV9jc3BpX2RhdGFfZW50 cnkoX2lkLCBfaHdpZCkJCQkJXAotCWlteF9zcGlfaW14X2RhdGFfZW50cnkoTVgyNSwgQ1NQSSwg ImlteDI1LWNzcGkiLCBfaWQsIF9od2lkLCBTWl8xNkspCisJaW14X3NwaV9pbXhfZGF0YV9lbnRy eShNWDI1LCBDU1BJLCAiaW14MzUtY3NwaSIsIF9pZCwgX2h3aWQsIFNaXzE2SykKIAlpbXgyNV9j c3BpX2RhdGFfZW50cnkoMCwgMSksCiAJaW14MjVfY3NwaV9kYXRhX2VudHJ5KDEsIDIpLAogCWlt eDI1X2NzcGlfZGF0YV9lbnRyeSgyLCAzKSwKQEAgLTc5LDggKzgwLDkgQEAgY29uc3Qgc3RydWN0 IGlteF9zcGlfaW14X2RhdGEgaW14MzVfY3NwaV9kYXRhW10gX19pbml0Y29uc3QgPSB7CiAjZW5k aWYgLyogaWZkZWYgQ09ORklHX1NPQ19JTVgzNSAqLwogCiAjaWZkZWYgQ09ORklHX1NPQ19JTVg1 MQorLyogaS5teDUxIGhhcyB0aGUgaS5teDM1IHR5cGUgY3NwaSAqLwogY29uc3Qgc3RydWN0IGlt eF9zcGlfaW14X2RhdGEgaW14NTFfY3NwaV9kYXRhIF9faW5pdGNvbnN0ID0KLQlpbXhfc3BpX2lt eF9kYXRhX2VudHJ5X3NpbmdsZShNWDUxLCBDU1BJLCAiaW14NTEtY3NwaSIsIDIsICwgU1pfNEsp OworCWlteF9zcGlfaW14X2RhdGFfZW50cnlfc2luZ2xlKE1YNTEsIENTUEksICJpbXgzNS1jc3Bp IiwgMiwgLCBTWl80Syk7CiAKIGNvbnN0IHN0cnVjdCBpbXhfc3BpX2lteF9kYXRhIGlteDUxX2Vj c3BpX2RhdGFbXSBfX2luaXRjb25zdCA9IHsKICNkZWZpbmUgaW14NTFfZWNzcGlfZGF0YV9lbnRy eShfaWQsIF9od2lkKQkJCQlcCkBAIC05MSwxMiArOTMsMTQgQEAgY29uc3Qgc3RydWN0IGlteF9z cGlfaW14X2RhdGEgaW14NTFfZWNzcGlfZGF0YVtdIF9faW5pdGNvbnN0ID0gewogI2VuZGlmIC8q IGlmZGVmIENPTkZJR19TT0NfSU1YNTEgKi8KIAogI2lmZGVmIENPTkZJR19TT0NfSU1YNTMKKy8q IGkubXg1MyBoYXMgdGhlIGkubXgzNSB0eXBlIGNzcGkgKi8KIGNvbnN0IHN0cnVjdCBpbXhfc3Bp X2lteF9kYXRhIGlteDUzX2NzcGlfZGF0YSBfX2luaXRjb25zdCA9Ci0JaW14X3NwaV9pbXhfZGF0 YV9lbnRyeV9zaW5nbGUoTVg1MywgQ1NQSSwgImlteDUzLWNzcGkiLCAwLCAsIFNaXzRLKTsKKwlp bXhfc3BpX2lteF9kYXRhX2VudHJ5X3NpbmdsZShNWDUzLCBDU1BJLCAiaW14MzUtY3NwaSIsIDAs ICwgU1pfNEspOwogCisvKiBpLm14NTMgaGFzIHRoZSBpLm14NTEgdHlwZSBlY3NwaSAqLwogY29u c3Qgc3RydWN0IGlteF9zcGlfaW14X2RhdGEgaW14NTNfZWNzcGlfZGF0YVtdIF9faW5pdGNvbnN0 ID0gewogI2RlZmluZSBpbXg1M19lY3NwaV9kYXRhX2VudHJ5KF9pZCwgX2h3aWQpCQkJCVwKLQlp bXhfc3BpX2lteF9kYXRhX2VudHJ5KE1YNTMsIEVDU1BJLCAiaW14NTMtZWNzcGkiLCBfaWQsIF9o d2lkLCBTWl80SykKKwlpbXhfc3BpX2lteF9kYXRhX2VudHJ5KE1YNTMsIEVDU1BJLCAiaW14NTEt ZWNzcGkiLCBfaWQsIF9od2lkLCBTWl80SykKIAlpbXg1M19lY3NwaV9kYXRhX2VudHJ5KDAsIDEp LAogCWlteDUzX2Vjc3BpX2RhdGFfZW50cnkoMSwgMiksCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9zcGkvS2NvbmZpZyBiL2RyaXZlcnMvc3BpL0tjb25maWcKaW5kZXggYzMyN2NmMy4uNTJlMjkw MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zcGkvS2NvbmZpZworKysgYi9kcml2ZXJzL3NwaS9LY29u ZmlnCkBAIC0xNTQsMTggKzE1NCw2IEBAIGNvbmZpZyBTUElfR1BJTwogCSAgR1BJTyBvcGVyYXRp b25zLCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gbGV2ZXJhZ2UgdGhhdCBmb3IgYmV0dGVyCiAJICBz cGVlZCB3aXRoIGEgY3VzdG9tIHZlcnNpb24gb2YgdGhpcyBkcml2ZXI7IHNlZSB0aGUgc291cmNl IGNvZGUuCiAKLWNvbmZpZyBTUElfSU1YX1ZFUl9JTVgxCi0JZGVmX2Jvb2wgeSBpZiBTT0NfSU1Y MQotCi1jb25maWcgU1BJX0lNWF9WRVJfMF8wCi0JZGVmX2Jvb2wgeSBpZiBTT0NfSU1YMjEgfHwg U09DX0lNWDI3Ci0KLWNvbmZpZyBTUElfSU1YX1ZFUl8wXzQKLQlkZWZfYm9vbCB5IGlmIEFSQ0hf TVgyNSB8fCBTT0NfSU1YMzEgfHwgU09DX0lNWDM1IHx8IFNPQ19JTVg1MSB8fCBTT0NfSU1YNTMK LQotY29uZmlnIFNQSV9JTVhfVkVSXzJfMwotCWRlZl9ib29sIHkgaWYgU09DX0lNWDUxIHx8IFNP Q19JTVg1MwotCiBjb25maWcgU1BJX0lNWAogCXRyaXN0YXRlICJGcmVlc2NhbGUgaS5NWCBTUEkg Y29udHJvbGxlcnMiCiAJZGVwZW5kcyBvbiBBUkNIX01YQwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9z cGkvc3BpLWlteC5jIGIvZHJpdmVycy9zcGkvc3BpLWlteC5jCmluZGV4IGIyODIzNTEuLjJlZDlj MzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3BpL3NwaS1pbXguYworKysgYi9kcml2ZXJzL3NwaS9z cGktaW14LmMKQEAgLTU3LDEwICs1NywxMiBAQCBzdHJ1Y3Qgc3BpX2lteF9jb25maWcgewogfTsK IAogZW51bSBzcGlfaW14X2RldnR5cGUgewotCVNQSV9JTVhfVkVSX0lNWDEsCi0JU1BJX0lNWF9W RVJfMF8wLAotCVNQSV9JTVhfVkVSXzBfNCwKLQlTUElfSU1YX1ZFUl8yXzMsCisJSU1YMV9DU1BJ LAorCUlNWDIxX0NTUEksCisJSU1YMjdfQ1NQSSwKKwlJTVgzMV9DU1BJLAorCUlNWDM1X0NTUEks CS8qIENTUEkgb24gYWxsIGkubXggZXhjZXB0IGFib3ZlICovCisJSU1YNTFfRUNTUEksCS8qIEVD U1BJIG9uIGkubXg1MSBhbmQgbGF0ZXIgKi8KIH07CiAKIHN0cnVjdCBzcGlfaW14X2RhdGE7CkBA IC03MSw3ICs3Myw3IEBAIHN0cnVjdCBzcGlfaW14X2RldnR5cGVfZGF0YSB7CiAJdm9pZCAoKnRy aWdnZXIpKHN0cnVjdCBzcGlfaW14X2RhdGEgKik7CiAJaW50ICgqcnhfYXZhaWxhYmxlKShzdHJ1 Y3Qgc3BpX2lteF9kYXRhICopOwogCXZvaWQgKCpyZXNldCkoc3RydWN0IHNwaV9pbXhfZGF0YSAq KTsKLQl1bnNpZ25lZCBpbnQgZmlmb3NpemU7CisJZW51bSBzcGlfaW14X2RldnR5cGUgZGV2dHlw ZTsKIH07CiAKIHN0cnVjdCBzcGlfaW14X2RhdGEgewpAQCAtOTQsNiArOTYsMjEgQEAgc3RydWN0 IHNwaV9pbXhfZGF0YSB7CiAJc3RydWN0IHNwaV9pbXhfZGV2dHlwZV9kYXRhICpkZXZ0eXBlX2Rh dGE7CiB9OwogCitzdGF0aWMgaW5saW5lIGludCBpc19pbXgyN19jc3BpKHN0cnVjdCBzcGlfaW14 X2RhdGEgKmQpCit7CisJcmV0dXJuIGQtPmRldnR5cGVfZGF0YS0+ZGV2dHlwZSA9PSBJTVgyN19D U1BJOworfQorCitzdGF0aWMgaW5saW5lIGludCBpc19pbXgzNV9jc3BpKHN0cnVjdCBzcGlfaW14 X2RhdGEgKmQpCit7CisJcmV0dXJuIGQtPmRldnR5cGVfZGF0YS0+ZGV2dHlwZSA9PSBJTVgzNV9D U1BJOworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIHNwaV9pbXhfZ2V0X2ZpZm9zaXplKHN0 cnVjdCBzcGlfaW14X2RhdGEgKmQpCit7CisJcmV0dXJuIChkLT5kZXZ0eXBlX2RhdGEtPmRldnR5 cGUgPT0gSU1YNTFfRUNTUEkpID8gNjQgOiA4OworfQorCiAjZGVmaW5lIE1YQ19TUElfQlVGX1JY KHR5cGUpCQkJCQkJXAogc3RhdGljIHZvaWQgc3BpX2lteF9idWZfcnhfIyN0eXBlKHN0cnVjdCBz cGlfaW14X2RhdGEgKnNwaV9pbXgpCQlcCiB7CQkJCQkJCQkJXApAQCAtMTM1LDE0ICsxNTIsOSBA QCBzdGF0aWMgaW50IG14Y19jbGtkaXZzW10gPSB7MCwgMywgNCwgNiwgOCwgMTIsIDE2LCAyNCwg MzIsIDQ4LCA2NCwgOTYsIDEyOCwgMTkyLAogCiAvKiBNWDIxLCBNWDI3ICovCiBzdGF0aWMgdW5z aWduZWQgaW50IHNwaV9pbXhfY2xrZGl2XzEodW5zaWduZWQgaW50IGZpbiwKLQkJdW5zaWduZWQg aW50IGZzcGkpCisJCXVuc2lnbmVkIGludCBmc3BpLCB1bnNpZ25lZCBpbnQgbWF4KQogewotCWlu dCBpLCBtYXg7Ci0KLQlpZiAoY3B1X2lzX214MjEoKSkKLQkJbWF4ID0gMTg7Ci0JZWxzZQotCQlt YXggPSAxNjsKKwlpbnQgaTsKIAogCWZvciAoaSA9IDI7IGkgPCBtYXg7IGkrKykKIAkJaWYgKGZz cGkgKiBteGNfY2xrZGl2c1tpXSA+PSBmaW4pCkBAIC0zNDgsNyArMzYwLDcgQEAgc3RhdGljIGlu dCBfX21heWJlX3VudXNlZCBteDMxX2NvbmZpZyhzdHJ1Y3Qgc3BpX2lteF9kYXRhICpzcGlfaW14 LAogCXJlZyB8PSBzcGlfaW14X2Nsa2Rpdl8yKHNwaV9pbXgtPnNwaV9jbGssIGNvbmZpZy0+c3Bl ZWRfaHopIDw8CiAJCU1YMzFfQ1NQSUNUUkxfRFJfU0hJRlQ7CiAKLQlpZiAoY3B1X2lzX214MzUo KSkgeworCWlmIChpc19pbXgzNV9jc3BpKHNwaV9pbXgpKSB7CiAJCXJlZyB8PSAoY29uZmlnLT5i cHcgLSAxKSA8PCBNWDM1X0NTUElDVFJMX0JMX1NISUZUOwogCQlyZWcgfD0gTVgzMV9DU1BJQ1RS TF9TU0NUTDsKIAl9IGVsc2UgewpAQCAtMzYzLDggKzM3NSw4IEBAIHN0YXRpYyBpbnQgX19tYXli ZV91bnVzZWQgbXgzMV9jb25maWcoc3RydWN0IHNwaV9pbXhfZGF0YSAqc3BpX2lteCwKIAkJcmVn IHw9IE1YMzFfQ1NQSUNUUkxfU1NQT0w7CiAJaWYgKGNzIDwgMCkKIAkJcmVnIHw9IChjcyArIDMy KSA8PAotCQkJKGNwdV9pc19teDM1KCkgPyBNWDM1X0NTUElDVFJMX0NTX1NISUZUIDoKLQkJCQkJ IE1YMzFfQ1NQSUNUUkxfQ1NfU0hJRlQpOworCQkJKGlzX2lteDM1X2NzcGkoc3BpX2lteCkgPyBN WDM1X0NTUElDVFJMX0NTX1NISUZUIDoKKwkJCQkJCSAgTVgzMV9DU1BJQ1RSTF9DU19TSElGVCk7 CiAKIAl3cml0ZWwocmVnLCBzcGlfaW14LT5iYXNlICsgTVhDX0NTUElDVFJMKTsKIApAQCAtNDIz LDggKzQzNSw5IEBAIHN0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgbXgyMV9jb25maWcoc3RydWN0 IHNwaV9pbXhfZGF0YSAqc3BpX2lteCwKIHsKIAl1bnNpZ25lZCBpbnQgcmVnID0gTVgyMV9DU1BJ Q1RSTF9FTkFCTEUgfCBNWDIxX0NTUElDVFJMX01BU1RFUjsKIAlpbnQgY3MgPSBzcGlfaW14LT5j aGlwc2VsZWN0W2NvbmZpZy0+Y3NdOworCXVuc2lnbmVkIGludCBtYXggPSBpc19pbXgyN19jc3Bp KHNwaV9pbXgpID8gMTYgOiAxODsKIAotCXJlZyB8PSBzcGlfaW14X2Nsa2Rpdl8xKHNwaV9pbXgt PnNwaV9jbGssIGNvbmZpZy0+c3BlZWRfaHopIDw8CisJcmVnIHw9IHNwaV9pbXhfY2xrZGl2XzEo c3BpX2lteC0+c3BpX2NsaywgY29uZmlnLT5zcGVlZF9oeiwgbWF4KSA8PAogCQlNWDIxX0NTUElD VFJMX0RSX1NISUZUOwogCXJlZyB8PSBjb25maWctPmJwdyAtIDE7CiAKQEAgLTUxMyw1MSArNTI2 LDg0IEBAIHN0YXRpYyB2b2lkIF9fbWF5YmVfdW51c2VkIG14MV9yZXNldChzdHJ1Y3Qgc3BpX2lt eF9kYXRhICpzcGlfaW14KQogCXdyaXRlbCgxLCBzcGlfaW14LT5iYXNlICsgTVhDX1JFU0VUKTsK IH0KIAotLyoKLSAqIFRoZXNlIHZlcnNpb24gbnVtYmVycyBhcmUgdGFrZW4gZnJvbSB0aGUgRnJl ZXNjYWxlIGRyaXZlci4gIFVuZm9ydHVuYXRlbHkgaXQKLSAqIGRvZXNuJ3Qgc3VwcG9ydCBpLk1Y MSwgc28gdGhpcyBlbnRyeSBkb2Vzbid0IG1hdGNoIHRoZSBzY2hlbWUuIDotKAotICovCi1zdGF0 aWMgc3RydWN0IHNwaV9pbXhfZGV2dHlwZV9kYXRhIHNwaV9pbXhfZGV2dHlwZV9kYXRhW10gPSB7 Ci0jaWZkZWYgQ09ORklHX1NQSV9JTVhfVkVSX0lNWDEKLQlbU1BJX0lNWF9WRVJfSU1YMV0gPSB7 Ci0JCS5pbnRjdHJsID0gbXgxX2ludGN0cmwsCi0JCS5jb25maWcgPSBteDFfY29uZmlnLAotCQku dHJpZ2dlciA9IG14MV90cmlnZ2VyLAotCQkucnhfYXZhaWxhYmxlID0gbXgxX3J4X2F2YWlsYWJs ZSwKLQkJLnJlc2V0ID0gbXgxX3Jlc2V0LAotCQkuZmlmb3NpemUgPSA4LAotCX0sCi0jZW5kaWYK LSNpZmRlZiBDT05GSUdfU1BJX0lNWF9WRVJfMF8wCi0JW1NQSV9JTVhfVkVSXzBfMF0gPSB7Ci0J CS5pbnRjdHJsID0gbXgyMV9pbnRjdHJsLAotCQkuY29uZmlnID0gbXgyMV9jb25maWcsCi0JCS50 cmlnZ2VyID0gbXgyMV90cmlnZ2VyLAotCQkucnhfYXZhaWxhYmxlID0gbXgyMV9yeF9hdmFpbGFi bGUsCi0JCS5yZXNldCA9IG14MjFfcmVzZXQsCi0JCS5maWZvc2l6ZSA9IDgsCi0JfSwKLSNlbmRp ZgotI2lmZGVmIENPTkZJR19TUElfSU1YX1ZFUl8wXzQKLQlbU1BJX0lNWF9WRVJfMF80XSA9IHsK LQkJLmludGN0cmwgPSBteDMxX2ludGN0cmwsCi0JCS5jb25maWcgPSBteDMxX2NvbmZpZywKLQkJ LnRyaWdnZXIgPSBteDMxX3RyaWdnZXIsCi0JCS5yeF9hdmFpbGFibGUgPSBteDMxX3J4X2F2YWls YWJsZSwKLQkJLnJlc2V0ID0gbXgzMV9yZXNldCwKLQkJLmZpZm9zaXplID0gOCwKLQl9LAotI2Vu ZGlmCi0jaWZkZWYgQ09ORklHX1NQSV9JTVhfVkVSXzJfMwotCVtTUElfSU1YX1ZFUl8yXzNdID0g ewotCQkuaW50Y3RybCA9IG14NTFfZWNzcGlfaW50Y3RybCwKLQkJLmNvbmZpZyA9IG14NTFfZWNz cGlfY29uZmlnLAotCQkudHJpZ2dlciA9IG14NTFfZWNzcGlfdHJpZ2dlciwKLQkJLnJ4X2F2YWls YWJsZSA9IG14NTFfZWNzcGlfcnhfYXZhaWxhYmxlLAotCQkucmVzZXQgPSBteDUxX2Vjc3BpX3Jl c2V0LAotCQkuZmlmb3NpemUgPSA2NCwKLQl9LAotI2VuZGlmCitzdGF0aWMgc3RydWN0IHNwaV9p bXhfZGV2dHlwZV9kYXRhIGlteDFfY3NwaV9kZXZ0eXBlX2RhdGEgPSB7CisJLmludGN0cmwgPSBt eDFfaW50Y3RybCwKKwkuY29uZmlnID0gbXgxX2NvbmZpZywKKwkudHJpZ2dlciA9IG14MV90cmln Z2VyLAorCS5yeF9hdmFpbGFibGUgPSBteDFfcnhfYXZhaWxhYmxlLAorCS5yZXNldCA9IG14MV9y ZXNldCwKKwkuZGV2dHlwZSA9IElNWDFfQ1NQSSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc3BpX2lt eF9kZXZ0eXBlX2RhdGEgaW14MjFfY3NwaV9kZXZ0eXBlX2RhdGEgPSB7CisJLmludGN0cmwgPSBt eDIxX2ludGN0cmwsCisJLmNvbmZpZyA9IG14MjFfY29uZmlnLAorCS50cmlnZ2VyID0gbXgyMV90 cmlnZ2VyLAorCS5yeF9hdmFpbGFibGUgPSBteDIxX3J4X2F2YWlsYWJsZSwKKwkucmVzZXQgPSBt eDIxX3Jlc2V0LAorCS5kZXZ0eXBlID0gSU1YMjFfQ1NQSSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qg c3BpX2lteF9kZXZ0eXBlX2RhdGEgaW14MjdfY3NwaV9kZXZ0eXBlX2RhdGEgPSB7CisJLyogaS5t eDI3IGNzcGkgc2hhcmVzIHRoZSBmdW5jdGlvbnMgd2l0aCBpLm14MjEgb25lICovCisJLmludGN0 cmwgPSBteDIxX2ludGN0cmwsCisJLmNvbmZpZyA9IG14MjFfY29uZmlnLAorCS50cmlnZ2VyID0g bXgyMV90cmlnZ2VyLAorCS5yeF9hdmFpbGFibGUgPSBteDIxX3J4X2F2YWlsYWJsZSwKKwkucmVz ZXQgPSBteDIxX3Jlc2V0LAorCS5kZXZ0eXBlID0gSU1YMjdfQ1NQSSwKK307CisKK3N0YXRpYyBz dHJ1Y3Qgc3BpX2lteF9kZXZ0eXBlX2RhdGEgaW14MzFfY3NwaV9kZXZ0eXBlX2RhdGEgPSB7CisJ LmludGN0cmwgPSBteDMxX2ludGN0cmwsCisJLmNvbmZpZyA9IG14MzFfY29uZmlnLAorCS50cmln Z2VyID0gbXgzMV90cmlnZ2VyLAorCS5yeF9hdmFpbGFibGUgPSBteDMxX3J4X2F2YWlsYWJsZSwK KwkucmVzZXQgPSBteDMxX3Jlc2V0LAorCS5kZXZ0eXBlID0gSU1YMzFfQ1NQSSwKK307CisKK3N0 YXRpYyBzdHJ1Y3Qgc3BpX2lteF9kZXZ0eXBlX2RhdGEgaW14MzVfY3NwaV9kZXZ0eXBlX2RhdGEg PSB7CisJLyogaS5teDM1IGFuZCBsYXRlciBjc3BpIHNoYXJlcyB0aGUgZnVuY3Rpb25zIHdpdGgg aS5teDMxIG9uZSAqLworCS5pbnRjdHJsID0gbXgzMV9pbnRjdHJsLAorCS5jb25maWcgPSBteDMx X2NvbmZpZywKKwkudHJpZ2dlciA9IG14MzFfdHJpZ2dlciwKKwkucnhfYXZhaWxhYmxlID0gbXgz MV9yeF9hdmFpbGFibGUsCisJLnJlc2V0ID0gbXgzMV9yZXNldCwKKwkuZGV2dHlwZSA9IElNWDM1 X0NTUEksCit9OworCitzdGF0aWMgc3RydWN0IHNwaV9pbXhfZGV2dHlwZV9kYXRhIGlteDUxX2Vj c3BpX2RldnR5cGVfZGF0YSA9IHsKKwkuaW50Y3RybCA9IG14NTFfZWNzcGlfaW50Y3RybCwKKwku Y29uZmlnID0gbXg1MV9lY3NwaV9jb25maWcsCisJLnRyaWdnZXIgPSBteDUxX2Vjc3BpX3RyaWdn ZXIsCisJLnJ4X2F2YWlsYWJsZSA9IG14NTFfZWNzcGlfcnhfYXZhaWxhYmxlLAorCS5yZXNldCA9 IG14NTFfZWNzcGlfcmVzZXQsCisJLmRldnR5cGUgPSBJTVg1MV9FQ1NQSSwKK307CisKK3N0YXRp YyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlX2lkIHNwaV9pbXhfZGV2dHlwZVtdID0geworCXsKKwkJ Lm5hbWUgPSAiaW14MS1jc3BpIiwKKwkJLmRyaXZlcl9kYXRhID0gKGtlcm5lbF91bG9uZ190KSAm aW14MV9jc3BpX2RldnR5cGVfZGF0YSwKKwl9LCB7CisJCS5uYW1lID0gImlteDIxLWNzcGkiLAor CQkuZHJpdmVyX2RhdGEgPSAoa2VybmVsX3Vsb25nX3QpICZpbXgyMV9jc3BpX2RldnR5cGVfZGF0 YSwKKwl9LCB7CisJCS5uYW1lID0gImlteDI3LWNzcGkiLAorCQkuZHJpdmVyX2RhdGEgPSAoa2Vy bmVsX3Vsb25nX3QpICZpbXgyN19jc3BpX2RldnR5cGVfZGF0YSwKKwl9LCB7CisJCS5uYW1lID0g ImlteDMxLWNzcGkiLAorCQkuZHJpdmVyX2RhdGEgPSAoa2VybmVsX3Vsb25nX3QpICZpbXgzMV9j c3BpX2RldnR5cGVfZGF0YSwKKwl9LCB7CisJCS5uYW1lID0gImlteDM1LWNzcGkiLAorCQkuZHJp dmVyX2RhdGEgPSAoa2VybmVsX3Vsb25nX3QpICZpbXgzNV9jc3BpX2RldnR5cGVfZGF0YSwKKwl9 LCB7CisJCS5uYW1lID0gImlteDUxLWVjc3BpIiwKKwkJLmRyaXZlcl9kYXRhID0gKGtlcm5lbF91 bG9uZ190KSAmaW14NTFfZWNzcGlfZGV2dHlwZV9kYXRhLAorCX0sIHsKKwkJLyogc2VudGluZWwg Ki8KKwl9CiB9OwogCiBzdGF0aWMgdm9pZCBzcGlfaW14X2NoaXBzZWxlY3Qoc3RydWN0IHNwaV9k ZXZpY2UgKnNwaSwgaW50IGlzX2FjdGl2ZSkKQEAgLTU3NSw3ICs2MjEsNyBAQCBzdGF0aWMgdm9p ZCBzcGlfaW14X2NoaXBzZWxlY3Qoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSwgaW50IGlzX2FjdGl2 ZSkKIAogc3RhdGljIHZvaWQgc3BpX2lteF9wdXNoKHN0cnVjdCBzcGlfaW14X2RhdGEgKnNwaV9p bXgpCiB7Ci0Jd2hpbGUgKHNwaV9pbXgtPnR4ZmlmbyA8IHNwaV9pbXgtPmRldnR5cGVfZGF0YS0+ Zmlmb3NpemUpIHsKKwl3aGlsZSAoc3BpX2lteC0+dHhmaWZvIDwgc3BpX2lteF9nZXRfZmlmb3Np emUoc3BpX2lteCkpIHsKIAkJaWYgKCFzcGlfaW14LT5jb3VudCkKIAkJCWJyZWFrOwogCQlzcGlf aW14LT50eChzcGlfaW14KTsKQEAgLTY5MSw0MiArNzM3LDYgQEAgc3RhdGljIHZvaWQgc3BpX2lt eF9jbGVhbnVwKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCiB7CiB9CiAKLXN0YXRpYyBzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlX2lkIHNwaV9pbXhfZGV2dHlwZVtdID0gewotCXsKLQkJLm5hbWUgPSAi aW14MS1jc3BpIiwKLQkJLmRyaXZlcl9kYXRhID0gU1BJX0lNWF9WRVJfSU1YMSwKLQl9LCB7Ci0J CS5uYW1lID0gImlteDIxLWNzcGkiLAotCQkuZHJpdmVyX2RhdGEgPSBTUElfSU1YX1ZFUl8wXzAs Ci0JfSwgewotCQkubmFtZSA9ICJpbXgyNS1jc3BpIiwKLQkJLmRyaXZlcl9kYXRhID0gU1BJX0lN WF9WRVJfMF80LAotCX0sIHsKLQkJLm5hbWUgPSAiaW14MjctY3NwaSIsCi0JCS5kcml2ZXJfZGF0 YSA9IFNQSV9JTVhfVkVSXzBfMCwKLQl9LCB7Ci0JCS5uYW1lID0gImlteDMxLWNzcGkiLAotCQku ZHJpdmVyX2RhdGEgPSBTUElfSU1YX1ZFUl8wXzQsCi0JfSwgewotCQkubmFtZSA9ICJpbXgzNS1j c3BpIiwKLQkJLmRyaXZlcl9kYXRhID0gU1BJX0lNWF9WRVJfMF80LAotCX0sIHsKLQkJLm5hbWUg PSAiaW14NTEtY3NwaSIsCi0JCS5kcml2ZXJfZGF0YSA9IFNQSV9JTVhfVkVSXzBfNCwKLQl9LCB7 Ci0JCS5uYW1lID0gImlteDUxLWVjc3BpIiwKLQkJLmRyaXZlcl9kYXRhID0gU1BJX0lNWF9WRVJf Ml8zLAotCX0sIHsKLQkJLm5hbWUgPSAiaW14NTMtY3NwaSIsCi0JCS5kcml2ZXJfZGF0YSA9IFNQ SV9JTVhfVkVSXzBfNCwKLQl9LCB7Ci0JCS5uYW1lID0gImlteDUzLWVjc3BpIiwKLQkJLmRyaXZl cl9kYXRhID0gU1BJX0lNWF9WRVJfMl8zLAotCX0sIHsKLQkJLyogc2VudGluZWwgKi8KLQl9Ci19 OwotCiBzdGF0aWMgaW50IF9fZGV2aW5pdCBzcGlfaW14X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYpCiB7CiAJc3RydWN0IHNwaV9pbXhfbWFzdGVyICpteGNfcGxhdGZvcm1faW5m bzsKQEAgLTc3OSw3ICs3ODksNyBAQCBzdGF0aWMgaW50IF9fZGV2aW5pdCBzcGlfaW14X3Byb2Jl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJaW5pdF9jb21wbGV0aW9uKCZzcGlfaW14 LT54ZmVyX2RvbmUpOwogCiAJc3BpX2lteC0+ZGV2dHlwZV9kYXRhID0KLQkJJnNwaV9pbXhfZGV2 dHlwZV9kYXRhW3BkZXYtPmlkX2VudHJ5LT5kcml2ZXJfZGF0YV07CisJCShzdHJ1Y3Qgc3BpX2lt eF9kZXZ0eXBlX2RhdGEgKikgcGRldi0+aWRfZW50cnktPmRyaXZlcl9kYXRhOwogCiAJcmVzID0g cGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKIAlpZiAoIXJl cykgewotLSAKMS43LjQuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZGV2aWNldHJlZS1kaXNjdXNzIG1haWxpbmcgbGlzdApkZXZpY2V0cmVlLWRpc2N1 c3NAbGlzdHMub3psYWJzLm9yZwpodHRwczovL2xpc3RzLm96bGFicy5vcmcvbGlzdGluZm8vZGV2 aWNldHJlZS1kaXNjdXNzCg==