From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?B?Vm9rw6HEjSBNaWNoYWw=?= Subject: Re: [PATCH 3/3] pwm: imx: Implement get_state() function for hardware readout Date: Fri, 14 Dec 2018 16:57:36 +0000 Message-ID: <7561a6ac-4e6c-e01d-d46b-b572036afd11@ysoft.com> References: <1538403588-68850-1-git-send-email-michal.vokac@ysoft.com> <1538403588-68850-3-git-send-email-michal.vokac@ysoft.com> <20181212105432.GD17654@ulmo> <20181213085213.7k5ihn7bdrtess3g@pengutronix.de> <20181213170000.GA14581@ulmo> <20181213201447.v2ivule5q6knxqyp@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181213201447.v2ivule5q6knxqyp@pengutronix.de> Content-Language: en-US Content-ID: Sender: linux-kernel-owner@vger.kernel.org To: =?utf-8?B?VXdlIEtsZWluZS1Lw7ZuaWc=?= , Thierry Reding Cc: "linux-pwm@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "kernel@pengutronix.de" List-Id: linux-pwm@vger.kernel.org T24gMTMuMTIuMjAxOCAyMToxNCwgVXdlIEtsZWluZS1Lw7ZuaWcgd3JvdGU6PiBPbiBUaHUsIERl YyAxMywgMjAxOCBhdCAwNjowMDowMFBNICswMTAwLCBUaGllcnJ5IFJlZGluZyB3cm90ZToNCj4+ IE9uIFRodSwgRGVjIDEzLCAyMDE4IGF0IDA5OjUyOjEzQU0gKzAxMDAsIFV3ZSBLbGVpbmUtS8O2 bmlnIHdyb3RlOg0KPj4+IE9uIFdlZCwgRGVjIDEyLCAyMDE4IGF0IDExOjU0OjMyQU0gKzAxMDAs IFRoaWVycnkgUmVkaW5nIHdyb3RlOg0KPj4+PiBPbiBNb24sIE9jdCAwMSwgMjAxOCBhdCAwNDox OTo0OFBNICswMjAwLCBNaWNoYWwgVm9rw6HEjSB3cm90ZToNCj4+Pj4+IEltcGxlbWVudCB0aGUg Z2V0X3N0YXRlKCkgZnVuY3Rpb24gYW5kIHNldCB0aGUgaW5pdGlhbCBzdGF0ZSB0byByZWZsZWN0 DQo+Pj4+PiByZWFsIHN0YXRlIG9mIHRoZSBoYXJkd2FyZS4gVGhpcyBhbGxvd3MgdG8ga2VlcCB0 aGUgUFdNIHJ1bm5pbmcgaWYgaXQgd2FzDQo+Pj4+PiBlbmFibGVkIGluIGJvb3Rsb2FkZXIuIEl0 IGlzIHZlcnkgc2ltaWxhciB0byB0aGUgR1BJTyBiZWhhdmlvci4gR1BJTyBwaW4NCj4+Pj4+IHNl dCBhcyBvdXRwdXQgaW4gYm9vdGxvYWRlciBrZWVwIHRoZSBzYW1lIHNldHRpbmcgaW4gTGludXgg dW5sZXNzIGl0IGlzDQo+Pj4+PiByZWNvbmZpZ3VyZWQuDQo+Pj4+Pg0KPj4+Pj4gSWYgd2UgZmlu ZCB0aGUgUFdNIGJsb2NrIGVuYWJsZWQgd2UgbmVlZCB0byBwcmVwYXJlIGFuZCBlbmFibGUgaXRz IHNvdXJjZQ0KPj4+Pj4gY2xvY2sgb3RoZXJ3aXNlIHRoZSBjbG9jayB3aWxsIGJlIGRpc2FibGVk IGxhdGUgaW4gdGhlIGJvb3QgYXMgdW51c2VkLg0KPj4+Pj4gVGhhdCB3aWxsIGxlYXZlIHRoZSBQ V00gaW4gZW5hYmxlZCBzdGF0ZSBidXQgd2l0aCBkaXNhYmxlZCBjbG9jay4gVGhhdCBoYXMNCj4+ Pj4+IGEgc2lkZSBlZmZlY3QgdGhhdCB0aGUgUFdNIG91dHB1dCBpcyBsZWZ0IGF0IGl0cyBjdXJy ZW50IGxldmVsIGF0IHdoaWNoDQo+Pj4+PiB0aGUgY2xvY2sgd2FzIGRpc2FibGVkLiBJdCBpcyB0 b3RhbGx5IG5vbi1kZXRlcm1pbmlzdGljIGFuZCBpdCBtYXkgYmUgTE9XDQo+Pj4+PiBvciBISUdI Lg0KPj4+Pj4NCj4+Pj4+IFNpZ25lZC1vZmYtYnk6IE1pY2hhbCBWb2vDocSNIDxtaWNoYWwudm9r YWNAeXNvZnQuY29tPg0KPj4+Pj4gLS0tDQo+Pj4+PiAgIGRyaXZlcnMvcHdtL3B3bS1pbXguYyB8 IDUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0K Pj4+Pj4gICAxIGZpbGUgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKQ0KPj4+Pg0KPj4+PiBBcHBs aWVkLCB0aGFua3MuDQo+Pj4NCj4+PiBEaWQgeW91IG1pc3MgbXkgZmVlZGJhY2sgZm9yIHRoaXMg cGF0Y2ggb3IgZGlkIHlvdSBjaG9vc2UgdG8gaWdub3JlIGl0Pw0KPj4NCj4+IERvbid0IGhhdmUg YW55dGhpbmcgaW4gbXkgaW5ib3gsIGJ1dCBJIHNlZSB0aGF0IGl0J3MgdGhlcmUgb24gcGF0Y2h3 b3JrLA0KPj4gc28gSSBzdXNwZWN0IGl0IHdhcyBlYXRlbiBieSB0aGUgc3BhbSBmaWx0ZXIuDQo+ IA0KPiA6LXwNCj4gDQo+PiBMZXQgbWUgY29weS1wYXN0ZSBoZXJlIGFuZCBnbyB0aHJvdWdoIGl0 Lg0KPj4NCj4+Pj4gQEAgLTkzLDYgKzk2LDU1IEBAIHN0cnVjdCBpbXhfY2hpcCB7DQo+Pj4+DQo+ Pj4+ICAgI2RlZmluZSB0b19pbXhfY2hpcChjaGlwKSBjb250YWluZXJfb2YoY2hpcCwgc3RydWN0 IGlteF9jaGlwLCBjaGlwKQ0KPj4+Pg0KPj4+PiArc3RhdGljIHZvaWQgaW14X3B3bV9nZXRfc3Rh dGUoc3RydWN0IHB3bV9jaGlwICpjaGlwLA0KPj4+PiArICBzdHJ1Y3QgcHdtX2RldmljZSAqcHdt LCBzdHJ1Y3QgcHdtX3N0YXRlICpzdGF0ZSkNCj4+Pg0KPj4+IGJyb2tlbiBhbGlnbm1lbnQuDQo+ Pg0KPj4gSSBjYW4gZml4IHRoYXQgdXAsIG5vIG5lZWQgdG8gcmVzZW5kIGZvciB0aGF0Lg0KPiAN Cj4gZmluZS4NCj4gDQo+Pj4+ICt7DQo+Pj4+ICsgc3RydWN0IGlteF9jaGlwICppbXggPSB0b19p bXhfY2hpcChjaGlwKTsNCj4+Pj4gKyB1MzIgcGVyaW9kLCBwcmVzY2FsZXIsIHB3bV9jbGssIHJl dCwgdmFsOw0KPj4+PiArIHU2NCB0bXA7DQo+Pj4+ICsNCj4+Pj4gKyB2YWwgPSByZWFkbChpbXgt Pm1taW9fYmFzZSArIE1YM19QV01DUik7DQo+Pj4+ICsNCj4+Pj4gKyBpZiAodmFsICYgTVgzX1BX TUNSX0VOKSB7DQo+Pj4+ICsgIHN0YXRlLT5lbmFibGVkID0gdHJ1ZTsNCj4+Pj4gKyAgcmV0ID0g Y2xrX3ByZXBhcmVfZW5hYmxlKGlteC0+Y2xrX3Blcik7DQo+Pj4+ICsgIGlmIChyZXQpDQo+Pj4+ ICsgICByZXR1cm47DQo+Pj4+ICsgfSBlbHNlIHsNCj4+Pj4gKyAgc3RhdGUtPmVuYWJsZWQgPSBm YWxzZTsNCj4+Pj4gKyB9DQo+Pj4+ICsNCj4+Pj4gKyBzd2l0Y2ggKEZJRUxEX0dFVChNWDNfUFdN Q1JfUE9VVEMsIHZhbCkpIHsNCj4+Pj4gKyBjYXNlIE1YM19QV01DUl9QT1VUQ19OT1JNQUw6DQo+ Pj4+ICsgIHN0YXRlLT5wb2xhcml0eSA9IFBXTV9QT0xBUklUWV9OT1JNQUw7DQo+Pj4+ICsgIGJy ZWFrOw0KPj4+PiArIGNhc2UgTVgzX1BXTUNSX1BPVVRDX0lOVkVSVEVEOg0KPj4+PiArICBzdGF0 ZS0+cG9sYXJpdHkgPSBQV01fUE9MQVJJVFlfSU5WRVJTRUQ7DQo+Pj4+ICsgIGJyZWFrOw0KPj4+ PiArIGRlZmF1bHQ6DQo+Pj4+ICsgIGRldl93YXJuKGNoaXAtPmRldiwgImNhbid0IHNldCBwb2xh cml0eSwgb3V0cHV0IGRpc2Nvbm5lY3RlZCIpOw0KPj4+DQo+Pj4gU2hvdWxkIHdlIHJldHVybiBh biBlcnJvciBoZXJlPw0KPj4NCj4+IFdlIGNhbid0IHJldHVybiBhbiBlcnJvciBoZXJlIGJlY2F1 c2UgdGhlIGZ1bmN0aW9uIGhhcyBhIHZvaWQgcmV0dXJuDQo+PiB0eXBlLiBJJ20gbm90IHN1cmUg d2hhdCBpdCBtZWFucyBpZiB0aGUgUE9VVEMgaXMgbmVpdGhlciAibm9ybWFsIiBub3INCj4+ICJp bnZlcnRlZCIsIGJ1dCBwZXJoYXBzIGEgZ29vZCBpZGVhIHdvdWxkIGJlIHRvIGRlZmF1bHQgdG8g ZWl0aGVyIG9mDQo+PiB0aG9zZSB0d28gaW4gdGhhdCBjYXNlLCBvciBwZXJoYXBzIGZvcmNpYmx5 IGRpc2FibGUgdGhlIFBXTSBzbyB0aGF0DQo+PiB3ZSBnZXQga25vd24tZ29vZCB2YWx1ZXMgaW4g dGhlIHJlZ2lzdGVycz8NCj4gDQo+IFRoZSBtYW51YWwgc2F5cyAiUFdNIG91dHB1dCBpcyBkaXNj b25uZWN0ZWQiLiBTbyBJIHRoaW5rIHRoZSByaWdodCB0aGluZw0KPiB0byBkbyBpcyB0byBjb25z aWRlciB0aGUgcHdtIGFzIGRpc2FibGVkLiAoQnV0IGNoZWNraW5nIGhvdyB0aGUgb3V0cHV0DQo+ IGFjdHVhbGx5IGJlaGF2ZXMgd291bGQgYmUgZ3JlYXQuKSAoTWF5YmUgdGhpcyBzZXR0aW5nIGlz IGV2ZW4gdGhlDQo+IHNvbHV0aW9uIHRvIG91ciAiTWFrZSB0aGUgb3V0cHV0IGhpZ2gtWiBvbiBk aXNhYmxlIiBkaXNjdXNzaW9uPykNCg0KSSBjaGVja2VkIHRoZSBiZWhhdmlvci4gSXQgY2FuIGJl IHVzZWQgdG8gZGlzY29ubmVjdCB0aGUgb3V0cHV0IGV2ZW4NCmlmIHRoZSBQV00gaXMgZW5hYmxl ZC4gSXQgZG9lcyBub3Qgc29sdmUgdGhlIHByb2JsZW0gd2l0aCB0aGUgTE9XDQpvdXRwdXQgbGV2 ZWwgaW4gZGlzYWJsZWQgc3RhdGUuIFRoaXMgZ2F2ZSBtZSB0aGUgc2FtZSByZXN1bHRzLg0KV2hl biBQV00gaXMgZW5hYmxlZCBhbmQgdGhlIG91dHB1dCBpcyBkaXNjb25uZWN0ZWQgd2l0aCBQT1VU QyA9IDIsDQp0aGUgb3V0cHV0IGxldmVsIGlzIGFsd2F5cyBMT1cgYW5kIHRoZSBEU0UsIE9ERSwg YW5kIFBVUyBwYWQgY29udHJvbA0Kc2V0dGluZ3MgaGF2ZSBubyBlZmZlY3QuIEkgc3VwcG9zZSB0 aGUgbWFpbiBwdXJwb3NlIG9mIHRoaXMgaXMgdG8NCmFsbG93IHRvIHF1aWNrbHkgZW5hYmxlL2Rp c2FibGUgdGhlIG91dHB1dCB3aXRob3V0IHRoZSBuZWVkIHRvIGVuYWJsZS8NCmRpc2FibGUgdGhl IHdob2xlIFBXTSBibG9jay4gU28gd2UgY2FuIG5vdCByZWFsbHkgc2F5IHRoZSBQV00gaXMNCmVu YWJsZWQvZGlzYWJsZWQgaGVyZSBhcyB0aGVyZSBpcyBhbm90aGVyIChFTikgYml0IGluIHRoZSBQ V01DUg0KcmVnaXN0ZXIgdGhhdCBjb250cm9scyB0aGF0Lg0KDQo+PiBJJ20gdGVtcHRlZCBub3Qg dG8gdHJlYXQgdGhpcyBhcyBhIGJsb2NrZXIgYmVjYXVzZSBpdCdzIG5vdCBhY3R1YWxseQ0KPj4g YSBidWcgb3IgYW55dGhpbmcuIFByaW9yIHRvIHRoaXMgcGF0Y2ggd2UgYWxzbyBpZ25vcmUgd2hh dGV2ZXIgdGhpcw0KPj4gZmllbGQgd2FzIHNldCB0by4NCj4gDQo+IFByaW9yIHRvIHRoaXMgcGF0 Y2ggdGhpcyBmaWVsZCB3YXMgbmV2ZXIgcmVhZCBhcyB0aGlzIGlzIG9ubHkgbmVlZGVkIGluDQo+ IC5nZXRfc3RhdGUuIEFuZCBpbiAuYXBwbHkgdGhlIHZhbHVlIGlzIGNvcnJlY3RseSB3cml0dGVu Lg0KPiANCj4+Pj4gKyB9DQo+Pj4+ICsNCj4+Pj4gKyBwcmVzY2FsZXIgPSBNWDNfUFdNQ1JfUFJF U0NBTEVSX0dFVCh2YWwpOw0KPj4+PiArIHB3bV9jbGsgPSBjbGtfZ2V0X3JhdGUoaW14LT5jbGtf cGVyKTsNCj4+Pj4gKyBwd21fY2xrID0gRElWX1JPVU5EX0NMT1NFU1RfVUxMKHB3bV9jbGssIHBy ZXNjYWxlcik7DQo+Pj4+ICsgdmFsID0gcmVhZGwoaW14LT5tbWlvX2Jhc2UgKyBNWDNfUFdNUFIp Ow0KPj4+DQo+Pj4gSXQgd291bGQgYmUgbW9yZSBjYXV0aW9ub3VzIHRvIG5vdCByZWx5IG9uIHRo ZSByZXNlcnZlZCBiaXRzIHRvIHJlYWQgYXMNCj4+PiB6ZXJvLiBTbyBJIHN1Z2dlc3QgdG8gbWFz ayB0aGUgdmFsdWUgd2l0aCAweGZmZmYuDQo+Pg0KPj4gSWYgdGhhdCdzIHdoYXQgdGhlIGRvY3Vt ZW50YXRpb24gc2F5cyBJIHRoaW5rIGl0J3Mgb2theSB0byByZWx5IG9uIGl0Lg0KPj4gQnV0IEkg Y2FuIGFkZCB0aGUgbWFzayBpZiB3ZSB3YW50IHRvIHBsYXkgaXQgZXh0cmEgc2FmZS4NCj4gDQo+ IFRoZSBQRVJJT0QgZmllbGQgb25seSBjb3ZlcnMgYml0cyAwIHRvIDE1IGFuZCB0aGUgdXBwZXIg MTYgYml0cyBvZiB0aGlzDQo+IHJlZ2lzdGVyIGFyZSByZXNlcnZlZC4gVGhlIHJlZ2lzdGVycyBh cmUgZG9jdW1lbnRlZCB0byByZWFkIGFzIDAsIHN0aWxsDQo+IEknZCBwcmVmZXIgdG8gbWFzayB0 aGVtIG91dCBmb3IgbWF4aW1hbCBjb3JyZWN0bmVzcy4NCg0KT0suDQoNCj4+Pj4gKyBwZXJpb2Qg PSB2YWwgPj0gTVgzX1BXTVBSX01BWCA/IE1YM19QV01QUl9NQVggOiB2YWw7DQo+Pj4+ICsNCj4+ Pj4gKyAvKiBQV01PVVQgKEh6KSA9IFBXTUNMSyAvIChQV01QUiArIDIpICovDQo+Pj4+ICsgdG1w ID0gTlNFQ19QRVJfU0VDICogKHU2NCkocGVyaW9kICsgMik7DQo+Pj4+ICsgc3RhdGUtPnBlcmlv ZCA9IERJVl9ST1VORF9DTE9TRVNUX1VMTCh0bXAsIHB3bV9jbGspOw0KPj4+DQo+Pj4gV291bGQg aXQgbWFrZSBzZW5zZSB0byBpbnRyb2R1Y2UgYSBwb2xpY3kgYWJvdXQgaG93IHRvIHJvdW5kIGlu IHRoaXMNCj4+PiBjYXNlPyAoU2ltaWxhcmlseSBmb3IgLmFwcGx5PykgVGhpcyBpcyBvZiBjb3Vy c2Ugb3V0IG9mIHNjb3BlIGZvciB0aGlzDQo+Pj4gcGF0Y2guDQo+Pg0KPj4gSSdtIG5vdCBzdXJl IHdoYXQgeW91IG1lYW5zIGJ5IHBvbGljeS4gVGhlIGFib3ZlIGFscmVhZHkgZG9lcyByb3VuZCB0 bw0KPj4gY2xvc2VzdC4gSXMgdGhhdCBub3QgYW4gYXBwcm9wcmlhdGUgcG9saWN5Pw0KPiANCj4g SSBtZWFuIHRvIGRvY3VtZW50IHRoZSBleHBlY3RhdGlvbiBvZiB0aGUgcHdtIGZyYW1ld29yayBo b3cgdGhlIGRyaXZlcg0KPiBpcyBzdXBwb3NlZCB0byBjb25maWd1cmUgdGhlIGhhcmR3YXJlIHdo ZW4gaXQgc2hvdWxkIHByb2dyYW0gdGhlIFBXTQ0KPiB3aXRoIHNheSBkdXR5X2N5Y2xlPTEwMG5z L3BlcmlvZD0zMDBucyBhbmQgYnV0IHRoZSBoYXJkd2FyZSBjYW4gb25seQ0KPiBpbXBsZW1lbnQg Ym90aCBkdXR5X2N5Y2xlIGFuZCBwZXJpb2QgaW4gc3RlcHMgb2YgM25zLiBTbyB0aGUgKElNSE8p IGdvb2QNCj4gY2FuZGlkYXRlcyBhcmU6DQo+IA0KPiAJZHV0eV9jeWNsZSA9IDk5bnMgLyBwZXJp b2QgPSAyOTducw0KPiAJZHV0eV9jeWNsZSA9IDk5bnMgLyBwZXJpb2QgPSAzMDBucw0KPiAJZHV0 eV9jeWNsZSA9IDEwMm5zIC8gcGVyaW9kID0gMzAwbnMNCj4gCWR1dHlfY3ljbGUgPSAxMDJucyAv IHBlcmlvZCA9IDMwNm5zDQo+IA0KPiBBcyBpdCdzIG5vdCBvYnZpb3VzIHdoaWNoIGlzIHRoZSBi ZXN0IGhlcmUgKG9yIGlzIGl0PykgYW5kIHRha2luZyBpbnRvDQo+IGFjY291bnQgdGhhdCB0aGUg UFdNIHVzZXIgbWlnaHQgY2FyZSwgaXQgd291bGQgYmUgcmlnaHQgdG8gc3BlY2lmeQ0KPiBzb21l dGhpbmcgbGlrZToNCj4gDQo+ICAgIFRoZSBkcml2ZXIgaXMgc3VwcG9zZWQgdG8gY29uZmlndXJl IHRoZSBiaWdnZXN0IGR1dHlfY3ljbGUgdGhhdA0KPiAgICBpcyBub3QgZ3JlYXRlciB0aGFuIHRo ZSByZXF1ZXN0ZWQgZHV0eV9jeWNsZS4gU2ltaWxhcmlseSBpdCBzaG91bGQNCj4gICAgcGljayB0 aGUgYmlnZ2VzdCBwb3NzaWJsZSBwZXJpb2QgdGhhdCBpcyBub3QgZ3JlYXRlciB0aGFuIHRoZQ0K PiAgICByZXF1ZXN0ZWQgcGVyaW9kLg0KPiANCj4gVG8gYWN0dWFsbHkgYWxsb3cgdGhlIHVzZXIg dG8gZmluZCB0aGUgc2V0dGluZyB0aGF0IGhlIG9yIHNoZSBwcmVmZXJzDQo+IHNvbWV0aGluZyBs aWtlIHRoZSBjbGsgZnJhbWV3b3JrIHByb3ZpZGVzIHdpdGggY2xrX3JvdW5kX3JhdGUoKSB3b3Vs ZCBiZQ0KPiBuZWVkZWQgb2YgY291cnNlLg0KPiANCj4gQW5kIGZvciAuZ2V0X3N0YXRlIEknZCBz cGVjaWZ5IHNvbWV0aGluZyBzaW1pbGFyIHRoYXQgZW5zdXJlcyB0aGF0IGluDQo+IHRoZSBzZXF1 ZW5jZQ0KPiANCj4gCW15b3BzLT5nZXRfc3RhdGUoY2hpcCwgcHdtLCBzdGF0ZSk7DQo+IAlteW9w cy0+YXBwbHkoY2hpcCwgcHdtLCBzdGF0ZSk7DQo+IA0KPiB0aGUgbGF0dGVyIGlzIGEgbm9vcC4N Cg0KU291bmRzIGdvb2QuIFdvdWxkIGJlIGdyZWF0IHRvIGZpbmQgc29tZXRoaW5nIGxpa2UgdGhp cyBpbiB0aGUgZG9jcw0Kd2hpbGUgSSB3YXMgaW1wbGVtZW50aW5nIHRoZSAuZ2V0X3N0YXRlLg0K DQpJZiB0aGlzIGlzIG91dCBvZiBzY29wZSBmb3IgdGhpcyBwYXRjaCB0aGVuIHRoZXJlIGFyZSBv bmx5IHR3byBtaW5vcg0KaXNzdWVzIHRvIGZpeCAtIHRoZSBpbmNvcnJlY3QgaW5kZW50YXRpb24g YW5kIHRoZSBtYXNrIGZvciB0aGUgcGVyaW9kDQpyZWdpc3RlciwgcmlnaHQ/DQoNClNvIGdpdmVu IHRoZSBmYWN0IHRoYXQgVGhpZXJyeSBhbHJlYWR5IGFwcGxpZWQgdGhlIHNlcmllcyBJIGNhbiBz ZW5kDQphIHNlcGFyYXRlIHBhdGNoIHdpdGggdGhlc2UgZml4ZXMsIE9LPyBPciB5b3Ugd2lsbCBm aXggaXQgdXAgYWxsDQp5b3Vyc2VsZiwgVGhpZXJyeT8NCg0KQmVzdCByZWdhcmRzLA0KTWljaGFs DQo=