From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Subject: Re: [PATCH 1/3] mfd: Add realtek USB card reader driver Date: Thu, 16 Jan 2014 16:54:09 +0800 Message-ID: <52D79E31.6000300@realtek.com> References: <1389685656-880-1-git-send-email-rogerable@realtek.com> <1389685656-880-2-git-send-email-rogerable@realtek.com> <20140114130409.GB11820@lee--X1> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20140114130409.GB11820@lee--X1> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: driverdev-devel-bounces@linuxdriverproject.org To: Lee Jones Cc: Samuel Ortiz , Alex Dubov , Greg Kroah-Hartman , "driverdev-devel@linuxdriverproject.org" , "linux-mmc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Wei_wang , Chris Ball , Dan Carpenter , Maxim Levitsky List-Id: linux-mmc@vger.kernel.org T24gMDEvMTQvMjAxNCAwOTowNCBQTSwgTGVlIEpvbmVzIHdyb3RlOgo+PiBGcm9tOiBSb2dlciBU c2VuZyA8cm9nZXJhYmxlQHJlYWx0ZWsuY29tPgo+Pgo+PiBSZWFsdGVrIFVTQiBjYXJkIHJlYWRl ciBwcm92aWRlcyBhIGNoYW5uZWwgdG8gdHJhbnNmZXIgY29tbWFuZCBvciBkYXRhIHRvIGZsYXNo Cj4+IG1lbW9yeSBjYXJkcy4gVGhpcyBkcml2ZXIgZXhwb3J0cyBob3N0IGluc3RhbmNlcyBmb3Ig bW1jIGFuZCBtZW1zdGljayBzdWJzeXN0ZW1zCj4+IGFuZCBoYW5kbGVzIGJhc2ljIHdvcmtzLgo+ Pgo+PiBTaWduZWQtb2ZmLWJ5OiBSb2dlciBUc2VuZyA8cm9nZXJhYmxlQHJlYWx0ZWsuY29tPgoK W3NuaXBdCgo+PiArc3RhdGljIGludCBydHN4X3VzYl9idWxrX3RyYW5zZmVyX3NnbGlzdChzdHJ1 Y3QgcnRzeF91Y3IgKnVjciwKPj4gKyAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcGlwZSwgc3Ry dWN0IHNjYXR0ZXJsaXN0ICpzZywgaW50IG51bV9zZywKPj4gKyAgICAgICAgICAgICB1bnNpZ25l ZCBpbnQgbGVuZ3RoLCB1bnNpZ25lZCBpbnQgKmFjdF9sZW4sIGludCB0aW1lb3V0KQo+PiArewo+ PiArICAgICBpbnQgcmV0Owo+PiArCj4+ICsgICAgIGRldl9kYmcoJnVjci0+cHVzYl9pbnRmLT5k ZXYsICIlczogeGZlciAldSBieXRlcywgJWQgZW50cmllc1xuIiwKPj4gKyAgICAgICAgICAgICAg ICAgICAgIF9fZnVuY19fLCBsZW5ndGgsIG51bV9zZyk7Cj4+ICsgICAgIHJldCA9IHVzYl9zZ19p bml0KCZ1Y3ItPmN1cnJlbnRfc2csIHVjci0+cHVzYl9kZXYsIHBpcGUsIDAsCj4+ICsgICAgICAg ICAgICAgICAgICAgICBzZywgbnVtX3NnLCBsZW5ndGgsIEdGUF9OT0lPKTsKPj4gKyAgICAgaWYg KHJldCkKPj4gKyAgICAgICAgICAgICByZXR1cm4gcmV0Owo+PiArCj4+ICsgICAgIHVjci0+c2df dGltZXIuZXhwaXJlcyA9IGppZmZpZXMgKyBtc2Vjc190b19qaWZmaWVzKHRpbWVvdXQpOwo+PiAr ICAgICBhZGRfdGltZXIoJnVjci0+c2dfdGltZXIpOwo+PiArICAgICB1c2Jfc2dfd2FpdCgmdWNy LT5jdXJyZW50X3NnKTsKPj4gKyAgICAgZGVsX3RpbWVyKCZ1Y3ItPnNnX3RpbWVyKTsKPj4gKwo+ PiArICAgICBpZiAoYWN0X2xlbikKPj4gKyAgICAgICAgICAgICAqYWN0X2xlbiA9IHVjci0+Y3Vy cmVudF9zZy5ieXRlczsKPj4gKwo+PiArICAgICByZXR1cm4gdWNyLT5jdXJyZW50X3NnLnN0YXR1 czsKPj4gK30KPgo+IENvZGUgbG9va3MgZmluZSwgYnV0IHNob3VsZG4ndCB0aGlzIGxpdmUgYW4g YSBVU0IgZHJpdmVyPwo+CldlIGhhdmUgc3R1ZGllZCBkcml2ZXJzIGluIHVzYi9zdG9yYWdlLCB0 aGUgcGxhY2UgdGhhdCBtb3N0IGxpa2VseSB0byAKcHV0IHRoZSBkcml2ZXIuIEFsbCBvZiB0aGVt IGFyZSBmb3IgU1RBTkRBUkQgdXNiIG1hc3Mgc3RvcmFnZSAKY2xhc3Moc29tZXRoaW5nIGxpa2Ug VVNCX0NMQVNTX01BU1NfU1RPUkFHRSkuIEJ1dCB0aGlzIGlzIG5vdCB0aGUgc2FtZSAKY2FzZS4g VGhpcyBkcml2ZXIgaXMgZm9yIG91ciB2ZW5kb3ItY2xhc3MgZGV2aWNlIHdpdGggY29tcGxldGVs eSAKZGlmZmVyZW50IHByb3RvY29sLiBJdCBpcyByZWFsbHkgYW4gVVNCIGludGVyZmFjZWQgZmxh c2ggY2FyZCBjb21tYW5kIApjb252ZXJ0ZXIob3IgY2hhbm5lbCkgZGV2aWNlIHJhdGhlciB0aGFu IGEgcmVhbCBzdG9yYWdlLiBJdCBhbHNvIGhhcyB0d28gCmRlcml2ZWQgbW9kdWxlcyhydHN4X3Vz Yl9zZG1tYywgcnRzeF91c2JfbWVtc3RpY2spIGZvciBvdGhlciB0d28gc3Vic3lzdGVtcy4KCldl IGFsc28gaGF2ZSBhbm90aGVyIGRyaXZlcjogcnRzeF9wY3IuYyByZXNpZGVudCBpbiBtZmQvIGZv ciBzaW1pbGFyIApkZXZpY2VzIGJ1dCBvZiBQQ0llIGludGVyZmFjZS4gSXQgaXMgbmF0dXJlIGZv ciB1cyB0byBjaG9vc2UgdGhlIHNhbWUgCnBsYWNlIGZvciB0aGlzIHZhcmlhbnQuCgpbc25pcF0K Cj4+ICsgICAgIH0KPj4gKwo+PiArICAgICAvKiBzZXQgVVNCIGludGVyZmFjZSBkYXRhICovCj4+ ICsgICAgIHVzYl9zZXRfaW50ZmRhdGEoaW50ZiwgdWNyKTsKPj4gKwo+PiArICAgICB1Y3ItPnZl bmRvcl9pZCA9IGlkLT5pZFZlbmRvcjsKPj4gKyAgICAgdWNyLT5wcm9kdWN0X2lkID0gaWQtPmlk UHJvZHVjdDsKPj4gKyAgICAgdWNyLT5jbWRfYnVmID0gdWNyLT5yc3BfYnVmID0gdWNyLT5pb2J1 ZjsKPj4gKwo+PiArICAgICBtdXRleF9pbml0KCZ1Y3ItPmRldl9tdXRleCk7Cj4+ICsKPj4gKyAg ICAgdWNyLT5wdXNiX2ludGYgPSBpbnRmOwo+PiArCj4+ICsgICAgIC8qIGluaXRpYWxpemUgKi8K Pj4gKyAgICAgcmV0ID0gcnRzeF91c2JfaW5pdF9jaGlwKHVjcik7Cj4+ICsgICAgIGlmIChyZXQp Cj4+ICsgICAgICAgICAgICAgZ290byBvdXRfaW5pdF9mYWlsOwo+PiArCj4+ICsgICAgIGZvciAo aSA9IDA7IGkgPCBBUlJBWV9TSVpFKHJ0c3hfdXNiX2NlbGxzKTsgaSsrKSB7Cj4+ICsgICAgICAg ICAgICAgcnRzeF91c2JfY2VsbHNbaV0ucGxhdGZvcm1fZGF0YSA9ICZ1Y3I7Cj4KPiBZb3UndmUg YWxyZWFkeSBwdXQgdGhpcyBpbiB5b3VyIGRydmRhdGEgKG9yIG50ZmRhdGEsIGFzIGl0J3MgY2Fs bGVkCj4gaGVyZSkuIFdoeSBkbyB5b3UgYWxzbyBuZWVkIGl0IGluIHBsYXRmb3JtX2RhdGE/CgpE ZXJpdmVkIG1vZHVsZXMgcnRzeF91c2Jfc2RtbWMgYW5kIHJ0c3hfdXNiX21lbXN0aWNrIHdpbGwg cmV0cmlldmUgdGhpcyAKZnJvbSBwbGF0Zm9ybV9kYXRhLiBUaGV5IHdpbGwgbm90IGJlIGF3YXJl IG9mIHVzYiBpbnRlcmZhY2Ugc3RydWN0LgoKW3NuaXBdCgo+PiArI2lmZGVmIENPTkZJR19QTQo+ PiArc3RhdGljIGludCBydHN4X3VzYl9zdXNwZW5kKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRm LCBwbV9tZXNzYWdlX3QgbWVzc2FnZSkKPj4gK3sKPj4gKyAgICAgc3RydWN0IHJ0c3hfdWNyICp1 Y3IgPQo+PiArICAgICAgICAgICAgIChzdHJ1Y3QgcnRzeF91Y3IgKil1c2JfZ2V0X2ludGZkYXRh KGludGYpOwo+PiArCj4+ICsgICAgIGRldl9kYmcoJmludGYtPmRldiwgIiVzIGNhbGxlZCB3aXRo IHBtIG1lc3NhZ2UgMHglMDR1XG4iLAo+PiArICAgICAgICAgICAgICAgICAgICAgX19mdW5jX18s IG1lc3NhZ2UuZXZlbnQpOwo+PiArCj4+ICsgICAgIG11dGV4X2xvY2soJnVjci0+ZGV2X211dGV4 KTsKPj4gKyAgICAgcnRzeF91c2JfdHVybl9vZmZfbGVkKHVjcik7Cj4KPiBUaGF0J3MgaXQ/IFRo YXQncyBhbGwgeW91IGRvIGR1cmluZyBzdXNwZW5kPyA6KQo+Clllcy4gVGhlIHJlc3Qgb2YgcG93 ZXIgdGhpbmdzIGxpa2UgdHVybmluZy1vZmYgY2FyZCBwb3dlciBvciBjbG9jayAKc2hvdWxkIGJl IHRha2VuIGNhcmUgYnkgY29yZXMgb2YgZGVyaXZlZCBtb2R1bGVzKG1tYywgbWVtc3RpY2spLiBX ZSBwdXQgCm9ubHkgb25lIHRhc2sgaGVyZSB0byBtYWtlIHN1cmUgdGhlIExFRCBpcyBvZmYsIHBy ZXZlbnRpbmcgYW55IG1vZHVsZSAKZnJvbSB0dXJuIGl0IG9uIGJ1dCBkb2Vzbid0IHR1cm4gb2Zm IGJlZm9yZSBzdXNwZW5kLgo+PiArICAgICBtdXRleF91bmxvY2soJnVjci0+ZGV2X211dGV4KTsK Pj4gKyAgICAgcmV0dXJuIDA7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBpbnQgcnRzeF91c2JfcmVz dW1lKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKQo+PiArewo+Cj4gRG9uJ3QgeW91IHdhbnQg dG8gdHVybiB0aGUgTEVEIGJhY2sgb24gaGVyZT8KPgo+IE9yIHdpbGwgdGhhdCBoYXBwZW4gYXV0 b21hdGljYWxseSB3aGVuIHlvdSB3cml0ZS9yZWFkIHRvL2Zyb20gaXQgYWdhaW4/Cj4KWWVzLCBp dCB3b3VsZCBibGluayBhZ2FpbiBkdXJpbmcgdXNlLiBUaGUgdHVybi1vZmYgYmVmb3JlIHN1c3Bl bmQgaXMgbm90IAphIHBlcm1hbmVudCBwb3dlciBvZmYuCj4+ICsgICAgIHJldHVybiAwOwo+PiAr fQo+PiArCj4+ICtzdGF0aWMgaW50IHJ0c3hfdXNiX3Jlc2V0X3Jlc3VtZShzdHJ1Y3QgdXNiX2lu dGVyZmFjZSAqaW50ZikKPj4gK3sKPj4gKyAgICAgc3RydWN0IHJ0c3hfdWNyICp1Y3IgPQo+PiAr ICAgICAgICAgICAgIChzdHJ1Y3QgcnRzeF91Y3IgKil1c2JfZ2V0X2ludGZkYXRhKGludGYpOwo+ PiArCj4+ICsgICAgIHJ0c3hfdXNiX3Jlc2V0X2NoaXAodWNyKTsKPj4gKyAgICAgcmV0dXJuIDA7 Cj4+ICt9Cj4+ICsKPj4gKyNlbHNlIC8qIENPTkZJR19QTSAqLwo+PiArCj4+ICsjZGVmaW5lIHJ0 c3hfdXNiX3N1c3BlbmQgTlVMTAo+PiArI2RlZmluZSBydHN4X3VzYl9yZXN1bWUgTlVMTAo+PiAr I2RlZmluZSBydHN4X3VzYl9yZXNldF9yZXN1bWUgTlVMTAo+PiArCj4+ICsjZW5kaWYgLyogQ09O RklHX1BNICovCj4+ICsKPj4gKwo+PiArc3RhdGljIGludCBydHN4X3VzYl9wcmVfcmVzZXQoc3Ry dWN0IHVzYl9pbnRlcmZhY2UgKmludGYpCj4+ICt7Cj4+ICsgICAgIHN0cnVjdCBydHN4X3VjciAq dWNyID0gKHN0cnVjdCBydHN4X3VjciAqKXVzYl9nZXRfaW50ZmRhdGEoaW50Zik7Cj4+ICsKPj4g KyAgICAgbXV0ZXhfbG9jaygmdWNyLT5kZXZfbXV0ZXgpOwo+Cj4gSXMgdGhpcyBub3JtYWw/CgpZ ZXMuIEl0IGlzIHVzZWQgdG8gcHJldmVudCBjb21tYW5kcyBkdXJpbmcgcG9ydCByZXNldC4gU2Ft ZSB0byB0aGUgb25lIAppbiB1c2Ivc3RvcmFnZS91c2IuYy4KCltzbmlwXQo+Cj4+ICsjaW5jbHVk ZSA8bGludXgvdXNiLmg+Cj4+ICsKPj4gKy8qIHJlbGF0ZWQgbW9kdWxlIG5hbWVzICovCj4+ICsj ZGVmaW5lIFJUU1hfVVNCX1NEX0NBUkQgICAgICAgICAgICAgMAo+PiArI2RlZmluZSBSVFNYX1VT Ql9NU19DQVJEICAgICAgICAgICAgIDEKPj4gKwo+PiArI2RlZmluZSBEUlZfTkFNRV9SVFNYX1VT QiAgICAgICAgICAgICJydHN4X3VzYiIKPj4gKyNkZWZpbmUgRFJWX05BTUVfUlRTWF9VU0JfU0RN TUMgICAgICAgICAgICAgICJydHN4X3VzYl9zZG1tYyIKPj4gKyNkZWZpbmUgRFJWX05BTUVfUlRT WF9VU0JfTVMgICAgICAgICAicnRzeF91c2JfbXMiCj4KPiBDYW4geW91IGp1c3QgcHV0IHRoZSBu YW1lcyBpbiB0aGUgY29ycmVjdCBwbGFjZXMgcGxlYXNlPwo+CkRvIHlvdSBtZWFuIGp1c3QgcmVt b3ZlIHRoZXNlIGRlZmluaXRpb25zIGFuZCBmaWxsIHRoZSBzdHJpbmcgZGlyZWN0bHkgCmF0IHRo ZSB1c2luZyBwbGFjZT8KCj4+ICsvKiBlbmRwb2ludCBudW1iZXJzICovCj4+ICsjZGVmaW5lIEVQ X0JVTEtfT1VUICAgICAgICAgIDEKPj4gKyNkZWZpbmUgRVBfQlVMS19JTiAgICAgICAgICAgMgo+ PiArI2RlZmluZSBFUF9JTlRSX0lOICAgICAgICAgICAzCj4KPiBJIGFzc3VtZSB0aGVzZSBhcmVu J3QgZGVmaW5lZCBhbnl3aGVyZSBlbHNlPwo+Ckl0IHNob3VsZCBub3QgYmUgZGVmaW5lZCBhbnl3 aGVyZSBlbHNlIHNpbmNlIGl0IGlzIHJlYWxseSBkZXBlbmRzIG9uIHRoZSAKaGFyZHdhcmUgZGVz aWduIGJ1dCBub3QgYW55IGdlbmVyYWwgc3BlYy4KCltzbmlwXQo+IC0tCj4gTGVlIEpvbmVzCj4g TGluYXJvIFNUTWljcm9lbGVjdHJvbmljcyBMYW5kaW5nIFRlYW0gTGVhZAo+IExpbmFyby5vcmcg 4pSCIE9wZW4gc291cmNlIHNvZnR3YXJlIGZvciBBUk0gU29Dcwo+IEZvbGxvdyBMaW5hcm86IEZh Y2Vib29rIHwgVHdpdHRlciB8IEJsb2cKPgo+IC0tLS0tLVBsZWFzZSBjb25zaWRlciB0aGUgZW52 aXJvbm1lbnQgYmVmb3JlIHByaW50aW5nIHRoaXMgZS1tYWlsLgo+Cl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRldmVsIG1haWxpbmcgbGlzdApkZXZlbEBs aW51eGRyaXZlcnByb2plY3Qub3JnCmh0dHA6Ly9kcml2ZXJkZXYubGludXhkcml2ZXJwcm9qZWN0 Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaXZlcmRldi1kZXZlbAo=