From mboxrd@z Thu Jan 1 00:00:00 1970 From: "=?utf-8?B?6ZmI5Y2O5omN?=" Subject: Re:[PATCH 1/3] MIPS: Cleanup Loongson-2F's gpio driver Date: Wed, 1 Apr 2015 10:22:55 +0800 Message-ID: References: <1427854809-28472-1-git-send-email-chenhc@lemote.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from smtpbg299.qq.com ([184.105.67.99]:48199 "EHLO smtpbg299.qq.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752335AbbDACXG (ORCPT ); Tue, 31 Mar 2015 22:23:06 -0400 In-Reply-To: <1427854809-28472-1-git-send-email-chenhc@lemote.com> Sender: linux-gpio-owner@vger.kernel.org List-Id: linux-gpio@vger.kernel.org To: =?utf-8?B?SHVhY2FpIENoZW4=?= , =?utf-8?B?TGludXMgV2FsbGVpag==?= Cc: =?utf-8?B?QWxleGFuZHJlIENvdXJib3Q=?= , =?utf-8?B?bGludXgtZ3Bpbw==?= , =?utf-8?B?RnV4aW4gWmhhbmc=?= , =?utf-8?B?d3V6aGFuZ2ppbg==?= SSdtIHNvcnJ5IHRoYXQgSSBmb3Jnb3QgdG8gYWRkICdWMicgdG8gdGhlIHBhdGNoIHRpdGxl Li4uDQogDQpIdWFjYWkNCiANCi0tLS0tLS0tLS0tLS0tLS0tLSBPcmlnaW5hbCAtLS0tLS0t LS0tLS0tLS0tLS0NCkZyb206ICAiSHVhY2FpIENoZW4iPGNoZW5oY0BsZW1vdGUuY29tPjsN CkRhdGU6ICBXZWQsIEFwciAxLCAyMDE1IDEwOjIwIEFNDQpUbzogICJMaW51cyBXYWxsZWlq IjxsaW51cy53YWxsZWlqQGxpbmFyby5vcmc+OyANCkNjOiAgIkFsZXhhbmRyZSBDb3VyYm90 IjxnbnVyb3VAZ21haWwuY29tPjsgImxpbnV4LWdwaW8iPGxpbnV4LWdwaW9Admdlci5rZXJu ZWwub3JnPjsgIkZ1eGluIFpoYW5nIjx6aGFuZ2Z4QGxlbW90ZS5jb20+OyAid3V6aGFuZ2pp biI8d3V6aGFuZ2ppbkBnbWFpbC5jb20+OyAiSHVhY2FpIENoZW4iPGNoZW5oY0BsZW1vdGUu Y29tPjsgDQpTdWJqZWN0OiAgW1BBVENIIDEvM10gTUlQUzogQ2xlYW51cCBMb29uZ3Nvbi0y RidzIGdwaW8gZHJpdmVyDQoNCiANClRoaXMgY2xlYW51cCBpcyBwcmVwYXJlIHRvIG1vdmUg dGhlIGRyaXZlciB0byBkcml2ZXJzL2dwaW8uIEN1c3RvbQ0KZGVmaW5pdGlvbnMgb2YgZ3Bp b19nZXRfdmFsdWUoKS9ncGlvX3NldF92YWx1ZSgpIGFyZSBkcm9wcGVkLg0KDQpBY2tlZC1i eTogUmFsZiBCYWVjaGxlIDxyYWxmQGxpbnV4LW1pcHMub3JnPg0KU2lnbmVkLW9mZi1ieTog SHVhY2FpIENoZW4gPGNoZW5oY0BsZW1vdGUuY29tPg0KLS0tDQogYXJjaC9taXBzL2luY2x1 ZGUvYXNtL21hY2gtbG9vbmdzb24vZ3Bpby5oIHwgICAxNSArKystLS0NCiBhcmNoL21pcHMv bG9vbmdzb24vY29tbW9uL2dwaW8uYyAgICAgICAgICAgfCAgIDgwICsrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLS0NCiAyIGZpbGVzIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDY0 IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL2luY2x1ZGUvYXNtL21h Y2gtbG9vbmdzb24vZ3Bpby5oIGIvYXJjaC9taXBzL2luY2x1ZGUvYXNtL21hY2gtbG9vbmdz b24vZ3Bpby5oDQppbmRleCAyMTFhN2I3Li5iM2IyMTY5IDEwMDY0NA0KLS0tIGEvYXJjaC9t aXBzL2luY2x1ZGUvYXNtL21hY2gtbG9vbmdzb24vZ3Bpby5oDQorKysgYi9hcmNoL21pcHMv aW5jbHVkZS9hc20vbWFjaC1sb29uZ3Nvbi9ncGlvLmgNCkBAIC0xLDggKzEsOSBAQA0KIC8q DQotICogU1RMUzJGIEdQSU8gU3VwcG9ydA0KKyAqIExvb25nc29uIEdQSU8gU3VwcG9ydA0K ICAqDQogICogQ29weXJpZ2h0IChjKSAyMDA4ICBSaWNoYXJkIExpdSwgU1RNaWNyb2VsZWN0 cm9uaWNzIDxyaWNoYXJkLmxpdUBzdC5jb20+DQogICogQ29weXJpZ2h0IChjKSAyMDA4LTIw MTAgIEFybmF1ZCBQYXRhcmQgPGFwYXRhcmRAbWFuZHJpdmEuY29tPg0KKyAqIENvcHlyaWdo dCAoYykgMjAxNCAgSHVhY2FpIENoZW4gPGNoZW5oY0BsZW1vdGUuY29tPg0KICAqDQogICog VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkNCiAgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KQEAgLTEwLDE0ICsxMSwxNCBA QA0KICAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQogICovDQogDQot I2lmbmRlZiBfX1NUTFMyRl9HUElPX0gNCi0jZGVmaW5lIF9fU1RMUzJGX0dQSU9fSA0KKyNp Zm5kZWYgX19MT09OR1NPTl9HUElPX0gNCisjZGVmaW5lIF9fTE9PTkdTT05fR1BJT19IDQog DQogI2luY2x1ZGUgPGFzbS1nZW5lcmljL2dwaW8uaD4NCiANCi1leHRlcm4gdm9pZCBncGlv X3NldF92YWx1ZSh1bnNpZ25lZCBncGlvLCBpbnQgdmFsdWUpOw0KLWV4dGVybiBpbnQgZ3Bp b19nZXRfdmFsdWUodW5zaWduZWQgZ3Bpbyk7DQotZXh0ZXJuIGludCBncGlvX2NhbnNsZWVw KHVuc2lnbmVkIGdwaW8pOw0KKyNkZWZpbmUgZ3Bpb19nZXRfdmFsdWUgX19ncGlvX2dldF92 YWx1ZQ0KKyNkZWZpbmUgZ3Bpb19zZXRfdmFsdWUgX19ncGlvX3NldF92YWx1ZQ0KKyNkZWZp bmUgZ3Bpb19jYW5zbGVlcCBfX2dwaW9fY2Fuc2xlZXANCiANCiAvKiBUaGUgY2hpcCBjYW4g ZG8gaW50ZXJydXB0DQogICogYnV0IGl0IGhhcyBub3QgYmVlbiB0ZXN0ZWQgYW5kIGRvYyBu b3QgY2xlYXINCkBAIC0zMiw0ICszMyw0IEBAIHN0YXRpYyBpbmxpbmUgaW50IGlycV90b19n cGlvKGludCBncGlvKQ0KIAlyZXR1cm4gLUVJTlZBTDsNCiB9DQogDQotI2VuZGlmCQkJCS8q IF9fU1RMUzJGX0dQSU9fSCAqLw0KKyNlbmRpZgkvKiBfX0xPT05HU09OX0dQSU9fSCAqLw0K ZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9sb29uZ3Nvbi9jb21tb24vZ3Bpby5jIGIvYXJjaC9t aXBzL2xvb25nc29uL2NvbW1vbi9ncGlvLmMNCmluZGV4IDI5ZGJhYTIuLmI0ZTY5ZTAgMTAw NjQ0DQotLS0gYS9hcmNoL21pcHMvbG9vbmdzb24vY29tbW9uL2dwaW8uYw0KKysrIGIvYXJj aC9taXBzL2xvb25nc29uL2NvbW1vbi9ncGlvLmMNCkBAIC0yNCw2MyArMjQsMTEgQEANCiAN CiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGdwaW9fbG9jayk7DQogDQotaW50IGdwaW9fZ2V0 X3ZhbHVlKHVuc2lnbmVkIGdwaW8pDQotew0KLQl1MzIgdmFsOw0KLQl1MzIgbWFzazsNCi0N Ci0JaWYgKGdwaW8gPj0gU1RMUzJGX05fR1BJTykNCi0JCXJldHVybiBfX2dwaW9fZ2V0X3Zh bHVlKGdwaW8pOw0KLQ0KLQltYXNrID0gMSA8PCAoZ3BpbyArIFNUTFMyRl9HUElPX0lOX09G RlNFVCk7DQotCXNwaW5fbG9jaygmZ3Bpb19sb2NrKTsNCi0JdmFsID0gTE9PTkdTT05fR1BJ T0RBVEE7DQotCXNwaW5fdW5sb2NrKCZncGlvX2xvY2spOw0KLQ0KLQlyZXR1cm4gKHZhbCAm IG1hc2spICE9IDA7DQotfQ0KLUVYUE9SVF9TWU1CT0woZ3Bpb19nZXRfdmFsdWUpOw0KLQ0K LXZvaWQgZ3Bpb19zZXRfdmFsdWUodW5zaWduZWQgZ3BpbywgaW50IHN0YXRlKQ0KLXsNCi0J dTMyIHZhbDsNCi0JdTMyIG1hc2s7DQotDQotCWlmIChncGlvID49IFNUTFMyRl9OX0dQSU8p IHsNCi0JCV9fZ3Bpb19zZXRfdmFsdWUoZ3Bpbywgc3RhdGUpOw0KLQkJcmV0dXJuIDsNCi0J fQ0KLQ0KLQltYXNrID0gMSA8PCBncGlvOw0KLQ0KLQlzcGluX2xvY2soJmdwaW9fbG9jayk7 DQotCXZhbCA9IExPT05HU09OX0dQSU9EQVRBOw0KLQlpZiAoc3RhdGUpDQotCQl2YWwgfD0g bWFzazsNCi0JZWxzZQ0KLQkJdmFsICY9ICh+bWFzayk7DQotCUxPT05HU09OX0dQSU9EQVRB ID0gdmFsOw0KLQlzcGluX3VubG9jaygmZ3Bpb19sb2NrKTsNCi19DQotRVhQT1JUX1NZTUJP TChncGlvX3NldF92YWx1ZSk7DQotDQotaW50IGdwaW9fY2Fuc2xlZXAodW5zaWduZWQgZ3Bp bykNCi17DQotCWlmIChncGlvIDwgU1RMUzJGX05fR1BJTykNCi0JCXJldHVybiAwOw0KLQll bHNlDQotCQlyZXR1cm4gX19ncGlvX2NhbnNsZWVwKGdwaW8pOw0KLX0NCi1FWFBPUlRfU1lN Qk9MKGdwaW9fY2Fuc2xlZXApOw0KLQ0KIHN0YXRpYyBpbnQgbHMyZl9ncGlvX2RpcmVjdGlv bl9pbnB1dChzdHJ1Y3QgZ3Bpb19jaGlwICpjaGlwLCB1bnNpZ25lZCBncGlvKQ0KIHsNCiAJ dTMyIHRlbXA7DQogCXUzMiBtYXNrOw0KIA0KLQlpZiAoZ3BpbyA+PSBTVExTMkZfTl9HUElP KQ0KLQkJcmV0dXJuIC1FSU5WQUw7DQotDQogCXNwaW5fbG9jaygmZ3Bpb19sb2NrKTsNCiAJ bWFzayA9IDEgPDwgZ3BpbzsNCiAJdGVtcCA9IExPT05HU09OX0dQSU9JRTsNCkBAIC05Nyw5 ICs0NSw2IEBAIHN0YXRpYyBpbnQgbHMyZl9ncGlvX2RpcmVjdGlvbl9vdXRwdXQoc3RydWN0 IGdwaW9fY2hpcCAqY2hpcCwNCiAJdTMyIHRlbXA7DQogCXUzMiBtYXNrOw0KIA0KLQlpZiAo Z3BpbyA+PSBTVExTMkZfTl9HUElPKQ0KLQkJcmV0dXJuIC1FSU5WQUw7DQotDQogCWdwaW9f c2V0X3ZhbHVlKGdwaW8sIGxldmVsKTsNCiAJc3Bpbl9sb2NrKCZncGlvX2xvY2spOw0KIAlt YXNrID0gMSA8PCBncGlvOw0KQEAgLTExMywxMyArNTgsMzMgQEAgc3RhdGljIGludCBsczJm X2dwaW9fZGlyZWN0aW9uX291dHB1dChzdHJ1Y3QgZ3Bpb19jaGlwICpjaGlwLA0KIA0KIHN0 YXRpYyBpbnQgbHMyZl9ncGlvX2dldF92YWx1ZShzdHJ1Y3QgZ3Bpb19jaGlwICpjaGlwLCB1 bnNpZ25lZCBncGlvKQ0KIHsNCi0JcmV0dXJuIGdwaW9fZ2V0X3ZhbHVlKGdwaW8pOw0KKwl1 MzIgdmFsOw0KKwl1MzIgbWFzazsNCisNCisJbWFzayA9IDEgPDwgKGdwaW8gKyBTVExTMkZf R1BJT19JTl9PRkZTRVQpOw0KKwlzcGluX2xvY2soJmdwaW9fbG9jayk7DQorCXZhbCA9IExP T05HU09OX0dQSU9EQVRBOw0KKwlzcGluX3VubG9jaygmZ3Bpb19sb2NrKTsNCisNCisJcmV0 dXJuICh2YWwgJiBtYXNrKSAhPSAwOw0KIH0NCiANCiBzdGF0aWMgdm9pZCBsczJmX2dwaW9f c2V0X3ZhbHVlKHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsDQogCQl1bnNpZ25lZCBncGlvLCBp bnQgdmFsdWUpDQogew0KLQlncGlvX3NldF92YWx1ZShncGlvLCB2YWx1ZSk7DQorCXUzMiB2 YWw7DQorCXUzMiBtYXNrOw0KKw0KKwltYXNrID0gMSA8PCBncGlvOw0KKw0KKwlzcGluX2xv Y2soJmdwaW9fbG9jayk7DQorCXZhbCA9IExPT05HU09OX0dQSU9EQVRBOw0KKwlpZiAodmFs dWUpDQorCQl2YWwgfD0gbWFzazsNCisJZWxzZQ0KKwkJdmFsICY9ICh+bWFzayk7DQorCUxP T05HU09OX0dQSU9EQVRBID0gdmFsOw0KKwlzcGluX3VubG9jaygmZ3Bpb19sb2NrKTsNCiB9 DQogDQogc3RhdGljIHN0cnVjdCBncGlvX2NoaXAgbHMyZl9jaGlwID0gew0KQEAgLTEzMCw2 ICs5NSw3IEBAIHN0YXRpYyBzdHJ1Y3QgZ3Bpb19jaGlwIGxzMmZfY2hpcCA9IHsNCiAJLnNl dAkJCT0gbHMyZl9ncGlvX3NldF92YWx1ZSwNCiAJLmJhc2UJCQk9IDAsDQogCS5uZ3BpbwkJ CT0gU1RMUzJGX05fR1BJTywNCisJLmNhbl9zbGVlcAkJPSBmYWxzZSwNCiB9Ow0KIA0KIHN0 YXRpYyBpbnQgX19pbml0IGxzMmZfZ3Bpb19zZXR1cCh2b2lkKQ0KLS0gDQoxLjcuNy4z