From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bibby Hsieh Subject: [PATCH v10 4/4] i2c: core: support bus regulator controlling in adapter Date: Thu, 16 Jan 2020 10:56:37 +0800 Message-ID: <20200116025637.3524-5-bibby.hsieh@mediatek.com> References: <20200116025637.3524-1-bibby.hsieh@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20200116025637.3524-1-bibby.hsieh-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org> Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Wolfram Sang , Bartosz Golaszewski , linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: tfiga-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, drinkcat-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, srv_heupstream-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, mark.rutland-5wv7dgnIgG8@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Bibby Hsieh List-Id: linux-i2c@vger.kernel.org QWx0aG91Z2ggaW4gdGhlIG1vc3QgcGxhdGZvcm1zLCB0aGUgYnVzIHBvd2VyIG9mIGkyYw0KYXJl IGFsd2F5IG9uLCBzb21lIHBsYXRmb3JtcyBkaXNhYmxlIHRoZSBpMmMgYnVzIHBvd2VyDQppbiBv cmRlciB0byBtZWV0IGxvdyBwb3dlciByZXF1ZXN0Lg0KDQpXZSBnZXQgYW5kIGVuYWJsZSBidWxr IHJlZ3VsYXRvciBpbiBpMmMgYWRhcHRlciBkZXZpY2UuDQoNClNpZ25lZC1vZmYtYnk6IEJpYmJ5 IEhzaWVoIDxiaWJieS5oc2llaEBtZWRpYXRlay5jb20+DQotLS0NCiBkcml2ZXJzL2kyYy9pMmMt Y29yZS1iYXNlLmMgfCA4MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQog aW5jbHVkZS9saW51eC9pMmMuaCAgICAgICAgIHwgIDMgKysNCiAyIGZpbGVzIGNoYW5nZWQsIDg0 IGluc2VydGlvbnMoKykNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2kyYy1jb3JlLWJhc2Uu YyBiL2RyaXZlcnMvaTJjL2kyYy1jb3JlLWJhc2UuYw0KaW5kZXggOTMzM2M4NjVkNGE5Li45Yjll OTZiMDk0Y2EgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2kyYy9pMmMtY29yZS1iYXNlLmMNCisrKyBi L2RyaXZlcnMvaTJjL2kyYy1jb3JlLWJhc2UuYw0KQEAgLTMwNiw2ICszMDYsNyBAQCBzdGF0aWMg aW50IGkyY19zbWJ1c19ob3N0X25vdGlmeV90b19pcnEoY29uc3Qgc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCkNCiBzdGF0aWMgaW50IGkyY19kZXZpY2VfcHJvYmUoc3RydWN0IGRldmljZSAqZGV2 KQ0KIHsNCiAJc3RydWN0IGkyY19jbGllbnQJKmNsaWVudCA9IGkyY192ZXJpZnlfY2xpZW50KGRl dik7DQorCXN0cnVjdCBpMmNfYWRhcHRlcgkqYWRhcCA9IGNsaWVudC0+YWRhcHRlcjsNCiAJc3Ry dWN0IGkyY19kcml2ZXIJKmRyaXZlcjsNCiAJaW50IHN0YXR1czsNCiANCkBAIC0zNzEsNiArMzcy LDEyIEBAIHN0YXRpYyBpbnQgaTJjX2RldmljZV9wcm9iZShzdHJ1Y3QgZGV2aWNlICpkZXYpDQog DQogCWRldl9kYmcoZGV2LCAicHJvYmVcbiIpOw0KIA0KKwlzdGF0dXMgPSByZWd1bGF0b3JfZW5h YmxlKGFkYXAtPmJ1c19yZWcpOw0KKwlpZiAoc3RhdHVzICE9IDApIHsNCisJCWRldl9lcnIoJmFk YXAtPmRldiwgIkZhaWxlZCB0byBlbmFibGUgcG93ZXIgcmVndWxhdG9yXG4iKTsNCisJCWdvdG8g ZXJyX2NsZWFyX3dha2V1cF9pcnE7DQorCX0NCisNCiAJc3RhdHVzID0gb2ZfY2xrX3NldF9kZWZh dWx0cyhkZXYtPm9mX25vZGUsIGZhbHNlKTsNCiAJaWYgKHN0YXR1cyA8IDApDQogCQlnb3RvIGVy cl9jbGVhcl93YWtldXBfaXJxOw0KQEAgLTQwNyw2ICs0MTQsNyBAQCBzdGF0aWMgaW50IGkyY19k ZXZpY2VfcHJvYmUoc3RydWN0IGRldmljZSAqZGV2KQ0KIHN0YXRpYyBpbnQgaTJjX2RldmljZV9y ZW1vdmUoc3RydWN0IGRldmljZSAqZGV2KQ0KIHsNCiAJc3RydWN0IGkyY19jbGllbnQJKmNsaWVu dCA9IGkyY192ZXJpZnlfY2xpZW50KGRldik7DQorCXN0cnVjdCBpMmNfYWRhcHRlciAgICAgICph ZGFwID0gY2xpZW50LT5hZGFwdGVyOw0KIAlzdHJ1Y3QgaTJjX2RyaXZlcgkqZHJpdmVyOw0KIAlp bnQgc3RhdHVzID0gMDsNCiANCkBAIC00MjAsNiArNDI4LDggQEAgc3RhdGljIGludCBpMmNfZGV2 aWNlX3JlbW92ZShzdHJ1Y3QgZGV2aWNlICpkZXYpDQogCX0NCiANCiAJZGV2X3BtX2RvbWFpbl9k ZXRhY2goJmNsaWVudC0+ZGV2LCB0cnVlKTsNCisJaWYgKCFwbV9ydW50aW1lX3N0YXR1c19zdXNw ZW5kZWQoJmFkYXAtPmRldikpDQorCQlyZWd1bGF0b3JfZGlzYWJsZShhZGFwLT5idXNfcmVnKTsN CiANCiAJZGV2X3BtX2NsZWFyX3dha2VfaXJxKCZjbGllbnQtPmRldik7DQogCWRldmljZV9pbml0 X3dha2V1cCgmY2xpZW50LT5kZXYsIGZhbHNlKTsNCkBAIC00MzEsNiArNDQxLDcxIEBAIHN0YXRp YyBpbnQgaTJjX2RldmljZV9yZW1vdmUoc3RydWN0IGRldmljZSAqZGV2KQ0KIAlyZXR1cm4gc3Rh dHVzOw0KIH0NCiANCisjaWZkZWYgQ09ORklHX1BNX1NMRUVQDQorc3RhdGljIGludCBpMmNfcmVz dW1lKHN0cnVjdCBkZXZpY2UgKmRldikNCit7DQorCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQg PSBpMmNfdmVyaWZ5X2NsaWVudChkZXYpOw0KKwlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAgPSBj bGllbnQtPmFkYXB0ZXI7DQorCWludCBlcnI7DQorDQorCWlmIChwbV9ydW50aW1lX3N0YXR1c19z dXNwZW5kZWQoJmFkYXAtPmRldikpIHsNCisJCWVyciA9IHJlZ3VsYXRvcl9lbmFibGUoYWRhcC0+ YnVzX3JlZyk7DQorCQlpZiAoZXJyKQ0KKwkJCXJldHVybiBlcnI7DQorCX0NCisNCisJcmV0dXJu IHBtX2dlbmVyaWNfcmVzdW1lKGRldik7DQorfQ0KKw0KK3N0YXRpYyBpbnQgaTJjX3N1c3BlbmQo c3RydWN0IGRldmljZSAqZGV2KQ0KK3sNCisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCA9IGky Y192ZXJpZnlfY2xpZW50KGRldik7DQorCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCA9IGNsaWVu dC0+YWRhcHRlcjsNCisJaW50IGVycjsNCisNCisJaWYgKCFwbV9ydW50aW1lX3N0YXR1c19zdXNw ZW5kZWQoJmFkYXAtPmRldikpIHsNCisJCWVyciA9IHJlZ3VsYXRvcl9kaXNhYmxlKGFkYXAtPmJ1 c19yZWcpOw0KKwkJaWYgKGVycikNCisJCQlyZXR1cm4gZXJyOw0KKwl9DQorDQorCXJldHVybiBw bV9nZW5lcmljX3N1c3BlbmQoZGV2KTsNCit9DQorI2VuZGlmDQorDQorI2lmZGVmIENPTkZJR19Q TQ0KK3N0YXRpYyBpbnQgaTJjX3J1bnRpbWVfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikNCit7 DQorCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQgPSBpMmNfdmVyaWZ5X2NsaWVudChkZXYpOw0K KwlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAgPSBjbGllbnQtPmFkYXB0ZXI7DQorCWludCBlcnI7 DQorDQorCWVyciA9IHJlZ3VsYXRvcl9lbmFibGUoYWRhcC0+YnVzX3JlZyk7DQorCWlmIChlcnIp DQorCQlyZXR1cm4gZXJyOw0KKw0KKwlyZXR1cm4gcG1fZ2VuZXJpY19ydW50aW1lX3Jlc3VtZShk ZXYpOw0KK30NCisNCitzdGF0aWMgaW50IGkyY19ydW50aW1lX3N1c3BlbmQoc3RydWN0IGRldmlj ZSAqZGV2KQ0KK3sNCisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCA9IGkyY192ZXJpZnlfY2xp ZW50KGRldik7DQorCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCA9IGNsaWVudC0+YWRhcHRlcjsN CisJaW50IGVycjsNCisNCisJZXJyID0gcG1fZ2VuZXJpY19ydW50aW1lX3N1c3BlbmQoZGV2KTsN CisJaWYgKGVycikNCisJCXJldHVybiBlcnI7DQorDQorCXJldHVybiByZWd1bGF0b3JfZGlzYWJs ZShhZGFwLT5idXNfcmVnKTsNCit9DQorI2VuZGlmDQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBk ZXZfcG1fb3BzIGkyY19kZXZpY2VfcG0gPSB7DQorCVNFVF9TWVNURU1fU0xFRVBfUE1fT1BTKGky Y19zdXNwZW5kLCBpMmNfcmVzdW1lKQ0KKwlTRVRfUlVOVElNRV9QTV9PUFMoaTJjX3J1bnRpbWVf c3VzcGVuZCwgaTJjX3J1bnRpbWVfcmVzdW1lLCBOVUxMKQ0KK307DQorDQogc3RhdGljIHZvaWQg aTJjX2RldmljZV9zaHV0ZG93bihzdHJ1Y3QgZGV2aWNlICpkZXYpDQogew0KIAlzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50ID0gaTJjX3ZlcmlmeV9jbGllbnQoZGV2KTsNCkBAIC00ODgsNiArNTYz LDcgQEAgc3RydWN0IGJ1c190eXBlIGkyY19idXNfdHlwZSA9IHsNCiAJLnByb2JlCQk9IGkyY19k ZXZpY2VfcHJvYmUsDQogCS5yZW1vdmUJCT0gaTJjX2RldmljZV9yZW1vdmUsDQogCS5zaHV0ZG93 bgk9IGkyY19kZXZpY2Vfc2h1dGRvd24sDQorCS5wbQkJPSAmaTJjX2RldmljZV9wbSwNCiB9Ow0K IEVYUE9SVF9TWU1CT0xfR1BMKGkyY19idXNfdHlwZSk7DQogDQpAQCAtMTM1MSw2ICsxNDI3LDEx IEBAIHN0YXRpYyBpbnQgaTJjX3JlZ2lzdGVyX2FkYXB0ZXIoc3RydWN0IGkyY19hZGFwdGVyICph ZGFwKQ0KIAkJZ290byBvdXRfcmVnOw0KIA0KIAlkZXZfZGJnKCZhZGFwLT5kZXYsICJhZGFwdGVy IFslc10gcmVnaXN0ZXJlZFxuIiwgYWRhcC0+bmFtZSk7DQorCWFkYXAtPmJ1c19yZWcgPSBkZXZt X3JlZ3VsYXRvcl9nZXQoJmFkYXAtPmRldiwgImJ1cyIpOw0KKwlpZiAoSVNfRVJSKGFkYXAtPmJ1 c19yZWcpKSB7DQorCQlyZXMgPSBQVFJfRVJSKGFkYXAtPmJ1c19yZWcpOw0KKwkJZ290byBvdXRf cmVnOw0KKwl9DQogDQogCXBtX3J1bnRpbWVfbm9fY2FsbGJhY2tzKCZhZGFwLT5kZXYpOw0KIAlw bV9zdXNwZW5kX2lnbm9yZV9jaGlsZHJlbigmYWRhcC0+ZGV2LCB0cnVlKTsNCmRpZmYgLS1naXQg YS9pbmNsdWRlL2xpbnV4L2kyYy5oIGIvaW5jbHVkZS9saW51eC9pMmMuaA0KaW5kZXggZDJmNzg2 NzA2NjU3Li44MzNiODFhNjgwZGEgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL2xpbnV4L2kyYy5oDQor KysgYi9pbmNsdWRlL2xpbnV4L2kyYy5oDQpAQCAtMTUsNiArMTUsNyBAQA0KICNpbmNsdWRlIDxs aW51eC9kZXZpY2UuaD4JLyogZm9yIHN0cnVjdCBkZXZpY2UgKi8NCiAjaW5jbHVkZSA8bGludXgv c2NoZWQuaD4JLyogZm9yIGNvbXBsZXRpb24gKi8NCiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4N CisjaW5jbHVkZSA8bGludXgvcmVndWxhdG9yL2NvbnN1bWVyLmg+DQogI2luY2x1ZGUgPGxpbnV4 L3J0bXV0ZXguaD4NCiAjaW5jbHVkZSA8bGludXgvaXJxZG9tYWluLmg+CQkvKiBmb3IgSG9zdCBO b3RpZnkgSVJRICovDQogI2luY2x1ZGUgPGxpbnV4L29mLmg+CQkvKiBmb3Igc3RydWN0IGRldmlj ZV9ub2RlICovDQpAQCAtMzMwLDYgKzMzMSw3IEBAIHN0cnVjdCBpMmNfY2xpZW50IHsNCiAJaW50 IGluaXRfaXJxOwkJCS8qIGlycSBzZXQgYXQgaW5pdGlhbGl6YXRpb24JKi8NCiAJaW50IGlycTsJ CQkvKiBpcnEgaXNzdWVkIGJ5IGRldmljZQkJKi8NCiAJc3RydWN0IGxpc3RfaGVhZCBkZXRlY3Rl ZDsNCisNCiAjaWYgSVNfRU5BQkxFRChDT05GSUdfSTJDX1NMQVZFKQ0KIAlpMmNfc2xhdmVfY2Jf dCBzbGF2ZV9jYjsJLyogY2FsbGJhY2sgZm9yIHNsYXZlIG1vZGUJKi8NCiAjZW5kaWYNCkBAIC03 MjMsNiArNzI1LDcgQEAgc3RydWN0IGkyY19hZGFwdGVyIHsNCiAJY29uc3Qgc3RydWN0IGkyY19h ZGFwdGVyX3F1aXJrcyAqcXVpcmtzOw0KIA0KIAlzdHJ1Y3QgaXJxX2RvbWFpbiAqaG9zdF9ub3Rp ZnlfZG9tYWluOw0KKwlzdHJ1Y3QgcmVndWxhdG9yICpidXNfcmVnOw0KIH07DQogI2RlZmluZSB0 b19pMmNfYWRhcHRlcihkKSBjb250YWluZXJfb2YoZCwgc3RydWN0IGkyY19hZGFwdGVyLCBkZXYp DQogDQotLSANCjIuMTguMA0K