From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shobhit Kumar Subject: [PATCH 4/9] drivers/pwm: Add helper to configure pwm using clock divisor and duty percent Date: Fri, 13 Mar 2015 19:28:02 +0530 Message-ID: <1426255082-25002-1-git-send-email-shobhit.kumar@intel.com> References: <1426177893-17945-5-git-send-email-shobhit.kumar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 8F8636EAC9 for ; Fri, 13 Mar 2015 06:58:58 -0700 (PDT) In-Reply-To: <1426177893-17945-5-git-send-email-shobhit.kumar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx Cc: Alexandre Courbot , Samuel Ortiz , Jani Nikula , Shobhit Kumar , Linus Walleij , Thierry Reding , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org U29tZSBjaGlwcyBpbnN0ZWFkIG9mIHVzaW5nIHBlcmlvZF9ucyBhbmQgZHV0eV9ucyBjYW4gYmUg Y29uZmlndXJlZAp1c2luZyB0aGUgY2xvY2sgZGl2aXNvciBhbmQgZHV0eSBwZXJjZW50LiBBZGRz IGFuIGFsdGVybmF0aXZlCmNvbmZpZ3VyYXRpb24gbWV0aG9kIGZvciBzdWNoIGNoaXBzCgp2Mjog Q29ycmVjdGVkIHRoZSBjaGlwIHZhbGlkYXRpb24gZm9yIGNvbmZpZ19hbHRlcm5hdGUgaW4gcHdt Y2hpcF9hZGQKCkNDOiBTYW11ZWwgT3J0aXogPHNhbWVvQGxpbnV4LmludGVsLmNvbT4KQ2M6IExp bnVzIFdhbGxlaWogPGxpbnVzLndhbGxlaWpAbGluYXJvLm9yZz4KQ2M6IEFsZXhhbmRyZSBDb3Vy Ym90IDxnbnVyb3VAZ21haWwuY29tPgpDYzogVGhpZXJyeSBSZWRpbmcgPHRoaWVycnkucmVkaW5n QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogU2hvYmhpdCBLdW1hciA8c2hvYmhpdC5rdW1hckBp bnRlbC5jb20+Ci0tLQogZHJpdmVycy9wd20vY29yZS5jICB8IDI3ICsrKysrKysrKysrKysrKysr KysrKysrKysrLQogaW5jbHVkZS9saW51eC9wd20uaCB8IDMzICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wd20vY29yZS5jIGIvZHJpdmVycy9wd20vY29y ZS5jCmluZGV4IDgxMGFlZjMuLjYwNGU5M2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcHdtL2NvcmUu YworKysgYi9kcml2ZXJzL3B3bS9jb3JlLmMKQEAgLTIzNSw3ICsyMzUsOCBAQCBpbnQgcHdtY2hp cF9hZGQoc3RydWN0IHB3bV9jaGlwICpjaGlwKQogCXVuc2lnbmVkIGludCBpOwogCWludCByZXQ7 CiAKLQlpZiAoIWNoaXAgfHwgIWNoaXAtPmRldiB8fCAhY2hpcC0+b3BzIHx8ICFjaGlwLT5vcHMt PmNvbmZpZyB8fAorCWlmICghY2hpcCB8fCAhY2hpcC0+ZGV2IHx8ICFjaGlwLT5vcHMgfHwKKwkg ICAgIShjaGlwLT5vcHMtPmNvbmZpZyB8fCBjaGlwLT5vcHMtPmNvbmZpZ19hbHRlcm5hdGUpIHx8 CiAJICAgICFjaGlwLT5vcHMtPmVuYWJsZSB8fCAhY2hpcC0+b3BzLT5kaXNhYmxlIHx8ICFjaGlw LT5ucHdtKQogCQlyZXR1cm4gLUVJTlZBTDsKIApAQCAtNDIyLDYgKzQyMywzMCBAQCBpbnQgcHdt X2NvbmZpZyhzdHJ1Y3QgcHdtX2RldmljZSAqcHdtLCBpbnQgZHV0eV9ucywgaW50IHBlcmlvZF9u cykKIEVYUE9SVF9TWU1CT0xfR1BMKHB3bV9jb25maWcpOwogCiAvKioKKyAqIHB3bV9jb25maWdf YWx0ZXJuYXRlKCkgLSBjaGFuZ2UgYSBQV00gZGV2aWNlIGNvbmZpZ3VyYXRpb24KKyAqIEBwd206 IFBXTSBkZXZpY2UKKyAqIEBjbGtfZGl2OiBDbG9jayBkaXZpZGVyIHRvIGNvbmZpZ3VyZQorICog QGR1dHlfcGVyY2VudGFnZTogZHV0eSBjeWNsZSBpbiBwZXJjZW50YWdlCisgKi8KK2ludCBwd21f Y29uZmlnX2FsdGVybmF0ZShzdHJ1Y3QgcHdtX2RldmljZSAqcHdtLCBpbnQgY2xrX2RpdiwgaW50 IGR1dHlfcGVyY2VudCkKK3sKKwlpbnQgZXJyOworCisJaWYgKCFwd20gfHwgY2xrX2RpdiA8IDAg fHwgZHV0eV9wZXJjZW50IDwgMCB8fCBkdXR5X3BlcmNlbnQgPiAxMDApCisJCXJldHVybiAtRUlO VkFMOworCisJZXJyID0gcHdtLT5jaGlwLT5vcHMtPmNvbmZpZ19hbHRlcm5hdGUocHdtLT5jaGlw LCBwd20sIGNsa19kaXYsIGR1dHlfcGVyY2VudCk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsK KworCXB3bS0+Y2xrX2RpdiA9IGNsa19kaXY7CisJcHdtLT5kdXR5X3BlcmNlbnQgPSBkdXR5X3Bl cmNlbnQ7CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHB3bV9jb25maWdfYWx0 ZXJuYXRlKTsKKworLyoqCiAgKiBwd21fc2V0X3BvbGFyaXR5KCkgLSBjb25maWd1cmUgdGhlIHBv bGFyaXR5IG9mIGEgUFdNIHNpZ25hbAogICogQHB3bTogUFdNIGRldmljZQogICogQHBvbGFyaXR5 OiBuZXcgcG9sYXJpdHkgb2YgdGhlIFBXTSBzaWduYWwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGlu dXgvcHdtLmggYi9pbmNsdWRlL2xpbnV4L3B3bS5oCmluZGV4IGU5MDYyOGMuLjczOWNiMmIgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvcHdtLmgKKysrIGIvaW5jbHVkZS9saW51eC9wd20uaApA QCAtMjQsNiArMjQsMTIgQEAgdm9pZCBwd21fZnJlZShzdHJ1Y3QgcHdtX2RldmljZSAqcHdtKTsK IGludCBwd21fY29uZmlnKHN0cnVjdCBwd21fZGV2aWNlICpwd20sIGludCBkdXR5X25zLCBpbnQg cGVyaW9kX25zKTsKIAogLyoKKyAqIHB3bV9jb25maWdfYWx0ZXJuYXRlIC0gY2hhbmdlIGEgUFdN IGRldmljZSBjb25maWd1cmF0aW9uCisgKgkJCSAgYmFzZWQgb24gY2xrX2RpYyBhbmQgZHV0eV9w ZXJjZW50CisgKi8KK2ludCBwd21fY29uZmlnX2FsdGVybmF0ZShzdHJ1Y3QgcHdtX2RldmljZSAq cHdtLCBpbnQgY2xrX2RpdiwgaW50IGR1dHlfcGVyY2VudCk7CisKKy8qCiAgKiBwd21fZW5hYmxl IC0gc3RhcnQgYSBQV00gb3V0cHV0IHRvZ2dsaW5nCiAgKi8KIGludCBwd21fZW5hYmxlKHN0cnVj dCBwd21fZGV2aWNlICpwd20pOwpAQCAtODksNiArOTUsOCBAQCBzdHJ1Y3QgcHdtX2RldmljZSB7 CiAKIAl1bnNpZ25lZCBpbnQJCXBlcmlvZDsgCS8qIGluIG5hbm9zZWNvbmRzICovCiAJdW5zaWdu ZWQgaW50CQlkdXR5X2N5Y2xlOwkvKiBpbiBuYW5vc2Vjb25kcyAqLworCXVuc2lnbmVkIGludAkJ Y2xrX2RpdjsKKwl1bnNpZ25lZCBpbnQJCWR1dHlfcGVyY2VudDsKIAllbnVtIHB3bV9wb2xhcml0 eQlwb2xhcml0eTsKIH07CiAKQEAgLTExNCw2ICsxMjIsMjggQEAgc3RhdGljIGlubGluZSB1bnNp Z25lZCBpbnQgcHdtX2dldF9kdXR5X2N5Y2xlKHN0cnVjdCBwd21fZGV2aWNlICpwd20pCiAJcmV0 dXJuIHB3bSA/IHB3bS0+ZHV0eV9jeWNsZSA6IDA7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBw d21fc2V0X2Nsa19kaXYoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSwgdW5zaWduZWQgaW50IGNsa19k aXYpCit7CisJaWYgKHB3bSkKKwkJcHdtLT5jbGtfZGl2ID0gY2xrX2RpdjsKK30KKworc3RhdGlj IGlubGluZSB1bnNpZ25lZCBpbnQgcHdtX2dldF9jbGtfZGl2KHN0cnVjdCBwd21fZGV2aWNlICpw d20pCit7CisJcmV0dXJuIHB3bSA/IHB3bS0+Y2xrX2RpdiA6IDA7Cit9CisKK3N0YXRpYyBpbmxp bmUgdm9pZCBwd21fc2V0X2R1dHlfcGVyY2VudChzdHJ1Y3QgcHdtX2RldmljZSAqcHdtLCB1bnNp Z25lZCBpbnQgZHV0eV9wZXJjZW50KQoreworCWlmIChwd20pCisJCXB3bS0+ZHV0eV9wZXJjZW50 ID0gZHV0eV9wZXJjZW50OworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBwd21fZ2V0 X2R1dHlfcGVyY2VudChzdHJ1Y3QgcHdtX2RldmljZSAqcHdtKQoreworCXJldHVybiBwd20gPyBw d20tPmR1dHlfcGVyY2VudCA6IDA7Cit9CisKIC8qCiAgKiBwd21fc2V0X3BvbGFyaXR5IC0gY29u ZmlndXJlIHRoZSBwb2xhcml0eSBvZiBhIFBXTSBzaWduYWwKICAqLwpAQCAtMTM4LDYgKzE2OCw5 IEBAIHN0cnVjdCBwd21fb3BzIHsKIAlpbnQJCQkoKmNvbmZpZykoc3RydWN0IHB3bV9jaGlwICpj aGlwLAogCQkJCQkgIHN0cnVjdCBwd21fZGV2aWNlICpwd20sCiAJCQkJCSAgaW50IGR1dHlfbnMs IGludCBwZXJpb2RfbnMpOworCWludAkJCSgqY29uZmlnX2FsdGVybmF0ZSkoc3RydWN0IHB3bV9j aGlwICpjaGlwLAorCQkJCQkgIHN0cnVjdCBwd21fZGV2aWNlICpwd20sCisJCQkJCSAgaW50IGNs a19kaXYsIGludCBkdXR5X3BlcmNlbnQpOwogCWludAkJCSgqc2V0X3BvbGFyaXR5KShzdHJ1Y3Qg cHdtX2NoaXAgKmNoaXAsCiAJCQkJCSAgc3RydWN0IHB3bV9kZXZpY2UgKnB3bSwKIAkJCQkJICBl bnVtIHB3bV9wb2xhcml0eSBwb2xhcml0eSk7Ci0tIAoyLjEuMAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK